summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lwarp
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-06-04 03:02:40 +0000
committerNorbert Preining <norbert@preining.info>2020-06-04 03:02:40 +0000
commit6c90555ebb89f41cc4dfb6cf3ee6bfaa8107650e (patch)
treed3475ab1d6bd6675a0975dfa6059602be057f0d5 /macros/latex/contrib/lwarp
parent44fde4a143b75ae4f383b05832343d497c254989 (diff)
CTAN sync 202006040302
Diffstat (limited to 'macros/latex/contrib/lwarp')
-rw-r--r--macros/latex/contrib/lwarp/README.txt2
-rw-r--r--macros/latex/contrib/lwarp/lwarp.dtx1381
-rw-r--r--macros/latex/contrib/lwarp/lwarp.ins6
-rw-r--r--macros/latex/contrib/lwarp/lwarp.pdfbin2723559 -> 2723100 bytes
-rwxr-xr-xmacros/latex/contrib/lwarp/lwarpmk.lua2
5 files changed, 618 insertions, 773 deletions
diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt
index 1fb8e49873..ce32b03bab 100644
--- a/macros/latex/contrib/lwarp/README.txt
+++ b/macros/latex/contrib/lwarp/README.txt
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.86 README.txt
+LaTeX lwarp package v0.87 README.txt
Files included are:
diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx
index 8139da0040..bbfd42a9fc 100644
--- a/macros/latex/contrib/lwarp/lwarp.dtx
+++ b/macros/latex/contrib/lwarp/lwarp.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2020/05/12 v0.86 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2020/06/03 v0.87 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -87,6 +87,7 @@
\usepackage[log-declarations=false]{xparse}
+\usepackage{ifptex}% *8* remove later
\usepackage[lwarpmk]{lwarp}
@@ -1505,20 +1506,45 @@ macros may be defined as follows:
To maintain compile speed, use the \env{warpMathJax} environment,
and use a separate math environment for each definition.
-\DescribeMacro{\DeclareIfstar}
-To define a starred macro, instead of:
+\DescribeMacro{\ifstar}
+For \brand{MathJax}, use \cs{ifstar} instead of \cs{@ifstar}:
+\gindex{starred macros}
+\gindex{ifnextstar=\cs{@ifnextstar} with \brand{MathJax}}
+\gindex{@ifstar=\cs{@ifstar} with \brand{MathJax}}
\gindex{mathjax=\brand{MathJax}>starred macros}
\trouble{mathjax=\brand{MathJax}>starred macros}
\trouble{math>starred macros and mathjax=\brand{MathJax}}
+\gindex{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
+\trouble{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
+\trouble{math>@ifstar=\cs{@ifstar} macros and \brand{MathJax}}
\begin{sourcedisplay}
-\cs{CustomizeMathJax}\{\cs{def}\cs{myname}\{\cs{@ifstar}\cs{starredaction}\cs{unstarredaction}\}\}
+\cs{CustomizeMathJax}\{ \\
+ \fquad \cs{def}\cs{myname}\{\\
+ \fqquad \cs{ifstar}\cs{starredaction}\cs{unstarredaction} \\
+ \fqquad \% \textred{(Do not place anything after!)} \\
+ \fquad \}
+\}
+\end{sourcedisplay}
+
+\DescribeMacro{\ifnextchar}
+For \brand{MathJax}, use \cs{ifnextchar} instead of \cs{@ifnextchar}:
+\gindex{@ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
+\gindex{ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
+\gindex{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{math>@ifnextchar=\cs{@ifnextchar} macros and \brand{MathJax}}
+\begin{sourcedisplay}
+\cs{CustomizeMathJax}\{cs{def}\cs{myname}\{\cs{ifnextchar} X \cs{found}\cs{notfound}\}\}
\end{sourcedisplay}
-use:
+``\texttt{X}'' may be a single \acro{ASCII} character,
+or a hex number inside braces, ex:
\begin{sourcedisplay}
-\cs{CustomizeMathJax}\{\cs{DeclareIfstar}\{\cs{myname}\}\{\cs{starredaction}\}\{\cs{unstarredaction}\}\}
+\cs{CustomizeMathJax}\{\cs{def}\cs{myname}\{\cs{ifnextchar}\{0x7B\}\cs{found}\cs{notfound}\}\}
\end{sourcedisplay}
-Inside a \brand{MathJax} math expression, \cs{myname} becomes a macro
-which uses \cs{starredaction} if it is starred, or \cs{unstarredaction} if not.
+Use ``\texttt{(}'' or ``\texttt{\{0x28\}}'' for a left parenthesis,
+``\texttt{\{0x7B\}}'' for a left brace,
+``\texttt{\{0x7D\}}'' for a right brace,
+or ``\texttt{\{0x5C\}}'' for a backslash.
}
%\newcommand{\limitscustomizeKaTeX}{%
@@ -1581,9 +1607,9 @@ from the \pkg{hyperref} package:
\item For the new \env{cases}-like environments,
\cs{text} must be used to set the normal roman font if desired.
\item \env{alignat} in \brand{MathJax} requires math mode, but
- in \LaTeX it doesn't. It may be required to use \env{warpHTML} and
+ in \LaTeX\ it doesn't. It may be required to use \env{warpHTML} and
\env{warpprint} to isolate a version for each mode.
- \item \cs{DeclareParedDelimiter} and related must be in the preamble
+ \item \cs{DeclarePairedDelimiter} and related must be in the preamble
before \linebreak \texttt{\cs{begin}\{document\}}.
\end{itemize}
}
@@ -2802,28 +2828,18 @@ These packages do work with \pkg{lwarp}'s option \optn{svgmath}.
\newcommand{\limitsphysics}{%
\pkg{physics} works as-is for \HTML\ with \SVG\ math.
-For \brand{MathJax}, emulation is provided via \pkg{lwarp}'s \brand{MathJax} macros.
-These are not the same as the third-party \brand{MathJax} extension.
-
-\begin{itemize}
-\item The \optn{notrig} option is honored.
-\item Most macros don't work with \cs{big}, etc.\watchout
-\item Macros do not auto-detect variable numbers of mandatory arguments. \watchout
- Provide empty \texttt{\{\}} arguments for those which are not used.
-\item Many of the macros do not work with auto-detected delimiters. \watchout
- Use the delimiter-specific versions instead.
- Some macros do not even consider the following arguments,
- so they may work as expected.
-\item For \cs{Re} and \cs{Im}, the arguments must be in braces.\watchout
-\item For \cs{functionalderivative}, for the example in the manual with $(E-TS)$,
- enclose the parens in braces.
-\item \cs{expectationvalue} requires and uses two mandatory arguments, \watchout
- unlike the third-party \brand{MathJax} \pkg{physics} extension.
-\item Each of \cs{matrixquantity}, \cs{smallmatrixquantity},
- and \cs{matrixdeterminant} work,
- while \cs{identitymatrix} and the following simply print a place-holder,
- and must be replaced by hand.
-\end{itemize}
+For \brand{MathJax}, the \brand{MathJax} v3 \pkg{physics} extension is used.
+% emulation is provided via \pkg{lwarp}'s \brand{MathJax} macros.
+% These are not the same as the third-party \brand{MathJax} extension.
+%
+% \begin{itemize}
+% \item The \optn{notrig} option is honored.
+% \item Most macros don't work with \cs{big}, etc.\watchout
+% \item Each of \cs{matrixquantity}, \cs{smallmatrixquantity},
+% and \cs{matrixdeterminant} work,
+% while \cs{identitymatrix} and the following simply print a place-holder,
+% and must be replaced by hand using \env{warpprint} and \env{warpHTML}.
+% \end{itemize}
}
@@ -3022,7 +3038,7 @@ This boolean may be tested by the user for later use.
%<*package>
% \fi
%
-% \CheckSum{44713}
+% \CheckSum{43783}
%
% \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
@@ -3151,6 +3167,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.84}{2020/04/24}{\ 2020/04/24}
% \changes{v0.85}{2020/05/01}{\ 2020/05/01}
% \changes{v0.86}{2020/05/12}{\ 2020/05/12}
+% \changes{v0.87}{2020/06/03}{\ 2020/06/03}
@@ -3373,6 +3390,30 @@ This boolean may be tested by the user for later use.
%
% \begin{description}
% \needspace{2\baselineskip}
+% \item[v0.87:] \brand{MathJax}, bibliography packages.
+% \begin{itemize}
+% \item Added boolean \bool{FixSmallCaps} for fonts which render small caps as
+% \margintag{core}
+% all caps.
+% \item Fixed \cs{bibliography} to use the \HTML\ version's \filenm{.bbl} file.
+% Previously the \HTML\ bibliography relied on the print version's \filenm{.bbl},
+% thus would fail if the print document had not yet been created.
+% \item Added \cs{ifstar} and \cs{ifnextchar} to \brand{MathJax}, and
+% \margintag{\brand{MathJax}}
+% removed \cs{DeclareIfstar}.
+% \watchout[Removed \cs{DeclareIfstar}]
+% See \cref{sec:limitscustomizemathjax}.
+% \item \pkg{physics}: Now supports the \brand{MathJax} v3 extension.
+% \margintag{packages}
+% \item \pkg{mathtools}: Improved \cs{underbrakcet}, \cs{overbracket} for \brand{MathJax}.
+% \item \pkg{nccmath}: Improved \cs{underrel} for \brand{MathJax}.
+% \item \pkg{mhchem}: Now supports the \brand{MathJax} v3 extension for \cs{ce} inside math.
+% \item \pkg{cancel}: Now supports the \brand{MathJax} v3 extension.
+% \item \pkg{embrac}: Neutralized kerning for improved \HTML\ conversion.
+% \item Added \pkg{citeref}, \pkg{drftcite}, \pkg{jurabib}, \pkg{multibib}, \pkg{splitbib}.
+% \item Verified to work as-is with \pkg{bibtopic}, \pkg{collref}, \pkg{mciteplus}.
+% \end{itemize}
+% \needspace{2\baselineskip}
% \item[v0.86:] \brand{MathJax} major updates.
% \begin{itemize}
% \item Fixed: Filename if named files with \filenm{*}, parens, period in section name.
@@ -5374,9 +5415,11 @@ This boolean may be tested by the user for later use.
%
% Glossary: & \mpkg{gloss}, \mpkg{glossaries} and \prog{xindy}, \mpkg{nomencl}.\\
%
-% Bibliography: & \spkg{babelbib}, \mpkg{backref}, \mpkg{biblatex}, \mpkg{bibunits},
-% \mpkg{chapterbib}, \mpkg{cite}, \ipkg{hypernat}, \spkg{mcite}, \mpkg{natbib},
-% \spkg{notes2bib}, \ipkg{showtags}.
+% Bibliography: & \spkg{babelbib}, \spkg{bibtopic}, \mpkg{backref},
+% \mpkg{biblatex}, \mpkg{bibunits},
+% \mpkg{chapterbib}, \mpkg{cite}, \mpkg{citeref}, \spkg{collref}, \mpkg{drftcite},
+% \ipkg{hypernat}, \mpkg{jurabib}, \spkg{mcite}, \spkg{mciteplus}, \mpkg{multibib},
+% \mpkg{natbib}, \spkg{notes2bib}, \mpkg{splitbib}, \ipkg{showtags}.
%
% \\
%
@@ -5533,7 +5576,7 @@ This boolean may be tested by the user for later use.
% Direct formatting: & \cs{emph}, \cs{textsuperscript},
% \cs{textbf}, etc are supported.
% \cs{bfseries}, etc.\ are only supported in some cases.
-% \mpkg{cancel}, \epkg{ellipsis}, \mpkg{embrac}, \spkg{enparen},
+% \mpkg{cancel}\sjax, \epkg{ellipsis}, \mpkg{embrac}, \spkg{enparen},
% \ipkg{hyphenat}, \epkg{lettrine}, \epkg{lips},
% \ipkg{lua-check-hyphen}, \ipkg{luacolor}, \epkg{magaz}, \epkg{nolbreaks},
% \ipkg{normalcolor},
@@ -5571,9 +5614,11 @@ This boolean may be tested by the user for later use.
% Tested to work as-is: Special font macros in \spkg{cfr-lm} and others
% which use \spkg{nfssext-cfr}. \\
%
-% Symbols: & Native \LaTeX\ diacriticals, \mpkg{academicons}, \mpkg{bbding},
+% Symbols: & Native \LaTeX\ diacriticals, \mpkg{academicons}, \spkg{amssymb}\sjax,
+% \mpkg{bbding},
% \mpkg{chemgreek}, \mpkg{dingbat}, \spkg{euro}, \mpkg{eurosym},
-% \mpkg{fontawesome}, \mpkg{fontawesome5}, \spkg{gensymb}\ejax, \mpkg{marvosym},
+% \mpkg{fontawesome}, \mpkg{fontawesome5}, \spkg{gensymb}\ejax, \spkg{latexsym}\sjax,
+% \mpkg{marvosym},
% \spkg{mathcomp}\ejax, \mpkg{metalogo}, \mpkg{metalogox},
% \mpkg{pifont}, \spkg{textalpha},
% \mpkg{textcomp}, \spkg{textgreek}, \mpkg{typicons}, \mpkg{xunicode}.
@@ -5598,7 +5643,7 @@ This boolean may be tested by the user for later use.
% \mpkg{engtlc}\ejax, \spkg{fast-diagram}, \mpkg{ghsystem},
% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{karnaughmap}, \mpkg{karnaugh-map},
% \mpkg{listings}, \spkg{linop}, \mpkg{mhchem}\sjax, \spkg{pgfgantt},
-% \mpkg{phfqit}, \spkg{physics}\ejax, \spkg{physunits}\ejax, \spkg{qcircuit},
+% \mpkg{phfqit}, \spkg{physics}\sjax, \spkg{physunits}\ejax, \spkg{qcircuit},
% \mpkg{register}, \spkg{simpler-wick},
% \spkg{slashed}\ejax, \mpkg{steinmetz}\ejax, \spkg{structmech}, \mpkg{struktex}.
% \spkg{tikz-karnaugh}, \spkg{tikzcodeblocks} \\
@@ -7728,6 +7773,7 @@ This boolean may be tested by the user for later use.
% \cs{HTMLPageTop} & Heading for the other pages. \\
% \cs{HTMLPageBottom} & Footer for the other pages. \\
% \midrule
+% FixSmallCaps & Set \optn{true} if small caps rendered as all caps. \\
% HTMLDebugComments & Boolean to generate \HTML\ comments. \\
% \bottomrule
% \end{tabular}
@@ -7938,6 +7984,11 @@ This boolean may be tested by the user for later use.
% Any pending footnotes are also placed at the bottom of each page
% before each file break.
%
+% \ItemDescribeBoolean{FixSmallCaps} \DescribeDefault{false}
+% Set |true| if \textsc{Small Caps} are rendering in all caps (``SMALL CAPS'').
+% May be required for some fonts (\pkg{erewhon}, \pkg{utopia}, \pkg{fbb}, et al.),
+% and packages such as \pkg{embrac}.
+%
% \ItemDescribeBoolean{HTMLDebugComments} \DescribeDefault{false}
% Set |true| to generate \HTML\ comments, such as which section or \element{div}
% is being opened or closed.
@@ -8617,6 +8668,29 @@ This boolean may be tested by the user for later use.
%
% \limitstext
%
+%
+% \subsubsection{Small caps}
+%
+% \DescribeBoolean{FixSmallCaps}
+% \trouble{font>small caps}
+% \trouble{small caps}
+% \trouble{font>CJK}
+% \trouble{CJK>font}
+% Some fonts, such as \pkg{erewhon}, \pkg{utopia}, or \pkg{fbb}, and some packages
+% such as \pkg{embrac}, copy/paste ``\textsc{Small Caps}''
+% as all caps (``SMALL CAPS''),
+% which \pkg{lwarp} then reads as all caps, so the text is printed in all caps.
+% If small caps are being rendered as all caps, set:
+% \begin{sourceverb}
+% \booltrue{FixSmallCaps}
+% \end{sourceverb}
+% Some CJK fonts may not work if \bool{FixSmallCaps} is set \optn{true}.
+% \watchout[CJK fonts]
+% \trouble{Chinese>font}
+% \trouble{Japanese>font}
+% \trouble{Korean>font}
+%
+%
% \subsubsection{Horizontal space}
%
% \limitshspace
@@ -10917,13 +10991,6 @@ This boolean may be tested by the user for later use.
% \watchout[\TeX\ boxes]
% require \cs{newpage}, which will not work in a \TeX\ box.
%
-% \changes{v0.57}{2018/05/28}{Docs: Recreating the index for \pkg{lwarp} source.}
-% To recreate the index for the \pkg{lwarp} documentation:
-% \margintag{index recreation}
-% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
-% makeindex -s gglo.ist -o lwarp.gls lwarp.glo
-% splitindex lwarp.idx -- -s gind.ist
-% \end{Verbatim}
%
%
% \subsection{Creating a development system}
@@ -10943,7 +11010,7 @@ This boolean may be tested by the user for later use.
% hundred additional \filenm{lwarp-*.sty} files for the various packages which are
% supported.
%
-% To create the documentation \filenm{lwarp.pdf},
+% To create the initial documentation \filenm{lwarp.pdf},
% execute \userentry{pdflatex lwarp.dtx}
%
% \item[To make the development files visible to other projects:] \
@@ -10955,6 +11022,7 @@ This boolean may be tested by the user for later use.
%
% Inside this directory, create the file \filenm{update}, containing:
% \begin{Verbatim}[gobble=2,obeytabs,tabsize=4,frame=lines]
+% rm lwarp-*.sty
% 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 .
@@ -10990,6 +11058,39 @@ This boolean may be tested by the user for later use.
% setenv PATH ${HOME}/bin:/opt/texbin_local:/opt/texbin:${PATH}
% \end{Verbatim}
%
+% \item[To fully compile the \pkg{lwarp} documentation and indexes:] \ \null
+% \changes{v0.57}{2018/05/28}{Docs: Recreating the index for \pkg{lwarp} source.}
+% \changes{v0.87}{2020/05/17}{Docs: Updated docs to compile \pkg{lwarp} documentation.}
+% \gindex{documentation>compile}
+% \gindex{lwarp=\pkg{lwarp}>compiling documentation}
+% \begin{sourcedisplay}
+% pdflatex lwarp.ins \\
+% pdflatex lwarp.dtx \\
+% pdflatex lwarp.dtx \hfill \textgreen{<if necessary>} \\
+% makeindex -s gglo.ist -o lwarp.gls lwarp.glo \hfill \textgreen{<indexes>} \\
+% splitindex lwarp.idx -- -s gind.ist \\
+% pdflatex lwarp.dtx \\
+% pdflatex lwarp.dtx \hfill \textgreen{<if necessary>} \\
+% makeindex -s gglo.ist -o lwarp.gls lwarp.glo \hfill \textgreen{<indexes>} \\
+% splitindex lwarp.idx -- -s gind.ist \hfill \textgreen{<again>} \\
+% pdflatex lwarp.dtx \\
+% pdflatex lwarp.dtx \hfill \textgreen{<if necessary>}
+% \end{sourcedisplay}
+% (The second round of index processing is required to fully resolve the
+% final Index of Indexes.)
+%
+% To make it easier to update the documentation after a minor change,
+% it is useful to create a command script called \filenm{make_index}, containing:
+% \begin{sourceverb}
+% makeindex -s gglo.ist -o lwarp.gls lwarp.glo
+% splitindex lwarp.idx -- -s gind.ist
+% \end{sourceverb}
+%
+% Note that Index of Indexes and the cross-references to the indexes
+% \trouble[references]{index>documentation references}
+% \trouble{documentation>index cross-references}
+% may not be correct until the above has been accomplished.
+%
% \end{description}
%
%
@@ -11886,8 +11987,12 @@ This boolean may be tested by the user for later use.
% \changes{v0.63}{2018/11/25}{Added p\TeX support.}
% \changes{v0.79}{2020/01/05}{\pkg{luatex85}: Removed.}
% \changes{v0.79}{2020/01/05}{\pkg{ifpdf}, \pkg{ifptex}: Provided by \pkg{iftex}.}
+% \changes{v0.87}{2020/05/21}{\pkg{ifpdf}, \pkg{ifptex}: Restored to work on TL2019 and earlier.}
+% ^^A *8* remove ifpdf, ifptex
% \begin{macrocode}
\RequirePackage{iftex}[2019/11/07]
+\RequirePackage{ifpdf}
+\RequirePackage{ifptex}
\newif\ifxetexorluatex
@@ -12161,7 +12266,9 @@ This boolean may be tested by the user for later use.
% \changes{v0.68}{2019/02/26}{Prevented \pkg{alg}, \pkg{algorithmic}, \pkg{fncylab}, \pkg{pdfcprot}.}
% \changes{v0.80}{2020/02/15}{Prevented \pkg{formula}, \pkg{shadethm}, \pkg{slashbox}.}
% \changes{v0.81}{2020/02/15}{Prevented \pkg{statex}.}
+% \changes{v0.87}{2020/05/14}{Prevented \pkg{csvtools}.}
%
+% ^^A *earlyloadnever *loadnever
% \begin{macrocode}
\LWR@earlyclassloadnever{jarticle}{ujarticle}
\LWR@earlyclassloadnever{jbook}{ujbook}
@@ -12178,6 +12285,7 @@ This boolean may be tested by the user for later use.
\LWR@earlyloadnever{caption2}{caption}
% \LWR@earlyloadnever{ccaption}{caption}% might be preloaded by memoir
\LWR@earlyloadnever{colortab}{colortbl}
+\LWR@earlyloadnever{csvtools}{datatool}
\LWR@earlyloadnever{doublespace}{setspace}
\LWR@earlyloadnever{epsf}{graphicx}
\LWR@earlyloadnever{fancyheadings}{fancyhdr}
@@ -12311,6 +12419,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{chkfloat}
\LWR@notmemoirloadafter{chngpage}
\LWR@loadafter{cite}
+\LWR@loadafter{citeref}
\LWR@loadafter{cmdtrack}
\LWR@loadafter{colonequals}
\LWR@loadafter{color}
@@ -12334,6 +12443,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{draftcopy}
\LWR@loadafter{draftfigure}
\LWR@loadafter{draftwatermark}
+\LWR@loadafter{drftcite}
\LWR@loadafter{easy-todo}
\LWR@loadafter{ebook}
\LWR@loadafter{econometrics}
@@ -12438,6 +12548,7 @@ This boolean may be tested by the user for later use.
% inputenx must be loaded before lwarp
% inputtrc may be loaded before lwarp
\LWR@loadafter{intopdf}
+\LWR@loadafter{jurabib}
\LWR@loadafter{karnaugh-map}
\LWR@loadafter{keyfloat}
\LWR@loadafter{layaureo}
@@ -12492,6 +12603,7 @@ This boolean may be tested by the user for later use.
% morewrites must be loaded before lwarp
\LWR@notmemoirloadafter{movie15}
\LWR@notmemoirloadafter{mparhack}
+\LWR@loadafter{multibib}
\LWR@loadafter{multicap}
%\LWR@loadafter{multicol}% loaded by ltxdoc
\LWR@loadafter{multicolrule}
@@ -12619,6 +12731,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{soul}
\LWR@loadafter{soulpos}
\LWR@loadafter{soulutf8}
+\LWR@loadafter{splitbib}
\LWR@loadafter{splitidx}
\LWR@loadafter{srcltx}
\LWR@loadafter{srctex}
@@ -14626,7 +14739,6 @@ This boolean may be tested by the user for later use.
-% ^^A *checkload
% \begin{macro}{\LWR@checkloadfilename} \marg{filename}
% Checks if this filename should be loaded after \pkg{lwarp},
% or never at all.
@@ -14640,8 +14752,11 @@ This boolean may be tested by the user for later use.
% \changes{v0.79}{2020/01/09}{Prevented \pkg{bxcjkjatype}, \pkg{hangul}.}
% \changes{v0.80}{2020/02/15}{Prevented \pkg{formula}, \pkg{shadethm}, \pkg{slashbox}.}
% \changes{v0.81}{2020/02/28}{Prevented \pkg{statex}.}
+% \changes{v0.87}{2020/05/14}{Prevented \pkg{csvtools}.}
%
% The following should never be loaded:
+%
+% ^^A *checkload *loadnever
% \begin{macrocode}
\newcommand*{\LWR@checkloadfilename}[1]{%
\LWR@checkloadnever{#1}{ae}{cm-super, lmodern}
@@ -14653,6 +14768,7 @@ This boolean may be tested by the user for later use.
\LWR@checkloadnever{#1}{caption2}{caption}
\LWR@checkloadnever{#1}{ccaption}{caption}% might be preloaded by memoir
\LWR@checkloadnever{#1}{colortab}{colortbl}
+\LWR@checkloadnever{#1}{csvtools}{datatool}
\LWR@checkloadnever{#1}{doublespace}{setspace}
\LWR@checkloadnever{#1}{epsf}{graphicx}
\LWR@checkloadnever{#1}{fancyheadings}{fancyhdr}
@@ -18836,6 +18952,7 @@ page_compositor "."
% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v3 current.}
% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Improved equation numbering.}
% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Added support for starred macros.}
+% \changes{v0.87}{2020/05/20}{File: \filenm{lwarp_mathjax.txt}: Now provides \cs{ifstar}, \cs{ifnextchar}.}
%
% ^^A *lwarp_mathjax.txt
%
@@ -18845,12 +18962,12 @@ page_compositor "."
\begin{filecontents*}[overwrite]{lwarp_mathjax.txt}
<script>
// Lwarp MathJax emulation code
+//
// Based on code by Davide P. Cervone.
-// Original code: https://github.com/mathjax/MathJax/issues/2313
-// Modified by Brian Dunn to adjust equation numbering, add subequations,
-// and add starred macros.
// Equation numbering: https://github.com/mathjax/MathJax/issues/2427
-// Starred macros: https://github.com/mathjax/MathJax/issues/2428
+// Starred and ifnextchar macros: https://github.com/mathjax/MathJax/issues/2428
+//
+// Modified by Brian Dunn to adjust equation numbering and add subequations.
//
// LaTeX can use \seteqnumber{subequations?}{section}{number} before each equation.
// subequations? is 0 usually, 1 if inside subequations.
@@ -18865,10 +18982,8 @@ MathJax = {
},
startup: {
ready() {
- //
// These would be replaced by import commands if you wanted to make
// a proper extension.
- //
const Configuration = MathJax._.input.tex.Configuration.Configuration;
const CommandMap = MathJax._.input.tex.SymbolMap.CommandMap;
const Macro = MathJax._.input.tex.Symbol.Macro;
@@ -18876,170 +18991,64 @@ MathJax = {
const ParseUtil = MathJax._.input.tex.ParseUtil.default;
const expandable = MathJax._.util.Options.expandable;
- //
- // These are the names of the command maps:
- //
- const SETEQNUMBERMAP = 'seteqnumberCoreMap' ;
-
- //
- // These functions implement the macros:
- //
- const seteqnumberFunction = (parser, name) => {
- // Get the macro parameters
- const star = parser.GetStar(); // true if there is a *
- const optBrackets = parser.GetBrackets(name); // contents of optional brackets
- const newsubequations = parser.GetArgument(name); // the subequations argument
- const neweqsection = parser.GetArgument(name); // the eq section argument
- const neweqnumber = parser.GetArgument(name); // the eq number argument
- MathJax.config.subequations=newsubequations ; // a string with boolean meaning
- MathJax.config.section=neweqsection ; // a string with numeric meaning
- parser.tags.counter = parser.tags.allCounter = neweqnumber ;
- };
-
- //
- // This is the configuration for the seteqnumberFunctionConfig TeX extension.
- //
- const seteqnumberFunctionConfig = Configuration.create('seteqnumberCore', {
- //
- // Initialize the extension by creating the command map,
- // then append the command map to the given configuration as a macro handler.
- //
- init(config) {
- const map = new CommandMap(SETEQNUMBERMAP,{},{});
- config.append(
- Configuration.create(
- 'seteqnumberDefs',
- {handler: {macro: [SETEQNUMBERMAP]}}
- )
- );
- },
-
- //
- // Add options (from the
- // seteqnumberCore configuration object in the document's
- // option list, if any).
- //
- config(config, jax) {
- const map = jax.parseOptions.handlers.retrieve(SETEQNUMBERMAP);
- const options = jax.parseOptions.options.seteqnumberCore;
- for (const cs of Object.keys(options)) {
- map.add(cs, new Macro(cs, seteqnumberFunction, options[cs]));
- }
- },
-
- options: {
- seteqnumberCore: expandable({})
- }
- }
- );
-
- const IFSTARMAP = 'ifstarMap';
-
- //
- // This function implements an ifstar macro.
- //
- const IfstarFunction = (parser, name, resultstar, resultnostar) => {
- //
- // Get the macro parameters
- //
- const star = parser.GetStar(); // true if there is a *
- //
- // Construct the replacement string for the macro
- //
- const macro = [(star ? resultstar : resultnostar)].join('');
- //
- // Insert the replacement string into the TeX string, and check
- // that there haven't been too many maxro substitutions (prevents
- // infinite loops).
- //
- parser.string = ParseUtil.addArgs(parser, macro, parser.string.slice(parser.i));
+ // Insert the replacement string into the TeX string, and check
+ // that there haven't been too many maxro substitutions (prevents
+ // infinite loops).
+ const useArgument = (parser, text) => {
+ parser.string = ParseUtil.addArgs(parser, text, parser.string.slice(parser.i));
parser.i = 0;
if (++parser.macroCount > parser.configuration.options.maxMacros) {
throw new TexError('MaxMacroSub1',
- 'MathJax maximum macro substitution count exceeded; ' +
- 'is there a recursive macro call?');
+ 'MathJax maximum macro substitution count exceeded; ' +
+ 'is there a recursive macro call?');
}
- };
+ }
- //
- // This is the configuration for the IfstarConfiguration TeX extension.
- //
- const IfstarConfiguration = Configuration.create('Ifstar', {
- //
- // Initialize the extension by creating the command map for the
- // macros defined by \DeclareIfstar, and add the
- // \DeclareIfstar macro itself. Then append the
- // command map to the given configuration as a macro handler
- //
- init(config) {
- const map = new CommandMap(IFSTARMAP, {
- DeclareIfstar: ['Declare_Ifstar']
- }, {
- //
- // Implements \DeclareIfstar control sequence.
- //
- Declare_Ifstar(parser, name) {
- //
- // Get the control sequence to define and the starred and
- // non-starred macros to use.
- //
- let cs = ParseUtil.trimSpaces(parser.GetArgument(name));
- const resultstar = parser.GetArgument(name);
- const resultnostar = parser.GetArgument(name);
- //
- // Check that the control sequence name is valid
- //
- if (cs.charAt(0) === '\\') cs = cs.substr(1);
- if (!cs.match(/^(.|[a-z]+)$/i)) { //$ syntax highlighting
- throw new TexError(
- 'IllegalControlSequenceName',
- 'Illegal control sequence name for %1',
- name
- );
- }
- //
- // Look up the command map and add the new macro to it using
- // IfstarFunction as the function and passing it the
- // given starred and non-starred macros.
- //
- const map = parser.configuration.handlers.retrieve(IFSTARMAP);
- map.add(cs, new Macro(cs, IfstarFunction, [resultstar, resultnostar]));
- }
- });
- config.append(
- Configuration.create('IfstarDefs', {handler: {macro: [IFSTARMAP]}})
- );
+ // Create the command map for \ifstar, \ifnextchar, \seteqnumber
+ new CommandMap('ifstar-ifnextchar-setequnumber', {
+ ifstar: 'IfstarFunction',
+ ifnextchar: 'IfnextcharFunction',
+ seteqnumber: 'SeteqnumberFunction'
+ }, {
+ // This function implements an ifstar macro.
+ IfstarFunction(parser, name) {
+ const resultstar = parser.GetArgument(name);
+ const resultnostar = parser.GetArgument(name);
+ const star = parser.GetStar(); // true if there is a *
+ useArgument(parser, star ? resultstar : resultnostar);
},
-
- //
- // Add any user-defined starred/non-starred macros (from the
- // Ifstar configuration object in the document's
- // option list), if any.
- //
- config(config, jax) {
- const map = jax.parseOptions.handlers.retrieve(IFSTARMAP);
- const starmacros = jax.parseOptions.options.Ifstar;
- for (const cs of Object.keys(starmacros)) {
- map.add(cs, new Macro(cs, IfstarFunction, starmacros[cs]));
+
+ // This function implements an ifnextchar macro.
+ IfnextcharFunction(parser, name) {
+ let whichchar = parser.GetArgument(name);
+ if (whichchar.match(/^(?:0x[0-9A-F]+|[0-9]+)$/i)) {
+ // $ syntax highlighting
+ whichchar = String.fromCodePoint(parseInt(whichchar));
}
+ const resultnextchar = parser.GetArgument(name);
+ const resultnotnextchar = parser.GetArgument(name);
+ const gotchar = (parser.GetNext() === whichchar);
+ useArgument(parser, gotchar ? resultnextchar : resultnotnextchar);
},
- //
- // Indicate that Ifstar is a valid option, and can have
- // any number of definitions. The format is
- //
- // name: [starred, non-starred]
- //
- // where 'name' is the macro name, and starred and non-starred are the
- // macros to use for the \name macro. You can include
- // pre-defined macros here, which will be available without
- // further configuration.
- //
- options: {
- Ifstar: expandable({})
+ // This function modifies the equation numbers.
+ SeteqnumberFunction(parser, name) {
+ // Get the macro parameters
+ const star = parser.GetStar(); // true if there is a *
+ const optBrackets = parser.GetBrackets(name); // contents of optional brackets
+ const newsubequations = parser.GetArgument(name); // the subequations argument
+ const neweqsection = parser.GetArgument(name); // the eq section argument
+ const neweqnumber = parser.GetArgument(name); // the eq number argument
+ MathJax.config.subequations=newsubequations ; // a string with boolean meaning
+ MathJax.config.section=neweqsection ; // a string with numeric meaning
+ parser.tags.counter = parser.tags.allCounter = neweqnumber ;
}
});
+ // Create the ifstar-ifnextchar-setequnumber package
+ Configuration.create('ifstar-ifnextchar-setequnumber', {
+ handler: {macro: ['ifstar-ifnextchar-setequnumber']}
+ });
MathJax.startup.defaultReady();
@@ -19060,10 +19069,7 @@ MathJax = {
}, // startup
tex: {
- packages: {'[+]': ['seteqnumberCore', 'tagFormat', 'Ifstar']},
- seteqnumberCore: {
- seteqnumber: [] // a user-defined macro
- },
+ packages: {'[+]': ['tagFormat', 'ifstar-ifnextchar-setequnumber']},
tags: "ams",
tagFormat: {
number: function (n) {
@@ -19213,7 +19219,7 @@ MathJax = {
-- Copyright 2016-2020 Brian Dunn
-printversion = "v0.86"
+printversion = "v0.87"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -24564,9 +24570,10 @@ end -- not --version
%
%
% \DescribeCounter{LWR@currentautosec} Records the page number when the section
-% was created. If a math expression is included in the section name,
+% was created. (If a math expression is included in the section name,
% and SVG math is used, the corresponding \env{lateximage} will cause the
-% page number to change by the time the following autosec label is created.
+% page number to change by the time the following autosec label is created,
+% thus the initial page number is recorded here.)
% \changes{v0.43}{2017/11/01}{\ctr{LWR@currentautosec}: Added.}
% \changes{v0.66}{2019/01/28}{\ctr{LWR@currentautosec}: Fix for \LOF, \LOT float in home page.}
% \begin{macrocode}
@@ -33698,6 +33705,7 @@ end -- not --version
%
%
% \section{Bibliography presentation}
+% ^^A *bibliography
%
% \codehtml
% \begin{macrocode}
@@ -33705,21 +33713,12 @@ end -- not --version
% \end{macrocode}
%
%
-% \begin{macro}{\bibliography} \marg{filenames}
-%
-% Modified to use the base jobname instead of the |_html| jobname.
-% \changes{v0.48}{2018/02/04}{Fix: \cs{BaseJobname} for bibliography.}
-% \begin{macrocode}
-\def\bibliography#1{%
- \if@filesw
- \immediate\write\@auxout{\string\bibdata{#1}}%
- \fi
-% \@input@{\jobname.bbl}% original
- \begingroup%
- \@input@{\BaseJobname.bbl}% lwarp
- \endgroup%
-}
-% \end{macrocode}
+% \begin{macro}{\bibliography} \marg{filenames} \qquad
+% At one time this was modified to read \cs{BaseJobname}\filenm{.bbl},
+% which meant the \HTML\ version could not resolve until the print version was
+% also present. This also confused \pkg{multibib}.
+% It has been reverted to the original to use \cs{jobname}\filenm{.bbl}.
+% \changes{v0.87}{2020/05/17}{Reverted to original.}
% \end{macro}
%
%
@@ -38087,6 +38086,27 @@ color:\LWR@origpound\LWR@tempcolor%
% see \cref{sec:highlevelclasses}.
+% \codeall
+% \begin{macrocode}
+\begin{warpall}
+% \end{macrocode}
+
+% \DescribeBoolean{FixSmallCaps}
+% User may set \bool{FixSmallCaps} to \optn{true} if small caps
+% are being incorrectly rendered as all caps.
+%
+% \changes{v0.87}{2020/05/12}{Added \bool{FixSmallCaps} to remove \cs{LWR@print@scshape}
+% for \pkg{erewhon}, et. al.}
+% \begin{macrocode}
+\newbool{FixSmallCaps}
+\boolfalse{FixSmallCaps}
+% \end{macrocode}
+
+% \begin{macrocode}
+\end{warpall}
+% \end{macrocode}
+
+
% \codehtml
% \begin{macrocode}
\begin{warpHTML}
@@ -38519,10 +38539,19 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
% \end{macro}
+
% \begin{macro}{\scshape}
+%
+% Note: \cs{LWR@print@scshape} is not used here since some fonts,
+% such as \pkg{erewhon}, copy/paste as all-caps.
+%
+% \changes{v0.87}{2020/05/12}{Added \bool{FixSmallCaps} to remove \cs{LWR@print@scshape}
+% for \pkg{erewhon}, et. al.}
% \begin{macrocode}
\newrobustcmd*{\LWR@HTML@scshape}{%
- \LWR@print@scshape%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR@print@scshape%
+ }%
\renewcommand*{\LWR@f@shapecaps}{sc}%
}
\AtBeginDocument{\LWR@formatted{scshape}}
@@ -38545,12 +38574,16 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\sishape}
% \changes{v0.65}{2018/12/10}{Added \cs{sishape}.}
+% \changes{v0.87}{2020/05/12}{Added \bool{FixSmallCaps} to remove \cs{LWR@print@scshape}
+% for \pkg{erewhon}, et. al.}
% \begin{macrocode}
\@ifundefined{sishape}{
\LetLtxMacro\sishape\scshape
}{}
\newrobustcmd*{\LWR@HTML@sishape}{%
- \LWR@print@sishape%
+ \ifbool{FixSmallCaps}{}{%
+ \LWR@print@sishape%
+ }%
\renewcommand*{\LWR@f@shape}{it}
\renewcommand*{\LWR@f@shapecaps}{sc}%
}
@@ -39999,6 +40032,11 @@ color:\LWR@origpound\LWR@tempcolor%
{Enclose its uses inside lateximage\MessageBreak
environments to force SVG output}
\LWR@mathjaxwarn{jkmath}{}
+ \LWR@mathjaxwarn{mathtools}
+ {See the Lwarp manual regarding the disallowspaces\MessageBreak
+ and showonlyrefs options, the alignat environment,\MessageBreak
+ and \protect\DeclarePairedDelimiter\space and related%
+ }
\LWR@mathjaxwarn{mathspec}{}
\LWR@mathjaxwarn{multirow}
{Multirow works as expected in text mode, but\MessageBreak
@@ -40008,11 +40046,10 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@mathjaxwarn{pb-diagram}
{Enclose its uses inside lateximage environments\MessageBreak
to force SVG output}
- \LWR@mathjaxwarn{physics}
- {The third-party extension is not used.\MessageBreak
- Avoid automatic delimiters.\MessageBreak
- Use all mandatory arguments, adding empty as needed.\MessageBreak
- See the Lwarp manual for details}
+% \LWR@mathjaxwarn{physics}
+% % {The third-party extension is not used.\MessageBreak
+% {The MathJax v3 extension is used.\MessageBreak
+% See the Lwarp manual for details}
\LWR@mathjaxwarn{unicode-math}
{Not all characters are encoded correctly.\MessageBreak
Some symbol fonts are not supported by MathJax,\MessageBreak
@@ -40427,43 +40464,6 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
%
-%
-%
-%
-% \iffalse
-%<*afterpage>
-% \fi
-%
-% \part{lwarp-afterpage.sty}
-%
-% \section{afterpage}
-%
-% \credits{David Carlisle}
-%
-% \DescribePackage{afterpage} \pkg{afterpage} is emulated.
-%
-% \changes{v0.20}{2017/01/11}{\pkg{afterpage}: Added.}
-%
-% \codehtml
-%
-% Discard all options for \pkg{lwarp-afterpage}:
-% \begin{macrocode}
-\LWR@ProvidesPackageDrop{afterpage}[2014/10/28]
-% \end{macrocode}
-%
-% \begin{macrocode}
-\newcommand{\afterpage}[1]{#1}
-% \end{macrocode}
-%
-% \iffalse
-%</afterpage>
-% \fi
-%
-%
-%
-%
-%
-%
% \iffalse
%<*accessibility>
% \fi
@@ -44528,6 +44528,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \pkg{cancel} is used as-is for SVG math, and emulated for \HTML\ text output.
%
% \changes{v0.44}{2017/11/16}{\pkg{cancel}: Added.}
+% \changes{v0.87}{2020/06/02}{\pkg{cancel}: Now uses \brand{MathJax} v3 extension.}
%
% \codehtml
%
@@ -44582,6 +44583,15 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"%
% \end{macrocode}
% \end{noindmacro}
%
+% For \brand{MathJax}:
+% \begin{macrocode}
+\begin{warpMathJax}
+\PackageWarningNoLine{lwarp, cancel}{The MathJax v3 extension will be used}
+\CustomizeMathJax{\require{cancel}}
+\end{warpMathJax}
+% \end{macrocode}
+
+%
% \iffalse
%</cancel>
% \fi
@@ -47035,6 +47045,48 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
+% \iffalse
+%<*citeref>
+% \fi
+%
+% \part{lwarp-citeref.sty}
+%
+% \section{citeref}
+%
+% \credits{Bj\"orn Briel}
+%
+% \DescribePackage{citeref}
+% \pkg{citeref} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/16}{\pkg{citeref}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{citeref}[1999/27/05]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@cprwrite#1={\write\@auxout{\string\citepageref{#1}{\theLWR@currentautosec}}}
+
+\def\citepageref#1#2{%
+ \xdef\cpr@testa{\@nameuse{cpr@last@#1}}%letzte Zitatstelle
+ \xdef\cpr@testb{#2}% Seite dieser Zitatstelle
+ \ifx\cpr@testa\cpr@testb%
+ \relax% Konsekutive identische Seitenangaben weglassen
+ \else%
+ \@namexdef{cpr@last@#1}{#2}%
+ \@ifundefined{cpr@#1}%
+ {\@namexdef{cpr@#1}{\ref{\BaseJobname-autopage-#2}}}% lwarp
+ {\@namexdef{cpr@#1}{\@nameuse{cpr@#1}, \ref{\BaseJobname-autopage-#2}}}% lwarp
+ \fi
+ }
+% \end{macrocode}
+%
+% \iffalse
+%</citeref>
+% \fi
+%
%
%
% \iffalse
@@ -48304,6 +48356,44 @@ name = \chemmacros_translate:n {scheme-name}
%
%
%
+% \iffalse
+%<*drftcite>
+% \fi
+%
+% \part{lwarp-drftcite.sty}
+%
+% \section{drftcite}
+%
+% \credits{Donald Arseneau}
+%
+% \DescribePackage{drftcite}
+% \pkg{drftcite} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/06/02}{\pkg{drftcite}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{drftcite}[1995/01/23]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@lbibitem[#1]#2{\global\@HighCite\z@
+ \item[
+ \textsuperscript{\@nameuse{DCN@#2\@extra@b@citeb}}~% lwarp
+ \@biblabel{\@ifundefined{DCN@#2\@extra@b@citeb}{\@warning
+ {Reference `#2' on page \thepage\space was never cited}}{}%
+% \DC@llap{$^{\@nameuse{DCN@#2\@extra@b@citeb}}$\ \ }%%o
+ \@citeverb{#2}}\hfil]\if@filesw{\def\protect##1{\string ##1\space}%
+ \immediate\write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+% \end{macrocode}
+%
+% \iffalse
+%</drftcite>
+% \fi
+%
+%
+%
%
% \iffalse
%<*easy-todo>
@@ -48768,6 +48858,13 @@ name = \chemmacros_translate:n {scheme-name}
\LWR@ProvidesPackagePass{embrac}[2017/07/04]
% \end{macrocode}
%
+% \changes{v0.87}{2020/05/14}{\pkg{embrac}: Neutralized kerning.}
+% \begin{macrocode}
+\ExplSyntaxOn
+\RenewDocumentCommand{\embrac_kern:n}{m}{}
+\ExplSyntaxOff
+% \end{macrocode}
+%
% \begin{macrocode}
\LetLtxMacro\LWR@orig@HTML@emph\LWR@HTML@emph
\RenewDocumentCommand{\LWR@HTML@emph}{s m}{\LWR@orig@HTML@emph{#2}}
@@ -56056,6 +56153,98 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
%
%
+% \iffalse
+%<*jurabib>
+% \fi
+%
+% \part{lwarp-jurabib.sty}
+%
+% \section{jurabib}
+%
+% \credits{Jens Berger}
+%
+% \DescribePackage{jurabib}
+% \pkg{jurabib} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/18}{\pkg{jurabib}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{jurabib}[2004/01/25]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewrobustcmd{\jblangle}{\textless}
+
+\renewrobustcmd{\jbrangle}{\textgreater}
+
+\renewcommand*{\jb@biblaw@item}{%
+ \hspace{0.5em}%
+% $\triangleright$
+ \HTMLunicode{25B7}% lwarp
+ \hspace{0.5em}%
+}
+
+\renewrobustcmd{\jbarchsig}[2]{%
+ \ifjbweareinbib
+ \settowidth{\jb@subarchitemwidth}{\jbsamesubarchindent+#1}%
+ \setlength{\jb@subarchentrywidth}{\textwidth-\jb@subarchitemwidth-4em}%
+% \begin{tabular}{@{}p{\jb@subarchitemwidth}@{}j{\jb@subarchentrywidth}@{}}%
+ #1\ifjb@dot\unskip\unskip\unskip.\fi
+% &
+ \quad% lwarp
+ \ifthenelse{\equal{#2}{}}{}{\jbarchnameformat{#2}}%
+% \end{tabular}
+ \fi
+}%
+
+
+\xpatchcmd{\jb@do@post@item}
+ {\begin{tabular}{p{\jb@biblaw@item@width}j{\jb@biblaw@entry@width}}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 1}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\multicolumn{2}{p{\columnwidth}}{\jb@@name}}
+ {\jb@@name}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 2}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\jb@biblaw@item & \jb@@fulltitle}
+ {\jb@biblaw@item \quad \jb@@fulltitle}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 3}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\end{tabular}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 4}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\begin{minipage}[t]{\bibnumberwidth}}
+ {}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 5}}
+
+\xpatchcmd{\jb@do@post@item}
+ {\end{minipage}}
+ {\quad}
+ {}
+ {\LWR@patcherror{jurabib}{jb@do@post@item 6}}
+% \end{macrocode}
+%
+% \iffalse
+%</jurabib>
+% \fi
+%
+%
+%
+%
+%
%
% \iffalse
%<*karnaugh-map>
@@ -59101,6 +59290,8 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% For \brand{MathJax}:
%
% \changes{v0.79}{2020/01/26}{\pkg{mathtools}: Added \brand{MathJax} emulation.}
+% \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Updated starred macros.}
+% \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
% \begin{macrocode}
\begin{warpMathJax}
\LWR@infoprocessingmathjax{mathtools}
@@ -59136,10 +59327,10 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\Newextarrow\xleftharpoonup{10,10}{0x21bc}}
\CustomizeMathJax{\Newextarrow\xleftrightharpoons{10,10}{0x21cb}}
-\CustomizeMathJax{\newcommand{\LWRdounderbracket}[1]{\underline{#1}}}
+\CustomizeMathJax{\newcommand{\LWRdounderbracket}[3]{\underset{#3}{\underline{#1}}}}
\CustomizeMathJax{\newcommand{\LWRunderbracket}[2][]{\LWRdounderbracket{#2}}}
\CustomizeMathJax{\newcommand{\underbracket}[1][]{\LWRunderbracket}}
-\CustomizeMathJax{\newcommand{\LWRdooverbracket}[1]{\overline{#1}}}
+\CustomizeMathJax{\newcommand{\LWRdooverbracket}[3]{\overset{#3}{\overline{#1}}}}
\CustomizeMathJax{\newcommand{\LWRoverbracket}[2][]{\LWRdooverbracket{#2}}}
\CustomizeMathJax{\newcommand{\overbracket}[1][]{\LWRoverbracket}}
@@ -59193,7 +59384,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \begin{macrocode}
\CustomizeMathJax{
\newcommand{\LWRABLines}[1][\Updownarrow]{#1 \notag \\}% star/nostar the same
- \DeclareIfstar{\ArrowBetweenLines}{\LWRABLines}{\LWRABLines}
+ \newcommand{\ArrowBetweenLines}{\ifstar\LWRABLines\LWRABLines}
}
% \end{macrocode}
%
@@ -59210,9 +59401,8 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\newcommand{\LWRshortvdotswithinstar}[1]{\vdots \hspace{.5em} & \\}}
\CustomizeMathJax{\newcommand{\LWRshortvdotswithinnostar}[1]{& \hspace{.5em}\vdots \\}}
\CustomizeMathJax{%
- \DeclareIfstar{\shortvdotswithin}%
- {\LWRshortvdotswithinstar}%
- {\LWRshortvdotswithinnostar}%
+ \newcommand{\shortvdotswithin}%
+ {\ifstar\LWRshortvdotswithinstar\LWRshortvdotswithinnostar}%
}
\CustomizeMathJax{\newcommand{\MTFlushSpaceAbove}{}}
@@ -59244,9 +59434,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% user macro:
\appto\LWR@customizedMathJax{\LWRbackslash(}
\appto\LWR@customizedMathJax{%
- \LWRbackslash{}DeclareIfstar\{\LWRbackslash{}\macrotocsname{#1}\}%
- \{\LWRbackslash{}\macrotocsname{#1}LWRsubstar\}%
- \{\LWRbackslash{}\macrotocsname{#1}LWRsubnostar\}%
+ \LWRbackslash{}newcommand\{\LWRbackslash{}\macrotocsname{#1}\}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
}%
\appto\LWR@customizedMathJax{\LWRbackslash)\par}%
}
@@ -59308,9 +59500,13 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% user macro:
\appto\LWR@customizedMathJax{\LWRbackslash(}
\appto\LWR@customizedMathJax{%
- \LWRbackslash{}DeclareIfstar\{\LWRbackslash{}\macrotocsname{#1}\}%
- \{\LWRbackslash{}\macrotocsname{#1}LWRsubstar\}%
- \{\LWRbackslash{}\macrotocsname{#1}LWRsubnostar\}%
+ \LWRbackslash{}newcommand\{%
+ \LWRbackslash{}\macrotocsname{#1}%
+ \}%
+ \{\LWRbackslash{}ifstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubstar%
+ \LWRbackslash{}\macrotocsname{#1}LWRsubnostar%
+ \}%
}%
\appto\LWR@customizedMathJax{\LWRbackslash)\par}%
}
@@ -60270,21 +60466,19 @@ background:
% \begin{sourceverb}
% $\ce{C6H5-CHO}$
% \end{sourceverb}
-%
-% If \emph{not} used inside a math expression, \pkg{lwarp} converts standalone \pkg{mhchem}
-% \marginpar{not inside math}
-% expressions into \SVG\ math images.
-%
-% If the \brand{MathJax} \pkg{mhchem} extension is not used,
-% \margintag{\brand{MathJax} without \pkg{mhchem} extension}
-% expressions inside math must be placed
-% between \cs{displaymathother} and \cs{displaymathnormal}:
+% To force the use of \SVG\ math for an expression which does not work with
+% \brand{MathJax},
+% place the expression between \cs{displaymathother} and \cs{displaymathnormal}:
% \begin{sourcedisplay}
% \cs{displaymathother} \\
% \cs{[} \cs{ce}\{ \dots\ \} \cs{]} \qquad \dots \qquad \$ \cs{ce} \{ \dots\ \} \$ \\
% \cs{displaymathnormal}
% \end{sourcedisplay}
%
+% If \emph{not} used inside a math expression, \pkg{lwarp} converts standalone \pkg{mhchem}
+% \marginpar{not inside math}
+% expressions into \SVG\ math images.
+%
% When producing \HTML\ output without the \brand{MathJax} \pkg{mhchem} extension,
% \pkg{lwarp} does not support
% \trouble[nested math]{mhchem=\pkg{mhchem}>nested dollar signs}
@@ -60312,6 +60506,7 @@ background:
%
% \changes{v0.51}{2018/03/04}{\pkg{mhchem}: Added.}
% \changes{v0.74}{2019/08/26}{\pkg{mhchem}: Modified for new \env{lateximage}.}
+% \changes{v0.87}{2020/06/02}{\pkg{mhchem}: Now uses \brand{MathJax} v3 extension.}
%
% \codehtml
%
@@ -60423,6 +60618,10 @@ background:
\LetLtxMacro\ce\LWR@mhchem@origce%
\LetLtxMacro\cesplit\LWR@mhchem@origcesplit%
}
+
+\begin{warpHTML}
+\CustomizeMathJax{\require{mhchem}}
+\end{warpHTML}
% \end{macrocode}
% \iffalse
@@ -61112,6 +61311,42 @@ background:
%
%
%
+% \iffalse
+%<*multibib>
+% \fi
+%
+% \part{lwarp-multibib.sty}
+%
+% \section{multibib}
+%
+% \credits{Thorsten Hansen}
+%
+% \DescribePackage{multibib}
+% \pkg{multibib} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/17}{\pkg{multibib}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{multibib}[2008/12/10]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\xpatchcmd{\newcites}
+ {{\@suffix}}
+ {{\@suffix_html}}
+ {}
+ {\LWR@patcherror{multibib}{newcites}}
+% \end{macrocode}
+%
+% \iffalse
+%</multibib>
+% \fi
+%
+%
+%
+%
%
% \iffalse
%<*multicap>
@@ -62179,12 +62414,13 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% As of v0.86, \brand{MathJax} v3 does not offer \cs{\textbackslash*}, so
% the unstarred version is used here.
% \changes{v0.86}{2020/05/10}{\pkg{nccmath}: Fixed \cs{nr}, added starred.}
+% \changes{v0.87}{2020/05/20}{\pkg{nccmath}: Updated starred, improved \cs{underref}.}
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\LWRnrnostar}[1][0.5ex]{\\[#1]}}
-\CustomizeMathJax{\DeclareIfstar{\nr}{\LWRnrnostar}{\LWRnrnostar}}
+\CustomizeMathJax{\newcommand{\nr}{\ifstar\LWRnrnostar\LWRnrnostar}}
\CustomizeMathJax{\newcommand{\mrel}[1]{\begin{aligned}#1\end{aligned}}}
-\CustomizeMathJax{\newcommand{\underrel}[2]{{#1}_{#2}}}
+\CustomizeMathJax{\newcommand{\underrel}[2]{\underset{#2}{#1}}}
\CustomizeMathJax{\newcommand{\medmath}[1]{#1}}
\CustomizeMathJax{\newcommand{\medop}[1]{#1}}
\CustomizeMathJax{\newcommand{\medint}[1]{#1}}
@@ -65362,7 +65598,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \limitsphysics
%
% \changes{v0.79}{2020/01/29}{\pkg{physics}: Added.}
-% \changes{v0.86}{2020/05/09}{\pkg{physics}: Added starred macros.}
+% \changes{v0.87}{2020/06/02}{\pkg{physics}: Now uses \brand{MathJax} v3 extension.}
%
% \codehtml
%
@@ -65371,469 +65607,9 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
% \begin{macrocode}
-% doesn't work with \big, etc:
\begin{warpMathJax}
-\LWR@infoprocessingmathjax{physics}
-
-\CustomizeMathJax{\newcommand{\quantity}{}}
-\CustomizeMathJax{\let\qty\quantity}
-\CustomizeMathJax{\newcommand{\pqty}[1]{\left(#1\right)}}
-\CustomizeMathJax{\newcommand{\bqty}[1]{\left\lbrack#1\right\rbrack}}
-\CustomizeMathJax{\newcommand{\vqty}[1]{\left\vert#1\right\rvert}}
-\CustomizeMathJax{\newcommand{\Bqty}[1]{\left\lbrace#1\right\rbrace}}
-
-% doesn't work with \big, etc.
-\CustomizeMathJax{\newcommand{\LWRabsolutevaluenostar}[1]{\left\lvert#1\right\rvert}}
-\CustomizeMathJax{\newcommand{\LWRabsolutevaluestar}[1]{\lvert#1\rvert}}
-\CustomizeMathJax{%
- \DeclareIfstar{\absolutevalue}{\LWRabsolutevaluestar}{\LWRabsolutevaluenostar}%
-}
-
-\CustomizeMathJax{\let\abs\absolutevalue}
-
-% doesn't work with \big, etc.
-\CustomizeMathJax{%
- \newcommand{\LWRnormnostar}[1]{\left\lvert\left\lvert#1\right\rvert\right\rvert}%
-}
-\CustomizeMathJax{\newcommand{\LWRnormstar}[1]{\lvert\lvert#1\rvert\rvert}}
-\CustomizeMathJax{%
- \DeclareIfstar{\norm}{\LWRnormstar}{\LWRnormnostar}%
-}
-
-% doesn't work with \big, etc., no paren or bracket
-\CustomizeMathJax{\newcommand{\LWRevaluatednostar}[1]{\left . #1\right\vert}}
-\CustomizeMathJax{\newcommand{\LWRevaluatedstar}[1]{#1\vert}}
-\CustomizeMathJax{%
- \DeclareIfstar{\evaluated}{\LWRevaluatedstar}{\LWRevaluatednostar}%
-}
-
-\CustomizeMathJax{\let\eval\evaluated}
-
-% no \Big
-\CustomizeMathJax{\newcommand{\LWRordernostar}[1]{\mathcal{O}\left(#1\right)}}
-\CustomizeMathJax{\newcommand{\LWRorderstar}[1]{\mathcal{O}(#1)}}
-\CustomizeMathJax{%
- \DeclareIfstar{\order}{\LWRorderstar}{\LWRordernostar}%
-}
-
-% no \Big
-\CustomizeMathJax{\newcommand{\LWRcommutatornostar}[2]{\left\lbrack#1,#2\right\rbrack}}
-\CustomizeMathJax{\newcommand{\LWRcommutatorstar}[2]{\lbrack#1,#2\rbrack}}
-\CustomizeMathJax{%
- \DeclareIfstar{\commutator}{\LWRcommutatorstar}{\LWRcommutatornostar}%
-}
-
-\CustomizeMathJax{\let\comm\commutator}
-
-% no \Big
-\CustomizeMathJax{\newcommand{\LWRanticommutatornostar}[2]{%
- \left\lbrace#1,#2\right\rbrace}%
-}
-\CustomizeMathJax{\newcommand{\LWRanticommutatorstar}[2]{%
- \lbrace#1,#2\rbrace}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\anticommutator}{\LWRanticommutatorstar}{\LWRanticommutatornostar}%
-}
-
-\CustomizeMathJax{\let\acomm\anticommutator}
-
-% no \Big
-\CustomizeMathJax{\let\poissonbracket\anticommutator}
-\CustomizeMathJax{\let\pb\anticommutator}
-
-\CustomizeMathJax{\newcommand{\LWRvectorboldnostar}[1]{\mathbf{#1}}}
-\CustomizeMathJax{\newcommand{\LWRvectorboldstar}[1]{\pmb{#1}}}
-\CustomizeMathJax{%
- \DeclareIfstar{\vectorbold}{\LWRvectorboldstar}{\LWRvectorboldnostar}%
-}
-\CustomizeMathJax{\let\vb\vectorbold}
-
-\CustomizeMathJax{\newcommand{\LWRvectorarrownostar}[1]{\vec{\mathbf{#1}}}}
-\CustomizeMathJax{\newcommand{\LWRvectorarrowstar}[1]{\vec{\pmb{#1}}}}
-\CustomizeMathJax{%
- \DeclareIfstar{\vectorarrow}{\LWRvectorarrowstar}{\LWRvectorarrownostar}%
-}
-\CustomizeMathJax{\let\va\vectorarrow}
-
-% no star
-\CustomizeMathJax{\newcommand{\LWRvectorunitnostar}[1]{\mathbf{\hat{#1}}}}
-\CustomizeMathJax{\newcommand{\LWRvectorunitstar}[1]{\pmb{\hat{#1}}}}
-\CustomizeMathJax{%
- \DeclareIfstar{\vectorunit}{\LWRvectorunitstar}{\LWRvectorunitnostar}%
-}
-\CustomizeMathJax{\let\va\vectorunit}
-
-\CustomizeMathJax{\newcommand{\dotproduct}{\boldsymbol\cdot}}
-\CustomizeMathJax{\let\vdot\dotproduct}
-
-\CustomizeMathJax{\newcommand{\crossproduct}{\boldsymbol\times}}
-\CustomizeMathJax{\let\cross\crossproduct}
-\CustomizeMathJax{\let\cp\crossproduct}
-
-\CustomizeMathJax{\newcommand{\gradient}{\mathbf{\nabla}}}
-\CustomizeMathJax{\let\grad\gradient}
-
-\CustomizeMathJax{\let\divisionsymbol\div}
-
-\CustomizeMathJax{\newcommand{\divergence}{\nabla\vdot}}
-\CustomizeMathJax{\let\div\divergence}
-
-\CustomizeMathJax{\newcommand{\curl}{\nabla\cross}}
-
-\CustomizeMathJax{\newcommand{\laplacian}{\nabla^2}}
-
-% responds to notrig option
-\ifx\trigopt 1
- \CustomizeMathJax{\DeclareMathOperator{\sine}{sin}}
- \CustomizeMathJax{\DeclareMathOperator{\cosine}{cos}}
- \CustomizeMathJax{\DeclareMathOperator{\tangent}{tan}}
- \CustomizeMathJax{\DeclareMathOperator{\cosecant}{csc}}
- \CustomizeMathJax{\DeclareMathOperator{\secant}{sec}}
- \CustomizeMathJax{\DeclareMathOperator{\cotangent}{cot}}
- \CustomizeMathJax{\DeclareMathOperator{\arcsine}{arcsin}}
- \CustomizeMathJax{\DeclareMathOperator{\arccosine}{arccos}}
- \CustomizeMathJax{\DeclareMathOperator{\arctangent}{arctan}}
- \CustomizeMathJax{\DeclareMathOperator{\hypsine}{sinh}}
- \CustomizeMathJax{\DeclareMathOperator{\hypcosine}{cosh}}
- \CustomizeMathJax{\DeclareMathOperator{\hyptangent}{tanh}}
- \CustomizeMathJax{\DeclareMathOperator{\hypcotangent}{coth}}
- \CustomizeMathJax{\DeclareMathOperator{\exponential}{exp}}
- \CustomizeMathJax{\DeclareMathOperator{\logarithm}{log}}
- \CustomizeMathJax{\DeclareMathOperator{\naturallogarithm}{\ln}}
- \CustomizeMathJax{\DeclareMathOperator{\determinant}{det}}
- \CustomizeMathJax{\DeclareMathOperator{\Probability}{Pr}}
- \CustomizeMathJax{\newcommand{\sin}[1][{}]{\mathrm{sin}^#1}}
- \CustomizeMathJax{\newcommand{\sinh}[1][{}]{\mathrm{sinh}^#1}}
- \CustomizeMathJax{\newcommand{\arcsin}[1][{}]{\mathrm{arcsin}^#1}}
- \CustomizeMathJax{\newcommand{\asin}[1][{}]{\mathrm{asin}^#1}}
- \CustomizeMathJax{\newcommand{\cos}[1][{}]{\mathrm{cos}^#1}}
- \CustomizeMathJax{\newcommand{\cosh}[1][{}]{\mathrm{cosh}^#1}}
- \CustomizeMathJax{\newcommand{\arccos}[1][{}]{\mathrm{arccos}^#1}}
- \CustomizeMathJax{\newcommand{\acos}[1][{}]{\mathrm{acos}^#1}}
- \CustomizeMathJax{\newcommand{\tan}[1][{}]{\mathrm{tan}^#1}}
- \CustomizeMathJax{\newcommand{\tanh}[1][{}]{\mathrm{tanh}^#1}}
- \CustomizeMathJax{\newcommand{\arctan}[1][{}]{\mathrm{arctan}^#1}}
- \CustomizeMathJax{\newcommand{\atan}[1][{}]{\mathrm{atan}^#1}}
- \CustomizeMathJax{\newcommand{\csc}[1][{}]{\mathrm{csc}^#1}}
- \CustomizeMathJax{\newcommand{\csch}[1][{}]{\mathrm{csch}^#1}}
- \CustomizeMathJax{\newcommand{\arccsc}[1][{}]{\mathrm{arccsc}^#1}}
- \CustomizeMathJax{\newcommand{\acsc}[1][{}]{\mathrm{acsc}^#1}}
- \CustomizeMathJax{\newcommand{\sec}[1][{}]{\mathrm{sec}^#1}}
- \CustomizeMathJax{\newcommand{\sech}[1][{}]{\mathrm{sech}^#1}}
- \CustomizeMathJax{\newcommand{\arcsec}[1][{}]{\mathrm{arcsec}^#1}}
- \CustomizeMathJax{\newcommand{\asec}[1][{}]{\mathrm{asec}^#1}}
- \CustomizeMathJax{\newcommand{\cot}[1][{}]{\mathrm{cot}^#1}}
- \CustomizeMathJax{\newcommand{\coth}[1][{}]{\mathrm{coth}^#1}}
- \CustomizeMathJax{\newcommand{\arccot}[1][{}]{\mathrm{arccot}^#1}}
- \CustomizeMathJax{\newcommand{\acot}[1][{}]{\mathrm{acot}^#1}}
-\else
- \CustomizeMathJax{\DeclareMathOperator{\arccsc}{arccsc}}
- \CustomizeMathJax{\DeclareMathOperator{\arcsec}{arcsec}}
- \CustomizeMathJax{\DeclareMathOperator{\arccot}{arccot}}
- \CustomizeMathJax{\DeclareMathOperator{\asin}{asin}}
- \CustomizeMathJax{\DeclareMathOperator{\acos}{acos}}
- \CustomizeMathJax{\DeclareMathOperator{\atan}{atan}}
- \CustomizeMathJax{\DeclareMathOperator{\acsc}{acsc}}
- \CustomizeMathJax{\DeclareMathOperator{\asec}{asec}}
- \CustomizeMathJax{\DeclareMathOperator{\acot}{acot}}
- \CustomizeMathJax{\DeclareMathOperator{\csch}{csch}}
- \CustomizeMathJax{\DeclareMathOperator{\sech}{sech}}
- \CustomizeMathJax{\newcommand{\tr}{\trace}}
- \CustomizeMathJax{\newcommand{\Tr}{\Trace}}
- \CustomizeMathJax{\newcommand{\Res}{\Residue}}
-\fi
-
-\CustomizeMathJax{\DeclareMathOperator{\trace}{tr}}
-\CustomizeMathJax{\let\tr\trace}
-\CustomizeMathJax{\DeclareMathOperator{\Trace}{Tr}}
-\CustomizeMathJax{\let\Tr\Trace}
-\CustomizeMathJax{\DeclareMathOperator{\rank}{rank}}
-\CustomizeMathJax{\DeclareMathOperator{\erf}{erf}}
-\CustomizeMathJax{\DeclareMathOperator{\Residue}{Res}}
-\CustomizeMathJax{\newcommand{\principalvalue}{\mathcal{P}}}
-\CustomizeMathJax{\let\pv\principalvalue}
-\CustomizeMathJax{\newcommand{\PV}{\text{P.V.}}}
-\CustomizeMathJax{\newcommand{\real}{\mathcal{R}}}
-\CustomizeMathJax{\newcommand{\imaginary}{\mathcal{I}}}
-
-% must be brace arguments
-\CustomizeMathJax{\newcommand{\Re}[1]{\mathrm{Re}\left\lbrace#1\right\rbrace}}
-\CustomizeMathJax{\newcommand{\Im}[1]{\mathrm{Im}\left\lbrace#1\right\rbrace}}
-
-\CustomizeMathJax{\newcommand{\LWRqqtextnostar}[1]{\quad\mathrm{#1}\quad}}
-\CustomizeMathJax{\newcommand{\LWRqqtextstar}[1]{\mathrm{#1}\quad}}
-\CustomizeMathJax{\DeclareIfstar{\qqtext}{\LWRqqtextstar}{\LWRqqtextnostar}}
-\CustomizeMathJax{\let\qq\qqtext}
-
-\CustomizeMathJax{\newcommand{\qqcomma}{\text{,}\quad}}
-\CustomizeMathJax{\let\qc\qqcomma}
-
-% \LWR@physics@qtext{\name}{text}
-\newcommand*{\LWR@physics@qtext}[2]{%
-% nostar:
- \appto\LWR@customizedMathJax{\LWRbackslash(}
- \appto\LWR@customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash{}LWR\macrotocsname{#1}subnostar\}%
- }%
- \appto\LWR@customizedMathJax{\{}%
- \appto\LWR@customizedMathJax{%
- \LWRbackslash{}quad\LWRbackslash{}text\{#2\}\LWRbackslash{}quad%
- }%
- \appto\LWR@customizedMathJax{\}}%
- \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
-% star:
- \appto\LWR@customizedMathJax{\LWRbackslash(}
- \appto\LWR@customizedMathJax{%
- \LWRbackslash{}newcommand\{\LWRbackslash{}LWR\macrotocsname{#1}substar\}%
- }%
- \appto\LWR@customizedMathJax{\{}%
- \appto\LWR@customizedMathJax{\LWRbackslash{}text\{#2\}\LWRbackslash{}quad}%
- \appto\LWR@customizedMathJax{\}}%
- \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
-% user macro:
- \appto\LWR@customizedMathJax{\LWRbackslash(}
- \appto\LWR@customizedMathJax{%
- \LWRbackslash{}DeclareIfstar\{\LWRbackslash\macrotocsname{#1}\}%
- }%
- \appto\LWR@customizedMathJax{\{}%
- \appto\LWR@customizedMathJax{\LWRbackslash{}LWR\macrotocsname{#1}substar\}}%
- \appto\LWR@customizedMathJax{\LWRbackslash{}LWR\macrotocsname{#1}subnostar\}}%
- \appto\LWR@customizedMathJax{\LWRbackslash)\par}%
-}
-
-\LWR@physics@qtext{\qcc}{c.c.}
-\LWR@physics@qtext{\qif}{if}
-\LWR@physics@qtext{\qthen}{then}
-\LWR@physics@qtext{\qelse}{else}
-\LWR@physics@qtext{\qotherwise}{otherwise}
-\LWR@physics@qtext{\qunless}{unless}
-\LWR@physics@qtext{\qgiven}{given}
-\LWR@physics@qtext{\qusing}{using}
-\LWR@physics@qtext{\qassume}{assume}
-\LWR@physics@qtext{\qsince}{since}
-\LWR@physics@qtext{\qlet}{let}
-\LWR@physics@qtext{\qfor}{for}
-\LWR@physics@qtext{\qall}{all}
-\LWR@physics@qtext{\qeven}{even}
-\LWR@physics@qtext{\qodd}{odd}
-\LWR@physics@qtext{\qinteger}{integer}
-\LWR@physics@qtext{\qand}{and}
-\LWR@physics@qtext{\qor}{or}
-\LWR@physics@qtext{\qas}{as}
-\LWR@physics@qtext{\qin}{in}
-
-
-\CustomizeMathJax{\newcommand{\differential}[1][]{\text{d}^{#1}}}
-\CustomizeMathJax{\let\dd\differential}
-
-
-\CustomizeMathJax{\newcommand{\LWRderivativenostar}[3][]{%
- \frac{\text{d}^{#1}#2}{\text{d}#3^{#1}}}%
-}
-\CustomizeMathJax{\newcommand{\LWRderivativestar}[3][]{%
- {\text{d}^{#1}#2}/{\text{d}#3^{#1}}}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\derivative}{\LWRderivativestar}{\LWRderivativenostar}%
-}
-
-\CustomizeMathJax{\let\dv\derivative}
-
-
-\CustomizeMathJax{\newcommand{\LWRpartialderivativenostar}[3][]{%
- \frac{\partial^{#1}#2}{\partial#3^{#1}}}%
-}
-\CustomizeMathJax{\newcommand{\LWRpartialderivativestar}[3][]{%
- {\partial^{#1}#2}/{\partial#3^{#1}}}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\partialderivative}%
- {\LWRpartialderivativestar}{\LWRpartialderivativenostar}
-}
-
-\CustomizeMathJax{\let\pderivative\partialderivative}
-\CustomizeMathJax{\let\pdv\partialderivative}
-
-
-\CustomizeMathJax{\newcommand{\variation}{\delta}}
-\CustomizeMathJax{\let\var\variation}
-
-% Must provide two mandatory args.
-% For the example in the manual with (E-TS), enclose the parens in braces
-\CustomizeMathJax{\newcommand{\LWRfunctionalderivativenostar}[3][]{%
- \frac{\delta^{#1}#2}{\delta#3^{#1}}}%
-}
-\CustomizeMathJax{\newcommand{\LWRfunctionalderivativestar}[3][]{%
- {\delta^{#1}#2}/{\delta#3^{#1}}}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\functionalderivative}
- {\LWRfunctionalderivativestar}{\LWRfunctionalderivativenostar}
-}
-\CustomizeMathJax{\let\fdv\functionalderivative}
-
-
-% use \braket to contract
-\CustomizeMathJax{\newcommand{\LWRbranostar}[1]{\left\langle{#1}\right\rvert}}
-\CustomizeMathJax{\newcommand{\LWRbrastar}[1]{\langle{#1}\rvert}}
-\CustomizeMathJax{\DeclareIfstar{\bra}{\LWRbrastar}{\LWRbranostar}}
-
-\CustomizeMathJax{\newcommand{\LWRketnostar}[1]{\left\lvert{#1}\right\rangle}}
-\CustomizeMathJax{\newcommand{\LWRketstar}[1]{\lvert{#1}\rangle}}
-\CustomizeMathJax{\DeclareIfstar{\ket}{\LWRketstar}{\LWRketnostar}}
-
-% must have two args
-\CustomizeMathJax{\newcommand{\LWRinnerproductnostar}[2]{%
- \left\langle{#1}\middle\vert{#2}\right\rangle}%
-}
-\CustomizeMathJax{\newcommand{\LWRinnerproductstar}[2]{%
- \langle{#1}\vert{#2}\rangle}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\innerproduct}
- {\LWRinnerproductstar}{\LWRinnerproductnostar}
-}
-
-\CustomizeMathJax{\let\braket\innerproduct}
-\CustomizeMathJax{\let\ip\innerproduct}
-
-
-% must have two args
-\CustomizeMathJax{\newcommand{\LWRouterproductnostar}[2]{%
- \left\lvert{#1}\middle\rangle\!\middle\langle#2\right\rvert}%
-}
-\CustomizeMathJax{\newcommand{\LWRouterproductstar}[2]{%
- \lvert{#1}\rangle\!\langle#2\rvert}%
-}
-\CustomizeMathJax{%
- \DeclareIfstar{\outerproduct}
- {\LWRouterproductstar}{\LWRouterproductnostar}
-}
-
-\CustomizeMathJax{\let\dyad\outerproduct}
-\CustomizeMathJax{\let\op\outerproduct}
-
-
-% must have two args, unlike the MathJax version
-\CustomizeMathJax{%
- \newcommand{\LWRexpectationvaluenostar}[2]{%
- \vphantom{#1}%
- \left\langle{#2}\middle\vert\smash{#1}\middle\vert{#2}%
- \right\rangle%
- }%
-}
-\CustomizeMathJax{%
- \newcommand{\LWRexpectationvaluestar}[2]{%
- \vphantom{#1#2}%
- \left\langle\smash{#2}%
- \middle\vert\smash{#1}\middle\vert\smash{#2}%
- \right\rangle%
- }%
-}
-\CustomizeMathJax{%
- \newcommand{\LWRexpectationvaluedoublestar}[2]{%
- \left\langle{#2}\middle\vert{#1}\middle\vert{#2}\right\rangle%
- }%
-}
-\CustomizeMathJax{% second star
- \DeclareIfstar{\LWRsubexpectationvalue}
- {\LWRexpectationvaluedoublestar}{\LWRexpectationvaluestar}
-}
-\CustomizeMathJax{% first star
- \DeclareIfstar{\expectationvalue}
- {\LWRsubexpectationvalue}{\LWRexpectationvaluenostar}
-}
-
-\CustomizeMathJax{\let\expval\expectationvalue}
-\CustomizeMathJax{\let\ev\expectationvalue}
-
-
-\CustomizeMathJax{%
- \newcommand{\LWRmatrixelementnostar}[3]{%
- \vphantom{#2}\left\langle{#1}\middle\vert\smash{#2}\middle\vert{#3}\right\rangle%
- }%
-}
-\CustomizeMathJax{%
- \newcommand{\LWRmatrixelementstar}[3]{%
- \vphantom{#1#2#3}%
- \left\langle\smash{#1}%
- \middle\vert\smash{#2}\middle\vert\smash{#3}%
- \right\rangle%
- }%
-}
-\CustomizeMathJax{%
- \newcommand{\LWRmatrixelementdoublestar}[3]{%
- \left\langle{#1}\middle\vert{#2}\middle\vert{#3}\right\rangle%
- }%
-}
-\CustomizeMathJax{% second star
- \DeclareIfstar{\LWRsubmatrixelement}
- {\LWRmatrixelementdoublestar}{\LWRmatrixelementstar}
-}
-
-\CustomizeMathJax{% first star
- \DeclareIfstar{\matrixelement}
- {\LWRsubmatrixelement}{\LWRmatrixelementnostar}
-}
-
-\CustomizeMathJax{\let\mel\matrixelement}
-
-
-\CustomizeMathJax{\newcommand{\matrixquantity}[1]{\begin{matrix}#1\end{matrix}}}
-\CustomizeMathJax{\let\mqty\matrixquantity}
-
-
-\CustomizeMathJax{\newcommand{\pmqty}[1]{\begin{pmatrix}#1\end{pmatrix}}}
-\CustomizeMathJax{\newcommand{\Pmqty}[1]{%
- \left\lgroup\begin{matrix}#1\end{matrix}\right\rgroup}%
-}
-\CustomizeMathJax{\newcommand{\bmqty}[1]{\begin{bmatrix}#1\end{bmatrix}}}
-\CustomizeMathJax{\newcommand{\vmqty}[1]{\begin{vmatrix}#1\end{vmatrix}}}
-
-\CustomizeMathJax{\newcommand{\smallmatrixquantity}[1]{%
- \begin{smallmatrix}#1\end{smallmatrix}}%
-}
-\CustomizeMathJax{\let\smqty\smallmatrixquantity}
-\CustomizeMathJax{\newcommand{\spmqty}[1]{%
- \pqty{\begin{smallmatrix}#1\end{smallmatrix}}}%
-}
-\CustomizeMathJax{\newcommand{\sPmqty}[1]{%
- \left\lgroup\begin{smallmatrix}#1\end{smallmatrix}\right\rgroup}%
-}
-\CustomizeMathJax{\newcommand{\sbmqty}[1]{%
- \bqty{\begin{smallmatrix}#1\end{smallmatrix}}}%
-}
-\CustomizeMathJax{\newcommand{\svmqty}[1]{%
- \vqty{\begin{smallmatrix}#1\end{smallmatrix}}}%
-}
-
-\CustomizeMathJax{\let\matrixdeterminant\vmqty}
-\CustomizeMathJax{\let\mdet\vmqty}
-\CustomizeMathJax{\let\smdet\svmqty}
-
-\CustomizeMathJax{\newcommand{\identitymatrix}[1]{(\text{imat}\{#1\})}}
-\CustomizeMathJax{\let\imat\identitymatrix}
-
-\CustomizeMathJax{\newcommand{\LWRxmatrix}[3]{(\text{xmat}\{\}\{#2\}\{#3\})}}
-\CustomizeMathJax{\DeclareIfstar{\xmatrix}{\LWRxmatrix}{\LWRxmatrix}}
-\CustomizeMathJax{\let\xmat\xmatrix}
-
-\CustomizeMathJax{\newcommand{\zeromatrix}[2]{(\text{zmat}\{#1\}\{#2\})}}
-\CustomizeMathJax{\let\zmat\zeromatrix}
-
-\CustomizeMathJax{\newcommand{\paulimatrix}[1]{(\text{pmat}\{#1\})}}
-\CustomizeMathJax{\let\pmat\paulimatrix}
-
-\CustomizeMathJax{\newcommand{\diagonalmatrix}[2][]{%
- \left(\text{dmat}\right)}%
-}
-\CustomizeMathJax{\let\dmat\diagonalmatrix}
-
-\CustomizeMathJax{\newcommand{\antidiagonalmatrix}[2][]{%
- \left(\text{admat}\right)}%
-}
-\CustomizeMathJax{\let\admat\antidiagonalmatrix}
+\PackageWarningNoLine{lwarp, physics}{The MathJax v3 extension will be used}
+\CustomizeMathJax{\require{physics}}
\end{warpMathJax}
% \end{macrocode}
%
@@ -70271,6 +70047,68 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \iffalse
+%<*splitbib>
+% \fi
+%
+% \part{lwarp-splitbib.sty}
+%
+% \section{splitbib}
+%
+% \credits{Nicolas Markey}
+%
+% \DescribePackage{splitbib}
+% \pkg{splitbib} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.87}{2020/05/17}{\pkg{splitbib}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{splitbib}[2005/12/22]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\NMSB@stylebox#1#2{%
+\begin{BlockClass}[text-align:center ; border: 1px solid black]{splitbibbox}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB@stylebar#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+ border-top: 1px solid black ;
+ border-bottom: 1px solid black ;
+]{splitbibbar}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\end{BlockClass}
+}
+
+\def\NMSB@styledash#1#2{%
+\begin{BlockClass}[%
+ text-align:center ;
+]{splitbibdash}
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{---~#1#2~---}}
+\end{BlockClass}
+}
+
+\def\NMSB@stylenone#1#2{%
+ \par
+}
+
+\def\NMSB@stylesimple#1#2{%
+\par
+ \csname SB\NMSB@level font\endcsname{\LWR@textcurrentfont{#1#2}}
+\par
+}
+% \end{macrocode}
+%
+% \iffalse
+%</splitbib>
+% \fi
+%
+%
%
% \iffalse
%<*splitidx>
@@ -70688,6 +70526,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{sourceverb}
%
% \changes{v0.81}{2020/02/28}{\pkg{statex2}: Added.}
+% \changes{v0.87}{2020/05/31}{\pkg{statex2}: \cs{pBin} exponent.}
%
% \codehtml
%
@@ -70804,7 +70643,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\I[#1]{\{0, 1,\., #2\}}, \where #3>0,\; #4>0 \and n=1, 2,\.}%
}}
\CustomizeMathJax{\newcommand{\pBin}[3][x]{%
- \mb{\binom{#2}{#1}#3^#1} \LWRwrapparen{\mb{{1-#3}^{#2-#1}}}%
+ \mb{\binom{#2}{#1}#3^{#1}} \LWRwrapparen{\mb{{1-#3}^{#2-#1}}}%
\mb{\I[#1]{\{0,1,\.,#2\}}, \where p \in (0, 1) \and n=1, 2,\.}%
}}
\CustomizeMathJax{\newcommand{\pPoi}[2][x]{%
@@ -77097,7 +76936,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \subsection{\cs{normalcolor}}
%
% \begin{macro}{\normalcolor}
-% \changes{v0.75}{2019/09/12}{Added for \HTML.}
+% \changes{v0.75}{2019/09/12}{\pkg{xcolor}: Added for \HTML.}
% \begin{macrocode}
\DeclareRobustCommand{\LWR@HTML@normalcolor}{\color{black}}%
@@ -77153,7 +76992,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \begin{noindmacro}{\LWR@colorstyle} \marg{2: model} \marg{3: color}
%
-% \changes{v0.19}{2016/06/01}{Supports colored \cs{rule}.}
+% \changes{v0.19}{2016/06/01}{\pkg{xcolor}: Supports colored \cs{rule}.}
% \changes{v0.36}{2017/08/11}{\pkg{xcolor}: Refactored \cs{LWR@colorstyle}.}
%
% For a color style, prints the color converted to \HTML\ colors.
@@ -77182,7 +77021,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% Similar to \cs{textcolor}, but prints black text against a color background.
%
% Converted into an \HTML\ hex color span.
-% \changes{v0.44}{2017/11/10}{Added.}
+% \changes{v0.44}{2017/11/10}{\pkg{xcolor}: Added \cs{LWR@backgroundcolor}.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@backgroundcolor}{O{named} m m}{%
\begingroup%
@@ -77223,7 +77062,7 @@ padding:\LWR@printlength{\fboxsep}%
% the lack of \HTML\ states and scoping limitations.
% Use \cs{textcolor} if possible.
%
-% \changes{v0.73}{2019/06/14}{Added \HTML\ support.}
+% \changes{v0.73}{2019/06/14}{\pkg{xcolor}: Added \HTML\ support.}
% \begin{macrocode}
\NewDocumentCommand{\LWR@HTML@color}{o m}{%
\IfValueTF{#1}{%
@@ -77322,7 +77161,7 @@ padding:\LWR@printlength{\fboxsep}%
\begingroup%
\LWR@FBcancel%
% \end{macrocode}
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\LWR@stoppars%
% \end{macrocode}
@@ -77337,7 +77176,7 @@ padding:\LWR@printlength{\fboxsep}%
% \end{macrocode}
% Prevent paragraph tags around horizontal white space
% until the start of the next paragraph:
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\global\booltrue{LWR@minipagethispar}%
}
@@ -77399,7 +77238,7 @@ padding:\LWR@printlength{\fboxsep}%
\LWR@FBcancel%
\LWR@forceminwidth{\fboxrule}%
% \end{macrocode}
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\LWR@stoppars%
% \end{macrocode}
@@ -77425,7 +77264,7 @@ padding:\LWR@printlength{\fboxsep}%
% \end{macrocode}
% Prevent paragraph tags around horizontal white space
% until the start of the next paragraph:
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\global\booltrue{LWR@minipagethispar}%
\LWR@traceinfo{HTML fcolorboxBlock done}%
@@ -77443,14 +77282,14 @@ padding:\LWR@printlength{\fboxsep}%
%
% A print-output version is defined in the \pkg{lwarp} core: \cref{sec:xcolorpatches}
%
-% \changes{v0.34}{2017/07/31}{Added.}
+% \changes{v0.34}{2017/07/31}{\pkg{xcolor}: Added \cs{LWR@subfcolorminipage}.}
%
% \begin{noindmacro}{\LWR@subfcolorminipage}
% \marg{framemodel} \marg{framecolor} \marg{background tag} \marg{height}
% \begin{macrocode}
\NewDocumentCommand{\LWR@subfcolorminipage}{m m m m}{%
% \end{macrocode}
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\LWR@stoppars%
% \end{macrocode}
@@ -77492,7 +77331,7 @@ width:\LWR@printlength{\LWR@tempwidth}%
% \end{macrocode}
% Prevent paragraph tags around horizontal white space
% until the start of the next paragraph:
-% \changes{v0.62}{2018/11/11}{Fix: Horiz white space.}
+% \changes{v0.62}{2018/11/11}{\pkg{xcolor}: Fix: Horiz white space.}
% \begin{macrocode}
\global\booltrue{LWR@minipagethispar}%
}
diff --git a/macros/latex/contrib/lwarp/lwarp.ins b/macros/latex/contrib/lwarp/lwarp.ins
index eded7a542a..6df4f6965c 100644
--- a/macros/latex/contrib/lwarp/lwarp.ins
+++ b/macros/latex/contrib/lwarp/lwarp.ins
@@ -113,6 +113,7 @@ version 2005/12/01 or later.
\file{lwarp-chkfloat.sty}{\from{lwarp.dtx}{chkfloat}}
\file{lwarp-chngpage.sty}{\from{lwarp.dtx}{chngpage}}
\file{lwarp-cite.sty}{\from{lwarp.dtx}{cite}}
+\file{lwarp-citeref.sty}{\from{lwarp.dtx}{citeref}}
\file{lwarp-CJK.sty}{\from{lwarp.dtx}{CJK}}
\file{lwarp-CJKutf8.sty}{\from{lwarp.dtx}{CJKutf8}}
\file{lwarp-clrdblpg.sty}{\from{lwarp.dtx}{clrdblpg}}
@@ -138,6 +139,7 @@ version 2005/12/01 or later.
\file{lwarp-draftcopy.sty}{\from{lwarp.dtx}{draftcopy}}
\file{lwarp-draftfigure.sty}{\from{lwarp.dtx}{draftfigure}}
\file{lwarp-draftwatermark.sty}{\from{lwarp.dtx}{draftwatermark}}
+\file{lwarp-drftcite.sty}{\from{lwarp.dtx}{drftcite}}
\file{lwarp-easy-todo.sty}{\from{lwarp.dtx}{easy-todo}}
\file{lwarp-ebook.sty}{\from{lwarp.dtx}{ebook}}
\file{lwarp-econometrics.sty}{\from{lwarp.dtx}{econometrics}}
@@ -188,6 +190,7 @@ version 2005/12/01 or later.
\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-fnpara.sty}{\from{lwarp.dtx}{fnpara}}
\file{lwarp-fnpos.sty}{\from{lwarp.dtx}{fnpos}}
\file{lwarp-fontawesome.sty}{\from{lwarp.dtx}{fontawesome}}
\file{lwarp-fontawesome5.sty}{\from{lwarp.dtx}{fontawesome5}}
@@ -238,6 +241,7 @@ version 2005/12/01 or later.
\file{lwarp-index.sty}{\from{lwarp.dtx}{index}}
\file{lwarp-inputtrc.sty}{\from{lwarp.dtx}{inputtrc}}
\file{lwarp-intopdf.sty}{\from{lwarp.dtx}{intopdf}}
+\file{lwarp-jurabib.sty}{\from{lwarp.dtx}{jurabib}}
\file{lwarp-karnaugh-map.sty}{\from{lwarp.dtx}{karnaugh-map}}
\file{lwarp-keyfloat.sty}{\from{lwarp.dtx}{keyfloat}}
\file{lwarp-layaureo.sty}{\from{lwarp.dtx}{layaureo}}
@@ -294,6 +298,7 @@ version 2005/12/01 or later.
\file{lwarp-moreverb.sty}{\from{lwarp.dtx}{moreverb}}
\file{lwarp-movie15.sty}{\from{lwarp.dtx}{movie15}}
\file{lwarp-mparhack.sty}{\from{lwarp.dtx}{mparhack}}
+\file{lwarp-multibib.sty}{\from{lwarp.dtx}{multibib}}
\file{lwarp-multicap.sty}{\from{lwarp.dtx}{multicap}}
\file{lwarp-multicol.sty}{\from{lwarp.dtx}{multicol}}
\file{lwarp-multicolrule.sty}{\from{lwarp.dtx}{multicolrule}}
@@ -417,6 +422,7 @@ version 2005/12/01 or later.
\file{lwarp-soul.sty}{\from{lwarp.dtx}{soul}}
\file{lwarp-soulpos.sty}{\from{lwarp.dtx}{soulpos}}
\file{lwarp-soulutf8.sty}{\from{lwarp.dtx}{soulutf8}}
+\file{lwarp-splitbib.sty}{\from{lwarp.dtx}{splitbib}}
\file{lwarp-splitidx.sty}{\from{lwarp.dtx}{splitidx}}
\file{lwarp-srcltx.sty}{\from{lwarp.dtx}{srcltx}}
\file{lwarp-srctex.sty}{\from{lwarp.dtx}{srctex}}
diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf
index eb7f89a220..cd48fd49ee 100644
--- a/macros/latex/contrib/lwarp/lwarp.pdf
+++ b/macros/latex/contrib/lwarp/lwarp.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua
index d68a28e32e..ff6824e14d 100755
--- a/macros/latex/contrib/lwarp/lwarpmk.lua
+++ b/macros/latex/contrib/lwarp/lwarpmk.lua
@@ -2,7 +2,7 @@
-- Copyright 2016-2020 Brian Dunn
-printversion = "v0.86"
+printversion = "v0.87"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()