summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-25 20:51:39 +0000
committerKarl Berry <karl@freefriends.org>2020-04-25 20:51:39 +0000
commite6ef624d41c49a62e8b2d8e051b4d2cb8dc1ff46 (patch)
tree8cb484f86ed4e60635b18880d91e3290648b21fc /Master/texmf-dist/source
parentb3f874e11dec455061f4a2eee43b3992c83a19ad (diff)
lwarp (25apr20)
git-svn-id: svn://tug.org/texlive/trunk@54877 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/lwarp/lwarp.dtx4335
-rw-r--r--Master/texmf-dist/source/latex/lwarp/lwarp.ins1
2 files changed, 2817 insertions, 1519 deletions
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
index 26c58843b54..f073d2bc36a 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> [2020/03/25 v0.83 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2020/04/24 v0.84 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -565,8 +565,8 @@ bibtex <projectname>\textred{\_html}.gls
\DescribeOption{GlossaryCmd}\DescribeDefault{makeglossaries}
\DescribeOption[lwarpmk]{printglossary}
\DescribeOption[lwarpmk]{htmlglossary}
-\prog{lwarpmk} has the commands \texttt{lwarpmk printglossary} and
-\texttt{lwarpmk htmlglossary}, which process the glossaries created by the
+\prog{lwarpmk} has the commands \cmds{lwarpmk printglossary} and
+\cmds{lwarpmk htmlglossary}, which process the glossaries created by the
\pkg{glossaries} package using that package's \prog{makeglossaries} program.
The shell command to execute is set by the \pkg{lwarp} option \optn{GlossaryCmd},
@@ -760,6 +760,10 @@ allowing other packages to work with it.
\newcommand*{\limitspagenote}{%
\pkg{pagenote} works as-is, but the \optn{page} option is disabled.
+
+Note that labels in page notes do not appear as expected,
+\trouble[labels]{pagenote=\pkg{pagenote}}
+even in the print version.
}
\newcommand*{\limitsendnotes}{%
@@ -848,6 +852,11 @@ In the \CSS\ try referencing fonts which are more complete, but expect to see ga
\newcommand{\limitsaccents}{%
Native \LaTeX\ accents such as \cs{"} will work, but many more kinds of
accents are available when using Unicode-aware \XeLaTeX\ and \LuaLaTeX.
+If using accents in section names which will become file names, it is recommended
+to use the \LaTeX\ accents such as \cs{"} and \cs{v} instead of Unicode accents.
+The \LaTeX\ accents will have the accents stripped when creating the filenames,
+whereas the Unicode accents will appear in the file names, which may cause
+issues with some operating systems.
}
\newcommand{\limitsrelsize}{%
@@ -1025,7 +1034,6 @@ instead of pdf\LaTeX.
Many features are ignored during the \HTML\ conversion.
The goal is source-level compatibility.
-\cs{titlehead}, \cs{subject},
\cs{captionformat}, \cs{figureformat}, and \cs{tableformat} are not yet emulated.
\testthis
@@ -1035,6 +1043,10 @@ Please contact the author with any bug reports.
}
\newcommand{\limitsmemoir}{
+\pkg{lwarp} uses \pkg{caption}, which causes a warning from \pkg{memoir}.
+\trouble[captions]{memoir=\pkg{memoir}>captions}
+This is normal. Adjust captions via \pkg{caption}, instead of \pkg{memoir}.
+
While emulating \pkg{memoir}, \pkg{lwarp} pre-loads
a number of packages (\cref{sec:patch-memoir-packages}).
This can cause an options clash when the user's document later loads the same
@@ -1062,19 +1074,52 @@ Since \pkg{lwarp} is intended to support the freestanding packages,
which are often newer than the date declared by \pkg{memoir}, it is hoped that
\pkg{memoir} will update and change its emulated version numbers to match.
-\cs{verbfootnote} is not supported.
+\cs{label} accepts an optional \optn{(bookmark)} argument, but this is
+\margintag{\texttt{\cs{label}(bookmark)\{tag\}}}
+ignored in \HTML.
+
+The \env{comment} environment is from the \pkg{comment} package, and thus
+\trouble[\env{comment}]{comment=\env{comment}}
+\trouble{memoir=\pkg{memoir}>comment=\env{comment}}
+requires that the \cs{begin} and \cs{end} each be on its own line:
+\begin{sourcedisplay}
+\cs{begin}\{comment\} \\
+This is a comment. \\
+\cs{end}\{comment\}
+\end{sourcedisplay}
+Comments defined with \cs{newcomment} use \pkg{memoir}'s defintions, and
+\margintag{\cs{newcomment}}
+behave as expected, where the \cs{begin} and \cs{end} do have to each be on its own line.
+
+\cs{verbfootnote} is not supported.\watchout[verbatim footnotes]
-\cs{newfootnoteseries}, etc. are not supported.
+\cs{newfootnoteseries}, etc. are not supported.\watchout[\cs{newfootnoteseries}]
\pkg{lwarp} loads \pkg{pagenote} to perform \pkg{memoir}'s pagenote functions,
+\watchout[page notes]
but there are minor differences in \cs{pagenotesubhead} and related macros.
-Poem numbering is not supported.
+To add support for pagenotes with \pkg{cleveref}, add:
+\margintag{page notes with cleveref}
+\trouble{memoir=\pkg{memoir}>page notes}
+\begin{sourcedisplay}
+\cs{crefname}\{pagenote\}\{page note\}\{page notes\} \\
+\cs{Crefname}\{pagenote\}\{Page note\}\{Page notes\}
+\end{sourcedisplay}
+
+Note that for print mode,
+\margintag{page note \cs{nameref}}
+\cs{nameref} print the section name where the page notes are
+declared in the text, but for \HTML\ it prints the name where the page notes are printed.
+
+Poem numbering is not supported.\watchout[poems]
The \env{verbatim} environment does not yet support the \pkg{memoir} enhancements.
+\watchout[\env{verbatim}]
It is currently recommended to load and use \pkg{fancyvrb} instead.
The \pkg{memoir} glossary system is not yet supported by \prog{lwarpmk}.
+\watchout[glossaries]
The \pkg{glossaries} package may be used instead,
but does require the glossary entries be
changed from the \pkg{memoir} syntax to the \pkg{glossaries} syntax.
@@ -1116,6 +1161,10 @@ Horizontal spacing relies on \prog{pdftotext}'s ability to discern the layout
text in the \HTML-tagged \PDF\ output. For some settings of
\cs{HTMLleftmargini} or \cs{HTMLleftskip} the horizontal alignment may not work out
exactly, in which case a label may be shifted by one space.
+\trouble[\env{verse} margin]{verse=\pkg{verse}>margin}
+\trouble{memoir=\pkg{memoir}>verse>margin}
+During translation to \HTML, the stanza numbers are kept out of the left margin,
+which would have caused \prog{pdftotext} to shift everything over.
}
@@ -1553,11 +1602,34 @@ This conversion is not total.
Font control is via \CSS, and the custom \LaTeX\ font settings
are ignored.
+If the print version does not use \pkg{cleveref},
+\trouble[cref reference format undefined]{ntheorem=\pkg{ntheorem}>cref reference format}
+\trouble{cref reference format}
+\trouble{cleveref=\pkg{cleveref}>cref reference format}
+place all \cs{theoremstyle} and \cs{newtheorem}
+declarations in the preamble inside \cs{AtBeginDocument}.\footnote{%
+ \pkg{lwarp} uses \pkg{cleveref} for the \HTML\ conversion,
+ and loads \pkg{cleveref} \cs{AtEndPreamble}, just before \cs{AtBeginDocument}.%
+}
+For some theorems, it may also be required to add inside \cs{AtBeginDocument}
+something such as:
+\begin{sourcedisplay}
+\cs{AtBeginDocument}\{ \% if not using cleveref package \\
+ \fquad \cs{theoremstyle}\{definition\} \\
+ \fquad \cs{newtheorem}\{dtheorem\}\{Definition\} \\
+ \fquad \dots \\
+ \fquad \cs{usepackage}\{etoolbox\} \% for \cs{ifdef} \\
+ \fquad \cs{ifdef}\{\cs{cref}\}\{ \\
+ \fqquad \cs{crefname}\{Proof\}\{Proof\}\{Proofs\} \\
+ \fquad \}\{\} \\
+\}
+\end{sourcedisplay}
+
\limitsntheoremnumbering
}
\newcommand{\limitsntheoremnumbering}{%
-\pkg{ntheorem} has a bug with equation numbering in \AmS\ environments%
+\pkg{ntheorem} has a bug with equation numbering in \AmS\ environments
\trouble[Equation numbering]{ntheorem=\pkg{ntheorem}>numbering}
\trouble{math>equation numbering>ntheorem=\pkg{ntheorem}}
\trouble{AMSmath>ntheorem=\pkg{ntheorem}>numbering}
@@ -1777,9 +1849,9 @@ by an \SVG, \PNG, or \JPG\ version for \HTML.
}
\newcommand{\limitscolor}{%
-\pkg{color} is superceded by \pkg{xcolor}, and
-\pkg{lwarp} requires several of the features of \pkg{xcolor}.
-When \pkg{color} is requested, \pkg{xcolor} is loaded as well.
+ \pkg{color} is superceded by \pkg{xcolor}, and
+ \pkg{lwarp} requires several of the features of \pkg{xcolor}.
+ When \pkg{color} is requested, \pkg{xcolor} is loaded as well.
}
\newcommand{\limitsxcolor}{%
@@ -2432,11 +2504,12 @@ Unfortunately, the \HTML\ \attribute{alt} attribute is not used here.
Also see \pkg{lwarp}'s \cs{fboxBlock} macro and \env{fminipage} environment for
alternatives to \cs{fbox} for framing environments.
-The \pkg{fancybox} documentation's example framed table
+The \pkg{fancybox} documentation's example of a framed table
\margintag{framed table example}
using an \cs{fbox} containing a \env{tabular}
does not work with \pkg{lwarp}, but the \env{FramedTable} environment does work if
-\cs{fbox} is replaced by \cs{fboxBlock}. This method loses \HTML\ formatting.
+\cs{fbox} is replaced by \cs{fboxBlock}.
+This method does lose some \HTML\ formatting.
A better method is to enclose the table's contents inside a \env{fminipage} environment.
The caption may be placed either inside or outside the \env{fminipage}:
\begin{sourcedisplay}
@@ -2743,7 +2816,8 @@ These are not the same as the third-party \brand{MathJax} extension.
\newcommand{\limitsbabeltwo}{%
When French is used, the caption separator is
\trouble[\cs{CaptionSeparator}]{babel=\pkg{babel}>French}
-changed to a dash. The following may be used to restore it to a colon:
+changed to a dash. To restore it to a colon,
+the following may be placed before \pkg{lwarp} is loaded:
\begin{sourcedisplay}
\cs{renewcommand}*\{\cs{CaptionSeparator}\}\{:\textasciitilde\}
\end{sourcedisplay}
@@ -2925,7 +2999,7 @@ This boolean may be tested by the user for later use.
%<*package>
% \fi
%
-% \CheckSum{43597}
+% \CheckSum{44148}
%
% \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
@@ -3051,6 +3125,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.81}{2020/03/04}{\ 2020/03/04}
% \changes{v0.82}{2020/03/25}{\ 2020/03/25}
% \changes{v0.83}{2020/03/27}{\ 2020/03/27}
+% \changes{v0.84}{2020/04/24}{\ 2020/04/24}
@@ -3273,11 +3348,57 @@ This boolean may be tested by the user for later use.
%
% \begin{description}
% \needspace{2\baselineskip}
+% \item[v0.84:] Previous/next page links, numerous fixes.
+% \begin{itemize}
+% \item Added documentation of \env{BlockClass} and \cs{InlineClass}
+% for \CSS\ \element{div}s and \element{span}s.
+% \margintag{docs}
+% See \cref{sec:classstyle}.
+% \item Added \cs{LinkPrevious}, \cs{LinkNext} page links.
+% See \cref{sec:htmlsettings}.
+% \item Added \cs{FirstPageBottom}.
+% \watchout[home page footer changed]
+% Home page no longer shares \cs{PageBottom}.
+% See \cref{sec:htmlsettings}.
+% \item Improved coexistence with \pkg{comment}, support for nested environments.
+% \margintag{core}
+% \item No longer requires but still supports the \pkg{caption} package.
+% \item Improved filenames and \HTML\ titles when using special characters.
+% \item Change: Append \filenm{-0} to section named Index
+% \watchout{previously \_index}
+% to distinguish from \filenm{index.html}
+% \item Fixed style tags for \cs{multicolumn}, \cs{multirow}.
+% \item Fixed spacing in \env{tabbing}.
+% \item Fixed \env{lateximage} for: \env{quote}, \env{quotation}, \env{verse},
+% \env{center}, \env{flushleft}, \env{flushright},
+% \element{par} tags, packages \pkg{verbatim}, \pkg{alltt}, \pkg{epigraph}.
+% \item Fixed \pkg{textcomp} due to integration into \LaTeX\ kernel.
+% \item Fixed \cs{itshape}, etc. Adapted to \LaTeX\ \pkg{fontaxes} integration.
+% \item Fixed \cs{@fnsymbol}.
+% \item Warns about section names with dollar-delimited math.
+% \item Warns about a \element{span} containing a float, caption, section,
+% \pkg{mdframed}, or other \element{div} object.
+% \item Only warn about \XeTeX\ logo and \pkg{graphics} if actually used \cs{Xe}.
+% \item \cmds{lwarpmk clean} also removes \filenm{comment_*.cut}.
+% \margintag{\prog{lwarpmk}}
+% \item \pkg{scrextend}, \pkg{scrartcl}, \pkg{scrbook}: Added \cs{titlehead},
+% \margintag{packages}
+% \cs{subject}, \cs{subtitle}, \cs{publishers}.
+% \item \pkg{titling}: Fixed \cs{printthanks}.
+% \item \pkg{memoir}, \pkg{abstract}: Fixed for updated \pkg{memoir}.
+% \item \pkg{memoir}: Fixed \cs{newcomment}, pagenotes, crossreferences.
+% Fixed setting a recursive name.
+% \item Fixed or improved: \pkg{amsthm}, \pkg{backref}, \pkg{biblatex}, \pkg{fixme},
+% \pkg{nfssext-cfr}, \pkg{ntheorem}, \pkg{parcolumns},
+% \pkg{realscripts}, \pkg{rotfloat}, \pkg{titling}.
+% \item Added \pkg{boxedminipage}, renamed from \pkg{boxedminipage2e} per author.
+% \item Verified to work as-is with \pkg{mcite}.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.83:] \pkg{memoir} fixes.
% \begin{itemize}
-% \item \pkg{memoir}: Various fixes and updates, but subcaption labels
+% \item \pkg{memoir}: Various fixes and updates.
% \margintag{packages}
-% still need work. (Out of time\dots)
% \item \pkg{physunits}: Updated to v1.0.4.
% \end{itemize}
% \needspace{2\baselineskip}
@@ -3447,7 +3568,7 @@ This boolean may be tested by the user for later use.
% \cmidrule(r){1-1}\cmidrule(l){2-2}
% (hard coded as ``image'') & \cs{ImageAltText} \\
% \cs{mathimagename} & \cs{MathImageAltText} \\
-% \cs{pacakgediagramname} & \cs{PackageDiagramAltText} \\
+% \cs{packagediagramname} & \cs{PackageDiagramAltText} \\
% \end{tabular}
% \end{center}
% \item Added \cs{ImageAltText} for the default \HTML\ \attribute{alt} text for
@@ -5197,7 +5318,7 @@ This boolean may be tested by the user for later use.
% Glossary: & \mpkg{gloss}, \mpkg{glossaries} and \prog{xindy}, \mpkg{nomencl}.\\
%
% Bibliography: & \spkg{babelbib}, \mpkg{backref}, \mpkg{biblatex}, \mpkg{bibunits},
-% \mpkg{chapterbib}, \mpkg{cite}, \ipkg{hypernat}, \mpkg{natbib},
+% \mpkg{chapterbib}, \mpkg{cite}, \ipkg{hypernat}, \spkg{mcite}, \mpkg{natbib},
% \spkg{notes2bib}, \ipkg{showtags}.
%
% \\
@@ -5339,7 +5460,8 @@ This boolean may be tested by the user for later use.
% Verbatim: &
% \mpkg{fancyvrb}, \mpkg{moreverb}, \spkg{shortvrb}, \mpkg{verbatim}. \\
%
-% Frames: & \mpkg{boxedminipage2e}, \mpkg{fancybox}, \mpkg{framed}, \mpkg{mdframed},
+% Frames: & \mpkg{boxedminipage}, \mpkg{boxedminipage2e},
+% \mpkg{fancybox}, \mpkg{framed}, \mpkg{mdframed},
% \epkg{niceframe}, \epkg{shadow}, \epkg{vertbars}. \\
%
% Multi-columns: & \epkg{adjmulticol}, \epkg{multicol},
@@ -5359,7 +5481,7 @@ This boolean may be tested by the user for later use.
% \ipkg{lua-check-hyphen}, \ipkg{luacolor}, \epkg{magaz}, \epkg{nolbreaks},
% \ipkg{normalcolor},
% \ipkg{pdfcol}, \ipkg{pdfcolmk},
-% \ipkg{pdfrender}, \epkg{realscripts}, \mpkg{relsize}\ejax,
+% \ipkg{pdfrender}, \mpkg{realscripts}, \mpkg{relsize}\ejax,
% \ipkg{scalefnt}, \epkg{soul}, \epkg{soulpos}, \epkg{soulutf8}, \mpkg{stackengine},
% \epkg{textfit}, \epkg{thinsp}, \ipkg{trimclip}, \ipkg{truncate},
% \mpkg{ulem}, \mpkg{umoline}, \ipkg{underscore}, \ipkg{uspace},
@@ -6213,8 +6335,8 @@ This boolean may be tested by the user for later use.
% \brand{MathJax} is used to display math.
% This file should not be modified by the user.
%
-% \item [|comment.cut|:] A temporary file used by \pkg{lwarp} to
-% conditionally process blocks of text. This file may be ignored.
+% \item [|comment\_*.cut|:] Temporary files used by \pkg{lwarp} to
+% conditionally process blocks of text. These files may be ignored.
% \end{description}
%
% \hrule \medskip
@@ -6586,7 +6708,7 @@ This boolean may be tested by the user for later use.
%
% The \filenm{<project>-images} directory contains \SVG\ images
% automatically generated for inline and display math, \pkg{tikz}, etc.
-% To remove all the images from the \filenm{lateximages} directory:
+% To remove all the images from the \filenm{<project>-images} directory:
% \userentry{lwarpmk cleanlimages}
%
%
@@ -6783,15 +6905,20 @@ This boolean may be tested by the user for later use.
% \gindex{sideTOC=side\TOC>name}
% \gindex{settings>language}
%
-% Regional localization is supported by \pkg{lwarp} via the following package options
-% and macros:
+% Regional localization is supported by \pkg{lwarp} via the package options
+% and macros shown in \cref{tab:localization}.
%
+% \begin{table}
+% \caption{Localization settings}
+% \label{tab:localization}
% \begin{description}
% \item [Object names:] \LaTeX\ provides redefinable names for various objects,
% and \pkg{lwarp} adds a few more. Use \cs{renewcommand} to change these.
% \begin{description}
% \item [\cs{abstractname}:] This macro is honored by \pkg{lwarp}.
% \item [\cs{linkhomename}:] Displayed by the link to the homepage.
+% \item [\cs{linkpreviousname}:] Displayed by the link to the previous page
+% \item [\cs{linknextname}:] Displayed by the link to the next page.
% \item [\cs{sidetocname}:] Displayed at the head of the side\TOC.
% \end{description}
% \item [\HTML\ settings:] See \cref{tab:htmlsettings} and
@@ -6815,6 +6942,7 @@ This boolean may be tested by the user for later use.
% \item [\optn{pdftotextEnc}:] To adjust the encoding of \prog{pdftotext}.
% \end{description}
% \end{description}
+% \end{table}
%
%
% \subsection{Accessibility}
@@ -6838,8 +6966,11 @@ This boolean may be tested by the user for later use.
% \HTML\ also provides the \attribute{title} attribute, which usually
% generates a pop-up text. \pkg{lwarp} can add this to a reference or hyperlink.
% \brand{MathJax} also has provisions for improved accessibility
-% as well.
+% as well. See \cref{tab:accessibility}.
%
+% \begin{table}
+% \caption{Accessibiltiy settings}
+% \label{tab:accessibility}
% \begin{description}
% \item [\cs{ImageAltText}:] The default \HTML\ \attribute{alt} text
% for \cs{includegraphics} and \env{lateximage}s.
@@ -6897,6 +7028,7 @@ This boolean may be tested by the user for later use.
% This may be changed by redefining \cs{AltTextOpen} and \cs{AltTextClose}.
% Set with \cs{renewcommand}.
% \end{description}
+% \end{table}
%
%
%
@@ -7077,6 +7209,23 @@ This boolean may be tested by the user for later use.
% with \pkg{fontspec} after loading the traditional font packages.
% Monospaced output ligatures must be turned off
% to produce the correct \HTML\ characters.
+%
+% Any monospace font with built-in ligatures may require these ligatures to
+% \changes{v0.84}{2020/04/15}{Docs: \brand{JetBrain Mono} font.}
+% be disabled for \HTML. In one example, \brand{JetBrain Mono},
+% \trouble[\brand{JetBrain Mono}]{font>JetBrain Mono=\brand{JetBrain Mono}}
+% \trouble{jetbrain mono=\brand{JetBrain Mono}}
+% \trouble[\HTML\ corrupted]{HTML>corrupted}
+% \trouble{font>ligatures}
+% it is required to use
+% \begin{sourcedisplay}
+% \cs{setmonofont}\{JetBrains Mono\}[\% \\
+% \dots \\
+% \textgreen{Contextuals=AlternateOff,} \\
+% ]
+% \end{sourcedisplay}
+% After \pkg{lwarp} is loaded, the ligature may be re-enabled for print mode
+% by using \cs{setmonofont} again inside a \env{warpprint} environment.
% \item \ldots{} the rest of the preamble and the main document.
% \end{enumerate}
%
@@ -7109,7 +7258,7 @@ This boolean may be tested by the user for later use.
% \gindex{settings>lwarp=\pkg{lwarp} package options}
%
% \begin{table}
-% \caption{\pkg{lwarp} package options\label{tab:options}}
+% \caption{\pkg{Lwarp} package options\label{tab:options}}
% \centering
% \renewcommand{\arraystretch}{1.2}
% \begin{tabular}{>{\ttfamily}lp{3.25in}}
@@ -7478,10 +7627,13 @@ This boolean may be tested by the user for later use.
% \begin{table}[p]
% \caption{\HTML\ settings}
% \label{tab:htmlsettings}
+% \renewcommand{\arraystretch}{1.1}
% \begin{tabular}{>{\ttfamily}lp{3in}}
% \toprule
% Macro \Slash Cntr \Slash Bool & Description \\ \midrule
% \cs{linkhomename} & Name of the link to the homepage. \\
+% \cs{linkpreviousname} & Name of the link to the previous page. \\
+% \cs{linknextname} & Name of the link to the next page. \\
% \midrule
% SideTOCDepth & Sectioning depth of the side\TOC. \\
% \cs{sidetocname} & Name of the side\TOC. \\
@@ -7515,8 +7667,9 @@ This boolean may be tested by the user for later use.
% \cs{HTMLDescription} & The \HTML\ \attribute{description} meta tag. \\
% \midrule
% \cs{HTMLFirstPageTop} & Heading for the home page. \\
+% \cs{HTMLFirstPageTop} & Footer for the home page. \\
% \cs{HTMLPageTop} & Heading for the other pages. \\
-% \cs{HTMLPageBottom} & Footing for all pages. \\
+% \cs{HTMLPageBottom} & Footer for the other pages. \\
% \midrule
% HTMLDebugComments & Boolean to generate \HTML\ comments. \\
% \bottomrule
@@ -7591,6 +7744,7 @@ This boolean may be tested by the user for later use.
%
% \end{description} \bigskip
%
+% \needspace{3\baselineskip}
% \item[Placed in the preamble before \texttt{\cs{begin}\{document\}}:] \
%
% \begin{description}
@@ -7600,6 +7754,16 @@ This boolean may be tested by the user for later use.
% Redefine with \cs{renewcommand}.
% \changes{v0.63}{2018/11/29}{Docs: \cs{linkhomename}.}
%
+% \ItemDescribeMacro{\linkpreviousname} \DescribeDefault{Previous}
+% Name of the link to the previous page. Paragraphs are allowed.
+% Redefine with \cs{renewcommand}.
+% \changes{v0.84}{2020/04/24}{Docs: \cs{linkpreviousname}.}
+%
+% \ItemDescribeMacro{\linknextname} \DescribeDefault{Next}
+% Name of the link to the next page. Paragraphs are allowed.
+% Redefine with \cs{renewcommand}.
+% \changes{v0.84}{2020/04/24}{Docs: \cs{linkpreviousname}.}
+%
% \ItemDescribeCounter{tocdepth} Sectioning depth of the table of contents.
% See \cref{sec:stackdepths} for a list of \LaTeX{} stack depths.
%
@@ -7729,7 +7893,7 @@ This boolean may be tested by the user for later use.
%
% \end{description}
%
-% \needspace{2\baselineskip}
+% \needspace{3\baselineskip}
% \item[Placed before \texttt{\cs{begin}\{document\}},
% or before any sectioning command which causes a file break:] \
%
@@ -7806,6 +7970,14 @@ This boolean may be tested by the user for later use.
% \ItemDescribeMacro{\HTMLFirstPageTop} \marg{contents} \DescribeDefault{<empty>} \quad
% A user-definable custom action applied
% to the top of the home page. Useful for logos, etc.
+% \cs{LinkNext} may be used to link to the next web page.
+% Defaults empty.
+% Ignored in print output.
+%
+% \ItemDescribeMacro{\HTMLFirstPageBottom} \marg{contents} \DescribeDefault{<empty>} \quad
+% A user-definable custom action applied
+% to the bottom of the home page. Useful for logos, etc.
+% \cs{LinkNext} may be used to link to the next web page.
% Defaults empty.
% Ignored in print output.
%
@@ -7813,21 +7985,34 @@ This boolean may be tested by the user for later use.
% A user-definable custom action applied to
% the top of pages other than the home page. Useful for logos, etc.
% Defaults empty.
-% \cs{LinkHome} may be used to place a link back to the homepage.
+% \cs{LinkHome} may be used to place a link back to the homepage, as well as
+% \cs{LinkPrevious} and \cs{LinkNext}.
% Ignored in print output.
%
% \ItemDescribeMacro{\HTMLPageBottom} \marg{contents} \DescribeDefault{<empty>} \quad
% A user-definable custom action applied to the
-% bottom of each web page.
+% bottom of pages other than the home page.
% Useful for authors, copyright notices, contact information, etc.
% Defaults empty.
-% \cs{LinkHome} may be used to place a link back to the homepage.
+% \cs{LinkHome} may be used to place a link back to the homepage, as well as
+% \cs{LinkPrevious} and \cs{LinkNext}.
% Ignored in print output.
%
+% \ItemDescribeMacro{\LinkHome} Creates a link to the home page.
+% Usually used in \cs{HTMLPageTop} and related.
+%
+% \ItemDescribeMacro{\LinkPrevious} Creates a link to the previous \HTML\ page,
+% unless already at the home page.
+% Usually used in \cs{HTMLPageTop} and related.
+%
+% \ItemDescribeMacro{\LinkNext} Creates a link to the next \HTML\ page, unless
+% already at the end.
+% Usually used in \cs{HTMLPageTop} and related.
+%
% \end{description}
%
%
-% \needspace{2\baselineskip}
+% \needspace{3\baselineskip}
% \item[Placed in the home page before the first sectioning command which causes a file break:] \
%
% \begin{description}
@@ -7883,13 +8068,15 @@ This boolean may be tested by the user for later use.
%
% \emph{Do not place anything else on the same line as \texttt{\cs{end}\{warpprint\}}}.
% \watchout
+% Also do not nest \env{warpprint} inside itself.
%
-% \ItemDescribeEnv{warpHTML} An environment which is only used
+% \ItemDescribeEnv{warpHTML} An environment which is only included
% while generating \HTML\ output. This is useful for website logos and
% other items which have no purpose in printed output.
%
% \emph{Do not place anything else on the same line as \texttt{\cs{end}\{warpHTML\}}}.
% \watchout
+% Also do not nest \env{warpHTML} inside itself.
%
% \ItemDescribeMacro{\warpprintonly} \marg{contents} \quad
% A macro version of the \env{warpprint} environment.
@@ -8011,8 +8198,46 @@ This boolean may be tested by the user for later use.
% \VerbatimInput[frame=lines]{sample_project.css}
%
% Finally use |\CSSFilename{<project>.css}| in the document to activate the custom \CSS.
-%
-%
+%
+%
+% \subsection{Assigning \CSS\ classes and styles}
+% \label{sec:classstyle}
+%
+% \gindex{CSS>class=\attribute{class}}
+% \gindex{CSS>style=\attribute{span}}
+% \gindex{HTML>class=\attribute{class}}
+% \gindex{HTML>style=\attribute{style}}
+% \gindex{HTML>div=\element{div}}
+% \gindex{HTML>span=\element{span}}
+%
+% \HTML\ \CSS\ classes and styles may be assigned to fragments of the document.
+%
+% \DescribeEnv{BlockClass} \oarg{style} \marg{class}
+%
+% An entire block of text, including paragraphs, may be assigned a \CSS\ class
+% and optional \CSS\ style using the \env{BlockClass} environment.
+% The result is placed inside a \element{div}.
+% A \env{BlockClass} may nest other \env{BlockClass}es or \cs{InlineClass}es.
+%
+% \DescribeMacro{\InlineClass}
+% \parg{\acro{wp} \CSS\ style} \oarg{web \CSS\ style}
+% \marg{\CSS\ class} \marg{text}
+%
+% A section of text without paragraphs may be assinged a \CSS\ class and optional
+% \CSS\ style using the \cs{InlineClass} macro.
+% The result is placed inside a \element{span}.
+% \cs{InlineClass} may be nested, but per the \HTML\ standard it must not contain
+% \env{BlockClass}, nor may it contain a paragraph, nor several other objects
+% such as \HTML\ figures.
+% \cs{InlineClass} also accepts a second optional parameter, enclosed inside
+% parentheses, which assigns the style while generating output for a word processor,
+% while ignoring the web style.
+%
+% Nullified versions of \env{BlockClass} and \cs{InlineClass} are provided
+% for the print version, so they may be used in the document without
+% placing them inside \env{warpHTML} or \cs{warpHTMLonly}.
+%
+%
% \subsection{Selecting the operating system}
% \label{sec:OSportabilityusage}
% \changes{v0.11}{2016/03/11}{Added section: Selecting the operating system.}
@@ -8022,7 +8247,7 @@ This boolean may be tested by the user for later use.
%
% \subsection{Selecting actions for print, \HTML, or \brand{MathJax} output}
% \label{sec:selectingoutput}
-% \gindex{settings>selecting output}
+% \gindex{settings>selecting print/\HTML\ output}
% \changes{v0.15}{2016/04/05}{Docs: Clarify print/\HTML\ output.}
%
% The following environments and macros are used to select actions which only apply
@@ -8050,6 +8275,7 @@ This boolean may be tested by the user for later use.
% Do \emph{not} place anything else on the same line as |\end{warpHTML}|.
% \trouble[\texttt{\cs{end}\{warpHTML\}}]{warpHTML}
% The exact phrase is used to mark the end of the environment.
+% Do not nest \env{warpHTML} inside itself.\watchout[nesting]
%
% \DescribeEnv{warpprint}
% Anything which is to be done only for print output
@@ -8061,6 +8287,7 @@ This boolean may be tested by the user for later use.
% \end{Verbatim}
% As above, do not place anything else on the line with |\end{warpprint}|.
% \trouble[\texttt{\cs{end}\{warpprint\}}]{warpprint}
+% Do not nest \env{warpprint} inside itself.\watchout[nesting]
%
% \DescribeEnv{warpall}
% Anything which is to be done for any output
@@ -8071,6 +8298,8 @@ This boolean may be tested by the user for later use.
% \end{warpall}
% \end{Verbatim}
% As above, do not place anything else on the line with |\end{warpall}|.
+% \trouble[\texttt{\cs{end}\{warpall\}}]{warpall}
+% Do not nest \env{warpall} inside itself.\watchout[nesting]
%
%
% Macros are also provided for print-only or \HTML-only code:
@@ -8087,6 +8316,9 @@ This boolean may be tested by the user for later use.
% Anything which is to be done only while using \HTML\ output with \brand{MathJax}
% is surrounded by a \env{warpMathJax} environment.
% Usually, this is \cs{CustomizeMathJax}, used to add emulation macros.
+% |\end{warpMathJax}| must appear on its own line.
+% \trouble[\texttt{\cs{end}\{warpMathJax\}}]{warpMathJax}
+% Do not nest \env{warpMathJax} inside itself.\watchout[nesting]
%
%
% \subsection{Commands to be placed into the \env{warpprint} environment}
@@ -8474,7 +8706,7 @@ This boolean may be tested by the user for later use.
% and \cs{StopDefiningTabulars} afterwards.
% Also see the \pkg{lwarp} documentation for the \pkg{fancybox} package.
% \item [To frame equations:] See \cref{sec:fancybox} for the \pkg{fancybox} package.
-% \item [For fancy framed minipages:] See packages \pkg{boxedminipage2e},
+% \item [For fancy framed minipages:] See packages \pkg{boxedminipage},
% \pkg{shadow}, \pkg{fancybox}, \pkg{framed}, \pkg{mdframed}.
% \item [Custom environments:] Use a custom environment to create a sidebar,
% containing a \env{BlockClass} environment
@@ -8601,6 +8833,14 @@ This boolean may be tested by the user for later use.
% \DescribePackage{varioref}
% \limitscpageref
%
+% \pkg{cleveref} changes the behavior of \pkg{varioref} in that
+% \trouble[\pkg{varioref} types]{varioref=\pkg{varioref}}
+% the reference type is automatically printed if \pkg{cleveref} is loaded.
+% \pkg{Lwarp} requires \pkg{cleveref}, so the \HTML\ version will always
+% automatically print the reference types even if the print mode does not.
+% The simplest way to make them match is to require the \pkg{cleveref} package
+% for the document.
+%
% \subsubsection{Hyperlinks, \pkg{hyperref}, and \pkg{url}}
%
% \DescribePackage{hyperref}
@@ -9751,6 +9991,41 @@ This boolean may be tested by the user for later use.
% \DescribeClass{memoir}
% \limitsmemoir
%
+% The custom frame commands in the \pkg{memoir} manual may be emulated by
+% \trouble[\env{framewithtitle}, \env{titledframe}]{framewithtitle=\env{framewithtitle}}
+% \trouble{titledframe=\env{titledframe}}
+% \trouble{memoir=\pkg{memoir}>\env{framewithtitle}, \env{titledframe}}
+% \gindex{memoir=\pkg{memoir}>\env{framewithtitle}, \env{titledframe}}
+% placing the original defintions in the preamble inside \env{warpprint}
+% environments, and then providing an \HTML\ equivalent:
+% \begin{sourceverb}
+% \begin{warpHTML}
+% \newcommand{\FrameTitle}[2]{%
+% \textbf{#2}
+% }
+%
+% \newenvironment{framewithtitle}[2][\FrameFirst@Lab\ (cont.)]{%
+% \begin{fminipage}{\linewidth}
+% \textbf{#2}
+% \begin{minipage}{\linewidth}
+% }
+% {\end{minipage}\end{fminipage}}
+%
+% \newcommand{\TitleFrame}[2]{%
+% \par
+% \textbf{#1}\par
+% \fboxBlock{#2}
+% }
+%
+% \newenvironment{titledframe}[2][\FrameFirst@Lab\ (cont.)]{%
+% \par
+% \textbf{#2}
+% \begin{fminipage}{\linewidth}
+% }
+% {\end{fminipage}}
+% \end{warpHTML}
+% \end{sourceverb}
+%
%
% \subsection{International languages}
% \label{sec:international}
@@ -10920,10 +11195,13 @@ This boolean may be tested by the user for later use.
% \item[\ctr{SideTOCDepth} < \ctr{FileDepth}:] A warning is displayed if these
% counters are set such that the side\TOC\ will not be able to access all pages
% of the website.
-% \item[Duplicate filenames:] \pkg{lwarp} may generate file names from section names.
-% While doing so, the filenames are simplified and special characters are removed.
+% \item[Filenames:] \pkg{lwarp} may generate file names from section names.
+% While doing so, the filenames are simplified, and special characters
+% and math are removed.
% If this process generates a duplicate filename, and error is generated,
% describing the filename and which section name generated it.
+% A warning is issued if dollar-delimited math is used.
+% Parenthesis-delimited math is recommended instead.
% \item[Multirow:] When \cs{multirow} or \cs{multicolrow} are used,
% \trouble[\HTML\ corrupted]{HTML>corrupted}
% \cs{mrowcell} or \cs{mcolrowcell} must be placed in the appropriate cells to
@@ -10985,9 +11263,20 @@ This boolean may be tested by the user for later use.
% that your document's \LaTeX{} code is correct, before attempting
% to generate an \HTML\ version.
%
-% \item [\texttt{\cs{end}\{warpHTML\}, \cs{end}\{warpprint\}, \cs{end}\{warpall\}}:]
-% \trouble{warpHTML}\trouble{warpprint}\trouble{warpall}
+% \item [\texttt{\cs{end}\{warpHTML\}, \cs{end}\{warpprint\},
+% \cs{end}\{warpall\}, \cs{end}\{warpMathJax\}}:] ~ \\
+% \trouble{warpHTML}
+% \trouble{warpprint}\trouble{warpall}\trouble{warpMathJax}
% Each of these must be without any other characters on the same line.
+% \watchout[\env{warpHTML}, \env{warpprint}, \env{warpMathJax}, \env{warpall}]
+%
+% \item[``\texttt{Runaway argument? File ended while scanning use of \cs{next}}:] ~ \\
+% \trouble{warpHTML}
+% \trouble{warpprint}\trouble{warpall}\trouble{warpMathJax}
+% \trouble{Runaway argument? File ended \dots}
+% \trouble{File ended while scanning use of \cs{next}}
+% Don't use \env{warpHTML}, \env{warpprint}, \env{warpall}, or
+% \env{warpMathJax} inside itself.
%
% \item [Options clash:] If using \pkg{memoir}, see \cref{sec:limitsmemoir}.
%
@@ -11051,7 +11340,7 @@ This boolean may be tested by the user for later use.
% inside a group first.
%
% Also, custom macros which appear inside a section,
-% \trouble[macros in section,table,figure names]{sectioning>macro in name}
+% \trouble[macros in section, table, figure names]{sectioning>macro in name}
% \trouble{table>macro in name}
% \trouble{figure>macro in name}
% figure, or table name should be
@@ -11080,6 +11369,19 @@ This boolean may be tested by the user for later use.
% define new macros for print and \HTML\ modes, see \cref{sec:definingprinthtml}
% regarding \cs{LWR@expandableformatted}.
%
+% \item[''\texttt{Token not allowed in a PDF string}'':] This \pkg{hyperref}
+% \trouble{Token not allowed in a PDF string}
+% \trouble{hyperref=\pkg{hyperref}>Token not allowed in a PDF string}
+% warning appears while creating the print-mode document, not \HTML.
+% A low-level macro is being used in a section name which appears
+% in the \PDF\ bookmarks. \pkg{hyperref} removes this macro from
+% the bookmark, and warns of doing so.
+% To avoid this warning, use \cs{pdfstringdefDisableCommands} in
+% the preamble to define simplified replacement macros for each, or use
+% \cs{texorpdfstring} in the \cs{section} or related macro
+% to declare what to use for the \TeX\ text, v.s. the \PDF\ bookmark.
+% See the \pkg{hyperref} manual.
+%
% \item[Complicated objects inside math:] Some objects, such as \tikz,
% \trouble[``impure'' math objects]{math>non-math contents}
% may not compile in \pkg{lwarp}'s normal math emulation.
@@ -11610,12 +11912,13 @@ This boolean may be tested by the user for later use.
{%
Package #1,\MessageBreak
or one which uses #1,\MessageBreak
- must be loaded after lwarp
+ must be loaded after Lwarp.\MessageBreak
+ Enter 'H' for possible solutions%
}
- {Move \detokenize{\usepackage}{#1} after
- \detokenize{\usepackage}{lwarp}.\MessageBreak
+ {Move ``\protect\usepackage{#1}'' after
+ ``\protect\usepackage{lwarp}''.\MessageBreak
Package #1 may also be loaded by something else,\MessageBreak
- which must also be moved after lwarp.}
+ which must also be moved after Lwarp.}
}
{}
}
@@ -11671,8 +11974,11 @@ This boolean may be tested by the user for later use.
{}
{
\PackageError{lwarp}
- {Package #1 must be loaded before lwarp}
- {Move \detokenize{\usepackage}{#1} before \detokenize{\usepackage}{lwarp}.}
+ {%
+ Package #1 must be loaded before lwarp.\MessageBreak
+ Enter 'H' for possible solutions%
+ }
+ {Move ``\protect\usepackage{#1}'' before ``\protect\usepackage{lwarp}''.}
}
}
% \end{macrocode}
@@ -11808,7 +12114,6 @@ This boolean may be tested by the user for later use.
\LWR@earlyloadnever{alg}{algorithm2e, algorithmicx}
\LWR@earlyloadnever{algorithmic}{algorithm2e, algorithmicx}
\LWR@earlyloadnever{bitfield}{bytefield}
-\LWR@earlyloadnever{boxedminipage}{boxedminipage2e}
\LWR@earlyloadnever{caption2}{caption}
% \LWR@earlyloadnever{ccaption}{caption}% might be preloaded by memoir
\LWR@earlyloadnever{colortab}{colortbl}
@@ -11915,6 +12220,7 @@ This boolean may be tested by the user for later use.
\LWR@notmemoirloadafter{booktabs}
\LWR@loadafter{bophook}
\LWR@loadafter{bounddvi}
+\LWR@loadafter{boxedminipage}
\LWR@loadafter{boxedminipage2e}
\LWR@loadafter{braket}
\LWR@loadafter{breakurl}
@@ -12368,9 +12674,12 @@ This boolean may be tested by the user for later use.
%
% \begin{macrocode}
\newcommand{\LWR@mdfive}[1]{%
-\PackageError{lwarp}
-{No MD5 macro was found}
-{Lwarp must find the macros pdfmdfivesum or mdfivesum.}
+ \PackageError{lwarp}
+ {No MD5 macro was found}
+ {%
+ Lwarp must find the macros \protect\pdfmdfivesum\space
+ or \protect\mdfivesum.%
+ }
}
% \end{macrocode}
%
@@ -12499,7 +12808,8 @@ This boolean may be tested by the user for later use.
{%
Lwarp requires a vector font.\MessageBreak
Install and load cm-super, lmodern, or another\MessageBreak
- Type-1 vector font before loading lwarp%
+ Type-1 vector font before loading lwarp.\MessageBreak
+ Enter 'H' for possible solutions%
}
{%
Install cm-super or lmodern.\MessageBreak
@@ -12537,6 +12847,16 @@ This boolean may be tested by the user for later use.
% \section{Miscellaneous tools}
%
%
+% \subsection{Variables}
+%
+% \begin{macrocode}
+\newlength{\LWR@templengthone}
+\newlength{\LWR@templengthtwo}
+\newlength{\LWR@templengththree}
+\newcounter{LWR@tempcountone}
+% \end{macrocode}
+%
+%
% \subsection{Lengths and units}
%
% \begin{macro}{\LWR@providelength} \marg{\cs{lengthname}}
@@ -12595,9 +12915,12 @@ This boolean may be tested by the user for later use.
% Prints an error if could not patch a macro.
% \begin{macrocode}
\newcommand*{\LWR@patcherror}[2]{%
-\PackageError{lwarp}
-{Unable to patch package #1, macro #2}
-{Please contact the author of the Lwarp package.}
+ \PackageError{lwarp}%
+ {%
+ Unable to patch package #1, macro #2.\MessageBreak
+ Lwarp may need to be updated%
+ }%
+ {Please contact the maintainer of the Lwarp package.}%
}
% \end{macrocode}
% \end{macro}
@@ -12728,7 +13051,8 @@ This boolean may be tested by the user for later use.
% Results in the macro name without the leading backslash.
%
% Ref: \href{https://tex.stackexchange.com/questions/42318/removing-a-backslash-from-a-character-sequence}
-% {\texttt{https://tex.stackexchange.com/questions/42318/removing-a-backslash-from-a-character-sequence}}
+% {\texttt{https://tex.stackexchange.com/questions/42318/ \\
+% \hspace*{\fill}removing-a-backslash-from-a-character-sequence}}
%
% \changes{v0.79}{2020/01/18}{Added.}
% \begin{macrocode}
@@ -13474,28 +13798,37 @@ This boolean may be tested by the user for later use.
% \end{macrocode}
-% Use |comment_print.cut| for print mode, and
-% |comment_html.cut| for \HTML\ mode.
-% This helps \prog{latexmk} to more reliably know whether to recompile.
-%
-% \changes{v0.37}{2017/08/19}{\pkg{comment}: Maintains independent
-% cutfiles for print, \HTML.}
+% \begin{macro}{\LWR@includecomment} \marg{env name} \marg{partial filename}
+% \begin{macro}{\LWR@excludecomment} \marg{env name} \marg{partial filename}
%
+% Use many \pkg{comment} cut files to avoid collision in case the
+% user uses the \pkg{comment} package. Each filename is ``|comment_#2.cut|''.
+% Based on the \pkg{comment} package.
+% \changes{v0.84}{2020/03/30}{Independent cut files.}
% \begin{macrocode}
-\ifbool{warpingHTML}{
-\def\DefaultCutFileName{\def\CommentCutFile{comment_html.cut}}
-}{}
+\def\LWR@includecomment
+ #1#2{\message{Lwarp: Including comment '#1'}%
+ \csarg\def{After#1Comment}{\CloseAndInputCutFile}
+ \csarg\def{#1}{\endgroup \message{Including '#1' comment.}%
+ \def\CommentCutFile{comment_#2.cut} \SetUpCutFile \ProcessComment{#1}}%
+ \CommentEndDef{#1}}
-\ifbool{warpingprint}{
-\def\DefaultCutFileName{\def\CommentCutFile{comment_print.cut}}
-}{}
+\def\LWR@excludecomment
+ #1#2{\message{Lwarp: Excluding comment '#1'}%
+ \csarg\def{#1}{\endgroup \message{Excluding '#1' comment.}%
+ \begingroup
+ \def\CommentCutFile{comment_#2.cut} \def\ProcessCutFile{}%
+ \def\ThisComment####1{}\ProcessComment{#1}}%
+ \csarg\def{After#1Comment}{\CloseAndInputCutFile \endgroup}
+ \CommentEndDef{#1}}
% \end{macrocode}
-
+% \end{macro}
+% \end{macro}
% \begin{environment}{warpall}
% Anything in the |warpall| environment will be generated for print or \HTML\ outputs.
% \begin{macrocode}
-\includecomment{warpall}
+\LWR@includecomment{warpall}{all}
% \end{macrocode}
% \end{environment}
@@ -13505,8 +13838,8 @@ This boolean may be tested by the user for later use.
% For \HTML\ output:
% \begin{macrocode}
\ifbool{warpingHTML}
- {\includecomment{warpHTML}}
- {\excludecomment{warpHTML}}%
+ {\LWR@includecomment{warpHTML}{html}}
+ {\LWR@excludecomment{warpHTML}{html}}
% \end{macrocode}
% \end{environment}
@@ -13515,8 +13848,8 @@ This boolean may be tested by the user for later use.
% Anything in the |warpprint| environment will be generated for print output only.
% \begin{macrocode}
\ifbool{warpingprint}
- {\includecomment{warpprint}}
- {\excludecomment{warpprint}}
+ {\LWR@includecomment{warpprint}{print}}
+ {\LWR@excludecomment{warpprint}{print}}
% \end{macrocode}
% \end{environment}
@@ -13526,25 +13859,25 @@ This boolean may be tested by the user for later use.
% \changes{v0.79}{2020/01/26}{Added.}
% \begin{macrocode}
\begin{warpprint}
-\excludecomment{warpMathJax}
+\LWR@excludecomment{warpMathJax}{mathjax}
\end{warpprint}
\begin{warpHTML}
\ifbool{mathjax}
- {\includecomment{warpMathJax}}
- {\excludecomment{warpMathJax}}
+ {\LWR@includecomment{warpMathJax}{mathjax}}
+ {\LWR@excludecomment{warpMathJax}{mathjax}}
\end{warpHTML}
% \end{macrocode}
% \end{environment}
-% \begin{environment}{LWR@creatinglwarpmk}
+% \begin{environment}{LWRcreatelwarpmk}
% Optionally generate a local copy of \prog{lwarpmk}.
% Default to no.
% \begin{macrocode}
\ifbool{LWR@creatinglwarpmk}
- {\includecomment{LWR@createlwarpmk}}
- {\excludecomment{LWR@createlwarpmk}}
+ {\LWR@includecomment{LWRcreatelwarpmk}{lwarpmk}}
+ {\LWR@excludecomment{LWRcreatelwarpmk}{lwarpmk}}
% \end{macrocode}
% \end{environment}
%
@@ -14254,7 +14587,6 @@ This boolean may be tested by the user for later use.
\LWR@checkloadnever{#1}{alg}{algorithm2e, algorithmicx}
\LWR@checkloadnever{#1}{algorithmic}{algorithm2e, algorithmicx}
\LWR@checkloadnever{#1}{bitfield}{bytefield}
-\LWR@checkloadnever{#1}{boxedminipage}{boxedminipage2e}
\LWR@checkloadnever{#1}{caption2}{caption}
\LWR@checkloadnever{#1}{ccaption}{caption}% might be preloaded by memoir
\LWR@checkloadnever{#1}{colortab}{colortbl}
@@ -14455,8 +14787,9 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
\NewDocumentCommand{\LWR@ProvidesPackagePass}{m o}{
\PackageInfo{lwarp}{%
- Using package `#1' and adding lwarp modifications,\MessageBreak
- including options,}%
+ Using package `#1',\MessageBreak
+ and adding lwarp modifications, including options,\MessageBreak%
+ }%
\IfValueTF{#2}%
{\ProvidesPackage{lwarp-#1}[#2]}%
{\ProvidesPackage{lwarp-#1}}%
@@ -14565,28 +14898,6 @@ This boolean may be tested by the user for later use.
-% \section{Additional required packages}
-
-% \codehtml
-% \begin{macrocode}
-\begin{warpHTML}
-% \end{macrocode}
-
-% \DescribePackage{caption}
-% \changes{v0.47}{2018/01/29}{\pkg{caption}: Also loads \pkg{lwarp-caption}.}
-% \changes{v0.66}{2018/12/29}{\pkg{caption}: Fix for options clash.}
-% \begin{macrocode}
-\LWR@origRequirePackage{caption}
-\AtBeginDocument{\RequirePackage{lwarp-caption}}%
-% \end{macrocode}
-
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-
-
-
-
% \section{File handles}
% Defines file handles for writes.
@@ -14847,9 +15158,7 @@ This boolean may be tested by the user for later use.
% The new \HTML\ versions of macros and environments are used most of the time.
% Copies of the print versions are used inside a \env{lateximage} environment,
% which draws and remembers an image of the printed output, and also several
-% other places. The copies of the print versions may also be used by the \HTML\
-% versions, such as when the \HTML\ version merely encloses the print version
-% inside \HTML\ tags.
+% other places.
%
% The general structure for providing print and \HTML\ versions of a macro or
% environment is as follows:
@@ -14859,13 +15168,14 @@ This boolean may be tested by the user for later use.
% \item[For a preexisting macro, not defined with \pkg{xparse}:] An \HTML\ version
% is provided with a special name, inside a \env{warpHTML} environment,
% then \cs{LWR@formatted} is used to redefine and patch various macros:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{5\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \newcommand{\LWR@HTML@name}{...}% may also use xparse
%
% \LWR@formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% |\LWR@formatted{name}| copies the original print version,
% then redefines \cs{name} to use either the print or \HTML\ version depending
% on which mode \pkg{lwarp} is using. \pkg{xparse} may be used to
@@ -14874,16 +15184,18 @@ This boolean may be tested by the user for later use.
% \item[For a preexisiting environment, not defined with \pkg{xparse}:] The process
% is similar. Note the use of \cs{LWR@formattedenv} instead of \cs{LWR@formatted}.
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{5\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \newenvironment{LWR@HTML@name}{...}% may also use xparse
%
% \LWR@formattedenv{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% \item[If the original used \pkg{xparse}:] A copy must be made using a new name:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{7\baselineskip}
+% \begin{sourceverb}
% \begin{warpHTML}
% \NewDocumentCommand{\LWR@print@name}{..}{..}% copy the original
%
@@ -14891,7 +15203,7 @@ This boolean may be tested by the user for later use.
%
% \LWR@formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% Similar for an environment, using \cs{LWR@formattedenv}.
% (\cs{LWR@formatted} and \cs{LWR@formattedenv} use \cs{LetLtxMacro} to
% copy the original print definiton,
@@ -14899,7 +15211,8 @@ This boolean may be tested by the user for later use.
% so the print version must be manually recreated in the \pkg{lwarp} source.)
% \item[For a new macro or environment, not using \pkg{xparse} for the print version:] \
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{9\baselineskip}
+% \begin{sourceverb}
% \begin{warpall}
% \newcommand{\name}{...}% NOT xparse!
% \end{warpall}
@@ -14909,7 +15222,7 @@ This boolean may be tested by the user for later use.
%
% \LWR@formatted{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
% Similar for an environment.
% The plain \cs{name} or environment \env{name} is used for the printed
% version, and is placed inside \env{warpall}.
@@ -14921,7 +15234,8 @@ This boolean may be tested by the user for later use.
% by defining the \cs{LWR@print@<name>} version with \pkg{xparse}, along with
% \cs{name} defined without \pkg{xparse} to refer directly to the \cs{LWR@print}
% version:
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% \needspace{16\baselineskip}
+% \begin{sourceverb}
% \begin{warpall}
% \NewDocumentCommand{\LWR@print@name}{...} {...}% -or-
% \NewDocumentEnvironment{\LWR@print@name}{...} {...} {...}
@@ -14938,7 +15252,7 @@ This boolean may be tested by the user for later use.
% \LWR@formatted{name}% -or-
% \LWR@formattedenv{name}
% \end{warpHTML}
-% \end{Verbatim}
+% \end{sourceverb}
%
% \end{description}
%
@@ -15353,13 +15667,6 @@ This boolean may be tested by the user for later use.
\let\LWR@origsp\sp
\let\LWR@origsb\sb
-\LetLtxMacro\LWR@origtextsuperscript\textsuperscript
-\LetLtxMacro\LWR@orig@textsuperscript\@textsuperscript
-
-\AtBeginDocument{
-\LetLtxMacro\LWR@origtextsubscript\textsubscript
-\LetLtxMacro\LWR@orig@textsubscript\@textsubscript
-}
\LetLtxMacro\LWR@origunderline\underline
% \end{macrocode}
@@ -15415,6 +15722,7 @@ This boolean may be tested by the user for later use.
% \limitsaccents
%
% \changes{v0.37}{2017/08/18}{\protect\LaTeX\ accents: Added.}
+% \changes{v0.84}{2020/04/12}{\protect\LaTeX\ accents: Add'l symbols.}
%
% \codehtml
% \begin{macrocode}
@@ -15430,29 +15738,41 @@ This boolean may be tested by the user for later use.
%
% For Unicode engines, only \cs{t} needs to be redefined:
% \begin{macrocode}
-\LetLtxMacro\LWR@origt\t
+\LetLtxMacro\LWR@origtie\t
% \end{macrocode}
% For pdf\LaTeX, additional work is required:
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
-\LetLtxMacro\LWR@origequalaccent\=
+\LetLtxMacro\LWR@origgraveaccent\`
+\LetLtxMacro\LWR@origacuteaccent\'
+\LetLtxMacro\LWR@origcircumflexaccent\^
+\LetLtxMacro\LWR@origtildeaccent\~
+\LetLtxMacro\LWR@origmacronaccent\=
+\LetLtxMacro\LWR@origbreve\u
\LetLtxMacro\LWR@origdotaccent\.
-\LetLtxMacro\LWR@origu\u
-\LetLtxMacro\LWR@origv\v
-\LetLtxMacro\LWR@origc\c
-\LetLtxMacro\LWR@origd\d
-\LetLtxMacro\LWR@origb\b
+\LetLtxMacro\LWR@origdiaeresisaccent\"
+\LetLtxMacro\LWR@origdoubleacuteaccent\H
+\LetLtxMacro\LWR@origcaronaccent\v
+\LetLtxMacro\LWR@origdotbelowaccent\d
+\LetLtxMacro\LWR@origcedillaaccent\c
+\LetLtxMacro\LWR@origmacronbelowaccent\b
% \end{macrocode}
% The \HTML\ redefinitions follow.
%
% For pdf\LaTeX, Unicode diacritical marks are used:
% \begin{macrocode}
-\renewcommand*{\=}[1]{#1\HTMLunicode{0305}}
-\renewcommand*{\.}[1]{#1\HTMLunicode{0307}}
+\renewcommand*{\`}[1]{#1\HTMLunicode{0300}}
+\renewcommand*{\'}[1]{#1\HTMLunicode{0301}}
+\renewcommand*{\^}[1]{#1\HTMLunicode{0302}}
+\renewcommand*{\~}[1]{#1\HTMLunicode{0303}}
+\renewcommand*{\=}[1]{#1\HTMLunicode{0304}}
\renewcommand*{\u}[1]{#1\HTMLunicode{0306}}
+\renewcommand*{\.}[1]{#1\HTMLunicode{0307}}
+\renewcommand*{\"}[1]{#1\HTMLunicode{0308}}
+\renewcommand*{\H}[1]{#1\HTMLunicode{030B}}
\renewcommand*{\v}[1]{#1\HTMLunicode{030C}}
-\renewcommand*{\c}[1]{#1\HTMLunicode{0327}}
\renewcommand*{\d}[1]{#1\HTMLunicode{0323}}
+\renewcommand*{\c}[1]{#1\HTMLunicode{0327}}
\renewcommand*{\b}[1]{#1\HTMLunicode{0331}}
\fi
% \end{macrocode}
@@ -15467,18 +15787,24 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\newcommand*{\LWR@restoreorigaccents}{%
-\LetLtxMacro\=\LWR@origequalaccent%
-\LetLtxMacro\.\LWR@origdotaccent%
-\LetLtxMacro\u\LWR@origu%
-\LetLtxMacro\v\LWR@origu%
-\LetLtxMacro\t\LWR@origt%
-\LetLtxMacro\c\LWR@origc%
-\LetLtxMacro\d\LWR@origd%
-\LetLtxMacro\b\LWR@origb%
+ \LetLtxMacro\`\LWR@origgraveaccent%
+ \LetLtxMacro\'\LWR@origacuteaccent%
+ \LetLtxMacro\^\LWR@origcircumflexaccent%
+ \LetLtxMacro\~\LWR@origtildeaccent%
+ \LetLtxMacro\=\LWR@origmacronaccent%
+ \LetLtxMacro\u\LWR@origbreve%
+ \LetLtxMacro\.\LWR@origdotaccent%
+ \LetLtxMacro\"\LWR@origdiaeresisaccent%
+ \LetLtxMacro\H\LWR@origdoubleacuteaccent%
+ \LetLtxMacro\v\LWR@origcaronaccent%
+ \LetLtxMacro\t\LWR@origtie%
+ \LetLtxMacro\d\LWR@origdotbelowaccent%
+ \LetLtxMacro\c\LWR@origcedillaaccent%
+ \LetLtxMacro\b\LWR@origmacronbelowaccent%
}%
\else% XeLaTeX, LuaLaTeX:
\newcommand*{\LWR@restoreorigaccents}{%
-\LetLtxMacro\t\LWR@origt%
+ \LetLtxMacro\t\LWR@origtie%
}%
\fi%
}% AtBeginDocument
@@ -15513,7 +15839,7 @@ This boolean may be tested by the user for later use.
% Default to no configuration files:
% \changes{v0.61}{2018/10/02}{Don't write configuration files if processing \pkg{pstool} image.}
% \begin{macrocode}
-\excludecomment{LWRwriteconf}
+\LWR@excludecomment{LWRwriteconf}{writeconf}
% \end{macrocode}
%
% Generate configuration files if print mode and not \filenm{-pstool}:
@@ -15531,7 +15857,7 @@ This boolean may be tested by the user for later use.
}
{
\PackageInfo{lwarp}{Generating lwarp configuration files,}%
- \includecomment{LWRwriteconf}
+ \LWR@includecomment{LWRwriteconf}{writeconf}
}
\end{warpprint}
% \end{macrocode}
@@ -15626,9 +15952,12 @@ This boolean may be tested by the user for later use.
% Error message if not sure which \LaTeX\ engine is being used.
% \begin{macrocode}
\newcommand*{\LWR@unknownengine}{%
- \PackageError{lwarp}
- {Unknown LaTeX engine.}
- {Lwarp only knows about pdflatex, dvi latex, xelatex, lualatex, and upLateX.}
+ \PackageError{lwarp}%
+ {Unknown LaTeX engine}%
+ {%
+ Lwarp only knows about pdflatex, dvi latex,
+ xelatex, lualatex, and upLateX.%
+ }%
}
% \end{macrocode}
% \end{macro}
@@ -16041,6 +16370,11 @@ This boolean may be tested by the user for later use.
% \changes{v0.76}{2019/10/02}{\filenm{lwarp.css}: Fix for small caps.}
% \changes{v0.79}{2020/01/17}{\filenm{lwarp.css}: Fix: Nested \env{tabular}s.}
% \changes{v0.81}{2020/02/22}{\filenm{lwarp.css}: Added \pkg{nolbreaks}.}
+% \changes{v0.84}{2020/03/28}{\filenm{lwarp.css}: Added \pkg{koma-*} subject.}
+% \changes{v0.84}{2020/04/10}{\filenm{lwarp.css}: Improved \pkg{realscripts}.}
+% \changes{v0.84}{2020/04/13}{\filenm{lwarp.css}: Improved \pkg{nfssext-cfr}.}
+% \changes{v0.84}{2020/04/18}{\filenm{lwarp.css}: Fix: Minipage tex align.}
+% \changes{v0.84}{2020/04/24}{\filenm{lwarp.css}: Fix: Top nav if narrow window.}
%
% ^^A *lwarp.css
%
@@ -16126,10 +16460,6 @@ span.textit, div.textit { font-style: italic; }
span.textmd, div.textmd { font-weight: normal; }
-span.texteb { font-weight: bolder; }
-
-span.textlg { font-weight: lighter; }
-
span.textup, div.textup {
font-style: normal;
font-variant: normal;
@@ -16158,6 +16488,52 @@ span.textsf, div.textsf {
Geneva, Verdana, sans-serif ;
}
+/* nfssext-cfr lining figures */
+span.textln, div.textln {
+ font-variant-numeric: lining-nums ;
+}
+
+/* nfssext-cfr proportional figures */
+span.textp, div.textp {
+ font-variant-numeric: proportional-nums ;
+}
+
+/* nfssext-cfr tabular figures */
+span.textt, div.textt {
+ font-variant-numeric: tabular-nums ;
+}
+
+/* nfssext-cfr font weights */
+span.textdb, div.textdb {
+ font-weight: 500 ;
+}
+
+span.textsb, div.textsb {
+ font-weight: 600 ;
+}
+
+span.texteb, div.texteb {
+ font-weight: 800 ;
+}
+
+span.textub, div.textub {
+ font-weight: 900 ;
+}
+
+span.textlg, div.textlg {
+ font-weight: 300 ;
+}
+
+span.textel, div.textel {
+ font-weight: 200 ;
+}
+
+span.textul, div.textul {
+ font-weight: 100 ;
+}
+
+
+
span.textcircled { border: 1px solid black ; border-radius: 1ex ; }
span.underline {
@@ -16202,16 +16578,16 @@ div.diagboxW {
.supsubscript sub {
position: relative;
display: block;
- font-size: .5em;
+ font-size: .7em;
line-height: 1;
}
.supsubscript sup {
- top: .5em;
+ top: .3em;
}
.supsubscript sub {
- top: .5em;
+ top: .3em;
}
div.attribution p {
@@ -16693,6 +17069,7 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;}
.minipage, .fminipage, .fcolorminipage {
/* display: inline-block ; */
/* Mini pages which follow each other will be tiled. */
+ text-align:left;
margin: .25em .25em .25em .25em;
padding: .25em .25em .25em .25em;
display: inline-flex;
@@ -17188,6 +17565,26 @@ span.verbatim {
+div.titlehead
+{
+ text-align: left ;
+ font-style: normal ;
+ font-weight: normal ;
+ font-style: normal ;
+ font-size: .8em ;
+ margin: 1ex 0em 1ex 0em ;
+}
+
+div.subject
+{
+ text-align: center ;
+ font-style: normal ;
+ font-weight: bold ;
+ font-style: normal ;
+ font-size: .8em ;
+ margin: 1ex 0em 1ex 0em ;
+}
+
div.published
{
text-align: center ;
@@ -17282,6 +17679,7 @@ footer {
}
+/* for \LinkHome, \LinkPrevious, and \LinkNext: */
a.linkhome { font-weight:bold ; font-size: 1em ;}
@@ -17620,6 +18018,7 @@ span.sidetocthetitle { display: none }
box-shadow: none ;
}
span.sidetocthetitle { display: inline }
+ nav.topnavigation { display:block }
nav.botnavigation { display:block }
div.bodycontainer { width: 100% }
.marginpar {
@@ -18599,11 +18998,12 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-
% \changes{v0.74}{2019/08/05}{\prog{lwarpmk}: \cmds{lwarpmk clean} removes add'l files.}%
% \changes{v0.74}{2019/08/14}{\prog{lwarpmk}: \cmds{lwarpmk epstopdf} and \cmds{pdftosvg} honor directories.}%
% \changes{v0.81}{2020/03/04}{\prog{lwarpmk}: Improved error if in \pkg{lwarp} source directory.}%
+% \changes{v0.84}{2020/03/30}{\prog{lwarpmk}: \optn{clean} also removes \filenm{comment_*.cut}}%
%
% The following is only generated if the \optn{lwarpmk} option
% was given to \pkg{lwarp}.
% \begin{macrocode}
-\begin{LWR@createlwarpmk}
+\begin{LWRcreatelwarpmk}
% \end{macrocode}
%
% ^^A *lwarpmk.lua
@@ -18614,7 +19014,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-
-- Copyright 2016-2020 Brian Dunn
-printversion = "v0.83"
+printversion = "v0.84"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -19008,7 +19408,7 @@ function removeaux ()
-- Remove auxiliary files:
-- All .aux files are removed since there may be many bbl*.aux files.
-- Also removes sourcename_html.pdf, sourcename_html.html,
--- and sourcename_html.sidetoc.
+-- and sourcename_html.sidetoc, plus comment_*.cut.
--
os.execute ( rmname .. " *.aux " ..
sourcename ..".toc " .. sourcename .. "_html.toc " ..
@@ -19022,7 +19422,8 @@ os.execute ( rmname .. " *.aux " ..
sourcename .. "_html.pdf " ..
sourcename .. "_html.html " ..
sourcename .. "_html.sidetoc " ..
- " *_html_inc.* "
+ " *_html_inc.* " ..
+ " comment_*.cut"
)
end
@@ -19568,7 +19969,7 @@ end -- not --version
% \end{macrocode}
%
% \begin{macrocode}
-\end{LWR@createlwarpmk}
+\end{LWRcreatelwarpmk}
% \end{macrocode}
%
@@ -20082,7 +20483,7 @@ end -- not --version
% such as 100+ for one chapter, 200+ for another chapter, etc.
% \begin{macrocode}
\newcommand*{\SetHTMLFileNumber}[1]{%
-\setcounter{LWR@htmlfilenumber}{#1}%
+ \setcounter{LWR@htmlfilenumber}{#1}%
}
% \end{macrocode}
% \end{macro}
@@ -20108,9 +20509,43 @@ end -- not --version
% \end{macrocode}
+% Updated each time a new \HTML\ file is begun.
+% Used to provide \HTML\ previous/next web page links.
+% \begin{macrocode}
+\newcounter{LWR@HTMLpagenum}
+\setcounter{LWR@HTMLpagenum}{0}
+% \end{macrocode}
+
+
+% \DescribeCounter{LWR@htmlseqfilenumber}
+% A sequential count of the number of each \HTML\ file as it is being created.
+% Number 0 is the home page.
+% Unlike \cs{LWR@htmlfilenumber}, this one is known to increment by one
+% for each file. This is used to generate previous \slash next links for
+% each web page, via labels called |\BaseJobname-autofile-*|, and the
+% last page is also labelled |\BaseJobname-autofile-last|.
+%
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcounter{LWR@htmlseqfilenumber}
+\setcounter{LWR@htmlseqfilenumber}{0}
+% \end{macrocode}
+
+% \DescribeBoolean{LWR@setseqfilelabel}
+% At each new \HTML\ file, this is false until a sectional unit is used,
+% at which point this is set true and a label is placed.
+% In this way, the previous/next labels will point to a named section.
+% \begin{macrocode}
+\newbool{LWR@setseqfilelabel}
+\setbool{LWR@setseqfilelabel}{false}
+% \end{macrocode}
+
+
% \DescribeCounter{LWR@htmlfilenumber}
% Records the number of each \HTML\ file as it is being created.
% Number 0 is the home page.
+% This might not be sequential, as the user may use
+% \cs{SetHTMLFileNumber} to create groups of numbered nodes.
% \begin{macrocode}
\newcounter{LWR@htmlfilenumber}
\setcounter{LWR@htmlfilenumber}{0}
@@ -20125,6 +20560,8 @@ end -- not --version
% \changes{v0.20}{2016/09/11}{Sections called ``Index'' or ``index'' have an underscore
% prepended to their filenames if no prefix.}
% \changes{v0.66}{2019/01/30}{Sanitize underscores.}
+% \changes{v0.84}{2020/04/10}{Fix: Sections called ``Index'' or ``index'' have \filenm{-0}
+% appended to their filenames if no prefix.}
%
% Prints the filename for a given section: |\HTMLFilename{}filenumber/name.html|
% \begin{macrocode}
@@ -20144,33 +20581,35 @@ end -- not --version
% \LWR@traceinfo{about to assign temp}%
\LWR@sanitize{#1}%
\LWR@traceinfo{about to compare with ??}%
-\ifthenelse{\equal{\LWR@sanitized}{??}}%
+\ifdefstring{\LWR@sanitized}{??}
{\LWR@traceinfo{found ??}}%
{\LWR@traceinfo{not found ??}}%
\LWR@traceinfo{about to compare with zero or empty}%
-\ifthenelse{%
- \equal{\LWR@sanitized}{0}%
- \OR \equal{\LWR@sanitized}{}%
- \OR \equal{\LWR@sanitized}{??}%
-}%
+\ifboolexpr{
+ test {\ifdefstring{\LWR@sanitized}{0}} or
+ test {\ifdefstring{\LWR@sanitized}{}} or
+ test {\ifdefstring{\LWR@sanitized}{??}}
+}
{%
\LWR@traceinfo{LWR@htmlsectionfilename B \HomeHTMLFilename.html}%
\HomeHTMLFilename.html%
}%
% \end{macrocode}
% For a \LaTeX\ section named ``Index'' or ``index'' without a prefix, create a filename
-% with a leading underscore to avoid colliding with the \HTML\ filename |index.html|:
+% with a trailing \filenm{-0} to avoid colliding with the \HTML\ filename |index.html|:
% \begin{macrocode}
{%
\LWR@traceinfo{LWR@htmlsectionfilename C \LWR@sanitized}%
- \ifthenelse{%
- \equal{\HTMLFilename}{} \AND
- \equal{\LWR@sanitized}{Index} \OR
- \equal{\LWR@sanitized}{index}%
+ \ifboolexpr{
+ test{\ifdefvoid{\HTMLFilename}} and
+ (
+ test{\ifdefstring{\LWR@sanitized}{Index}} or
+ test{\ifdefstring{\LWR@sanitized}{index}}
+ )
}%
{%
- \LWR@traceinfo{Prefixing the index name with an underscore.}%
- \_\LWR@sanitized.html%
+ \LWR@traceinfo{Adding a zero to the index filename.}%
+ \LWR@sanitized-0.html%
}%
% \end{macrocode}
% Otherwise, create a filename with the chosen prefix:
@@ -20192,15 +20631,15 @@ end -- not --version
% \changes{v0.50}{2018/02/20}{Fix: SVG math in a section name.}
% \begin{macrocode}
\newcommand*{\LWR@htmlrefsectionfilename}[1]{%
-\LWR@traceinfo{LWR@htmlrefsectionfilename: !\detokenize{#1}!}%
+ \LWR@traceinfo{LWR@htmlrefsectionfilename: !\detokenize{#1}!}%
% \end{macrocode}
% \cs{LWR@nullfonts} to allow math in a section name.
% \begin{macrocode}
-\begingroup%
-\LWR@nullfonts%
-\LWR@htmlsectionfilename{\LWR@htmlfileref{#1}}%
-\endgroup%
-\LWR@traceinfo{LWR@htmlrefsectionfilename: done}%
+ \begingroup%
+ \LWR@nullfonts%
+ \LWR@htmlsectionfilename{\LWR@htmlfileref{#1}}%
+ \endgroup%
+ \LWR@traceinfo{LWR@htmlrefsectionfilename: done}%
}
% \end{macrocode}
% \end{macro}
@@ -20243,7 +20682,7 @@ end -- not --version
% The filename must be detokenized for underscores.
% \begin{macrocode}
\newcommand*{\LinkHome}{%
-\LWR@subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
+ \LWR@subhyperrefclass{\HomeHTMLFilename.html}{\linkhomename}{linkhome}%
}
% \end{macrocode}
% \end{macro}
@@ -20302,8 +20741,8 @@ end -- not --version
% Creates a link to the homepage at the top of the page for use when the window is too
% narrow for the side\TOC.
% \begin{macrocode}
-\newcommand*{\LWR@topnavigation}{
-\LWR@htmlelementclassline{nav}{topnavigation}{\LinkHome}
+\newcommand*{\LWR@topnavigation}{%
+ \LWR@htmlelementclassline{nav}{topnavigation}{\LinkHome}
}
% \end{macrocode}
% \end{macro}
@@ -20313,8 +20752,8 @@ end -- not --version
% Creates a link to the homepage at the bottom of the page for use when the window is too
% narrow for the side\TOC.
% \begin{macrocode}
-\newcommand*{\LWR@botnavigation}{
-\LWR@htmlelementclassline{nav}{botnavigation}{\LinkHome}
+\newcommand*{\LWR@botnavigation}{%
+ \LWR@htmlelementclassline{nav}{botnavigation}{\LinkHome}
}
% \end{macrocode}
% \end{macro}
@@ -20324,6 +20763,110 @@ end -- not --version
% \end{macrocode}
+% \section{Previous \Slash next navigation links}
+
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+% \end{macrocode}
+
+% \begin{macro}{\linkpreviousname} What to call the link to the previous web page.
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\linkpreviousname}{Previous}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\linknextname} What to call the link to the next web page.
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\linknextname}{Next}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpall}
+% \end{macrocode}
+
+
+% \codeprint
+% \begin{macrocode}
+\begin{warpprint}
+% \end{macrocode}
+
+% \begin{macro}{\LinkPrevious} Creates a link to the previous web page if there is one.
+% \begin{macrocode}
+\newcommand*{\LinkPrevious}{}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LinkNext} Creates a link to the next web page if there is one.
+% \begin{macrocode}
+\newcommand*{\LinkNext}{}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpprint}
+% \end{macrocode}
+
+
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+
+% \begin{macro}{\LinkPrevious} Creates a link to the previous web page if there is one.
+%
+% The links refer to the \LaTeX\ labels |\Basejobname-autofile-*|
+%
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\LinkPrevious}{%
+ \ifnumless{\value{LWR@htmlseqfilenumber}}{1}{}{%
+ \setcounter{LWR@tempcountone}{\value{LWR@htmlseqfilenumber}-1}%
+ \LWR@subhyperrefclass{%
+ \LWR@htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR@tempcountone}%
+ }%
+ }{\linkpreviousname}{linkhome}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LinkNext} Creates a link to the next web page if there is one.
+%
+% The links refer to the \LaTeX\ labels |\Basejobname-autofile-*| \\
+% and the last is the label |\Basejobname-autofile-last|
+%
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\newcommand*{\LinkNext}{%
+ \ifcsdef{r@\BaseJobname-autofile-last@lwarp}{%
+ \edef\LWR@tempone{%
+ \LWR@htmlfileref{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}%
+ }%
+ \edef\LWR@temptwo{%
+ \LWR@htmlfileref{\BaseJobname-autofile-last}%
+ }%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{}{%
+ \setcounter{LWR@tempcountone}{\value{LWR@htmlseqfilenumber}+1}%
+ \LWR@subhyperrefclass{%
+ \LWR@htmlrefsectionfilename{%
+ \BaseJobname-autofile-\arabic{LWR@tempcountone}%
+ }%
+ }{\linknextname}{linkhome}%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpHTML}
+% \end{macrocode}
+
% \section{\cs{LWRPrintStack} diagnostic tool}
@@ -20689,6 +21232,35 @@ end -- not --version
% \end{macro}
%
+% \begin{macro}{\LWR@spanwarnformat} \marg{object}
+%
+% Warns if the given object is used inside a span.
+% \begin{macrocode}
+\newcommand*{\LWR@spanwarnformat}[1]{%
+ \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ Formatting may be lost,%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\LWR@spanwarninvalid} \marg{object}
+%
+% Warns if the given object is used inside a span.
+% \begin{macrocode}
+\newcommand*{\LWR@spanwarninvalid}[1]{%
+ \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
+ \PackageWarning{lwarp}{%
+ A #1 is being used inside a span.\MessageBreak
+ This generates invalid HTML,%
+ }%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
% \begin{environment}{LWR@nestspan} Disable \env{minipage}, \cs{parbox},
% and \HTML\ \element{div}s inside a \element{span}.
@@ -20706,6 +21278,8 @@ end -- not --version
% \changes{v0.44}{2017/11/15}{Added \env{list} and \env{trivlist}.}
% \changes{v0.70}{2019/04/02}{Improved \env{minipage}, \cs{parbox} inside a span.}
% \changes{v0.73}{2019/06/23}{Fix: \env{quote}, \env{quotation} inside a span.}
+% \changes{v0.84}{2020/04/22}{Nullified \env{minipage}, \cs{parbox} inside a span.}
+% \changes{v0.84}{2020/04/22}{Issue warnings inside a span.}
%
% \begin{macrocode}
\newcommand*{\LWR@nestspanitem}{%
@@ -20723,11 +21297,21 @@ end -- not --version
{% not in a lateximage
\LWR@traceinfo{LWR@nestspan: NOT inside a lateximage}%
\addtocounter{LWR@spandepth}{1}%
+% \end{macrocode}
+% Nullify several objects inside the span:
+% ^^A {\LWR@subhtmlelementclass{span}{inlineminipage}}%
+% ^^A {\LWR@htmltagc{/span}}%
+% \begin{macrocode}
\RenewDocumentEnvironment{minipage}{O{t} o O{t} m}%
- {\LWR@subhtmlelementclass{span}{inlineminipage}}%
- {\LWR@htmltagc{/span}}%
- \RenewDocumentEnvironment{BlockClass}{o m}{}{}%
- \renewcommand{\BlockClassSingle}[2]{##2}%
+ {\LWR@spanwarnformat{minipage or \protect\parbox}}%
+ {}%
+ \RenewDocumentEnvironment{BlockClass}{o m}%
+ {\LWR@spanwarnformat{multi-paragraph object}}%
+ {}%
+ \renewcommand{\BlockClassSingle}[2]{%
+ {\LWR@spanwarnformat{multi-paragraph object}}%
+ ##2%
+ }%
\renewcommand{\LWR@forcenewpage}{}%
\renewcommand{\LWR@liststart}{%
\let\item\LWR@nestspanitem%
@@ -21043,12 +21627,12 @@ end -- not --version
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
+
\NewDocumentEnvironment{LWR@print@BlockClass}{o m}{}{}%
+
\NewDocumentEnvironment{LWR@HTML@BlockClass}{o m}%
-{%
- \LWR@htmldivclass[#1]{#2}%
-}
-{\LWR@htmldivclassend{#2}}
+ {\LWR@htmldivclass[#1]{#2}}
+ {\LWR@htmldivclassend{#2}}
\LWR@formattedenv{BlockClass}
\end{warpHTML}
@@ -21073,7 +21657,7 @@ end -- not --version
% \begin{macrocode}
\begin{warpHTML}
\newcommand{\LWR@HTML@BlockClassSingle}[2]{%
-\LWR@htmlelementclassline{div}{#1}{#2}%
+ \LWR@htmlelementclassline{div}{#1}{#2}%
}
\LWR@formatted{BlockClassSingle}
@@ -21497,14 +22081,18 @@ end -- not --version
% \begin{macro}{\LWR@startpars}
% Begin handling \HTML\ paragraphs.
% This allows an \HTML\ paragraph to start, but one has not yet begun.
+% \changes{v0.84}{2020/04/14}{Ignore if in \env{lateximage}.}
% \begin{macrocode}
\newcommand*{\LWR@startpars}%
{%
% \LWR@traceinfo{LWR@startpars}%
% \end{macrocode}
-% Ignore if inside a span:
+% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
-\ifnumcomp{\value{LWR@spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
+}%
{}%
{%
% \end{macrocode}
@@ -21550,13 +22138,17 @@ end -- not --version
% Any currently open \HTML\ paragraph is closed, and no more will be opened.
%
% \changes{v0.36}{2017/08/15}{Extra \protect\HTML\ source space after paragraphs.}
+% \changes{v0.84}{2020/04/14}{Ignore if in \env{lateximage}.}
% \begin{macrocode}
\newcommand*{\LWR@stoppars}%
{%
% \end{macrocode}
-% Ignore if inside a span:
+% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
-\ifnumcomp{\value{LWR@spandepth}}{>}{0}%
+\ifboolexpr{
+ test {\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}} or
+ test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
+}%
{}%
{%
% \end{macrocode}
@@ -21635,14 +22227,12 @@ end -- not --version
% \begin{macrocode}
\AtBeginDocument{
-\def\@afterindentfalse{\let\if@afterindent\iffalse}
-\@afterindentfalse
+ \def\@afterindentfalse{\let\if@afterindent\iffalse}
+ \@afterindentfalse
}
\let\LWR@afterindent@syntaxhighlight\fi% syntax highlighting
% \end{macrocode}
-
-
% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -21658,8 +22248,10 @@ end -- not --version
% In the following, catcode is manually changed back and forth
% without groups, since new macros are being defined which must
% not be contained within the groups.
+% \changes{v0.84}{2020/04/24}{Added \cs{FirstPageBottom}.}
% \begin{macrocode}
\newcommand{\LWR@firstpagetop}{} % for the home page alone
+\newcommand{\LWR@firstpagebottom}{} % for the home page alone
\newcommand{\LWR@pagetop}{} % for all other pages
\newcommand{\LWR@pagebottom}{}
% \end{macrocode}
@@ -21678,6 +22270,19 @@ end -- not --version
%
% \end{macro}
%
+% \begin{macro}{\HTMLFirstPageBottom} \marg{text and logos}
+%
+% \changes{v0.84}{2020/04/24}{Added \cs{FirstPageBottom}.}
+%
+% \begin{macrocode}
+\newcommand{\HTMLFirstPageBottom}[1]{%
+ \renewcommand{\LWR@firstpagebottom}{#1}%
+}
+% \end{macrocode}
+%
+%
+% \end{macro}
+%
%
% \begin{macro}{\HTMLPageTop} \marg{text and logos}
%
@@ -22198,7 +22803,7 @@ end -- not --version
% \changes{v0.48}{2018/02/11}{Removed \cs{itshape}.}
% \begin{macrocode}
\AtBeginDocument{
-\def\thempfootnote{\@alph\c@mpfootnote}
+ \def\thempfootnote{\@alph\c@mpfootnote}
}
% \end{macrocode}
% \end{macro}
@@ -22440,6 +23045,7 @@ end -- not --version
\begin{warpHTML}
% \end{macrocode}
+
% \begin{macro}{\LWR@thisfilename}
% The currently-active filename or number.
% At first, this is the homepage.
@@ -22513,6 +23119,27 @@ end -- not --version
% \end{macro}
+% \begin{macro}{\LWR@avoiddupfilenames} \qquad
+% Instructions for how to avoid duplicate filenames.
+% This is used in a warning in \cs{LWR@filenamenoblanks},
+% and in an error in \cs{LWR@newhtmlfile}.
+% \begin{macrocode}
+\newcommand*{\LWR@avoiddupfilenames}{%
+ To avoid duplicate filenames, use the optional\MessageBreak
+ short Table of Contents entry:\MessageBreak
+ \space\space\protect\section[Unique name, no math]{Name with math}%
+ \MessageBreak
+ or use \protect\texorpdfstring, from the hyperref package:\MessageBreak
+ \space\space%
+ \protect\section{\MessageBreak
+ \space\space\space\space\protect\texorpdfstring\MessageBreak
+ \space\space\space\space\space\space%
+ {Name with math}{Unique name, no math}\MessageBreak
+ \space\space}
+}
+% \end{macrocode}
+% \end{macro}
+
% \begin{macro}{\LWR@filenamenoblanks} \marg{filename}
%
@@ -22539,6 +23166,7 @@ end -- not --version
% \begin{macrocode}
\edef\LWR@thisnewfilename{#1}%
% \end{macrocode}
+%
% Replaces common macros with hyphens.
% (\cs{\&} is done by \cs{LWR@nullfonts}.)
% \begin{macrocode}
@@ -22555,6 +23183,31 @@ end -- not --version
% \begin{macrocode}
\edef\LWR@thisnewfilename{\detokenize\expandafter{\LWR@thisnewfilename}}%
% \end{macrocode}
+%
+% Warn if there is dollar math in the section name:
+% \begin{macrocode}
+\ifbool{FileSectionNames}{%
+ \IfSubStr{\LWR@thisnewfilename}{\LWRdollar}{%
+ \PackageWarning{lwarp}
+ {%
+ This section name:\MessageBreak
+ \space\space``\detokenize\expandafter{#1}''\MessageBreak
+ at the line number listed below,\MessageBreak
+ is using $dollar-delimited math$,
+ which generates\MessageBreak
+ complicated file names. It is better to use\MessageBreak
+ \space\space%
+ \protect\section{Name with \protect\(parenthesis math\protect\)}%
+ \MessageBreak
+ The math then will be removed from the file name.\MessageBreak
+ \MessageBreak
+ \LWR@avoiddupfilenames%
+ \MessageBreak
+ This section is found before or%
+ }
+ }{}%
+}{}
+% \end{macrocode}
% \begin{macrocode}
\LWR@traceinfo{LWR@filenamenoblanks edef: !\LWR@thisnewfilename!}%
\fullexpandarg%
@@ -22631,28 +23284,31 @@ end -- not --version
% \begin{macrocode}
\LWR@simplifycustom%
% \end{macrocode}
-% Convert multiple hyphens:
-% \begin{macrocode}
-\LWR@simplifyname*{-----}
-\LWR@simplifyname*{----}
-\LWR@simplifyname*{---}
-\LWR@simplifyname*{--}
-% \end{macrocode}
+%
% If pdf\LaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash:
% \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
+% \changes{v0.84}{2020/04/21}{Fix: Dashes in filename.}
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\ifdefstring{\inputencodingname}{utf8}{%
-\LWR@simplifyname*{—}
+ \LWR@simplifyname*{—}
% emdash
-\LWR@simplifyname*{–}
+ \LWR@simplifyname*{–}
% endash
}{}%
\else% not PDFTeX
-\LWR@simplifyname*{—}
-\LWR@simplifyname*{–}
+ \LWR@simplifyname*{—}
+ \LWR@simplifyname*{–}
\fi%
% \end{macrocode}
+%
+% Convert multiple hyphens:
+% \begin{macrocode}
+\LWR@simplifyname*{-----}
+\LWR@simplifyname*{----}
+\LWR@simplifyname*{---}
+\LWR@simplifyname*{--}
+% \end{macrocode}
% If starts with a dash, remove the leading dash:
% \begin{macrocode}
\IfBeginWith{\LWR@thisnewfilename}{\detokenize{-}}{%
@@ -22899,7 +23555,7 @@ end -- not --version
\ifbool{LWR@warnedcustomizemathjax}{}{%
\StrLen{\detokenize{#1}}[\LWR@tempone]%
\ifnumgreater{\LWR@tempone}{200}{%
- \AtBeginDocument{%
+ \AtEndDocument{%
\PackageWarningNoLine{lwarp}{%
To ensure faster MathJax compilation, place each\MessageBreak
custom macro in its own \protect\CustomizeMathJax.\MessageBreak
@@ -23122,6 +23778,34 @@ end -- not --version
\begin{warpHTML}
% \end{macrocode}
+
+% \begin{macro}{\LWR@createfooter} If specified, create the first or later web page footer.
+% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
+% \changes{v0.84}{2020/04/24}{Added \cs{FirstPageBottom}.}
+% \begin{macrocode}
+\newcommand*{\LWR@createfooter}{%
+ \ifnumless{\value{LWR@htmlseqfilenumber}}{1}{%
+ \ifdefempty{\LWR@firstpagebottom}{}{%
+ \LWR@htmlelement{footer}
+
+ \LWR@firstpagebottom
+
+ \LWR@htmlelementend{footer}
+ }%
+ }{%
+ \ifdefempty{\LWR@pagebottom}{}{%
+ \LWR@htmlelement{footer}
+
+ \LWR@pagebottom
+
+ \LWR@htmlelementend{footer}
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR@newhtmlfile} \marg{section name}
% \changes{v0.18}{2016/04/23}{side\TOC\ after title, improving responsive design.}
% \changes{v0.21}{2017/02/22}{Skip title if not given.}
@@ -23151,20 +23835,7 @@ end -- not --version
%
% No footer between files if \EPUB:
% \begin{macrocode}
-\ifbool{FormatEPUB}
-{}
-{
-% \end{macrocode}
-% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
-% \begin{macrocode}
- \ifdefempty{\LWR@pagebottom}{}{%
- \LWR@htmlelement{footer}
-
- \LWR@pagebottom
-
- \LWR@htmlelementend{footer}
- }
-}
+\ifbool{FormatEPUB}{}{\LWR@createfooter}
% \end{macrocode}
%
%
@@ -23183,8 +23854,11 @@ end -- not --version
\LWR@htmltag{/html}\LWR@orignewline
\LWR@traceinfo{LWR@newhtmlfile: about to LWR@orignewpage}
\LWR@orignewpage
-
+% \end{macrocode}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
\addtocounter{LWR@htmlfilenumber}{1}%
+\addtocounter{LWR@htmlseqfilenumber}{1}%
% \end{macrocode}
%
%
@@ -23221,23 +23895,25 @@ end -- not --version
% \end{macrocode}
% If the filename is not unique, create an error.
% \begin{macrocode}
- \PackageError{lwarp}
+ \PackageError{lwarp}%
{%
- Section name\MessageBreak
+ The section name:\MessageBreak
``#1'',\MessageBreak
at the line number listed below,\MessageBreak
generates the filename\MessageBreak
``\LWR@thisfilename'',\MessageBreak
- which appears to be a duplicate.\MessageBreak
- There is a previous section with an\MessageBreak
- identical or similar name%
- }
+ which appears to be a duplicate. There is a\MessageBreak
+ previous section with an identical or similar name.\MessageBreak
+ While generating file names, Lwarp sanitizes math,\MessageBreak
+ most symbols, and a few common short words,\MessageBreak
+ and this may cause a conflict.\MessageBreak
+ Enter 'H' for possible solutions%
+ }%
{%
- Lwarp sanitizes most symbols and a few common short words
- when generating file names, and this may cause a conflict.
- }
- }
-}
+ \LWR@avoiddupfilenames%
+ }%
+ }%
+}%
% \end{macrocode}
% If using file numbers instead of names, the name is set to the next file number.
% \begin{macrocode}
@@ -23278,7 +23954,7 @@ end -- not --version
% \end{macrocode}
%
-% Track the page numbers:
+% Track the \PDF\ page numbers of the \HTML\ output:
% \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.}
% \begin{macrocode}
\setcounter{LWR@latestautopage}{\value{page}}%
@@ -23332,10 +24008,17 @@ end -- not --version
%
% Start of the \element{textbody}:
% \changes{v0.65}{2018/12/18}{Improved \CSS\ for page layout.}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
% \begin{macrocode}
\LWR@htmlelementclass{div}{bodycontainer}
\LWR@htmlelementclass{section}{textbody}
-
+% \end{macrocode}
+%
+% Not yet found a new section in this file.
+% Once one is found, a label will be placed for
+% previous/next links.
+% \begin{macrocode}
+\boolfalse{LWR@setseqfilelabel}
% \end{macrocode}
%
%
@@ -23396,18 +24079,24 @@ end -- not --version
% \prog{pdflatex} to generate characters and \prog{pdftotext} to read them.
% If extra symbols appear in the text,
% \trouble[accents in filenames]{filename>accents}
+% \trouble{accents>file names}
% \trouble{sectioning>accents}
% \gindex{filename>accent in}
% \gindex{accents>in section \& file names}
% it may be that \prog{pdflatex} is actually producing a symbol over or under a
% character, resulting in \prog{pdftotext} picking up the accent symbol separately.
%
-% \XeLaTeX{} and \LuaLaTeX{} directly support accented section and file names.
+% \XeLaTeX{} and \LuaLaTeX{} directly support accented section and file names,
% \gindex{accents>in section \& file names}
% \gindex{Unicode>file \& section names}
% \gindex{UTF-8>file \& section names}
% \gindex{Xe\LaTeX>file \& section names}
% \gindex{Lua\LaTeX>file \& section names}
+% but it may be necessary to use \LaTeX\ accents instead of
+% native Unicode accents. \LaTeX\ accents will have the accents stripped
+% when creating file names, whereas using Unicode accents will create filenames
+% which include accents, which may cause issues with some operating systems.
+%
%
%
% \codehtml
@@ -23541,6 +24230,10 @@ end -- not --version
% \begin{macro}{\LWR@createautosec} \marg{section type}
%
% Create an autosection tag.
+%
+% The use of \cs{textquotedbl} instead of |"| provides improved
+% compatibility with \pkg{xeCJK}.
+%
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
% \changes{v0.63}{2018/11/24}{Fix for \pkg{xeCJK}.}
% \begin{macrocode}
@@ -23689,6 +24382,13 @@ end -- not --version
\IfValueTF{#2}%
{\LWR@traceinfo{LWR@section: starting #4 #2}}%
{\LWR@traceinfo{LWR@section: starting #4 #3}}%
+% \end{macrocode}
+% Warn if starting a section inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR@spanwarninvalid{section}%
+% \end{macrocode}
+% \begin{macrocode}
\LWR@maybeprintpendingfootnotes{\csuse{LWR@depth#4}}%
\LWR@stoppars%
\LWR@startnewdepth{#4}%
@@ -23913,7 +24613,7 @@ end -- not --version
{}%
\LWR@traceinfo{LWR@section: finished print section number}%
}{}%
-}% end of not starred
+}% not starred
% \end{macrocode}
% Print the section name:
% \begin{macrocode}
@@ -23927,7 +24627,11 @@ end -- not --version
\LWR@htmltag{\@nameuse{LWR@tag#4end}}%
\LWR@orignewline%
% \end{macrocode}
-% Generate a \LaTeX{} label:
+%
+% Generate a \LaTeX{} label.
+%
+% Track the \PDF\ page numbers of the \HTML\ output.
+%
% \changes{v0.43}{2017/11/01}{Fix: Math in section name.}
% \changes{v0.48}{2018/02/11}{Fix: \TOC, \LOF, \LOT\ links.}
% \changes{v0.66}{2019/01/28}{Fix: \TOC, \LOF, \LOT\ links.}
@@ -23937,6 +24641,18 @@ end -- not --version
\setcounter{LWR@latestautopage}{\value{page}}%
\LWR@newautopagelabel{LWR@currentautosec}\LWR@orignewline%
% \end{macrocode}
+%
+% If this is the first section found in this file,
+% create a label for prevous/next links:
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\ifbool{LWR@setseqfilelabel}{}{%
+ \label{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}%
+ \booltrue{LWR@setseqfilelabel}%
+}%
+% \end{macrocode}
+%
+%
% Start paragraph handing unless is an inline paragraph or subparagraph:
% \begin{macrocode}
\ifthenelse{%
@@ -24190,7 +24906,7 @@ end -- not --version
\newcommand*{\LWR@currentHTMLLanguage}{en-US}
\newcommand*{\HTMLLanguage}[1]{%
-\renewcommand*{\LWR@currentHTMLLanguage}{#1}%
+ \renewcommand*{\LWR@currentHTMLLanguage}{#1}%
}
% \end{macrocode}
% \end{macro}
@@ -24203,18 +24919,19 @@ end -- not --version
% \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
% \changes{v0.62}{2018/11/02}{Refactored.}
% \changes{v0.64}{2018/12/07}{Added \pkg{utarticle} and related.}
+% \changes{v0.84}{2020/04/21}{Improved spacing for \pkg{xeCJK}.}
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\ifdefstring{\inputencodingname}{utf8}{%
- \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+ \newcommand*{\theHTMLTitleSeparator}{ —\ }% EMdash
}{%
- \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen
+ \newcommand*{\theHTMLTitleSeparator}{ -\ }% hyphen
}%
\else%
\ifpTeX
- \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen
+ \newcommand*{\theHTMLTitleSeparator}{ -\ }% hyphen
\else
- \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash
+ \newcommand*{\theHTMLTitleSeparator}{ —\ }% EMdash
\fi%
\fi%
% \end{macrocode}
@@ -24280,7 +24997,7 @@ end -- not --version
% \end{macrocode}
-% \begin{macro}{\LWR@filestart} \oarg{sectionname} \qquad
+% \begin{macro}{\LWR@filestart} \oarg{section name} \qquad
% Creates the opening \HTML\ tags.
% \changes{v0.19}{2016/05/25}{lwarp\_mathjax.txt loaded.}
% \changes{v0.20}{2016/06/27}{Adds meta description.}
@@ -24291,30 +25008,53 @@ end -- not --version
\newcommand*{\LWR@filestart}[1][]{%
\LWR@traceinfo{LWR@filestart !#1!}%
% \end{macrocode}
+%
% Locally temporarily disable direct-formatting commands:
% \begin{macrocode}
\begingroup%
\LWR@nullfonts%
% \end{macrocode}
+%
% Save the section name for use while creating the
% \HTML\ meta \attribute{title} tag:
% \begin{macrocode}
\edef\theHTMLSection{#1}%
% \end{macrocode}
+%
+% Remove extra material:
+% \changes{v0.84}{2020/04/12}{Improved \HTML\ title.}
+% \begin{macrocode}
+\StrSubstitute{\theHTMLSection}{\protect}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{-----}}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{----}}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{---}}{\detokenize{-}}[\theHTMLSection]
+\StrSubstitute{\theHTMLSection}{\detokenize{--}}{\detokenize{-}}[\theHTMLSection]
+% \end{macrocode}
+%
+% If starts with a dash, remove the leading dash:
+% \begin{macrocode}
+\IfBeginWith{\theHTMLSection}{\detokenize{-}}{%
+ \StrGobbleLeft{\theHTMLSection}{1}[\theHTMLSection]%
+}{}%
+% \end{macrocode}
+%
% Create the page's \HTML\ header:
% \begin{macrocode}
\LWR@htmltag{!DOCTYPE html}\LWR@orignewline
% \end{macrocode}
+%
% The language is user-adjustable:
% \begin{macrocode}
\LWR@htmltag{%
html lang=\LWR@orig@textquotedbl\LWR@currentHTMLLanguage\LWR@orig@textquotedbl%
}\LWR@orignewline
% \end{macrocode}
+%
% Start of the meta data:
% \begin{macrocode}
\LWR@htmltag{head}\LWR@orignewline
% \end{macrocode}
+%
% Charset is fixed at UTF-8:
% \begin{macrocode}
\LWR@htmltag{%
@@ -24355,6 +25095,7 @@ end -- not --version
}\LWR@orignewline
}%
% \end{macrocode}
+%
% Mobile-friendly viewport:
% \gindex{HTML>meta tag>viewport}
% \gindex{viewport>HTML meta tag}
@@ -24366,6 +25107,7 @@ end -- not --version
content=\LWR@orig@textquotedbl{}width=device-width, initial-scale=1.0\LWR@orig@textquotedbl\ /%
}\LWR@orignewline
% \end{macrocode}
+%
% IE patch:
% \changes{v0.63}{2018/11/30}{Fix: Break ligature for \pkg{luatexko}.}
% \begin{macrocode}
@@ -24379,6 +25121,7 @@ end -- not --version
\LWR@htmltag{/script}\LWR@orignewline
\LWR@htmltag{![endif]-\/-}\LWR@orignewline
% \end{macrocode}
+%
% The page's title, if there is one.
% A section name is also added if given.
% \changes{v0.44}{2017/11/18}{Add \cs{HTMLTitle}.}
@@ -24394,6 +25137,7 @@ end -- not --version
\LWR@htmltag{/title}\LWR@orignewline%
}%
% \end{macrocode}
+%
% The page's stylesheet:
% \begin{macrocode}
\LWR@htmltag{%
@@ -24404,6 +25148,7 @@ end -- not --version
}%
\LWR@orignewline
% \end{macrocode}
+%
% Optional \brand{MathJax} support. The \HTML\ tags must be turned off
% during the verbatim input, and the paragraph handling which was
% turned on at the end of verbatim input must be immediately turned off
@@ -24429,10 +25174,12 @@ end -- not --version
}% end of mathjax
{}%
% \end{macrocode}
+%
% End of the header:
% \begin{macrocode}
\LWR@htmltag{/head}\LWR@orignewline
% \end{macrocode}
+%
% Start of the body:
% \begin{macrocode}
\LWR@htmltag{body}\LWR@orignewline
@@ -24591,6 +25338,13 @@ end -- not --version
\LWR@htmlelementclass{section}{textbody}
% \end{macrocode}
%
+% Create a label for previous/next links, and remember it has been done:
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+% \begin{macrocode}
+\booltrue{LWR@setseqfilelabel}%
+\label{\BaseJobname-autofile-\arabic{LWR@htmlseqfilenumber}}
+% \end{macrocode}
+%
% Patch the |itemize|, |enumerate|, and |description| environments and \cs{item}.
% This works with the native \LaTeX\ environments, as well as
% those provided by \pkg{enumitem}, \pkg{enumerate}, and \pkg{paralist}.
@@ -24691,7 +25445,9 @@ end -- not --version
% Close the textbody:
% \changes{v0.65}{2018/12/18}{Improved \CSS\ for page layout.}
+% \changes{v0.84}{2020/04/24}{Added prev/next links.}
% \begin{macrocode}
+\label{\BaseJobname-autofile-last}
\LWR@htmlelementclassend{section}{textbody}
\LWR@htmlelementclassend{div}{bodycontainer}
\LWR@htmlelementclassend{div}{bodyandsidetoc}
@@ -24701,17 +25457,10 @@ end -- not --version
\LWR@printpendingfootnotes
% \end{macrocode}
%
-% Create the footer:
-%
-% \changes{v0.73}{2019/06/23}{Fix: Empty header/footer.}
+% Create the footer if not \EPUB\:
+% \changes{v0.84}{2020/04/24}{Fix: No footer for \EPUB}
% \begin{macrocode}
-\ifdefempty{\LWR@pagebottom}{}{%
- \LWR@htmlelement{footer}
-
- \LWR@pagebottom
-
- \LWR@htmlelementend{footer}
-}
+\ifbool{FormatEPUB}{}{\LWR@createfooter}
% \end{macrocode}
% No bottom navigation if are finishing the home page,
@@ -24744,7 +25493,7 @@ end -- not --version
% \begin{macro}{\enddocument}
% If labels have not changed, mark successful completion
-% of the \env{lateximages} file.
+% of the \filenm{lateximages.txt} file.
% Executed as everything is being shut down.
% \changes{v0.70}{2019/03/26}{If labels changed, require recompile before making limages.}
% \begin{macrocode}
@@ -24767,13 +25516,15 @@ end -- not --version
}
{}
{
- \PackageWarningNoLine{lwarp}
- {%
- Could not patch \protect\enddocument.\MessageBreak
- If labels have changed, be sure to recompile before\MessageBreak
- creating lateximages with\MessageBreak
- \space\space lwarpmk limages,\MessageBreak
- or the images may be corrupt%
+ \AtEndDocument{
+ \PackageWarningNoLine{lwarp}
+ {%
+ Could not patch \protect\enddocument.\MessageBreak
+ If labels have changed, be sure to recompile before\MessageBreak
+ creating lateximages with\MessageBreak
+ \space\space lwarpmk limages,\MessageBreak
+ or the images may be corrupt%
+ }
}
}
% \end{macrocode}
@@ -25010,24 +25761,27 @@ end -- not --version
%
% \subsection{Printing the thanks}
%
-% \codeall
-% \begin{macrocode}
-\begin{warpall}
-% \end{macrocode}
-% \DescribeMacro{\printthanks} Forces the \cs{thanks} to be printed.
-%
+% \begin{macro}{\printthanks} Forces the \cs{thanks} to be printed.
% This is necessary in a \env{titlingpage} environment
% when \cs{maketitle} was not used.
-% \changes{v0.73}{2019/06/25}{Fix: Paragraph tags.}
-% \begin{macrocode}
-\newcommand*{\printthanks}{\LWR@stoppars\@thanks\LWR@startpars}
-% \end{macrocode}
%
+% \changes{v0.84}{2020/03/29}{Fix: \cs{printthanks} in print mode.}
%
+% \codeprint
% \begin{macrocode}
-\end{warpall}
+\begin{warpprint}
+\newcommand*{\printthanks}{\@thanks}
+\end{warpprint}
% \end{macrocode}
+% \changes{v0.73}{2019/06/25}{Fix: Paragraph tags.}
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+\newcommand*{\printthanks}{\LWR@stoppars\@thanks\LWR@startpars}
+\end{warpHTML}
+% \end{macrocode}
+% \end{macro}
% \subsection{Printing the title, etc.\ in \HTML}
@@ -25250,12 +26004,22 @@ end -- not --version
% The original definition used \cs{\textbar} which was not being seen by \prog{pdftotext}.
%
% \changes{v0.34}{2017/08/07}{Text symbols instead of math.}
+% \changes{v0.84}{2020/04/17}{\cs{LWR@formatted}, fixed double bar.}
%
% \begin{macrocode}
-\def\@fnsymbol#1{\ifcase#1\or *\or \HTMLentity{dagger}\or \HTMLentity{Dagger}\or
- \HTMLentity{sect}\or \HTMLentity{para}\or \text{\HTMLunicode{2016}}\or
- **\or \HTMLentity{dagger}\HTMLentity{dagger} \or
- \HTMLentity{Dagger}\HTMLentity{Dagger} \else\@ctrerr\fi}
+\def\LWR@HTML@@fnsymbol#1{%
+ \ifcase#1\or *\or
+ \HTMLentity{dagger}\or
+ \HTMLentity{Dagger}\or
+ \HTMLentity{sect}\or
+ \HTMLentity{para}\or
+ \HTMLunicode{2016}\or
+ **\or
+ \HTMLentity{dagger}\HTMLentity{dagger} \or
+ \HTMLentity{Dagger}\HTMLentity{Dagger} \else
+ \@ctrerr\fi%
+}
+\LWR@formatted{@fnsymbol}
% \end{macrocode}
% \end{macro}
%
@@ -25450,10 +26214,16 @@ end -- not --version
}%
}% yes titling package
{% no titling package
- \newcommand{\published}[1]{}%
- \newcommand*{\printpublished}{}%
- \newcommand{\subtitle}{}%
- \newcommand*{\printsubtitle}%
+% \end{macrocode}
+% \changes{v0.84}{2020/03/28}{Fixed \cs{subtitle}, \cs{printsubtitle} if no \pkg{titling}.}
+% \changes{v0.84}{2020/03/28}{Added \cs{subtitle}, \cs{published} for \pkg{koma*}.}
+% \begin{macrocode}
+ \def\@published{}%
+ \DeclareDocumentCommand{\published}{m}{\gdef\@published{##1}}%
+ \DeclareDocumentCommand{\printpublished}{}{}%
+ \def\@subtitle{}%
+ \DeclareDocumentCommand{\subtitle}{m}{\gdef\@subtitle{##1}}%
+ \DeclareDocumentCommand{\printsubtitle}{}{}%
}% no titling package
}% \AddSubtitlePublished
% \end{macrocode}
@@ -25493,12 +26263,12 @@ end -- not --version
% \begin{macrocode}
\DeclareDocumentEnvironment{abstract}{O{\abstractname}}
{
-\LWR@forcenewpage
-\BlockClass{abstract}
-\BlockClassSingle{abstracttitle}{#1}
+ \LWR@forcenewpage
+ \BlockClass{abstract}
+ \BlockClassSingle{abstracttitle}{#1}
}
{
-\endBlockClass
+ \endBlockClass
}
% \end{macrocode}
% \end{environment}
@@ -25523,31 +26293,34 @@ end -- not --version
% Ex: |"A quotation." \attribution{\textsc{Author Name}\\\textsl{Book Title}}|
%
% \changes{v0.73}{2019/06/25}{Fix: Paragraph tags.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
+%
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+\newcommand{\attribution}[1]{
+ \begin{flushright}
+ \unskip
+ #1
+ \end{flushright}%
+}
+\end{warpall}
+% \end{macrocode}
+% \end{macro}
%
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
-\newcommand{\attribution}[1]{%
+\newcommand{\LWR@HTML@attribution}[1]{%
\LWR@stoppars%
\begin{BlockClass}{attribution}
#1
\end{BlockClass}
\LWR@startpars%
}
+\LWR@formatted{attribution}
\end{warpHTML}
% \end{macrocode}
-% \codeprint
-% \begin{macrocode}
-\begin{warpprint}
-\newcommand{\attribution}[1]{
- \begin{flushright}
- \unskip
- #1
- \end{flushright}%
-}
-\end{warpprint}
-% \end{macrocode}
-% \end{macro}
% \subsection{Quotes, quotations}
@@ -25558,25 +26331,31 @@ end -- not --version
% \end{macrocode}
%
% \begin{environment}{quote}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{quote}
+\newenvironment*{LWR@HTML@quote}
{
\LWR@forcenewpage
\LWR@htmlblocktag{blockquote}
}
{\LWR@htmlblocktag{/blockquote}}
+
+\LWR@formattedenv{quote}
% \end{macrocode}
% \end{environment}
%
-% \changes{v0.71}{2019/04/27}{Fix: \env{blockquotation} tag.}
% \begin{environment}{quotation}
+% \changes{v0.71}{2019/04/27}{Fix: \env{blockquotation} tag.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{quotation}
+\newenvironment*{LWR@HTML@quotation}
{
\LWR@forcenewpage
\LWR@htmlblocktag{blockquote}
}
{\LWR@htmlblocktag{/blockquote}}
+
+\LWR@formattedenv{quotation}
% \end{macrocode}
% \end{environment}
@@ -25599,8 +26378,9 @@ end -- not --version
%
% \begin{environment}{verse}
% \changes{v0.54}{2018/04/08}{Fix: Line spacing.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment{verse}
+\newenvironment{LWR@HTML@verse}
{\let\\\newline% lwarp
\list{}{\itemsep \z@
\itemindent -1.5em%
@@ -25609,6 +26389,8 @@ end -- not --version
\advance\leftmargin 1.5em}%
\item\relax}
{\endlist}
+
+\LWR@formattedenv{verse}
% \end{macrocode}
% \end{environment}
%
@@ -25786,15 +26568,16 @@ end -- not --version
%
% Patch \cs{verbatiminput} to add \HTML\ tags:
%
+% \changes{v0.84}{2020/04/16}{Added print mode.}
% \begin{macrocode}
-\let\LWRV@origverbatim@input\verbatim@input
-
-\renewcommand{\verbatim@input}[2]{%
-\ifbool{LWR@verbtags}{\LWR@forcenewpage}{}%
-\LWR@atbeginverbatim{2.5}{Verbatim}%
-\LWRV@origverbatim@input{#1}{#2}%
-\LWR@afterendverbatim{1.5}%
+\newcommand{\LWR@HTML@verbatim@input}[2]{%
+ \ifbool{LWR@verbtags}{\LWR@forcenewpage}{}%
+ \LWR@atbeginverbatim{2.5}{Verbatim}%
+ \LWR@print@verbatim@input{#1}{#2}%
+ \LWR@afterendverbatim{1.5}%
}
+
+\LWR@formatted{verbatim@input}
% \end{macrocode}
% \end{macro}
@@ -25803,16 +26586,25 @@ end -- not --version
% \begin{environment}{verbatim}
%
% \changes{v0.20}{2016/12/24}{Added.}
+% \changes{v0.84}{2020/04/16}{Added print mode.}
%
% \begin{macrocode}
\AfterEndPreamble{
\LWR@traceinfo{Patching verbatim.}
\AtBeginEnvironment{verbatim}{%
-\LWR@forcenewpage%
-\LWR@atbeginverbatim{2.5}{verbatim}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{2.5}{verbatim}%
+ }%
}
\AfterEndEnvironment{verbatim}{%
- \LWR@afterendverbatim{1}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@afterendverbatim{1}%
+ }%
}
}
% \end{macrocode}
@@ -25826,11 +26618,19 @@ end -- not --version
% \changes{v0.42}{2017/10/13}{Added.}
% \changes{v0.52}{2018/03/27}{Fix to allow inside \env{lateximage}.}
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
+% \changes{v0.84}{2020/04/17}{Restore spacing.}
% \begin{macrocode}
\newcommand*{\LWR@HTML@tabbing}{%
-\LWR@forcenewpage%
-\LWR@atbeginverbatim{3}{tabbing}%
-\LWR@print@tabbing%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{3}{tabbing}%
+ \let\enskip\LWR@origenskip%
+ \let\quad\LWR@origquad%
+ \let\qquad\LWR@origqquad%
+ \let~\LWR@origtilde%
+ \let\,\LWR@origcomma%
+ \let\thinspace\LWR@origthinspace%
+ \let\negthinspace\LWR@orignegthinspace%
+ \LWR@print@tabbing%
}
\newcommand*{\LWR@HTML@endtabbing}{%
@@ -26325,22 +27125,22 @@ end -- not --version
% \begin{macro}{\LWR@restoreoriglists} Restores the original \env{trivlist} environment.
% \begin{macrocode}
\newcommand*{\LWR@restoreoriglists}{%
-\LWR@traceinfo{LWR@restoreoriglists}%
-\LetLtxMacro\item\LWR@origitem%
-\LetLtxMacro\@item\LWR@orig@item%
-\let\@trivlist\LWR@orig@trivlist%
-\let\trivlist\LWR@origtrivlist%
-\let\endtrivlist\LWR@origendtrivlist%
-\LetLtxMacro\itemize\LWR@origitemize%
-\LetLtxMacro\enditemize\LWR@endorigitemize%
-\LetLtxMacro\enumerate\LWR@origenumerate%
-\LetLtxMacro\endenumerate\LWR@endorigenumerate%
-\LetLtxMacro\description\LWR@origdescription%
-\LetLtxMacro\enddescription\LWR@endorigdescription%
-\let\@mklab\LWR@orig@mklab%
-\let\makelabel\LWR@origmakelabel%
-\let\@donoparitem\LWR@orig@donoparitem%
-\let\@nbitem\LWR@orig@nbitem%
+ \LWR@traceinfo{LWR@restoreoriglists}%
+ \LetLtxMacro\item\LWR@origitem%
+ \LetLtxMacro\@item\LWR@orig@item%
+ \let\@trivlist\LWR@orig@trivlist%
+ \let\trivlist\LWR@origtrivlist%
+ \let\endtrivlist\LWR@origendtrivlist%
+ \LetLtxMacro\itemize\LWR@origitemize%
+ \LetLtxMacro\enditemize\LWR@endorigitemize%
+ \LetLtxMacro\enumerate\LWR@origenumerate%
+ \LetLtxMacro\endenumerate\LWR@endorigenumerate%
+ \LetLtxMacro\description\LWR@origdescription%
+ \LetLtxMacro\enddescription\LWR@endorigdescription%
+ \let\@mklab\LWR@orig@mklab%
+ \let\makelabel\LWR@origmakelabel%
+ \let\@donoparitem\LWR@orig@donoparitem%
+ \let\@nbitem\LWR@orig@nbitem%
}
% \end{macrocode}
% \end{macro}
@@ -26726,7 +27526,7 @@ end -- not --version
% \subsubsection{Longtable variables}
% \DescribeBoolean{LWR@starredlongtable}
-% Per the \pkg{caption} pacakge, step the counter if |longtable*|.
+% Per the \pkg{caption} package, step the counter if |longtable*|.
%
% \begin{macrocode}
\newbool{LWR@starredlongtable}
@@ -28385,15 +29185,6 @@ end -- not --version
-% Used to compute margins, tabular trims, column offsets:
-% \begin{macrocode}
-\newlength{\LWR@templengthone}
-\newlength{\LWR@templengthtwo}
-\newlength{\LWR@templengththree}
-\newcounter{LWR@tempcountone}
-% \end{macrocode}
-
-
% \begin{macro}{\LWR@tdstartstyles}
% Begins possibly adding a table data cell style.
% \begin{macrocode}
@@ -29147,20 +29938,11 @@ end -- not --version
%
% \begin{macrocode}
\IfValueT{#2}{ % rows?
- rowspan="#2" %
-% \end{macrocode}
-%
-% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
-% \begin{macrocode}
- \IfValueT{#1}{% vpos?
- \ifstrequal{#1}{b}%
- {style="\LWR@print@mbox{vertical-align:bottom}" }{}%
- \ifstrequal{#1}{t}%
- {style="\LWR@print@mbox{vertical-align:top}" }{}%
- }% vpos?
- }% rows?
+ rowspan="#2" %
+ }%
% \end{macrocode}
%
+% \changes{v0.84}{2020/04/16}{Fix: Multicolumn style.}
% \begin{macrocode}
class="td%
% \end{macrocode}
@@ -29213,10 +29995,30 @@ end -- not --version
% \begin{macrocode}
\LWR@tdstartstyles%
% \end{macrocode}
+%
+% Style for vertical position:
+% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \begin{macrocode}
+ \IfValueT{#1}{% vpos?
+ \ifstrequal{#1}{b}%
+ {%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{vertical-align:bottom}%
+ }{}%
+ \ifstrequal{#1}{t}%
+ {%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{vertical-align:top}%
+ }{}%
+ }% vpos?
+% \end{macrocode}
+%
+% Style for row colors:
% \changes{v0.49}{2018/02/18}{\pkg{xcolor}: Added tabular row colors.}
% \begin{macrocode}
\LWR@addtabularrowcolor%
% \end{macrocode}
+% Other styles:
% \begin{macrocode}
\LWR@addcmidrulewidth%
\LWR@addcdashline%
@@ -30073,16 +30875,7 @@ end -- not --version
% a warning is issued here instructing the user to please isolate the \element{span}
% to print-only.
% \begin{macrocode}
- \ifnumcomp{\value{LWR@spandepth}}{>}{0}{%
- \PackageWarning{lwarp}{%
- A tabular is being used inside a span such as\MessageBreak
- a minipage. Some formatting may not be correct\MessageBreak
- in the tabular.\MessageBreak
- It is recommended to use \protect\warpprintonly\space or the\MessageBreak
- warpprint environment to isolate the span to\MessageBreak
- print-only,%
- }
- }{}%
+ \LWR@spanwarnformat{tabular}%
\addtocounter{LWR@tabulardepth}{1}%
% \end{macrocode}
% Not yet started a table row:
@@ -30431,6 +31224,8 @@ end -- not --version
% \begin{description}
% \item [\cs{label}:] Adds \HTML\ tags (\cref{sec:labels}),
% and another \filenm{.aux} entry (\cref{sec:lwarplabelsetup}).
+% If \pkg{memoir} is used, its \cs{@mem@old@label} points to \pkg{lwarp}'s version,
+% and \pkg{cleveref} patches.
% \item [\cs{newlabel}:] Unchanged. When the |.aux| file is read, sets \cs{r@<label>@lwarp}.
% \item [\cs{r@<label>@lwarp}:] Set to |{{section_name}{file_name}{depth}{number}}|:
% \begin{description}
@@ -30497,8 +31292,9 @@ end -- not --version
% description, or caption, for \cs{nameref}.
%
% \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.}
+% \changes{v0.84}{2020/04/24}{Default name for previous/next links.}
% \begin{macrocode}
-\providecommand*{\@currentlabelname}{}
+\def\@currentlabelname{\linkhomename}%
% \end{macrocode}
% \end{macro}
%
@@ -30614,12 +31410,12 @@ end -- not --version
% \end{macro}
%
%
-% \begin{macro}{\LWR@lwarplabel} \marg{label}
+% \begin{macro}{\LWR@write@lwarplabel} \marg{label}
% Sanitize the name and then creates the label:
% \changes{v0.66}{2019/01/27}{No longer use \pkg{zref}.}
% \begin{macrocode}
-\newcommand*{\LWR@lwarplabel}[1]{%
- \LWR@traceinfo{LWR@lwarplabel !#1!}%
+\newcommand*{\LWR@write@lwarplabel}[1]{%
+ \LWR@traceinfo{LWR@write@lwarplabel !#1!}%
\LWR@setlatestname{\@currentlabelname}%
\@bsphack%
\protected@write\@auxout{}%
@@ -30647,14 +31443,16 @@ end -- not --version
% \label{sec:labels}
-% \begin{macro}{\LWR@sublabel} \marg{label} \quad
+% \begin{macro}{\LWR@label@createtag} \marg{label} \quad
% Creates an \HTML\ id tag.
%
+% Used by \cs{LWR@new@label} and \cs{hyperdef}.
+%
% \cs{detokenize} is used to allow underscores in the labels.
% \changes{v0.45}{2017/12/29}{Fix: Labels with underscores.}
% \begin{macrocode}
-\newcommand*{\LWR@sublabel}[1]{%
- \LWR@traceinfo{LWR@sublabel !#1!}%
+\newcommand*{\LWR@label@createtag}[1]{%
+ \LWR@traceinfo{LWR@label@createtag !#1!}%
% \end{macrocode}
% Create an \HTML\ id tag unless are inside a lateximage,
% since it would appear in the image:
@@ -30692,30 +31490,30 @@ end -- not --version
% \end{macro}
%
%
-% \begin{macro}{\LWR@new@label} \parg{bookmark} \marg{label} \oarg{type}
+% \begin{macro}{\LWR@new@label} \marg{label}
%
% \cs{label} during \HTML\ output when not in \SVG\ math mode,
% removing extra spaces around the label, as done by a regular \LaTeX\ \cs{label}.
%
% The is also used during a \env{lateximage}, including \SVG\ math, since
-% the special label handling is required, but \cs{LWR@sublabel} does not
+% the special label handling is required, but \cs{LWR@label@createtag} does not
% generate \HTML\ tags inside a \env{lateximage}.
%
-% \pkg{clevereref} later encases this to add its own cross-referencing.
+% If \pkg{memoir} is used, it's \cs{@mem@old@label} is pointed here.
%
-% The optional \meta{bookmark} is per the \pkg{memoir} class, and is ignored.
-%
-% The optional \meta{type} is per the \pkg{ntheorem} package, and is ignored.
+% \pkg{clevereref} later encases this to add its own cross-referencing,
+% and also patches \pkg{memoir}.
%
+% \changes{v0.84}{2020/04/05}{Removed optional args.}
% \begin{macrocode}
-\NewDocumentCommand{\LWR@new@label}{d() m o}{%
+\NewDocumentCommand{\LWR@new@label}{m}{%
\LWR@traceinfo{LWR@new@label: starting}%
- \LWR@traceinfo{LWR@new@label: !#2!}%
+ \LWR@traceinfo{LWR@new@label: !#1!}%
% \@bsphack%
% \end{macrocode}
% Create a traditional \LaTeX\ label, as modified by \pkg{cleveref}:
% \begin{macrocode}
- \LWR@orig@label{#2}%
+ \LWR@orig@label{#1}%
% \end{macrocode}
% Create a special label which holds the section number,
% |LWR@htmlfilenumber|, |LWR@lateximagedepth|, and |LWR@lateximagenumber|:
@@ -30730,8 +31528,8 @@ end -- not --version
\LWR@traceinfo{%
LWR@new@label: LWR@htmlfilenumber is \arabic{LWR@htmlfilenumber}%
}%
- \LWR@lwarplabel{#2}%
- \LWR@sublabel{#2}%
+ \LWR@write@lwarplabel{#1}%
+ \LWR@label@createtag{#1}%
% \@esphack%
\LWR@traceinfo{LWR@new@label: done}%
}
@@ -30957,13 +31755,10 @@ end -- not --version
% Emulates \pkg{hyperref}:
% \begin{macro}{\@currentHref} Added to support \pkg{backref}.
% \changes{v0.45}{2018/01/14}{Added.}
+% \changes{v0.84}{2020/04/07}{\pkg{backref}: Fixed from \pkg{lwarp} v0.72 changes.}
% \begin{macrocode}
\AtBeginDocument{
-
-\def\@currentHref{%
- autopage-\theLWR@currentautosec%
-}
-
+ \def\@currentHref{\BaseJobname-autopage-\theLWR@currentautosec}
}
% \end{macrocode}
% \end{macro}
@@ -31225,11 +32020,10 @@ end -- not --version
% \hrule
% \end{table}
%
-% \cs{@makecaption} is redefined to print the float number and caption text,
-% separated by \cs{CaptionSeparator}, which works with the \pkg{babel} package to
-% adjust the caption separator according to the language. French, for example,
-% uses an en-dash instead of a colon: ``Figure 123 -- Caption text''.
-
+% ^^A \cs{@makecaption} is redefined to print the float number and caption text,
+% ^^A separated by \cs{CaptionSeparator}, which works with the \pkg{babel} package to
+% ^^A adjust the caption separator according to the language. French, for example,
+% ^^A uses an en-dash instead of a colon: ``Figure 123 -- Caption text''.
% \subsection{Float environment}
@@ -31244,6 +32038,13 @@ end -- not --version
%
% \begin{macrocode}
\NewDocumentCommand{\LWR@floatbegin}{m o}{%
+% \end{macrocode}
+% Warn if starting a float inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR@spanwarninvalid{float}%
+% \end{macrocode}
+% \begin{macrocode}
\ifbool{FormatWP}{\newline}{}%
\LWR@stoppars%
% \end{macrocode}
@@ -31281,7 +32082,6 @@ end -- not --version
% Update the caption type:
% \begin{macrocode}
\renewcommand*{\@captype}{#1}%
- \caption@settype{#1}%
% \end{macrocode}
% Mark the float for a word processor conversion:
% \begin{macrocode}
@@ -31292,11 +32092,9 @@ end -- not --version
}{}%
% \end{macrocode}
-% Look for \cs{centering}, etc:
-% \changes{v0.54}{2018/04/19}{Honor \cs{centering}, etc. in floats.}
-% \changes{v0.55}{2018/04/24}{Fix: Float optional args.}
+% After each \cs{LWR@floatbegin}, look for \cs{centering}, etc next,
+% using \cs{LWR@floatalignment}.
% \begin{macrocode}
- \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
}
% \end{macrocode}
% \end{macro}
@@ -31319,11 +32117,25 @@ end -- not --version
%
%
%
-% \begin{macro}{\@float}
-% \begin{macro}{\@dlbfloat} Support packages which create floats directly.
+% \begin{macro}{\@xfloat}
+% \begin{macro}{\@xdlbfloat} Support packages which create floats directly.
+%
+% Look for \cs{centering}, etc using \cs{LWR@floatalignment}.
+%
+% \changes{v0.54}{2018/04/19}{Honor \cs{centering}, etc. in floats.}
+% \changes{v0.55}{2018/04/24}{Fix: Float optional args.}
+% \changes{v0.84}{2020/04/19}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\@float\LWR@floatbegin
-\let\@dblfloat\LWR@floatbegin
+\AtBeginDocument{
+ \def\@xfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }
+ \def\@xdblfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -31365,9 +32177,12 @@ end -- not --version
%
% \begin{macro}{\end@float}
% \begin{macro}{\end@dlbfloat} Support packages which create floats directly.
+% \changes{v0.84}{2020/04/19}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\end@float\LWR@floatend
-\let\end@dblfloat\LWR@floatend
+\AtBeginDocument{
+ \let\end@float\LWR@floatend
+ \let\end@dblfloat\LWR@floatend
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -31402,11 +32217,14 @@ end -- not --version
% \begin{macro}{\LWR@forcenewautoidanchor}
% Adds a new \element{autoid} anchor.
% \changes{v0.79}{2019/12/09}{Factored.}
+% \changes{v0.84}{2020/04/16}{\element{par} handling.}
% \begin{macrocode}
\newcommand*{\LWR@forcenewautoidanchor}{%
\addtocounter{LWR@thisautoid}{1}%
+ \LWR@stoppars%
\LWR@htmltag{a id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}"}%
\LWR@htmltag{/a}%
+ \LWR@startpars%
}
% \end{macrocode}
% \end{macro}
@@ -31479,34 +32297,66 @@ end -- not --version
% \subsection{Caption inside a float environment}
-% \begin{macro}{\CaptionSeparator} How to separate the float number and the caption text.
+% \begin{macro}{\CaptionSeparator} How to separate the float number and the caption text,
+% if not defined by the user.
+% In most cases, \pkg{caption}'s settings are used instead.
% \changes{v0.13}{2016/03/23}{Fix for newer babel package.}
% \begin{macrocode}
\AtBeginDocument{\providecommand*{\CaptionSeparator}{:~}}
% \end{macrocode}
% \end{macro}
+
+% \begin{macro}{\@caption} \marg{posn} \oarg{name} \marg{long name}
% \begin{macro}{\@makecaption} \marg{name and num} \marg{text}
%
% Prints the float type and number, the caption separator, and the caption text.
+%
+% \cs{@caption} is provided here in case \pkg{caption} is not loaded, and
+% is based on the \pkg{nameref} package.
+%
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
-\AtBeginDocument{\renewcommand{\@makecaption}[2]{%
- \LWR@traceinfo{@makecaption}%
- \LWR@isolate{#1}\CaptionSeparator\LWR@isolate{#2}%
- \LWR@traceinfo{@makecaption: done}%
-}%
+\AtBeginDocument{
+ \@ifpackageloaded{caption}{}{
+ \let\LWR@orig@caption\@caption%
+ \long\def\@caption#1[#2]{%
+% \end{macrocode}
+% Warn if using a caption inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR@spanwarnformat{caption}%
+% \end{macrocode}
+% \begin{macrocode}
+ \LWR@setlatestname{#2}%
+ \LWR@orig@caption{#1}[{#2}]% also takes third argument
+ }%
+
+ \renewcommand{\@makecaption}[2]{%
+ \LWR@traceinfo{@makecaption}%
+ \caption@begin{\@captype}%
+ \LWR@isolate{#1}%
+ \edef\LWR@tempone{#1}%
+ \ifdefvoid{\LWR@tempone}{}{\CaptionSeparator}%
+ \LWR@isolate{#2}%
+ \caption@end%
+ \LWR@traceinfo{@makecaption: done}%
+ }%
+ }
}
% \end{macrocode}
% \end{macro}
+% \end{macro}
% \subsection{Caption and \LOF\ linking and tracking}
% When a new \HTML\ file is marked in the \LaTeX\ \PDF\ file,
+% or at the start of a new section,
% the \LaTeX\ page number at that point is stored in |LWR@latestautopage|,
% (and the associated filename is remembered by the special \LaTeX\ labels).
% This page number is used to generate an |autopage| \HTML\ \element{id}
-% in the \HTML\ output at the start of the new \HTML\ file.
+% in the \HTML\ output at the start of the new \HTML\ file or section.
% Meanwhile, there is a float counter used to generate an \HTML\ |autoid|
% \element{id} at the start of the float itself in the \HTML\ file.
% The |autopage| and |autoid| values to use for each float are written to the
@@ -31541,8 +32391,10 @@ end -- not --version
% \end{macrocode}
% \end{macro}
+
% \DescribeCounter{LWR@latestautopage}
-% Updated each time a new \HTML\ file is begun.
+% The \HTML\ output's \PDF\ page number at the start of a new \HTML\ file or section.
+%
% \cs{LWRsetnextfloat} is written with this and the |autoid|
% by the modified \cs{addcontentsline} just before each float's entry.
% \begin{macrocode}
@@ -31579,7 +32431,7 @@ end -- not --version
%
% Low-level code to create \HTML\ tags for captions.
%
-% The print versions are from the \pkg{caption} package.
+% The print versions are from the \pkg{caption} package, if loaded.
%
% \changes{v0.47}{2018/01/28}{Fix: Argument passed to \cs{LWR@origcaption@begin}.}
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
@@ -31632,10 +32484,17 @@ end -- not --version
% These are assigned \cs{AtBeginDocument} so that other packages
% which modify captions will have already been loaded before saving the
% print-mode version.
+%
+% Print versions are provided here in case \pkg{caption} is not loaded.
+%
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
\AtBeginDocument{
-\LWR@formatted{caption@begin}
-\LWR@formatted{caption@end}
+ \providecommand{\caption@begin}[1]{}
+ \LWR@formatted{caption@begin}
+
+ \providecommand{\caption@end}{}
+ \LWR@formatted{caption@end}
}
% \end{macrocode}
% \end{macro}
@@ -31646,28 +32505,37 @@ end -- not --version
% Tracks the float number for this caption used outside a float.
% Patched to create an \HTML\ anchor.
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
-\let\LWR@origcaptionlistentry\captionlistentry
+\AtBeginDocument{%
+\@ifpackageloaded{caption}{
+ \let\LWR@origcaptionlistentry\captionlistentry
-\renewcommand*{\captionlistentry}{%
- \LWR@ensuredoingapar%
- \LWR@origcaptionlistentry%
-}
+ \renewcommand*{\captionlistentry}{%
+ \LWR@ensuredoingapar%
+ \LWR@origcaptionlistentry%
+ }
% \end{macrocode}
%
% \changes{v0.79}{2019/12/09}{Fix: Duplicate \attribute{auto-id}.}
% \begin{macrocode}
-\def\LWR@LTcaptionlistentry{%
- \LWR@ensuredoingapar%
- \LWR@forcenewautoidanchor%
- \bgroup
- \@ifstar{\egroup\LWR@LT@captionlistentry}% gobble *
- {\egroup\LWR@LT@captionlistentry}%
-}%
+ \def\LWR@LTcaptionlistentry{%
+ \LWR@ensuredoingapar%
+ \LWR@forcenewautoidanchor%
+ \bgroup%
+ \@ifstar{\egroup\LWR@LT@captionlistentry}% gobble *
+ {\egroup\LWR@LT@captionlistentry}%
+ }%
-\def\LWR@LT@captionlistentry#1{%
- \caption@listentry\@firstoftwo[\LTcaptype]{#1}%
-}%
+ \def\LWR@LT@captionlistentry#1{%
+ \caption@listentry\@firstoftwo[\LTcaptype]{#1}%
+ }%
+}% caption loaded
+{% caption not loaded
+ \newcommand{\captionlistentry}[2][]{}%
+ \newcommand{\LWR@LT@captionlistentry}[2][]{}%
+}
+}% AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -31715,16 +32583,17 @@ end -- not --version
%
% \begin{macro}{\captionof}
% Patched to handle paragraph tags.
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
% \begin{macrocode}
-\AtBeginDocument{
-
-\let\LWR@origcaptionof\captionof
+\RequirePackage{capt-of}
-\renewcommand*{\captionof}{%
- \LWR@stoppars%
- \LWR@origcaptionof%
-}
+\AtBeginDocument{
+ \let\LWR@origcaptionof\captionof
+ \renewcommand*{\captionof}{%
+ \LWR@stoppars%
+ \LWR@origcaptionof%
+ }
}% AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -32010,7 +32879,7 @@ end -- not --version
\newcounter{SideTOCDepth}
\setcounter{SideTOCDepth}{1}
-\AtBeginDocument{%
+\AtEndDocument{%
\ifnumcomp{\value{SideTOCDepth}}{<}{\value{FileDepth}}{
\PackageWarningNoLine{lwarp}
{%
@@ -32123,7 +32992,8 @@ end -- not --version
% \end{macrocode}
% Respond to |tocdepth|:
% \begin{macrocode}
- \ifthenelse{\cnttest{#1}{<=}{\value{tocdepth}}}%
+ \ifnumcomp{#1}{>}{\value{tocdepth}}%
+ {}%
{%
\LWR@startpars%
% \end{macrocode}
@@ -32148,7 +33018,6 @@ end -- not --version
% \begin{macrocode}
\LWR@stoppars%
}%
- {}%
\LWR@traceinfo{hypertoc done}%
}
% \end{macrocode}
@@ -32186,7 +33055,6 @@ end -- not --version
%
% \begin{macrocode}
\newcommand{\hypertocfloat}[5]{%
- \LWR@startpars%
% \end{macrocode}
% If some float-creation package has not yet defined
% the float type's |lofdepth| counter, etc, define it here:
@@ -32718,10 +33586,6 @@ end -- not --version
\LetLtxMacro\normalfont\LWR@orignormalfont%
\let\sp\LWR@origsp%
\let\sb\LWR@origsb%
- \LetLtxMacro\textsuperscript\LWR@origtextsuperscript%
- \LetLtxMacro\@textsuperscript\LWR@orig@textsuperscript%
- \LetLtxMacro\textsubscript\LWR@origtextsubscript%
- \LetLtxMacro\@textsubscript\LWR@orig@textsubscript%
\LetLtxMacro\underline\LWR@origunderline%
\let~\LWR@origtilde%
\let\enskip\LWR@origenskip%
@@ -32768,11 +33632,229 @@ end -- not --version
% \end{macrocode}
%
%
+% \section{Nullifying filename formatting}
+%
+% The following are used to nullify certain macros and
+% environments while converting section names to file names.
+%
+%
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+%
+%
+% Also commonly used are \cs{@empty}, \cs{@gobble}, and \cs{@firstofone}.
+%
+% \begin{macrocode}
+\newcommand*{\LWR@dash}{-}
+% \end{macrocode}
%
-% \section{Math}
-% \label{sec:math}
%
+% \begin{macro}{\LWR@nullfonts} Removes formatting during filename operations,
+% file references, and \HTML\ comments.
%
+% \textred{Use only inside a group.}\watchout
+%
+% The following are \emph{not} made robust,
+% since they must be expanded to their nullified versions.
+%
+% \changes{v0.34}{2017/08/05}{Improved font control.}
+% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \brand{MathJax}.}
+% \changes{v0.40}{2017/09/21}{Fix: Long arguments for expandable command.}
+% \changes{v0.43}{2017/10/31}{Fix: Nullify dollar inside filesnames.}
+% \changes{v0.48}{2018/02/04}{Fix: \cs{newline} in title.}
+% \changes{v0.65}{2018/12/09}{Added \cs{textsi}.}
+% \changes{v0.84}{2020/04/11}{Factored out redefinitions.}
+% \changes{v0.84}{2020/04/12}{Fix: Accents.}
+% \begin{macrocode}
+\catcode`\$=\active% redefining $ below
+\catcode`\_=12% redefining \_ below
+\newcommand*{\LWR@nullfonts}{%
+% \end{macrocode}
+% Various built-in symbols.
+% \changes{v0.67}{2019/02/13}{Add'l symbols.}
+% \changes{v0.84}{2020/04/12}{Add'l symbols.}
+% \begin{macrocode}
+ \renewcommand*{\$}{-}%
+ \renewcommand*{\%}{-}%
+ \renewcommand*{\_}{-}%
+ \renewcommand*{\}}{-}%
+ \renewcommand*{\{}{-}%
+ \renewcommand*{\&}{-}% used to be 'and'
+ \renewcommand*{\#}{-}%
+ \renewcommand*{\,}{-}%
+ \renewcommand*{~}{-}%
+%
+% accents:
+ \renewcommand*{\`}[1]{##1}%
+ \renewcommand*{\'}[1]{##1}%
+ \renewcommand*{\^}[1]{##1}%
+ \renewcommand*{\~}[1]{##1}%
+ \renewcommand*{\=}[1]{##1}%
+ \renewcommand*{\u}[1]{##1}%
+ \renewcommand*{\.}[1]{##1}%
+ \renewcommand*{\"}[1]{##1}%
+ \renewcommand*{\H}[1]{##1}%
+ \renewcommand*{\v}[1]{##1}%
+ \renewcommand*{\d}[1]{##1}%
+ \renewcommand*{\c}[1]{##1}%
+ \renewcommand*{\b}[1]{##1}%
+ \renewcommand*{\t}[1]{##1}%
+%
+ \let\newline\LWR@dash%
+ \let\textasciicircum\LWR@dash%
+ \let\textasciitilde\LWR@dash%
+ \let\textasteriskcentered\LWR@dash%
+ \let\textbackslash\LWR@dash%
+ \let\textbar\LWR@dash%
+ \let\textbardbl\LWR@dash%
+ \let\textbigcircle\LWR@dash%
+ \let\textbraceleft\LWR@dash%
+ \let\textbraceright\LWR@dash%
+ \let\textbullet\LWR@dash%
+ \let\textcopyright\LWR@dash%
+ \let\textdagger\LWR@dash%
+ \let\textdaggerdbl\LWR@dash%
+ \let\textdollar\LWR@dash%
+ \let\textellipsis\LWR@dash%
+ \let\textemdash\LWR@dash%
+ \let\textendash\LWR@dash%
+ \let\textexclamdown\LWR@dash%
+ \let\textgreater\LWR@dash%
+ \let\textless\LWR@dash%
+ \let\textordfeminine\LWR@dash%
+ \let\textordmasculine\LWR@dash%
+ \let\textparagraph\LWR@dash%
+ \let\textperiodcentered\LWR@dash%
+ \let\textpertenthousand\LWR@dash%
+ \let\textperthousand\LWR@dash%
+ \let\textquestiondown\LWR@dash%
+ \let\textquotedblleft\LWR@dash%
+ \let\textquotedblright\LWR@dash%
+ \let\textquoteleft\LWR@dash%
+ \let\textquoteright\LWR@dash%
+ \let\textregistered\LWR@dash%
+ \let\textsection\LWR@dash%
+ \let\textsterling\LWR@dash%
+ \let\texttrademark\LWR@dash%
+ \let\textunderscore\LWR@dash%
+ \let\textvisiblespace\LWR@dash%
+ \let\copyright\LWR@dash%
+ \let\dag\LWR@dash%
+ \let\ddag\LWR@dash%
+ \let\dots\LWR@dash%
+ \let\P\LWR@dash%
+ \let\pounds\LWR@dash%
+ \let\S\LWR@dash%
+%
+ \renewcommand*{\aa}{a}%
+ \renewcommand*{\AA}{A}%
+ \renewcommand*{\AE}{AE}%
+ \renewcommand*{\ae}{ae}%
+ \renewcommand*{\dh}{d}%
+ \renewcommand*{\DH}{D}%
+ \renewcommand*{\DJ}{D}%
+ \renewcommand*{\dj}{d}%
+ \renewcommand*{\IJ}{IJ}%
+ \renewcommand*{\ij}{ij}%
+ \renewcommand*{\L}{L}%
+ \renewcommand*{\l}{l}%
+ \renewcommand*{\NG}{NG}%
+ \renewcommand*{\ng}{ng}%
+ \renewcommand*{\O}{O}%
+ \renewcommand*{\o}{o}%
+ \renewcommand*{\oe}{oe}%
+ \renewcommand*{\OE}{OE}%
+ \renewcommand*{\ss}{ss}%
+ \renewcommand*{\SS}{SS}%
+ \renewcommand*{\th}{th}%
+ \renewcommand*{\TH}{TH}%
+%
+ \let\guillemotleft\@empty%
+ \let\guilsinglleft\@empty%
+ \let\quotedblbase\@empty%
+ \let\textquotedbl\@empty%
+ \let\guillemotright\@empty%
+ \let\guilsinglright\@empty%
+ \let\quotesinglbase\@empty%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand*{\HTMLunicode}[1]{}%
+ \renewcommand*{\HTMLentity}[1]{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand{\textsuperscript}[1]{##1}%
+ \renewcommand{\textsubscript}[1]{##1}%
+% \end{macrocode}
+% \changes{v0.50}{2018/02/20}{Fix: \cs{underline} in sectioning file name.}
+% \begin{macrocode}
+ \renewcommand{\underline}[1]{##1}%
+% \end{macrocode}
+% \changes{v0.73}{2019/06/24}{Fix: \cs{hspace} in sectioning file name.}
+% \begin{macrocode}
+ \RenewDocumentCommand{\hspace}{s m}{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \RenewDocumentCommand{\LWR@htmlspanclass}{o m +m}{##3}%
+ \DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
+% \end{macrocode}
+% Nullify math macros.
+% \changes{v0.55}{2018/04/24}{Removed extraneous space which appeared in file links.}
+% \begin{macrocode}
+ \def\(##1\){}%
+ \def\[##1\]{}%
+ \RenewDocumentCommand{\LWR@subsingledollar}{s m m m}{}%
+% \end{macrocode}
+% Nullify logos:
+% \changes{v0.66}{2019/02/01}{Logos.}
+% \begin{macrocode}
+ \renewcommand*{\TeX}{TeX}%
+ \renewcommand*{\LaTeX}{LaTeX}%
+ \renewcommand*{\LaTeXe}{LaTeX2e}%
+ \renewcommand*{\LuaTeX}{LuaTeX}%
+ \renewcommand*{\LuaLaTeX}{LuaLaTeX}%
+ \renewcommand*{\XeTeX}{XeTeX}%
+ \renewcommand*{\XeLaTeX}{XeLaTeX}%
+ \renewcommand*{\ConTeXt}{ConTeXt}%
+ \renewcommand*{\BibTeX}{BibTeX}%
+ \renewcommand*{\MakeIndex}{MakeIndex}%
+ \renewcommand*{\AmS}{AmS}%
+ \renewcommand*{\MiKTeX}{MiKTeX}%
+ \renewcommand*{\LyX}{LyX}%
+% \end{macrocode}
+% Use the simpler form with \cs{texorpdfstring}:
+% \changes{v0.52}{2018/03/31}{Fix: \cs{texorpdfstring} in section names.}
+% \changes{v0.84}{2020/04/12}{Revised \cs{texorpdfstring}.}
+% \begin{macrocode}
+ \def\texorpdfstring{\expandafter\@secondoftwo}%
+}
+\catcode`\$=3%
+\catcode`\_=8%
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\FilenameNullify} \marg{redefinitions}
+%
+% Adds more nullifying definitions for filename generation.
+%
+% \changes{v0.67}{2019/02/13}{Added.}
+% \begin{macrocode}
+\newcommand*{\FilenameNullify}[1]{%
+ \appto{\LWR@nullfonts}{#1}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\end{warpHTML}
+% \end{macrocode}
+%
+%
+%
+% \section{Math}
+% \label{sec:math}
%
% \subsection{Limitations}
%
@@ -33605,8 +34687,8 @@ end -- not --version
% Redefine to the above dollar macros.
% \begin{macrocode}
\AtBeginDocument{
-\protected\gdef\(#1\){$#1$}
-\protected\gdef\[#1\]{$$#1$$}
+ \protected\gdef\(#1\){$#1$}
+ \protected\gdef\[#1\]{$$#1$$}
}
\endgroup
@@ -33906,10 +34988,10 @@ end -- not --version
% after redefined by \pkg{amsmath}, if loaded.
% \begin{macrocode}
\AtBeginDocument{
-\let\LWR@origequation\equation
-\let\LWR@origendequation\endequation
-\csletcs{LWR@origequation*}{equation*}
-\csletcs{LWR@origendequation*}{endequation*}
+ \let\LWR@origequation\equation
+ \let\LWR@origendequation\endequation
+ \csletcs{LWR@origequation*}{equation*}
+ \csletcs{LWR@origendequation*}{endequation*}
}
% \end{macrocode}
%
@@ -33956,7 +35038,7 @@ end -- not --version
% SVG output:
% Create the |lateximage| along with an \HTML\ \element{alt} tag
% having an equation number, the \LaTeX{} equation environment
-% commmands, and the contents of the environment's \cs{BODY}.
+% commands, and the contents of the environment's \cs{BODY}.
% \begin{macrocode}
{% not mathjax
% \end{macrocode}
@@ -34085,10 +35167,10 @@ end -- not --version
% Remove existing \env{equation} environment:
% \begin{macrocode}
\AtBeginDocument{
-\let\equation\relax
-\let\endequation\relax
-\csletcs{equation*}{relax}
-\csletcs{endequation*}{relax}
+ \let\equation\relax
+ \let\endequation\relax
+ \csletcs{equation*}{relax}
+ \csletcs{endequation*}{relax}
}
% \end{macrocode}
@@ -34100,14 +35182,12 @@ end -- not --version
% macro called \cs{BODY}.
% \begin{macrocode}
\AtBeginDocument{
+ \NewEnviron{equation}%
+ {\LWR@doequation{\BODY}{equation}}%
+ [\LWR@doendequation{equation}]
-\NewEnviron{equation}%
- {\LWR@doequation{\BODY}{equation}}%
- [\LWR@doendequation{equation}]
-
-\LetLtxMacro\LWR@equationnormal\equation
-\LetLtxMacro\endLWR@equationnormal\endequation
-
+ \LetLtxMacro\LWR@equationnormal\equation
+ \LetLtxMacro\endLWR@equationnormal\endequation
}% AtBeginDocument
% \end{macrocode}
% \end{environment}
@@ -34116,14 +35196,12 @@ end -- not --version
% \begin{environment}{equation*}
% \begin{macrocode}
\AtBeginDocument{
+ \NewEnviron{equation*}%
+ {\LWR@doequation{\BODY}{equation*}}%
+ [\LWR@doendequation{equation*}]
-\NewEnviron{equation*}%
- {\LWR@doequation{\BODY}{equation*}}%
- [\LWR@doendequation{equation*}]
-
-\csletcs{LWR@equationnormalstar}{equation*}
-\csletcs{LWR@endequationnormalstar}{endequation*}
-
+ \csletcs{LWR@equationnormalstar}{equation*}
+ \csletcs{LWR@endequationnormalstar}{endequation*}
}% AtBeginDocument
% \end{macrocode}
% \end{environment}
@@ -34134,10 +35212,10 @@ end -- not --version
% some \tikz\ expressions.
% \begin{macrocode}
\AtBeginDocument{
-\LetLtxMacro\LWR@equationless\equation
-\LetLtxMacro\endLWR@equationless\endequation
-\csletcs{LWR@equationlessstar}{equation*}
-\csletcs{LWR@endequationlessstar}{endequation*}
+ \LetLtxMacro\LWR@equationless\equation
+ \LetLtxMacro\endLWR@equationless\endequation
+ \csletcs{LWR@equationlessstar}{equation*}
+ \csletcs{LWR@endequationlessstar}{endequation*}
}
% \end{macrocode}
@@ -35128,7 +36206,7 @@ end -- not --version
% \end{macrocode}
% \begin{environment}{lateximage} * \oarg{\element{alt} tag} *
-% \oarg{add'l hashing} \oarg{\CSS\ style}
+% \oarg{add'l hashing} \oarg{\CSS\ style}
%
% \env{varwidth} is used to create a box of the natural width of its contents.
%
@@ -35159,8 +36237,9 @@ end -- not --version
% Replace \env{center} functionality with \CSS\ tags:
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} use explicit \attribute{text-align}.}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{center}
+\newenvironment*{LWR@HTML@center}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -35168,14 +36247,17 @@ end -- not --version
{\BlockClass{center}}
}
{\endBlockClass}
+
+\LWR@formattedenv{center}
% \end{macrocode}
% \end{environment}
% \begin{environment}{flushright}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{flushright}
+\newenvironment*{LWR@HTML@flushright}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -35183,13 +36265,16 @@ end -- not --version
{\BlockClass{flushright}}
}
{\endBlockClass}
+
+\LWR@formattedenv{flushright}
% \end{macrocode}
% \end{environment}
% \begin{environment}{flushleft}
% \changes{v0.47}{2018/01/26}{Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/14}{Added print mode.}
% \begin{macrocode}
-\renewenvironment*{flushleft}
+\newenvironment*{LWR@HTML@flushleft}
{
\LWR@forcenewpage
\ifbool{FormatWP}
@@ -35197,6 +36282,8 @@ end -- not --version
{\BlockClass{flushleft}}
}
{\endBlockClass}
+
+\LWR@formattedenv{flushleft}
% \end{macrocode}
% \end{environment}
@@ -35796,7 +36883,8 @@ end -- not --version
\renewcommand*{\@@setcref}[2]{#1{\ref{#2}}{}{}}
}{
\ifdefequal{\@@@setcref}{\LWR@orig@@@setcref}{% as of v0.21
- \renewcommand*{\@@@setcref}[2]{#1{\ref{#2}}{}{}}
+ \renewcommand*{\@@@setcref}[2]{%
+ #1{\ref{#2}}{}{}}
}{
\PackageWarning{lwarp-cleveref}{
Unknown version of cleveref.
@@ -35831,7 +36919,6 @@ end -- not --version
}
}
}
-
% \end{macrocode}
% \end{macro}
@@ -35929,11 +37016,11 @@ end -- not --version
% print or \HTML\ output, and thus do not use the \cs{LWR@formatted} system.
%
% \begin{macrocode}
-\LetLtxMacro\LWR@orig@label\label
-\RenewDocumentCommand{\label}{}{\LWR@new@label}
+\LetLtxMacro\LWR@orig@label\label% includes memoir, before cleveref
+\LetLtxMacro\label\LWR@new@label
\LetLtxMacro\LWR@orig@pageref\pageref
-\RenewDocumentCommand{\pageref}{}{\LWR@new@pageref}
+\LetLtxMacro\pageref\LWR@new@pageref
\end{warpHTML}
% \end{macrocode}
@@ -36721,6 +37808,7 @@ color:\LWR@origpound\LWR@tempcolor%
+
% \section{Direct formatting}
% \label{sec:directformatting}
%
@@ -36753,8 +37841,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{emph}
-
-\newcommand{\LWR@null@emph}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36769,8 +37855,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textmd}
-
-\newcommand{\LWR@null@textmd}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36785,8 +37869,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textbf}
-
-\newcommand{\LWR@null@textbf}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36802,8 +37884,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{texteb}
-
-\newcommand{\LWR@null@texteb}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36819,8 +37899,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textlg}
-
-\newcommand{\LWR@null@textlg}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36835,8 +37913,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textrm}
-
-\newcommand{\LWR@null@textrm}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36851,8 +37927,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsf}
-
-\newcommand{\LWR@null@textsf}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36866,8 +37940,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{texttt}
-
-\newcommand{\LWR@null@texttt}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36883,8 +37955,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textup}
-
-\newcommand{\LWR@null@textup}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36898,8 +37968,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textit}
-
-\newcommand{\LWR@null@textit}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36914,8 +37982,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsc}
-
-\newcommand{\LWR@null@textsc}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36931,8 +37997,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textulc}
-
-\newcommand{\LWR@null@textulc}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36957,8 +38021,6 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsi}
-
-\newcommand{\LWR@null@textsi}[1]{#1}
% \end{macrocode}
% \end{macro}
@@ -36972,8 +38034,15 @@ color:\LWR@origpound\LWR@tempcolor%
}
\LWR@formatted{textsl}
+% \end{macrocode}
+% \end{macro}
+
-\newcommand{\LWR@null@textsl}[1]{#1}
+% \begin{macro}{\textssc} \marg{text}
+% \changes{v0.84}{2020/04/13}{Moved to core.}
+% \begin{macrocode}
+\newrobustcmd{\LWR@HTML@textssc}[1]{\textsc{#1}}
+\LWR@formatted{textssc}
% \end{macrocode}
% \end{macro}
@@ -36983,242 +38052,33 @@ color:\LWR@origpound\LWR@tempcolor%
\DeclareRobustCommand{\LWR@HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
\LWR@formatted{textnormal}
-
-\newcommand{\LWR@null@textnormal}[1]{#1}
% \end{macrocode}
% \end{macro}
-
-
-% \begin{macrocode}
-\newcommand{\LWR@null@rmfamily}{}
-\newcommand{\LWR@null@sffamily}{}
-\newcommand{\LWR@null@ttfamily}{}
-\newcommand{\LWR@null@bfseries}{}
-\newcommand{\LWR@null@ebweight}{}
-\newcommand{\LWR@null@lgweight}{}
-\newcommand{\LWR@null@mdseries}{}
-\newcommand{\LWR@null@upshape}{}
-\newcommand{\LWR@null@slshape}{}
-\newcommand{\LWR@null@scshape}{}
-\newcommand{\LWR@null@itshape}{}
-\newcommand{\LWR@null@normalfont}{}
-% \end{macrocode}
-%
-% \changes{v0.62}{2018/11/17}{Fix for \cs{em}.}
-% \begin{macrocode}
-\newcommand{\LWR@null@em}{}
-% \end{macrocode}
-
-
-% \begin{macro}{\LWR@nullfonts} Removes formatting during filename operations,
-% file references, and \HTML\ comments.
-%
-% \textred{Use only inside a group.}\watchout
-%
-% The following are \emph{not} made robust,
-% since they must be expanded to their nullified versions.
-%
-% \changes{v0.34}{2017/08/05}{Improved font control.}
-% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \brand{MathJax}.}
-% \changes{v0.40}{2017/09/21}{Fix: Long arguments for expandable command.}
-% \changes{v0.43}{2017/10/31}{Fix: Nullify dollar inside filesnames.}
-% \changes{v0.48}{2018/02/04}{Fix: \cs{newline} in title.}
-% \changes{v0.65}{2018/12/09}{Added \cs{textsi}.}
-% \begin{macrocode}
-\catcode`\$=\active% redefining $ below
-\catcode`\_=12% redefining \_ below
-\newcommand*{\LWR@nullfonts}{%
-\LetLtxMacro\emph\LWR@null@emph%
-\LetLtxMacro\textmd\LWR@null@textmd%
-\LetLtxMacro\textbf\LWR@null@textbf%
-\LetLtxMacro\textrm\LWR@null@textrm%
-\LetLtxMacro\textsf\LWR@null@textsf%
-\LetLtxMacro\texttt\LWR@null@texttt%
-\LetLtxMacro\textup\LWR@null@textup%
-\LetLtxMacro\textit\LWR@null@textit%
-\LetLtxMacro\textsc\LWR@null@textsc%
-\LetLtxMacro\textulc\LWR@null@textulc%
-\LetLtxMacro\textsi\LWR@null@textsi%
-\LetLtxMacro\textsl\LWR@null@textsl%
-\LetLtxMacro\textnormal\LWR@null@textnormal%
-\LetLtxMacro\rmfamily\LWR@null@rmfamily%
-\LetLtxMacro\sffamily\LWR@null@sffamily%
-\LetLtxMacro\ttfamily\LWR@null@ttfamily%
-\LetLtxMacro\bfseries\LWR@null@bfseries%
-\LetLtxMacro\mdseries\LWR@null@mdseries%
-\LetLtxMacro\upshape\LWR@null@upshape%
-\LetLtxMacro\slshape\LWR@null@slshape%
-\LetLtxMacro\scshape\LWR@null@scshape%
-\LetLtxMacro\ulcshape\LWR@null@ulcshape%
-% \end{macrocode}
-% \changes{v0.65}{2018/12/10}{Added \cs{sishape}.}
-% \begin{macrocode}
-\LetLtxMacro\sishape\LWR@null@sishape%
-% \end{macrocode}
% \begin{macrocode}
-\LetLtxMacro\itshape\LWR@null@itshape%
-\LetLtxMacro\normalfont\LWR@null@normalfont%
-\LetLtxMacro\em\LWR@null@em%
-% \end{macrocode}
-% Various built-in symbols.
-% \changes{v0.67}{2019/02/13}{Add'l symbols.}
-% \begin{macrocode}
-\renewcommand*{\$}{-}%
-\renewcommand*{\%}{-}%
-\renewcommand*{\_}{-}%
-\renewcommand*{\}}{-}%
-\renewcommand*{\{}{-}%
-\renewcommand*{\&}{and}%
-\renewcommand*{\#}{-}%
-\renewcommand*{\,}{-}%
-\renewcommand*{~}{-}%
-\renewcommand*{\^}[1]{-}%
-\renewcommand*{\~}[1]{-}%
-\renewcommand*{\newline}{-}%
-\renewcommand*{\textasciicircum}{-}%
-\renewcommand*{\textasciitilde}{-}%
-\renewcommand*{\textasteriskcentered}{-}%
-\renewcommand*{\textbackslash}{-}%
-\renewcommand*{\textbar}{-}%
-\renewcommand*{\textbardbl}{-}%
-\renewcommand*{\textbigcircle}{-}%
-\renewcommand*{\textbraceleft}{-}%
-\renewcommand*{\textbraceright}{-}%
-\renewcommand*{\textbullet}{-}%
-\renewcommand*{\textcopyright}{-}%
-\renewcommand*{\textdagger}{-}%
-\renewcommand*{\textdaggerdbl}{-}%
-\renewcommand*{\textdollar}{-}%
-\renewcommand*{\textellipsis}{-}%
-\renewcommand*{\textemdash}{-}%
-\renewcommand*{\textendash}{-}%
-\renewcommand*{\textexclamdown}{-}%
-\renewcommand*{\textgreater}{-}%
-\renewcommand*{\textless}{-}%
-\renewcommand*{\textordfeminine}{-}%
-\renewcommand*{\textordmasculine}{-}%
-\renewcommand*{\textparagraph}{-}%
-\renewcommand*{\textperiodcentered}{-}%
-\renewcommand*{\textpertenthousand}{-}%
-\renewcommand*{\textperthousand}{-}%
-\renewcommand*{\textquestiondown}{-}%
-\renewcommand*{\textquotedblleft}{-}%
-\renewcommand*{\textquotedblright}{-}%
-\renewcommand*{\textquoteleft}{-}%
-\renewcommand*{\textquoteright}{-}%
-\renewcommand*{\textregistered}{-}%
-\renewcommand*{\textsection}{-}%
-\renewcommand*{\textsterling}{-}%
-\renewcommand*{\texttrademark}{-}%
-\renewcommand*{\textunderscore}{-}%
-\renewcommand*{\textvisiblespace}{-}%
-\renewcommand*{\copyright}{-}%
-\renewcommand*{\dag}{-}%
-\renewcommand*{\ddag}{-}%
-\renewcommand*{\dots}{-}%
-\renewcommand*{\P}{-}%
-\renewcommand*{\pounds}{-}%
-\renewcommand*{\S}{-}%
-\renewcommand*{\aa}{a}%
-\renewcommand*{\AA}{A}%
-\renewcommand*{\AE}{AE}%
-\renewcommand*{\ae}{ae}%
-\renewcommand*{\dh}{d}%
-\renewcommand*{\DH}{D}%
-\renewcommand*{\DJ}{D}%
-\renewcommand*{\dj}{d}%
-\renewcommand*{\IJ}{IJ}%
-\renewcommand*{\ij}{ij}%
-\renewcommand*{\L}{L}%
-\renewcommand*{\l}{l}%
-\renewcommand*{\NG}{NG}%
-\renewcommand*{\ng}{ng}%
-\renewcommand*{\O}{O}%
-\renewcommand*{\o}{o}%
-\renewcommand*{\oe}{oe}%
-\renewcommand*{\OE}{OE}%
-\renewcommand*{\ss}{ss}%
-\renewcommand*{\SS}{SS}%
-\renewcommand*{\th}{th}%
-\renewcommand*{\TH}{TH}%
-\renewcommand*{\guillemotleft}{}%
-\renewcommand*{\guilsinglleft}{}%
-\renewcommand*{\quotedblbase}{}%
-\renewcommand*{\textquotedbl}{}%
-\renewcommand*{\guillemotright}{}%
-\renewcommand*{\guilsinglright}{}%
-\renewcommand*{\quotesinglbase}{}%
-% \end{macrocode}
-% \begin{macrocode}
-\renewcommand*{\HTMLunicode}[1]{}%
-\renewcommand*{\HTMLentity}[1]{}%
-% \end{macrocode}
-% \begin{macrocode}
-\renewcommand{\textsuperscript}[1]{##1}%
-\renewcommand{\textsubscript}[1]{##1}%
-% \end{macrocode}
-% \changes{v0.50}{2018/02/20}{Fix: \cs{underline} in sectioning file name.}
-% \begin{macrocode}
-\renewcommand{\underline}[1]{##1}%
-% \end{macrocode}
-% \changes{v0.73}{2019/06/24}{Fix: \cs{hspace} in sectioning file name.}
-% \begin{macrocode}
-\RenewDocumentCommand{\hspace}{s m}{}%
-% \end{macrocode}
-% \begin{macrocode}
-\RenewDocumentCommand{\LWR@htmlspanclass}{o m +m}{##3}%
-\DeclareExpandableDocumentCommand{\InlineClass}{D{(}{)}{} o m +m}{##4}%
-% \end{macrocode}
-% Nullify math macros.
-% \changes{v0.55}{2018/04/24}{Removed extraneous space which appeared in file links.}
-% \begin{macrocode}
-\def\(##1\){}%
-\def\[##1\]{}%
-\RenewDocumentCommand{\LWR@subsingledollar}{s m m m}{}%
-\protected\def$##1${}%
-% \end{macrocode}
-% Nullify logos:
-% \changes{v0.66}{2019/02/01}{Logos.}
-% \begin{macrocode}
-\renewcommand*{\TeX}{TeX}%
-\renewcommand*{\LaTeX}{LaTeX}%
-\renewcommand*{\LaTeXe}{LaTeX2e}%
-\renewcommand*{\LuaTeX}{LuaTeX}%
-\renewcommand*{\LuaLaTeX}{LuaLaTeX}%
-\renewcommand*{\XeTeX}{XeTeX}%
-\renewcommand*{\XeLaTeX}{XeLaTeX}%
-\renewcommand*{\ConTeXt}{ConTeXt}%
-\renewcommand*{\BibTeX}{BibTeX}%
-\renewcommand*{\MakeIndex}{MakeIndex}%
-\renewcommand*{\AmS}{AmS}%
-\renewcommand*{\MiKTeX}{MiKTeX}%
-\renewcommand*{\LyX}{LyX}%
-% \end{macrocode}
-% Use the simpler form with \cs{texorpdfstring}:
-% \changes{v0.52}{2018/03/31}{Fix: \cs{texorpdfstring} in section names.}
-% \begin{macrocode}
-\let\texorpdfstring\relax%
-\newcommand{\texorpdfstring}[2]{##2}%
+\FilenameNullify{%
+ \LetLtxMacro\emph\@firstofone%
+ \LetLtxMacro\textmd\@firstofone%
+ \LetLtxMacro\textbf\@firstofone%
+ \LetLtxMacro\texteb\@firstofone%
+ \LetLtxMacro\textlg\@firstofone%
+ \LetLtxMacro\textrm\@firstofone%
+ \LetLtxMacro\textsf\@firstofone%
+ \LetLtxMacro\texttt\@firstofone%
+ \LetLtxMacro\textup\@firstofone%
+ \LetLtxMacro\textit\@firstofone%
+ \LetLtxMacro\textsc\@firstofone%
+ \LetLtxMacro\textulc\@firstofone%
+ \LetLtxMacro\textsi\@firstofone%
+ \LetLtxMacro\textsl\@firstofone%
+ \LetLtxMacro\textssc\@firstofone%
+ \LetLtxMacro\textnormal\@firstofone%
}
-\catcode`\$=3%
-\catcode`\_=8%
% \end{macrocode}
-% \end{macro}
%
%
-% \begin{macro}{\FilenameNullify} \marg{redefinitions}
%
-% Adds more nullifying definitions for filename generation.
-%
-% \changes{v0.67}{2019/02/13}{Added.}
-% \begin{macrocode}
-\newcommand*{\FilenameNullify}[1]{%
- \appto{\LWR@nullfonts}{#1}%
-}
-% \end{macrocode}
-% \end{macro}
%
%
% \changes{v0.48}{2018/02/02}{Improved font control.}
@@ -37346,21 +38206,21 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\upshape}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@upshape}{\renewcommand*{\LWR@f@shape}{up}}
-\LWR@formatted{upshape}
+\AtBeginDocument{\LWR@formatted{upshape}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\itshape}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@itshape}{\renewcommand*{\LWR@f@shape}{it}}
-\LWR@formatted{itshape}
+\AtBeginDocument{\LWR@formatted{itshape}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\scshape}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@scshape}{\renewcommand*{\LWR@f@shapecaps}{sc}}
-\LWR@formatted{scshape}
+\AtBeginDocument{\LWR@formatted{scshape}}
% \end{macrocode}
% \end{macro}
@@ -37371,7 +38231,7 @@ color:\LWR@origpound\LWR@tempcolor%
\LetLtxMacro\ulcshape\upshape
}{}
\newrobustcmd*{\LWR@HTML@ulcshape}{\renewcommand*{\LWR@f@shapecaps}{ulc}}
-\LWR@formatted{ulcshape}
+\AtBeginDocument{\LWR@formatted{ulcshape}}
% \end{macrocode}
% \end{macro}
@@ -37385,7 +38245,7 @@ color:\LWR@origpound\LWR@tempcolor%
\renewcommand*{\LWR@f@shape}{it}
\renewcommand*{\LWR@f@shapecaps}{sc}%
}
-\LWR@formatted{sishape}
+\AtBeginDocument{\LWR@formatted{sishape}}
% \end{macrocode}
% \end{macro}
@@ -37393,7 +38253,15 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.62}{2018/11/11}{Added.}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@slshape}{\renewcommand*{\LWR@f@shape}{sl}}
-\LWR@formatted{slshape}
+\AtBeginDocument{\LWR@formatted{slshape}}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\sscshape}
+% \changes{v0.84}{2020/04/13}{Moved to core.}
+% \begin{macrocode}
+\newrobustcmd{\LWR@HTML@sscshape}{\LWR@HTML@scshape}
+\AtBeginDocument{\LWR@formatted{sscshape}}
% \end{macrocode}
% \end{macro}
@@ -37407,6 +38275,27 @@ color:\LWR@origpound\LWR@tempcolor%
+% \begin{macrocode}
+\FilenameNullify{%
+ \LetLtxMacro\rmfamily\@empty%
+ \LetLtxMacro\sffamily\@empty%
+ \LetLtxMacro\ttfamily\@empty%
+ \LetLtxMacro\bfseries\@empty%
+ \LetLtxMacro\ebweight\@empty%
+ \LetLtxMacro\lgweight\@empty%
+ \LetLtxMacro\mdseries\@empty%
+ \LetLtxMacro\upshape\@empty%
+ \LetLtxMacro\slshape\@empty%
+ \LetLtxMacro\sishape\@empty%
+ \LetLtxMacro\scshape\@empty%
+ \LetLtxMacro\itshape\@empty%
+ \LetLtxMacro\ulcshape\@empty%
+ \LetLtxMacro\sscshape\@empty%
+ \LetLtxMacro\normalfont\@empty%
+}
+% \end{macrocode}
+
+
% \begin{macro}{\sp} \marg{text}
% For \pkg{siunitx}. Must work in math mode.
@@ -37426,33 +38315,37 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\textsuperscript} \marg{text}
% \changes{v0.50}{2018/02/20}{Robustify macros.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR@formatted}.}
% \begin{macrocode}
-\renewrobustcmd{\textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\newrobustcmd{\LWR@HTML@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\LWR@formatted{textsuperscript}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@textsuperscript} \marg{text}
% \changes{v0.42}{2017/10/16}{Added.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR@formatted}.}
% \begin{macrocode}
-\renewcommand{\@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\newcommand{\LWR@HTML@@textsuperscript}[1]{\LWR@htmlspan{sup}{#1}}
+\LWR@formatted{@textsuperscript}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\textsubscript} \marg{text}
% \changes{v0.50}{2018/02/20}{Robustify macros.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR@formatted}. No longer \cs{AtBeginDocument}.}
% \begin{macrocode}
-\AtBeginDocument{
-\renewrobustcmd{\textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
-}
+ \newrobustcmd{\LWR@HTML@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
+ \LWR@formatted{textsubscript}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@textsubscript} \marg{text}
% \changes{v0.42}{2017/10/16}{Added.}
+% \changes{v0.84}{2020/04/13}{Use \cs{LWR@formatted}. No longer \cs{AtBeginDocument}.}
% \begin{macrocode}
-\AtBeginDocument{
-\renewcommand{\@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
-}
+ \newcommand{\LWR@HTML@@textsubscript}[1]{\LWR@htmlspan{sub}{#1}}
+ \LWR@formatted{@textsubscript}
% \end{macrocode}
% \end{macro}
@@ -37777,7 +38670,7 @@ color:\LWR@origpound\LWR@tempcolor%
% Placed just before \cs{hspace}, \cs{quad}, or \cs{qquad}'s \HTML\ output.
% \begin{macrocode}
\newcommand*{\LWR@minipagestartpars}{%
-\ifbool{LWR@minipagethispar}{\LWR@startpars}{}%
+ \ifbool{LWR@minipagethispar}{\LWR@startpars}{}%
}
% \end{macrocode}
% \end{macro}
@@ -37786,7 +38679,7 @@ color:\LWR@origpound\LWR@tempcolor%
% Placed just after \cs{hspace}, \cs{quad}, or \cs{qquad}'s \HTML\ output.
% \begin{macrocode}
\newcommand*{\LWR@minipagestoppars}{%
-\ifbool{LWR@minipagethispar}{\LWR@stoppars}{}%
+ \ifbool{LWR@minipagethispar}{\LWR@stoppars}{}%
}
% \end{macrocode}
% \end{macro}
@@ -37799,9 +38692,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.65}{2018/12/22}{Changed to Unicode EM SPACE.}
% \begin{macrocode}
\renewrobustcmd*{\quad}{%
-\LWR@minipagestoppars%
-\HTMLunicode{2003}%
-\LWR@minipagestartpars%
+ \LWR@minipagestoppars%
+ \HTMLunicode{2003}%
+ \LWR@minipagestartpars%
}
% \end{macrocode}
% \end{macro}
@@ -37820,9 +38713,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.65}{2018/12/22}{Changed to Unicode EN SPACE.}
% \begin{macrocode}
\renewrobustcmd*{\enskip}{%
-\LWR@minipagestoppars%
-\HTMLunicode{2002}%
-\LWR@minipagestartpars%
+ \LWR@minipagestoppars%
+ \HTMLunicode{2002}%
+ \LWR@minipagestartpars%
}
% \end{macrocode}
% \end{macro}
@@ -38164,11 +39057,12 @@ color:\LWR@origpound\LWR@tempcolor%
% Ignores \cs{ForceHTMLTOC}.
% \changes{v0.55}{2018/04/26}{Fix: \cs{ForceHTMLTOC} with \cs{phantomsection}.}
% \begin{macrocode}
+\newcounter{LWR@phantomsection}
\DeclareDocumentCommand{\phantomsection}{}{%
-\begingroup%
-\boolfalse{LWR@forcinghtmltoc}%
-\section*{}%
-\endgroup%
+ \begingroup%
+ \boolfalse{LWR@forcinghtmltoc}%
+ \section*{}%
+ \endgroup%
}
% \end{macrocode}
% \end{macro}
@@ -38202,23 +39096,34 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
% \changes{v0.62}{2018/10/23}{Logos: Fix for \XeTeX\ logo if \pkg{graphics} is not loaded.}
+% \changes{v0.84}{2020/04/06}{Logos: Only warn about \pkg{graphics} if actually use \cs{Xe}.}
%
% \codeall
% \begin{macrocode}
\begin{warpall}
+\newbool{LWR@warnXe}
+\boolfalse{LWR@warnXe}
+
\newrobustcmd*{\Xe}
- {X\hspace{-.1667em}\raisebox{-.5ex}{E}}
+ {%
+ X\hspace{-.1667em}\raisebox{-.5ex}{E}%
+ \global\booltrue{LWR@warnXe}%
+ }
\AtBeginDocument{
-\@ifpackageloaded{graphics}{
- \@ifpackageloaded{metalogo}{}{
- \renewrobustcmd*{\Xe}
- {X\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}}
- }
-}{
- \PackageWarningNoLine{lwarp}{Load graphicx or graphics
- for improved XeTeX logo}
+ \@ifpackageloaded{graphics}{
+ \@ifpackageloaded{metalogo}{}{
+ \renewrobustcmd*{\Xe}
+ {X\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}}
+ }
+ }{}
}
+
+\AtEndDocument{
+ \ifbool{LWR@warnXe}{
+ \PackageWarningNoLine{lwarp}{Load graphicx or graphics
+ for improved XeTeX logo}
+ }{}
}
\providerobustcmd*{\XeTeX}{\mbox{\Xe\hspace{-.125em}\TeX}}
@@ -38446,7 +39351,19 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
-
+% \section{Loading \pkg{textcomp} patches}
+%
+% \pkg{textcomp} has now been integrated into the \LaTeX\ core,
+% so its patches are loaded now.
+%
+% \codehtml
+%
+% \changes{v0.84}{2020/04/14}{Fixed: \pkg{textcomp} now in kernel.}
+% \begin{macrocode}
+\begin{warpHTML}
+\RequirePackage{lwarp-textcomp}
+\end{warpHTML}
+% \end{macrocode}
% \section{Loading \brand{Koma-script} class patches}
%
@@ -38473,22 +39390,25 @@ color:\LWR@origpound\LWR@tempcolor%
% Load patches to \pkg{memoir}.
%
% \changes{v0.45}{2017/12/03}{\pkg{memoir}: Added.}
+% \changes{v0.84}{2020/03/31}{\pkg{memoir}: Preloads \pkg{xcolor}.}
%
-% \codehtml
+% \codeall
% \begin{macrocode}
-\begin{warpHTML}
+\begin{warpprint}
+\@ifclassloaded{memoir}{\LWR@origRequirePackage{xcolor}}{}
+\end{warpprint}
% \end{macrocode}
-%
+
+% \codehtml
% \begin{macrocode}
+\begin{warpHTML}
\@ifclassloaded{memoir}{\RequirePackage{lwarp-patch-memoir}}{}
-% \end{macrocode}
-%
-% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
+
% \section{\pkg{ut*} class patches}
%
% Load patches to \pkg{uj*} and \pkg{ut*} classes, as well as \pkg{ltj*} classes.
@@ -39050,33 +39970,37 @@ color:\LWR@origpound\LWR@tempcolor%
\InlineClass{abstractrunintitle}{\abstractname}%
\@bslabeldelim}%
}
-
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/03/28}{\pkg{abstract}: Updated for \pkg{memoir}.}
+% \begin{macrocode}
\@ifclassloaded{memoir}
{
\renewenvironment{abstract}{%
-% \titlepage
- \null\vfil
- \@beginparpenalty\@lowpenalty
+% % \titlepage
+% \null\vfil
+% \@beginparpenalty\@lowpenalty
+ \setup@bstract
\if@bsrunin
\else
- \if@bsstyle
- \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
- \else
+% \if@bsstyle
+% \abstitlestyle{\BlockClassSingle{abstracttitle}{\abstractname}}
+% \else
\ifnumber@bs
\num@bs
\else
\begin{\absnamepos}%
\abstractnamefont \BlockClassSingle{abstracttitle}{\abstractname}
- \@endparpenalty\@M
+% \@endparpenalty\@M
\end\absnamepos%
-%% \vspace{\abstitleskip}%
+ \vspace{\abstitleskip}%
\fi
- \fi
- \vspace{\abstitleskip}%
+% \fi
+% \vspace{\abstitleskip}%
\fi
\put@bsintoc%
\begin{@bstr@ctlist}\if@bsrunin\@bsrunintitle\fi\abstracttextfont}%
- {\par\end{@bstr@ctlist}\vfil\null%\endtitlepage
+ {\par\end{@bstr@ctlist}%\vfil\null%\endtitlepage
}
}{% not memoir
\if@titlepage
@@ -39601,8 +40525,8 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.47}{2018/01/26}{\pkg{adjmulticol}: Fix: Line wrap at \HTML\ hyphen.}
% \begin{macrocode}
\BlockClass[%
-\LWR@print@mbox{margin-left:\LWR@printlength{\LWR@templengthone}} ; %
-\LWR@print@mbox{margin-right:\LWR@printlength{\LWR@templengthtwo}}%
+ \LWR@print@mbox{margin-left:\LWR@printlength{\LWR@templengthone}} ; %
+ \LWR@print@mbox{margin-right:\LWR@printlength{\LWR@templengthtwo}}%
]{\LWR@mcolstype}%
}
{\endBlockClass}
@@ -39885,37 +40809,37 @@ color:\LWR@origpound\LWR@tempcolor%
% and turns off line numbering while creating the \element{div} tags:
% \begin{macrocode}
\renewcommand{\algocf@Vline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2evline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2evline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
% \end{macrocode}
%
% \begin{macrocode}
\renewcommand{\algocf@Vsline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2evsline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2evsline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
% \end{macrocode}
%
% \begin{macrocode}
\renewcommand{\algocf@Noline}[1]{%
-\boolfalse{LWR@algocf@dopars}%
-\begin{BlockClass}{alg2enoline}
-\booltrue{LWR@algocf@dopars}%
-#1
-\boolfalse{LWR@algocf@dopars}%
-\end{BlockClass}
-\booltrue{LWR@algocf@dopars}%
+ \boolfalse{LWR@algocf@dopars}%
+ \begin{BlockClass}{alg2enoline}
+ \booltrue{LWR@algocf@dopars}%
+ #1
+ \boolfalse{LWR@algocf@dopars}%
+ \end{BlockClass}
+ \booltrue{LWR@algocf@dopars}%
}
% \end{macrocode}
%
@@ -40024,6 +40948,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \pkg{alltt} is patched for use by \pkg{lwarp}.
%
% \changes{v0.20}{2017/01/11}{\pkg{alltt}: Added.}
+% \changes{v0.84}{2020/04/16}{\pkg{alltt}: Added print mode.}
%
% \codehtml
%
@@ -40035,11 +40960,19 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\AfterEndPreamble{
\LWR@traceinfo{Patching alltt.}
\AtBeginEnvironment{alltt}{%
-\LWR@forcenewpage
-\LWR@atbeginverbatim{3}{alltt}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@forcenewpage
+ \LWR@atbeginverbatim{3}{alltt}%
+ }%
}
\AfterEndEnvironment{alltt}{%
- \LWR@afterendverbatim{2}%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@afterendverbatim{2}%
+ }%
}
}
% \end{macrocode}
@@ -40374,10 +41307,13 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \begin{macrocode}
\@ifpackageloaded{mdframed}{
\PackageError{lwarp}
- {Package mdframed must be loaded after package amsthm}
{%
- Move \detokenize{\usepackage}{amsthm} before
- \detokenize{\usepackage}{mdframed}.\MessageBreak
+ Package mdframed must be loaded after package amsthm.\MessageBreak
+ Enter 'H' for solutions%
+ }
+ {%
+ Move ``\protect\usepackage{amsthm}'' before
+ ``\protect\usepackage{mdframed}''.\MessageBreak
Package amsthm may be loaded by something else,\MessageBreak
which must also be moved before mdframed.%
}
@@ -40423,7 +41359,9 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\else % numbered theorem, need to check for optional arg
\def\@tempa{\@oparg{\@ynthm{#2}}[]}%
\fi
- \AtBeginEnvironment{#2}{\edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}}% lwarp
+ \AtBeginEnvironment{#2}{%
+ \edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}%
+ }% lwarp
}%
\@tempa
}
@@ -40432,15 +41370,21 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Patched to enclose with \CSS:
% \begin{macrocode}
\newcommand{\LWR@haveamsthmname}{
-\renewcommand{\thmname}[1]{\InlineClass{amsthmname\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmname}[1]{%
+ \InlineClass{amsthmname\LWR@thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR@haveamsthmnumber}{
-\renewcommand{\thmnumber}[1]{\InlineClass{amsthmnumber\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmnumber}[1]{%
+ \InlineClass{amsthmnumber\LWR@thisthmstyle}{##1}%
+ }
}
\newcommand{\LWR@haveamsthmnote}{
-\renewcommand{\thmnote}[1]{\InlineClass{amsthmnote\LWR@thisthmstyle}{##1}}
+ \renewcommand{\thmnote}[1]{%
+ \InlineClass{amsthmnote\LWR@thisthmstyle}{##1}%
+ }
}
\LWR@haveamsthmname
@@ -40448,15 +41392,22 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\LWR@haveamsthmnote
% \end{macrocode}
%
-% Patches for \CSS:
+% Patched for \CSS:
% \begin{macrocode}
\def\@begintheorem#1#2[#3]{%
+% \end{macrocode}
+% \changes{v0.84}{2020/04/07}{\pkg{amsthm}: Fix for \cs{nameref}.}
+% \begin{macrocode}
+ \GetTitleString{#3}% lwarp
+ \let\@currentlabelname\GetTitleStringResult% lwarp
+% \end{macrocode}
+% \begin{macrocode}
\item[
% \deferred@thm@head{
% \the\thm@headfont \thm@indent
- \@ifempty{#1}{\let\thmname\@gobble}{\LWR@haveamsthmname}% lwarp
- \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR@haveamsthmnumber}% lwarp
- \@ifempty{#3}{\let\thmnote\@gobble}{\LWR@haveamsthmnote}% lwarp
+ \@ifempty{#1}{\let\thmname\@gobble}{\LWR@haveamsthmname}% lwarp
+ \@ifempty{#2}{\let\thmnumber\@gobble}{\LWR@haveamsthmnumber}% lwarp
+ \@ifempty{#3}{\let\thmnote\@gobble}{\LWR@haveamsthmnote}% lwarp
\thm@swap\swappedhead\thmhead{#1}{#2}{#3}%
\the\thm@headpunct~
\thmheadnl % possibly a newline.
@@ -40472,8 +41423,8 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\@thm#1#2#3{%
\ifhmode\unskip\unskip\par\fi
\normalfont
- \LWR@forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
+ \LWR@forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
\trivlist
\let\thmheadnl\relax
\let\thm@swap\@gobble
@@ -40501,8 +41452,8 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\cref@thmoptarg[#1]#2#3#4{%
\ifhmode\unskip\unskip\par\fi%
\normalfont%
- \LWR@forcenewpage% lwarp
- \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
+ \LWR@forcenewpage% lwarp
+ \BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
\trivlist%
\let\thmheadnl\relax%
\let\thm@swap\@gobble%
@@ -40543,9 +41494,9 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\def\Box{\text{\HTMLunicode{25A1}}}% UTF-8 white box
\appto\LWR@restoreorigformatting{%
-\LetLtxMacro\openbox\LWR@orig@openbox%
-\LetLtxMacro\blacksquare\LWR@orig@blacksquare%
-\LetLtxMacro\Box\LWR@orig@Box%
+ \LetLtxMacro\openbox\LWR@orig@openbox%
+ \LetLtxMacro\blacksquare\LWR@orig@blacksquare%
+ \LetLtxMacro\Box\LWR@orig@Box%
}% appto
}{}% @ifundefined
}% AtBeginDocument
@@ -41382,9 +42333,12 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Require that \pkg{authblk} be loaded before \pkg{titling}:
% \begin{macrocode}
\@ifpackageloaded{titling}{
-\PackageError{lwarp-authblk}
-{Package authblk must be loaded before titling}
-{Titling appends authblk's author macro, so authblk must be loaded first.}
+ \PackageError{lwarp-authblk}
+ {Package authblk must be loaded before titling}
+ {%
+ Titling appends authblk's author macro,
+ so authblk must be loaded first.%
+ }
}
{}
% \end{macrocode}
@@ -41815,6 +42769,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% generating \HTML\ output.
%
% \changes{v0.45}{2018/01/14}{\pkg{backref}: Added.}
+% \changes{v0.84}{2020/04/07}{\pkg{backref}: Fixed from \pkg{lwarp} v0.72 changes.}
%
% \codehtml
%
@@ -41824,7 +42779,13 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% Force the \optn{hyperref} option:
% \begin{macrocode}
-\def\backref{}\let\backrefxxx\hyper@section@backref
+\def\backref{}
+
+\long\def\hyper@section@backref#1#2#3{%
+ \ref{#3}%
+}
+
+\let\backrefxxx\hyper@section@backref
% \end{macrocode}
% \iffalse
@@ -42191,7 +43152,12 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
}{}
% \end{macrocode}
%
+% \pkg{hyperref} emulation is loaded \cs{AtBeginDocument} to avoid an
+% options clash.
+% \changes{v0.84}{2020/04/24}{\pkg{biblatex}: Fixed: Requires \pkg{hyperref}.}
% \begin{macrocode}
+\AtBeginDocument{\RequirePackage{hyperref}}
+
\LWR@ProvidesPackagePass{biblatex}[2018/03/04]
% \end{macrocode}
%
@@ -42861,27 +43827,27 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
% \iffalse
-%<*boxedminipage2e>
+%<*boxedminipage>
% \fi
-% \part{lwarp-boxedminipage2e.sty}
+% \part{lwarp-boxedminipage.sty}
-% \section{boxedminipage2e}
+% \section{boxedminipage}
%
% \credits{Scott Pakin}
%
-% \DescribePackage{boxedminipage2e}
-% \pkg{boxedminipage2e} is emulated for \HTML, and used as-is for \env{lateximage}s.
+% \DescribePackage{boxedminipage}
+% \pkg{boxedminipage} is emulated for \HTML, and used as-is for \env{lateximage}s.
%
% \changes{v0.34}{2017/07/26}{\pkg{boxedminipage2e}: Added.}
% \changes{v0.72}{2019/06/07}{\pkg{boxedminipage2e}: Added support for \env{lateximage}s.}
% \changes{v0.73}{2019/06/24}{\pkg{boxedminipage2e}: Fix: Paragraph tags.}
+% \changes{v0.84}{2020/04/23}{\pkg{boxedminipage}: Renamed from \pkg{boxedminipage2e} per author.}
%
% \codehtml
%
-% Discard all options for \pkg{lwarp-boxedminipage2e}:
% \begin{macrocode}
-\LWR@ProvidesPackagePass{boxedminipage2e}[2015/03/09]
+\LWR@ProvidesPackagePass{boxedminipage}[2020/04/19]
% \end{macrocode}
% \begin{macrocode}
@@ -42899,6 +43865,34 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \end{macrocode}
% \iffalse
+%</boxedminipage>
+% \fi
+%
+%
+%
+% \iffalse
+%<*boxedminipage2e>
+% \fi
+
+% \part{lwarp-boxedminipage2e.sty}
+
+% \section{boxedminipage2e}
+%
+% \credits{Scott Pakin}
+%
+% \DescribePackage{boxedminipage2e}
+% \pkg{boxedminipage2e} has been renamed \pkg{boxedminipage} by the author.
+%
+% \changes{v0.84}{2020/04/23}{\pkg{boxedminipage}: Renamed from \pkg{boxedminipage2e} per author.}
+%
+% \codehtml
+%
+% Automatically loads \pkg{boxedminipage}:
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{boxedminipage2e}
+% \end{macrocode}
+
+% \iffalse
%</boxedminipage2e>
% \fi
%
@@ -43317,126 +44311,76 @@ s%
% \pkg{caption} is patched for use by \pkg{lwarp}.
%
% \changes{v0.47}{2018/01/25}{\pkg{caption}: Added.}
+% \changes{v0.78}{2019/10/30}{\pkg{caption}: Added warning regarding passing options.}
+% \changes{v0.84}{2020/04/16}{\pkg{caption}: Simplified.}
+% \changes{v0.84}{2020/04/20}{\pkg{caption}: Non-width \cs{parbox}es.}
%
% \codehtml
%
-% \changes{v0.78}{2019/10/30}{\pkg{caption}: Added warning regarding passing options.}
% \begin{macrocode}
\typeout{---}
\typeout{Packages lwarp and caption:}
\typeout{If a ``Missing \protect\begin\protect{document\protect}'' error occurs here,}
-\typeout{try using: \space \protect\usepackage\protect{caption\protect}\space\protect\captionsetup{options}}
+\typeout{try using: \space \protect\usepackage\protect{caption\protect}\space%
+ \protect\captionsetup{options}}
\typeout{instead of: \protect\usepackage[options]\protect{caption\protect}.}
\typeout{---}
-\LWR@ProvidesPackagePass{caption}[2019/09/01]
+\LWR@ProvidesPackagePass{caption}[2020/01/03]
% \end{macrocode}
% \begin{macrocode}
-\renewcommand\caption@ibox[3]{%
- \@testopt{\caption@iibox{#1}{#2}{#3}}{%
-% \wd\@tempboxa%
- \linewidth% lwarp
- }%
-% \LWR@traceinfo{caption@ibox: done}%
+\long\def\caption@iibox@#1#2#3#4{%
+% \setbox\@tempboxa\hbox{#4}%
+ \caption@iiibox{#1}{#2}{#3}%
+% [\wd\@tempboxa]%
+ []% lwarp
+ [\captionbox@hj@default]%
+% {\unhbox\@tempboxa}%
+ {{#4}}% lwarp
}
% \end{macrocode}
%
% \begin{macrocode}
-\long\def\caption@iibox#1#2#3[#4]{%
- \@testopt{\caption@iiibox{#1}{#2}{#3}{#4}}\captionbox@hj@default
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\long\def\caption@iiibox#1#2#3#4[#5]#6{%
-% \setbox\@tempboxa\hbox{#6}%
+\long\def\caption@iiiibox#1#2#3#4#5[#6][#7]#8{%
\begingroup
#1*% set \caption@position
\caption@iftop{%
- \LWR@traceinfo{caption@iiibox top}%
\endgroup
- \parbox[t]{#4}{%
+ \minipagefullwidth%
+ \parbox[t]{\linewidth}{%
#1\relax
\caption@setposition t%
-% \vbox{\caption#2{#3}}%
- {\caption#2{#3}}% lwarp
+% #2%
+ {\caption#4{#5}}%
% \captionbox@hrule
-% \csname caption@hj@#5\endcsname
-% \unhbox\@tempboxa
- #6% lwarp
+% \csname caption@hj@#7\endcsname
+ #8%
}%
}{%
- \LWR@traceinfo{caption@iiibox bottom}%
\endgroup
- \parbox[b]{#4}{%
+% \parbox[b]{#6}{%
+ \minipagefullwidth%
+ \parbox[b]{\linewidth}{%
#1\relax
\caption@setposition b%
-% \csname caption@hj@#5\endcsname
-% \unhbox\@tempboxa
- #6% lwarp
+% \csname caption@hj@#7\endcsname
+ #8%
% \captionbox@hrule
-% \vtop{\caption#2{#3}}}%
- {\caption#2{#3}}% lwarp
- }%
+% #3
+ {\caption#4{#5}}%
+ }%
}%
-\LWR@traceinfo{caption@iiibox: done}%
-}
-
-% \def\caption@caption{%
-% \caption@iftype
-% {%
-% \caption@checkgrouplevel\@empty\caption
-% \caption@star
-% {\caption@refstepcounter\@captype}%
-% {\caption@dblarg{\@caption\@captype}}}%
-% {\caption@Error{\noexpand\caption outside float}%
-% \caption@gobble}%
-% }
-
-\long\def\caption@@caption#1[#2]#3{%
-% \end{macrocode}
-% \begin{macrocode}
- \ifcaption@star
- \else
- \caption@prepareanchor{#1}{#2}%
- \memcaptioninfo{#1}{\csname the#1\endcsname}{#2}{#3}%
- \@nameuse{nag@hascaptiontrue}%
- \fi
-% \end{macrocode}
-% \begin{macrocode}
- \par
- \caption@beginex{#1}{#2}{#3}%
- \caption@setfloatcapt{%
- \caption@boxrestore
- \if@minipage
- \@setminipage
- \fi
- \caption@normalsize
-% \end{macrocode}
-% \changes{v0.73}{2019/07/11}{\pkg{caption}: Fix for starred captions.}
-% \begin{macrocode}
- \ifcaption@star
- \let\caption@makeanchor\@firstofone
- #3% lwarp
- \else% lwarp
- \@makecaption{\csname fnum@#1\endcsname}%
- {\ignorespaces\caption@makeanchor{#3}}%
- \fi% lwarp
-% \end{macrocode}
-% \changes{v0.70}{2019/03/24}{\pkg{caption}: Fix: Extra par tags.}
-% \begin{macrocode}
-% \par
- \caption@if@minipage\@minipagetrue\@minipagefalse}%
- \caption@end%
}
% \end{macrocode}
+
% \begin{noindmacro}{\caption@@@make}
% \marg{caption label} \marg{caption text}
% \begin{macrocode}
\renewcommand\caption@@@make[2]{%
\LWR@traceinfo{caption@@@make}%
+ \LWR@stoppars% lwarp
% \sbox\@tempboxa{#1}%
% \ifdim\wd\@tempboxa=\z@
% \let\caption@lsep\relax
@@ -43453,7 +44397,7 @@ s%
{\ifcaption@star\else
\begingroup
\captionlabelfont
- #1%
+ \LWR@isolate{#1}% lwarp
\endgroup
\fi}%
{\ifcaption@star\else
@@ -43465,15 +44409,17 @@ s%
\fi}%
{{%
\captiontextfont
+ \let\\\newline% lwarp
% \caption@ifstrut
% {\vrule\@height\ht\strutbox\@width\z@}%
% {}%
% \nobreak\hskip\z@skip % enable hyphenation
- \caption@tfmt{#2}%
+ \LWR@isolate{\caption@tfmt{#2}}% lwarp
% \caption@ifstrut
% {\ifhmode\@finalstrut\strutbox\fi}%
% {}%
}}%
+ \LWR@startpars% lwarp
\LWR@traceinfo{caption@@@make done}%
}
% \end{macrocode}
@@ -43482,16 +44428,16 @@ s%
% \begin{noindmacro}{\caption@@make@} \marg{} \marg{}
% \begin{macrocode}
\renewcommand{\caption@@make@}[2]{%
- \caption@stepthecounter
- \caption@beginhook
+ \caption@stepthecounter%
+ \caption@beginhook%
\caption@@@make{#1}{#2}%
- \caption@endhook
+ \caption@endhook%
}
% \end{macrocode}
% \end{noindmacro}
% \begin{noindmacro}{\caption@makecaption}
-% \changes{v0.71}{2019/04/08}{Reduced underfull \cs{hbox} warnings.}
+% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.}
% \begin{macrocode}
\long\def\caption@makecaption#1#2{%
% \caption@iftop
@@ -43502,17 +44448,50 @@ s%
% {\vskip\abovecaptionskip\caption@rule}%
% {\vskip\belowcaptionskip}%
}
+
+\AtBeginDocument{
+ \let\@makecaption\caption@makecaption
+}
% \end{macrocode}
% \end{noindmacro}
+% Redefined to look ahead for \cs{centering}, etc:
+% \changes{v0.84}{2020/04/20}{\pkg{caption}: Improved integration.}
+% \begin{macrocode}
+\AtBeginDocument{
+ \def\@xfloat#1[#2]{%
+ \caption@ORI@xfloat{#1}[#2]%
+ \caption@settype{#1}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }%
+ \def\@xdblfloat#1[#2]{%
+ \caption@ORI@xfloat{#1}[#2]%
+ \caption@settype{#1}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+ }%
+}
+% \end{macrocode}
+
+
+% Add non-breakable spaces:
+% \begin{macrocode}
+\long\def\caption@lsep@default{.~}
+\long\def\caption@lsep@colon{:~}
+\long\def\caption@lsep@period{.~}
+\long\def\caption@lsep@space{~}
+\long\def\caption@lsep@endash{~\textendash~}
+\long\def\caption@lsep@arabi{~:~}
+% \end{macrocode}
+
% \begin{macrocode}
-% \DeclareCaptionBox{none}{#2}
+\DeclareCaptionBox{none}{#2}
\DeclareCaptionBox{parbox}{%
-#2%
+ #2%
}
+
\DeclareCaptionBox{colorbox}{%
-#2%
+ #2%
}
% \end{macrocode}
@@ -45906,9 +46885,6 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
-%
-%
-%
% \iffalse
%<*color>
% \fi
@@ -45938,7 +46914,6 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
-%
% \iffalse
%<*colortbl>
% \fi
@@ -46262,6 +47237,7 @@ name = \chemmacros_translate:n {scheme-name}
\PackageError{lwarp-ctable}{\MessageBreak
You can, currently, use the sidecap option only with\MessageBreak
memoir documents. Use topcap or botcap only}
+ {}
\fi
\fi
\ifdim\@CTwidth=0pt\else
@@ -46269,6 +47245,7 @@ name = \chemmacros_translate:n {scheme-name}
\PackageError{lwarp-ctable}{\MessageBreak
You may not use the width and maxwidth options together\MessageBreak
Use either width or maxwidth}
+ {}
\fi
\fi
\ifx\@CTpos\empty
@@ -46276,6 +47253,7 @@ name = \chemmacros_translate:n {scheme-name}
\PackageError{lwarp-ctable}{\MessageBreak
You may not use the pos and sideways options together\MessageBreak
Rotated tables and figures are always typeset on a separate page}
+ {}
\fi
\fi
\ifx\@CTcaption\empty
@@ -46283,6 +47261,7 @@ name = \chemmacros_translate:n {scheme-name}
\PackageError{lwarp-ctable}{\MessageBreak
You may not label a captionless table\MessageBreak
Such a label can't be referenced}
+ {}
\fi
\fi
% \end{macrocode}
@@ -47014,6 +47993,11 @@ name = \chemmacros_translate:n {scheme-name}
% \DescribePackage{easy-todo}
% \pkg{easy-todo} is patched for use by \pkg{lwarp}.
%
+% To remove the ``P.'' heading for \HTML:
+% \begin{sourceverb}
+% \warpHTMLonly{\renewcommand{\todoindexpagetitle}{}}
+% \end{sourceverb}
+%
% \changes{v0.44}{2017/11/10}{\pkg{easy-todo}: Added.}
%
% \codehtml
@@ -47025,12 +48009,12 @@ name = \chemmacros_translate:n {scheme-name}
% \begin{noindmacro}{\listoftodos}
% Modified to correct buggy use of \cs{flushright}.
% \begin{macrocode}
-\let\LWR@origlistoftodos\listoftodos
+\let\LWR@easytodo@origlistoftodos\listoftodos
\renewcommand{\listoftodos}{%
\begingroup
\renewcommand{\flushright}{}
-\LWR@origlistoftodos
+\LWR@easytodo@origlistoftodos
\endgroup
}
% \end{macrocode}
@@ -47645,7 +48629,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \credits{John Lavagnino}
%
-% \DescribePackage{endnotes} Used as-is.
+% \DescribePackage{endnotes} Patched for \HTML.
%
% \limitsendnotes
%
@@ -48074,85 +49058,60 @@ name = \chemmacros_translate:n {scheme-name}
% \credits{Peter Wilson}
%
% \DescribePackage{epigraph}
-% \pkg{epigraph} is emulated.
+% \pkg{epigraph} is emulated for \HTML, and used as-is for print output.
+%
+% Use \CSS\ to format epigraphs.
%
% \changes{v0.42}{2017/10/27}{\pkg{epigraph}: If \progcode{FormatWP} add \HTML\ styles.}
+% \changes{v0.84}{2020/04/16}{\pkg{epigraph}: Added print mode.}
%
% \codehtml
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{epigraph}[2009/09/02]
+\LWR@ProvidesPackagePass{epigraph}[2020/01/02]
% \end{macrocode}
% \changes{v0.73}{2019/06/25}{\pkg{epigraph}: Fix: Paragraph tags.}
% \begin{macrocode}
-\DeclareDocumentCommand{\qitem}{m m}
-{
-\begin{BlockClass}{qitem}
-#1
-\LWR@stoppars%
-\ifbool{FormatWP}
-{\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}
-{\begin{BlockClass}{epigraphsource}}
-#2
-\end{BlockClass}
-\end{BlockClass}
+\DeclareDocumentCommand{\LWR@HTML@qitem}{m m}
+{%
+ \begin{BlockClass}{qitem}%
+ #1%
+ \LWR@stoppars%
+ \ifbool{FormatWP}%
+ {\begin{BlockClass}[border-top:1px solid gray]{epigraphsource}}%
+ {\begin{BlockClass}{epigraphsource}}%
+ #2%
+ \end{BlockClass}%
+ \end{BlockClass}%
}
+\LWR@formatted{qitem}
% \end{macrocode}
% \changes{v0.47}{2018/01/26}{\pkg{epigraph}: Fix: Line wrap at \HTML\ hyphen.}
% \begin{macrocode}
-\DeclareDocumentCommand{\epigraph}{m m}
-{
-\begin{LWR@BlockClassWP}{\LWR@print@mbox{text-align:right}}{}{epigraph}
-\qitem{#1}{#2}
-\end{LWR@BlockClassWP}
+\DeclareDocumentCommand{\LWR@HTML@epigraph}{m m}
+{%
+ \begin{LWR@BlockClassWP}{\LWR@print@mbox{text-align:right}}{}{epigraph}%
+ \qitem{#1}{#2}%
+ \end{LWR@BlockClassWP}%
}
+\LWR@formatted{epigraph}
-\DeclareDocumentEnvironment{epigraphs}{}
-{\LWR@BlockClassWP{\LWR@print@mbox{text-align:right}}{}{epigraph}}
-{\endLWR@BlockClassWP}
+\DeclareDocumentEnvironment{LWR@HTML@epigraphs}{}
+ {\LWR@BlockClassWP{\LWR@print@mbox{text-align:right}}{}{epigraph}}
+ {\endLWR@BlockClassWP}
+\LWR@formattedenv{epigraphs}
% \end{macrocode}
%
-% Use \CSS\ to format epigraphs.
-%
-% The following are null commands for source compatibility:
-% \begin{macrocode}
-\newenvironment*{flushepinormal}{}{}
-% \end{macrocode}
%
-% \changes{v0.45}{2017/12/22}{\pkg{epigraph}: Support for \pkg{memoir}.}
+% The following cannot be used in print mode while generating \HTML:
% \begin{macrocode}
-\@ifclassloaded{memoir}{
-\setlength{\epigraphwidth}{.5\linewidth}
-\renewcommand{\textflush}{flushepinormal}
\renewcommand{\epigraphhead}[2][0]{#2}
\renewcommand{\dropchapter}[1]{}
\renewcommand*{\undodrop}{}
-}{% not memoir
-\newlength{\epigraphwidth}
-\setlength{\epigraphwidth}{.5\linewidth}
-\newcommand{\textflush}{flushepinormal}
-\newcommand{\epigraphflush}{flushright}
-\newcommand{\sourceflush}{flushright}
-\newcommand*{\epigraphsize}{\small}
-\newlength{\epigraphrule}
-\newlength{\beforeepigraphskip}
-\newlength{\afterepigraphskip}
-\newcommand{\epigraphhead}[2][0]{#2}
-\newcommand{\dropchapter}[1]{}
-\newcommand*{\undodrop}{}
-}% not memoir
-
-\let\cleartoevenpage\relax% also in nextpage
-\newcommand{\cleartoevenpage}[1][]{}
% \end{macrocode}
%
-% \changes{v0.79}{2020/01/06}{\pkg{epigraph}: Updated to v1.5e.}
-% \begin{macrocode}
-\newif\ifepigraphnoindent
-\newcommand\epigraphnoindent{\epigraphnoindenttrue}
-% \end{macrocode}
%
% \iffalse
%</epigraph>
@@ -49977,10 +50936,15 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
%
% Float-related macros required by \pkg{lwarp}:
+% \changes{v0.84}{2020/04/09}{\pkg{fixme}: Added section name.}
% \begin{macrocode}
\newcommand{\ext@fixme}{lox}
-\renewcommand{\l@fixme}[2]{\hypertocfloat{1}{fixme}{lox}{#1}{#2}}
+\renewcommand{\l@fixme}[2]{%
+ \hypertocfloat{1}{fixme}{lox}%
+ {\LWR@nameref{\BaseJobname-autopage-\arabic{LWR@nextautopage}} --- #1}
+ {#2}
+}
% \end{macrocode}
%
% Other modifications:
@@ -50189,27 +51153,27 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
% \begin{macrocode}
\NewDocumentCommand{\newfloat}{m m m o}{%
-\IfValueTF{#4}%
-{\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}%
-{\DeclareFloatingEnvironment[fileext=#3]{#1}}%
+ \IfValueTF{#4}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#4]{#1}}%
+ {\DeclareFloatingEnvironment[fileext=#3]{#1}}%
% \end{macrocode}
% Remember the float style:
% \changes{v0.57}{2018/05/14}{\pkg{float}: Added float styles.}
% \begin{macrocode}
-\csedef{LWR@floatstyle@#1}{\LWR@floatstyle}%
+ \csedef{LWR@floatstyle@#1}{\LWR@floatstyle}%
% \end{macrocode}
% \pkg{newfloat} package automatically creates the \cs{listof} command
% for new floats, but \pkg{float} does not,
% so remove \cs{listof} here in case it is manually created later.
% \begin{macrocode}
-\cslet{listof#1s}\relax%
-\cslet{listof#1es}\relax%
+ \cslet{listof#1s}\relax%
+ \cslet{listof#1es}\relax%
% \end{macrocode}
% Likesize, \pkg{newfloat} also creates \cs{l@<type>}, but \pkg{float} does not,
% so remove it here:
% \changes{v0.57}{2018/05/26}{\pkg{float}: Fix: Do not pre-define \cs{l@name}.}
% \begin{macrocode}
-\cslet{l@#1}\relax%
+ \cslet{l@#1}\relax%
}
% \end{macrocode}
% \end{noindmacro}
@@ -50217,9 +51181,15 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \begin{noindmacro}{\floatname} \marg{type} \marg{name}
%
% Sets the text name of the float, such as ``Figure''.
+% Avoids trying to set a recursive name, from \pkg{trivfloat}.
+% \changes{v0.84}{2020/04/08}{\pkg{float}: Fix: Recursive name.}
% \begin{macrocode}
\NewDocumentCommand{\floatname}{m +m}{%
- \SetupFloatingEnvironment{#1}{name=#2}%
+ \def\LWR@tempone{#2}%
+ \def\LWR@temptwo{\@nameuse{#1name}}%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{}{%
+ \SetupFloatingEnvironment{#1}{name=#2}%
+ }%
}
% \end{macrocode}
% \end{noindmacro}
@@ -50310,7 +51280,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
}%
{marginblock}%
}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR@BlockClassWP%
@@ -50410,8 +51380,8 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\AtBeginDocument{
\@ifpackageloaded{subcaption}
-{\booltrue{LWR@subcaptionloaded}}
-{\boolfalse{LWR@subcaptionloaded}}
+ {\booltrue{LWR@subcaptionloaded}}
+ {\boolfalse{LWR@subcaptionloaded}}
}
% \end{macrocode}
@@ -50672,9 +51642,9 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% inside a \CSS\ \element{div} of class |floatfoot|.
% \begin{macrocode}
\NewDocumentCommand{\floatfoot}{s +m}{%
-\begin{BlockClass}{floatfoot}
-#2
-\end{BlockClass}
+ \begin{BlockClass}{floatfoot}
+ #2
+ \end{BlockClass}
}
% \end{macrocode}
% \end{noindmacro}
@@ -50695,19 +51665,19 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
% The row of floats is placed into a \element{div} of class |floatrow|:
% \begin{macrocode}
-\LWR@forcenewpage
-\BlockClass{floatrow}
+ \LWR@forcenewpage
+ \BlockClass{floatrow}
% \end{macrocode}
% While inside the floatrow, |LWR@insubfloatrow| is set true,
% which tells \cs{floatbox} to use \cs{subfigure} or \cs{subtable}.
% \begin{macrocode}
-\begingroup
-\booltrue{LWR@insubfloatrow}
+ \begingroup%
+ \booltrue{LWR@insubfloatrow}%
}
-{
-\endgroup
-\endBlockClass
-\boolfalse{LWR@insubfloatrow}
+{%
+ \endgroup%
+ \endBlockClass%
+ \boolfalse{LWR@insubfloatrow}%
}
% \end{macrocode}
% \end{noindenvironment}
@@ -51141,6 +52111,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% Swashes and figure styles are ignored for \HTML.
%
% \changes{v0.72}{2019/05/27}{\pkg{fontaxes}: Added.}
+% \changes{v0.84}{2020/04/13}{\pkg{fontaxes}: Moved sscshape to core. \cs{FilenameNullify}.}
%
% \codehtml
%
@@ -51149,29 +52120,17 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
%
% \begin{macrocode}
-\newrobustcmd{\LWR@HTML@sscshape}{\LWR@HTML@scshape}
-\LWR@formatted{sscshape}
-\newcommand*{\LWR@null@sscshape}{}
-
-\newrobustcmd{\LWR@HTML@textssc}[1]{\textsc{#1}}
-\LWR@formatted{textssc}
-\newcommand*{\LWR@null@textssc}[1]{#1}
-
\ifdef{\LWR@HTML@swshape}{}{% duplicated by nfssext-cfr
\newcommand{\LWR@HTML@swshape}{}
\LWR@formatted{swshape}
- \newcommand*{\LWR@null@swshape}{}
\newcommand{\LWR@HTML@textsw}[1]{#1}
\LWR@formatted{textsw}
- \newcommand*{\LWR@null@textsw}[1]{#1}
-}
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\sscshape\LWR@null@sscshape%
-\LetLtxMacro\textssc\LWR@null@textssc%
-\LetLtxMacro\swshape\LWR@null@swshape%
-\LetLtxMacro\textsw\LWR@null@textsw%
+ \FilenameNullify{%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\textsw\firstofone%
+ }
}
% \end{macrocode}
%
@@ -51538,7 +52497,9 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
% \begin{macrocode}
-\BeforeBeginEnvironment{forest}{\begin{lateximage}[forest]}
+\BeforeBeginEnvironment{forest}{%
+ \begin{lateximage}[-forest-~\PackageDiagramAltText]%
+}
\AfterEndEnvironment{forest}{\end{lateximage}}
@@ -51546,8 +52507,9 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\forest@config{#2}%
\IfBooleanTF{#1}{%
\PackageError{lwarp-forest}%
- {Starred \Forest is not supported}%
- {Lwarp uses an environment for images, but \Forest* cannot work in an environment.}%
+ {\protect\Forest* is not supported}%
+ {Lwarp uses an environment for images,\MessageBreak
+ but \protect\Forest* cannot work in an environment.}%
\let\forest@next\forest@env%
}{\let\forest@next\forest@group@env}%
\begin{lateximage}[-forest-~\PackageDiagramAltText]% lwarp
@@ -52489,9 +53451,8 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\define@key{igraph}{scale}{%
\ifthenelse{\equal{#1}{1}}{}{% must expand #1
\PackageWarning{lwarp}{%
- It is recommended to use\MessageBreak
- [width=xx\protect\linewidth]\MessageBreak
- instead of [scale=yy],%
+ It is recommended to use ``[width=xx\protect\linewidth]''\MessageBreak
+ instead of ``[scale=yy]'',%
}%
}%
\renewcommand*{\LWR@igxscale}{#1}%
@@ -53126,7 +54087,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\AtBeginDocument{
\newcommand{\LWR@HTML@reflectbox}[1]{%
-\scalebox{-1}[1]{#1}%
+ \scalebox{-1}[1]{#1}%
}% \reflectbox
\LWR@formatted{reflectbox}
@@ -53146,7 +54107,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\AtBeginDocument{
\NewDocumentCommand{\LWR@HTML@resizebox}{s m m m}{%
-#4%
+ #4%
}
\LWR@formatted{resizebox}
@@ -53754,7 +54715,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
\NewDocumentCommand{\LWR@hyperdefb}{m m +m}{%
\LWR@ensuredoingapar%
- \LWR@sublabel{#1.#2}%
+ \LWR@label@createtag{#1.#2}%
#3%
\endgroup%
}
@@ -54774,7 +55735,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \end{macrocode}
%
% (It is hard to patch this macro, so the entire thing is redefined here,
-% with the \pkg{lwarp} modificaitions identified in comments.)
+% with the \pkg{lwarp} modifications identified in comments.)
%
% \begin{macrocode}
\RenewDocumentEnvironment{karnaugh-map}{s O{4} O{4} O{1} O{$X_1X_0$} O{$X_3X_2$} O{$X_5X_4$}} {%
@@ -55217,7 +56178,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
{float:right; width:2in; margin:10pt}%
{}%
{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
\minipage{\LWR@usersmarginparwidth}%
\setlength{\marginparwidth}{.95\LWR@usersmarginparwidth}%
}
@@ -55634,7 +56595,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \cs{lettrine} \oarg{keys} \marg{letter} \marg{additional text}
% \begin{macrocode}
\DeclareDocumentCommand{\lettrine}{o m m}{%
-\InlineClass{lettrine}{#2}\InlineClass{lettrinetext}{#3} % extra space
+ \InlineClass{lettrine}{#2}\InlineClass{lettrinetext}{#3} % extra space
}
\newcounter{DefaultLines}
@@ -55976,17 +56937,17 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% produce the \element{pre}, then
% reenable line numbers.
% \begin{macrocode}
-\LWR@traceinfo{About to create verbatim.}%
-\let\lsthk@EveryPar\relax%
-\LWR@forcenewpage
-\LWR@atbeginverbatim{2}{programlisting}%
+ \LWR@traceinfo{About to create verbatim.}%
+ \let\lsthk@EveryPar\relax%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{2}{programlisting}%
-\let\lsthk@EveryPar\LWR@origlsthkEveryPar%
+ \let\lsthk@EveryPar\LWR@origlsthkEveryPar%
\else%
% \end{macrocode}
% Inline, so open a \element{span}:
% \begin{macrocode}
-\ifbool{LWR@verbtags}{\LWR@htmltag{span class="inlineprogramlisting"}}{}%
+ \ifbool{LWR@verbtags}{\LWR@htmltag{span class="inlineprogramlisting"}}{}%
\fi%
}
@@ -56030,6 +56991,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% Patched for \pkg{lwarp}.
% \begin{macrocode}
+
\def\lst@MakeCaption#1{%
\LWR@traceinfo{MAKING CAPTION at #1}%
\lst@ifdisplaystyle
@@ -56094,9 +57056,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
% \lst@maketitle\lst@title % (AS)
\LWR@traceinfo{Making title: \lst@title}%
-\begin{BlockClass}{lstlistingtitle}% lwarp
-\lst@maketitle\lst@title% lwarp
-\end{BlockClass}% lwarp
+\begin{BlockClass}{lstlistingtitle}% lwarp
+\lst@maketitle\lst@title% lwarp
+\end{BlockClass}% lwarp
\fi
\LWR@traceinfo{About to assign label: !\lst@label!}%
\ifx\lst@label\@empty\else
@@ -56118,6 +57080,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\fi
\LWR@traceinfo{DONE WITH CAPTION at #1}%
}
+
+\renewcommand{\lst@maketitle}[1]{%
+ \LWR@isolate{#1}%
+}%
+
% \end{macrocode}
% \end{noindmacro}
%
@@ -56308,13 +57275,20 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% not at each caption.
%
% Options [c], [l], and [r] are ignored.
+%
+% \changes{v0.84}{2020/04/20}{\pkg{caption} now optional.}
+%
% \begin{macrocode}
\newenvironment{longtable*}[2][]{%
\LWR@floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption@setoptions{longtable}%
- \caption@setoptions{@longtable}%
- \caption@LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption@setoptions{longtable}%
+ \caption@setoptions{@longtable}%
+ \caption@LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\booltrue{LWR@starredlongtable}%
\boolfalse{LWR@longtable@havehead}%
\let\captionlistentry\LWR@LTcaptionlistentry%
@@ -56324,10 +57298,14 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\newenvironment{longtable}[2][]{%
\LWR@floatbegin{table}%
- \setcaptiontype{\LTcaptype}%
- \caption@setoptions{longtable}%
- \caption@setoptions{@longtable}%
- \caption@LT@setup%
+ \ifdef{\setcaptiontype}{% caption package:
+ \setcaptiontype{\LTcaptype}%
+ \caption@setoptions{longtable}%
+ \caption@setoptions{@longtable}%
+ \caption@LT@setup%
+ }{% w/o caption package:
+ \renewcommand*{\@captype}{\LTcaptype}%
+ }%
\refstepcounter{\LTcaptype}%
\boolfalse{LWR@longtable@havehead}%
\let\captionlistentry\LWR@LTcaptionlistentry%
@@ -56345,7 +57323,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% Error for heads which should have been in \cs{warpprintonly}:
% \begin{macrocode}
\newcommand*{\LWR@longtable@headerror}{%
- \PackageError{lwarp}
+ \PackageError{lwarp-longtable}
{For longtable:\MessageBreak
1: Keep either one of an \protect\endhead\space or
\protect\endfirsthead\space\MessageBreak
@@ -58138,6 +59116,11 @@ endinnercode={\LWR@stoppars},
\newcommand*{\LWR@mdframedstart}{%
\LWR@traceinfo{LWR@mdframedstart start}%
% \end{macrocode}
+% Warn if starting a frame inside a \element{span}:
+% \changes{v0.84}{2020/04/22}{\pkg{mdframed}: Warn inside a \element{span}.}
+% \begin{macrocode}
+ \LWR@spanwarninvalid{mdframe}%
+% \end{macrocode}
% Turn off paragraph handling during the generation of
% the encapsulating tags:
% \begin{macrocode}
@@ -60047,20 +61030,6 @@ background:
% \begin{macrocode}
\LWR@htmltag{td rowspan="#2" %
% \end{macrocode}
-% The vertical alignment, if given:
-% \changes{v0.79}{2020/01/17}{\pkg{multirow}: Fix: Centered vertical alignment.}
-% \begin{macrocode}
-\ifstrequal{#1}{c}{style="\LWR@print@mbox{vertical-align:middle}" }{}%
-\ifstrequal{#1}{b}{style="\LWR@print@mbox{vertical-align:bottom}" }{}%
-\ifstrequal{#1}{t}{style="\LWR@print@mbox{vertical-align:top}" }{}%
-% \end{macrocode}
-% The left/right border, if given:
-% \begin{macrocode}
-\ifdefvoid{\LWR@multirowborder}{}{%
-style="\LWR@print@mbox{border-\LWR@multirowborder:} 2px dotted black ; %
-\LWR@print@mbox{padding-\LWR@multirowborder:} 2px" %
-}%
-% \end{macrocode}
% A class adds the column spec and the rule:
% \begin{macrocode}
class="td%
@@ -60082,6 +61051,27 @@ class="td%
% \changes{v0.42}{2017/10/26}{\pkg{multirow}: If \progcode{FormatWP} add cell alignment.}
% \begin{macrocode}
\LWR@tdstartstyles%
+% \end{macrocode}
+% The vertical alignment, if given:
+% \changes{v0.79}{2020/01/17}{\pkg{multirow}: Fix: Centered vertical alignment.}
+% \changes{v0.84}{2020/04/16}{Fix: Multirow style.}
+% \begin{macrocode}
+\ifstrequal{#1}{c}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:middle}}{}%
+\ifstrequal{#1}{b}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:bottom}}{}%
+\ifstrequal{#1}{t}{\LWR@tdaddstyle\LWR@print@mbox{vertical-align:top}}{}%
+% \end{macrocode}
+% The left/right border, if given:
+% \changes{v0.84}{2020/04/16}{Fix: Multirow style.}
+% \begin{macrocode}
+\ifdefvoid{\LWR@multirowborder}{}{%
+ \LWR@tdaddstyle%
+ \LWR@print@mbox{border-\LWR@multirowborder:} 2px dotted black ; %
+ \LWR@print@mbox{padding-\LWR@multirowborder:} 2px%
+}%
+% \end{macrocode}
+%
+% Additional style elements:
+% \begin{macrocode}
\LWR@addcmidrulewidth%
\LWR@addcdashline%
\LWR@addtabularrulecolors%
@@ -60871,9 +61861,10 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
%
% Macros which are present in the \pkg{lwarp} core are commented out here.
+% \changes{v0.84}{2020/04/13}{\pkg{nfssext-cfr}: Improved.}
% \begin{macrocode}
\newrobustcmd{\LWR@HTML@lnstyle}{}
-\newrobustcmd{\LWR@HTML@osstyle}{}
+\newrobustcmd{\LWR@HTML@osstyle}{\LWR@HTML@scshape}
\newrobustcmd{\LWR@HTML@instyle}{}
\newrobustcmd{\LWR@HTML@sustyle}{}
\newrobustcmd{\LWR@HTML@swstyle}{}
@@ -60890,7 +61881,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@qtstyle}{}
\newrobustcmd{\LWR@HTML@shstyle}{}
\newrobustcmd{\LWR@HTML@swashstyle}{}
-\newrobustcmd{\LWR@HTML@tmstyle}{}
+\newrobustcmd{\LWR@HTML@tmstyle}{\renewcommand*{\LWR@f@family}{tt}}
\newrobustcmd{\LWR@HTML@tvstyle}{\renewcommand*{\LWR@f@family}{tt}}
\newrobustcmd{\LWR@HTML@tstyle}{}
\newrobustcmd{\LWR@HTML@lstyle}{}
@@ -60914,13 +61905,13 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@exwidth}{}
\newrobustcmd{\LWR@HTML@uxwidth}{}
\newrobustcmd{\LWR@HTML@mbweight}{\renewcommand*{\LWR@f@series}{md}}
-\newrobustcmd{\LWR@HTML@dbweight}{\renewcommand*{\LWR@f@series}{bf}}
-\newrobustcmd{\LWR@HTML@sbweight}{\renewcommand*{\LWR@f@series}{bf}}
+\newrobustcmd{\LWR@HTML@dbweight}{\renewcommand*{\LWR@f@series}{db}}
+\newrobustcmd{\LWR@HTML@sbweight}{\renewcommand*{\LWR@f@series}{sb}}
% \newrobustcmd{\LWR@HTML@ebweight}{\renewcommand*{\LWR@f@series}{eb}}
-\newrobustcmd{\LWR@HTML@ubweight}{\renewcommand*{\LWR@f@series}{eb}}
+\newrobustcmd{\LWR@HTML@ubweight}{\renewcommand*{\LWR@f@series}{ub}}
% \newrobustcmd{\LWR@HTML@lgweight}{\renewcommand*{\LWR@f@series}{lg}}
-\newrobustcmd{\LWR@HTML@elweight}{\renewcommand*{\LWR@f@series}{lg}}
-\newrobustcmd{\LWR@HTML@ulweight}{\renewcommand*{\LWR@f@series}{lg}}
+\newrobustcmd{\LWR@HTML@elweight}{\renewcommand*{\LWR@f@series}{el}}
+\newrobustcmd{\LWR@HTML@ulweight}{\renewcommand*{\LWR@f@series}{ul}}
% \newrobustcmd{\LWR@HTML@itshape}{}
% \newrobustcmd{\LWR@HTML@scshape}{}
% \newrobustcmd{\LWR@HTML@upshape}{}
@@ -60981,9 +61972,9 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \LWR@formatted{lgweight}
\LWR@formatted{elweight}
\LWR@formatted{ulweight}
-% \LWR@formatted{itshape}
-% \LWR@formatted{scshape}
-% \LWR@formatted{upshape}
+\LWR@formatted{itshape}% adapt to the new print version
+\LWR@formatted{scshape}% adapt to the new print version
+\LWR@formatted{upshape}% adapt to the new print version
\LWR@formatted{dfshape}
\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
@@ -60991,127 +61982,69 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
}
\LWR@formatted{ornament}
-
-
-\newcommand{\LWR@null@lnstyle}{}
-\newcommand{\LWR@null@osstyle}{}
-\newcommand{\LWR@null@instyle}{}
-\newcommand{\LWR@null@sustyle}{}
-\newcommand{\LWR@null@swstyle}{}
-\newcommand{\LWR@null@pstyle}{}
-\newcommand{\LWR@null@tistyle}{}
-\newcommand{\LWR@null@ostyle}{}
-\newcommand{\LWR@null@postyle}{}
-\newcommand{\LWR@null@ltstyle}{}
-\newcommand{\LWR@null@ofstyle}{}
-\newcommand{\LWR@null@altstyle}{}
-\newcommand{\LWR@null@regstyle}{}
-\newcommand{\LWR@null@embossstyle}{}
-\newcommand{\LWR@null@ornamentalstyle}{}
-\newcommand{\LWR@null@qtstyle}{}
-\newcommand{\LWR@null@shstyle}{}
-\newcommand{\LWR@null@swashstyle}{}
-\newcommand{\LWR@null@tmstyle}{}
-\newcommand{\LWR@null@tvstyle}{}
-\newcommand{\LWR@null@tstyle}{}
-\newcommand{\LWR@null@lstyle}{}
-\newcommand{\LWR@null@tlstyle}{}
-\newcommand{\LWR@null@plstyle}{}
-\newcommand{\LWR@null@tostyle}{}
-% \newcommand{\LWR@null@sishape}{}
-\newcommand{\LWR@null@olshape}{}
-\newcommand{\LWR@null@scolshape}{}
-\newcommand{\LWR@null@ushape}{}
-\newcommand{\LWR@null@scushape}{}
-\newcommand{\LWR@null@uishape}{}
-\newcommand{\LWR@null@rishape}{}
-\newcommand{\LWR@null@regwidth}{}
-\newcommand{\LWR@null@nwwidth}{}
-\newcommand{\LWR@null@cdwidth}{}
-\newcommand{\LWR@null@ecwidth}{}
-\newcommand{\LWR@null@ucwidth}{}
-\newcommand{\LWR@null@etwidth}{}
-\newcommand{\LWR@null@epwidth}{}
-\newcommand{\LWR@null@exwidth}{}
-\newcommand{\LWR@null@uxwidth}{}
-\newcommand{\LWR@null@mbweight}{}
-\newcommand{\LWR@null@dbweight}{}
-\newcommand{\LWR@null@sbweight}{}
-% \newcommand{\LWR@null@ebweight}{}
-\newcommand{\LWR@null@ubweight}{}
-% \newcommand{\LWR@null@lgweight}{}
-\newcommand{\LWR@null@elweight}{}
-\newcommand{\LWR@null@ulweight}{}
-% \newcommand{\LWR@null@itshape}{}
-% \newcommand{\LWR@null@scshape}{}
-% \newcommand{\LWR@null@upshape}{}
-\newcommand{\LWR@null@dfshape}{}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
- \newcommand{\LWR@null@swshape}{}
-}
-
-\newcommand{\LWR@null@ornament}[1]{}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\lnstyle\LWR@null@lnstyle%
-\LetLtxMacro\osstyle\LWR@null@osstyle%
-\LetLtxMacro\instyle\LWR@null@instyle%
-\LetLtxMacro\sustyle\LWR@null@sustyle%
-\LetLtxMacro\swstyle\LWR@null@swstyle%
-\LetLtxMacro\pstyle\LWR@null@pstyle%
-\LetLtxMacro\tistyle\LWR@null@tistyle%
-\LetLtxMacro\ostyle\LWR@null@ostyle%
-\LetLtxMacro\postyle\LWR@null@postyle%
-\LetLtxMacro\ltstyle\LWR@null@ltstyle%
-\LetLtxMacro\ofstyle\LWR@null@ofstyle%
-\LetLtxMacro\altstyle\LWR@null@altstyle%
-\LetLtxMacro\regstyle\LWR@null@regstyle%
-\LetLtxMacro\embossstyle\LWR@null@embossstyle%
-\LetLtxMacro\ornamentalstyle\LWR@null@ornamentalstyle%
-\LetLtxMacro\qtstyle\LWR@null@qtstyle%
-\LetLtxMacro\shstyle\LWR@null@shstyle%
-\LetLtxMacro\swashstyle\LWR@null@swashstyle%
-\LetLtxMacro\tmstyle\LWR@null@tmstyle%
-\LetLtxMacro\tvstyle\LWR@null@tvstyle%
-\LetLtxMacro\tstyle\LWR@null@tstyle%
-\LetLtxMacro\lstyle\LWR@null@lstyle%
-\LetLtxMacro\tlstyle\LWR@null@tlstyle%
-\LetLtxMacro\plstyle\LWR@null@plstyle%
-\LetLtxMacro\tostyle\LWR@null@tostyle%
-% \LetLtxMacro\sishape\LWR@null@sishape
-\LetLtxMacro\olshape\LWR@null@olshape%
-\LetLtxMacro\scolshape\LWR@null@scolshape%
-\LetLtxMacro\ushape\LWR@null@ushape%
-\LetLtxMacro\scushape\LWR@null@scushape%
-\LetLtxMacro\uishape\LWR@null@uishape%
-\LetLtxMacro\rishape\LWR@null@rishape%
-\LetLtxMacro\regwidth\LWR@null@regwidth%
-\LetLtxMacro\nwwidth\LWR@null@nwwidth%
-\LetLtxMacro\cdwidth\LWR@null@cdwidth%
-\LetLtxMacro\ecwidth\LWR@null@ecwidth%
-\LetLtxMacro\ucwidth\LWR@null@ucwidth%
-\LetLtxMacro\etwidth\LWR@null@etwidth%
-\LetLtxMacro\epwidth\LWR@null@epwidth%
-\LetLtxMacro\exwidth\LWR@null@exwidth%
-\LetLtxMacro\uxwidth\LWR@null@uxwidth%
-\LetLtxMacro\mbweight\LWR@null@mbweight%
-\LetLtxMacro\dbweight\LWR@null@dbweight%
-\LetLtxMacro\sbweight\LWR@null@sbweight%
-% \LetLtxMacro\ebweight\LWR@null@ebweight%
-\LetLtxMacro\ubweight\LWR@null@ubweight%
-% \LetLtxMacro\lgweight\LWR@null@lgweight%
-\LetLtxMacro\elweight\LWR@null@elweight%
-\LetLtxMacro\ulweight\LWR@null@ulweight%
-% \LetLtxMacro\itshape\LWR@null@itshape%
-% \LetLtxMacro\scshape\LWR@null@scshape%
-% \LetLtxMacro\upshape\LWR@null@upshape%
-\LetLtxMacro\dfshape\LWR@null@dfshape%
-\LetLtxMacro\swshape\LWR@null@swshape%
-\LetLtxMacro\ornament\LWR@null@ornament%
-}
-
-\newrobustcmd{\LWR@HTML@textln}[1]{#1}
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/11}{\pkg{nfssext-cfr}: \cs{FilenameNullify}.}
+% \begin{macrocode}
+\FilenameNullify{%
+ \LetLtxMacro\lnstyle\@empty%
+ \LetLtxMacro\osstyle\@empty%
+ \LetLtxMacro\instyle\@empty%
+ \LetLtxMacro\sustyle\@empty%
+ \LetLtxMacro\swstyle\@empty%
+ \LetLtxMacro\pstyle\@empty%
+ \LetLtxMacro\tistyle\@empty%
+ \LetLtxMacro\ostyle\@empty%
+ \LetLtxMacro\postyle\@empty%
+ \LetLtxMacro\ltstyle\@empty%
+ \LetLtxMacro\ofstyle\@empty%
+ \LetLtxMacro\altstyle\@empty%
+ \LetLtxMacro\regstyle\@empty%
+ \LetLtxMacro\embossstyle\@empty%
+ \LetLtxMacro\ornamentalstyle\@empty%
+ \LetLtxMacro\qtstyle\@empty%
+ \LetLtxMacro\shstyle\@empty%
+ \LetLtxMacro\swashstyle\@empty%
+ \LetLtxMacro\tmstyle\@empty%
+ \LetLtxMacro\tvstyle\@empty%
+ \LetLtxMacro\tstyle\@empty%
+ \LetLtxMacro\lstyle\@empty%
+ \LetLtxMacro\tlstyle\@empty%
+ \LetLtxMacro\plstyle\@empty%
+ \LetLtxMacro\tostyle\@empty%
+% \LetLtxMacro\sishape\@empty%
+ \LetLtxMacro\olshape\@empty%
+ \LetLtxMacro\scolshape\@empty%
+ \LetLtxMacro\ushape\@empty%
+ \LetLtxMacro\scushape\@empty%
+ \LetLtxMacro\uishape\@empty%
+ \LetLtxMacro\rishape\@empty%
+ \LetLtxMacro\regwidth\@empty%
+ \LetLtxMacro\nwwidth\@empty%
+ \LetLtxMacro\cdwidth\@empty%
+ \LetLtxMacro\ecwidth\@empty%
+ \LetLtxMacro\ucwidth\@empty%
+ \LetLtxMacro\etwidth\@empty%
+ \LetLtxMacro\epwidth\@empty%
+ \LetLtxMacro\exwidth\@empty%
+ \LetLtxMacro\uxwidth\@empty%
+ \LetLtxMacro\mbweight\@empty%
+ \LetLtxMacro\dbweight\@empty%
+ \LetLtxMacro\sbweight\@empty%
+% \LetLtxMacro\ebweight\@empty%
+ \LetLtxMacro\ubweight\@empty%
+% \LetLtxMacro\lgweight\@empty%
+ \LetLtxMacro\elweight\@empty%
+ \LetLtxMacro\ulweight\@empty%
+% \LetLtxMacro\itshape\@empty%
+% \LetLtxMacro\scshape\@empty%
+% \LetLtxMacro\upshape\@empty%
+ \LetLtxMacro\dfshape\@empty%
+ \LetLtxMacro\swshape\@empty%
+ \LetLtxMacro\ornament\@gobble%
+}
+
+\newrobustcmd{\LWR@HTML@textln}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR@HTML@textos}[1]{\textsc{#1}}
\newrobustcmd{\LWR@HTML@textin}[1]{#1}
\newrobustcmd{\LWR@HTML@textsu}[1]{#1}
@@ -61131,15 +62064,15 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@textorn}[1]{#1}
\newrobustcmd{\LWR@HTML@textqt}[1]{#1}
\newrobustcmd{\LWR@HTML@textsh}[1]{#1}
-\newrobustcmd{\LWR@HTML@texttm}[1]{#1}
+\newrobustcmd{\LWR@HTML@texttm}[1]{\texttt{#1}}
\newrobustcmd{\LWR@HTML@texttv}[1]{\texttt{#1}}
-\newrobustcmd{\LWR@HTML@textl}[1]{#1}
-\newrobustcmd{\LWR@HTML@texto}[1]{#1}
-\newrobustcmd{\LWR@HTML@textp}[1]{#1}
-\newrobustcmd{\LWR@HTML@textt}[1]{#1}
+\newrobustcmd{\LWR@HTML@textl}[1]{\InlineClass{textln}{#1}}
+\newrobustcmd{\LWR@HTML@texto}[1]{\textsc{#1}}
+\newrobustcmd{\LWR@HTML@textp}[1]{\InlineClass{textp}{#1}}
+\newrobustcmd{\LWR@HTML@textt}[1]{\InlineClass{textt}{#1}}
\newrobustcmd{\LWR@HTML@textpl}[1]{#1}
\newrobustcmd{\LWR@HTML@textpo}[1]{\textsc{#1}}
-\newrobustcmd{\LWR@HTML@texttl}[1]{#1}
+\newrobustcmd{\LWR@HTML@texttl}[1]{\InlineClass{textln}{#1}}
\newrobustcmd{\LWR@HTML@textto}[1]{\textsc{#1}}
\newrobustcmd{\LWR@HTML@textol}[1]{#1}
\newrobustcmd{\LWR@HTML@textswash}[1]{#1}
@@ -61156,14 +62089,14 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\newrobustcmd{\LWR@HTML@textex}[1]{#1}
\newrobustcmd{\LWR@HTML@textux}[1]{#1}
\newrobustcmd{\LWR@HTML@textrw}[1]{#1}
-\newrobustcmd{\LWR@HTML@textmb}[1]{\textmd{#1}}
-\newrobustcmd{\LWR@HTML@textdb}[1]{\textbf{#1}}
-\newrobustcmd{\LWR@HTML@textsb}[1]{\textbf{#1}}
-% \newrobustcmd{\LWR@HTML@texteb}[1]{#1}
-\newrobustcmd{\LWR@HTML@textub}[1]{\texteb{#1}}
-% \newrobustcmd{\LWR@HTML@textlg}[1]{#1}
-\newrobustcmd{\LWR@HTML@textel}[1]{\textlg{#1}}
-\newrobustcmd{\LWR@HTML@textul}[1]{\textlg{#1}}
+\newrobustcmd{\LWR@HTML@textmb}[1]{{\LWR@HTML@mbweight\InlineClass{textmb}{#1}}}
+\newrobustcmd{\LWR@HTML@textdb}[1]{{\LWR@HTML@dbweight\InlineClass{textdb}{#1}}}
+\newrobustcmd{\LWR@HTML@textsb}[1]{{\LWR@HTML@sbweight\InlineClass{textsb}{#1}}}
+% \newrobustcmd{\LWR@HTML@texteb}[1]}{#1}
+\newrobustcmd{\LWR@HTML@textub}[1]{{\LWR@HTML@ubweight\InlineClass{textub}{#1}}}
+% \newrobustcmd{\LWR@HTML@textlg}[1]}{#1}
+\newrobustcmd{\LWR@HTML@textel}[1]{{\LWR@HTML@elweight\InlineClass{textel}{#1}}}
+\newrobustcmd{\LWR@HTML@textul}[1]{{\LWR@HTML@ulweight\InlineClass{textul}{#1}}}
\LWR@formatted{textln}
\LWR@formatted{textos}
@@ -61215,110 +62148,60 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\LWR@formatted{textel}
\LWR@formatted{textul}
-\newrobustcmd{\LWR@null@textln}[1]{#1}
-\newrobustcmd{\LWR@null@textos}[1]{#1}
-\newrobustcmd{\LWR@null@textin}[1]{#1}
-\newrobustcmd{\LWR@null@textsu}[1]{#1}
-% \newrobustcmd{\LWR@null@textsi}[1]{#1}
-\newrobustcmd{\LWR@null@textdf}[1]{#1}
-
-\ifdef{\LWR@HTML@swshape}{}{% duplicated by fontaxes
- \newrobustcmd{\LWR@null@textsw}[1]{#1}
-}
-
-\newrobustcmd{\LWR@null@textti}[1]{#1}
-\newrobustcmd{\LWR@null@textlt}[1]{#1}
-\newrobustcmd{\LWR@null@textof}[1]{#1}
-\newrobustcmd{\LWR@null@textalt}[1]{#1}
-\newrobustcmd{\LWR@null@textreg}[1]{#1}
-\newrobustcmd{\LWR@null@emboss}[1]{#1}
-\newrobustcmd{\LWR@null@textorn}[1]{#1}
-\newrobustcmd{\LWR@null@textqt}[1]{#1}
-\newrobustcmd{\LWR@null@textsh}[1]{#1}
-\newrobustcmd{\LWR@null@texttm}[1]{#1}
-\newrobustcmd{\LWR@null@texttv}[1]{#1}
-\newrobustcmd{\LWR@null@textl}[1]{#1}
-\newrobustcmd{\LWR@null@texto}[1]{#1}
-\newrobustcmd{\LWR@null@textp}[1]{#1}
-\newrobustcmd{\LWR@null@textt}[1]{#1}
-\newrobustcmd{\LWR@null@textpl}[1]{#1}
-\newrobustcmd{\LWR@null@textpo}[1]{#1}
-\newrobustcmd{\LWR@null@texttl}[1]{#1}
-\newrobustcmd{\LWR@null@textto}[1]{#1}
-\newrobustcmd{\LWR@null@textol}[1]{#1}
-\newrobustcmd{\LWR@null@textswash}[1]{#1}
-\newrobustcmd{\LWR@null@textu}[1]{#1}
-\newrobustcmd{\LWR@null@textscu}[1]{#1}
-\newrobustcmd{\LWR@null@textui}[1]{#1}
-\newrobustcmd{\LWR@null@textri}[1]{#1}
-\newrobustcmd{\LWR@null@textnw}[1]{#1}
-\newrobustcmd{\LWR@null@textcd}[1]{#1}
-\newrobustcmd{\LWR@null@textec}[1]{#1}
-\newrobustcmd{\LWR@null@textuc}[1]{#1}
-\newrobustcmd{\LWR@null@textet}[1]{#1}
-\newrobustcmd{\LWR@null@textep}[1]{#1}
-\newrobustcmd{\LWR@null@textex}[1]{#1}
-\newrobustcmd{\LWR@null@textux}[1]{#1}
-\newrobustcmd{\LWR@null@textrw}[1]{#1}
-\newrobustcmd{\LWR@null@textmb}[1]{#1}
-\newrobustcmd{\LWR@null@textdb}[1]{#1}
-\newrobustcmd{\LWR@null@textsb}[1]{#1}
-% \newrobustcmd{\LWR@null@texteb}[1]{#1}
-\newrobustcmd{\LWR@null@textub}[1]{#1}
-% \newrobustcmd{\LWR@null@textlg}[1]{#1}
-\newrobustcmd{\LWR@null@textel}[1]{#1}
-\newrobustcmd{\LWR@null@textul}[1]{#1}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\textln\LWR@null@textln%
-\LetLtxMacro\textos\LWR@null@textos%
-\LetLtxMacro\textin\LWR@null@textin%
-\LetLtxMacro\textsu\LWR@null@textsu%
-% \LetLtxMacro\textsi\LWR@null@textsi%
-\LetLtxMacro\textdf\LWR@null@textdf%
-\LetLtxMacro\textsw\LWR@null@textsw%
-\LetLtxMacro\textti\LWR@null@textti%
-\LetLtxMacro\textlt\LWR@null@textlt%
-\LetLtxMacro\textof\LWR@null@textof%
-\LetLtxMacro\textalt\LWR@null@textalt%
-\LetLtxMacro\textreg\LWR@null@textreg%
-\LetLtxMacro\emboss\LWR@null@emboss%
-\LetLtxMacro\textorn\LWR@null@textorn%
-\LetLtxMacro\textqt\LWR@null@textqt%
-\LetLtxMacro\textsh\LWR@null@textsh%
-\LetLtxMacro\texttm\LWR@null@texttm%
-\LetLtxMacro\texttv\LWR@null@texttv%
-\LetLtxMacro\textl\LWR@null@textl%
-\LetLtxMacro\texto\LWR@null@texto%
-\LetLtxMacro\textp\LWR@null@textp%
-\LetLtxMacro\textt\LWR@null@textt%
-\LetLtxMacro\textpl\LWR@null@textpl%
-\LetLtxMacro\textpo\LWR@null@textpo%
-\LetLtxMacro\texttl\LWR@null@texttl%
-\LetLtxMacro\textto\LWR@null@textto%
-\LetLtxMacro\textol\LWR@null@textol%
-\LetLtxMacro\textswash\LWR@null@textswash%
-\LetLtxMacro\textu\LWR@null@textu%
-\LetLtxMacro\textscu\LWR@null@textscu%
-\LetLtxMacro\textui\LWR@null@textui%
-\LetLtxMacro\textri\LWR@null@textri%
-\LetLtxMacro\textnw\LWR@null@textnw%
-\LetLtxMacro\textcd\LWR@null@textcd%
-\LetLtxMacro\textec\LWR@null@textec%
-\LetLtxMacro\textuc\LWR@null@textuc%
-\LetLtxMacro\textet\LWR@null@textet%
-\LetLtxMacro\textep\LWR@null@textep%
-\LetLtxMacro\textex\LWR@null@textex%
-\LetLtxMacro\textux\LWR@null@textux%
-\LetLtxMacro\textrw\LWR@null@textrw%
-\LetLtxMacro\textmb\LWR@null@textmb%
-\LetLtxMacro\textdb\LWR@null@textdb%
-\LetLtxMacro\textsb\LWR@null@textsb%
-% \LetLtxMacro\texteb\LWR@null@texteb%
-\LetLtxMacro\textub\LWR@null@textub%
-% \LetLtxMacro\textlg\LWR@null@textlg%
-\LetLtxMacro\textel\LWR@null@textel%
-\LetLtxMacro\textul\LWR@null@textul%
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/11}{\pkg{nfssext-cfr}: \cs{FilenameNullify}.}
+% \begin{macrocode}
+\FilenameNullify{%
+ \LetLtxMacro\textln\@firstofone%
+ \LetLtxMacro\textos\@firstofone%
+ \LetLtxMacro\textin\@firstofone%
+ \LetLtxMacro\textsu\@firstofone%
+% \LetLtxMacro\textsi\@firstofone%
+ \LetLtxMacro\textdf\@firstofone%
+ \LetLtxMacro\textsw\@firstofone%
+ \LetLtxMacro\textti\@firstofone%
+ \LetLtxMacro\textlt\@firstofone%
+ \LetLtxMacro\textof\@firstofone%
+ \LetLtxMacro\textalt\@firstofone%
+ \LetLtxMacro\textreg\@firstofone%
+ \LetLtxMacro\emboss\@firstofone%
+ \LetLtxMacro\textorn\@firstofone%
+ \LetLtxMacro\textqt\@firstofone%
+ \LetLtxMacro\textsh\@firstofone%
+ \LetLtxMacro\texttm\@firstofone%
+ \LetLtxMacro\texttv\@firstofone%
+ \LetLtxMacro\textl\@firstofone%
+ \LetLtxMacro\texto\@firstofone%
+ \LetLtxMacro\textp\@firstofone%
+ \LetLtxMacro\textt\@firstofone%
+ \LetLtxMacro\textpl\@firstofone%
+ \LetLtxMacro\textpo\@firstofone%
+ \LetLtxMacro\texttl\@firstofone%
+ \LetLtxMacro\textto\@firstofone%
+ \LetLtxMacro\textol\@firstofone%
+ \LetLtxMacro\textswash\@firstofone%
+ \LetLtxMacro\textu\@firstofone%
+ \LetLtxMacro\textscu\@firstofone%
+ \LetLtxMacro\textui\@firstofone%
+ \LetLtxMacro\textri\@firstofone%
+ \LetLtxMacro\textnw\@firstofone%
+ \LetLtxMacro\textcd\@firstofone%
+ \LetLtxMacro\textec\@firstofone%
+ \LetLtxMacro\textuc\@firstofone%
+ \LetLtxMacro\textet\@firstofone%
+ \LetLtxMacro\textep\@firstofone%
+ \LetLtxMacro\textex\@firstofone%
+ \LetLtxMacro\textux\@firstofone%
+ \LetLtxMacro\textrw\@firstofone%
+ \LetLtxMacro\textmb\@firstofone%
+ \LetLtxMacro\textdb\@firstofone%
+ \LetLtxMacro\textsb\@firstofone%
+% \LetLtxMacro\texteb\@firstofone%
+ \LetLtxMacro\textub\@firstofone%
+% \LetLtxMacro\textlg\@firstofone%
+ \LetLtxMacro\textel\@firstofone%
+ \LetLtxMacro\textul\@firstofone%
}
\providecommand*{\zeroslash}{0}
@@ -61756,7 +62639,6 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
%
% Discard all options for \pkg{lwarp-nowidow}:
-
% \codehtml
% \begin{macrocode}
\LWR@ProvidesPackageDrop{nowidow}[2011/09/20]
@@ -61844,8 +62726,22 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \codehtml
%
% Some disabled options:
+% \changes{v0.84}{2020/04/06}{\pkg{ntheorem}: Warning if \optn{thref}.}
% \begin{macrocode}
-\DeclareOption{thref}{}
+\DeclareOption{thref}{
+ \AtEndDocument{
+ \PackageWarningNoLine{lwarp}{%
+ Lwarp uses cleveref, which takes over ntheorem's\MessageBreak
+ referencing, including
+ \protect\label \space and \protect\thref.\MessageBreak
+ Cleveref does not accept ntheorem's optional\MessageBreak
+ argument for \protect\label, so it will appear\MessageBreak
+ in the text. It is recommended to remove the\MessageBreak
+ thref option, \protect\usepackage{cleveref} instead,\MessageBreak
+ and remove any trailing optional arguments for \protect\label%
+ }%
+ }
+}
\newbool{LWR@ntheoremmarks}
@@ -62946,7 +63842,14 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
}%
\setkeys{LWRparcols}{#1}%
}
- {\end{LWR@setvirtualpage}}
+ {%
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/21}{\pkg{parcolumns}: Fixed: Missing \cs{colplacechunks}.}
+% \begin{macrocode}
+ \colplacechunks%
+ \end{LWR@setvirtualpage}%
+ }
\newcommand{\LWR@parcolumns@onecol}[1]{%
\ifbool{LWR@parcolumns@started}%
@@ -63069,8 +63972,8 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
}
\AtBeginDocument{
-\crefname{parnotemark}{paragraph note}{paragraph notes}%
-\Crefname{parnotemark}{Paragraph note}{Paragraph notes}
+ \crefname{parnotemark}{paragraph note}{paragraph notes}
+ \Crefname{parnotemark}{Paragraph note}{Paragraph notes}
}
% \end{macrocode}
%
@@ -65221,7 +66124,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\xpatchcmd{\endquoting}{\quo@endtext}
{\quo@endtext\end{LWR@blocktextcurrentfont}\LWR@stoppars}
{}
- {\LWR@patcherror{imakeidx}{endquoting}}
+ {\LWR@patcherror{quoting}{endquoting}}
% \end{macrocode}
% \iffalse
@@ -65307,21 +66210,142 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \changes{v0.38}{2017/08/26}{\pkg{realscripts}: Added.}
% \changes{v0.42}{2017/10/16}{\pkg{realscripts}: Fix for subscripts in a \env{lateximage}.}
% \changes{v0.47}{2018/01/26}{\pkg{realscripts}: Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/04/10}{\pkg{realscripts}: Fixed starred \cs{textsuperscript},
+% \cs{textsubscript}.}
+% \changes{v0.84}{2020/04/13}{\pkg{realscripts}: Improved supersub scripts.}
+% \changes{v0.84}{2020/04/13}{\pkg{realscripts}: Added print mode.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{realscripts}[2016/02/13]
+\LWR@ProvidesPackagePass{realscripts}[2016/02/13]
% \end{macrocode}
%
+%
+% The following are copied verbatim from the original,
+% but given new names, since \pkg{xparse} definitions should not be \cs{let}.
% \begin{macrocode}
-\let\realsuperscript\textsuperscript
-\let\realsubscript\textsubscript
+\ExplSyntaxOn
-\let\fakesuperscript\textsuperscript
-\let\fakesubscript\textsubscript
+\DeclareDocumentCommand \LWR@print@realsubscript {m} {
+ \fontspec_if_fontspec_font:TF {
+ \fontspec_if_opentype:TF
+ { \fontspec_if_feature:nTF {+subs}
+ { {\addfontfeature{VerticalPosition=Inferior}#1} }
+ { \fontspec_if_feature:nTF {+sinf}
+ { {\addfontfeature{VerticalPosition=ScientificInferior}#1} }
+ { \fakesubscript{#1} }
+ }
+ }
+ { \fontspec_if_aat_feature:nnTF {10} {2}
+ { {\addfontfeature{VerticalPosition=Inferior}#1} }
+ { \fakesubscript{#1} }
+ }
+ }
+ { \fakesubscript{#1} }
+}
+
+\DeclareDocumentCommand \LWR@HTML@realsubscript {m} {
+ \LWR@HTML@textsubscript{#1}
+}
+
+\LWR@formatted{realsubscript}
+
+
+\DeclareDocumentCommand \LWR@print@realsuperscript {m} {
+ \fontspec_if_fontspec_font:TF
+ {
+ \fontspec_if_opentype:TF
+ { \fontspec_if_feature:nTF {+sups}
+ { {\addfontfeature{VerticalPosition=Superior}#1} }
+ { \fakesuperscript{#1} }
+ }
+ { \fontspec_if_aat_feature:nnTF {10} {1}
+ { {\addfontfeature{VerticalPosition=Superior}#1} }
+ { \fakesuperscript{#1} }
+ }
+ }
+ { \fakesuperscript{#1} }
+}
+
+\DeclareDocumentCommand \LWR@HTML@realsuperscript {m} {
+ \LWR@HTML@textsuperscript{#1}
+}
+
+\LWR@formatted{realsuperscript}
+
+
+\DeclareDocumentCommand \LWR@print@textsubsuperscript {s O{l} mm} {
+ \leavevmode
+ \group_begin:
+ \IfBooleanTF #1
+ {
+ \hbox_set:Nn \l_tmpa_box {\textsubscript*{#3}}
+ \hbox_set:Nn \l_tmpb_box {\textsuperscript*{#4}}
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box {\textsubscript{#3}}
+ \hbox_set:Nn \l_tmpb_box {\textsuperscript{#4}}
+ }
+ \hbox_set:Nn \l_tmpa_box
+ { \box_move_down:nn \subsupersep {\box_use:N \l_tmpa_box} }
+ \hbox_set:Nn \l_tmpb_box
+ { \box_move_up:nn \subsupersep {\box_use:N \l_tmpb_box} }
+ \str_case:nnF {#2}
+ {
+ {l}{\use_i:nnn}
+ {c}{\use_ii:nnn}
+ {r}{\use_iii:nnn}
+ }
+ {
+ \PackageWarning{realscripts}{
+ Unknown~alignment~option~`#2'. \MessageBreak
+ One~ of~ `l',~ `c',~ `r',~ only
+ }
+ \use_i:nnn
+ }
+ {
+ \hbox_overlap_right:n { \box_use:N \l_tmpa_box }
+ \hbox_overlap_right:n { \box_use:N \l_tmpb_box }
+ \skip_horizontal:n {
+ \dim_max:nn {\box_wd:N \l_tmpa_box} {\box_wd:N \l_tmpb_box}
+ }
+ }
+ {
+ \dim_compare:nTF { \box_wd:N \l_tmpa_box > \box_wd:N \l_tmpb_box }
+ {
+ \skip_horizontal:n {
+ 0.5\box_wd:N \l_tmpa_box-0.5\box_wd:N \l_tmpb_box
+ }
+ \box_use:N \l_tmpb_box
+ \skip_horizontal:n {
+ -0.5\box_wd:N \l_tmpa_box-0.5\box_wd:N \l_tmpb_box
+ }
+ \box_use:N \l_tmpa_box
+ }
+ {
+ \skip_horizontal:n {
+ 0.5\box_wd:N \l_tmpb_box-0.5\box_wd:N \l_tmpa_box
+ }
+ \box_use:N \l_tmpa_box
+ \skip_horizontal:n {
+ -0.5\box_wd:N \l_tmpb_box-0.5\box_wd:N \l_tmpa_box
+ }
+ \box_use:N \l_tmpb_box
+ }
+ }
+ {
+ \skip_horizontal:n {
+ \dim_max:nn {\box_wd:N \l_tmpa_box} {\box_wd:N \l_tmpb_box}
+ }
+ \hbox_overlap_left:n { \box_use:N \l_tmpa_box }
+ \hbox_overlap_left:n { \box_use:N \l_tmpb_box }
+ }
+ \group_end:
+}
+
+\ExplSyntaxOff
-\newlength{\subsupersep}
\newcommand*{\LWR@realscriptsalign}{}
@@ -65339,18 +66363,23 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
}{}%
}
-\DeclareDocumentCommand \textsubsuperscript {s O{l} mm} {%
+\DeclareDocumentCommand \LWR@HTML@textsubsuperscript {s O{l} mm} {%
\LWR@setrealscriptsalign{#2}%
\InlineClass[\LWR@realscriptsalign]{supsubscript}{%
\textsuperscript{#4}\textsubscript{#3}%
}%
}
+\LWR@formatted{textsubsuperscript}
-\DeclareDocumentCommand \textsupersubscript {s O{l} mm} {%
- \LWR@setrealscriptsalign{#2}%
- \InlineClass[\LWR@realscriptsalign]{supsubscript}{%
- \textsubscript{#4}\textsuperscript{#3}%
- }%
+\FilenameNullify{%
+ \RenewDocumentCommand{\textsuperscript}{s m}{}%
+ \RenewDocumentCommand{\textsubscript}{s m}{}%
+ \renewcommand{\fakesubscript}[1]{}%
+ \renewcommand{\fakesuperscript}[1]{}%
+ \renewcommand{\realsubscript}[1]{}%
+ \renewcommand{\realsuperscript}[1]{}%
+ \renewcommand{\textsubsuperscript}[2]{}%
+ \renewcommand{\textsupersubscript}[2]{}%
}
% \end{macrocode}
%
@@ -65874,12 +66903,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \pkg{rotfloat} is emulated.
%
% \changes{v0.34}{2017/07/25}{\pkg{rotfloat}: Added.}
+% \changes{v0.84}{2020/04/08}{\pkg{rotfloat}: Fix: Requires \pkg{rotating}.}
%
% \codehtml
% \begin{macrocode}
\LWR@ProvidesPackageDrop{rotfloat}[2004/01/04]
\RequirePackage{float}
+\RequirePackage{rotating}
% \end{macrocode}
%
%
@@ -66086,11 +67117,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \changes{v0.44}{2017/11/20}{\pkg{scrextend}: Added.}
% \changes{v0.47}{2018/01/26}{\pkg{scrextend}: Fix: Line wrap at \HTML\ hyphen.}
+% \changes{v0.84}{2020/03/28}{\pkg{scrextend}: Updated to v3.29.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{scrextend}[2018/03/30]
+\LWR@ProvidesPackageDrop{scrextend}[2020/01/24]
% \end{macrocode}
%
% \begin{macrocode}
@@ -66105,23 +67137,90 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\DeclareDocumentCommand{\useseriesofkomafont}{m}{}
\DeclareDocumentCommand{\useshapeofkomafont}{m}{}
+\providecommand*{\coverpagetopmargin}{}
+\providecommand*{\coverpagebottommargin}{}
+\providecommand*{\coverpageleftmargin}{}
+\providecommand*{\coverpagerightmargin}{}
+
+% \end{macrocode}
+%
+% Title page:
+% \changes{v0.84}{2020/03/28}{\pkg{scrextend}: Added \cs{titlehead}, \cs{subject},
+% \cs{subtitle}, \cs{published}.}
+% \begin{macrocode}
\AtBeginDocument{
\let\LWR@koma@orig@maketitle\maketitle
\DeclareDocumentCommand{\maketitle}{o}{\LWR@koma@orig@maketitle}
}
+\DeclareDocumentCommand{\@maketitle}{}{%
+ \ifdefvoid{\@titlehead}{}{%
+ \begin{BlockClass}{titlehead}%
+ \@titlehead%
+ \end{BlockClass}%
+ }%
+ \ifdefvoid{\@subject}{}{%
+ \begin{BlockClass}{subject}%
+ \@subject%
+ \end{BlockClass}%
+ }%
+ \LWR@stoppars%
+ \LWR@htmltag{\LWR@tagtitle}%
+ \@title%
+ \LWR@htmltag{\LWR@tagtitleend}%
+ \ifdefvoid{\@subtitle}{}{%
+ \begin{BlockClass}{subtitle}%
+ \@subtitle%
+ \end{BlockClass}%
+ }%
+ \LWR@startpars%
+ \begin{BlockClass}{author}%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand*{\cr}{}%
+ \renewcommand*{\crcr}{}%
+ \renewcommand*{\noalign}{}%
+% \end{macrocode}
+% \begin{macrocode}
+ \renewcommand{\and}{%
+ \end{BlockClass}%
+ \begin{BlockClass}{oneauthor}%
+ }%
+ \begin{BlockClass}{oneauthor}%
+ \@author%
+ \end{BlockClass}%
+ \end{BlockClass}%
+ \begin{BlockClass}{titledate}%
+ \@date%
+ \end{BlockClass}%
+ \ifdefvoid{\@published}{}{%
+ \begin{BlockClass}{published}%
+ \@published%
+ \end{BlockClass}%
+ }%
+}
+
+\AddSubtitlePublished
+
\DeclareDocumentCommand{\extratitle}{m}{}
-\DeclareDocumentCommand{\titlehead}{m}{}
-\DeclareDocumentCommand{\subject}{m}{}
+\DeclareDocumentCommand{\frontispiece}{m}{}
+
+\def\@titlehead{}%
+\DeclareDocumentCommand{\titlehead}{m}{\gdef\@titlehead{#1}}%
+
+\def\@subject{}%
+\DeclareDocumentCommand{\subject}{m}{\gdef\@subject{#1}}%
+
+% \subtitle and \published are defined by \AddSubtitlePublished
+
\DeclareDocumentCommand{\publishers}{m}{\published{#1}}
+
\DeclareDocumentCommand{\uppertitleback}{m}{}
\DeclareDocumentCommand{\lowertitleback}{m}{}
\DeclareDocumentCommand{\dedication}{m}{}
\DeclareDocumentCommand{\ifthispageodd}{m m}{#1}
-\DeclareDocumentCommand{\titlepagestyle}{}{}
-
\DeclareDocumentCommand{\cleardoublepageusingstyle}{m}{}
\DeclareDocumentCommand{\cleardoubleemptypage}{}{}
\DeclareDocumentCommand{\cleardoubleplainpage}{}{}
@@ -67139,16 +68238,17 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \begin{noindmacro}{\sidecaption} * \oarg{entry} \oarg{offset} \marg{text}
% \changes{v0.47}{2018/01/30}{\pkg{sidenotes}: Fix for \SVG\ math in captions.}
+% \changes{v0.84}{2020/04/16}{\pkg{sidenotes}: \cs{sidecaption} not long arg.}
% \begin{macrocode}
-\RenewDocumentCommand \sidecaption {s o o +m}
+\RenewDocumentCommand \sidecaption {s o o m}
{
\LWR@stoppars
\begingroup
- \captionsetup{style=sidecaption}
+ \captionsetup{style=sidecaption}%
\IfBooleanTF{#1}
{ % starred
\begin{BlockClass}[border:none ; box-shadow:none]{marginblock}
- \caption*{#4}
+ \caption*{#4}%
\end{BlockClass}
}
{ % unstarred
@@ -67172,11 +68272,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\NewDocumentEnvironment{KFLTsidenotes@marginfloat}{O{-1.2ex} m}
{% start
-\LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
-\captionsetup{type=#2}%
+ \LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
+ \renewcommand*{\@captype}{#2}%
}
{%
-\endLWR@BlockClassWP%
+ \endLWR@BlockClassWP%
}
\RenewDocumentEnvironment{marginfigure}{o}
@@ -68278,6 +69378,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \pkg{slantsc} is emulated for \HTML, and used as-is for print output.
%
% \changes{v0.72}{2019/05/27}{\pkg{slantsc}: Added.}
+% \changes{v0.84}{2020/04/11}{\pkg{slantsc}: \cs{FilenameNullfiy}.}
%
% \codehtml
%
@@ -68289,10 +69390,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\newcommand*{\LWR@HTML@noscshape}{}
\LWR@formatted{noscshape}
-\newcommand*{\LWR@null@noscshape}{}
-
-\appto{\LWR@nullfonts}{%
-\LetLtxMacro\noscshape\LWR@null@noscshape%
+\FilenameNullify{%
+ \LetLtxMacro\noscshape\@empty%
}
% \end{macrocode}
%
@@ -69482,23 +70581,18 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% In print mode the minipages are used to place the items next to each other.
% In \HTML\ they are placed side-by-side automatically.
% \begin{macrocode}
-\ifdef{\subcaption@minipage}{
- \xpatchcmd{\subcaption@minipage}
- {\minipage}
- {\minipagefullwidth\minipage}
- {}
- {\LWR@patcherror{subcaption}{subcaption@minipage}}
-}{}
+\xpretocmd{\subcaption@iiminipage}
+ {\minipagefullwidth}
+ {}
+ {\LWR@patcherror{subcaption}{subcaption@iiminipage}}
% \end{macrocode}
%
% Likewise for a \cs{subcaptionbox}:
% \begin{macrocode}
-\ifdef{\subcaptionbox}{
- \xpretocmd{\subcaptionbox}
- {\minipagefullwidth}
- {}
- {\LWR@patcherror{subcaption}{subcaptionbox}}
-}{}
+\xpretocmd{\subcaptionbox}
+ {\minipagefullwidth}
+ {}
+ {\LWR@patcherror{subcaption}{subcaptionbox}}
% \end{macrocode}
%
% \iffalse
@@ -69758,7 +70852,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% comes from the |sub@<label>|:
% \begin{macrocode}
\renewcommand{\sf@subref}[1]{%
-\LWR@subnewref{#1}{sub@#1}%
+ \LWR@subnewref{#1}{sub@#1}%
}
% \end{macrocode}
% \end{noindmacro}
@@ -70754,7 +71848,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \changes{v0.62}{2018/11/17}{\pkg{textcomp}: Fix conflict with \pkg{xunicode}.}
% \begin{macrocode}
\providecommand*{\LWR@HTML@textcircled}[1]{%
-\InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}%
+ \InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}%
}
\LWR@formatted{capitalcedilla}
@@ -70770,6 +71864,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@formatted{capitalbreve}
\LWR@formatted{capitalmacron}
\LWR@formatted{capitaldotaccent}
+
\LWR@formatted{textcircled}
% \end{macrocode}
% Nullify \pkg{textcomp} macros when generating filenames:
@@ -72221,16 +73316,18 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% then initilize:
%
% \changes{v0.39}{2017/09/03}{\pkg{titling}: Removed extraneous \protect\env{center} environments.}
+% \changes{v0.84}{2020/04/22}{\pkg{titling}: \cs{AtBeginDocument}.}
% \begin{macrocode}
+\AtBeginDocument{
+ \pretitle{}
+ \posttitle{}
-\pretitle{}
-\posttitle{}
-
-\preauthor{}
-\postauthor{}
+ \preauthor{}
+ \postauthor{}
-\predate{}
-\postdate{}
+ \predate{}
+ \postdate{}
+}
% \end{macrocode}
%
%
@@ -72244,7 +73341,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% Redefine the footnote mark:
%
% \begin{macrocode}
-\def\@makefnmark{\textsuperscript{\@thefnmark}}
+ \def\@makefnmark{\textsuperscript{\@thefnmark}}%
% \end{macrocode}
%
% \begin{center}
@@ -72258,11 +73355,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% Redefine the footnote text:
%
% \begin{macrocode}
-\long\def\@makefntext##1{%
+ \long\def\@makefntext##1{%
% \end{macrocode}
% Make the footnote mark and some extra horizontal space for the tags:
% \begin{macrocode}
-\makethanksmark~%
+ \makethanksmark~%
% \end{macrocode}
% \begin{center}
% \begin{minipage}{.7\linewidth}
@@ -72274,8 +73371,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% Print the text:
% \begin{macrocode}
-##1%
-}% \@makefntext
+ ##1%
+ }% \@makefntext
}
% \end{macrocode}
% \end{macro}
@@ -72306,32 +73403,32 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
% An \HTML\ titlepage \element{div} is used for all classes.
% \begin{macrocode}
-\begin{titlepage}
+ \begin{titlepage}
% \end{macrocode}
% Select which kind of footnote marks to use:
% \begin{macrocode}
-\@bsmarkseries
+ \@bsmarkseries
% \end{macrocode}
% Set up special patches:
% \begin{macrocode}
-\LWR@maketitlesetup
+ \LWR@maketitlesetup
% \end{macrocode}
% Typeset the title, etc:
% \begin{macrocode}
-\@maketitle
+ \@maketitle
% \end{macrocode}
% Immediately generate any \cs{thanks} footnotes:
% \changes{v0.73}{2019/06/25}{\pkg{titling}: Fix: Paragraph tags.}
% \begin{macrocode}
-\LWR@stoppars\@thanks\LWR@startpars
+ \LWR@stoppars\@thanks\LWR@startpars
% \end{macrocode}
% Close the \HTML\ titlepage div:
% \begin{macrocode}
-\end{titlepage}
+ \end{titlepage}
% \end{macrocode}
% Reset the footnote counter:
% \begin{macrocode}
-\@bscontmark
+ \@bscontmark
}
% \end{macrocode}
% \end{macro}
@@ -73073,21 +74170,21 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\DeclareDocumentCommand{\newlistof}{o m m m}
{%
-\IfValueTF{#1}
-{\newlistentry[#1]{#2}{#3}{0}}
-{\newlistentry{#2}{#3}{0}}
-\@namedef{ext@#2}{#3}
-\@ifundefined{c@#3depth}{\newcounter{#3depth}}{}
-\setcounter{#3depth}{1}
-\@namedef{cftmark#3}{}
-\@namedef{listof#2}{\listof{#2}{#4}}
-\@namedef{@cftmake#3title}{}
-\expandafter\newlength\csname cftbefore#3titleskip\endcsname
-\expandafter\newlength\csname cftafter#3titleskip\endcsname
-\@namedef{cft#3titlefont}{}
-\@namedef{cftafter#3title}{}
-\@namedef{cft#3prehook}{}
-\@namedef{cft#3posthook}{}
+ \IfValueTF{#1}%
+ {\newlistentry[#1]{#2}{#3}{0}}%
+ {\newlistentry{#2}{#3}{0}}%
+ \@namedef{ext@#2}{#3}%
+ \@ifundefined{c@#3depth}{\newcounter{#3depth}}{}%
+ \setcounter{#3depth}{1}%
+ \@namedef{cftmark#3}{}%
+ \@namedef{listof#2}{\listof{#2}{#4}}%
+ \@namedef{@cftmake#3title}{}%
+ \expandafter\newlength\csname cftbefore#3titleskip\endcsname%
+ \expandafter\newlength\csname cftafter#3titleskip\endcsname%
+ \@namedef{cft#3titlefont}{}%
+ \@namedef{cftafter#3title}{}%
+ \@namedef{cft#3prehook}{}%
+ \@namedef{cft#3posthook}{}%
}
% \end{macrocode}
% \end{noindmacro}
@@ -73438,7 +74535,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \codehtml
%
-% Discard all options for \pkg{lwarp-transparent}:
% \begin{macrocode}
\LWR@ProvidesPackagePass{transparent}[2019/11/29]
% \end{macrocode}
@@ -74391,11 +75487,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{macrocode}
\LWR@restoreoriglists%
% \end{macrocode}
-% \DescribePackage{verse}\DescribeClass{memoir}\gindex{memoir=\pkg{memoir}>verse}
+% \DescribePackage{verse}
+% \DescribeClass{memoir}%
% 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 \prog{pdfcrop}
-% to crop the entire page further to the left:
+% The following does not allow them to go into the left margin,
+% which would cause \prog{pdfcrop} to crop the entire page further to the left.
% \DescribeLength{\vleftskip}
% \begin{macrocode}
\ifdef{\vleftskip}{%
@@ -75100,37 +76197,37 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\NewDocumentEnvironment{wrapfigure}{o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#2}{#4}%
-\captionsetup{type=figure}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{figure}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\NewDocumentEnvironment{wraptable}{o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#2}{#4}%
-\captionsetup{type=table}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#2}{#4}%
+ \renewcommand*{\@captype}{table}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\NewDocumentEnvironment{wrapfloat}{m o m o m}
{%
-\begin{LWR@setvirtualpage}*%
-\LWR@subwrapfigure{#3}{#5}%
-\captionsetup{type=#1}%
+ \begin{LWR@setvirtualpage}*%
+ \LWR@subwrapfigure{#3}{#5}%
+ \renewcommand*{\@captype}{#1}%
}
{%
-\endLWR@BlockClassWP%
-\end{LWR@setvirtualpage}%
+ \endLWR@BlockClassWP%
+ \end{LWR@setvirtualpage}%
}
\newlength{\wrapoverhang}
@@ -75562,7 +76659,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{colorbox}
+ \LWR@formatted{colorbox}
}
% \end{macrocode}
% \end{macro}
@@ -75599,7 +76696,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{colorboxBlock}
+ \LWR@formatted{colorboxBlock}
}
% \end{macrocode}
% \end{macro}
@@ -75635,7 +76732,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{fcolorbox}
+ \LWR@formatted{fcolorbox}
}
% \end{macrocode}
% \end{macro}
@@ -75688,7 +76785,7 @@ padding:\LWR@printlength{\fboxsep}%
}
\AtBeginDocument{
-\LWR@formatted{fcolorboxBlock}
+ \LWR@formatted{fcolorboxBlock}
}
% \end{macrocode}
% \end{macro}
@@ -76520,8 +77617,12 @@ height:\LWR@printlength{\LWR@tempheight}%
%
% The \pkg{lwarp} core uses the following to disable CJK \pkg{xpinyin} for
% filenames, side\TOC, and footnotes.
+%
+% \changes{v0.84}{2020/04/21}{\pkg{xpinyin}: Disables pinyin when null fonts.}
% \begin{macrocode}
\renewcommand*{\LWR@disablepinyin}{\disablepinyin}
+
+\FilenameNullify{\LWR@disablepinyin}
% \end{macrocode}
%
% \iffalse
@@ -77136,12 +78237,14 @@ height:\LWR@printlength{\LWR@tempheight}%
% \changes{v0.73}{2019/07/10}{\pkg{lwarp-patch-komascript}: Fix for captions.}
% \begin{macrocode}
\AtBeginDocument{
+\AtBeginDocument{
\LetLtxMacro\captionbelow\caption
\LetLtxMacro\captionabove\caption
\LetLtxMacro\captionofbelow\captionof
\LetLtxMacro\captionofabove\captionof
}
+}
\RenewDocumentEnvironment{captionbeside}{o m o o o s}
{}
@@ -77247,10 +78350,10 @@ height:\LWR@printlength{\LWR@tempheight}%
\RequirePackage{lwarp-parskip}
\RequirePackage{lwarp-setspace}% req'd
\RequirePackage{lwarp-showidx}
-\RequirePackage{lwarp-subcaption}% req'd for \subfloat
% \end{macrocode}
-% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: No longer require \pkg{subfigure}.}
+% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: No longer requires \pkg{subfigure}.}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: No longer requires \pkg{subcaption}.}
% ^^A Not sure why this is here:
% \begin{macrocode}
@@ -77267,14 +78370,52 @@ height:\LWR@printlength{\LWR@tempheight}%
% \end{macrocode}
%
%
-% \subsection{Preliminary setup}
+% \subsection{Label handling}
+%
+% Insert the \pkg{lwarp} label mechanism into the \pkg{memoir} package mechanism:
%
-% Bypass the \pkg{memoir} package mechanism:
+% \begin{itemize}
+% \item \cs{@mem@old@label} is the \LaTeX\ definition of \cs{label}.
+% \item \cs{LWR@orig@label} adds the \pkg{memoir} definition.
+% \item \pkg{lwarp}'s \cs{LWR@new@label} uses \cs{LWR@orig@label}.
+% \item Want \pkg{memoir}'s \cs{label} to use \pkg{lwarp}'s \cs{label},
+% which then would use \LaTeX's \cs{label}.
+% \item So:
+% \begin{itemize}
+% \item \cs{@mem@old@label} becomes \cs{LWR@new@label}.
+% \item \cs{LWR@orig@label} becomes \cs{@mem@old@label}.
+% \end{itemize}
+% \item \pkg{cleveref} then encapsulates all the above.
+% \item For a subcaption, \pkg{cleveref} modifies \pkg{memoir}'s \cs{sf@memsub@label}.
+% \end{itemize}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: Fix: \cs{label}.}
% \begin{macrocode}
-\LetLtxMacro\LWR@orig@label\@mem@old@label
+\let\LWR@orig@label\@mem@old@label
+\let\@mem@old@label\LWR@new@label
+% \end{macrocode}
+%
+% Patches for subfloats to support additional \pkg{lwarp} labels:
+% \begin{macrocode}
+\AtBeginDocument{
+ \renewcommand*{\sf@@memsub@label}[1]{%
+ \@bsphack
+ \sf@@memsub@label@hook{#1}%
+ \@memoldlabel{#1}%
+ \LWR@label@createtag{sub@#1}%
+ \protected@write\@auxout{}{%
+ \string\newlabel{sub@#1}%
+ {{\@nameuse{@@thesub\@captype}}%
+ {\thepage}}}%
+ \LWR@write@lwarplabel{sub@#1}%
+ \@esphack
+ }
+}
% \end{macrocode}
%
+%
+% \subsection{Page layout}
+%
% \pkg{memoir} already set the page size to a default,
% so it must be forced large for \pkg{lwarp}'s use,
% to avoid tag overflows off the page.
@@ -77284,9 +78425,6 @@ height:\LWR@printlength{\LWR@tempheight}%
\setulmarginsandblock{1in}{1in}{*}
% \end{macrocode}
%
-%
-% \subsection{Page layout}
-%
% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: Updated for new sizes.}
% \begin{macrocode}
\renewcommand*{\stockavi}{}
@@ -77495,8 +78633,11 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand\titlingpageend[2]{}
% \end{macrocode}
%
+%
% \subsection{Abstracts}
% \begin{macrocode}
+% \newlength{\absindent}
+% \newlength{\absparsep}
\renewcommand*{\abstractcol}{}
\renewcommand*{\abstractintoc}{}
\renewcommand*{\abstractnum}{}
@@ -77722,10 +78863,15 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\makeheadposition}[5]{}
\renewcommand{\makepsmarks}[2]{}
\renewcommand*{\makeheadfootstrut}[3]{}
-
-\renewcommand{\createplainmark}[3]{}
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/06}{\pkg{lwarp-patch-memoir}: Creates mark macros.}
+% \begin{macrocode}
+\renewcommand{\createmark}[5]{\csdef{#1mark}[1]{}}
+\renewcommand{\createplainmark}[3]{\csdef{#1mark}{}}
+% \end{macrocode}
+% \begin{macrocode}
\renewcommand{\memUChead}[1]{}
-\renewcommand{\createmark}[5]{}
\renewcommand*{\clearplainmark}[1]{}
\renewcommand*{\clearmark}[1]{}
\renewcommand{\addtopsmarks}[3]{}
@@ -78031,15 +79177,51 @@ height:\LWR@printlength{\LWR@tempheight}%
\DeclareRobustCommand{\cftpagenumberson}[1]{}
% \end{macrocode}
%
+%
% \subsection{Floats and captions}
%
+%
+% \begin{noindmacro}{\@xfloat}
+% \begin{noindmacro}{\@xdblfloat}
+% Reestablish \pkg{lwarp}'s takeover the float handing,
+% which \pkg{memoir} tried to grab:
+%
+% \changes{v0.84}{2020/04/20}{\pkg{lwarp-patch-memoir}: Use \LaTeX\ captions.}
+% \begin{macrocode}
+\AtBeginDocument{
+\def\@xfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+}
+\def\@xdblfloat #1[#2]{%
+ \LWR@floatbegin{#1}[#2]
+ \normalsize
+ \@nameuse{#1adjustment}%
+ \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment%
+}
+}
+% \end{macrocode}
+% \end{noindmacro}
+% \end{noindmacro}
+%
+%
% \begin{noindmacro}{\newfloat} \oarg{1: within} \marg{2: type}
% \marg{3: ext} \marg{4: capname}
% \begin{macrocode}
\RenewDocumentCommand{\newfloat}{o m m m}{%
- \IfValueTF{#1}%
- {\DeclareFloatingEnvironment[fileext=#3,within=#1,name={#4}]{#2}}%
- {\DeclareFloatingEnvironment[fileext=#3,name={#4}]{#2}}%
+ \def\LWR@tempone{#4}%
+ \def\LWR@temptwo{\@nameuse{#2name}}%
+ \ifdefequal{\LWR@tempone}{\LWR@temptwo}{% recursive name, already defined
+ \IfValueTF{#1}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#1]{#2}}%
+ {\DeclareFloatingEnvironment[fileext=#3]{#2}}%
+ }{% not recursive name
+ \IfValueTF{#1}%
+ {\DeclareFloatingEnvironment[fileext=#3,within=#1,name={#4}]{#2}}%
+ {\DeclareFloatingEnvironment[fileext=#3,name={#4}]{#2}}%
+ }%
% \end{macrocode}
% \pkg{newfloat} package automatically creates the \cs{listof} command
% for new floats, but \pkg{float} does not,
@@ -78091,7 +79273,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\NewDocumentEnvironment{KFLTmemoir@marginfloat}{O{-1.2ex} m}
{% start
\LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}%
- \captionsetup{type=#2}%
+ \renewcommand*{\@captype}{#2}%
}
{%
\endLWR@BlockClassWP%
@@ -78125,17 +79307,15 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand{\flegtocfigure}{}
% \end{macrocode}
%
-% \cs{subfloat} is from the \pkg{subcaption} package.
-% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: Use \pkg{subcaption} instead of \pkg{subfig}.}
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: No longer uses \pkg{subcaption}.}
% \begin{macrocode}
-\renewcommand{\subcaption}[2][]{%
- \ifblank{#1}{\subfloat[#2]{}}{\subfloat[#1][#2]{}}%
+\renewcommand{\@makesubfloatcaption}[2]{%
+ \minipagefullwidth
+ \begin{minipage}{\linewidth}%
+ #1 \ignorespaces #2 \unskip%
+ \end{minipage}
}
-\renewcommand{\contsubcaption}{\ContinuedFloat\subcaption}
-
-\LetLtxMacro\subcaptionref\subref
-
\renewcommand*{\tightsubcaptions}{}
\renewcommand*{\loosesubcaptions}{}
@@ -78162,11 +79342,18 @@ height:\LWR@printlength{\LWR@tempheight}%
% \newif\ifscapmargleft
\scapmargleftfalse
\renewcommand*{\setsidecappos}[1]{}
-
+% \end{macrocode}
+%
+%
+% \begin{noindenvironment}{sidecontcaption}
+% \changes{v0.84}{2020/04/20}{\pkg{lwarp-patch-memoir}: \pkg{caption} now optional, removed dup caption.}
+% \begin{macrocode}
\RenewDocumentEnvironment{sidecontcaption}{m o}
{}
{%
- \ContinuedFloat%
+ \ifdef{\ContinuedFloat}%
+ {\ContinuedFloat}%
+ {\addtocounter{\@captype}{-1}}%
\caption{#1}%
% \end{macrocode}
% Without \cs{@captype}, the section is referred to instead.
@@ -78174,6 +79361,9 @@ height:\LWR@printlength{\LWR@tempheight}%
\IfValueT{#2}{\label[\@captype]{#2}}%
}
% \end{macrocode}
+% \end{noindenvironment}
+%
+%
% \cs{sidenamedlegend} does not appear to use the \TOC\ argument.
% \begin{macrocode}
\renewenvironment{sidenamedlegend}[2][]{
@@ -78207,7 +79397,7 @@ height:\LWR@printlength{\LWR@tempheight}%
}
% \end{macrocode}
%
-% \subsection{Page notes}
+% \subsection{Footnotes and page notes}
%
% \begin{macrocode}
\renewcommand*{\feetabovefloat}{}
@@ -78216,7 +79406,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\verbfootnote}[2][]{%
\PackageError{lwarp,memoir}%
- {Verbatim footnotes are not yet supported by lwarp.}%
+ {Verbatim footnotes are not yet supported by lwarp}%
{This may be improved some day.}%
}
@@ -78228,7 +79418,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\newfootnoteseries}[1]{%
\PackageError{lwarp,memoir}%
- {Memoir footnote series are not yet supported by lwarp.}%
+ {Memoir footnote series are not yet supported by lwarp}%
{This may be improved some day.}%
}
@@ -78285,18 +79475,61 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\sidefootmarkstyle}[1]{}
\renewcommand*{\sidefoottextfont}{}
\renewcommand*{\sidefootform}{}
-
+% \end{macrocode}
+%
+% \changes{v0.84}{2020/03/31}{\pkg{lwarp-patch-memoir}: Fixed pagenotes.}
+% \begin{macrocode}
\renewcommand*{\continuousnotenums}{\pncontopttrue}% from pagenote
\renewcommand*{\notepageref}{}
\renewcommand*{\prenotetext}{}
\renewcommand*{\postnotetext}{}
-\renewcommand*{\idtextinnotes}[1]{}
-\renewcommand*{\printpageinnotes}[1]{}
-\renewcommand*{\printpageinnoteshyperref}[1]{}
+\LetLtxMacro\printpageinnoteshyperref\printpageinnotes
\renewcommand*{\foottopagenote}{}
\renewcommand*{\pagetofootnote}{}
% \end{macrocode}
%
+% \begin{noindmacro}{\m@m@wrpnote}
+% \begin{noindmacro}{\startnoteentrystart}
+% To have \pkg{cleveref} work with page note labels,
+% the following patch writes \cs{thepagenote} and also adds |\arabic{pagenote}|
+% to the first argument written to the \filenm{.ent} file:
+% \begin{sourcedisplay}
+% \cs{startnoteentry}\textred{\{}\{\cs{thepagenote}\}\{\cs{arabic}\{pagenote\}\}\textred{\}} \dots
+% \end{sourcedisplay}
+% The arabic value is required for \pkg{cleveref}.
+% \cs{thepagenote} becomes |\@firstoftwo#1| and
+% the arabic value becomes |\@secondoftwo#1|.
+%
+% Note that for print mode,\watchout[\cs{nameref}]
+% \cs{nameref} print the section name where the page notes are
+% declared in the text, but for \HTML\ it prints the name where the page notes are printed.
+% \changes{v0.84}{2020/04/02}{\pkg{lwarp-patch-memoir}: Improved \pkg{cleveref} support.}
+% \begin{macrocode}
+\xpatchcmd{\m@m@wrpnote}
+ {\string\startnoteentry{\thepagenote}}
+ {\string\startnoteentry{{\thepagenote}{\arabic{pagenote}}}}
+ {}
+ {\LWR@patcherror{memoir}{m@m@wrpnote}}
+
+\renewcommand\startnoteentrystart[4]{%
+ \prenoteinnotes%
+ \noteidinnotes{\@firstoftwo#1}{#2}%
+ \@ifmtarg{#2}{%
+% \phantomsection\def\@currentlabel{#1}% original
+ \def\@currentlabel{\@firstoftwo#1}% lwarp
+ \def\cref@currentlabel{% lwarp
+ [pagenote][\@secondoftwo#1][]\@firstoftwo#1% lwarp
+ }% lwarp
+ }{}%
+ \pagenoteanchor{#4}%
+ \pageinnotes{#3}%
+ \prenotetext%
+}
+% \end{macrocode}
+% \end{noindmacro}
+% \end{noindmacro}
+%
+%
% \subsection{Decorative text}
%
% \begin{macrocode}
@@ -78345,12 +79578,10 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewenvironment{qshade}{\shaded}{\endshaded}
% \end{macrocode}
%
-% Use the \pkg{comment} package:
+% \changes{v0.84}{2020/03/30}{\pkg{lwarp-patch-memoir}: Uses \pkg{memoir}'s
+% \cs{newcomment}, \cs{commentsoff}, \cs{commentson}.}
+%
% \begin{macrocode}
-\renewcommand*{\commentsoff}[1]{\includecomment{#1}}
-\renewcommand*{\commentson}[1]{\excludecomment{#1}}
-\LetLtxMacro\renewcomment\commentson
-
\renewcommand*{\setverbatimfont}[1]{}
\renewcommand*{\tabson}[1]{}
\renewcommand*{\tabsoff}{}
@@ -78429,6 +79660,7 @@ height:\LWR@printlength{\LWR@tempheight}%
% \subsection{Back matter}
% \label{sec:memoirbackmatter}
%
+% \begin{noindmacro}{\@@wrindexhyp}
% Redefined to write the |LWR@autoindex| counter instead of |page|.
% Note that \pkg{memoir} has two versions, depending on the use of \pkg{hyperref}.
% \begin{macrocode}
@@ -78444,7 +79676,9 @@ height:\LWR@printlength{\LWR@tempheight}%
\endgroup
\@esphack}%
% \end{macrocode}
+% \end{noindmacro}
%
+% \begin{noindmacro}{\@@wrspindexhyp}
% \label{sec:specialindex}
% \cs{specialindex} behaves like a regular \cs{index}, pointing to where
% \cs{specialindex} is used.
@@ -78464,8 +79698,10 @@ height:\LWR@printlength{\LWR@tempheight}%
}% \AtBeginDocument
% \end{macrocode}
+% \end{noindmacro}
+% \begin{noindmacro}{\@spindex}
% Patched to append |_html| to the file:
% \changes{v0.83}{2020/03/26}{\pkg{lwarp-patch-memoir}: Fixed: \cs{specialindex}.}
% \begin{macrocode}
@@ -78483,8 +79719,10 @@ height:\LWR@printlength{\LWR@tempheight}%
\@sanitize
\@wrspindex}}
% \end{macrocode}
+% \end{noindmacro}
+% \begin{noindmacro}{\makeindex}
% Patched to use |_html| filename and \cs{BaseJobname}:
% \changes{v0.58}{2018/06/22}{\pkg{lwarp-patch-memoir}: Fix for multiple indexes.}
% \begin{macrocode}
@@ -78501,7 +79739,9 @@ height:\LWR@printlength{\LWR@tempheight}%
\fi}
\catcode`\_=8%
% \end{macrocode}
+% \end{noindmacro}
+% \begin{noindmacro}{\printindex}
% Patched to use |_html| filename and \cs{BaseJobname}.
% This will later be patched by the \pkg{lwarp} core.
% \changes{v0.58}{2018/06/22}{\pkg{lwarp-patch-memoir}: Fix for multiple indexes.}
@@ -78510,6 +79750,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand{\printindex}[1][\BaseJobname]{\@input@{#1_html.ind}}
\catcode`\_=8%
% \end{macrocode}
+% \end{noindmacro}
%
% \begin{macrocode}
\DeclareDocumentCommand{\newblock}{}{}
@@ -78643,50 +79884,102 @@ height:\LWR@printlength{\LWR@tempheight}%
\endgroup%
}
% \end{macrocode}
-% ^^A *8* todo:
+
% \begin{macrocode}
% only in ccaption, not in memoir:
% \LetLtxMacro\longbitwonumcaption\bitwonumcaption%
% \LetLtxMacro\longbionenumcaption\bitwonumcaption%
% \LetLtxMacro\longbicaption\bicaption%
-
-\RenewDocumentCommand{\subtop}{O{} O{} m}{%
- \subfloat[#1][#2]{#3}%
-}
-
-\RenewDocumentCommand{\subbottom}{O{} O{} m}{%
- \subfloat[#1][#2]{#3}%
-}
% \end{macrocode}
%
-% \changes{v0.83}{2020/03/27}{\pkg{lwarp-patch-memoir}: Fixed: \cs{contsubtop}, \cs{contsubbottom}.}
+% Patches for subfloats to support additional \pkg{lwarp} labels:
% \begin{macrocode}
-\renewcommand{\contsubtop}{%
- \ContinuedFloat
- \subtop%
-}
+\renewcommand{\@memsubbody}{%
+ \bgroup
+ \let\label=\memsub@label
+ \ifdonemaincaption\else
+ \advance\csname c@\@captype\endcsname\@ne
+ \fi
+ % \refstepcounter{sub\@captype}\@contkeep%
+% \leavevmode% lwarp
+ \@ifnextchar [%
+ {\@memsubfig}%
+ {\@memsubfig[\@empty]}}
-\renewcommand{\contsubbottom}{%
- \ContinuedFloat
- \subbottom%
+\renewcommand{\@memcontsubbody}{%
+ \bgroup
+ \let\label=\memsub@label
+ \@contset
+ % \refstepcounter{sub\@captype}\@contkeep%
+% \leavevmode% lwarp
+ \@ifnextchar [%
+ {\@memsubfig}%
+ {\@memsubfig[\@empty]}}
+
+
+\long\def\@memsubfloat#1[#2][#3]#4{%
+% \@tempcnta=\@ne
+% \if@tightsubcap
+% \if@minipage
+% \@tempcnta=\z@
+% \else
+% \ifdim\lastskip=\z@
+% \@tempcnta=\@ne
+% \else
+% \@tempcnta=\tw@
+% \fi
+% \fi
+% \fi
+% \if@contbotsub
+% \def\subfig@top{\subfloattopskip}%
+% \def\subfig@bottom{\subfloatbottomskip}%
+% \else
+% \def\subfig@top{\subfloatbottomskip}%
+% \def\subfig@bottom{\subfloattopskip}%
+% \fi
+% \setbox\@tempboxa \hbox{#4}%
+% \@tempdima=\wd\@tempboxa
+% \vbox
+ \bgroup%
+ \mem@step@subcounter%
+% \vbox
+ \LWR@stoppars%
+ \minipagefullwidth% lwarp
+ \begin{minipage}{\linewidth}% lwarp
+ \bgroup
+% \ifcase\@tempcnta
+% \@minipagefalse
+% \or
+% \vspace{\subfig@top}
+% \or
+% \ifdim \lastskip=\z@ \else
+% \@tempskipb\subfig@top\@xaddvskip
+% \fi
+% \fi
+ \if@contbotsub
+ #4% \box\@tempboxa
+ \egroup
+ \ifx \@empty#3\relax \else
+% \vskip\subfloatcapskip
+ \@memsubcaption{#1}{#2}{#3}%
+ \fi
+ \else
+ \ifx \@empty#3\relax \else
+ \@memsubcaption{#1}{#2}{#3}%
+% \vskip\subfloatcapskip
+% \vskip\subfloatcaptopadj
+ \fi\egroup
+ #4% \box\@tempboxa
+ \fi
+% \vspace{\subfig@bottom}
+ \end{minipage}% lwarp
+ \LWR@startpars% lwarp
+ \egroup
+\egroup
}
% \end{macrocode}
-% \begin{macrocode}
-\renewcommand{\subconcluded}{}
-
-\let\contsubtable\contsubtop
-\let\contsubfigure\contsubbottom
-% \end{macrocode}
-% ^^A *8* todo:
-% ^^A tocloft stuff
-% \begin{macrocode}
-\newcommand{\newfloatentry}[4][\@empty]{TODO: newfloatentry}
-\newcommand{\newfloatlist}[5][\@empty]{TODO: newfloatlist}
-\newcommand{\newfloatenv}[4][\@empty]{TODO: newfloatenv}
-\DeclareRobustCommand{\newfloatpagesoff}[1]{}
-\DeclareRobustCommand{\newfloatpageson}[1]{}
-\newcommand{\setnewfloatindents}[3]{}
-% \end{macrocode}
+%
+% \changes{v0.84}{2020/04/05}{\pkg{lwarp-patch-memoir}: \cs{contsubtop}, etc. now as-is.}
%
%
% \subsection{Final patchwork}
@@ -78702,6 +79995,8 @@ height:\LWR@printlength{\LWR@tempheight}%
% \fi
%
%
+%
+%
% \addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
%
%
@@ -78831,8 +80126,8 @@ height:\LWR@printlength{\LWR@tempheight}%
\end{BlockClass}
}{%
\PackageError{lwarp-common-multimedia}
- {File '#2' not found}
- {Perhaps an incorrect path?}
+ {File '#2' not found}
+ {Perhaps an incorrect path?}
}%
}
% \end{macrocode}
@@ -78938,11 +80233,13 @@ height:\LWR@printlength{\LWR@tempheight}%
\newcommand*{\LWR@multimedia@percenterror}{%
\PackageError{lwarp-media9}
{%
- Do not use a percent comment
- between\MessageBreak
+ Do not use a percent comment between\MessageBreak
\protect\includemedia\space arguments%
}
- {Percent is changed to a regular character to allow its use inside a URL.}
+ {%
+ Percent is changed to a regular character\MessageBreak
+ to allow its use inside a URL.%
+ }
}
% \end{macrocode}
% \end{noindmacro}
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.ins b/Master/texmf-dist/source/latex/lwarp/lwarp.ins
index dc5805e34b3..eded7a542a4 100644
--- a/Master/texmf-dist/source/latex/lwarp/lwarp.ins
+++ b/Master/texmf-dist/source/latex/lwarp/lwarp.ins
@@ -86,6 +86,7 @@ version 2005/12/01 or later.
\file{lwarp-booktabs.sty}{\from{lwarp.dtx}{booktabs}}
\file{lwarp-bophook.sty}{\from{lwarp.dtx}{bophook}}
\file{lwarp-bounddvi.sty}{\from{lwarp.dtx}{bounddvi}}
+\file{lwarp-boxedminipage.sty}{\from{lwarp.dtx}{boxedminipage}}
\file{lwarp-boxedminipage2e.sty}{\from{lwarp.dtx}{boxedminipage2e}}
\file{lwarp-braket.sty}{\from{lwarp.dtx}{braket}}
\file{lwarp-breakurl.sty}{\from{lwarp.dtx}{breakurl}}