diff options
author | Karl Berry <karl@freefriends.org> | 2020-06-03 21:24:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-06-03 21:24:42 +0000 |
commit | 27b8d6a6263cb4e808d7f6ad452462f9f455e97c (patch) | |
tree | ed8ce72064ce8bd42d55387140be716ba3782d3d /Master/texmf-dist/source/latex/lwarp | |
parent | a739904a392a0337ec9e477111454389a0752058 (diff) |
lwarp (3jun20)
git-svn-id: svn://tug.org/texlive/trunk@55405 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/lwarp')
-rw-r--r-- | Master/texmf-dist/source/latex/lwarp/lwarp.dtx | 1381 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/lwarp/lwarp.ins | 6 |
2 files changed, 616 insertions, 771 deletions
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx index 8139da0040e..bbfd42a9fc3 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx +++ b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx @@ -16,7 +16,7 @@ % \iffalse %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{lwarp} -%<package> [2020/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/Master/texmf-dist/source/latex/lwarp/lwarp.ins b/Master/texmf-dist/source/latex/lwarp/lwarp.ins index eded7a542a4..6df4f6965c0 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.ins +++ b/Master/texmf-dist/source/latex/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}} |