summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/lwarp/lwarp.dtx')
-rw-r--r--Master/texmf-dist/source/latex/lwarp/lwarp.dtx1351
1 files changed, 874 insertions, 477 deletions
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
index b33c56507f6..a5004000864 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> [2019/03/21 v0.69 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2019/04/03 v0.70 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -75,6 +75,7 @@
\newunicodechar{₦}{\textnaira}
\newunicodechar{₱}{\textpeso}
\newunicodechar{℞}{\textrecipe}
+\newunicodechar{‽}{\textinterrobang}
\newunicodechar{⸘}{\textinterrobangdown}
\newunicodechar{‰}{\textperthousand}
\newunicodechar{‱}{\textpertenthousand}
@@ -2041,9 +2042,17 @@ A line break will occur in the text where the \cs{marginBlock} occurs.
\newcommand{\limitssaveboxes}{%
\trouble{boxes}
\trouble{HTML>corrupted}
+\trouble{savebox=\cs{savebox}}
+\trouble{sbox=\cs{sbox}}
+\trouble{lrbox=\env{lrbox}}
+\trouble{usebox=\cs{usebox}}
\TeX\ boxes are placed inline and do not allow line breaks, so boxes
+\watchout[boxes]
with long contents may overflow the line during \HTML\ conversion.
\pkg{lwarp} uses methods which help avoid this problem.
+
+\cs{savebox} and related do not (yet) support \env{minipage} or \cs{parbox}.
+\watchout[\env{minipage}, \cs{parbox}]
}
\newcommand{\limitsminipage}{%
@@ -2340,7 +2349,8 @@ Some units will require that the expression be placed inside math mode.
\textred{NOTE: As of this writing, the \pkg{siunitx} extension
for \brand{MathJax} is not currently hosted at any public CDN,
thus \pkg{siunitx} is not usable with \brand{MathJax} unless a local copy
-of this extension is created first.}
+of this extension is created first.
+See \cs{MathJaxFilename} to select a custom MathJax script.}
Tabular \texttt{S} columns are rendered as simple \texttt{c} columns,
\trouble[\env{tabular}]{siunitx=\pkg{siunitx}>tabular S and s columns}
@@ -2552,7 +2562,7 @@ This boolean may be tested by the user for later use.
%<*package>
% \fi
%
-% \CheckSum{31088}
+% \CheckSum{31232}
%
% \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
@@ -2664,6 +2674,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.67}{2019/02/23}{\ 2019/02/23}
% \changes{v0.68}{2019/03/05}{\ 2019/03/05}
% \changes{v0.69}{2019/03/21}{\ 2019/03/21}
+% \changes{v0.70}{2019/04/03}{\ 2019/04/03}
@@ -2878,6 +2889,23 @@ This boolean may be tested by the user for later use.
%
% \begin{description}
% \needspace{2\baselineskip}
+% \item[v0.70:] Error handling, \brand{MathJax}, \pkg{mathtools}.
+% \begin{itemize}
+% \item Error handling for ``Label(s) changed.''
+% Refuse to \cmds{lwarpmk limages} until recompile first.
+% \item Fix: If Computer Modern font is used, ensures \pkg{cm-super} or \pkg{lmodern}
+% is used.
+% \item Fixes for \cs{makebox}.
+% \item Fixes for \cs{parbox} inside a \element{span}.
+% \item MathJax: Updated to v2.7.5. Loads the \filenm{autoload-all.js} extension.
+% Added \cs{MathJaxFilename} to select custom scripts.
+% \item \pkg{textcomp}, \pkg{xunicode}: Fix for \cs{textinterrobang}.
+% \margintag{packages}
+% \item \pkg{mhchem}: Works with \brand{MathJax}. See \cref{sec:mhchem}.
+% \item \pkg{changes}: Updated to v3.1.2.
+% \item Added \pkg{autonum}, \pkg{changelayout}, \pkg{inputtrc}, \pkg{mathtools}, \pkg{metalogox}.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.69:] Error handling, many fixes, improved \pkg{keyfloat} \Slash \pkg{tocdata}.
% \begin{itemize}
% \item Fix for \HTML\ corruption of \env{lateximage} displays.
@@ -3708,7 +3736,7 @@ This boolean may be tested by the user for later use.
% \margintag{math}
% \item Improved \cs{ensuremath}.
% \item \brand{MathJax} with \pkg{siunitx}: Updated script and documentation.
-% \item \pkg{textcomp}: Improved \cs{interrobangdown}.
+% \item \pkg{textcomp}: Improved \cs{textinterrobangdown}.
% \margintag{symbols}
% \item \pkg{realscripts}: Fix for subscripts in a \env{lateximage}.
% \item \pkg{morewrites}: Enforces loading before \pkg{lwarp}.
@@ -4451,7 +4479,7 @@ This boolean may be tested by the user for later use.
% Page layout: & \pkg{2in1}, \pkg{2up}, \pkg{a4}, \pkg{a4wide}, \pkg{a5comb},
% \pkg{addlines}, \pkg{anysize}, \pkg{atbegshi},
% \pkg{blowup}, \pkg{booklet}, \pkg{bophook}, \pkg{bounddvi}, \pkg{bxpapersize},
-% \pkg{canoniclayout},
+% \pkg{canoniclayout}, \pkg{changelayout},
% \pkg{changepage}, \pkg{chngpage}, \pkg{clrdblpg},
% \pkg{continue}, \pkg{draftcopy}, \pkg{draftfigure}, \pkg{draftwatermark},
% \pkg{ebook}, \pkg{everyshi},
@@ -4537,7 +4565,8 @@ This boolean may be tested by the user for later use.
% \pkg{amsthm}, \pkg{ntheorem}, \pkg{theorem}. \\
%
% Additional math: & Math fonts via \SVG\ images,
-% \pkg{breqn}, \pkg{cases}, \pkg{resizegather}, \pkg{xfakebold}, \pkg{xy}.
+% \pkg{breqn}, \pkg{cases}, \pkg{mathtools}, \pkg{resizegather},
+% \pkg{autonum} (ignored), \pkg{xfakebold}, \pkg{xy}.
%
% Tested to work as-is:
% \pkg{amscd}, \pkg{bm}, \pkg{braket}, \pkg{delarray}, \pkg{guass}, \pkg{nicematrix},
@@ -4669,7 +4698,9 @@ This boolean may be tested by the user for later use.
%
% Symbols: & Native \LaTeX\ diacriticals, \pkg{academicons}, \pkg{bbding},
% \pkg{chemgreek}, \pkg{dingbat}, \pkg{eurosym},
-% \pkg{fontawesome}, \pkg{fontawesome5}, \pkg{marvosym}, \pkg{pifont}, \pkg{textalpha},
+% \pkg{fontawesome}, \pkg{fontawesome5}, \pkg{marvosym},
+% \pkg{metalogo}, \pkg{metalogox},
+% \pkg{pifont}, \pkg{textalpha},
% \pkg{textcomp}, \pkg{textgreek}, \pkg{typicons}, \pkg{xunicode}.
%
% Tested to work as-is:
@@ -4678,7 +4709,7 @@ This boolean may be tested by the user for later use.
% \midrule
%
% Files: &
-% \pkg{attachfile}, \pkg{attachfile2}, \pkg{hyperxmp}, \pkg{intopdf},
+% \pkg{attachfile}, \pkg{attachfile2}, \pkg{hyperxmp}, \pkg{inputtrc}, \pkg{intopdf},
% \pkg{pdfpages}, \pkg{pdfx}, \pkg{xmpincl}. \\
%
% \midrule
@@ -6230,7 +6261,8 @@ This boolean may be tested by the user for later use.
%
%
% \pkg{lwarp} supports \pkg{book}, \pkg{report}, and \pkg{article} classes,
-% as well as the equivalent Koma-script classes and \pkg{memoir}.
+% as well as the equivalent Koma-script classes and \pkg{memoir}, and
+% various CJK-related classes and packages.
%
% Load the \pkg{lwarp} package immediately after the font and UTF-8 setup commands.
%
@@ -6549,6 +6581,7 @@ This boolean may be tested by the user for later use.
% \cs{packagediagramname} & The suffix for a package's \env{lateximage} \attribute{alt} tags. \\
% \midrule
% \cs{CSSFilename} & The \CSS\ for the following files. \\
+% \cs{MathJaxFilename} & The MathJax script for the following files. \\
% \midrule
% \cs{HTMLLanguage} & The \HTML\ \attribute{lang} tag. \\
% \cs{HTMLTitle} & The homepage's \element{title}, overriding \cs{title}. \\
@@ -6642,6 +6675,7 @@ This boolean may be tested by the user for later use.
%
% \ItemDescribeMacro{\linkhomename} \DescribeDefault{Home}
% Name of the link to the home page. Paragraphs are allowed.
+% Redefine with \cs{renewcommand}.
% \changes{v0.63}{2018/11/29}{Docs: \cs{linkhomename}.}
%
% \ItemDescribeCounter{tocdepth} Sectioning depth of the table of contents.
@@ -6680,6 +6714,7 @@ This boolean may be tested by the user for later use.
%
% \ItemDescribeMacro{\sidetocname} \DescribeDefault{Contents}
% Name of the side\TOC. Paragraphs are allowed.
+% Redefine with \cs{renewcommand}.
% \changes{v0.63}{2018/11/29}{Docs: \cs{sidetocname}.}
%
% \ItemDescribeCounter{FileDepth} \DescribeDefault{-5}
@@ -6751,7 +6786,7 @@ This boolean may be tested by the user for later use.
% \gindex{filename>length}
% The maximum length of the filenames generated by \pkg{lwarp}.
% ``\filenm{.html}'' is added to this length.
-% Redefine with \cs{newcommand}.
+% Redefine with \cs{renewcommand}.
%
% \ItemDescribeCounter{FootnoteDepth} \DescribeDefault{3}
% Determines where to place pending footnotes.
@@ -6767,7 +6802,8 @@ This boolean may be tested by the user for later use.
% \ItemDescribeMacro{\abstractname} \DescribeDefault{Abstract}
% The name of the abstract.
% This may also be over-written
-% by the \pkg{babel} package. Defaults to ``Abstract''.
+% by the \pkg{babel} package. Defaults to ``|Abstract|''.
+% Redefine with \cs{renewcommand}.
%
% \end{description}
%
@@ -6789,6 +6825,18 @@ This boolean may be tested by the user for later use.
% \cs{CSSFilename} may be used before each file break to set the \CSS\ for
% individual pagess of the website.
%
+% \ItemDescribeMacro{\MathJaxFilename} \marg{filename}
+% \DescribeDefault{\filenm{lwarp_mathjax.txt}} \quad
+% Sets the MathJax script file to use for the following
+% files. May be changed before each each sectioning command which would
+% cause a file split.
+%
+% The MathJax script file is copied into the head of each \HTML\ file.
+% This may be used to point to a local repository, add extensions, or change
+% the script somewhere in the middle of the document.
+% \cs{MathJaxFilename} may be used before each file break to set the script file for
+% individual pages of the website.
+%
% \ItemDescribeMacro{\HTMLLanguage} \marg{langauge} \DescribeDefault{en-US} \quad
% The \HTML\ file's \HTML\ \attribute{lang} meta tag.
% Defaults to \attribute{en-US}.
@@ -6879,10 +6927,12 @@ This boolean may be tested by the user for later use.
%
% \ItemDescribeMacro{\mathimagename} \DescribeDefault{math image}
% \label{sec:mathimagename}
+% Redefine with \cs{renewcommand}.
% \describemathimagename
%
% \ItemDescribeMacro{\packagediagramname} \DescribeDefault{diagram}
% \label{sec:packagediagramname}
+% Redefine with \cs{renewcommand}.
% \describepackagediagramname
%
% \ItemDescribeEnv{warpprint} An environment which is only used
@@ -6961,7 +7011,8 @@ This boolean may be tested by the user for later use.
% \subsection{Customizing the \CSS}
% \label{sec:csscustomization}
%
-% \DescribeMacro{\CSSFilename} \DescribeDefault{lwarp.css}
+% \DescribeMacro{\CSSFilename} \marg{filename} \DescribeDefault{lwarp.css}
+%
% \cs{CSSFilename} may be used to choose which |.css| file is used to display
% each page of the web site. Use \cs{CSSFilename} before |\begin{document}|
% to assign the style of the home page.
@@ -7197,7 +7248,7 @@ This boolean may be tested by the user for later use.
% \gindex{description>HTML meta tag}
% \gindex{meta tag, HTML>description}
% \DescribeMacro{\HTMLDescription} \marg{A description of the web page.}
-% \quad The default is no description.
+% \DescribeDefault{(none)}
%
% Each page of \HTML\ output should have its own \HTML\ meta description,
% which usually shows up in web search results,
@@ -7228,9 +7279,10 @@ This boolean may be tested by the user for later use.
% \gindex{HTML>meta tag>title}
% \gindex{title>HTML meta tag}
% \gindex{meta tag, HTML>title}
-% \DescribeMacro{\HTMLTitle} \marg{title} \quad Sets the contents
-% of the web page \element{meta name="title"} element.
-% Defaults to |\HTMLtitle{\thetitle}|.
+% \DescribeMacro{\HTMLTitle} \marg{title}
+% \DescribeDefault{\texttt{\cs{HTMLtitle}\{\cs{thetitle}\}}}
+%
+% Sets the contents of the web page \element{meta name="title"} element.
% May be set empty to cancel the meta title tag.
%
% See \cref{sec:htmlsettings} for \cs{HTMLTitleBeforeSection} and
@@ -7242,9 +7294,10 @@ This boolean may be tested by the user for later use.
% \gindex{HTML>meta tag>author}
% \gindex{author>HTML meta tag}
% \gindex{meta tag, HTML>author}
-% \DescribeMacro{\HTMLAuthor} \marg{author} \quad Sets the contents
-% of the web page \element{meta name="author"} element.
-% Defaults to |\HTMLAuthor{\theauthor}|.
+% \DescribeMacro{\HTMLAuthor} \marg{author}
+% \DescribeDefault{\texttt{\cs{HTMLAuthor}\{\cs{theauthor}\}}}
+%
+% Sets the contents of the web page \element{meta name="author"} element.
% May be set empty to cancel the meta author tag.
%
% \cs{author} may be used to create a list of authors and their affiliations,
@@ -7504,11 +7557,14 @@ This boolean may be tested by the user for later use.
% \subsection{Section names}
% \label{sec:limitssectionnames}
%
-% If using named \HTML\ files, by selecting |\booltrue{FileSectionNames}|:
+% If using named \HTML\ files, by selecting |\booltrue{FileSectionNames}|,
+% the generated filenames may be simplified by using \cs{FilenameSimplify}
+% and \cs{FilenameNullify}:
%
-% \DescribeMacro{\FilenameSimplify}
+% \DescribeMacro{\FilenameSimplify} \marg{text}
% \gindex{filename>simplify}
% \gindex{section>file names}
+%
% To remove common short words from the automatically-generated filenames,
% replacing each with a single hyphen ``|-|'',
% use \cs{FilenameSimplify}:
@@ -7526,7 +7582,8 @@ This boolean may be tested by the user for later use.
% to a single hyphen ``|-|''.
% Finally, single hyphens at the start or end of the filename are removed.
%
-% \DescribeMacro{\FilenameNullify}
+% \DescribeMacro{\FilenameNullify} \marg{macros}
+%
% Macro names may appear in the automatically-generated file names.
% \trouble[macros in section names]{sectioning>macro in name}
% \trouble{filename>corrupted}
@@ -10700,6 +10757,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{attachfile}
\LWR@loadafter{attachfile2}
\LWR@loadafter{authblk}
+\LWR@loadafter{autonum}
\LWR@loadafter{axessibility}
\LWR@loadafter{axodraw2}
\LWR@loadafter{backref}
@@ -10729,6 +10787,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{cases}
% \LWR@loadafter{ccaption}% may be preloaded by memoir
\LWR@loadafter{changebar}
+\LWR@loadafter{changelayout}
\LWR@notmemoirloadafter{changepage}
\LWR@loadafter{changes}
\LWR@loadafter{chappg}
@@ -10853,6 +10912,7 @@ This boolean may be tested by the user for later use.
\LWR@notmemoirloadafter{index}
% inputenc must be loaded before lwarp
% inputenx must be loaded before lwarp
+% inputtrc may be loaded before lwarp
\LWR@loadafter{intopdf}
\LWR@loadafter{karnaugh-map}
\LWR@loadafter{keyfloat}
@@ -10883,10 +10943,12 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{marginfix}
\LWR@loadafter{marginnote}
\LWR@loadafter{marvosym}
+\LWR@loadafter{mathtools}
\LWR@loadafter{mcaption}
\LWR@loadafter{mdframed}
\LWR@loadafter{memhfixc}
\LWR@loadafter{metalogo}
+\LWR@loadafter{metalogox}
\LWR@loadafter{mhchem}
\LWR@loadafter{microtype}
\LWR@loadafter{midfloat}
@@ -11212,6 +11274,43 @@ This boolean may be tested by the user for later use.
% \end{macrocode}
%
%
+% \section{Avoid a bitmapped font}
+%
+% If \DVI\ or \PDF\ \LaTeX,
+% and if the default Computer Modern is the selected font family,
+% ensure that \pkg{cm-super} or \pkg{lmodern} is used to provide a vector font.
+%
+% \changes{v0.70}{2019/03/25}{Ensure vector font.}
+% \begin{macrocode}
+\ifxetexorluatex
+\else
+ \ifdefstring{\f@family}{cmr}{
+ \IfFileExists{type1ec.sty}% found in cm-super
+ {}
+ {% cm-super not installed
+ \IfFileExists{lmodern.sty}{
+ \PackageInfo{lwarp}{cm-super not installed, loading lmodern}
+ \RequirePackage{lmodern}
+ }{
+ \PackageError{lwarp}
+ {%
+ Lwarp requires a vector font.\MessageBreak
+ Install and load cm-super, lmodern, or another\MessageBreak
+ Type-1 vector font before loading lwarp%
+ }
+ {%
+ Install cm-super or lmodern.\MessageBreak
+ If lmodern, load it before lwarp:\MessageBreak
+ \space\space\protect\usepackage{lmodern}\MessageBreak
+ \space\space\protect\usepackage{lwarp}%
+ }
+ }
+ }% cm-super not installed
+ }{}% f@family
+\fi
+% \end{macrocode}
+%
+%
% \section{Upright quotes}
%
% In PDF\TeX, preserve upright quotes in verbatim text.
@@ -12743,8 +12842,10 @@ This boolean may be tested by the user for later use.
% Maybe nullify the \env{comment} environment if the new package
% will be redefining it for a new purpose.
% \changes{v0.67}{2019/02/15}{\pkg{easyReview}: Supported.}
+% \changes{v0.70}{2019/03/23}{\pkg{changes}: Updated to v3.1.2.}
% \begin{macrocode}
\ifdefstring{\LWR@strresulttwo}{easyReview}{\LWR@nullifycomment}{}%
+ \ifdefstring{\LWR@strresulttwo}{changes}{\LWR@nullifycomment}{}%
% \end{macrocode}
% If \HTML, check if the package should be loaded before \pkg{lwarp},
% or never at all:
@@ -15035,6 +15136,11 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;}
overflow: auto;
}
+.inlineminipage {
+ display: inline-block ;
+ text-align: left
+}
+
/* Paragraphs in the flexbox did not collapse their margins. */
/* Have not yet researched this. */
.minipage p {margin: .75ex 0em .75ex 0em ;}
@@ -16626,12 +16732,24 @@ page_compositor "."
% \subsection{\filenm{lwarp_mathjax.txt}}
% \DescribeFile{lwarp_mathjax.txt}
-% Used by \pkg{lwarp} when using \brand{MathJax}.
-%
-% This must be present when compiling the project,
-% but does not need to be present when distributing
+% The default MathJax script used by \pkg{lwarp} when using \brand{MathJax}.
+% A recent version of MathJax is used, as served by the recommended repository.
+% Adjustments are made to allow \LaTeX\ to control the equation tags.
+%
+% \cs{MathJaxFilename} determines which script file is copied into the \HTML\ pages,
+% and defaults to \filenm{lwarp_mathjax.txt}.
+% The script files must be present when compiling the project,
+% but do not need to be present when distributing
% the resulting \HTML\ files.
%
+% \gindex{MathJax=\brand{MathJax}>custom script}
+% \trouble{MathJax=\brand{MathJax}>custom script}
+% To generate a custom script, such as to use a local repository,
+% \margintag{custom script}
+% copy \filenm{lwarp_mathjax.txt} to a new file,
+% make changes while keeping \pkg{lwarp}'s adjustments for equation numbering,
+% and use \cs{MathJaxFilename} to select new filename.
+%
% \changes{v0.28}{2017/04/11}{File: \filenm{lwarp_mathjax.txt}: Updated \protect\acro{CDN} repository.}
% \changes{v0.30}{2017/04/26}{Fix: \filenm{lwarp_mathjax.txt}: Only written in print mode.}
% \changes{v0.34}{2017/07/27}{File: \filenm{lwarp_mathjax.txt}: Version change.}
@@ -16641,7 +16759,8 @@ page_compositor "."
% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp_mathjax.txt}: Updated to MathJax v2.7.4.}
% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric MathJax equations.}
% \changes{v0.62}{2018/11/05}{File: \filenm{lwarp_mathjax.txt}: Removed inoperable \pkg{siunitx} extension.}
-%
+% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Updated to MathJax v2.7.5.}
+% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Loads \filenm{autoload-all.js} extension.}
%
% ^^A *lwarp_mathjax.txt
%
@@ -16721,16 +16840,17 @@ MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () {
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: {
- equationNumbers: {
- autoNumber: "AMS"
- }
+ extensions: ["autoload-all.js"] ,
+ equationNumbers: {
+ autoNumber: "AMS"
+ }
}
});
</script>
<!-- Alternative CDN provider: -->
<script type="text/javascript" async
-src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML-full">
+src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_HTML-full">
</script>
<!-- No longer supported after April 30, 2017: -->
@@ -16881,7 +17001,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-
-- Copyright 2016-2018 Brian Dunn
-printversion = "v0.69"
+printversion = "v0.70"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -17283,7 +17403,7 @@ function warnlimages ()
print ("lwarpmk: \"" .. sourcename .. "-images.txt\" does not exist.")
print ("lwarpmk: Your project does not use SVG math or other lateximages,")
print ("lwarpmk: or the file has been deleted somehow.")
- print ("lwarpmk: Use \"lwarpmk html\" to recompile your project")
+ print ("lwarpmk: Use \"lwarpmk html1\" to recompile your project")
print ("lwarpmk: and recreate \"" .. sourcename .. "-images.txt\".")
print ("lwarpmk: If your project does not use SVG math or other lateximages,")
print ("lwarpmk: then \"" .. sourcename .. "-images.txt\" will never exist, and")
@@ -17296,8 +17416,9 @@ function warnlimagesrecompile ()
-- Warning if must recompile before creating limages:
print ("")
print ("lwarpmk: ===")
+ print ("lwarpmk: Cross-references are not yet correct.")
print ("lwarpmk: The document must be recompiled before creating the lateximages.")
- print ("lwarpmk: Enter \"lwarpmk html\" again, then try \"lwarpmk limages\" again.")
+ print ("lwarpmk: Enter \"lwarpmk html1\" again, then try \"lwarpmk limages\" again.")
print ("lwarpmk: ===")
end --warnlimagesrecompile
@@ -18879,6 +19000,7 @@ end -- not --version
% \changes{v0.20}{2016/12/24}{Fix: Minipages inside a span.}
% \changes{v0.34}{2017/07/29}{Fix: Minipages, BlocksClass, and lists inside a span.}
% \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.}
%
% \begin{macrocode}
\newcommand*{\LWR@nestspanitem}{%
@@ -18896,7 +19018,9 @@ end -- not --version
{% not in a lateximage
\LWR@traceinfo{LWR@nestspan: NOT inside a lateximage}%
\addtocounter{LWR@spandepth}{1}%
- \RenewDocumentEnvironment{minipage}{O{t} o O{t} m}{}{}%
+ \RenewDocumentEnvironment{minipage}{O{t} o O{t} m}%
+ {\LWR@subhtmlelementclass{span}{inlineminipage}}%
+ {\LWR@htmltagc{/span}}%
\RenewDocumentEnvironment{BlockClass}{o m}{}{}%
\renewcommand{\BlockClassSingle}[2]{##2}%
\renewcommand{\LWR@forcenewpage}{}%
@@ -19581,10 +19705,11 @@ end -- not --version
% \end{macrocode}
% Print a closing tag and some extra vertical space.
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.70}{2019/03/25}{Reduced underfull \cs{hbox} warnings.}
% \begin{macrocode}
\leavevmode\LWR@orignewline%
\LWR@htmltagc{/\LWR@tagregularparagraph}%
- \LWR@orignewline%
+ \LWR@origpar%
% \end{macrocode}
% No longer doing a paragraph:
% \begin{macrocode}
@@ -19912,6 +20037,51 @@ end -- not --version
+
+
+% \section{MathJax script}
+
+% \codehtml
+% \begin{macrocode}
+\begin{warpHTML}
+% \end{macrocode}
+
+% \begin{macro}{\LWR@mathjaxfilename}
+% \DescribeDefault{\filenm{lwarp_mathjax.txt}}
+% The MathJax script filename to use.
+% This file is copied into the head of each \HTML\ page.
+% This may be changed mid-document using \cs{MathJaxFilename},
+% allowing the use of a custom MathJax script, such as for a local repository,
+% or different MathJax script files to be used for different sections of the document.
+%
+% \changes{v0.70}{2019/03/24}{Added.}
+% \begin{macrocode}
+\newcommand*{\LWR@mathjaxfilename}{lwarp_mathjax.txt}
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macro}{\MathJaxFilename} \marg{filename} \qquad
+% Assigns the MathJax script file to be used by the following \HTML\ pages.
+%
+% \changes{v0.70}{2019/03/24}{Added.}
+% \begin{macrocode}
+\newcommand*{\MathJaxFilename}[1]{%
+ \renewcommand*{\LWR@mathjaxfilename}{#1}%
+ \@onelevel@sanitize\LWR@mathjaxfilename%
+}
+
+\end{warpHTML}
+% \end{macrocode}
+%
+% \codeprint
+% \begin{macrocode}
+\begin{warpprint}
+\newcommand*{\MathJaxFilename}[1]{}
+\end{warpprint}
+% \end{macrocode}
+% \end{macro}
+
+
% \section{Title, \HTML\ meta author, \HTML\ meta description}
%
%
@@ -22252,7 +22422,7 @@ end -- not --version
% ^^A \verbatiminput{lwarp_KaTeX.txt}%
% ^^A }{%
% \begin{macrocode}
- \verbatiminput{lwarp_mathjax.txt}%
+ \verbatiminput{\LWR@mathjaxfilename}%
% \end{macrocode}
% ^^A }%
% \begin{macrocode}
@@ -22389,16 +22559,6 @@ end -- not --version
\let\LWR@origltx@label\ltx@label
\let\ltx@label\LWR@htmlmathlabel
% \end{macrocode}
-% Logos:
-% \begin{macrocode}
-\LetLtxMacro\TeX\LWR@TeX
-\LetLtxMacro\LaTeX\LWR@LaTeX
-\LetLtxMacro\LuaTeX\LWR@LuaTeX
-\LetLtxMacro\LuaLaTeX\LWR@LuaLaTeX
-\LetLtxMacro\XeTeX\LWR@XeTeX
-\LetLtxMacro\XeLaTeX\LWR@XeLaTeX
-\LetLtxMacro\ConTeXt\LWR@ConTeXt
-% \end{macrocode}
% Not yet started any paragraph handling:
% \begin{macrocode}
\global\boolfalse{LWR@doingapar}
@@ -22569,25 +22729,52 @@ end -- not --version
% Seems to be required sometimes:
% \begin{macrocode}
\LWR@orignewpage
-% \end{macrocode}
-% For \env{lateximage} commands:
-% \begin{macrocode}
-\immediate\write\LWR@lateximagesfile{%
- |end|end|end|%
-}%
-\immediate\closeout\LWR@lateximagesfile
}
% \end{macrocode}
% \end{macro}
+
+% \begin{macro}{\enddocument}
+% If labels have not changed, mark successful completion
+% of the \env{lateximages} file.
+% Executed as everything is being shut down.
+% \changes{v0.70}{2019/03/26}{If labels changed, require recompile before making limages.}
% \begin{macrocode}
-\end{warpHTML}
+\xpatchcmd{\enddocument}
+ {%
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \fi
+ }
+ {%
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
+ \else
+ \immediate\write\LWR@lateximagesfile{%
+ |end|end|end|%
+ }%
+ \fi
+ }
+ {}
+ {
+ \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}
+% \end{macro}
-
-
-
+% \begin{macrocode}
+\end{warpHTML}
+% \end{macrocode}
% \section{Title page}
@@ -22652,7 +22839,7 @@ end -- not --version
% \DescribeMacro{\@title}
% \DescribeMacro{\@author}
% \DescribeMacro{\@date}
-% \cs{@title}, \cs{@author}, etc.\ store the values
+% \cs{@title}, \cs{@author}, and \cs{@date} \ store the values
% as originally assigned, including any \cs{thanks}, \cs{and}, or \cs{affiliation}.
% These are low-level macros intended to be used by other macros
% only inside a \env{titlepage} or \env{titlingpage},
@@ -22674,6 +22861,7 @@ end -- not --version
% \DescribeMacro{\thetitle}
% \DescribeMacro{\theauthor}
% \DescribeMacro{\thedate}
+% \DescribeMacro{\HTMLPageBottom}
% \cs{thetitle}, \cs{theauthor}, and \cs{thedate} are available
% if \pkg{titling} has been loaded, and are sanitized user-level
% versions from which have been removed the \cs{thanks} and \cs{affiliation},
@@ -22683,13 +22871,11 @@ end -- not --version
% Thus, these commands are to be used in the main text whenever the user
% wishes to refer to the document's title and such. One practical use for this
% is to place the authors at the bottom of each \HTML\ page, such as:
-%
-% \DescribeMacro{\HTMLPageBottom} \marg{text}
-% \begin{Verbatim}[gobble=2,frame=lines,obeytabs,tabsize=4]
+% \begin{sourceverb}
% \HTMLPageBottom{
-% \begin{center}\textcopyright~2016 \theauthor\end{center}
+% \begin{center}\textcopyright~2016 \theauthor\end{center}
% }
-% \end{Verbatim}
+% \end{sourceverb}
%
% \cs{theauthor} does not work well if \pkg{authblk} is used.
% \trouble[\cs{theauthor}, \pkg{authblk}]{theauthor=\cs{theauthor} and \pkg{authblk}}
@@ -23317,7 +23503,8 @@ end -- not --version
% \subsection{Attributions}
-% \begin{macro}{\attribution}
+% \begin{macro}{\attribution} \marg{name}
+%
% For use with quote, quotation, verse:
%
% Ex: |"A quotation." \attribution{\textsc{Author Name}\\\textsl{Book Title}}|
@@ -28910,13 +29097,13 @@ autopage-\theLWR@currentautosec%
\newcommand*{\LWR@newautoidanchor}{%
\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
{}%
-{
+{%
\ifbool{LWR@freezethisautoid}{}{%
\addtocounter{LWR@thisautoid}{1}%
\LWR@htmltag{a id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}"}%
\LWR@htmltag{/a}%
}%
-}
+}%
}
% \end{macrocode}
% \end{macro}
@@ -29079,7 +29266,7 @@ autopage-\theLWR@currentautosec%
% \changes{v0.58}{2018/06/07}{Improved print/\HTML\ output selection.}
% \begin{macrocode}
\newcommand*{\LWR@HTML@caption@begin}[1]
-{
+{%
\LWR@traceinfo{LWR@HTML@caption@begin}%
% \end{macrocode}
% Keep par and minipage changes local:
@@ -30142,6 +30329,10 @@ autopage-\theLWR@currentautosec%
\let\textellipsis\LWR@origtextellipsis%
\let\textless\LWR@origtextless%
\let\textgreater\LWR@origtextgreater%
+% \end{macrocode}
+% \changes{v0.70}{2019/03/28}{Fix: \cs{\&} in a lateximage.}
+% \begin{macrocode}
+\let\&\LWR@origampersand%
\LetLtxMacro\rmfamily\LWR@origrmfamily%
\LetLtxMacro\sffamily\LWR@origsffamily%
\LetLtxMacro\ttfamily\LWR@origttfamily%
@@ -30186,10 +30377,6 @@ autopage-\theLWR@currentautosec%
% \begin{macrocode}
\let\newline\LWR@orignewline%
\LetLtxMacro\includegraphics\LWR@origincludegraphics%
-\let\TeX\LWR@origTeX%
-\let\LaTeX\LWR@origLaTeX%
-\let\LaTeXe\LWR@origLaTeXe%
-\renewcommand*{\Xe}{X\textsubscript{E}}%
% \end{macrocode}
% \changes{v0.42}{2017/10/16}{Improved \cs{ensuremath}.}
% \begin{macrocode}
@@ -30390,13 +30577,13 @@ autopage-\theLWR@currentautosec%
\LWR@origincludegraphics{\LWR@baselinename}%
}
}{
- \PackageWarning{lwarp}{Load graphicx or graphics
+ \PackageWarningNoLine{lwarp}{Load graphicx or graphics
for improved SVG math baselines,}
\newcommand*{\LWR@addbaselinemarker}{}
}
}
}{% lwarp_baseline_marker.png or .eps is not present
- \PackageWarning{lwarp}{File \LWR@baselinename\space is not installed alongside
+ \PackageWarningNoLine{lwarp}{File \LWR@baselinename\space is not installed alongside
the lwarp-*.sty files, so SVG math baselines may not be accurate,}
\newcommand*{\LWR@addbaselinemarker}{}
}
@@ -31114,7 +31301,8 @@ autopage-\theLWR@currentautosec%
% \subsection{Equation environment}
%
-% Remember existing \env{equation} environment:
+% Remember existing \env{equation} environment,
+% after redefined by \pkg{amsmath}, if loaded.
% \begin{macrocode}
\AtBeginDocument{
\let\LWR@origequation\equation
@@ -32461,7 +32649,14 @@ autopage-\theLWR@currentautosec%
}
% \end{macrocode}
% \end{macro}
-%
+
+% If \pkg{inputtrc} was loaded before \pkg{lwarp},
+% as is usually done,
+% explicitly load the lwarp patches now:
+% \begin{macrocode}
+\LWR@PreloadedPackage{inputtrc}
+% \end{macrocode}
+
% If \pkg{textcomp} was loaded before \pkg{lwarp},
% perhaps as part of the font-related packages,
% explicitly load the lwarp patches now:
@@ -32897,7 +33092,7 @@ autopage-\theLWR@currentautosec%
%
% \begin{macrocode}
\AtEndPreamble{
-\RequirePackage{cleveref}
+ \RequirePackage{cleveref}
}
% \end{macrocode}
%
@@ -33504,8 +33699,11 @@ autopage-\theLWR@currentautosec%
% \changes{v0.36}{2017/08/15}{Fix: Handles width and horiz position.}
% \changes{v0.57}{2018/05/28}{Improved print/\HTML\ output selection.}
% \changes{v0.69}{2019/03/09}{Fix: Handle paren arg.}
+% \changes{v0.70}{2019/04/02}{Fix: Accept long arg.}
+% \changes{v0.70}{2019/04/02}{Fix: No width given.}
+% \changes{v0.70}{2019/04/02}{Fix: Ignore width of 0pt.}
% \begin{macrocode}
-\NewDocumentCommand{\LWR@HTML@makebox}{>{\SplitArgument{1}{,}}d() o o m}{%
+\NewDocumentCommand{\LWR@HTML@makebox}{>{\SplitArgument{1}{,}}d() o o +m}{%
% \end{macrocode}
%
% Build the style depending on arguments:
@@ -33521,15 +33719,20 @@ autopage-\theLWR@currentautosec%
}%
}%
{% [width]
- \setlength{\LWR@tempwidth}{#2}%
- \appto{\LWR@temptwo}{%
- width:\LWR@printlength{\LWR@tempwidth} ; % space
- }%
- \IfValueT{#3}%
- {% [width] [posn]
- \LWR@@makebox@align{#3}%
+ \IfValueT{#2}% [width]
+ {%
+ \setlength{\LWR@tempwidth}{#2}%
+ \ifdimgreater{\LWR@tempwidth}{0pt}{%
+ \appto{\LWR@temptwo}{%
+ width:\LWR@printlength{\LWR@tempwidth} ; % space
+ }%
+ }{}%
}%
}%
+ \IfValueT{#3}%
+ {% [width] [posn]
+ \LWR@@makebox@align{#3}%
+ }%
\InlineClass[%
\LWR@print@mbox{display:inline-block} ; %
\LWR@temptwo%
@@ -33547,11 +33750,10 @@ autopage-\theLWR@currentautosec%
% \changes{v0.36}{2017/08/15}{Fix: Handles width and horiz position.}
% \changes{v0.57}{2018/05/28}{Improved print/\HTML\ output selection.}
% \changes{v0.69}{2019/03/09}{Fix: Handle paren arg.}
+% \changes{v0.70}{2019/04/02}{Fix: Accept long arg.}
%
% \begin{macrocode}
-\LetLtxMacro\LWR@origframebox\framebox
-
-\NewDocumentCommand{\LWR@HTML@framebox}{d() o o m}{%
+\NewDocumentCommand{\LWR@HTML@framebox}{d() o o +m}{%
\fbox{\makebox(#1)[#2][#3]{#4}}%
}
@@ -33614,7 +33816,8 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@traceinfo{HTML fbox}%
\LWR@forceminwidth{\fboxrule}%
\InlineClass[%
-\LWR@fboxstyle%
+ \LWR@print@mbox{display:inline-block} ; %
+ \LWR@fboxstyle%
]{fbox}{#1}%
}
% \end{macrocode}
@@ -33781,17 +33984,10 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
% \end{environment}
%
-% \begin{macrocode}
-\end{warpHTML}
-% \end{macrocode}
-%
-%
%
% \begin{macro}{\raisebox} \marg{raiselen} \oarg{height} \oarg{depth} \marg{text}
% \changes{v0.57}{2018/05/28}{Improved print/\HTML\ output selection.}
% \begin{macrocode}
-\begin{warpHTML}
-
\NewDocumentCommand{\LWR@HTML@raisebox}{m o o m}{%
#4%
}
@@ -35135,28 +35331,66 @@ color:\LWR@origpound\LWR@tempcolor%
% Logos for \HTML\ and print modes:
%
% Some of these logos may be redefined in a later package,
-% so after loading other packages, and at the beginning of the document, their definitions
-% are finally \cs{let} in \cs{LWR@LwarpStart}.
+% so after loading other packages, and at the beginning of the document,
+% their definitions are finally set by \cs{LWR@formatted}.
%
% For \CSS\ conversions, see: \\
% \url{http://edward.oconnor.cx/2007/08/tex-poshlet} \\
% \url{http://nitens.org/taraborelli/texlogo} \\
% and the spacing described in the \pkg{metafont} package documentation.
%
-%
-%
-% \subsection{\HTML\ logos}
-%
% \changes{v0.62}{2018/10/23}{Logos: CSS instead of \element{sup}, \element{sub}.}
% \changes{v0.62}{2018/10/23}{Logos: Improved CSS.}
% \changes{v0.62}{2018/10/23}{Logos: Made robust.}
+% \changes{v0.70}{2019/03/30}{Logos: Improved for \pkg{metalogox}, \env{lateximage}s.}
+%
+%
+% \changes{v0.62}{2018/10/23}{Logos: Fix for \XeTeX\ logo if \pkg{graphics} is not loaded.}
+%
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+\newrobustcmd*{\Xe}
+ {X\hspace{-.1667em}\raisebox{-.5ex}{E}}
+
+\AtBeginDocument{
+\@ifpackageloaded{graphics}{
+ \@ifpackageloaded{metalogo}{}{
+ \renewrobustcmd*{\Xe}
+ {X\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}}
+ }
+}{
+ \PackageWarningNoLine{lwarp}{Load graphicx or graphics
+ for improved XeTeX logo}
+}
+}
+
+\providerobustcmd*{\XeTeX}{\mbox{\Xe\hspace{-.125em}\TeX}}
+\providerobustcmd*{\XeLaTeX}{\mbox{\Xe\hspace{-.125em}\LaTeX}}
+\providerobustcmd*{\AmS}{%
+ \leavevmode\hbox{$\mathcal A\kern-.2em\lower.376ex%
+ \hbox{$\mathcal M$}\kern-.2em\mathcal S$}%
+}
+\newrobustcmd*{\LyX}{\textsf{LyX}}
+\providerobustcmd*{\LuaTeX}{\mbox{Lua\TeX}}
+\providerobustcmd*{\LuaLaTeX}{\mbox{Lua\LaTeX}}
+\providerobustcmd*{\BibTeX}{\mbox{B\textsc{ib}\TeX}}
+\providerobustcmd*{\MakeIndex}{\mbox{\textit{MakeIndex}}}
+\providerobustcmd*{\ConTeXt}{\mbox{Con\TeX{}t}}
+\providerobustcmd*{\MiKTeX}{\mbox{MiK\TeX}}
+\end{warpall}
+% \end{macrocode}
+%
+%
%
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
% \end{macrocode}
-
-
+%
+% The print-mode versions of the following may be changed by \pkg{metalogo},
+% so their print formatting is recorded \cs{AtBeginDocument}.
+%
% \begin{macro}{\TeX} \TeX
% \nopagebreak
%
@@ -35166,9 +35400,7 @@ color:\LWR@origpound\LWR@tempcolor%
% \LaTeX, \LuaTeX, \ConTeXt, etc.
% \changes{v0.42}{2017/10/20}{If \progcode{FormatWP} use explicit style.}
% \begin{macrocode}
-\LetLtxMacro\LWR@origTeX\TeX
-
-\newrobustcmd*{\LWR@TeX}
+\newrobustcmd*{\LWR@HTML@TeX}
{%
\InlineClass{latexlogofont}%
{%
@@ -35180,6 +35412,7 @@ color:\LWR@origpound\LWR@tempcolor%
}%
}%
}
+\AtBeginDocument{\LWR@formatted{TeX}}% may have been patched by metalogo
% \end{macrocode}
% \end{macro}
%
@@ -35187,9 +35420,7 @@ color:\LWR@origpound\LWR@tempcolor%
% \changes{v0.42}{2017/10/20}{If \progcode{FormatWP} use explicit style.}
% \begin{macro}{\LaTeXe} \LaTeX, \LaTeXe
% \begin{macrocode}
-\LetLtxMacro\LWR@origLaTeX\LaTeX
-
-\newrobustcmd*{\LWR@LaTeX}
+\newrobustcmd*{\LWR@HTML@LaTeX}
{%
\InlineClass{latexlogofont}%
{%
@@ -35204,9 +35435,10 @@ color:\LWR@origpound\LWR@tempcolor%
}%
}
-\LetLtxMacro\LWR@origLaTeXe\LaTeXe
+\AtBeginDocument{\LWR@formatted{LaTeX}}% may have been patched by metalogo
-\renewrobustcmd*{\LaTeXe}
+
+\newrobustcmd*{\LWR@HTML@LaTeXe}
{%
\LaTeX%
\InlineClass{latexlogofont}{%
@@ -35216,6 +35448,7 @@ color:\LWR@origpound\LWR@tempcolor%
}%
}%
}
+\AtBeginDocument{\LWR@formatted{LaTeXe}}% may have been patched by metalogo
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -35224,8 +35457,11 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\LuaTeX}
% \begin{macro}{\LuaLaTeX} \LuaTeX, \LuaLaTeX
% \begin{macrocode}
-\newrobustcmd*{\LWR@LuaTeX}{\InlineClass{latexlogofont}{Lua}\TeX}
-\newrobustcmd*{\LWR@LuaLaTeX}{\InlineClass{latexlogofont}{Lua}\LaTeX}
+\newrobustcmd*{\LWR@HTML@LuaTeX}{\InlineClass{latexlogofont}{Lua}\TeX}
+\AtBeginDocument{\LWR@formatted{LuaTeX}}% may have been patched by metalogo
+
+\newrobustcmd*{\LWR@HTML@LuaLaTeX}{\InlineClass{latexlogofont}{Lua}\LaTeX}
+\AtBeginDocument{\LWR@formatted{LuaLaTeX}}% may have been patched by metalogo
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -35241,23 +35477,28 @@ color:\LWR@origpound\LWR@tempcolor%
% |xelatexlogo| is a \CSS\ class which aligns the backwards E in \XeLaTeX{} and spaces
% \LaTeX{} appropriately.
% \begin{macrocode}
-\newrobustcmd*{\Xe}
+\newrobustcmd*{\LWR@HTML@Xe}
{%
X%
\InlineClass{xelatexlogosub}{\HTMLunicode{18e}}%
}
+\AtBeginDocument{\LWR@formatted{Xe}}% may have been patched by metalogo
-\newrobustcmd*{\LWR@XeTeX}{\InlineClass{xelatexlogo}{\Xe}\TeX}
+\newrobustcmd*{\LWR@HTML@XeTeX}{\InlineClass{xelatexlogo}{\Xe}\TeX}
+\AtBeginDocument{\LWR@formatted{XeTeX}}% may have been patched by metalogo
-\newrobustcmd*{\LWR@XeLaTeX}{\InlineClass{xelatexlogo}{\Xe}\LaTeX}
+\newrobustcmd*{\LWR@HTML@XeLaTeX}{\InlineClass{xelatexlogo}{\Xe}\LaTeX}
+\AtBeginDocument{\LWR@formatted{XeLaTeX}}% may have been patched by metalogo
% \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macro}{\ConTeXt} \ConTeXt
% \begin{macrocode}
-\newrobustcmd*{\LWR@ConTeXt}
-{\InlineClass{latexlogofont}{Con}\TeX{}%
-\InlineClass{latexlogofont}{t}}
+\newrobustcmd*{\LWR@HTML@ConTeXt}{%
+ \InlineClass{latexlogofont}{Con}\TeX{}%
+ \InlineClass{latexlogofont}{t}%
+}
+\LWR@formatted{ConTeXt}
% \end{macrocode}
% \end{macro}
%
@@ -35265,11 +35506,13 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\BibTeX}
% \begin{macro}{\MakeIndex} \BibTeX, \MakeIndex
% \begin{macrocode}
-\providerobustcmd*{\BibTeX}
-{\InlineClass{latexlogofont}{B\textsc{ib}}\TeX}
+\newrobustcmd*{\LWR@HTML@BibTeX}
+ {\InlineClass{latexlogofont}{B\textsc{ib}}\TeX}
+\LWR@formatted{BibTeX}
-\newrobustcmd*{\MakeIndex}
-{\InlineClass{latexlogofont}{\textit{MakeIndex}}}
+\newrobustcmd*{\LWR@HTML@MakeIndex}
+ {\InlineClass{latexlogofont}{\textit{MakeIndex}}}
+\LWR@formatted{MakeIndex}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -35281,7 +35524,7 @@ color:\LWR@origpound\LWR@tempcolor%
% |amslogo| is a \CSS\ class used for the \AmS\ logo.
% \begin{macrocode}
\AtBeginDocument{%
-\DeclareDocumentCommand{\AmS}{}
+\newrobustcmd*{\LWR@HTML@AmS}
{%
\InlineClass{amslogo}{%
\textit{%
@@ -35291,6 +35534,7 @@ color:\LWR@origpound\LWR@tempcolor%
}%
}%
}%
+\LWR@formatted{AmS}
}
% \end{macrocode}
% \end{macro}
@@ -35298,7 +35542,8 @@ color:\LWR@origpound\LWR@tempcolor%
%
% \begin{macro}{\MiKTeX} \MiKTeX
% \begin{macrocode}
-\newrobustcmd*{\MiKTeX}{\InlineClass{latexlogofont}{MiK}\TeX}
+\newrobustcmd*{\LWR@HTML@MiKTeX}{\InlineClass{latexlogofont}{MiK}\TeX}
+\LWR@formatted{MiKTeX}
% \end{macrocode}
% \end{macro}
%
@@ -35308,7 +35553,8 @@ color:\LWR@origpound\LWR@tempcolor%
%
% |lyxlogo| is a \CSS\ class used for the \LyX\ logo.
% \begin{macrocode}
-\newrobustcmd*{\LyX}{\InlineClass{lyxlogo}{LyX}}
+\newrobustcmd*{\LWR@HTML@LyX}{\InlineClass{lyxlogo}{LyX}}
+\LWR@formatted{LyX}
% \end{macrocode}
% \end{macro}
%
@@ -35318,43 +35564,6 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
%
%
-%
-% \subsection{Print logos}
-%
-% \changes{v0.62}{2018/10/23}{Logos: Fix for \XeTeX\ logo if \pkg{graphics} is not loaded.}
-%
-% \codeprint
-% \begin{macrocode}
-\begin{warpprint}
-
-\newrobustcmd*{\XeTeXrevE}
- {\hspace{-.1667em}\raisebox{-.5ex}{E}\hspace{-.125em}}
-
-\AtBeginDocument{
-\@ifpackageloaded{graphics}{
- \renewrobustcmd*{\XeTeXrevE}
- {\hspace{-.1667em}\raisebox{-.5ex}{\reflectbox{E}}\hspace{-.125em}}
-}{
- \PackageWarning{lwarp}{Load graphicx or graphics
- for improved XeTeX logo}
-}
-}
-
-\providerobustcmd*{\XeTeX}{\mbox{X\XeTeXrevE\TeX}}
-\providerobustcmd*{\XeLaTeX}{\mbox{X\XeTeXrevE\LaTeX}}
-\providerobustcmd*{\AmS}{%
- \leavevmode\hbox{$\mathcal A\kern-.2em\lower.376ex%
- \hbox{$\mathcal M$}\kern-.2em\mathcal S$}%
-}
-\newrobustcmd*{\LyX}{\textsf{LyX}}
-\providerobustcmd*{\LuaTeX}{\mbox{Lua\TeX}}
-\providerobustcmd*{\LuaLaTeX}{\mbox{Lua\LaTeX}}
-\providerobustcmd*{\BibTeX}{\mbox{B\textsc{ib}\TeX}}
-\providerobustcmd*{\MakeIndex}{\mbox{\textit{MakeIndex}}}
-\providerobustcmd*{\ConTeXt}{\mbox{Con\TeX{}t}}
-\providerobustcmd*{\MiKTeX}{\mbox{MiK\TeX}}
-\end{warpprint}
-% \end{macrocode}
% \section{\cs{AtBeginDocument}, \cs{AtEndDocument}}
@@ -36758,77 +36967,96 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
}% not mathjax
% \end{macrocode}
%
-% The following \AmS\ environments are more easily patched in-place:
+% The following \AmS\ environments are patched in-place:
%
% \changes{v0.44}{2017/11/16}{AMS environments: Fix: Groups for \env{lateximage}s.}
% \changes{v0.50}{2018/03/01}{AMS environments: Improved \SVG\ math display.}
% \changes{v0.51}{2018/03/11}{AMS environments: Fix: \cs{addcontentsline} inside \SVG\ math. Provides an autoid anchor.}
% \changes{v0.67}{2019/02/17}{AMS environments: Added \pkg{xfakebold} support.}
+% \changes{v0.70}{2019/03/29}{AMS environments: Refactored.}
%
-% \begin{environment}{multline}
+%
+% \begin{noindmacro}{\LWR@amsmathenv@@before} \marg{environment name}
+%
+% Embeds the environment inside a \env{lateximage}.
% \begin{macrocode}
-\BeforeBeginEnvironment{multline}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \booltrue{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
+\newcommand*{\LWR@amsmathenv@@before}[1]{%
\begin{BlockClass}{displaymathnumbered}
\LWR@newautoidanchor%
\booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{multline}]
+ \begin{lateximage}[\LWR@amsmathbodynumbered{#1}]
\LWR@applyxfakebold%
}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@amsmathenv@before} \marg{environment name}
+%
+% Embeds the environment with \brand{MathJax} or a \env{lateximage}.
+% \begin{macrocode}
+\newcommand*{\LWR@amsmathenv@before}[1]{%
+ \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+ {
+ \LWR@syncmathjax
+ \boolfalse{LWR@amsmultline}
+ \ifstrequal{#1}{multline}{\booltrue{LWR@amsmultline}}{}
+ \ifstrequal{#1}{multline*}{\booltrue{LWR@amsmultline}}{}
+% \end{macrocode}
+% \pkg{autonum}'s ``+'' environments are not supported by \brand{MathJax}.
+% \begin{macrocode}
+ \LWR@beginhideamsmath
+ }
+ {
+ \LWR@amsmathenv@@before{multline}
+ }
}
-
-\AfterEndEnvironment{multline}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \boolfalse{LWR@amsmultline}
- \LWR@addmathjax{multline}{\the\@envbody}
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@amsmathenv@@after}
+%
+% Embeds the environment inside a \env{lateximage}.
+% \begin{macrocode}
+\newcommand*{\LWR@amsmathenv@@after}{%
+ \end{lateximage}\end{BlockClass}
}
-{\end{lateximage}\end{BlockClass}}
-
+% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{noindmacro}{\LWR@amsmathenv@after} \marg{environment name}
+%
+% Embeds the environment with \brand{MathJax} or a \env{lateximage}.
+% \begin{macrocode}
+\newcommand*{\LWR@amsmathenv@after}[1]{%
+ \ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+ {
+ \LWR@endhideamsmath
+ \boolfalse{LWR@amsmultline}
+ \LWR@addmathjax{#1}{\the\@envbody}
+ }
+ {\LWR@amsmathenv@@after}
}
% \end{macrocode}
+% \end{noindmacro}
+%
+%
+% \begin{environment}{multline}
+% \begin{macrocode}
+\BeforeBeginEnvironment{multline}{\LWR@amsmathenv@before{multline}}
+
+\AfterEndEnvironment{multline}{\LWR@amsmathenv@after{multline}}
+% \end{macrocode}
% \end{environment}
% \begin{environment}{multline*}
% \begin{macrocode}
-\BeforeBeginEnvironment{multline*}{
+\BeforeBeginEnvironment{multline*}{\LWR@amsmathenv@before{multline*}}
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \booltrue{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymath}
- \LWR@newautoidanchor
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbody{multline*}]
- \LWR@applyxfakebold%
-}
-}
-
-\AfterEndEnvironment{multline*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \boolfalse{LWR@amsmultline}
- \LWR@addmathjax{multline*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
+\AfterEndEnvironment{multline*}{\LWR@amsmathenv@after{multline*}}
% \end{macrocode}
% \end{environment}
@@ -36836,197 +37064,53 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \begin{environment}{gather}
% \begin{macrocode}
-\BeforeBeginEnvironment{gather}{
+\BeforeBeginEnvironment{gather}{\LWR@amsmathenv@before{gather}}
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \boolfalse{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymathnumbered}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{gather}]
- \LWR@applyxfakebold%
-}
-}
-
-\AfterEndEnvironment{gather}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{gather}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
+\AfterEndEnvironment{gather}{\LWR@amsmathenv@after{gather}}
% \end{macrocode}
% \end{environment}
% \begin{environment}{gather*}
% \begin{macrocode}
-\BeforeBeginEnvironment{gather*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \boolfalse{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymath}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbody{gather*}]
- \LWR@applyxfakebold%
-}
-}
-
-\AfterEndEnvironment{gather*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{gather*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
+\BeforeBeginEnvironment{gather*}{\LWR@amsmathenv@before{gather*}}
-}
+\AfterEndEnvironment{gather*}{\LWR@amsmathenv@after{gather*}}
% \end{macrocode}
% \end{environment}
% \begin{environment}{align}
% \begin{macrocode}
-\BeforeBeginEnvironment{align}{
+\BeforeBeginEnvironment{align}{\LWR@amsmathenv@before{align}}
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \boolfalse{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymathnumbered}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{align}]
- \LWR@applyxfakebold%
-}
-}
-
-\AfterEndEnvironment{align}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{align}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
+\AfterEndEnvironment{align}{\LWR@amsmathenv@after{align}}
% \end{macrocode}
% \end{environment}
% \begin{environment}{align*}
% \begin{macrocode}
-\BeforeBeginEnvironment{align*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \boolfalse{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymath}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbody{align*}]
- \LWR@applyxfakebold%
-}
-}
+\BeforeBeginEnvironment{align*}{\LWR@amsmathenv@before{align*}}
-\AfterEndEnvironment{align*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{align*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
+\AfterEndEnvironment{align*}{\LWR@amsmathenv@after{align*}}
% \end{macrocode}
% \end{environment}
% \begin{environment}{flalign}
% \begin{macrocode}
-\BeforeBeginEnvironment{flalign}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \boolfalse{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymathnumbered}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{flalign}]
- \LWR@applyxfakebold%
-}
-}
-
-\AfterEndEnvironment{flalign}{
+\BeforeBeginEnvironment{flalign}{\LWR@amsmathenv@before{flalign}}
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{flalign}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
+\AfterEndEnvironment{flalign}{\LWR@amsmathenv@after{flalign}}
% \end{macrocode}
% \end{environment}
% \begin{environment}{flalign*}
% \begin{macrocode}
-\BeforeBeginEnvironment{flalign*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \boolfalse{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymath}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbody{flalign*}]
- \LWR@applyxfakebold%
-}
-}
-
-\AfterEndEnvironment{flalign*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{flalign*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
+\BeforeBeginEnvironment{flalign*}{\LWR@amsmathenv@before{flalign*}}
-}
+\AfterEndEnvironment{flalign*}{\LWR@amsmathenv@after{flalign*}}
% \end{macrocode}
% \end{environment}
@@ -37034,66 +37118,18 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \begin{environment}{alignat}
% \changes{v0.51}{2018/03/11}{Fix: Added.}
% \begin{macrocode}
-\BeforeBeginEnvironment{alignat}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \boolfalse{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymathnumbered}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{alignat}]
- \LWR@applyxfakebold%
-}
-}
-
-\AfterEndEnvironment{alignat}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{alignat}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
+\BeforeBeginEnvironment{alignat}{\LWR@amsmathenv@before{alignat}}
-}
+\AfterEndEnvironment{alignat}{\LWR@amsmathenv@after{alignat}}
% \end{macrocode}
% \end{environment}
% \begin{environment}{alignat*}
% \begin{macrocode}
-\BeforeBeginEnvironment{alignat*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \boolfalse{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymath}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbody{alignat*}]
- \LWR@applyxfakebold%
-}
-}
-
-\AfterEndEnvironment{alignat*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{alignat*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
+\BeforeBeginEnvironment{alignat*}{\LWR@amsmathenv@before{alignat*}}
-}
+\AfterEndEnvironment{alignat*}{\LWR@amsmathenv@after{alignat*}}
% \end{macrocode}
% \end{environment}
%
@@ -38146,10 +38182,85 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
\renewcommand*{\authorcr}{\protect\LWR@newlinebr}
% \end{macrocode}
%
+% \iffalse
+%</authblk>
+% \fi
+%
+%
+%
%
%
% \iffalse
-%</authblk>
+%<*autonum>
+% \fi
+%
+% \part{lwarp-autonum.sty}
+%
+% \section{autonum}
+%
+% \DescribePackage{autonum}
+% \pkg{autonum} is ignored.
+%
+% All equations are numbered in \HTML\ output.
+% \trouble[numbering]{autonum=\pkg{autonum}}
+%
+% \brand{MathJax} does not support the ``+'' environments.
+%
+% \changes{v0.70}{2019/03/28}{\pkg{autonum}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{autonum}[2015/01/18]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\RequirePackage{amsmath}
+
+
+\newenvironment{equation+}{\equation}{\endequation}
+
+
+\newenvironment{gather+}{\gather}{\endgather}
+
+\BeforeBeginEnvironment{gather+}{\LWR@amsmathenv@@before{gather+}}
+
+\AfterEndEnvironment{gather+}{\LWR@amsmathenv@@after}
+
+
+\newenvironment{multline+}{\multline}{\endmultline}
+
+\BeforeBeginEnvironment{multline+}{\LWR@amsmathenv@@before{multline+}}
+
+\AfterEndEnvironment{multline+}{\LWR@amsmathenv@@after}
+
+
+\newenvironment{flalign+}{\flalign}{\endflalign}
+
+\BeforeBeginEnvironment{flalign+}{\LWR@amsmathenv@@before{flaline+}}
+
+\AfterEndEnvironment{flalign+}{\LWR@amsmathenv@@after}
+
+
+\newenvironment{align+}{\align}{\endalign}
+
+\BeforeBeginEnvironment{align+}{\LWR@amsmathenv@@before{aline+}}
+
+\AfterEndEnvironment{align+}{\LWR@amsmathenv@@after}
+
+
+\newenvironment{alignat+}{\alignat}{\endalignat}
+
+\BeforeBeginEnvironment{alignat+}{\LWR@amsmathenv@@before{alineat+}}
+
+\AfterEndEnvironment{alignat+}{\LWR@amsmathenv@@after}
+
+
+\newenvironment{split+}{\split}{\endsplit}
+% \end{macrocode}
+%
+% \iffalse
+%</autonum>
% \fi
%
%
@@ -39626,7 +39737,11 @@ s%
\let\caption@makeanchor\@firstofone
\fi
\@makecaption{\csname fnum@#1\endcsname}%
- {\ignorespaces\caption@makeanchor{#3}}\par
+ {\ignorespaces\caption@makeanchor{#3}}%
+% \end{macrocode}
+% \changes{v0.70}{2019/03/24}{\pkg{caption}: Fix: Extra par tags.}
+% \begin{macrocode}
+% \par
\caption@if@minipage\@minipagetrue\@minipagefalse}%
\caption@end%
}
@@ -39806,6 +39921,61 @@ s%
%
%
%
+% \iffalse
+%<*changelayout>
+% \fi
+%
+% \part{lwarp-changelayout.sty}
+%
+% \section{changelayout}
+%
+% \credits{Ahmed Musa}
+%
+% \DescribePackage{changelayout}
+% \pkg{changelayout} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.70}{2019/04/02}{\pkg{changelayout}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{changelayout}[2009/10/07]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewrobustcmd\cpl@backtodefaults{}
+
+\renewrobustcmd\cpl@checkifoddpage{%
+ \cpl@oddpagefalse%
+}
+
+\renewrobustcmd\changepagelayout[1]{%
+ \setkeys[KV]{changelay}{#1}%
+}
+
+\renewrobustcmd{\changetextlayout}[1]{\changepagelayout{#1}}
+
+\renewrobustcmd\adjustpagelayout[1]{%
+ \setkeys[KV@X]{changelay}{#1}%
+}
+
+\renewrobustcmd{\adjusttextlayout}[1]{\adjustpagelayout{#1}}
+
+\renewrobustcmd\adjusttextwidth[1]{%
+ \setkeys[KV]{changelay}{#1}%
+ \begin{BlockClass}[color:\LWR@colorstyle{named}{\cpl@textcolor}]{changelayout}
+ \color{\cpl@textcolor}%
+ \cpl@content
+ \end{BlockClass}
+}
+% \end{macrocode}
+%
+% \iffalse
+%</changelayout>
+% \fi
+%
+%
+%
%
% \iffalse
%<*changepage>
@@ -39871,63 +40041,126 @@ s%
% \pkg{changes} is patched for use by \pkg{lwarp}.
%
% \changes{v0.67}{2019/02/15}{\pkg{changes}: Added.}
+% \changes{v0.70}{2019/03/24}{\pkg{changes}: Updated to v3.1.2.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackagePass{changes}[2015/04/27]
+\LWR@ProvidesPackagePass{changes}[2019/01/26]
% \end{macrocode}
%
% \begin{macrocode}
-\xpatchcmd{\Changes@output}
- {#1}
- {\LWR@textcurrentcolor{#1}}
- {}
- {\LWR@patcherror{changes}{Changes@output}}
+\renewcommand{\ChangesListline}[4]{%
+ \IfSubStr{\Changes@loc@show}{#1}{%
+ \LWR@startpars%
+ #2: #3 \qquad
+ \nameref{autopage-#4}%
+ \LWR@stoppars%
+ }{}%
+}
-\xpatchcmd{\listofchanges}
- {
- \ifthenelse{\equal{\Changes@InID}{\@empty}}
- {\changesauthorname: \changesanonymousname}
- {%
- \changesauthorname: \Changes@InID
- \ifthenelse{\equal{\Changes@InName}{\@empty}}
- {}
- { (\Changes@InName)}
- }
- }
- {
- \LWR@textcurrentcolor{% lwarp
- \ifthenelse{\equal{\Changes@InID}{\@empty}}
- {\changesauthorname: \changesanonymousname}
+\renewcommand{\Changes@summaryline}[4]{%
+ \IfSubStr{\Changes@loc@show}{#1}{%
+ \ifthenelse{\not\equal{\Changes@loc@style}{compactsummary} \or #2 > 0}%
{%
- \changesauthorname: \Changes@InID
- \ifthenelse{\equal{\Changes@InName}{\@empty}}
- {}
- { (\Changes@InName)}
- }
- }
- }
+ #3:~#2#4%
+ }{}%
+ }{}%
+}
+
+\xpatchcmd{\listofchanges}
+ {{\changesauthorname: \changesanonymousname}}
+ {{\LWR@textcurrentcolor{\changesauthorname: \changesanonymousname}}}
{}
- {\LWR@patcherror{changes}{listofchanges}}
+ {\LWR@patcherror{changes}{listofchanges A}}
\xpatchcmd{\listofchanges}
- {\parbox{\Changes@Len@summ}}
+ {\changesauthorname: \Changes@InID}
+ {\LWR@textcurrentcolor{\changesauthorname: \Changes@InID}}
{}
+ {\LWR@patcherror{changes}{listofchanges B}}
+
+\xpatchcmd{\listofchanges}
+ {(\Changes@InName)}
+ {\LWR@textcurrentcolor{(\Changes@InName)}}
{}
- {\LWR@patcherror{changes}{listofchanges}}
+ {\LWR@patcherror{changes}{listofchanges C}}
\xpatchcmd{\listofchanges}
- {\parbox{\Changes@Len@summ}}
+ {\parbox{\Changes@summary@width}}
{}
{}
- {\LWR@patcherror{changes}{listofchanges}}
+ {\LWR@patcherror{changes}{listofchanges D}}
-\xpatchcmd{\listofchanges}
- {\parbox{\Changes@Len@summ}}
+\xpatchcmd{\Changes@Markup@comment}
+ {%
+ \ifthenelse{\isAnonymous{#2}}%
+ {\textbf{[\arabic{Changes@commentCount#2}]:} }%
+ {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
+ #1%
+ }
+ {%
+ \LWR@textcurrentcolor{% lwarp
+ \ifthenelse{\isAnonymous{#2}}%
+ {\textbf{[\arabic{Changes@commentCount#2}]:} }%
+ {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
+ #1%
+ }% lwarp
+ }
+ {}
+ {\LWR@patcherror{changes}{\Changes@Markup@comment A}}
+
+\xpatchcmd{\Changes@Markup@comment}
+ {%
+ \uwave{%
+ \ifthenelse{\isAnonymous{#2}}%
+ {\textbf{[\arabic{Changes@commentCount#2}]:} }%
+ {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
+ #1%
+ }%
+ }
+ {%
+ \LWR@textcurrentcolor{% lwarp
+ \uwave{%
+ \ifthenelse{\isAnonymous{#2}}%
+ {\textbf{[\arabic{Changes@commentCount#2}]:} }%
+ {\textbf{[#3~\arabic{Changes@commentCount#2}]:} }%
+ #1%
+ }%
+ }% lwarp
+ }
+ {}
+ {\LWR@patcherror{changes}{\Changes@Markup@comment B}}
+
+\xpatchcmd{\Changes@output}
+ {\Changes@Markup@author{\Changes@output@author{#2}{left}}}
+ {\LWR@textcurrentcolor{\Changes@Markup@author{\Changes@output@author{#2}{left}}}}
+ {}
+ {\LWR@patcherror{changes}{Changes@output A}}
+
+\xpatchcmd{\Changes@output}
+ {%
+ \ifthenelse{\equal{#1}{added}}{\Changes@Markup@added{#3}}{}%
+ \ifthenelse{\equal{#1}{deleted}}{\Changes@Markup@deleted{#4}}{}%
+ \ifthenelse{\equal{#1}{replaced}}{{\Changes@Markup@added{#3}}\allowbreak\Changes@Markup@deleted{#4}}{}%
+ \ifthenelse{\equal{#1}{highlight}}{\Changes@Markup@highlight{#3}}{}%
+ }
+ {%
+ \LWR@textcurrentcolor{%
+ \ifthenelse{\equal{#1}{added}}{\Changes@Markup@added{#3}}{}%
+ \ifthenelse{\equal{#1}{deleted}}{\Changes@Markup@deleted{#4}}{}%
+ \ifthenelse{\equal{#1}{replaced}}{{\Changes@Markup@added{#3}}\allowbreak\Changes@Markup@deleted{#4}}{}%
+ \ifthenelse{\equal{#1}{highlight}}{\Changes@Markup@highlight{#3}}{}%
+ }%
+ }
{}
+ {\LWR@patcherror{changes}{Changes@output B}}
+
+\xpatchcmd{\Changes@output}
+ {\Changes@Markup@author{\Changes@output@author{#2}{right}}}
+ {\LWR@textcurrentcolor{\Changes@Markup@author{\Changes@output@author{#2}{right}}}}
{}
- {\LWR@patcherror{changes}{listofchanges}}
+ {\LWR@patcherror{changes}{Changes@output C}}
% \end{macrocode}
%
% \iffalse
@@ -49263,6 +49496,49 @@ alt="\LWR@igalt" \LWR@orignewline%
%
%
%
+% \iffalse
+%<*inputtrc>
+% \fi
+%
+% \part{lwarp-inputtrc.sty}
+%
+% \section{inputtrc}
+%
+% \credits{Uwe L\"uck}
+%
+% \DescribePackage{inputtrc}
+% \pkg{inputtrc} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.70}{2019/03/30}{\pkg{inputtrc}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{inputtrc}[2012/10/10]
+% \end{macrocode}
+%
+% Patched to remove extraneous spaces,
+% which sometimes showed up in logos inside a \env{lateximage}.
+% \begin{macrocode}
+\renewcommand*{\IT@prim@input}[1]{%
+ \typeout{\IT@indent\IT@currfile INPUTTING #1}%
+%% ... TODO: option to write to `.log' only.
+ \xdef\IT@filestack{{\IT@currfile}\IT@filestack}%
+ \xdef\IT@currfile{#1}%
+ \expandafter \gdef\expandafter \IT@indent\expandafter{%
+ \IT@indent \IT@indent@unit}% lwarp
+ \@@input#1% lwarp
+ \expandafter\IT@pop@indent\IT@indent \@nil% lwarp
+ \expandafter\IT@pop@file \IT@filestack\@nil% lwarp
+ \IT@maybe@returnmessage%% v0.2 lwarp
+}
+% \end{macrocode}
+%
+% \iffalse
+%</inputtrc>
+% \fi
+%
+%
%
% \iffalse
%<*intopdf>
@@ -51747,6 +52023,61 @@ alt="\LWR@igalt" \LWR@orignewline%
%
%
% \iffalse
+%<*mathtools>
+% \fi
+%
+% \part{lwarp-mathtools.sty}
+%
+% \section{mathtools}
+%
+% \credits{Morten Høgholm, Lars Madsen}
+%
+% \DescribePackage{mathtools}
+% \pkg{mathtools} is patched for use by \pkg{lwarp}.
+%
+% \optn{showonlyrefs} and \optn{mathic} are disabled.
+% \trouble[numbering, italics]{mathtools=\pkg{mathtools}}
+%
+% \changes{v0.70}{2019/03/28}{\pkg{mathtools}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{mathtools}[2018/01/08]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\RequirePackage{graphicx}
+% \end{macrocode}
+% \begin{macrocode}
+\MHInternalSyntaxOn
+% \end{macrocode}
+%
+% Forces \optn{showonlyrefs} off because \pkg{lwarp} uses \pkg{cleveref},
+% which is not compatible with \optn{showonlyrefs}.
+% \begin{macrocode}
+\renewcommand*\MT_showonlyrefs_true:{\MT_showonlyrefs_false:}
+\mathtoolsset{showonlyrefs=false}
+% \end{macrocode}
+%
+% Forces math italic correction off.
+% Not patched for \pkg{lwarp}.
+% \begin{macrocode}
+\renewcommand*{\MT_mathic_true:}{\MT_mathic_false:}
+\mathtoolsset{mathic=false}
+% \end{macrocode}
+% \begin{macrocode}
+\MHInternalSyntaxOff
+% \end{macrocode}
+%
+% \iffalse
+%</mathtools>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*mcaption>
% \fi
@@ -52412,23 +52743,31 @@ background:
% \credits{Andrew Gilbert Moschou}
%
% \DescribePackage{metalogo}
-% \pkg{metalogo} is emulated.
+% \pkg{metalogo} is used in print mode, and emulated in \HTML.
%
% \changes{v0.38}{2017/08/25}{\pkg{metalogo}: Added.}
+% \changes{v0.70}{2019/03/29}{\pkg{metalogo}: Used in print mode.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{metalogo}[2010/05/29]
+\LWR@ProvidesPackagePass{metalogo}[2010/05/29]
% \end{macrocode}
%
% \begin{macrocode}
-\newcommand\setlogokern[2]{}
-\newcommand\setlogodrop[2][XeTeX]{}
-\newcommand\setLaTeXa[1]{}
-\newcommand\setLaTeXee[1]{}
-\newcommand\seteverylogo[1]{}
-\newcommand\everylogo[1]{}
+\newcommand*{\LWR@HTML@setlogokern}[2]{}
+\newcommand*{\LWR@HTML@setlogodrop}[2][XeTeX]{}
+\newcommand*{\LWR@HTML@setLaTeXa}[1]{}
+\newcommand*{\LWR@HTML@setLaTeXee}[1]{}
+\newcommand*{\LWR@HTML@seteverylogo}[1]{}
+\newcommand*{\LWR@HTML@everylogo}[1]{}
+
+\LWR@formatted{setlogokern}
+\LWR@formatted{setlogodrop}
+\LWR@formatted{setLaTeXa}
+\LWR@formatted{setLaTeXee}
+\LWR@formatted{seteverylogo}
+\LWR@formatted{everylogo}
% \end{macrocode}
%
% \iffalse
@@ -52437,6 +52776,43 @@ background:
%
%
%
+% \iffalse
+%<*metalogox>
+% \fi
+%
+% \part{lwarp-metalogox.sty}
+%
+% \section{metalogox}
+%
+% \credits{Brian Dunn}
+%
+% \DescribePackage{metalogox}
+% \pkg{metalogox} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.70}{2019/03/30}{\pkg{metalogox}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{metalogox}[2019/01/20]
+% \end{macrocode}
+%
+% \cs{AtBeginDocument}, adjust the logo setting according to the font
+% which is active at that moment.
+% \begin{macrocode}
+\AtBeginDocument{
+ \let\LWR@metalogox@currentformatting\LWR@formatting
+ \renewcommand*{\LWR@formatting}{print}%
+ \autoadjustlogos*
+ \let\LWR@formatting\LWR@metalogox@currentformatting
+}
+% \end{macrocode}
+%
+% \iffalse
+%</metalogox>
+% \fi
+%
+%
%
% \iffalse
%<*mhchem>
@@ -52452,24 +52828,36 @@ background:
% \DescribePackage{mhchem}
% \pkg{mhchem} is patched for use by \pkg{lwarp}.
%
-% \pkg{mhchem} expressions are converted to \SVG\ math.
+% Without \brand{MathJax}, \pkg{mhchem} expressions are converted to \SVG\ math.
+% \margintag{without \brand{MathJax}}
% Inline expressions use hashed filenames to allow reuse,
% and assume that any \pkg{mhchem} options are global.
%
-% The \brand{MathJax} \pkg{mhchem} extension is not yet used.
-% \trouble[\brand{MathJax} and \pkg{mhchem}]{MathJax=\brand{MathJax}>mhchem=\pkg{mhchem}}
+% For \brand{MathJax}, the \pkg{mhchem} extension is used if
+% \trouble{MathJax=\brand{MathJax}>mhchem=\pkg{mhchem}}
% \trouble{mhchem=\pkg{mhchem}>MathJax=\brand{MathJax}}
-% If \brand{MathJax} is used for math in the rest of the document,
-% \pkg{lwarp} converts standalone \pkg{mhchem}
-% expressions into \SVG\ math images, but expressions inside math
-% must be placed between \cs{displaymathother} and \cs{displaymathnormal}:
+% \margintag{\brand{MathJax} with \pkg{mhchem} extension}
+% the \pkg{mhchem} expression is used inside a math expression:
+% \begin{sourceverb}
+% $\ce{C6H5-CHO}$
+% \end{sourceverb}
+%
+% If \emph{not} used inside a math expression, \pkg{lwarp} converts standalone \pkg{mhchem}
+% \marginpar{not inside math}
+% expressions into \SVG\ math images.
+%
+% If the \brand{MathJax} \pkg{mhchem} extension is not used,
+% \margintag{\brand{MathJax} without \pkg{mhchem} extension}
+% expressions inside math must be placed
+% between \cs{displaymathother} and \cs{displaymathnormal}:
% \begin{sourcedisplay}
% \cs{displaymathother} \\
% \cs{[} \cs{ce}\{ \dots\ \} \cs{]} \qquad \dots \qquad \$ \cs{ce} \{ \dots\ \} \$ \\
% \cs{displaymathnormal}
% \end{sourcedisplay}
%
-% When producing \HTML\ output, \pkg{lwarp} does not support
+% When producing \HTML\ output without the \brand{MathJax} \pkg{mhchem} extension,
+% \pkg{lwarp} does not support
% \trouble[nested math]{mhchem=\pkg{mhchem}>nested dollar signs}
% the use of nested dollar signs in \pkg{mhchem} expressions.
% \gindex{array>mhchem=\pkg{mhchem}}
@@ -60199,6 +60587,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \changes{v0.42}{2017/10/13}{\pkg{textcomp}: Improved \cs{interrobangdown}.}
% \changes{v0.54}{2018/04/08}{\pkg{textcomp}: Fix for \cs{textperthousand}.}
% \changes{v0.58}{2018/06/07}{\pkg{textcomp}: Improved print/\HTML\ output selection.}
+% \changes{v0.70}{2019/04/03}{\pkg{textcomp}: Fix for \cs{textinterrobang}.}
%
% \codehtml
%
@@ -60231,6 +60620,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\newcommand*{\LWR@HTML@textnaira}{\HTMLunicode{20A6}}
\newcommand*{\LWR@HTML@textpeso}{\HTMLunicode{20B1}}
\newcommand*{\LWR@HTML@textrecipe}{\HTMLunicode{211E}}
+\newcommand*{\LWR@HTML@textinterrobang}{\HTMLunicode{203D}}
\newcommand*{\LWR@HTML@textinterrobangdown}{\HTMLunicode{2E18}}
\newcommand*{\LWR@HTML@textperthousand}{\HTMLunicode{2030}}
\newcommand*{\LWR@HTML@textpertenthousand}{\HTMLunicode{2031}}
@@ -60258,6 +60648,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\newcommand*{\LWR@HTML@textnaira}{₦}
\newcommand*{\LWR@HTML@textpeso}{₱}
\newcommand*{\LWR@HTML@textrecipe}{℞}
+\newcommand*{\LWR@HTML@textinterrobang}{‽}
\newcommand*{\LWR@HTML@textinterrobangdown}{⸘}
\newcommand*{\LWR@HTML@textperthousand}{‰}
\newcommand*{\LWR@HTML@textpertenthousand}{‱}
@@ -60279,6 +60670,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@formatted{textnaira}
\LWR@formatted{textpeso}
\LWR@formatted{textrecipe}
+\LWR@formatted{textinterrobang}
\LWR@formatted{textinterrobangdown}
\LWR@formatted{textperthousand}
\LWR@formatted{textpertenthousand}
@@ -60346,6 +60738,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\renewcommand*{\textnaira}{}%
\renewcommand*{\textpeso}{}%
\renewcommand*{\textrecipe}{}%
+ \renewcommand*{\textinterrobang}{}%
\renewcommand*{\textinterrobangdown}{}%
\renewcommand*{\textperthousand}{}%
\renewcommand*{\textpertenthousand}{}%
@@ -60449,6 +60842,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \credits{Norman Gray}
%
% \changes{v0.20}{2017/01/11}{\pkg{textpos}: Added.}
+% \changes{v0.70}{2019/03/28}{\pkg{textpos}: Added optional arg to \env{textblock}.}
%
% \DescribePackage{textpos}
% \pkg{textpos} is emulated.
@@ -60459,7 +60853,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
% \begin{macrocode}
-\NewDocumentEnvironment{textblock}{m r()}{}{}
+\NewDocumentEnvironment{textblock}{m o r()}{}{}
\NewDocumentEnvironment{textblock*}{m o r()}{}{}
\newcommand*{\TPGrid}[3][]{}
\NewDocumentCommand{\TPMargin}{s o}{}
@@ -64727,6 +65121,7 @@ padding:\LWR@printlength{\fboxsep}%
\NewDocumentCommand{\LWR@HTML@textcolor}{o m m}{%
\begingroup%
% \end{macrocode}
+%
% Set the \PDF\ color, to be picked up by \SVG\ math if possible.
%
% The print-mode \cs{color} command cannot accept the \optn{named}
@@ -65830,8 +66225,9 @@ height:\LWR@printlength{\LWR@tempheight}%
\LWR@formatted{textcircled}
% \end{macrocode}
%
-% Nullify \pkg{textcomp} macros when generating filenames:
+% Nullify \pkg{xunicode} macros when generating filenames:
% \changes{v0.67}{2019/02/13}{\pkg{xunicode}: Nullify in filenames.}
+% \changes{v0.70}{2019/04/03}{\pkg{xunicode}: Fix for \cs{textinterrobang}.}
% \begin{macrocode}
\FilenameNullify{%
\renewcommand*{\textdegree}{}%
@@ -65847,6 +66243,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\textnaira}{}%
\renewcommand*{\textpeso}{}%
\renewcommand*{\textrecipe}{}%
+ \renewcommand*{\textinterrobang}{}%
\renewcommand*{\textinterrobangdown}{}%
\renewcommand*{\textperthousand}{}%
\renewcommand*{\textpertenthousand}{}%