summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/lwarp
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-09-07 21:00:41 +0000
committerKarl Berry <karl@freefriends.org>2018-09-07 21:00:41 +0000
commit9105a10503acf300444434b20f9f913f7bc21083 (patch)
tree25d4d4eb50861533f4f04dc0e3b432fdbd120a73 /Master/texmf-dist/source/latex/lwarp
parent935dd6891957aa897c36b37f09206e98a8588b56 (diff)
lwarp (7sep18)
git-svn-id: svn://tug.org/texlive/trunk@48617 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/lwarp')
-rw-r--r--Master/texmf-dist/source/latex/lwarp/lwarp.dtx2864
-rw-r--r--Master/texmf-dist/source/latex/lwarp/lwarp.ins16
2 files changed, 2101 insertions, 779 deletions
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx
index c63327e36f4..24cbe06ee11 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> [2018/07/07 v0.58 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2018/09/07 v0.59 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -297,8 +297,11 @@ Keywords={LaTeX, HTML, conversion}%
\newrobustcmd{\ODT}{\acro{ODT}}
\newrobustcmd{\SVG}{\acro{SVG}}
\newrobustcmd{\PNG}{\acro{PNG}}
+\newrobustcmd{\GIF}{\acro{GIF}}
\newrobustcmd{\JPG}{\acro{JPG}}
+\newrobustcmd{\EPS}{\acro{EPS}}
\newrobustcmd{\PDF}{\acro{PDF}}
+\newrobustcmd{\DVI}{\acro{DVI}}
\newrobustcmd{\tikz}{Ti\textit{k}z}
\newrobustcmd{\MathML}{Math\acro{ML}}
\newrobustcmd{\CTAN}{\acro{CTAN}}
@@ -1032,7 +1035,7 @@ in the \SVG\ image may be adjusted
\index{font>size --- math, SVG}%
\index{math>font size --- SVG}%
\index{lateximages>font size}%
-by setting \cs{LateximageFontSizeName} to a font size name --- \emph{without the backslash},
+by setting \cs{LateximageFontSizeName} to a font size name \Dash \emph{without the backslash},
which defaults to:
\begin{sourcedisplay}
\cs{renewcommand}\{\cs{LateximageFontSizeName}\}\{\textred{normalsize}\}
@@ -1062,8 +1065,8 @@ math.
An example is an elaborate \tikz\ picture, which will not render in \brand{MathJax} and
will not make sense as an \HTML\ \attribute{alt} tag.
In this mode, \brand{MathJax} is turned off,
-math display environments become \SVG\ images, even for
-\brand{MathJax}, and the \HTML\ \attribute{alt} tags become simple messages.
+math display environments become \SVG\ images, even if \brand{MathJax} is selected,
+and the \HTML\ \attribute{alt} tags become simple messages.
The contents are internally processed as an environment instead of a macro argument,
so complicated objects such as \tikz\ pictures are more likely to compile successfully.
}
@@ -1297,56 +1300,79 @@ It is recommended to use \pkg{cleveref} instead of \pkg{ntheorem}'s
\optn{thref} option.
}
-
\newcommand{\limitsgraphics}{%
-For \cs{includegraphics} with \texttt{.pdf} files,
-\index{graphics>PDF files}
+For \cs{includegraphics} with \filenm{.pdf} or \filenm{.eps} files,
+\index{graphics>formats}
+\index{includegraphics=\cs{includegraphics}>using}
\index{PDF images>using}
-\index{images>PDF>using}
-\watchout[\texttt{.pdf} image files]
-the user should provide a \texttt{.pdf} image file, and also
-a \texttt{.svg}, \texttt{.png}, or \texttt{.jpg} version of the same image.
-\textred{These should be referred to without a file extension:}
-\watchout[no file extension]
+\index{EPS images>using}
+\index{images>PDF or EPS>using}
+\margintag{\cs{includegraphics} file formats}
+the user must provide a \filenm{.pdf} or \filenm{.eps} image file for use
+in print mode, and also a \filenm{.svg}, \filenm{.png}, or \filenm{.jpg} version
+of the same image for use in \HTML.
\begin{sourcedisplay}
-\cs{includegraphics}\{filename\} \% print:.pdf, HTML:.svg or other
+\cs{includegraphics}\{filename\} \% print:.pdf/.eps HTML:.svg, etc.
\end{sourcedisplay}
-For print output, \pkg{lwarp} will automatically choose the \texttt{.pdf} if available,
-or some other format otherwise.
+For print output, \pkg{lwarp} will automatically choose the \filenm{.pdf} or \filenm{.eps}
+format if available, or some other format otherwise.
For \HTML, one of the other formats is used instead.
+If a \filenm{.pdf} or \filenm{.eps} image is referred to with its file extension,
+the extension will be changed to \filenm{.svg} for \HTML:
+\begin{sourcedisplay}
+\cs{includegraphics}\{filename.pdf\} \% uses .svg in \HTML \\
+\cs{includegraphics}\{filename.eps\} \% uses .svg in \HTML \\
+\end{sourcedisplay}
+
\DescribeProgram{pdftocairo}
-To convert a \PDF\ image to \SVG, use the utility \texttt{pdftocairo}:
+\margintag{PDF to SVG}
+To convert a \PDF\ image to \SVG, use the utility \prog{pdftocairo}:
\userentry{pdftocairo -svg filename.pdf}
-
For a large number of images, use \prog{lwarpmk}:
+\DescribeProgram{lwarpmk pdftosvg}
\userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of filenames)}}
-If a \texttt{.pdf} file is referred to with its file extension,
-a link to the \texttt{.pdf} file will appear in the \HTML\ output.
-\begin{sourcedisplay}
-\cs{includegraphics}\{filename.pdf\} \% creates a link in HTML
-\end{sourcedisplay}
-
-\DescribePackage{epstopdf}
-For \texttt{.eps} files, use \pkg{epstopdf} to provide a \PDF\ version,
-and also provide a \SVG\ version as well.
-\index{graphics>EPS files}
-\index{EPS images}
-\index{images>EPS}
-
-For \texttt{.png}, \texttt{.jpg}, or \texttt{.gif} image files,
-\margintag{other image files}
-the same file may be used in
-both print or \HTML\ versions, and may be used with a file extension,
+\DescribeProgram{lwarpmk epstopdf}
+\DescribeProgram{epstopdf}
+\margintag{\pkg{epstopdf} package}
+For \EPS\ images converted to \PDF\ using the package \pkg{epstopdf},
+use \userentry{lwarpmk pdftosvg *.PDF} to convert to \SVG\ images.
+
+When using \DVI\ \prog{latex},
+\margintag{DVI latex}
+it is necessary to convert \EPS\ to \PDF\ and then to \SVG:
+\index{images>PDF or EPS>converting}
+\userentry{lwarpmk epstopdf *.eps\qquad \textrm{(or a list of filenames)}}
+\userentry{lwarpmk pdftosvg *.pdf\qquad \textrm{(or a list of filenames)}}
+
+For \PNG\ or \JPG
+\margintag{PNG and JPG}
+\index{images>PNG and JPG}
+\index{PNG images}
+\index{JPG images}
+while using \prog{pdflatex}, \prog{lualatex}, or \prog{xelatex},
+the same file may be used in both print or \HTML\ versions, and may be used with a file extension,
but will also be used without the file extension if it is the only file of
its base name.
+GIF files may be used for \HTML,
+\margintag{GIF}
+\index{images>GIF}
+\index{GIF images}
+but another format must also be provided for print output.
+
+If a file extension is not used,
+\margintag{file extension priorities}
+\index{images>format priorities}
+for \HTML\ the file extension priorities
+are: \SVG, \GIF, \PNG, then \JPG.
+
If using the older \pkg{graphics} syntax, use both optional arguments
\watchout[\pkg{graphics} vs. \pkg{graphicx}]
for \cs{includegraphics}.
A single optional parameter is interpreted as the newer \pkg{graphicx} syntax.
-Note that viewports are not supported by \pkg{warp};
+Note that viewports are not supported by \pkg{lwarp} \Dash
\watchout[viewports]
the entire image will be shown.
@@ -1401,10 +1427,10 @@ If it is necessary to recompile the document's \HTML\ version, \prog{lwarpmk}
will inform so with an error message.%
If \HTML\ appears where an \SVG\ image should be,\watchout[\HTML\ instead of images]%
-\index{math>appearing as \HTML}%
-\index{images>appearing as \HTML}%
-\index{SVG>images appearing as \HTML}%
-\index{HTML>appearing in \SVG\ images}
+\index{math>appearing as \HTML code}%
+\index{images>appearing as \HTML code}%
+\index{SVG>images appearing as \HTML code}%
+\index{HTML>appearing instead of images}
recompile the document one more
time to get the page numbers back in sync, then remake the images one more time.
@@ -1491,11 +1517,24 @@ Use \CSS\ or \cs{textcolor} where possible.
}
\newcommand{\limitsepstopdf}{%
-When using \pkg{epstopdf} to convert images to \PDF,
-use the \prog{pdftocairo} utility to also provide an \SVG\ version as well.
-In the document, refer to the image filename without a suffix. The
-\PDF\ version will be used in print output, and the \SVG\ version will
-be used for \HTML.
+Images with an \filenm{.eps} extension will be converted to \filenm{.pdf}.
+The \HTML\ output uses the \filenm{.svg} version, so
+\watchout[convert to \filenm{.svg}]
+use \userentry{lwarpmk pdftosvg <listofPDFfiles>} to generate \filenm{.svg} versions.
+}
+
+\newcommand{\limitspstricks}{%
+All \pkg{pstricks} content should be
+\watchout[use \env{pspicture}]
+contained inside a \env{pspicture} environment.
+}
+
+\newcommand{\limitspdftricks}{%
+The \pkg{pdftricks} image files \filenm{<jobname>-fig*.pdf} must be converted
+\watchout[convert image files]
+to \filenm{.svg}, or else a missing file error will occur.
+The image files must also be converted again whenever they change.
+To convert the images:\userentry{lwarpmk pdftosvg <jobname>-fig*.pdf}
}
\newcommand{\limitsoverpic}{%
@@ -2240,6 +2279,17 @@ The proper load order is:
\end{sourcedisplay}
}
+
+% For use in the documentation update section:
+\newcommand*{\newlwarpmkconf}{
+Due to changes in \prog{lwarpmk},
+\watchout[Reset the configuration]
+\textred{recompile any existing project a single time}
+using \cmds{pdflatex filename.tex} or similar, after which
+\prog{lwarpmk} may then be used with the new configuration files.
+}
+
+
\newcommand*{\describehashing}{%
If starred, a hashed filename is used.\margintag{image filename hashing}
\index{hash>SVG image filename}
@@ -2276,7 +2326,7 @@ use the \pkg{lwarp} option \optn{OSWindows}.
\DescribeOption{OSWindows}
When detected or specified, the operating-system path separator used by \pkg{lwarp}
-is modified, the boolean \texttt{usingOSWindows} is set true.
+is modified, and the boolean \texttt{usingOSWindows} is set \texttt{true}.
This boolean may be tested by the user for later use.
}
@@ -2302,7 +2352,7 @@ This boolean may be tested by the user for later use.
%<*package>
% \fi
%
-% \CheckSum{25214}
+% \CheckSum{25635}
%
% \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
@@ -2403,6 +2453,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.57}{2018/06/06}{\ 2018/06/06}
% \changes{v0.58}{2018/07/07}{\ 2018/07/07}
% \changes{v0.58}{2018/06/07}{Replaced each \cs{csuse} with \cs{@nameuse} to force error if undefined.}
+% \changes{v0.59}{2018/09/07}{\ 2018/09/07}
@@ -2427,7 +2478,7 @@ This boolean may be tested by the user for later use.
%
% \bigskip
%
-% \fileversion{} --- \filedate
+% \fileversion{} \Dash \filedate
%
% \bigskip
%
@@ -2462,8 +2513,8 @@ This boolean may be tested by the user for later use.
%
% A modular package-loading system uses the \pkg{lwarp} version of a package for
% \HTML\ when available.
-% Almost 300 \LaTeX\ packages are supported with these high-level source
-% compatibility replacements, and many others work as-is.
+% More than 300 \LaTeX\ packages are supported with these
+% high-level source-compatibility replacements, and many others work as-is.
%
% A tutorial is provided to quickly introduce the user to the major components
% of the package.
@@ -2530,7 +2581,7 @@ This boolean may be tested by the user for later use.
% \item help drive education, public and private research, and commercial activity;
% \item are used in the fields of mathematics, science, engineering, and humanities;
% \item span decades of development;
-% \item are enduring --- many older packages are still actively used and maintained;
+% \item are enduring \Dash many older packages are still actively used and maintained;
% \item are largely backwards compatible;
% \item are portable across all the major computing platforms;
% \item are usable even on older computers and away from internet access;
@@ -2548,7 +2599,7 @@ This boolean may be tested by the user for later use.
% Donations may be directed towards individual projects:
% \begin{description}[nosep]
% \item[TUG Bursary Fund:] Assistance for attending annual TUG meetings.
-% \item[CTAN:] The Comprehensive \TeX\ Archive Network --- Central storage for \TeX.
+% \item[CTAN:] The Comprehensive \TeX\ Archive Network \Dash Central storage for \TeX.
% \item[TeX Development Fund:] Support for specific projects.
% \item[EduTeX:] Teaching and using \TeX\ in schools and universities.
% \item[GUST e-foundry fonts:] Enhanced for math and additional language groups.
@@ -2600,16 +2651,54 @@ This boolean may be tested by the user for later use.
%
% \begin{description}
% \needspace{2\baselineskip}
+% \item[v0.59:] \DVI\ \prog{latex}, \brand{MathJax}, \pkg{asymptote},
+% \pkg{pdftricks} and \pkg{pstricks}, \pkg{epstopdf}, \pkg{brqen}.
+% \begin{itemize}
+% \item \newlwarpmkconf
+% \item Added an error if \filenm{lwarpmk.conf}'s format has changed and
+% \margintag{\prog{lwarpmk}}
+% the document must be recompiled.
+% \item Added a warning if the \filenm{lwarpmk.conf} configuration file appears
+% to be for the wrong operating system, in case files are transferred between
+% systems.
+% \item Added
+% \begin{sourcedisplay}
+% lwarpmk epstopdf <list-of-EPS-files>
+% \end{sourcedisplay}
+% to quickly convert a document's \EPS\ images to \PDF\ or \SVG.
+% See \cref{sec:limitsgraphics}.
+% \item Added support for \DVI\ \prog{latex}. See \cref{sec:loading}.
+% \margintag{\DVI\ \prog{latex}}
+% \item Fix for \optn{--shell-escape} with \prog{latexmk}.
+% \margintag{\prog{latexmk}}
+% \item Updated MathJax script to v2.7.4.
+% \margintag{math}
+% \item Fix: Mathjax chapter number removed from non-numeric tagged equations.
+% \item Added MathJax support for \pkg{nicefrac}, \pkg{units}.
+% \item Fix for \cs{[} and \cs{]} with \cs{displaymathnormal}.
+% \item Fix for \cs{includegraphics} filename expansion.
+% \margintag{images}
+% \item \cs{includegraphics} now works with
+% \filenm{.pdf} and \filenm{.eps} filename extensions.
+% \item Moved \pkg{amsmath} out of the \pkg{lwarp} core.
+% \margintag{packages}
+% \item Fix for \pkg{chemformula} \cs{NMR}.
+% \item Added \pkg{asymptote}, \pkg{pdftricks}, \pkg{pstricks}, \pkg{pst-eps}.
+% \item Added \pkg{breqn}, \pkg{SIunits}.
+% \item Added \pkg{bxpapersize}, \pkg{canoniclayout}, \pkg{draftcopy},
+% \pkg{fnbreak}, \pkg{nccfancyhdr}.
+% \item Added \pkg{accsupp}, \pkg{axessibility}.
+% \item Added \pkg{xunicode}.
+% \item Improved and now supports \pkg{epstopdf}.
+% \item Tested to work as-is: \pkg{eepic}, \pkg{sepfootnotes}.
+% \item Added information about setting up a development version of \pkg{lwarp}.
+% \margintag{docs}
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.58:] Extensive improvements in indexing, glossaries.
% Adds \PDF-inclusion packages.
% \begin{itemize}
-% \item Due to changes in \prog{lwarpmk} and the configuration files
-% \watchout[recompile from scratch]
-% \filenm{lwarpmk.conf} and \filenm{*.lwarpmkconf},
-% \textred{it is necessary to recompile an existing project a single time}
-% using \cmds{pdflatex filename.tex}, or similar for \prog{xelatex} or \prog{lualatex}.
-% After this single recompile, the configuration files will work with the
-% new version of \prog{lwarpmk}.
+% \item \newlwarpmkconf
% \item \prog{lwarpmk}: Added the |-p| option to specify the project name.
% \margintag{\prog{lwarpmk}}
% \item \prog{lwarpmk}: Now uses \prog{makeglossaries} for glossary generation,
@@ -2736,6 +2825,7 @@ This boolean may be tested by the user for later use.
% \needspace{2\baselineskip}
% \item[v0.54:] Float \cs{centering}, improved image checks.
% \begin{itemize}
+% \item \newlwarpmkconf
% \item \progcode{lwarpmk limages} checks for the presence of the \HTML\ version
% \margintag{\prog{lwarpmk}}
% of the document and valid image references before attempting
@@ -2771,11 +2861,6 @@ This boolean may be tested by the user for later use.
% to process documents in an encoding other than UTF-8.
% See \cref{sec:fonts}.
%
-% \textred{For an existing document, \watchout[Reset the configuration]
-% recompile the print version with \prog{pdflatex}, \prog{xelatex}, or
-% \prog{lualatex} a single time,
-% to readjust the \filenm{lwarpmk.conf} configuration file,
-% before recompiling the \HTML\ version.}
% \item Floats now honor \cs{centering}, \cs{raggedright}, \cs{raggedleft},
% \margintag{floats with \cs{centering}, etc.}
% and their \pkg{ragged2e} equivalents,
@@ -3745,7 +3830,7 @@ This boolean may be tested by the user for later use.
%
% ^^A *supported features
%
-% \begin{longtable}{>{\raggedright}m{.3\linewidth}m{.6\linewidth}}
+% \begin{longtable}{>{\raggedright}p{.3\linewidth}p{.6\linewidth}}
% \caption{\protect\LaTeX--HTML generation ---
% \pkg{lwarp} package ---
% Supported features\label{tab:supported}} \endfirsthead
@@ -3758,7 +3843,7 @@ This boolean may be tested by the user for later use.
%
% \midrule
%
-% Engines: & pdf\LaTeX, \XeLaTeX, \LuaLaTeX \\
+% Engines: & \DVI\ \LaTeX, pdf\LaTeX, \XeLaTeX, \LuaLaTeX \\
%
% \midrule
%
@@ -3774,13 +3859,16 @@ This boolean may be tested by the user for later use.
%
% Page layout: & \pkg{a4}, \pkg{a4wide}, \pkg{a5comb},
% \pkg{addlines}, \pkg{anysize}, \pkg{atbegshi},
-% \pkg{blowup}, \pkg{clrdblpg}, \pkg{continue}, \pkg{draftwatermark},
+% \pkg{blowup}, \pkg{bxpapersize}, \pkg{canoniclayout}, \pkg{clrdblpg},
+% \pkg{continue}, \pkg{draftcopy}, \pkg{draftwatermark},
% \pkg{ebook}, \pkg{everyshi},
% \pkg{fancyhdr}, \pkg{fwlw}, \pkg{geometry}, \pkg{grid}, \pkg{gridset},
-% \pkg{ltxgrid}, \pkg{pagegrid}, \pkg{pagesel}, \pkg{preview},
+% \pkg{ltxgrid}, \pkg{nccfancyhdr}, \pkg{pagegrid}, \pkg{pagesel}, \pkg{preview},
% \pkg{scrlayer-scrpage}, \pkg{textarea}, \pkg{titleps}, \pkg{tocenter},
% \pkg{turnthepage}, \pkg{typearea}, \pkg{vmargin},
-% \pkg{watermark}, \pkg{zwpagelayout}. \\
+% \pkg{watermark}, \pkg{zwpagelayout}.
+%
+% Tested to work as-is: \pkg{underlin}.\\
%
% Sectioning: & Adds \progcode{FileDepth} for splitting the \HTML\ output.
% Files may be numbered sequentially or named according to section name.
@@ -3800,7 +3888,7 @@ This boolean may be tested by the user for later use.
%
% \pkg{idxlayout}, \pkg{imakeidx}, \pkg{index}, \pkg{makeidx}, \pkg{repeatindex}, \pkg{splitidx}.
%
-% Tested to work as-is: \pkg{hvindex}.\\
+% Tested to work as-is: \pkg{hvindex}, \pkg{sepfootnotes}.\\
%
% Glossary: & \pkg{glossaries} and \prog{xindy} are used. \\
%
@@ -3823,23 +3911,25 @@ This boolean may be tested by the user for later use.
% Margin notes: & \pkg{marginfit}, \pkg{marginfix}, \pkg{scrlayer-notecolumn}. \\
%
% Footnotes: & Adds \progcode{FootnoteDepth} to print footnotes at section breaks.
-% \pkg{endheads}, \pkg{endnotes},
+% \pkg{dblfnote},
+% \pkg{endheads}, \pkg{endnotes}, \pkg{fnbreak}, \pkg{fnpos},
% \pkg{footmisc}, \pkg{footnote}, \pkg{footnpag},
-% \pkg{marginnote}, \pkg{nccfoots}, \pkg{pagenote}, \pkg{parnotes}, \pkg{sidenote}. \\
+% \pkg{marginnote}, \pkg{nccfoots}, \pkg{pagenote},
+% \pkg{parnotes}, \pkg{pfnote}, \pkg{sidenote}. \\
%
% \midrule
%
% Math: & Converted to \SVG\ images with \HTML\ \element{alt} tags containing the
% \LaTeX\ source for the math expression.
% \brand{MathJax} supported as an alternative.
-% \AmS\ environments are supported.
+% \pkg{amsmath}: \AmS\ environments are supported.
% User-defined macros are available during converson,
% due to native \LaTeX\ processing.\\
%
% Theorems: & Native \LaTeX\ theorems,
% \pkg{amsthm}, \pkg{ntheorem}, \pkg{theorem}. \\
%
-% Additional math: & Math fonts via \SVG\ images, \pkg{cases}, \pkg{resizegather}, \pkg{xy}.
+% Additional math: & Math fonts via \SVG\ images, \pkg{breqn}, \pkg{cases}, \pkg{resizegather}, \pkg{xy}.
%
% Tested to work as-is:
% \pkg{amscd}, \pkg{bm}, \pkg{braket}, \pkg{delarray}, \pkg{guass}, \pkg{nicematrix},
@@ -3850,7 +3940,7 @@ This boolean may be tested by the user for later use.
%
% \midrule
%
-% Units and fractions: & \pkg{nicefrac}, \pkg{siunitx}, \pkg{units}, \pkg{xfrac}.
+% Units and fractions: & \pkg{nicefrac}, \pkg{SIunits}, \pkg{siunitx}, \pkg{units}, \pkg{xfrac}.
%
% Tested to work as-is: \pkg{SIunits}. \\
%
@@ -3884,10 +3974,11 @@ This boolean may be tested by the user for later use.
% \pkg{rotating} is emulated but all objects are unrotated.
% \pkg{picture}, \pkg{tikz}, and \pkg{xy} are converted to an \SVG\ image.
%
-% \pkg{epstopdf}, \pkg{figsize}, \pkg{grffile}, \pkg{overpic}.
+% \pkg{asymptote}, \pkg{epstopdf}, \pkg{figsize}, \pkg{grffile}, \pkg{overpic},
+% \pkg{pdftricks}, \pkg{pst-eps}, \pkg{pstricks}.
%
% Tested to work as-is:
-% \pkg{tikz-3dplot}. \\
+% \pkg{eepic}, \pkg{tikz-3dplot}. \\
%
%
%
@@ -3966,7 +4057,7 @@ This boolean may be tested by the user for later use.
% Fonts: & Used as-is. Appear in \SVG\ math expressions or embedded image environments. \\
%
% Symbols: & Native \LaTeX\ diacriticals,
-% \pkg{chemgreek}, \pkg{textalpha}, \pkg{textcomp}, \pkg{textgreek}. \\
+% \pkg{chemgreek}, \pkg{textalpha}, \pkg{textcomp}, \pkg{textgreek}, \pkg{xunicode}. \\
%
% \midrule
%
@@ -3998,6 +4089,10 @@ This boolean may be tested by the user for later use.
%
% \midrule
%
+% Accessibility: & Nullified: \pkg{accsupp}, \pkg{axessibility}. \\
+%
+% \midrule
+%
% Working as-is: &
% Various utility, calculation, file, and text-only packags, such as
% \pkg{calc},
@@ -4005,7 +4100,7 @@ This boolean may be tested by the user for later use.
% \pkg{somedefs},
% \pkg{trace},
% \pkg{xspace}.
-% Also, any math-only packages, including specialized typesetting for
+% Also, most math-only packages, including specialized typesetting for
% various fields of science and engineering. \\
%
% \bottomrule
@@ -4031,7 +4126,7 @@ This boolean may be tested by the user for later use.
%
% The closest to \pkg{lwarp} in design principle is the
% \DescribeClass{internet}
-% \verb+internet+ class by Andrew Stacey ---
+% \verb+internet+ class by Andrew Stacey \Dash
% an interesting project which directly produces several versions
% of markdown, and also \HTML\ and \EPUB.
% \url{https://github.com/loopspace/latex-to-internet}
@@ -4641,7 +4736,8 @@ This boolean may be tested by the user for later use.
% \item Compile the project: \userentry{pdflatex tutorial.tex}
% \quad (several times)
%
-% (\prog{xelatex} or \prog{lualatex} may be used as well.)
+% (\prog{xelatex} or \prog{lualatex} may be used as well.
+% \pkg{lwarp} also supports \DVI\ \prog{latex} for use with \filenm{.eps} images.)
%
% \item View the resulting |tutorial.pdf| with a \PDF\ viewer.
%
@@ -4655,7 +4751,7 @@ This boolean may be tested by the user for later use.
% (Two of the new files are configuration files for the helper program \prog{lwarpmk}.
% Whenever a print version of the document is created,
% the configuration files for \prog{lwarpmk} are updated to
-% record the operating system, \LaTeX\ program (\prog{pdflatex}, \prog{xelatex}, or \prog{lualatex}),
+% record the operating system, \LaTeX\ engine (\prog{latex}, \prog{pdflatex}, \prog{xelatex}, or \prog{lualatex}),
% the filenames of the source code and \HTML\ output, and whether
% the additional helper program \prog{latexmk} will be used to compile the document.)
%
@@ -5038,6 +5134,19 @@ This boolean may be tested by the user for later use.
% \end{enumerate}
%
%
+% \subsection{Using DVI LaTeX}
+%
+% Traditional \DVI\ LaTeX may also be used along with \filenm{.eps} image files.
+% An \SVG\ version of each image must also be provided.
+% \prog{lwarpmk} may be used to convert image formats.
+%
+% To convert \EPS\ files to \PDF:
+% \userentry{lwarpmk epstopdf *.eps \qquad \textrm{(or a list of files)}}
+%
+% To convert \PDF\ files to \SVG:
+% \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of files)}}
+%
+%
%
% \clearpage
%
@@ -5092,17 +5201,21 @@ This boolean may be tested by the user for later use.
% \userentry{lwarpmk cleanlimages}
%
%
-% \subsection{Converting PDF images to SVG}
+% \subsection{Converting PDF or EPS images to SVG}
% \changes{v0.56}{2018/04/29}{Docs: \cmds{lwarpmk pdftosvg}.}
+% \changes{v0.59}{2018/09/05}{Docs: \cmds{lwarpmk epstopdf}.}
%
-% \HTML\ cannot display \PDF\ images, so any external \PDF\ graphics images must
+% \HTML\ cannot display \PDF\ or \EPS\ images, so any external \PDF\ graphics images must
% be converted to \SVG\ format.
-% \prog{pdftocairo} may be used one image at a time,
-% but \prog{lwarpmk} provides a way to convert images in bulk:
+% \index{SVG>converting from PDF or EPS}
+% \index{PDF images>converting}
+% \index{EPS images>converting}
+% \index{images>PDF or EPS>converting}
+% \prog{pdftocairo} and \prog{epstopdf} may be used one image at a time,
+% but \prog{lwarpmk} also provides a way to convert \PDF\ or \EPS\ images in bulk:
+% \userentry{lwarpmk epstopdf *.eps \qquad \textrm{(or a list of files)}}
% \userentry{lwarpmk pdftosvg *.pdf \qquad \textrm{(or a list of files)}}
-% \index{SVG>converting from PDF}
-% \index{PDF images>converting to SVG}
-% \index{images>PDF>converting to SVG}
+% Be sure to always provide \SVG\ files for \HTML\ output.
%
%
% \subsection{Creating HTML from an incomplete compile}
@@ -5169,16 +5282,16 @@ This boolean may be tested by the user for later use.
% \item Load \pkg{lwarp}.
% \item Load remaining packages.
% \end{enumerate}
-% \item Also modify the document:
+% \item Modify the document:
% \begin{enumerate}
-% \item Remove \filenm{.pdf} file extensions. Change:
-% \begin{sourcedisplay}
-% \cs{includegraphics}\{filename.pdf\}
-% \end{sourcedisplay} to:
-% \begin{sourcedisplay}
-% \cs{includegraphics}\{filename\}
-% \end{sourcedisplay}
-% Other image formats may have a file extension.
+% ^^A \item Remove \filenm{.pdf} file extensions. Change:
+% ^^A \begin{sourcedisplay}
+% ^^A \cs{includegraphics}\{filename.pdf\}
+% ^^A \end{sourcedisplay} to:
+% ^^A \begin{sourcedisplay}
+% ^^A \cs{includegraphics}\{filename\}
+% ^^A \end{sourcedisplay}
+% ^^A Other image formats may have a file extension.
% \item Avoid the \optn{scale} option. Change:
% \begin{sourcedisplay}
% \cs{includegraphics}[scale=<xx>]
@@ -5197,7 +5310,7 @@ This boolean may be tested by the user for later use.
% \item Other changes as per \nameref{sec:limitations}, \cref{sec:limitations}.
% \end{enumerate}
% \item Convert any \PDF\ images to \SVG. See \cref{sec:limitsgraphics}.
-% \item Manually compile the print version with \prog{pdflatex},
+% \item Manually compile the print version with \prog{latex}, \prog{pdflatex},
% \prog{lualatex}, or \prog{xelatex}.
% \item |lwarpmk print| to finish the print version.
% \item |lwarpmk html| to create the \HTML\ version.
@@ -5275,7 +5388,7 @@ This boolean may be tested by the user for later use.
% \watchout[\prog{xelatex} and \prog{lualatex}]
% Do NOT use \pkg{fontenc}!
%
-% Place \pkg{fontspec} or \pkg{fontenc} and other font and UTF-8 related commands
+% Place \pkg{fontspec} or \pkg{fontenc}, \pkg{xunicode}, and other font and UTF-8 related commands
% after the \cs{documentclass} command and before |\usepackage{lwarp}|.
%
% In some cases, \watchout[package conflicts]
@@ -5384,7 +5497,10 @@ This boolean may be tested by the user for later use.
% Option & Description \\ \midrule
% mathsvg & Show math using \SVG\ images. \\
% mathjax & Show math using \brand{MathJax}. \\
-% latexmk & Boolean for \prog{lwarpmk} to use \prog{latexmk} for compiling documents. \\
+% latexmk & Use \prog{latexmk} for compiling documents. \\
+% dvips & Use \prog{dvips} and \prog{ps2pdf} to convert \DVI\ documents. \\
+% dvipdfm & Use \prog{dvipdfm} to convert \DVI\ documents. \\
+% dvipdfmx & Use \prog{dvipdfmx} to convert \DVI\ documents. \\
% HomeHTMLFilename & The filename of the home page. \\
% HTMLFilename & A prefix for the filenames of the remaining web pages. \\
% \midrule
@@ -5444,6 +5560,21 @@ This boolean may be tested by the user for later use.
% Otherwise, \prog{lwarpmk} attempts to determing for itself whether to recompile.
% See \cref{sec:htmlsettings}.
%
+% \item[\optn{dvips}:]
+% \DescribeOption{dvips}
+% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvips} and \prog{ps2pdf} to convert
+% \DVI\ output to \PDF.
+%
+% \item[\optn{dvipdfm}:]
+% \DescribeOption{dvipdfm}
+% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvipdfm} to convert
+% \DVI\ output to \PDF.
+%
+% \item[\optn{dvipdfmx}:]
+% \DescribeOption{dvipdfmx}
+% \DescribeDefault{false} Tells \prog{lwarpmk} to use \prog{dvipdfmx} to convert
+% \DVI\ output to \PDF.
+%
%
% \item[\optn{HomeHTMLFilename}:]
% \DescribeOption{HomeHTMLFilename}
@@ -7464,11 +7595,8 @@ This boolean may be tested by the user for later use.
% \subsection{Graphics}
% \label{sec:limitsgraphics}
%
-% \DescribePackage{graphics}
-% \DescribePackage{graphicx}
-% \index{SVG>converting from PDF}
-% \index{PDF images>converting to SVG}
-% \index{images>PDF>converting to SVG}
+% \DescribePackage{graphics}%
+% \DescribePackage{graphicx}%
% \limitsgraphics
%
%
@@ -7504,6 +7632,18 @@ This boolean may be tested by the user for later use.
% \limitsepstopdf
%
%
+% \subsubsection{\pkg{pstricks} package}
+%
+% \DescribePackage{pstricks}
+% \limitspstricks
+%
+%
+% \subsubsection{\pkg{pdftricks} package}
+%
+% \DescribePackage{pdftricks}
+% \limitspdftricks
+%
+%
% \subsubsection{\pkg{overpic} package}
%
% \DescribePackage{overpic}
@@ -8150,6 +8290,74 @@ This boolean may be tested by the user for later use.
% \end{Verbatim}
%
%
+% \subsection{Creating a development system}
+%
+% The following creates a local development system for \pkg{lwarp} on a TeXLive system
+% in a Unix-like environment.
+% Doing so allows anything requesting \pkg{lwarp} to use the development version
+% instead of whichever version is installed in TeXLive.
+%
+% \begin{description}
+% \item [Create a development directory:] \
+%
+% Place into this directory \filenm{lwarp.dtx} and \filenm{lwarp.ins}.
+%
+% To create \filenm{lwarp.sty},
+% execute \userentry{pdflatex lwarp.ins} which creates \filenm{lwarp.sty} and several
+% hundred additional \filenm{lwarp-*.sty} files for the various packages which are
+% supported.
+%
+% To create the documentation \filenm{lwarp.pdf},
+% execute \userentry{pdflatex lwarp.dtx}
+%
+% \item[To make the development files visible to other projects:] \
+%
+% Create the directory
+% \begin{quote}
+% \filenm{/usr/local/texlive/texmf-local/tex/latex/local/lwarp}
+% \end{quote}
+%
+% Inside this directory, create the file \filenm{update}, containing:
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% ln -s /path_to_dev_directory/lwarp*.sty .
+% ln -s /path_to_dev_directory/lwarp_baseline_marker.png .
+% ln -s /path_to_dev_directory/lwarp_baseline_marker.eps .
+% mktexlsr
+% \end{Verbatim}
+% Run ./update now, and whenever a new lwarp-* package is added.
+
+% \item[To make the development version of \prog{lwarpmk} visible to other projects:] \
+%
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% cd /opt
+% ln -s /usr/local/texlive/texmf-local/bin/x86_64-linux texbin_local
+% cd texbin_local
+% ln -s ../../scripts/lwarp/lwarpmk.lua lwarpmk
+% cd /usr/local/texlive/texmf-local/scripts/
+% mkdir lwarp
+% cd lwarp
+% ln -s /path_to_dev_directory/lwarpmk.lua lwarpmk
+% \end{Verbatim}
+% Verify that the correct version is found with \userentry{which lwarpmk}
+%
+% \item [To make the local versions visible to the shell:] \
+%
+% Paths must be set by the shell startup, such as in \filenm{.bashrc} and \filenm{.cshrc}:
+%
+% In \filenm{.bashrc}:
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% PATH=/opt/texbin_local:/opt/texbin:$PATH
+% \end{Verbatim}
+%
+% In \filenm{.cshrc}:
+% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% setenv PATH ${HOME}/bin:/opt/texbin_local:/opt/texbin:${PATH}
+% \end{Verbatim}
+%
+% \end{description}
+%
+%
+%
% \subsection{Modifying a package for \pkg{lwarp}}
%
% \index{package>modifying for \pkg{lwarp}}
@@ -8226,6 +8434,8 @@ This boolean may be tested by the user for later use.
% \end{sourcedisplay}
% to |lwarp.dtx| in \cref{sec:loadafter}. This causes \pkg{lwarp} to stop with
% an error if \pkg{packagename} is loaded before \pkg{lwarp}.
+% Finally, add an entry in \cref{tab:supported}, \nameref{tab:supported},
+% and also the Updates section.
%
%
% \subsection{Modifying a class for \pkg{lwarp}}
@@ -8303,13 +8513,6 @@ This boolean may be tested by the user for later use.
% \item Use \filenm{mymake.lua} instead of \filenm{lwarpmk.lua}.
% \end{enumerate}
%
-% To adjust the command-line arguments for compiling the document,
-% look in \filenm{mymake.lua} for ``|latexname|''.
-%
-% To adjust the command-line arguments for processing the index,
-% look for ``|xindy|''.
-%
-%
%
%
% \clearpage
@@ -8498,12 +8701,6 @@ This boolean may be tested by the user for later use.
% the captions |above| or |below| to match their use in the source code.
% \end{description}
%
-% \item [Print document contains \HTML\ tags:] ~
-% \begin{itemize}
-% \item Be sure that the document
-% selects |\usepackage[warpprint]{lwarp}| instead of |[warpHTML]|.
-% \end{itemize}
-
% \item [Images are appearing in strange places:] ~
% \index{images>in strange places}
% \begin{itemize}
@@ -8597,7 +8794,7 @@ This boolean may be tested by the user for later use.
% \label{sec:changesend}
% \PrintIndex
% \vfill
-% For the most recent changes and the start of the Index,
+% For the most recent changes, followed by the start of the Index,
% see page \pageref{sec:changesend}.
% }
%
@@ -8753,6 +8950,8 @@ This boolean may be tested by the user for later use.
\ifLuaTeX
\RequirePackage{luatex85}% until the geometry package is updated
\fi
+
+\RequirePackage{ifpdf}
% \end{macrocode}
%
%
@@ -8826,7 +9025,6 @@ This boolean may be tested by the user for later use.
% the source code, even though they are not printed in the following
% listing.
% \begin{macrocode}
-
\RequirePackage{newunicodechar}
\newunicodechar{⨯}{\texttimes}
@@ -8848,7 +9046,6 @@ This boolean may be tested by the user for later use.
% \end{macrocode}
%
%
-%macrocode
%
% \section{Miscellaneous tools}
%
@@ -8934,13 +9131,14 @@ This boolean may be tested by the user for later use.
%
% \subsection{Common portability code}
%
-% \DescribeBoolean{usingOSWindows} Set if the \optn{OSWindows} option is used.
+% \DescribeBoolean{usingOSWindows} Set if the \optn{OSWindows} option is used,
+% or if \brand{Windows} is automatically detected.
% \begin{macrocode}
\newbool{usingOSWindows}
\boolfalse{usingOSWindows}
% \end{macrocode}
-%
+
% \subsection{Unix, Linux, and Mac\,OS}
% \begin{macro}{\OSPathSymbol}
@@ -9288,21 +9486,51 @@ This boolean may be tested by the user for later use.
% \end{macrocode}
+% \DescribeOption{latexmk}
+% Option \optn{latexmk} tells \prog{lwarpmk} to use \prog{latexmk} when compiling documents.
+%
+% \changes{v0.30}{2017/04/29}{Option \prog{latexmk} replaces macro \cs{UseLatexmk}.}
+%
+% \begin{macrocode}
+\DeclareBoolOption[false]{latexmk}
+% \end{macrocode}
+
+% \DescribeOption{dvips}
+% Option \optn{dvips} tells \prog{lwarpmk} to use \prog{dvips}
+% when compiling \DVI\ \prog{latex} documents.
+%
+% \changes{v0.59}{2018/09/02}{Added option \optn{dvips}.}
+%
+% \begin{macrocode}
+\DeclareBoolOption[false]{dvips}
+% \end{macrocode}
+% \DescribeOption{dvipdfm}
+% Option \optn{dvipdfm} tells \prog{lwarpmk} to use \prog{dvipdfm}
+% when compiling \DVI\ \prog{latex} documents.
+%
+% \changes{v0.59}{2018/09/02}{Added option \optn{dvipdfm}.}
+%
+% \begin{macrocode}
+\DeclareBoolOption[false]{dvipdfm}
+% \end{macrocode}
-% \DescribeOption{latexmk}
-% Option \optn{latexmk} tells \prog{lwarpmk} to use \prog{latexmk} when compiling documents.
+% \DescribeOption{dvipdfmx}
+% Option \optn{dvipdfmx} tells \prog{lwarpmk} to use \prog{dvipdfmx}
+% when compiling \DVI\ \prog{latex} documents.
%
-% \changes{v0.30}{2017/04/29}{Option \prog{latexmk} replaces macro \cs{UseLatexmk}.}
+% \changes{v0.59}{2018/09/02}{Added option \optn{dvipdfmx}.}
%
% \begin{macrocode}
-\DeclareBoolOption[false]{latexmk}
+\DeclareBoolOption[false]{dvipdfmx}
% \end{macrocode}
+
+
% Execute the package options, with the defaults which have been set just above:
% \margintag{Execute options}
% \begin{macrocode}
@@ -9406,6 +9634,9 @@ This boolean may be tested by the user for later use.
%
% \DescribePackage{comment} Provides conditional code blocks.
%
+% Attempts to use \pkg{versions} or \pkg{verbatim} fail in some cases, and do not
+% provide much of a speed benefit even when they do work.
+%
% \begin{macrocode}
\RequirePackage{comment}
% \end{macrocode}
@@ -9633,6 +9864,7 @@ For a possible alternative, see package(s) #2.}
\LWR@loadafter{a4wide}
\LWR@loadafter{a5comb}
\LWR@notmemoirloadafter{abstract}
+\LWR@loadafter{accsupp}
\LWR@loadafter{acro}
\LWR@loadafter{acronym}
\LWR@loadafter{adjmulticol}
@@ -9650,10 +9882,13 @@ For a possible alternative, see package(s) #2.}
\LWR@notmemoirloadafter{appendix}
\LWR@loadafter{arabicfront}
\LWR@notmemoirloadafter{array}
+\LWR@loadafter{arydshln}
+\LWR@loadafter{asymptote}
% \LWR@loadafter{atbegshi}% used by morewrites
\LWR@loadafter{attachfile}
\LWR@loadafter{attachfile2}
\LWR@loadafter{authblk}
+\LWR@loadafter{axessibility}
\LWR@loadafter{axodraw2}
\LWR@loadafter{backref}
\LWR@loadafter{balance}
@@ -9665,8 +9900,11 @@ For a possible alternative, see package(s) #2.}
\LWR@loadafter{boxedminipage}
\LWR@loadafter{boxedminipage2e}
\LWR@loadafter{breakurl}
+\LWR@loadafter{breqn}
+\LWR@loadafter{bxpapersize}
\LWR@loadafter{bytefield}
\LWR@loadafter{cancel}
+\LWR@loadafter{canoniclayout}
\LWR@loadafter{caption}
\LWR@loadafter{caption2}
\LWR@loadafter{cases}
@@ -9692,6 +9930,7 @@ For a possible alternative, see package(s) #2.}
\LWR@loadafter{dblfnote}
\LWR@notmemoirloadafter{dcolumn}
\LWR@loadafter{diagbox}
+\LWR@loadafter{draftcopy}
\LWR@loadafter{draftwatermark}
\LWR@loadafter{easy-todo}
\LWR@loadafter{ebook}
@@ -9727,6 +9966,7 @@ For a possible alternative, see package(s) #2.}
\LWR@loadafter{floatrow}
\LWR@loadafter{fltrace}
\LWR@loadafter{flushend}
+\LWR@loadafter{fnbreak}
\LWR@loadafter{fncychap}
\LWR@loadafter{fnlineno}
\LWR@loadafter{fnpos}
@@ -9804,6 +10044,7 @@ For a possible alternative, see package(s) #2.}
\LWR@loadafter{multitoc}
\LWR@loadafter{nameref}
\LWR@loadafter{natbib}
+\LWR@notmemoirloadafter{nccfancyhdr}
\LWR@notmemoirloadafter{needspace}
% newclude must be loaded before lwarp
\LWR@loadafter{newtxmath}
@@ -9827,6 +10068,7 @@ For a possible alternative, see package(s) #2.}
\LWR@loadafter{pdflscape}
\LWR@loadafter{pdfpages}
\LWR@loadafter{pdfsync}
+\LWR@loadafter{pdftricks}
\LWR@loadafter{pdfx}
\LWR@loadafter{pfnote}
\LWR@loadafter{phfqit}
@@ -9834,6 +10076,8 @@ For a possible alternative, see package(s) #2.}
\LWR@loadafter{prelim2e}
\LWR@loadafter{prettyref}
\LWR@loadafter{preview}
+\LWR@loadafter{pst-eps}
+\LWR@loadafter{pstricks}
\LWR@loadafter{quotchap}
\LWR@loadafter{quoting}
\LWR@loadafter{ragged2e}
@@ -9863,6 +10107,7 @@ For a possible alternative, see package(s) #2.}
\LWR@loadafter{showkeys}
\LWR@loadafter{sidecap}
\LWR@loadafter{sidenotes}
+\LWR@loadafter{SIunits}
\LWR@loadafter{siunitx}
\LWR@loadafter{soul}
\LWR@loadafter{soulpos}
@@ -9905,6 +10150,7 @@ For a possible alternative, see package(s) #2.}
% \LWR@loadafter{typearea}% preloaded by koma-script classes
\LWR@loadafter{ulem}
\LWR@loadafter{underscore}
+\LWR@loadafter{units}
\LWR@loadafter{upref}
\LWR@loadafter{url}
\LWR@loadafter{varioref}% no lwarp package provided
@@ -9925,6 +10171,7 @@ For a possible alternative, see package(s) #2.}
\LWR@loadafter{xmpincl}
\LWR@loadafter{xpiano}
\LWR@loadafter{xtab}
+% xunicode must be loaded before lwarp
\LWR@loadafter{xurl}
\LWR@loadafter{xy}
\LWR@loadafter{zwpagelayout}
@@ -10337,33 +10584,6 @@ top=1in,bottom=1in,%
% \end{macrocode}
-% \DescribePackage{amsmath}
-% Preloaded to avoid options clash and to add patches.
-%
-% ^^A \changes{v0.16}{2016/04/09}{Fix: amsmath options clash}
-%
-% ^^A \pkg{newtxmath} automatically loads \pkg{amsmath},
-% ^^A so the option \optn{leqno} is passed beforehand to be
-% ^^A picked up both here and by \pkg{newtxmath} if it is used.
-% ^^A \changes{v0.16}{2016/04/11}{Fix: newtxmath compatibility.}
-% \changes{v0.33}{2016/06/21}{\pkg{amsmath}: Removed \optn{fleqn} option.}
-%
-% ^^A *8* remove leqno and references
-% \begin{macrocode}
-% \PassOptionsToPackage{leqno}{amsmath}% disabled to test centered display math
-\RequirePackage{amsmath}
-% \end{macrocode}
-%
-% Patches to allow \cs{eqref} inside a caption:
-% \changes{v0.49}{2018/02/18}{\pkg{amsmath}: Fix: Patches for \cs{eqref}.}
-% \changes{v0.50}{2018/03/02}{\pkg{amsmath}: Fix: Upright tags for \SVG math.}
-% \begin{macrocode}
-\def\maketag@@@#1{\text{#1}}
-\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
-% \end{macrocode}
-
-
-
% \changes{v0.40}{2017/09/07}{No longer preloads \pkg{xfrac}.}
@@ -10995,8 +11215,8 @@ top=1in,bottom=1in,%
% are processed by the print or \HTML\ version.
%
% Expandable versions are also provided as well.
-% These areusually necessary for anything which could appear inside a \env{tabular},
-% without which an |Misplaced \omit| error may occur.
+% These usually are necessary for anything which could appear inside a \env{tabular},
+% without which a ``|Misplaced \omit|'' error may occur.
% \watchout[Misplaced \cs{omit} error]
% \begin{sourcedisplay}
% \cs{LWR@expandableformatted} \\
@@ -11558,8 +11778,378 @@ top=1in,bottom=1in,%
% \end{macrocode}
+% \subsection{\prog{lwarpmk} configuration files}
% ^^A *lwarpmk.conf
-% \subsection{lwarpmk.conf}
+
+% \codeprint
+% \begin{macrocode}
+\begin{warpprint}
+% \end{macrocode}
+
+
+% \begin{macro}{\LWR@lwarpconfversion}
+% The version number of the configuration file, allowing \prog{lwarpmk} to detect
+% an obsolete configuration file format.
+% Incremented by one each time the configuration file format changes.
+% (This is NOT the same as the \pkg{lwarp} version number.)
+% \begin{macrocode}
+\newcommand*{\LWR@lwarpconfversion}{1}% also in lwarpmk.lua
+% \end{macrocode}
+% \end{macro}
+%
+%
+% The literal dollar sign character, with a plain catcode,
+% allowing it to be written to a file as-is.
+% \begin{macrocode}
+\catcode`\$=12
+\def\LWR@dollarchar{$}
+\catcode`\$=3
+% \end{macrocode}
+%
+%
+% The literal ampersand character, with a plain catcode,
+% allowing it to be written to a file as-is.
+% \begin{macrocode}
+\catcode`\&=12
+\def\LWR@ampersand{&}
+\catcode`\&=4
+% \end{macrocode}
+%
+%
+% \begin{macro}{\LWR@opquote}
+% The operating system's quote mark:
+% \begin{macrocode}
+\ifbool{usingOSWindows}{
+ \def\LWR@opquote{"}
+}{
+ \def\LWR@opquote{'}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR@opsequence}
+% The operating system's sequential execution command:
+% \begin{macrocode}
+\ifbool{usingOSWindows}{
+ \def\LWR@opsequence{\LWR@ampersand}
+}{
+ \def\LWR@opsequence{\LWR@ampersand\LWR@ampersand}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR@shellescapecmd}
+% The LaTeX compile option for shell escape, if used.
+% \begin{macrocode}
+\ifshellescape
+ \def\LWR@shellescapecmd{--shell-escape }
+\else
+ \def\LWR@shellescapecmd{}
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR@compilecmd} \marg{engine} \marg{suffix}
+%
+% Used to form the basic compilation command for a document, adding
+% the optional shell escape.
+%
+% Engine is \prog{pdflatex}, etc. Suffix is empty or \filenm{\_html}
+% \begin{macrocode}
+\newcommand*{\LWR@compilecmd}[2]{%
+ #1 \LWR@shellescapecmd \jobname#2%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR@addcompilecmd} \marg{cmd} \marg{suffix}
+%
+% Adds to the compilation command.
+%
+% Cmd is \prog{dvipdfmx}, etc. Suffix is empty or \filenm{\_html}
+% \begin{macrocode}
+\newcommand*{\LWR@addcompilecmd}[2]{%
+ \space \LWR@opsequence \space\space
+ #1 \jobname#2%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR@unknownengine}
+% 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, and lualatex.}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR@latexmkvar} \marg{varname} \marg{value}
+%
+% Adds a \prog{latexmk} variable assignment.
+% \begin{macrocode}
+\newcommand*{\LWR@latexmkvar}[2]{%
+ -e
+ \LWR@opquote%
+ \LWR@dollarchar #1=q/#2/%
+ \LWR@opquote
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\LWR@latexmkcmd} \marg{\prog{latexmk} options}
+%
+% Sets a call to \prog{latexmk} with the given options, possibly adding
+% \optn{-\/-shell-escape}, and also adding the indexing program.
+% \changes{v0.59}{2018/09/05}{Fix: \optn{--shell-escape} with \prog{latexmk}.}
+% \begin{macrocode}
+\newcommand*{\LWR@latexmkcmd}[1]{%
+ latexmk \space \LWR@shellescapecmd \space #1 \space
+ -recorder \space
+ \LWR@latexmkvar{makeindex}{\LWR@LatexmkIndexCmd}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR@latexmkdvipdfm} \marg{\prog{dvipdfm} or \prog{dvipdfmx}}
+%
+% Adds the options settings for \prog{dvipdfm} or \prog{dvipdfmx}.
+% \begin{macrocode}
+\newcommand*{\LWR@latexmkdvipdfm}[1]{%
+ -pdfdvi \space
+ \LWR@latexmkvar{dvipdf}{%
+ #1
+ \@percentchar O
+ -o \@percentchar D
+ \@percentchar S%
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR@printlatexcmd}
+% \begin{macro}{\LWR@HTMLlatexcmd}
+%
+% The following sets the command to use to compile the source to \PDF\ form.
+%
+% If using \prog{latexmk}, a complicated string is created,
+% eventually resulting in something such as:
+%
+% For \prog{xelatex} with \optn{--shell-escape}:
+% \begin{Verbatim}[tabsize=4,gobble=2,frame=lines]
+% [[latexmk -xelatex --shell-escape -recorder
+% -e '$makeindex = q/makeindex -s lwarp.ist/' <jobname>_html]]
+% \end{Verbatim}
+%
+% For \prog{dvipdfmx}:
+% \begin{Verbatim}[tabsize=4,gobble=2,frame=lines]
+% [[latexmk -pdfdvi -e '$dvipdf=q/dvipdfmx %O -o %D %S/'
+% -recorder
+% -e '$makeindex=q/makeindex -s lwarp.ist/' <jobname>_html]]
+% \end{Verbatim}
+%
+% \begin{macrocode}
+\ifbool{LWR@latexmk}{
+% \end{macrocode}
+% For \prog{latexmk} with \prog{pdflatex} or \prog{lualatex}:
+% \begin{macrocode}
+ \ifpdf
+% \end{macrocode}
+% For \prog{latexmk} with \prog{pdflatex}:
+% \begin{macrocode}
+ \ifPDFTeX
+ \def\LWR@latexcmd{\LWR@latexmkcmd{-pdf -dvi- -ps-}}
+ \else
+% \end{macrocode}
+% For \prog{latexmk} with \prog{lualatex}:
+% \begin{macrocode}
+ \ifLuaTeX
+ \def\LWR@latexcmd{\LWR@latexmkcmd{-lualatex}}
+ \else
+ \LWR@unknownengine
+ \fi
+ \fi
+ \else% \ifpdf
+% \end{macrocode}
+% For \prog{latexmk} with \prog{xelatex} or \DVI\ \prog{latex}:
+% \begin{macrocode}
+ \ifXeTeX
+% \end{macrocode}
+% For \prog{latexmk} with \prog{xelatex}:
+% \begin{macrocode}
+ \def\LWR@latexcmd{\LWR@latexmkcmd{-xelatex}}
+ \else% \ifXeTeX
+% \end{macrocode}
+% For \prog{latexmk} with \DVI\ \prog{latex}:
+% \begin{macrocode}
+ \ifbool{LWR@dvipdfm}{
+ \def\LWR@latexcmd{%
+ \LWR@latexmkcmd{%
+ \LWR@latexmkdvipdfm{dvipdfm}%
+ }
+ }
+ }{
+ \ifbool{LWR@dvipdfmx}{
+ \def\LWR@latexcmd{%
+ \LWR@latexmkcmd{%
+ \LWR@latexmkdvipdfm{dvipdfmx}%
+ }
+ }
+ }{
+ \def\LWR@latexcmd{\LWR@latexmkcmd{-pdfps}}
+ }
+ }
+ \fi
+ \fi% \ifpdf
+% \end{macrocode}
+% The final assignment if \prog{latexmk}:
+% \begin{macrocode}
+ \def\LWR@printlatexcmd{\LWR@latexcmd \space \jobname}
+ \def\LWR@HTMLlatexcmd{\LWR@latexcmd \space \jobname_html}
+}% latexmk
+% \end{macrocode}
+% Without \prog{latexmk}, the compiling command is simply the compiler name
+% and the optional shell escape:
+% \begin{macrocode}
+{% not latexmk
+ \ifpdf
+% \end{macrocode}
+% For \prog{pdflatex} or \prog{lualatex}:
+% \begin{macrocode}
+ \ifPDFTeX
+% \end{macrocode}
+% For \prog{pdflatex}:
+% \begin{macrocode}
+ \def\LWR@printlatexcmd{\LWR@compilecmd{pdflatex}{}}
+ \def\LWR@HTMLlatexcmd{\LWR@compilecmd{pdflatex}{_html}}
+ \else
+ \ifLuaTeX
+% \end{macrocode}
+% For \prog{lualatex}:
+% \begin{macrocode}
+ \def\LWR@printlatexcmd{\LWR@compilecmd{lualatex}{}}
+ \def\LWR@HTMLlatexcmd{\LWR@compilecmd{lualatex}{_html}}
+ \else
+ \LWR@unknownengine
+ \fi
+ \fi
+ \else% \ifpdf
+% \end{macrocode}
+% For \DVI\ \prog{latex} or \prog{xelatex}:
+% \begin{macrocode}
+ \ifXeTeX
+% \end{macrocode}
+% For \prog{xelatex}:
+% \begin{macrocode}
+ \def\LWR@printlatexcmd{\LWR@compilecmd{xelatex}{}}
+ \def\LWR@HTMLlatexcmd{\LWR@compilecmd{xelatex}{_html}}
+ \else
+% \end{macrocode}
+% For \DVI\ \prog{latex}. Default to \prog{dvips}, unless
+% told to use \prog{dvipdfm} or \prog{dvipdfmx}:
+% \begin{macrocode}
+ \ifbool{LWR@dvipdfm}{
+% \end{macrocode}
+% For \DVI\ \prog{latex} with \prog{dvipdfm}:
+% \begin{macrocode}
+ \def\LWR@printlatexcmd{%
+ \LWR@compilecmd{latex}{}
+ \LWR@addcompilecmd{dvipdfm}{}
+ }
+ \def\LWR@HTMLlatexcmd{%
+ \LWR@compilecmd{latex}{_html}
+ \LWR@addcompilecmd{dvipdfm}{_html}
+ }
+ }{
+ \ifbool{LWR@dvipdfmx}{
+% \end{macrocode}
+% For \DVI\ \prog{latex} with \prog{dvipdfmx}:
+% \begin{macrocode}
+ \def\LWR@printlatexcmd{%
+ \LWR@compilecmd{latex}{}
+ \LWR@addcompilecmd{dvipdfmx}{}
+ }
+ \def\LWR@HTMLlatexcmd{%
+ \LWR@compilecmd{latex}{_html}
+ \LWR@addcompilecmd{dvipdfmx}{_html}
+ }
+ }{% dvips
+% \end{macrocode}
+% For \DVI\ \prog{latex} with \prog{dvips} and \prog{ps2pdf}:
+% \begin{macrocode}
+ \def\LWR@printlatexcmd{%
+ \LWR@compilecmd{latex}{}
+ \LWR@addcompilecmd{dvips}{}
+ \LWR@addcompilecmd{ps2pdf}{}.ps
+ }
+ \def\LWR@HTMLlatexcmd{%
+ \LWR@compilecmd{latex}{_html}
+ \LWR@addcompilecmd{dvips}{_html}
+ \LWR@addcompilecmd{ps2pdf}{_html}.ps
+ }
+ }
+ }
+ \fi% \ifXeTeX
+ \fi% \ifpdf
+}% latexmk
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\LWR@writeconf} \marg{filename}
+%
+% Common code for each of \filenm{lwarpmk.conf} and \filenm{<project>.lwarpmkconf}.
+% Each entry is a variable name, the equal sign, and a quoted string
+% inside |[[| and |]]|, which are \prog{lua}'s long quote characters, allowing the
+% use of single and double quotes inside.
+%
+% \changes{v0.59}{2018/08/21}{Compilation commands now preassigned by \pkg{lwarp} instead
+% of being computed by \prog{lwarpmk}.}
+% \begin{macrocode}
+\newcommand{\LWR@writeconf}[1]{%
+\ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}}
+\immediate\openout\LWR@quickfile=#1
+\immediate\write\LWR@quickfile{confversion = [[\LWR@lwarpconfversion]]}
+\ifbool{usingOSWindows}{
+ \immediate\write\LWR@quickfile{opsystem = [[Windows]]}
+}{
+ \immediate\write\LWR@quickfile{opsystem = [[Unix]]}
+}
+\immediate\write\LWR@quickfile{sourcename = [[\jobname]]}
+\immediate\write\LWR@quickfile{homehtmlfilename = [[\HomeHTMLFilename]]}
+\immediate\write\LWR@quickfile{htmlfilename = [[\HTMLFilename]]}
+\immediate\write\LWR@quickfile{latexmk = [[\ifbool{LWR@latexmk}{true}{false}]]}
+\immediate\write\LWR@quickfile{printlatexcmd = [[\LWR@printlatexcmd]]}
+\immediate\write\LWR@quickfile{HTMLlatexcmd = [[\LWR@HTMLlatexcmd]]}
+\immediate\write\LWR@quickfile{printindexcmd = [[\LWR@PrintIndexCmd]]}
+\immediate\write\LWR@quickfile{HTMLindexcmd = [[\LWR@HTMLIndexCmd]]}
+\immediate\write\LWR@quickfile{latexmkindexcmd = [[\LWR@LatexmkIndexCmd]]}
+\immediate\write\LWR@quickfile{glossarycmd = [[\LWR@GlossaryCmd]]}
+\immediate\write\LWR@quickfile{pdftotextenc = [[\LWR@pdftotextEnc]]}
+\immediate\closeout\LWR@quickfile
+}
+
+% \end{macrocode}
+% \end{macro}
+
+% \begin{macrocode}
+\end{warpprint}
+% \end{macrocode}
+
+
+
+% \subsubsection{lwarpmk.conf}
%
% \DescribeFile{lwarpmk.conf}
% |lwarpmk.conf| is automatically (re-)created by the \pkg{lwarp} package when
@@ -11583,49 +12173,15 @@ top=1in,bottom=1in,%
% \codeprint
% \begin{macrocode}
\begin{warpprint}
-\AtBeginDocument{
-\ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}}
-\immediate\openout\LWR@quickfile=lwarpmk.conf
-\ifbool{usingOSWindows}{
-\immediate\write\LWR@quickfile{opsystem = "Windows"}
-}{
-\immediate\write\LWR@quickfile{opsystem = "Unix"}
-}
-\ifPDFTeX
-\immediate\write\LWR@quickfile{latexname = "pdflatex"}
-\fi
-\ifXeTeX
-\immediate\write\LWR@quickfile{latexname = "xelatex"}
-\fi
-\ifLuaTeX
-\immediate\write\LWR@quickfile{latexname = "lualatex"}
-\fi
-\immediate\write\LWR@quickfile{sourcename = "\jobname"}
-\immediate\write\LWR@quickfile{%
-homehtmlfilename = "\HomeHTMLFilename"%
-}
-\immediate\write\LWR@quickfile{htmlfilename = "\HTMLFilename"}
-\immediate\write\LWR@quickfile{latexmk = "\ifbool{LWR@latexmk}{true}{false}"}
-\immediate\write\LWR@quickfile{shellescape = "\ifshellescape true\else false\fi"}
-\immediate\write\LWR@quickfile{printindexcmd = "\LWR@PrintIndexCmd"}
-\immediate\write\LWR@quickfile{HTMLindexcmd = "\LWR@HTMLIndexCmd"}
-\immediate\write\LWR@quickfile{latexmkindexcmd = "\LWR@LatexmkIndexCmd"}
-\immediate\write\LWR@quickfile{glossarycmd = "\LWR@GlossaryCmd"}
-% \end{macrocode}
-% ^^A \immediate\write\LWR@quickfile{makeindexstyle = "\LWR@makeindexStyle"}
-% ^^A \immediate\write\LWR@quickfile{xindylanguage = "\LWR@xindyLanguage"}
-% ^^A \immediate\write\LWR@quickfile{xindycodepage = "\LWR@xindyCodepage"}
-% ^^A \immediate\write\LWR@quickfile{xindystyle = "\LWR@xindyStyle"}
-% \begin{macrocode}
-\immediate\write\LWR@quickfile{pdftotextenc = "\LWR@pdftotextEnc"}
-\immediate\closeout\LWR@quickfile
-}% AtBeginDocument
+
+\AtBeginDocument{\LWR@writeconf{lwarpmk.conf}}
+
\end{warpprint}
% \end{macrocode}
-% \subsection{project.lwarpmkconf}
+% \subsubsection{<project>.lwarpmkconf}
%
% \DescribeFile{project.lwarpmkconf} A project-specific configuration file for \prog{lwarpmk}.
%
@@ -11640,47 +12196,13 @@ homehtmlfilename = "\HomeHTMLFilename"%
% \changes{v0.58}{2018/06/20}{\filenm{*.lwarpmkconf}: Added options \optn{makeindex} and \optn{xindy}.}
% \changes{v0.58}{2018/06/21}{\filenm{*.lwarpmkconf}: Added option \optn{makeindexstyle}.}
%
-% The \optn{makeindex} and \optn{xindy} options have already previously been handled
+% The \optn{makeindex} and \optn{xindy} options have already been handled
% for \filenm{lwarp.conf}.
% \begin{macrocode}
\begin{warpprint}
-\AtBeginDocument{
-\ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}}
-\immediate\openout\LWR@quickfile=\jobname.lwarpmkconf
-\ifbool{usingOSWindows}{
-\immediate\write\LWR@quickfile{opsystem = "Windows"}
-}{
-\immediate\write\LWR@quickfile{opsystem = "Unix"}
-}
-\ifPDFTeX
-\immediate\write\LWR@quickfile{latexname = "pdflatex"}
-\fi
-\ifXeTeX
-\immediate\write\LWR@quickfile{latexname = "xelatex"}
-\fi
-\ifLuaTeX
-\immediate\write\LWR@quickfile{latexname = "lualatex"}
-\fi
-\immediate\write\LWR@quickfile{sourcename = "\jobname"}
-\immediate\write\LWR@quickfile{%
-homehtmlfilename = "\HomeHTMLFilename"%
-}
-\immediate\write\LWR@quickfile{htmlfilename = "\HTMLFilename"}
-\immediate\write\LWR@quickfile{latexmk = "\ifbool{LWR@latexmk}{true}{false}"}
-\immediate\write\LWR@quickfile{shellescape = "\ifshellescape true\else false\fi"}
-\immediate\write\LWR@quickfile{printindexcmd = "\LWR@PrintIndexCmd"}
-\immediate\write\LWR@quickfile{HTMLindexcmd = "\LWR@HTMLIndexCmd"}
-\immediate\write\LWR@quickfile{latexmkindexcmd = "\LWR@LatexmkIndexCmd"}
-\immediate\write\LWR@quickfile{glossarycmd = "\LWR@GlossaryCmd"}
-% \end{macrocode}
-% ^^A \immediate\write\LWR@quickfile{makeindexstyle = "\LWR@makeindexStyle"}
-% ^^A \immediate\write\LWR@quickfile{xindylanguage = "\LWR@xindyLanguage"}
-% ^^A \immediate\write\LWR@quickfile{xindycodepage = "\LWR@xindyCodepage"}
-% ^^A \immediate\write\LWR@quickfile{xindystyle = "\LWR@xindyStyle"}
-% \begin{macrocode}
-\immediate\write\LWR@quickfile{pdftotextenc = "\LWR@pdftotextEnc"}
-\immediate\closeout\LWR@quickfile
-}% AtBeginDocument
+
+\AtBeginDocument{\LWR@writeconf{\jobname.lwarpmkconf}}
+
\end{warpprint}
% \end{macrocode}
@@ -13830,6 +14352,8 @@ exit
% \changes{v0.42}{2017/10/16}{File: \filenm{lwarp\_mathjax.txt}: Updated \pkg{siunitx} script.}
% \changes{v0.45}{2017/12/21}{File: \filenm{lwarp\_mathjax.txt}: Allow \brand{MathJax} inside \env{tabbing}.}
% \changes{v0.45}{2018/01/23}{File: \filenm{lwarp\_mathjax.txt}: Allow \brand{MathJax} inside \env{verse}.}
+% \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.}
%
%
% ^^A *lwarp_mathjax.txt
@@ -13856,18 +14380,20 @@ MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () {
seteqsection.num = AMS.number;
var n = this.GetArgument(name);
if (n === "") {
- seteqsection = seteqsectionDefault;
+ seteqsection = seteqsectionDefault;
} else {
- if (!seteqsections["_"+n])
- seteqsections["_"+n] = {name:n, num:0};
- seteqsection = seteqsections["_"+n];
+ if (!seteqsections["_"+n])
+ seteqsections["_"+n] = {name:n, num:0};
+ seteqsection = seteqsections["_"+n];
}
AMS.number = seteqsection.num;
},
mySetEqNumber: function (name) {
var n = this.GetArgument(name);
if (!n || !n.match(/^ *[0-9]+ *$/))
- n = ""; else n = parseInt(n)-1;
+ n = "";
+ else
+ n = parseInt(n)-1;
<!-- $ syntax highlighting -->
if (n === "" || n < 1)
TEX.Error
@@ -13878,13 +14404,19 @@ MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () {
MathJax.Hub.Config({
TeX: {
equationNumbers: {
- formatTag: function (n)
- {return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")"},
- formatID: function (n) {
- n = (seteqsection.name+'.'+n).replace
- (/[:"'<>&]/g,"").replace(/^\./,"");
- return 'mjx-eqn-' + n;
- }
+ formatTag: function (n) {
+ <!-- if not numeric, don't include the chapter -->
+ if (!n.match(/^ *[0-9]+ *$/ ))
+ <!-- $ syntax highlighting -->
+ return "("+(n).replace(/^\./,"")+")" ;
+ else
+ return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")" ;
+ },
+ formatID: function (n) {
+ n = (seteqsection.name+'.'+n).replace
+ (/[:"'<>&]/g,"").replace(/^\./,"");
+ return 'mjx-eqn-' + n;
+ }
}
}
});
@@ -13924,7 +14456,7 @@ MathJax.Hub.Config({
<!-- Alternative CDN provider: -->
<script type="text/javascript" async
-src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML-full">
+src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML-full">
</script>
<!-- No longer supported after April 30, 2017: -->
@@ -14007,6 +14539,11 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-
% \changes{v0.58}{2018/06/18}{\prog{lwarpmk}: Glossary generation now uses \prog{makeglossaries}.}
% \changes{v0.58}{2018/06/20}{\prog{lwarpmk}: Added \optn{makeindex} and \optn{xindy} options.}
% \changes{v0.58}{2018/06/20}{\prog{lwarpmk}: \cmds{lwarpmk clean} removes all \filenm{*.ind} and \filenm{*.idx} files.}
+% \changes{v0.59}{2018/07/29}{\prog{lwarpmk}: Warning if operating system changed.}
+% \changes{v0.59}{2018/07/29}{\prog{lwarpmk}: Error if \filenm{lwarpmk.conf} format changed.}
+% \changes{v0.59}{2018/08/05}{\prog{lwarpmk}: Double insead of single-dashed \optn{--shell-escape} option.}
+% \changes{v0.59}{2018/08/21}{\prog{lwarpmk}: Consolidated compiling options into \optn{printlatexcmd} and \optn{HTMLlatexcmd}.}
+% \changes{v0.59}{2018/09/06}{\prog{lwarpmk}: Added \cmds{lwarpmk epstopdf}.}
%
% The following is only generated if the \optn{lwarpmk} option
% was given to \pkg{lwarp}.
@@ -14022,8 +14559,8 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-
-- Copyright 2016-2018 Brian Dunn
-printversion = "v0.58"
-
+printversion = "v0.59"
+requiredconfversion = "1" -- also at *lwarpmk.conf
function printhelp ()
print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
@@ -14051,6 +14588,7 @@ lwarpmk pdftohtml [-p project]:
Converts project_html.pdf to project_html.html and individual HTML files.
Finishes the HTML conversion even if there was a compile error.
lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG.
+lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF.
lwarpmk clean [-p project]: Remove .aux, .toc, .lof/t, .idx, .ind, .log, *_html_inc.*, .gl*
lwarpmk cleanall [-p project]: Remove auxiliary files and also project.pdf, *.html
lwarpmk cleanlimages: Removes all images from the "lateximages" directory.
@@ -14062,39 +14600,6 @@ lwarpmk --help: Print this help message.
end
--- function printconf ()
--- --
--- -- Print the format of the configuration file lwarpmk.conf:
--- --
--- print ( [[
--- An example lwarpmk.conf or <project>.lwarpmkconf project file:
--- --
--- opsystem = "Unix" (or "Windows")
--- latexname = "pdflatex" (or "lualatex", or "xelatex")
--- sourcename = "projectname" (the source-code filename w/o .tex)
--- homehtmlfilename = "index" (or perhaps the project name)
--- htmlfilename = "" (or "projectname" - filename prefix)
--- latexmk = "false" (or "true" to use latexmk to build PDFs)
--- shellescape = "false"
--- printindexcmd = "makeindex -s lwarp.ist <name>.idx"
--- HTMLindexcmd = "makeindex -s lwarp.ist <name>_html.idx"
--- latexmkindexcmd = "makeindex -s lwarp.ist"
--- -- indexprog = "makeindex" or "xindy"
--- -- makeindexstyle = "lwarp.ist" (or a custom file based on lwarp.ist)
--- -- xindylanguge = "english" (use a language supported by xindy)
--- -- xindycodepage = "utf8" (use a codepage supported by xindy)
--- -- xindystyle = "lwarp.xdy" (or a custom file based on lwarp.xdy)
--- glossarycmd = "makeglossaries"
--- pdftotextenc = "UTF-8" (use an encoding supported by pdftotext)
--- --
--- Filenames must contain only letters, numbers, underscore, or dash.
--- Values must be in upright "quotes".
---
--- ]] ) ;
--- end
-
-
-
function splitfile (destfile,sourcefile)
--
-- Split one large sourcefile into a number of files,
@@ -14134,6 +14639,11 @@ function cvalueerror ( line, linenum , cvalue )
end
+function ignoreconf ()
+-- Global argument index
+argindex = 2
+end
+
function loadconf ()
--
-- Load settings from the project's "lwarpmk.conf" file:
@@ -14151,9 +14661,11 @@ if ( arg[argindex] == "-p" ) then
argindex = argindex + 1
end
-- Additional defaults:
+confversion = "0"
opsystem = "Unix"
latexmk = "false"
-shellescape = "false"
+printlatexcmd = ""
+HTMLlatexcmd = ""
printindexcmd = ""
HTMLindexcmd = ""
latexmkindexcmd = ""
@@ -14186,11 +14698,11 @@ else -- file exists
-- Read the file:
print ("lwarpmk: Reading " .. conffile ..".")
local cfile = io.open(conffile)
--- Scan each line:
+-- Scan each line, parsing each line as: name = [[string]]
local linenum = 0
for line in cfile:lines() do -- scan lines
linenum = linenum + 1
-i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([^\"]*)\"") ;
+i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*%[%[([^%]]*)%]%]") ;
-- Error if incorrect enclosing characters:
if ( i == nil ) then
print ("lwarpmk: ===")
@@ -14200,48 +14712,25 @@ if ( i == nil ) then
-- printconf () ;
os.exit(1) ;
end -- nil
-if ( cvarname == "opsystem" ) then
+if ( cvarname == "confversion" ) then
+ confversion = cvalue
+elseif ( cvarname == "opsystem" ) then
-- Verify choice of opsystem:
if ( (cvalue == "Unix") or (cvalue == "Windows") ) then
opsystem = cvalue
else
cvalueerror ( line, linenum , cvalue )
end
-elseif ( cvarname == "latexname" ) then
- -- Verify choice of LaTeX compiler:
- if (
- (cvalue == "pdflatex") or
- (cvalue == "xelatex") or
- (cvalue == "lualatex")
- ) then
- latexname = cvalue
- else
- cvalueerror ( line, linenum , cvalue )
- end
elseif ( cvarname == "sourcename" ) then sourcename = cvalue
elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue
elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue
elseif ( cvarname == "latexmk" ) then latexmk = cvalue
-elseif ( cvarname == "shellescape" ) then shellescape = cvalue
+elseif ( cvarname == "printlatexcmd" ) then printlatexcmd = cvalue
+elseif ( cvarname == "HTMLlatexcmd" ) then HTMLlatexcmd = cvalue
elseif ( cvarname == "printindexcmd" ) then printindexcmd = cvalue
elseif ( cvarname == "HTMLindexcmd" ) then HTMLindexcmd = cvalue
elseif ( cvarname == "latexmkindexcmd" ) then latexmkindexcmd = cvalue
elseif ( cvarname == "glossarycmd" ) then glossarycmd = cvalue
--- to be removed:
--- elseif ( cvarname == "indexprog" ) then
--- -- Verify choice of indexing program:
--- if (
--- (cvalue == "makeindex") or
--- (cvalue == "xindy")
--- ) then
--- indexprog = cvalue
--- else
--- cvalueerror ( line, linenum , cvalue )
--- end
--- elseif ( cvarname == "makeindexstyle" ) then makeindexstyle = cvalue
--- elseif ( cvarname == "xindylanguage" ) then xindylanguage = cvalue
--- elseif ( cvarname == "xindycodepage" ) then xindycodepage = cvalue
--- elseif ( cvarname == "xindystyle" ) then xindystyle = cvalue
elseif ( cvarname == "pdftotextenc" ) then pdftotextenc = cvalue
else
print ("lwarpmk: ===")
@@ -14261,7 +14750,7 @@ end -- file exists
-- This could happen if a local copy of lwarp has recently been recompiled.
if sourcename=="lwarp" then
print ("lwarpmk: ===")
- print ("lwarpmk: Lwarp has recently been recompiled in this directory,")
+ print ("lwarpmk: lwarp.sty has recently been recompiled in this directory,")
print ("lwarpmk: and \"lwarpmk.conf\" is no longer set for your own project.")
print ("lwarpmk: Recompile your own project using pdf/lua/xelatex <projectname>.")
print ("lwarpmk: After a recompile, \"lwarpmk.conf\" will be set for your project,")
@@ -14296,9 +14785,33 @@ elseif opsystem=="Windows" then -- For Windows
cmdgroupclosename = ""
seqname = " & "
bgname = ""
-else print ( "lwarpmk: Select Unix or Windows for opsystem" )
+else
+ print ("lwarpmk: ===")
+ print ("lwarpmk: Select Unix or Windows for opsystem." )
+ print ("lwarpmk: ===")
+ os.exit(1)
end --- for Windows
-
+-- Warning if the operating system does not appear to be correct,
+-- in case files were transferred to another system.
+if ( (package.config:sub(1,1)) ~= dirslash ) then
+ print ("lwarpmk: ===")
+ print ("lwarpmk: It appears that lwarpmk.conf is for a different operating system." )
+ print ("lwarpmk: To adjust lwarpmk.conf for the current operating system," )
+ print ("lwarpmk: recompile the original document using xe/lua/pdflatex." )
+ print ("lwarpmk: ")
+ print ("lwarpmk: lwarpmk shall attempt to continue...")
+ print ("lwarpmk: ===")
+end
+-- Error if the configuration file's version is not current:
+if ( confversion ~= requiredconfversion ) then
+ print ("lwarpmk: ===")
+ print ("lwarpmk: The configuration files lwarpmk.conf and "..sourcename..".lwarpmkconf" )
+ print ("lwarpmk: must be updated. To update the configuration files," )
+ print ("lwarpmk: recompile "..sourcename..".tex using xe/lua/pdflatex," )
+ print ("lwarpmk: then use lwarpmk again.")
+ print ("lwarpmk: ===")
+ os.exit(1)
+end
end -- loadconf
@@ -14343,36 +14856,30 @@ end
-function onetime (fsuffix)
+function onetime (latexcmd, fsuffix)
--
-- Compile one time, return true if should compile again.
-- fsuffix is "" for print, "_html" for HTML output.
--
-print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix)
-local thisshellescape = " "
-if ( shellescape == "true" ) then
- thisshellescape = " -shell-escape "
-else
- thisshellescape = " "
-end
+print("lwarpmk: Compiling with: " .. latexcmd)
executecheckerror (
- latexname .. thisshellescape .. sourcename..fsuffix ,
+ latexcmd ,
"Compile error."
)
return (reruntoget(sourcename .. fsuffix .. ".log") ) ;
end
-function manytimes (fsuffix)
+function manytimes (latexcmd, fsuffix)
--
-- Compile up to five times.
-- fsuffix is "" for print, "_html" for HTML output
--
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
+if onetime(latexcmd, fsuffix) == true then
end end end end end
end
@@ -14408,7 +14915,7 @@ end
function removeaux ()
--
-- Remove auxiliary files:
--- All aux files are removed since there may be many bbl*.aux files.
+-- All .aux files are removed since there may be many bbl*.aux files.
--
os.execute ( rmname .. " *.aux " ..
sourcename ..".toc " .. sourcename .. "_html.toc " ..
@@ -14416,6 +14923,7 @@ os.execute ( rmname .. " *.aux " ..
sourcename ..".lot " .. sourcename .. "_html.lot " ..
" *.idx " ..
" *.ind " ..
+ sourcename ..".ps " .. sourcename .."_html.ps " ..
sourcename ..".log " .. sourcename .. "_html.log " ..
sourcename ..".gl* " .. sourcename .. "_html.gl* " ..
" *_html_inc.* "
@@ -14648,34 +15156,22 @@ end -- pagezerowarning
end -- function
-function compilelatexmk ( fsuffix )
+function convertepstopdf ()
--
--- Use latexmk to compile source and index:
--- fsuffix is "" for print, or "_html" for HTML
+-- Converts EPS files to PDF files.
+-- The filenames are arg[argindex] and up.
+-- arg[1] is the command "pdftosvg".
--
--- Maybe select the shell-escape option:
-local thisshellescape = " "
-if ( shellescape == "true" ) then
- thisshellescape = " -shell-escape "
-else
- thisshellescape = " "
-end
--- The recorder option is required to detect changes in <project>.tex
--- while we are loading <project>_html.tex.
-executecheckerror (
- "latexmk -pdf -dvi- -ps- -recorder "
- .. "-e "
- .. opquote
- .. "$makeindex = q/" -- $
- .. latexmkindexcmd
- .. " /"
- .. opquote
- .. " -pdflatex=\"" .. latexname .. thisshellescape .." %O %S\" "
- .. sourcename..fsuffix ..".tex"
- ,
- "Compile error."
-)
-end -- function
+ignoreconf ()
+for i = argindex , #arg do
+ if (lfs.attributes(arg[i],"mode")==nil) then
+ print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
+ else
+ print ("lwarpmk: Converting \"" .. arg[i] .. "\"")
+ os.execute ( "epstopdf " .. arg[i] )
+ end -- if
+end -- do
+end --function
function convertpdftosvg ()
@@ -14684,6 +15180,7 @@ function convertpdftosvg ()
-- The filenames are arg[argindex] and up.
-- arg[1] is the command "pdftosvg".
--
+ignoreconf ()
for i = argindex , #arg do
if (lfs.attributes(arg[i],"mode")==nil) then
print ("lwarpmk: File \"" .. arg[i] .. "\" does not exist.")
@@ -14725,7 +15222,11 @@ print ("lwarpmk: " .. printversion .. " Automated make for the LaTeX lwarp pack
if arg[1] == "print" then
loadconf ()
if ( latexmk == "true" ) then
- compilelatexmk ("")
+ print ("lwarpmk: Compiling with: " .. printlatexcmd)
+ executecheckerror (
+ printlatexcmd ,
+ "Compile error."
+ )
print ("lwarpmk: Done.")
else -- not latexmk
verifyfileexists (sourcename .. ".tex") ;
@@ -14738,7 +15239,7 @@ else -- not latexmk
)
) then
-- Recompile if not yet up to date:
- manytimes("")
+ manytimes(printlatexcmd, "")
print ("lwarpmk: Done.") ;
else
print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ;
@@ -14751,7 +15252,7 @@ end -- not latexmk
elseif arg[1] == "print1" then
loadconf ()
verifyfileexists (sourcename .. ".tex") ;
- onetime("")
+ onetime(printlatexcmd, "")
print ("lwarpmk: Done.") ;
@@ -14783,7 +15284,11 @@ updateanddone ()
elseif arg[1] == "html" then
loadconf ()
if ( latexmk == "true" ) then
- compilelatexmk ("_html")
+ print ("lwarpmk: Compiling with: " .. HTMLlatexcmd)
+ executecheckerror (
+ HTMLlatexcmd ,
+ "Compile error."
+ )
pdftohtml ()
print ("lwarpmk: Done.")
else -- not latexmk
@@ -14797,7 +15302,7 @@ else -- not latexmk
)
) then
-- Recompile if not yet up to date:
- manytimes("_html")
+ manytimes(HTMLlatexcmd, "_html")
pdftohtml ()
print ("lwarpmk: Done.")
else
@@ -14811,7 +15316,7 @@ end -- not latexmk
elseif arg[1] == "html1" then
loadconf ()
verifyfileexists ( sourcename .. ".tex" ) ;
- onetime("_html")
+ onetime(HTMLlatexcmd, "_html")
pdftohtml ()
print ("lwarpmk: Done.")
@@ -14874,13 +15379,14 @@ print ("lwarpmk: Done.")
-- lwarpmk cleanall
-- Remove project.aux, .toc, .lof, .lot, .log, *.idx, *.ind, *_html_inc.*, .gl*
--- and also project.pdf, *.html
+-- and also project.pdf, project.dvi, *.html
elseif arg[1] == "cleanall" then
loadconf ()
removeaux ()
os.execute ( rmname .. " " ..
sourcename .. ".pdf " .. sourcename .. "_html.pdf " ..
+ sourcename .. ".dvi " .. sourcename .. "_html.dvi " ..
"*.html"
)
print ("lwarpmk: Done.")
@@ -14894,8 +15400,15 @@ loadconf ()
os.execute ( rmname .. " lateximages/*" )
print ("lwarpmk: Done.")
+-- lwarpmk epstopdf <list of file names>
+-- Convert EPS files to PDF using epstopdf
+elseif arg[1] == "epstopdf" then
+convertepstopdf ()
+print ("lwarpmk: Done.")
+
+
-- lwarpmk pdftosvg <list of file names>
--- Convert PDf files to SVG using pdftocairo
+-- Convert PDF files to SVG using pdftocairo
elseif arg[1] == "pdftosvg" then
convertpdftosvg ()
print ("lwarpmk: Done.")
@@ -17674,7 +18187,7 @@ end -- not --version
\newcommand{\LWR@customizeMathJax}{%
\ifbool{mathjax}{
\LWR@stoppars
-\LWR@htmlcomment{Nullify \textbackslash{}ensuremath for MathJax:}
+\LWR@htmlcomment{Nullify \textbackslash{}ensuremath, footnotes for MathJax:}
\(\newcommand\ensuremath[1]{##1}\)
@@ -23517,7 +24030,6 @@ rowspan="#2" %
% |\@ifpackageloaded{multirow}| determines if v2.0 or later of
% \pkg{multirow} was used, which included the \cs{ProvidesPackage} macro.
%
-% \begin{macrocode}
% The print version:
% \begin{macrocode}
\@ifpackageloaded{multirow}{% v2.0 or newer
@@ -26499,6 +27011,7 @@ autopage-\theLWR@currentautosec%
% \DescribeFile{lwarp_baseline_marker.png}
+% \DescribeFile{lwarp_baseline_marker.eps}
% A marker to be used to help \prog{pdfcrop} identify the inline math baseline
% and width. If either \pkg{graphicx} or \pkg{graphics} is loaded, this marker is
% placed at the lower left and lower right corners of the inline math.
@@ -26525,36 +27038,41 @@ autopage-\theLWR@currentautosec%
% \changes{v0.51}{2018/03/16}{Improved \SVG\ math baseline.}
% \changes{v0.52}{2018/03/24}{Warnings if \filenm{lwarp\_baseline\_marker.png} is not present
% or if graphicx/s not loaded.}
+% \changes{v0.59}{2018/09/02}{Uses \filenm{.eps} if \DVI\ \prog{latex}.}
% \begin{macrocode}
\AtBeginDocument{
-\IfFileExists{lwarp_baseline_marker.png}%
+\ifpdf
+ \newcommand*{\LWR@baselinename}{lwarp_baseline_marker.png}
+\else
+ \ifXeTeX
+ \newcommand*{\LWR@baselinename}{lwarp_baseline_marker.png}
+ \else
+ \newcommand*{\LWR@baselinename}{lwarp_baseline_marker.eps}
+ \fi
+\fi
+
+\IfFileExists{\LWR@baselinename}%
{
\@ifpackageloaded{graphicx}{
\newcommand*{\LWR@addbaselinemarker}{%
- \LWR@origincludegraphics[%
- width=10sp,height=10sp%
- ]{lwarp_baseline_marker.png}%
+ \LWR@origincludegraphics{\LWR@baselinename}%
}
}{
\@ifpackageloaded{graphics}{
\newcommand*{\LWR@addbaselinemarker}{%
- \LWR@origincludegraphics{lwarp_baseline_marker.png}%
+ \LWR@origincludegraphics{\LWR@baselinename}%
}
}{
\PackageWarning{lwarp}{Load graphicx or graphics
for improved SVG math baselines,}
- \newcommand*{\LWR@addbaselinemarker}{%
- \hspace*{10sp}%
- }
+ \newcommand*{\LWR@addbaselinemarker}{}
}
}
-}{% lwarp_baseline_marker.png not present
- \PackageWarning{lwarp}{File lwarp_baseline_marker.png is not installed alongside
+}{% lwarp_baseline_marker.png or .eps is not present
+ \PackageWarning{lwarp}{File \LWR@baselinename\space is not installed alongside
the lwarp-*.sty files, so SVG math baselines may not be accurate,}
- \newcommand*{\LWR@addbaselinemarker}{%
- \hspace*{10sp}%
- }
+ \newcommand*{\LWR@addbaselinemarker}{}
}
}% AtBeginDocument
@@ -26698,7 +27216,6 @@ autopage-\theLWR@currentautosec%
% \begin{macrocode}
\global\sbox{\LWR@singledollarbox}{%
\usebox{\LWR@singledollarbox}%
- \hspace*{-10sp}%
\raisebox{-\dp\LWR@singledollarbox}{%
\LWR@addbaselinemarker%
}%
@@ -26836,7 +27353,6 @@ autopage-\theLWR@currentautosec%
% \changes{v0.51}{2018/03/10}{SVG math baseline improved with invisible rule at corner.}
% \begin{macrocode}
\LWR@addbaselinemarker%
- \hspace*{-10sp}%
% \end{macrocode}
% Typeset the contents:
% \begin{macrocode}
@@ -26844,7 +27360,6 @@ autopage-\theLWR@currentautosec%
% \end{macrocode}
% The closing baseline marker:
% \begin{macrocode}
- \hspace*{-10sp}%
\LWR@addbaselinemarker%
% \end{macrocode}
% \begin{macrocode}
@@ -26966,16 +27481,22 @@ autopage-\theLWR@currentautosec%
% \begin{macro}{\(}
-% \begin{macro}{\)}
+% \begin{macro}{\[}
% Redefine to the above dollar macros.
% \begin{macrocode}
+\AtBeginDocument{
\protected\gdef\(#1\){$#1$}
\protected\gdef\[#1\]{$$#1$$}
+}
\endgroup
-
+% \end{macrocode}
+% \changes{v0.59}{2018/08/23}{Fix with \cs{displaymathnormal}.}
+% \begin{macrocode}
+\AtBeginDocument{
\LetLtxMacro\LWR@openbracketnormal\[
\LetLtxMacro\LWR@closebracketnormal\]
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -27243,10 +27764,12 @@ autopage-\theLWR@currentautosec%
%
% Remember existing \env{equation} environment:
% \begin{macrocode}
+\AtBeginDocument{
\let\LWR@origequation\equation
\let\LWR@origendequation\endequation
\csletcs{LWR@origequation*}{equation*}
\csletcs{LWR@origendequation*}{endequation*}
+}
% \end{macrocode}
%
%
@@ -27352,10 +27875,12 @@ autopage-\theLWR@currentautosec%
% Remove existing \env{equation} environment:
% \begin{macrocode}
+\AtBeginDocument{
\let\equation\relax
\let\endequation\relax
\csletcs{equation*}{relax}
\csletcs{endequation*}{relax}
+}
% \end{macrocode}
@@ -27365,36 +27890,42 @@ autopage-\theLWR@currentautosec%
% which stores the contents of its environment in a
% macro called \cs{BODY}.
% \begin{macrocode}
+\AtBeginDocument{
\NewEnviron{equation}%
{\LWR@doequation{\BODY}{equation}}%
[\LWR@doendequation{equation}]
\LetLtxMacro\LWR@equationnormal\equation
-\LetLtxMacro\LWR@endequationnormal\endequation
+\LetLtxMacro\endLWR@equationnormal\endequation
+}
% \end{macrocode}
% \end{environment}
% \begin{environment}{equation*}
% \begin{macrocode}
+\AtBeginDocument{
\NewEnviron{equation*}%
{\LWR@doequation{\BODY}{equation*}}%
[\LWR@doendequation{equation*}]
\csletcs{LWR@equationnormalstar}{equation*}
\csletcs{LWR@endequationnormalstar}{endequation*}
+}
% \end{macrocode}
% \end{environment}
-% Remember the ``less'' version of \env{equation}, which use \brand{MathJax}
+% Remember the ``less'' version of \env{equation}, which uses \brand{MathJax}
% and \attribute{alt} tags, but does not support complicated contents such as
% some \tikz\ expressions.
% \begin{macrocode}
+\AtBeginDocument{
\LetLtxMacro\LWR@equationless\equation
-\LetLtxMacro\LWR@endequationless\endequation
+\LetLtxMacro\endLWR@equationless\endequation
\csletcs{LWR@equationlessstar}{equation*}
\csletcs{LWR@endequationlessstar}{endequation*}
+}
% \end{macrocode}
@@ -27414,7 +27945,7 @@ autopage-\theLWR@currentautosec%
\LetLtxMacro\displaymath\LWR@displaymathnormal%
\LetLtxMacro\enddisplaymath\endLWR@displaymathnormal%
\LetLtxMacro\equation\LWR@equationnormal%
-\LetLtxMacro\endequation\LWR@endequationnormal%
+\LetLtxMacro\endequation\endLWR@equationnormal%
\csletcs{equation*}{LWR@equationnormalstar}%
\csletcs{endequation*}{LWR@endequationnormalstar}%
}
@@ -27572,7 +28103,7 @@ autopage-\theLWR@currentautosec%
% \changes{v0.33}{2017/06/20}{Fix: Incorrectly-inline math environments.}
% \changes{v0.34}{2017/07/29}{Fix: Added the \env{eqnarray} environments.}
%
-% The following \pkg{amsmath} environments already collect their contents
+% The \pkg{amsmath} environments already collect their contents
% in \cs{@envbody} for further processing. \env{eqnarray} is not an \AmS\ package,
% and thus requires special handling.
%
@@ -27718,335 +28249,6 @@ autopage-\theLWR@currentautosec%
% \end{environment}
%
%
-% The following \AmS\ environments are more easily 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.}
-%
-% \begin{environment}{multline}
-% \begin{macrocode}
-\BeforeBeginEnvironment{multline}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@syncmathjax
- \booltrue{LWR@amsmultline}
- \LWR@beginhideamsmath
-}
-{
- \begin{BlockClass}{displaymathnumbered}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{multline}]
-}
-}
-
-\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}}
-
-}
-% \end{macrocode}
-% \end{environment}
-
-
-% \begin{environment}{multline*}
-% \begin{macrocode}
-\BeforeBeginEnvironment{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*}]
-}
-}
-
-\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}}
-
-}
-
-% \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}{displaymathnumbered}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{gather}]
-}
-}
-
-\AfterEndEnvironment{gather}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{gather}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-% \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*}]
-}
-}
-
-\AfterEndEnvironment{gather*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{gather*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-% \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}{displaymathnumbered}
- \LWR@newautoidanchor%
- \booltrue{LWR@indisplaymathimage}%
- \begin{lateximage}[\LWR@amsmathbodynumbered{align}]
-}
-}
-
-\AfterEndEnvironment{align}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{align}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-% \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*}]
-}
-}
-
-\AfterEndEnvironment{align*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{align*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-% \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}]
-}
-}
-
-\AfterEndEnvironment{flalign}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{flalign}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-% \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*}]
-}
-}
-
-\AfterEndEnvironment{flalign*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{flalign*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-% \end{macrocode}
-% \end{environment}
-
-
-% \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}]
-}
-}
-
-\AfterEndEnvironment{alignat}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{alignat}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-% \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*}]
-}
-}
-
-\AfterEndEnvironment{alignat*}{
-
-\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
-{
- \LWR@endhideamsmath
- \LWR@addmathjax{alignat*}{\the\@envbody}
-}
-{\end{lateximage}\end{BlockClass}}
-
-}
-% \end{macrocode}
-% \end{environment}
-
-
% \begin{macrocode}
\end{warpHTML}
% \end{macrocode}
@@ -28365,21 +28567,7 @@ autopage-\theLWR@currentautosec%
% \end{macrocode}
% \end{macro}
-% Patches for \AmS\ math \cs{tag} macro to remember the first tag:
% \begin{macrocode}
-\LetLtxMacro\LWR@origmake@df@tag@@\make@df@tag@@
-\LetLtxMacro\LWR@origmake@df@tag@@@\make@df@tag@@@
-
-\renewcommand*{\make@df@tag@@}[1]{%
-\LWR@remembertag{#1}%
-\LWR@origmake@df@tag@@{#1}%
-}
-
-\renewcommand*{\make@df@tag@@@}[1]{%
-\LWR@remembertag{#1}%
-\LWR@origmake@df@tag@@@{#1}%
-}
-
}% not mathjax
}% AtBeginDocument
% \end{macrocode}
@@ -28869,21 +29057,21 @@ autopage-\theLWR@currentautosec%
% perhaps as part of the font-related packages,
% explicitly load the lwarp patches now:
% \begin{macrocode}
-\@ifpackageloaded{textcomp}
-{
-\LWR@origRequirePackage{lwarp-textcomp}
-}
-{}
+\@ifpackageloaded{textcomp}{\LWR@origRequirePackage{lwarp-textcomp}}{}
+% \end{macrocode}
+
+% If \pkg{xunicode} was loaded before \pkg{lwarp},
+% perhaps as part of the font-related packages,
+% explicitly load the lwarp patches now:
+% \begin{macrocode}
+\@ifpackageloaded{xunicode}{\LWR@origRequirePackage{lwarp-xunicode}}{}
% \end{macrocode}
% If \pkg{graphics} or \pkg{graphicx} were loaded before \pkg{lwarp},
% perhaps by \pkg{xunicode}, explicitly load the lwarp patches now:
% \begin{macrocode}
-\@ifpackageloaded{graphics}
-{
-\LWR@origRequirePackage{lwarp-graphics}
-}
-{}
+\@ifpackageloaded{graphics}{\LWR@origRequirePackage{lwarp-graphics}}{}
+\@ifpackageloaded{graphicx}{\LWR@origRequirePackage{lwarp-graphicx}}{}
% \end{macrocode}
% \begin{macrocode}
@@ -29456,8 +29644,9 @@ autopage-\theLWR@currentautosec%
% \changes{v0.24}{2017/03/13}{Fix for inline images.}
% \changes{v0.26}{2017/03/30}{Fix for \cs{makebox} in \env{picture}.}
% \changes{v0.44}{2017/11/16}{\pkg{overpic}: Fix: Groups for lateximages.}
+% \changes{v0.59}{2018/09/05}{Added an \attribute{alt} tag.}
% \begin{macrocode}
-\BeforeBeginEnvironment{picture}{\begin{lateximage}}
+\BeforeBeginEnvironment{picture}{\begin{lateximage}[(picture)]}
\AfterEndEnvironment{picture}{\end{lateximage}}
% \end{macrocode}
@@ -31413,7 +31602,7 @@ width:\LWR@printlength{\LWR@tempwidth}%
%
% \changes{v0.20}{2016/12/12}{Code factored into independent \filenm{lwarp\_html} files.}
%
-% The following adjustments apply to the lwarp-* package listings:
+% ^^A The following adjustments apply to the lwarp-* package listings:
%
% \titleformat{\part}[hang]
% {\hrule\nopagebreak[4]\large\ttfamily\bfseries}{}{0pt}{}[\marginpar{\hfill{}File\,\thepart}]
@@ -31663,6 +31852,36 @@ width:\LWR@printlength{\LWR@tempwidth}%
%
%
% \iffalse
+%<*accsupp>
+% \fi
+%
+% \part{lwarp-accsupp.sty}
+%
+% \section{accsupp}
+%
+% \DescribePackage{accsupp}
+% \pkg{accsupp} is ignored.
+%
+% \changes{v0.59}{2018/07/25}{\pkg{accsupp}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{accsupp}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\BeginAccSupp}[1]{}
+\newcommand*{\EndAccSupp}[1]{}
+% \end{macrocode}
+%
+% \iffalse
+%</accsupp>
+% \fi
+%
+%
+%
+% \iffalse
%<*acro>
% \fi
%
@@ -32401,6 +32620,394 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
%
+%
+% \iffalse
+%<*amsmath>
+% \fi
+%
+% \part{lwarp-amsmath.sty}
+%
+% \section{amsmath}
+%
+% \credits{American Mathematical Society, \LaTeX3 Project}
+%
+% \DescribePackage{amsmath}
+% \pkg{amsmath} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.33}{2016/06/21}{\pkg{amsmath}: Removed \optn{fleqn} option.}
+% \changes{v0.59}{2018/07/13}{\pkg{amsmath}: Moved from the \pkg{lwarp} core.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{amsmath}
+% \end{macrocode}
+%
+% Patches to allow \cs{eqref} inside a caption:
+%
+% \changes{v0.49}{2018/02/18}{\pkg{amsmath}: Fix: Patches for \cs{eqref}.}
+% \changes{v0.50}{2018/03/02}{\pkg{amsmath}: Fix: Upright tags for \SVG math.}
+% \begin{macrocode}
+\def\maketag@@@#1{\text{#1}}
+\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
+% \end{macrocode}
+
+% Patches for \AmS\ math \cs{tag} macro to remember the first tag:
+% \begin{macrocode}
+\ifbool{mathjax}{}{% not mathjax
+
+\LetLtxMacro\LWR@origmake@df@tag@@\make@df@tag@@
+\LetLtxMacro\LWR@origmake@df@tag@@@\make@df@tag@@@
+
+\renewcommand*{\make@df@tag@@}[1]{%
+\LWR@remembertag{#1}%
+\LWR@origmake@df@tag@@{#1}%
+}
+
+\renewcommand*{\make@df@tag@@@}[1]{%
+\LWR@remembertag{#1}%
+\LWR@origmake@df@tag@@@{#1}%
+}
+
+}% not mathjax
+% \end{macrocode}
+%
+% The following \AmS\ environments are more easily 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.}
+%
+% \begin{environment}{multline}
+% \begin{macrocode}
+\BeforeBeginEnvironment{multline}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+ \LWR@syncmathjax
+ \booltrue{LWR@amsmultline}
+ \LWR@beginhideamsmath
+}
+{
+ \begin{BlockClass}{displaymathnumbered}
+ \LWR@newautoidanchor%
+ \booltrue{LWR@indisplaymathimage}%
+ \begin{lateximage}[\LWR@amsmathbodynumbered{multline}]
+}
+}
+
+\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}}
+
+}
+% \end{macrocode}
+% \end{environment}
+
+
+% \begin{environment}{multline*}
+% \begin{macrocode}
+\BeforeBeginEnvironment{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*}]
+}
+}
+
+\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}}
+
+}
+
+% \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}{displaymathnumbered}
+ \LWR@newautoidanchor%
+ \booltrue{LWR@indisplaymathimage}%
+ \begin{lateximage}[\LWR@amsmathbodynumbered{gather}]
+}
+}
+
+\AfterEndEnvironment{gather}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+ \LWR@endhideamsmath
+ \LWR@addmathjax{gather}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+% \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*}]
+}
+}
+
+\AfterEndEnvironment{gather*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+ \LWR@endhideamsmath
+ \LWR@addmathjax{gather*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+% \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}{displaymathnumbered}
+ \LWR@newautoidanchor%
+ \booltrue{LWR@indisplaymathimage}%
+ \begin{lateximage}[\LWR@amsmathbodynumbered{align}]
+}
+}
+
+\AfterEndEnvironment{align}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+ \LWR@endhideamsmath
+ \LWR@addmathjax{align}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+% \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*}]
+}
+}
+
+\AfterEndEnvironment{align*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+ \LWR@endhideamsmath
+ \LWR@addmathjax{align*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+% \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}]
+}
+}
+
+\AfterEndEnvironment{flalign}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+ \LWR@endhideamsmath
+ \LWR@addmathjax{flalign}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+% \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*}]
+}
+}
+
+\AfterEndEnvironment{flalign*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+ \LWR@endhideamsmath
+ \LWR@addmathjax{flalign*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+% \end{macrocode}
+% \end{environment}
+
+
+% \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}]
+}
+}
+
+\AfterEndEnvironment{alignat}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+ \LWR@endhideamsmath
+ \LWR@addmathjax{alignat}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+% \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*}]
+}
+}
+
+\AfterEndEnvironment{alignat*}{
+
+\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
+{
+ \LWR@endhideamsmath
+ \LWR@addmathjax{alignat*}{\the\@envbody}
+}
+{\end{lateximage}\end{BlockClass}}
+
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \iffalse
+%</amsmath>
+% \fi
+%
+%
+%
+%
+%
% \iffalse
%<*amsthm>
% \fi
@@ -32409,7 +33016,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \section{amsthm}
%
-% \credits{Publications Technical Group --- American Mathematical Society}
+% \credits{Publications Technical Group \Dash American Mathematical Society}
%
% The original source code is located in |amsclass.dtx|, and printed in
% |amsclass.pdf|.
@@ -32421,7 +33028,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
% \begin{table}[ht]
% \hrule\smallskip
-% \caption{AMSthm package --- CSS styling of theorems and proofs}
+% \caption{AMSthm package \Dash CSS styling of theorems and proofs}
% \begin{description}
% \item [Theorem:] \element{div} of class |amsthmbody<theoremstyle>|
% \item [Theorem Name:] \element{span} of class |amsthmname<theoremtyle>|
@@ -32943,6 +33550,52 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
%
+%
+% \iffalse
+%<*asymptote>
+% \fi
+%
+% \part{lwarp-asymptote.sty}
+%
+% \section{asymptote}
+%
+% \credits{Andy Hammerlindl, John Bowman, Tom Prince}
+%
+% \DescribePackage{asymptote}
+% \pkg{asymptote} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.59}{2018/07/10}{\pkg{asymptote}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{asymptote}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\BeforeBeginEnvironment{asy}{\begin{lateximage}}
+\AfterEndEnvironment{asy}{\end{lateximage}}
+
+\xpatchcmd{\asyinclude}
+ {\begingroup}
+ {\begin{lateximage}}
+ {}
+ {\LWR@patcherror{asymptote}{asyinclude-begingroup}}
+
+\xpatchcmd{\asyinclude}
+ {\endgroup}
+ {\end{lateximage}}
+ {}
+ {\LWR@patcherror{asymptote}{asyinclude-endgroup}}
+% \end{macrocode}
+%
+% \iffalse
+%</asymptote>
+% \fi
+%
+%
+%
+%
% \iffalse
%<*atbegshi>
% \fi
@@ -33265,6 +33918,34 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
% \iffalse
+%<*axessibility>
+% \fi
+%
+% \part{lwarp-axessibility.sty}
+%
+% \section{axessibility}
+%
+% \DescribePackage{axessibility}
+% \pkg{axessibility} is ignored.
+%
+% \changes{v0.59}{2018/07/25}{\pkg{axessibility}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{axessibility}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\wrap}[1]{}
+% \end{macrocode}
+%
+% \iffalse
+%</axessibility>
+% \fi
+%
+%
+% \iffalse
%<*axodraw2>
% \fi
%
@@ -33804,6 +34485,143 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
% \iffalse
+%<*breqn>
+% \fi
+%
+% \part{lwarp-breqn.sty}
+%
+% \section{breqn}
+%
+% \credits{Michael J. Downes, Morten Høgholm}
+%
+% \DescribePackage{breqn}
+% \pkg{breqn} is patched for use by \pkg{lwarp}.
+%
+% \env{darray} is not supported.
+% \watchout
+%
+% MathJax does not support \pkg{breqn}.
+% \watchout
+%
+% \changes{v0.59}{2018/07/25}{\pkg{breqn}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{breqn}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\setkeys{breqn}{spread={5pt}}
+
+\def\eqnumside{R}
+% \def\eqnumplace{T}
+
+\BeforeBeginEnvironment{dmath}{
+ \begin{BlockClass}{displaymathnumbered}
+ \LWR@newautoidanchor%
+ \booltrue{LWR@indisplaymathimage}%
+ \begin{lateximage}[-breqn dmath- \mathimagename]
+}
+
+\AfterEndEnvironment{dmath}{
+ \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dmath*}{
+ \begin{BlockClass}{displaymath}
+ \LWR@newautoidanchor%
+ \booltrue{LWR@indisplaymathimage}%
+ \begin{lateximage}[-breqn dmath*- \mathimagename]
+}
+
+\AfterEndEnvironment{dmath*}{
+ \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dseries}{
+ \begin{BlockClass}{displaymathnumbered}
+ \LWR@newautoidanchor%
+ \booltrue{LWR@indisplaymathimage}%
+ \begin{lateximage}[-breqn dseries- \mathimagename]
+}
+
+\AfterEndEnvironment{dseries}{
+ \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dseries*}{
+ \begin{BlockClass}{displaymath}
+ \LWR@newautoidanchor%
+ \booltrue{LWR@indisplaymathimage}%
+ \begin{lateximage}[-breqn dseries*- \mathimagename]
+}
+
+\AfterEndEnvironment{dseries*}{
+ \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dgroup}{
+ \begin{BlockClass}{displaymath}
+ \LWR@newautoidanchor%
+ \booltrue{LWR@indisplaymathimage}%
+ \begin{lateximage}[-breqn dgroup- \mathimagename]
+}
+
+\AfterEndEnvironment{dgroup}{
+ \end{lateximage}\end{BlockClass}
+}
+
+\BeforeBeginEnvironment{dgroup*}{
+ \begin{BlockClass}{displaymath}
+ \LWR@newautoidanchor%
+ \booltrue{LWR@indisplaymathimage}%
+ \begin{lateximage}[-breqn dgroup*- \mathimagename]
+}
+
+\AfterEndEnvironment{dgroup*}{
+ \end{lateximage}\end{BlockClass}
+}
+% \end{macrocode}
+%
+% \iffalse
+%</breqn>
+% \fi
+%
+%
+%
+% \iffalse
+%<*bxpapersize>
+% \fi
+%
+% \part{lwarp-bxpapersize.sty}
+%
+% \section{bxpapersize}
+%
+% \DescribePackage{bxpapersize}
+% \pkg{bxpapersize} is ignored.
+%
+% \changes{v0.59}{2018/09/06}{\pkg{bxpapersize}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{bxpapersize}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\providecommand*\papersizesetup{\bxpapersizesetup}
+\newcommand*\bxpapersizesetup[1]{}
+% \end{macrocode}
+%
+% \iffalse
+%</bxpapersize>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*bytefield>
% \fi
%
@@ -33909,6 +34727,39 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
%
%
%
+%
+%
+% \iffalse
+%<*canoniclayout>
+% \fi
+%
+% \part{lwarp-canoniclayout.sty}
+%
+% \section{canoniclayout}
+%
+% \DescribePackage{canoniclayout}
+% \pkg{canoniclayout} is ignored.
+%
+% \changes{v0.59}{2018/07/10}{\pkg{canoniclayout}: Added.}
+%
+% \codehtml
+s%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{canoniclayout}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\currentfontletters}{}
+\newcommand*{\charactersperpage}{}
+% \end{macrocode}
+%
+% \iffalse
+%</canoniclayout>
+% \fi
+%
+%
+%
+%
% \iffalse
%<*caption>
% \fi
@@ -34132,6 +34983,11 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \DescribePackage{cases}
% \pkg{cases} is patched for use by \pkg{lwarp}.
%
+%
+%
+% MathJax does not support \pkg{cases}.
+% \watchout
+%
% \changes{v0.58}{2018/06/08}{\pkg{cases}: Added.}
%
% \codehtml
@@ -35434,7 +36290,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \begin{macrocode}
\AtBeginDocument{
\@ifchemmacrosmoduleloaded{reactions}{
-\PackageInfo{lwarp}{Patching~chemmacros~module~orbital}
+\PackageInfo{lwarp}{Patching~chemmacros~module~reactions}
\cs_gset_protected:Npn \chemmacros_declare_reaction_env:nnnn #1#2#3#4
{
@@ -35710,7 +36566,11 @@ name = \chemmacros_translate:n {scheme-name}
\bool_if:NT \l__chemmacros_nmr_solvent_bool
{
\bool_if:NTF \l__chemmacros_nmr_parse_bool
- { \chemformula_ch:nn { } {#4} }
+% \end{macrocode}
+% \changes{v0.59}{2018/08/30}{\pkg{chemformula}: Fix for \cs{NMR}.}
+% \begin{macrocode}
+% { \chemformula_ch:nn { } {#4} }% original
+ {\ch{#4}}% lwarp
{#4}
}
\bool_if:NT \l__chemmacros_nmr_delimiters_bool
@@ -36533,6 +37393,46 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
+% \iffalse
+%<*draftcopy>
+% \fi
+%
+% \part{lwarp-draftcopy.sty}
+%
+% \section{draftcopy}
+%
+% \DescribePackage{draftcopy}
+% \pkg{draftcopy} is ignored.
+%
+% \changes{v0.59}{2018/09/06}{\pkg{draftcopy}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{draftcopy}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand{\draftcopyVersion}[1]{}
+\newcommand{\draftcopySetGrey}[1]{}
+\newcommand{\draftcopySetScale}[1]{}
+\newcommand{\draftcopySetScaleFactor}[1]{}
+\newcommand{\draftcopyFirstPage}[1]{}
+\newcommand{\draftcopyLastPage}[1]{}
+\newcommand{\draftcopyName}[2]{}
+\newcommand{\draftcopyPageTransform}[1]{}
+\newcommand{\draftcopyBottomTransform}[1]{}
+\newcommand{\draftcopyPageX}[1]{}
+\newcommand{\draftcopyPageY}[1]{}
+\newcommand{\draftcopyBottomX}[1]{}
+\newcommand{\draftcopyBottomY}[1]{}
+% \end{macrocode}
+%
+% \iffalse
+%</draftcopy>
+% \fi
+%
+%
%
% \iffalse
%<*draftwatermark>
@@ -37088,23 +37988,20 @@ name = \chemmacros_translate:n {scheme-name}
% \section{epstopdf}
%
% \DescribePackage{epstopdf}
-% \pkg{epstopdf} is ignored.
+% Previous versions of \pkg{lwarp} had a nullfied verison, but
+% now \pkg{epstopdf-base} is supported.
+% \pkg{lwarp-epstopdf} becomes a placeholder to overwrite
+% previous versions.
%
-% Filenames should be used without a suffix so that
-% \SVG, \PNG, or \JPG\ versions of the file will be used for \HTML\ output.
+% See package \pkg{epstopdf-base} for details.
%
% \changes{v0.50}{2018/02/21}{\pkg{epstopdf}: Added.}
+% \changes{v0.59}{2018/08/27}{\pkg{epstopdf}: Improved.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{epstopdf}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\providecommand*{\epstopdfsetup}[1]{}
-\providecommand*{\epstopdfcall}[1]{}
-\providecommand*{\epstopdfDeclareGraphicsRule}[4]{}
+\LWR@ProvidesPackagePass{epstopdf}[2016/05/15]
% \end{macrocode}
%
% \iffalse
@@ -37122,23 +38019,57 @@ name = \chemmacros_translate:n {scheme-name}
% \section{epstopdf-base}
%
% \DescribePackage{epstopdf-base}
-% \pkg{epstopdf-base} is ignored.
%
-% Filenames should be used without a suffix so that
-% \SVG, \PNG, or \JPG\ versions of the file will be used for \HTML\ output.
+% \limitsepstopdf
%
% \changes{v0.51}{2018/03/03}{\pkg{epstopdf-base}: Added.}
+% \changes{v0.59}{2018/08/27}{\pkg{epstopdf-base}: Improved.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{epstopdf-base}[2016/05/15]
+\LWR@ProvidesPackagePass{epstopdf-base}[2016/05/15]
% \end{macrocode}
%
+% Redefine to remember the image filename, replacing |.pdf| with |.svg|.
+% Use the \pkg{epstopdf} print version inside a \env{lateximage}.
% \begin{macrocode}
-\providecommand*{\epstopdfsetup}[1]{}
-\providecommand*{\epstopdfcall}[1]{}
-\providecommand*{\epstopdfDeclareGraphicsRule}[4]{}
+\newcommand*{\LWR@HTML@ETE@OrgGin@setfile}[3]{%
+ \edef\LWR@tempone{#3}%
+ \StrSubstitute{\LWR@tempone}{.pdf}{.svg}[\LWR@tempone]%
+ \StrSubstitute{\LWR@tempone}{.PDF}{.SVG}[\LWR@tempone]%
+ \xdef\LWR@parsedfilename{\LWR@tempone}%
+}
+
+\LWR@formatted{ETE@OrgGin@setfile}
+% \end{macrocode}
+%
+% \cs{includegraphics} in \HTML\ mode redefines \cs{Gin@setfile} to
+% be \cs{LWR@HTML@Gin@setfile}, which is now redirected to \pkg{epstopdf}'s version:
+% \begin{macrocode}
+\renewcommand*{\LWR@HTML@Gin@setfile}[3]{%
+ \ETE@Gin@setfile{#1}{#2}{#3}%
+}
+% \end{macrocode}
+%
+% Allow \filenm{.eps} images to be found if a suffix is not provided:
+% \begin{macrocode}
+\AtBeginDocument{
+\DeclareGraphicsExtensions{%
+ .eps,.EPS,.svg,.SVG,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG%
+}
+\DeclareGraphicsRule{.svg}{svg}{.svg}{}
+\DeclareGraphicsRule{.SVG}{svg}{.SVG}{}
+}
+% \end{macrocode}
+%
+% Likewise when inside a \env{lateximage}:
+% \begin{macrocode}
+\appto\LWR@restoreorigformatting{%
+\DeclareGraphicsExtensions{%
+ .eps,.EPS,.pdf,.PDF,.gif,.GIF,.png,.PNG,.jpg,.JPG,.jpeg,.JPEG%
+}%
+}
% \end{macrocode}
%
% \iffalse
@@ -39070,7 +40001,7 @@ solid \LWR@origpound\LWR@tempcolor ; %
% Discard all options for \pkg{lwarp-flushend}:
% \begin{macrocode}
\LWR@ProvidesPackageDrop{flushend}
-% \end{ma-crocode}
+% \end{macrocode}
%
% \begin{macrocode}
\newcommand*{\flushend}{}
@@ -39089,6 +40020,39 @@ solid \LWR@origpound\LWR@tempcolor ; %
%
%
%
+% \iffalse
+%<*fnbreak>
+% \fi
+%
+% \part{lwarp-fnbreak.sty}
+%
+% \section{fnbreak}
+%
+% \DescribePackage{fnbreak}
+% \pkg{fnbreak} is ignored.
+%
+% \changes{v0.59}{2018/07/09}{\pkg{fnbreak}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{fnbreak}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\fnbreakverbose}{}
+\newcommand*{\fnbreaknonverbose}{}
+\newcommand*{\fnbreaklabel}{}
+\newcommand*{\fnbreaknolabel}{}
+% \end{macrocode}
+%
+% \iffalse
+%</fnbreak>
+% \fi
+%
+%
+%
+%
%
% \iffalse
%<*fncychap>
@@ -40236,6 +41200,7 @@ solid \LWR@origpound\LWR@tempcolor ; %
\boolfalse{LWR@infloatrow}
% \end{macrocode}
+
% \begin{macro}{\LWR@opacity} For \HTML, used only for \cs{includegraphics}.
%
% \cs{LWR@opacity} may be set by the \pkg{transparent} package.
@@ -40253,9 +41218,12 @@ solid \LWR@origpound\LWR@tempcolor ; %
% \end{macro}
-% \begin{macro}{\Gin@setfile} Sets the parsed filename.
+% \begin{macro}{\LWR@HTML@Gin@setfile} \marg{w} \marg{h} \marg{filename}
+% Sets the parsed filename for \HTML output.
% \begin{macrocode}
-\let\LWR@origGin@setfile\Gin@setfile
+\newcommand*{\LWR@HTML@Gin@setfile}[3]{%
+ \xdef\LWR@parsedfilename{#3}%
+}
% \end{macrocode}
% \end{macro}
@@ -40272,6 +41240,27 @@ solid \LWR@origpound\LWR@tempcolor ; %
% \end{macrocode}
+% \begin{macro}{\LWR@replaceEPSSVG}
+%
+% Usually, references to \EPS\ files become \SVG\ files,
+% but if the \pkg{epstopdf} package is being used, it automatically
+% converts \EPS\ to \PDF, and the following must NOT be done.
+% \begin{macrocode}
+\AtBeginDocument{
+\@ifpackageloaded{epstopdf}
+{
+ \newcommand*{\LWR@replaceEPSSVG}{}
+}{%
+ \newcommand*{\LWR@replaceEPSSVG}{%
+ \StrSubstitute{\LWR@tempone}{.eps}{.svg}[\LWR@tempone]%
+ \StrSubstitute{\LWR@tempone}{.EPS}{.SVG}[\LWR@tempone]%
+ }
+}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
% \begin{macro}{\LWR@includegraphicsb} * \oarg{2: options} \oarg{3: options} \marg{4: filename}
%
% \pkg{graphics} syntax is \cs{includegraphics} * \oarg{llx,lly} \oarg{urx,ury} \marg{file}
@@ -40292,6 +41281,8 @@ solid \LWR@origpound\LWR@tempcolor ; %
% \changes{v0.40}{2017/09/08}{Add: Full \cs{graphicspath} support.}
% \changes{v0.42}{2017/10/26}{Fix: Filename expansion.}
% \changes{v0.45}{2017/12/29}{Improved URLs with underscores.}
+% \changes{v0.59}{2018/09/07}{Now works with \filenm{.pdf} and \filenm{.eps}
+% filename extensions.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@includegraphicsb}{s o o m}
{%
@@ -40317,13 +41308,18 @@ solid \LWR@origpound\LWR@tempcolor ; %
}%
}{}%
% \end{macrocode}
+% Fully expand and detokenize the filename,
+% changing the file extension to \filenm{.svg} if necessary.
+% \changes{v0.59}{2018/08/28}{Fix: Expand filename.}
% \begin{macrocode}
\begingroup%
-\renewcommand*{\Gin@setfile}[3]{%
-\LWR@traceinfo{Gin@setfile ##3}%
-\xdef\LWR@parsedfilename{##3}%
-}%
-\Ginclude@graphics{\detokenize\expandafter{#4}}%
+\LetLtxMacro\Gin@setfile\LWR@HTML@Gin@setfile%
+\edef\LWR@tempone{#4}%
+\StrSubstitute{\LWR@tempone}{.pdf}{.svg}[\LWR@tempone]%
+\StrSubstitute{\LWR@tempone}{.PDF}{.SVG}[\LWR@tempone]%
+\LWR@replaceEPSSVG%
+\xdef\LWR@parsedfilename{\LWR@tempone}%
+\Ginclude@graphics{\detokenize\expandafter{\LWR@tempone}}%
\endgroup%
\filename@parse{\LWR@parsedfilename}%
\LWR@traceinfo{LWR@parsedfilename is \LWR@parsedfilename}%
@@ -45275,6 +46271,67 @@ class="td%
%
%
%
+% \iffalse
+%<*nccfancyhdr>
+% \fi
+%
+% \part{lwarp-nccfancyhdr.sty}
+%
+% \section{nccfancyhdr}
+%
+% \credits{Alexander I. Rozhenko}
+%
+% \DescribePackage{nccfancyhdr}
+% \pkg{nccfancyhdr} is ignored.
+%
+% \changes{v0.59}{2018/08/06}{\pkg{nccfancyhdr}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackageDrop{nccfancyhdr}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand*{\headrulewidth}{}
+\newcommand*{\footrulewidth}{}
+\newcommand{\headstrutheight}{}
+\newcommand{\footstrutheight}{}
+\newcommand*{\headrule}{}
+\newcommand*{\footrule}{}
+
+\newdimen\headwidth
+\newcommand*{\extendedheaders}{}
+\newcommand*{\normalheaders}{}
+
+\newcommand*{\fancyhead}[2][]{}
+\newcommand*{\fancyfoot}[2][]{}
+\newcommand*{\fancyhf}[2][]{}
+\newcommand*{\fancypagestyle}[2]{}
+\newcommand*{\lhead}[2][]{}
+\newcommand*{\chead}[2][]{}
+\newcommand*{\rhead}[2][]{}
+\newcommand*{\lfoot}[2][]{}
+\newcommand*{\cfoot}[2][]{}
+\newcommand*{\rfoot}[2][]{}
+
+\newcommand{\nouppercase}[1]{#1}
+
+\NewDocumentCommand{\fancycenter}{o o m m m}{}
+
+\NewDocumentCommand{\newpagestyle}{m o m}{}
+
+\newcommand*{\iffloatpage}[2]{#2}
+\newcommand*{\ifftopfloat}[2]{#2}
+\newcommand*{\iffbotfloat}[2]{#2}
+% \end{macrocode}
+%
+% \iffalse
+%</nccfancyhdr>
+% \fi
+%
+%
+%
%
%
%
@@ -45445,6 +46502,11 @@ class="td%
\endgroup%
}
% \end{macrocode}
+%
+% For Mathjax:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\nicefrac}[3][]{#2/#3}}
+% \end{macrocode}
% \iffalse
%</nicefrac>
@@ -45615,7 +46677,7 @@ class="td%
% \begin{table}[ht]
% \hrule
% \smallskip
-% \caption{Ntheorem package --- CSS styling of theorems and proofs}\unskip
+% \caption{Ntheorem package \Dash CSS styling of theorems and proofs}\unskip
% \begin{description}
% \item [Theorem:] \element{div} of class |theorembody<theoremstyle>|
% \item [Theorem Header:] \element{span} of class |theoremheader<style>|
@@ -46877,6 +47939,59 @@ class="td%
%
%
% \iffalse
+%<*pdftricks>
+% \fi
+%
+% \part{lwarp-pdftricks.sty}
+%
+% \section{pdftricks}
+%
+% \credits{C. V. Rad­hakr­ish­nan, C. V. Ra­jagopal, Antoine Chambert-Loir}
+%
+% \DescribePackage{pdftricks}
+% \pkg{pdftricks} is patched for use by \pkg{lwarp}.
+%
+% \limitspdftricks
+%
+% \changes{v0.59}{2018/08/29}{\pkg{pdftricks}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{pdftricks}
+% \end{macrocode}
+%
+% Reuse the print-mode images:
+% \begin{macrocode}
+\def\PDFTfigname{\BaseJobname-fig\thepsfig}
+% \end{macrocode}
+%
+% If the \filenm{.pdf} images have not yet been converted to \filenm{.svg} then
+% an error about a missing file will occur.
+% Warn the user to convert the images.
+% \begin{macrocode}
+\PackageWarning{lwarp-pdftricks}{
+When the pdftricks images change,
+remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
+}
+
+\AfterEndDocument{\typeout{***}}
+\AfterEndDocument{\typeout{*** Note: If pdftricks images are not found, new, or updated,}}
+\AfterEndDocument{\typeout{*** \space use 'lwarpmk pdftosvg \BaseJobname-fig*.pdf'}}
+\AfterEndDocument{\typeout{***}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+% \end{macrocode}
+%
+% \iffalse
+%</pdftricks>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*pdfx>
% \fi
%
@@ -47113,6 +48228,72 @@ class="td%
%
%
%
+% \iffalse
+%<*pst-eps>
+% \fi
+%
+% \part{lwarp-pst-eps.sty}
+%
+% \section{pst-eps}
+%
+% \credits{Herbert Voß}
+%
+% \DescribePackage{pst-eps}
+% \pkg{pst-eps} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.59}{2018/09/05}{\pkg{pst-eps}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{pst-eps}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewenvironment{TeXtoEPS}{}{}
+\renewcommand{\PSTtoEPS}[3][]{}
+% \end{macrocode}
+%
+% \iffalse
+%</pst-eps>
+% \fi
+%
+%
+%
+% \iffalse
+%<*pstricks>
+% \fi
+%
+% \part{lwarp-pstricks.sty}
+%
+% \section{pstricks}
+%
+% \credits{Timothy Van Zandt}
+%
+% \DescribePackage{pstricks}
+% \pkg{pstricks} is patched for use by \pkg{lwarp}.
+%
+% \limitspstricks
+%
+% \changes{v0.59}{2018/09/05}{\pkg{pstricks}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{pstricks}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\BeforeBeginEnvironment{pspicture}{\begin{lateximage}[(pspicture)]}
+\AfterEndEnvironment{pspicture}{\end{lateximage}}
+% \end{macrocode}
+%
+% \iffalse
+%</pstricks>
+% \fi
+%
+%
+%
%
% \iffalse
%<*quotchap>
@@ -48762,6 +49943,60 @@ class="td%
%
%
%
+% \iffalse
+%<*SIunits>
+% \fi
+%
+% \part{lwarp-SIunits.sty}
+%
+% \section{SIunits}
+%
+% \credits{Marcel Heldoorn}
+%
+% \DescribePackage{SIunits}
+% \pkg{SIunits} is patched for use by \pkg{lwarp}.
+%
+% It is recommended to use \cs{unit} where possible, which
+% combines the entire expression into a single \env{lateximage},
+% and adds the \attribute{alt} tag containing the \LaTeX\ code, allowing for
+% copy/paste. When units are used outside of the \cs{unit} macro,
+% each unit macro will have its own \env{lateximage},
+% and each will have the \attribute{alt} tag set to ``|(|<\cs{mathimagename}>|)|'',
+% which defaults to ``|(math image)|''.
+%
+% \changes{v0.59}{2018/07/11}{\pkg{SIunits}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{SIunits}
+% \end{macrocode}
+%
+% Patched for copy/paste with the \HTML\ \attribute{alt} tag:
+% \begin{macrocode}
+\DeclareRobustCommand{\unit}[2]{%
+\@inunitcommandtrue% original
+\LWR@subsingledollar*% lwarp
+{% alt tag
+ \textbackslash{}unit\{\LWR@HTMLsanitize{#1}\}%
+ \{ \LWR@HTMLsanitize{#2}\}% extra space
+}%
+{SIunits}% add'l hashing
+{%
+ \LWR@origensuredmath{% lwarp modification
+ \SI@fstyle{#1\@qsk\period@active{#2}}% original
+ }%
+}% contents
+\@inunitcommandfalse% original
+}
+% \end{macrocode}
+%
+% \iffalse
+%</SIunits>
+% \fi
+%
+%
+%
%
% \iffalse
%<*siunitx>
@@ -50078,7 +51313,7 @@ class="td%
% \credits{Alexander I. Rozhenko}
%
% \DescribePackage{textarea}
-% \pkg{textarea} is emulated.
+% \pkg{textarea} is ignored.
%
% \changes{v0.39}{2017/08/27}{\pkg{textarea}: Added.}
%
@@ -50398,7 +51633,7 @@ class="td%
% \begin{table}[ht]
% \hrule
% \smallskip
-% \caption{Theorem package --- CSS styling of theorems and proofs}
+% \caption{Theorem package \Dash CSS styling of theorems and proofs}
% \begin{description}
% \item [Theorem:] \element{div} of class |theorembody<theoremstyle>|
% \item [Theorem Header:] \element{span} of class |theoremheader|
@@ -52922,6 +54157,39 @@ class="td%
%
%
% \iffalse
+%<*units>
+% \fi
+%
+% \part{lwarp-units.sty}
+
+% \section{units}
+%
+% \credits{Axel Reichert}
+%
+% \DescribePackage{units}
+% \pkg{units} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.59}{2018/07/13}{\pkg{units}: Added support for \pkg{MathJax.}}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{units}[1998/08/04]
+% \end{macrocode}
+%
+% For Mathjax:
+% \begin{macrocode}
+\CustomizeMathJax{\newcommand{\unit}[2][]{#1 #2}}
+\CustomizeMathJax{\newcommand{\unitfrac}[3][]{#1 #2/#3}}
+% \end{macrocode}
+
+% \iffalse
+%</units>
+% \fi
+%
+%
+%
+% \iffalse
%<*upref>
% \fi
%
@@ -54747,6 +56015,44 @@ scaling = false
%
%
% \iffalse
+%<*xunicode>
+% \fi
+%
+% \part{lwarp-xunicode.sty}
+%
+% \section{xunicode}
+%
+% \DescribePackage{xunicode}
+% Error if \pkg{xunicode} is loaded after \pkg{lwarp}.
+%
+% \changes{v0.59}{2018/08/03}{\pkg{xunicode}: Added.}
+
+% Patch \pkg{lwarp-xunicode}, but also verify that is was loaded before \pkg{lwarp}:
+%
+% \codehtml
+% \begin{macrocode}
+\@ifpackageloaded{lwarp}{\LWR@loadbefore{xunicode}}{}
+
+\LWR@ProvidesPackagePass{xunicode}[2011/09/09]
+% \end{macrocode}
+%
+% \cs{textcircled} becomes a span with a rounded border:
+% \begin{macrocode}
+\newcommand*{\LWR@HTML@textcircled}[1]{%
+\InlineClass[border: 1px solid \LWR@currenttextcolor]{textcircled}{#1}%
+}
+
+\LWR@formatted{textcircled}
+% \end{macrocode}
+
+% \iffalse
+%</xunicode>
+% \fi
+%
+%
+%
+%
+% \iffalse
%<*xurl>
% \fi
%
@@ -56518,7 +57824,7 @@ scaling = false
% \part{Change History and Index}
% \label{sec:changehistory}
%
-% For the most recent changes and the start of the Index,
+% For the most recent changes, followed by the start of the Index,
% see page \pageref{sec:changesend}.
%
% \pagestyle{plain}
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.ins b/Master/texmf-dist/source/latex/lwarp/lwarp.ins
index 2c1e67662fa..661b5c8d70b 100644
--- a/Master/texmf-dist/source/latex/lwarp/lwarp.ins
+++ b/Master/texmf-dist/source/latex/lwarp/lwarp.ins
@@ -37,6 +37,7 @@ version 2005/12/01 or later.
\file{lwarp-a4wide.sty}{\from{lwarp.dtx}{a4wide}}
\file{lwarp-a5comb.sty}{\from{lwarp.dtx}{a5comb}}
\file{lwarp-abstract.sty}{\from{lwarp.dtx}{abstract}}
+\file{lwarp-accsupp.sty}{\from{lwarp.dtx}{accsupp}}
\file{lwarp-acro.sty}{\from{lwarp.dtx}{acro}}
\file{lwarp-acronym.sty}{\from{lwarp.dtx}{acronym}}
\file{lwarp-adjmulticol.sty}{\from{lwarp.dtx}{adjmulticol}}
@@ -47,6 +48,7 @@ version 2005/12/01 or later.
\file{lwarp-algorithm2e.sty}{\from{lwarp.dtx}{algorithm2e}}
\file{lwarp-algorithmicx.sty}{\from{lwarp.dtx}{algorithmicx}}
\file{lwarp-alltt.sty}{\from{lwarp.dtx}{alltt}}
+\file{lwarp-amsmath.sty}{\from{lwarp.dtx}{amsmath}}
\file{lwarp-amsthm.sty}{\from{lwarp.dtx}{amsthm}}
\file{lwarp-anonchap.sty}{\from{lwarp.dtx}{anonchap}}
\file{lwarp-anysize.sty}{\from{lwarp.dtx}{anysize}}
@@ -54,10 +56,12 @@ version 2005/12/01 or later.
\file{lwarp-arabicfront.sty}{\from{lwarp.dtx}{arabicfront}}
\file{lwarp-array.sty}{\from{lwarp.dtx}{array}}
\file{lwarp-arydshln.sty}{\from{lwarp.dtx}{arydshln}}
+\file{lwarp-asymptote.sty}{\from{lwarp.dtx}{asymptote}}
\file{lwarp-atbegshi.sty}{\from{lwarp.dtx}{atbegshi}}
\file{lwarp-attachfile.sty}{\from{lwarp.dtx}{attachfile}}
\file{lwarp-attachfile2.sty}{\from{lwarp.dtx}{attachfile2}}
\file{lwarp-authblk.sty}{\from{lwarp.dtx}{authblk}}
+\file{lwarp-axessibility.sty}{\from{lwarp.dtx}{axessibility}}
\file{lwarp-axodraw2.sty}{\from{lwarp.dtx}{axodraw2}}
\file{lwarp-backref.sty}{\from{lwarp.dtx}{backref}}
\file{lwarp-balance.sty}{\from{lwarp.dtx}{balance}}
@@ -70,8 +74,11 @@ version 2005/12/01 or later.
\file{lwarp-boxedminipage.sty}{\from{lwarp.dtx}{boxedminipage}}
\file{lwarp-boxedminipage2e.sty}{\from{lwarp.dtx}{boxedminipage2e}}
\file{lwarp-breakurl.sty}{\from{lwarp.dtx}{breakurl}}
+\file{lwarp-breqn.sty}{\from{lwarp.dtx}{breqn}}
+\file{lwarp-bxpapersize.sty}{\from{lwarp.dtx}{bxpapersize}}
\file{lwarp-bytefield.sty}{\from{lwarp.dtx}{bytefield}}
\file{lwarp-cancel.sty}{\from{lwarp.dtx}{cancel}}
+\file{lwarp-canoniclayout.sty}{\from{lwarp.dtx}{canoniclayout}}
\file{lwarp-caption.sty}{\from{lwarp.dtx}{caption}}
\file{lwarp-caption2.sty}{\from{lwarp.dtx}{caption2}}
\file{lwarp-cases.sty}{\from{lwarp.dtx}{cases}}
@@ -98,6 +105,7 @@ version 2005/12/01 or later.
\file{lwarp-dblfnote.sty}{\from{lwarp.dtx}{dblfnote}}
\file{lwarp-dcolumn.sty}{\from{lwarp.dtx}{dcolumn}}
\file{lwarp-diagbox.sty}{\from{lwarp.dtx}{diagbox}}
+\file{lwarp-draftcopy.sty}{\from{lwarp.dtx}{draftcopy}}
\file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}}
\file{lwarp-easy-todo.sty}{\from{lwarp.dtx}{easy-todo}}
\file{lwarp-ebook.sty}{\from{lwarp.dtx}{ebook}}
@@ -133,6 +141,7 @@ version 2005/12/01 or later.
\file{lwarp-floatrow.sty}{\from{lwarp.dtx}{floatrow}}
\file{lwarp-fltrace.sty}{\from{lwarp.dtx}{fltrace}}
\file{lwarp-flushend.sty}{\from{lwarp.dtx}{flushend}}
+\file{lwarp-fnbreak.sty}{\from{lwarp.dtx}{fnbreak}}
\file{lwarp-fncychap.sty}{\from{lwarp.dtx}{fncychap}}
\file{lwarp-fnlineno.sty}{\from{lwarp.dtx}{fnlineno}}
\file{lwarp-fnpos.sty}{\from{lwarp.dtx}{fnpos}}
@@ -210,6 +219,7 @@ version 2005/12/01 or later.
\file{lwarp-multitoc.sty}{\from{lwarp.dtx}{multitoc}}
\file{lwarp-nameref.sty}{\from{lwarp.dtx}{nameref}}
\file{lwarp-natbib.sty}{\from{lwarp.dtx}{natbib}}
+\file{lwarp-nccfancyhdr.sty}{\from{lwarp.dtx}{nccfancyhdr}}
\file{lwarp-needspace.sty}{\from{lwarp.dtx}{needspace}}
\file{lwarp-newclude.sty}{\from{lwarp.dtx}{newclude}}
\file{lwarp-newunicodechar.sty}{\from{lwarp.dtx}{newunicodechar}}
@@ -232,6 +242,7 @@ version 2005/12/01 or later.
\file{lwarp-pdflscape.sty}{\from{lwarp.dtx}{pdflscape}}
\file{lwarp-pdfpages.sty}{\from{lwarp.dtx}{pdfpages}}
\file{lwarp-pdfsync.sty}{\from{lwarp.dtx}{pdfsync}}
+\file{lwarp-pdftricks.sty}{\from{lwarp.dtx}{pdftricks}}
\file{lwarp-pdfx.sty}{\from{lwarp.dtx}{pdfx}}
\file{lwarp-pfnote.sty}{\from{lwarp.dtx}{pfnote}}
\file{lwarp-phfqit.sty}{\from{lwarp.dtx}{phfqit}}
@@ -239,6 +250,8 @@ version 2005/12/01 or later.
\file{lwarp-prelim2e.sty}{\from{lwarp.dtx}{prelim2e}}
\file{lwarp-prettyref.sty}{\from{lwarp.dtx}{prettyref}}
\file{lwarp-preview.sty}{\from{lwarp.dtx}{preview}}
+\file{lwarp-pst-eps.sty}{\from{lwarp.dtx}{pst-eps}}
+\file{lwarp-pstricks.sty}{\from{lwarp.dtx}{pstricks}}
\file{lwarp-quotchap.sty}{\from{lwarp.dtx}{quotchap}}
\file{lwarp-quoting.sty}{\from{lwarp.dtx}{quoting}}
\file{lwarp-ragged2e.sty}{\from{lwarp.dtx}{ragged2e}}
@@ -268,6 +281,7 @@ version 2005/12/01 or later.
\file{lwarp-showkeys.sty}{\from{lwarp.dtx}{showkeys}}
\file{lwarp-sidecap.sty}{\from{lwarp.dtx}{sidecap}}
\file{lwarp-sidenotes.sty}{\from{lwarp.dtx}{sidenotes}}
+\file{lwarp-SIunits.sty}{\from{lwarp.dtx}{SIunits}}
\file{lwarp-siunitx.sty}{\from{lwarp.dtx}{siunitx}}
\file{lwarp-soul.sty}{\from{lwarp.dtx}{soul}}
\file{lwarp-soulpos.sty}{\from{lwarp.dtx}{soulpos}}
@@ -309,6 +323,7 @@ version 2005/12/01 or later.
\file{lwarp-typearea.sty}{\from{lwarp.dtx}{typearea}}
\file{lwarp-ulem.sty}{\from{lwarp.dtx}{ulem}}
\file{lwarp-underscore.sty}{\from{lwarp.dtx}{underscore}}
+\file{lwarp-units.sty}{\from{lwarp.dtx}{units}}
\file{lwarp-upref.sty}{\from{lwarp.dtx}{upref}}
\file{lwarp-url.sty}{\from{lwarp.dtx}{url}}
\file{lwarp-verse.sty}{\from{lwarp.dtx}{verse}}
@@ -328,6 +343,7 @@ version 2005/12/01 or later.
\file{lwarp-xmpincl.sty}{\from{lwarp.dtx}{xmpincl}}
\file{lwarp-xpiano.sty}{\from{lwarp.dtx}{xpiano}}
\file{lwarp-xtab.sty}{\from{lwarp.dtx}{xtab}}
+\file{lwarp-xunicode.sty}{\from{lwarp.dtx}{xunicode}}
\file{lwarp-xurl.sty}{\from{lwarp.dtx}{xurl}}
\file{lwarp-xy.sty}{\from{lwarp.dtx}{xy}}
\file{lwarp-zwpagelayout.sty}{\from{lwarp.dtx}{zwpagelayout}}