diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/lwarp/lwarp.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/lwarp/lwarp.dtx | 2962 |
1 files changed, 2567 insertions, 395 deletions
diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx index 5e2df6201ef..de330000f39 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/07/19 v0.88 Allows LaTeX to directly produce HTML5 output.] +%<package> [2020/09/03 v0.89 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -2682,7 +2682,7 @@ are not working. These counters must be set separately after the package has been loaded. In the document source, use \cs{hfill} and \cs{hspace*} -\trouble{horizontal spacing}{subfig>inline} +\trouble[horizontal spacing]{subfig=\pkg{subfig}>inline} between subfigures to spread them apart horizontally. The use of other forms of whitespace may cause paragraph tags to be generated, resulting in subfigures @@ -2926,19 +2926,6 @@ place the following before \pkg{lwarp} is loaded: \end{sourcedisplay} } -\newcommand{\limitsnewtxmath}{% -The proper load order is: -\trouble[loading sequence]{newtxmath=\pkg{newtxmath}} -\begin{sourcedisplay} -\textrm{\dots} \\ -\cs{usepackage}\{lwarp\} \\ -\textrm{\dots} \\ -\cs{usepackage}\{amsthm\} \\ -\cs{usepackage}\{newtxmath\} \\ -\textrm{\dots} \\ -\end{sourcedisplay} -} - % For use in the documentation update section: \newcommand*{\newlwarpmkconf}{ @@ -3018,7 +3005,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{44695} +% \CheckSum{47034} % % \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 @@ -3149,6 +3136,7 @@ This boolean may be tested by the user for later use. % \changes{v0.86}{2020/05/12}{\ 2020/05/12} % \changes{v0.87}{2020/06/03}{\ 2020/06/03} % \changes{v0.88}{2020/07/19}{\ 2020/07/19} +% \changes{v0.89}{2020/09/03}{\ 2020/09/03} @@ -3181,8 +3169,9 @@ This boolean may be tested by the user for later use. % The \pkg{lwarp} package converts \LaTeX\ to \HTML\ by using \LaTeX\ to process the % user's document and directly generate \HTML\ tags. External utility programs are only % used for the final conversion of text and images. Math may be represented -% by \SVG\ images or \brand{MathJax}. Hundreds of \LaTeX\ packages are supported, -% including dozens with \brand{MathJax} emulation. +% by \SVG\ images or \brand{MathJax}. +% More than 500 \LaTeX\ packages and classes are supported, +% of which more than 60 also support \brand{MathJax}. % % Documents may be produced by \DVI\ or \PDF\ \LaTeX, Lua\LaTeX, \XeLaTeX; % by several CJK engines, classes, and packages; @@ -3371,6 +3360,29 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} +% \item[v0.89:] Additional \brand{MathJax} support. +% \begin{itemize} +% \item Adapted to upcoming \LaTeX\ kernel changes. +% \margintag{core} +% \item Allows load of \pkg{amsmath} before \pkg{lwarp}. +% \item Also removes \filenm{*.bbl} when cleaning aux files.\margintag{\prog{lwarpmk}} +% \item \brand{MathJax}: Neutralized \cs{protect}, \cs{mathcode} and related, +% \margintag{\brand{MathJax}} +% ligatures. Fixed nested environments. +% \item \pkg{caption}: Updated for v3.5, fix for label sep. +% \margintag{packages} +% \item \pkg{thmtools}: Updated for v0.72. Fixed \optn{swapnumber}, \optn{margin}. +% \item Improved \brand{MathJax} for \pkg{centernot}, \pkg{mathtools}, +% \pkg{mismath}, \pkg{SIunits}, \pkg{siunitx}, \pkg{statmath}. +% \item Added \brand{MathJax} emulation for \pkg{accents}, \pkg{hepunits}, +% \pkg{hhtensor}, \pkg{mathalpha}, \pkg{mathdesign}, +% \pkg{mathpazo}, \pkg{mathptmx}, +% \pkg{mleftright}, \pkg{newpxmath}, \pkg{newtxmath}, \pkg{newtxsf}, +% \pkg{pxfonts}, \pkg{shuffle}, \pkg{txfonts}, +% \pkg{upgreek}, \pkg{ushort}. +% \item Verified to work as-is: \pkg{authoraftertitle}. +% \end{itemize} +% \needspace{2\baselineskip} % \item[v0.88:] Indexing, boxing, theorems. % \begin{itemize} % \item \textgreen{Now has programmed support for more than 500 packages and classes, @@ -5412,7 +5424,8 @@ This boolean may be tested by the user for later use. % \ipkg{tocbasic}, \mpkg{tocbibind}, \mpkg{tocdata}, % \ipkg{tocloft}, \ipkg{tocstyle}, \spkg{tocvsec2}. \\ % -% Title page: & \cs{maketitle}, \env{titlepage}, \mpkg{authblk}, \mpkg{titling}. \\ +% Title page: & \cs{maketitle}, \env{titlepage}, \mpkg{authblk}, +% \spkg{authoraftertitle}, \mpkg{titling}. \\ % % Front \&\ back matter: & \mpkg{abstract}, \mpkg{appendix}. \\ % @@ -5440,7 +5453,7 @@ This boolean may be tested by the user for later use. % \ipkg{bookmark}, \epkg{breakurl}, \spkg{cleveref}, \mpkg{fancyref}, % \ipkg{hypdestopt}, \epkg{hyperref}, \epkg{perpage}, \mpkg{prettyref}, % \epkg{titleref}, \mpkg{url}, \mpkg{varioref}, \spkg{xcite}, -% \mpkg{xr}, \mpkg{xr-hyper}, \ipkg{xurl}. \\ +% \mpkg{xr}, \mpkg{xr-hyper}, \ipkg{xurl}, \spkg{zref}. \\ % % \midrule % @@ -5473,22 +5486,26 @@ This boolean may be tested by the user for later use. % \mpkg{theorem}, \mpkg{thmbox}, \mpkg{thmtools}. \\ % % Additional math: & Math fonts via \SVG\ images, -% \spkg{amscd}, \spkg{autobreak}\ejax, \ipkg{autonum}, +% \spkg{accents}\ejax, \spkg{amscd}, \spkg{autobreak}\ejax, \ipkg{autonum}, % \mpkg{backnaur}, \mpkg{bm}\ejax, \spkg{braket}\ejax, % \mpkg{breqn}, \mpkg{cases}, \spkg{centernot}\ejax, \spkg{colonequals}\ejax, % \spkg{decimal}\ejax, % \spkg{delarray}, \mpkg{DotArrow}\ejax, \spkg{dotlessi}\ejax, \spkg{dotlessj}\sjax, % \spkg{extarrows}\ejax, \spkg{fouridx}\ejax, -% \spkg{guass}, \spkg{icomma}\ijax, \spkg{jkmath}, -% \spkg{leftidx}\ejax, \spkg{mathcomp}\ejax, \spkg{mathdots}\ejax, +% \spkg{guass}, \spkg{hhtensor}\ejax, \spkg{icomma}\ijax, \spkg{jkmath}, +% \spkg{leftidx}\ejax, \spkg{mathalpha}\ejax, +% \spkg{mathcomp}\ejax, \spkg{mathdesign}\ejax, +% \spkg{mathdots}\ejax, % \spkg{mathfixs}\ejax, \spkg{mathpunctspace}\ijax, -% \spkg{mathspec}, \mpkg{mathtools}\ejax, \mpkg{mismath}\ejax, +% \spkg{mathspec}, \mpkg{mathtools}\ejax, \mpkg{mismath}\ejax, \spkg{mleftright}\ejax, % \spkg{multiobjective}\ejax, \mpkg{nccmath}\ejax, -% \spkg{nicematrix}, \spkg{noitcrul}\ejax, \spkg{pb-diagram}, -% \ipkg{resizegather}, \spkg{rmathbr}\ejax, \spkg{stackrel}\ejax, +% \spkg{nicematrix}, \spkg{noitcrul}\ejax, +% \spkg{newpxmath}\ejax, \spkg{newtxmath}\ejax, \spkg{newtxsf}\ejax, +% \spkg{pb-diagram}, +% \ipkg{resizegather}, \spkg{rmathbr}\ejax, \epkg{shuffle}\ejax, \spkg{stackrel}\ejax, % \mpkg{statex2}\ejax, \spkg{statmath}\ejax, % \spkg{subsupscripts}\ejax, \spkg{textualicomma}\ijax, -% \spkg{unicode-math}\ejax, \mpkg{witharrows}\ejax, +% \spkg{unicode-math}\ejax, \spkg{ushort}\ejax, \mpkg{witharrows}\ejax, % \mpkg{xfakebold}\ejax, \mpkg{xy}. % Many others work as-is. \\ % @@ -5631,9 +5648,12 @@ This boolean may be tested by the user for later use. % \mpkg{chemgreek}, \mpkg{dingbat}, \spkg{euro}, \mpkg{eurosym}, % \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}. +% \spkg{mathcomp}\ejax, \spkg{mathpazo}\ejax, \spkg{mathptmx}\ejax, +% \mpkg{metalogo}, \mpkg{metalogox}, +% \mpkg{pifont}, \spkg{pxfonts}\ejax, \spkg{textalpha}, +% \mpkg{textcomp}, \spkg{textgreek}, \spkg{txfonts}\ejax, +% \mpkg{typicons}, \spkg{upgreek}\ejax, +% \mpkg{xunicode}. % \\ % % \midrule @@ -5653,7 +5673,8 @@ This boolean may be tested by the user for later use. % \mpkg{chemmacros}, \mpkg{chemnum}, % \spkg{circuitikz}, \spkg{econometrics}\ejax, \spkg{elements}, % \mpkg{engtlc}\ejax, \spkg{fast-diagram}, \mpkg{ghsystem}, -% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{karnaughmap}, \mpkg{karnaugh-map}, +% \spkg{hepnicenames}, \spkg{heppennames}, \spkg{hepunits}\ejax, +% \spkg{karnaughmap}, \mpkg{karnaugh-map}, % \mpkg{listings}, \spkg{listingsutf8}, \spkg{linop}, \mpkg{mhchem}\sjax, \spkg{pgfgantt}, % \mpkg{phfqit}, \spkg{physics}\sjax, \spkg{physunits}\ejax, \spkg{qcircuit}, % \mpkg{register}, \spkg{simpler-wick}, @@ -7312,10 +7333,9 @@ This boolean may be tested by the user for later use. % ^^A \gindex{ligatures}\gindex{font>ligatures} % \end{enumerate} % \end{itemize} -% \item |\usepackage{lwarp}| (\cref{sec:loading}) is placed after any of the above, followed by: % \item |\usepackage{newtxmath}| or other math-related font packages. -% Many of these load \pkg{amsmath}, which must be loaded after \pkg{lwarp}, -% so they must also be loaded after \pkg{lwarp}. +% Many of these load \pkg{amsmath}, which may now be loaded before \pkg{lwarp}. +% \item |\usepackage{lwarp}| (\cref{sec:loading}) is placed after any of the above, followed by: % \item |\setmonofont{TeX Gyre Cursor}| or similar may be required if using % \trouble[\pkg{fontspec} with monospaced fonts]{font>monospace} % \trouble{font>ligatures} @@ -10175,12 +10195,6 @@ This boolean may be tested by the user for later use. % % % -% \subsubsection{\pkg{newtxmath} package} -% -% \DescribePackage{newtxmath} -% \limitsnewtxmath -% -% % \subsection{Graphics} % \label{sec:limitsgraphics} % @@ -11757,6 +11771,12 @@ This boolean may be tested by the user for later use. % \end{sourcedisplay} % \trouble{Label(s) may have changed} % +% \item [``Temporary page! LaTeX was unable to guess the total +% number of pages \dots'':] \ +% Harmless. Recompile the document one more time. +% \trouble{Temporary page \dots unable to guess \dots} +% \trouble{LaTeX was unable to guess the total\dots} +% % \item [``Leaders not followed by proper glue'':] ~ \\ % This can be caused by % a missing |l@<floattype>| or |l@<sectiontype>| definition. @@ -12629,6 +12649,7 @@ This boolean may be tested by the user for later use. % \changes{v0.45}{2017/12/03}{Allows \pkg{memoir}'s preloaded packages.} % \changes{v0.58}{2018/06/21}{Fix: \pkg{memoir} and \pkg{ccaption}.} % \changes{v0.82}{2020/03/17}{\pkg{syntonly}: Added to \cs{LWR@loadafter}.} +% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.} % % The following packages must be loaded after \pkg{lwarp}: % ^^A *loadafter @@ -12640,6 +12661,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{a5comb} \LWR@notmemoirloadafter{abstract} \LWR@loadafter{academicons} +\LWR@loadafter{accents} \LWR@loadafter{accessibility} \LWR@loadafter{accsupp} \LWR@loadafter{acro} @@ -12650,8 +12672,8 @@ This boolean may be tested by the user for later use. \LWR@loadafter{algorithm2e} \LWR@loadafter{algorithmicx} \LWR@loadafter{alltt} -\LWR@loadafter{amsmath} -\LWR@loadafter{amsthm} +% \LWR@loadafter{amsmath}% may be preloaded +% \LWR@loadafter{amsthm}% may be preloaded \LWR@loadafter{anonchap} \LWR@loadafter{anysize} \LWR@notmemoirloadafter{appendix} @@ -12660,10 +12682,11 @@ This boolean may be tested by the user for later use. \LWR@notmemoirloadafter{array} \LWR@loadafter{arydshln} \LWR@loadafter{asymptote} -% \LWR@loadafter{atbegshi}% used by morewrites +% \LWR@loadafter{atbegshi}% now in LaTeX core, also used by morewrites \LWR@loadafter{attachfile} \LWR@loadafter{attachfile2} \LWR@loadafter{authblk} +\LWR@loadafter{authoraftertitle}% Supported as-is, but must be loaded after. \LWR@loadafter{autobreak} \LWR@loadafter{autonum} \LWR@loadafter{awesomebox} @@ -12696,10 +12719,11 @@ This boolean may be tested by the user for later use. \LWR@loadafter{canoniclayout} \LWR@loadafter{caption} \LWR@loadafter{caption2} +\LWR@loadafter{caption3} \LWR@loadafter{cases} % catoptions is supported by the lwarp core % \LWR@loadafter{ccaption}% may be preloaded by memoir -\LWR@loadafter{centernot} +% \LWR@loadafter{centernot}% may be preloaded by newtx \LWR@loadafter{changebar} \LWR@loadafter{changelayout} \LWR@notmemoirloadafter{changepage} @@ -12764,7 +12788,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{etoc} \LWR@loadafter{eurosym} \LWR@loadafter{everypage} -\LWR@loadafter{everyshi} +% \LWR@loadafter{everyshi}% now in LaTeX core \LWR@loadafter{extarrows} \LWR@loadafter{extramarks} \LWR@loadafter{fancybox} @@ -12830,7 +12854,9 @@ This boolean may be tested by the user for later use. \LWR@loadafter{gridset} \LWR@loadafter{hang} \LWR@loadafter{hanging} +\LWR@loadafter{hepunits} \LWR@loadafter{hhline} +\LWR@loadafter{hhtensor} \LWR@loadafter{hypbmsec} \LWR@loadafter{hypcap} \LWR@loadafter{hypdestopt} @@ -12879,9 +12905,13 @@ This boolean may be tested by the user for later use. \LWR@loadafter{marginfix} \LWR@loadafter{marginnote} \LWR@loadafter{marvosym} +% mathalpha may be loaded before lwarp \LWR@loadafter{mathcomp} +\LWR@loadafter{mathdesign} \LWR@loadafter{mathdots} \LWR@loadafter{mathfixs} +\LWR@loadafter{mathpazo} +\LWR@loadafter{mathptmx} \LWR@loadafter{mathtools} \LWR@loadafter{mcaption} \LWR@loadafter{mdframed} @@ -12896,6 +12926,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{minibox} \LWR@loadafter{minitoc} \LWR@loadafter{mismath} +\LWR@loadafter{mleftright} % morefloats must be allowed early for print mode \LWR@notmemoirloadafter{moreverb} % morewrites must be loaded before lwarp @@ -12918,7 +12949,9 @@ This boolean may be tested by the user for later use. \LWR@loadafter{nccmath} \LWR@notmemoirloadafter{needspace} % newclude must be loaded before lwarp -\LWR@loadafter{newtxmath} +% newpxmath may be preloaded +% newtxmath may be loaded before lwarp +% newtxsf may be loaded before lwarp % newunicodechar must be loaded before lwarp \LWR@notmemoirloadafter{nextpage} \LWR@loadafter{nicefrac} @@ -12982,6 +13015,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{pstricks} % \LWR@loadafter{pxatbegshi}% may be used by morewrites \LWR@loadafter{pxeveryshi} +\LWR@loadafter{pxfonts} \LWR@loadafter{pxftnright} \LWR@loadafter{pxjahyper} \LWR@loadafter{quotchap} @@ -13020,6 +13054,7 @@ This boolean may be tested by the user for later use. \LWR@notmemoirloadafter{showidx} \LWR@loadafter{showkeys} \LWR@loadafter{showtags} +\LWR@loadafter{shuffle} \LWR@loadafter{sidecap} \LWR@loadafter{sidenotes} \LWR@loadafter{SIunits} @@ -13067,6 +13102,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{thm-listof} \LWR@loadafter{thm-restate} \LWR@loadafter{thmbox} +\LWR@loadafter{thmtools} \LWR@loadafter{threadcol} \LWR@loadafter{threeparttable} \LWR@loadafter{threeparttablex} @@ -13092,6 +13128,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{trivfloat} \LWR@loadafter{truncate} \LWR@loadafter{turnthepage} +\LWR@loadafter{txfonts} \LWR@loadafter{twoup} % \end{macrocode} % \changes{v0.44}{2017/11/19}{Adjustment for \pkg{koma-script}.} @@ -13104,8 +13141,10 @@ This boolean may be tested by the user for later use. \LWR@loadafter{unicode-math} \LWR@loadafter{units} \LWR@loadafter{unitsdef} +\LWR@loadafter{upgreek} \LWR@loadafter{upref} \LWR@loadafter{url} +\LWR@loadafter{ushort} \LWR@loadafter{uspace} \LWR@loadafter{varioref} \LWR@notmemoirloadafter{verse} @@ -13390,11 +13429,13 @@ This boolean may be tested by the user for later use. % \begin{macro}{\LWR@patcherror} \marg{packagename} \marg{macroname} % % Prints an error if could not patch a macro. +% \changes{v0.89}{2020/09/01}{Improved message.} % \begin{macrocode} \newcommand*{\LWR@patcherror}[2]{% \PackageError{lwarp}% {% - Unable to patch package #1, macro #2.\MessageBreak + Unable to patch package #1,\MessageBreak + macro \LWRbackslash #2.\MessageBreak Lwarp may need to be updated% }% {Please contact the maintainer of the Lwarp package.}% @@ -13564,6 +13605,19 @@ This boolean may be tested by the user for later use. % \end{macro} % % +% \subsection{Title case} +% +% \begin{macro}{\LWRtexttitlecase} +% \begin{macrocode} +\ExplSyntaxOn +\newcommand*{\LWRtexttitlecase}[1]{% + \text_titlecase:n{#1}% +} +\ExplSyntaxOff +% \end{macrocode} +% \end{macro} +% +% % \subsection{LetLtxMacrocs} % % \begin{macro}{\LWR@LetLtxMacrocs} \marg{newcsname} \marg{oldcsname} @@ -14612,8 +14666,16 @@ This boolean may be tested by the user for later use. tracking=false, kerning=false, spacing=false} - -\DisableLigatures[f,q,t,T,Q]{encoding = *,family = *} +% \begin{macrocode} +% +% Disable ligatures for typewriter fonts. +% The comma was causing issues with \brand{MathJax} and \cs{,} followed by a comma. +% Ligatures for f, q, t, etc used to be disabled for non-typewriter fonts, but +% are now allowed. +% \changes{v0.89}{2020/08/01}{Disable typewriter ligatures.} +% ^^A \DisableLigatures[{,},f,q,t,T,Q]{encoding = *,family = *}% previous +% \begin{macrocode} +\DisableLigatures{encoding = *,family = tt*} % \end{macrocode} % ^^A % ^^A @@ -17749,8 +17811,8 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;} } -/* mdframed, tcolorbox packages */ -.mdframed, .tcolorbox { +/* mdframed, tcolorbox, shadebox packages */ +.mdframed, .tcolorbox, .shadebox { padding: 0ex ; margin: 2ex 0em 2ex 0em ; border: 1px solid black ; @@ -19467,7 +19529,7 @@ MathJax = { subequations: "0", section: "", loader: { - load: ['[tex]/tagFormat'] + load: ['[tex]/tagFormat'], }, startup: { ready() { @@ -19684,15 +19746,16 @@ MathJax = { % \changes{v0.59}{2018/08/21}{\prog{lwarpmk}: Consolidated compiling options into \optn{printlatexcmd} and \optn{HTMLlatexcmd}.} % \changes{v0.59}{2018/09/06}{\prog{lwarpmk}: Added \cmds{lwarpmk epstopdf}.} % \changes{v0.66}{2019/01/27}{\prog{lwarpmk}: Added \optn{ImagesDirectory} and \optn{ImagesName}.} -% \changes{v0.66}{2019/01/30}{\prog{lwarpmk}: Fix for \cmds{cleanlimages}.}% -% \changes{v0.68}{2019/03/02}{\prog{lwarpmk}: Improved error handling if incomplete compile.}% +% \changes{v0.66}{2019/01/30}{\prog{lwarpmk}: Fix for \cmds{cleanlimages}.} +% \changes{v0.68}{2019/03/02}{\prog{lwarpmk}: Improved error handling if incomplete compile.} % \changes{v0.71}{2019/04/11}{\prog{lwarpmk}: If wrong \filenm{lwarpmk.conf} version, % or wrong OS, -% displays the print command to recompile.}% -% \changes{v0.74}{2019/08/05}{\prog{lwarpmk}: \cmds{lwarpmk clean} removes add'l files.}% -% \changes{v0.74}{2019/08/14}{\prog{lwarpmk}: \cmds{lwarpmk epstopdf} and \cmds{pdftosvg} honor directories.}% -% \changes{v0.81}{2020/03/04}{\prog{lwarpmk}: Improved error if in \pkg{lwarp} source directory.}% -% \changes{v0.84}{2020/03/30}{\prog{lwarpmk}: \optn{clean} also removes \filenm{comment_*.cut}}% +% displays the print command to recompile.} +% \changes{v0.74}{2019/08/05}{\prog{lwarpmk}: \cmds{lwarpmk clean} removes add'l files.} +% \changes{v0.74}{2019/08/14}{\prog{lwarpmk}: \cmds{lwarpmk epstopdf} and \cmds{pdftosvg} honor directories.} +% \changes{v0.81}{2020/03/04}{\prog{lwarpmk}: Improved error if in \pkg{lwarp} source directory.} +% \changes{v0.84}{2020/03/30}{\prog{lwarpmk}: \optn{clean} also removes \filenm{comment_*.cut}} +% \changes{v0.89}{2020/08/29}{\prog{lwarpmk}: \optn{clean} also removes \filenm{*.bbl}} % % The following is only generated if the \optn{lwarpmk} option % was given to \pkg{lwarp}. @@ -19708,7 +19771,7 @@ MathJax = { -- Copyright 2016-2020 Brian Dunn -printversion = "v0.88" +printversion = "v0.89" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () @@ -19739,7 +19802,7 @@ lwarpmk pdftohtml [-p project]: lwarpmk pdftosvg <list of file names>: Converts each PDF file to SVG. lwarpmk epstopdf <list of file names>: Converts each EPS file to PDF. lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t, - *.idx, *.ind, *.log, *_html_inc.*, .gl*, + *.idx, *.ind, *.bbl, *.log, *_html_inc.*, .gl*, *_html.pdf, *_html.html, *_html.sidetoc lwarpmk cleanall [-p project]: Remove auxiliary files, project.pdf, *.html lwarpmk cleanlimages: Removes all images from the "lateximages" directory. @@ -20109,6 +20172,7 @@ os.execute ( rmname .. " *.aux " .. sourcename ..".toc " .. sourcename .. "_html.toc " .. sourcename ..".lof " .. sourcename .. "_html.lof " .. sourcename ..".lot " .. sourcename .. "_html.lot " .. + sourcename ..".bbl " .. sourcename .. "_html.bbl " .. " *.idx " .. " *.ind " .. sourcename ..".ps " .. sourcename .."_html.ps " .. @@ -24182,11 +24246,24 @@ end -- not --version % \begin{macro}{\LWR@HTMLsanitizeexpand} \marg{text} % % This version expands the argument before sanitizing it. +% This is only used for adding math to \brand{MathJax} expressions or +% \env{lateximage} \attribute{alt} tags. % % \changes{v0.36}{2017/08/16}{Fix for \pkg{babel-french}.} % \changes{v0.51}{2018/03/07}{Fix: Escapes double quotes.} % \changes{v0.79}{2020/01/27}{Fix: \cs{\&}.} +% \changes{v0.89}{2020/08/08}{Fix: Nested \brand{MathJax} environments.} % \begin{macrocode} +\edef\LWR@beginspaceleftbrace{begin \LWRleftbrace} +\edef\LWR@beginspaceleftbrace{\detokenize\expandafter{\LWR@beginspaceleftbrace}} +\edef\LWR@beginleftbrace{begin\LWRleftbrace} +\edef\LWR@beginleftbrace{\detokenize\expandafter{\LWR@beginleftbrace}} + +\edef\LWR@endspacerightbrace{end \LWRrightbrace} +\edef\LWR@endspacerightbrace{\detokenize\expandafter{\LWR@endspacerightbrace}} +\edef\LWR@endrightbrace{end\LWRrightbrace} +\edef\LWR@endrightbrace{\detokenize\expandafter{\LWR@endrightbrace}} + \newrobustcmd{\LWR@HTMLsanitizeexpand}[1]{% % \end{macrocode} % Cancel French \pkg{babel} character handling, @@ -24201,6 +24278,18 @@ end -- not --version % \begin{macrocode} \protect\StrSubstitute{\detokenize\expandafter{#1}}% {\detokenize{\&}}{\detokenize{&}}[\LWR@strresult]% +% \end{macrocode} +% The math expression may includes spaces between tokens, +% but \brand{MathJax} does not want a space between \cs{begin} or \cs{end} +% and the following brace. +% This space is removed here. +% \begin{macrocode} + \protect\StrSubstitute{\LWR@strresult}% + {\LWR@beginspaceleftbrace}{\LWR@beginleftbrace}[\LWR@strresult]% + \protect\StrSubstitute{\LWR@strresult}% + {\LWR@endspacerightbrace}{\LWR@endrightbrace}[\LWR@strresult]% +% \end{macrocode} +% \begin{macrocode} \LWR@subHTMLsanitize% \LWR@strresult% \endgroup% @@ -24339,11 +24428,10 @@ end -- not --version \CustomizeMathJax{\def\LWRfootnote{1}} \CustomizeMathJax{\newcommand{\footnote}[2][\LWRfootnote]{{}^{\mathrm{#1}}}} \CustomizeMathJax{\newcommand{\footnotemark}[1][\LWRfootnote]{{}^{\mathrm{#1}}}} -\end{warpMathJax} % \end{macrocode} +% Various other customizations: % \begin{macrocode} -\begin{warpMathJax} \CustomizeMathJax{\newcommand\ensuremath[1]{#1}} \CustomizeMathJax{% absorb two optional arguments \newcommand{\LWRframebox}[2][]{\fbox{#2}} @@ -24356,6 +24444,20 @@ end -- not --version \CustomizeMathJax{\newcommand{\cline}[1]{}} \CustomizeMathJax{\newcommand{\directlua}[1]{\text{(directlua)}}} \CustomizeMathJax{\newcommand{\luatexdirectlua}[1]{\text{(directlua)}}} +% \end{macrocode} +% +% \cs{protect}, \cs{mathchar}, and \cs{delimiter} are silently discarded; and +% \cs{mathcode} and \cs{delcode} are ignored. +% \changes{v0.89}{2020/07/27}{mathjax=\brand{MathJax}: Added \cs{protect}, and +% \cs{mathcode} and related.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\protect}{}} +\CustomizeMathJax{\def\LWRabsorbnumber#1 {}} +\CustomizeMathJax{\def\LWRabsorbquotenumber"#1 {}} +\CustomizeMathJax{\def\mathchar{\ifnextchar"\LWRabsorbquotenumber\LWRabsorbnumber}} +\CustomizeMathJax{\def\mathcode#1={\mathchar}} +\CustomizeMathJax{\let\delcode\mathcode} +\CustomizeMathJax{\let\delimiter\mathchar} \end{warpMathJax} \begin{warpHTML}% due to warpMathJax @@ -24375,17 +24477,19 @@ end -- not --version \LWR@stoppars \LWR@htmlcomment{MathJax customizations:} -\typeout{---} -\typeout{Package lwarp:} -\typeout{Processing MathJax customizations. If this takes too long,} -\typeout{see the Lwarp manual regarding customizing MathJax.} \begin{BlockClass}{hidden} \LWR@stoppars -\LWR@customizedMathJax +% \end{macrocode} +% +% Avoid ligatures while printing \brand{MathJax} customizations: +% \changes{v0.89}{2020/08/02}{Print \brand{MathJax} customizations with typewriter font.} +% \begin{macrocode} +{ + \LWR@print@ttfamily + \LWR@customizedMathJax +} \LWR@startpars \end{BlockClass} -\typeout{Done.} -\typeout{---} \LWR@startpars }{} @@ -26116,8 +26220,22 @@ end -- not --version % disable \cs{ensuremath} by printing a nullified % definition at the start of each file, and add further customizations: % \changes{v0.51}{2018/03/18}{MathJax: Nullifies \cs{ensuremath}.} +% \changes{v0.89}{2020/08/17}{MathJax: Improved info message.} % \begin{macrocode} +\ifbool{mathjax}{ + \typeout{---} + \typeout{Package lwarp:} + \typeout{Processing MathJax customizations for the first HTML page.} + \typeout{Later HTML pages will take the same amount of time.} + \typeout{If this takes too long, see the Lwarp manual regarding customizing MathJax.} +}{} + \LWR@customizeMathJax + +\ifbool{mathjax}{ + \typeout{Done.} + \typeout{---} +}{} % \end{macrocode} % % ^^A % Likewise for Ka\TeX: @@ -26238,41 +26356,91 @@ end -- not --version % If labels have not changed, mark successful completion % of the \filenm{lateximages.txt} file. % Executed as everything is being shut down. +% +% For the newer kernel hooks, see \cmds{texdoc lthooks-doc} and \cmds{texdoc ltshipout-doc}. % \changes{v0.70}{2019/03/26}{If labels changed, require recompile before making limages.} +% \changes{v0.89}{2020/07/28}{Adapt to \LaTeX\ core changes.} +% \begin{macrocode} +\ifdef{\AddToHook}{% newer kernel + \AddToHook{enddocument/info}{% + \if@filesw + \ifx \@multiplelabels \relax + \if@tempswa +% \end{macrocode} +% This is where warnings of duplicate labels would appear. +% \begin{macrocode} + \else +% \end{macrocode} +% No duplicate labels, so safe to create images. % \begin{macrocode} -\xpatchcmd{\enddocument} - {% - \if@tempswa - \@latex@warning@no@line{Label(s) may have changed. - Rerun to get cross-references right}% - \fi - } - {% - \if@tempswa - \@latex@warning@no@line{Label(s) may have changed. - Rerun to get cross-references right}% - \else \immediate\write\LWR@lateximagesfile{% |end|end|end|% }% - \fi + \fi + \fi\fi } - {} - { - \AtEndDocument{ - \PackageWarningNoLine{lwarp} - {% - Could not patch \protect\enddocument.\MessageBreak - If labels have changed, be sure to recompile before\MessageBreak - creating lateximages with\MessageBreak - \space\space lwarpmk limages,\MessageBreak - or the images may be corrupt% +}% newer kernel +{% older kernel + \xpatchcmd{\enddocument} + {% + \if@tempswa + \@latex@warning@no@line{Label(s) may have changed. + Rerun to get cross-references right}% + \fi + } + {% + \if@tempswa + \@latex@warning@no@line{Label(s) may have changed. + Rerun to get cross-references right}% + \else +% \end{macrocode} +% No duplicate labels, so safe to create images. +% \begin{macrocode} + \immediate\write\LWR@lateximagesfile{% + |end|end|end|% + }% + \fi + } + {} + { + \AtEndDocument{ + \PackageWarningNoLine{lwarp} + {% + Could not patch \protect\enddocument.\MessageBreak + If labels have changed, be sure to recompile before\MessageBreak + creating lateximages with\MessageBreak + \space\space lwarpmk limages,\MessageBreak + or the images may be corrupt% + } } } - } +}% older kernel % \end{macrocode} % \end{macro} + +% \section{Nullifying foreground \Slash background hooks} +% +% See \cmds{texdoc lthooks-doc} and \cmds{textdoc ltshipout-doc}. +% +% \changes{v0.89}{2020/07/28}{Foreground/background hooks: Adapt to \LaTeX\ core changes.} +% \begin{macrocode} +\ifdef{\RemoveFromHook}{ + \AfterEndPreamble{ + \IfHookEmptyTF{shipout/background}{}{ + \PackageInfo{lwarp}{Removing background hook} + \RemoveFromHook{shipout/background}[*] + } + \IfHookEmptyTF{shipout/foreground}{}{ + \PackageInfo{lwarp}{Removing foreground hook} + \RemoveFromHook{shipout/foreground}[*] + } + } +}{} +% \end{macrocode} + + + % \begin{macrocode} \end{warpHTML} % \end{macrocode} @@ -27418,7 +27586,7 @@ end -- not --version % \begin{macrocode} \begin{warpHTML} % \end{macrocode} - +% % \begin{macro}{\@begintheorem} \marg{name} \marg{number} % \begin{macrocode} \renewcommand{\@begintheorem}[2]{% @@ -27429,16 +27597,26 @@ end -- not --version } % \end{macrocode} % \end{macro} +% +% % \begin{macro}{\@opargbegintheorem} \marg{name} \marg{number} \marg{oparg} +% +% \LaTeX\ defines this, but \pkg{amsthm} \cs{relax}es it, +% so it will not be defined if \pkg{amsthm} is loaded before \pkg{lwarp}. +% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.} % \begin{macrocode} -\renewcommand{\@opargbegintheorem}[3]{% -\LWR@forcenewpage -\BlockClass{theoremcontents} -\trivlist -\item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape +\ifundef{\@opargbegintheorem}{}{ + \renewcommand{\@opargbegintheorem}[3]{% + \LWR@forcenewpage + \BlockClass{theoremcontents} + \trivlist + \item[\InlineClass{theoremlabel}{#1\ #2\ (#3)\ }]\itshape + } } % \end{macrocode} % \end{macro} +% +% % \begin{macro}{\@endtheorem} % \begin{macrocode} \renewcommand*{\@endtheorem}{% @@ -35716,12 +35894,20 @@ end -- not --version }% % \end{macrocode} % For \brand{MathJax}, print the math between |\(| and |\)|: +% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.} % \begin{macrocode} {% \LWR@traceinfo{LWR@subsingledollar: Mathjax}% {% \textbackslash(% - \LWR@HTMLsanitize{#4}% + {% +% \end{macrocode} +% \cs{ifmmode} to avoid error about \cs{ttfamily} inside math mode +% in the case of nested math, ex. equation with tcolorbox with math. +% \begin{macrocode} + \ifmmode\else\LWR@print@ttfamily\fi% + \LWR@HTMLsanitize{#4}% + }% \textbackslash)% }% }% mathjax @@ -35793,11 +35979,12 @@ end -- not --version % \end{macrocode} % For \brand{MathJax}, print the math between |\[| and |\]|: % \changes{v0.42}{2017/10/16}{Improved line spacing with mathjax.} +% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.} % \begin{macrocode} { \textbackslash[% - \LWR@HTMLsanitize{#1}% + {\LWR@print@ttfamily\LWR@HTMLsanitize{#1}}% \textbackslash] }% mathjax @@ -35842,6 +36029,7 @@ end -- not --version % % % \begin{macro}{\LWR@singledollar} \marg{alt text} \marg{math expression} +% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.} % \begin{macrocode} \protected\gdef\LWR@singledollar#1${% \ifbool{mathjax}{% @@ -35882,7 +36070,7 @@ end -- not --version \protected\gdef\[#1\]{$$#1$$} } -\endgroup +\endgroup% active $ % \end{macrocode} % \changes{v0.59}{2018/08/23}{Fix with \cs{displaymathnormal}.} % \begin{macrocode} @@ -35984,9 +36172,12 @@ end -- not --version % Set the default displaymath to the normal version: +% +% \changes{v0.89}{2020/08/12}{Removed \cs{let} of \cs{[}, \cs{]}.} +% ^^A \LetLtxMacro\[\LWR@openbracketnormal% (but not yet defined) +% ^^A \LetLtxMacro\]\LWR@closebracketnormal% +% % \begin{macrocode} -\LetLtxMacro\[\LWR@openbracketnormal% -\LetLtxMacro\]\LWR@closebracketnormal% \LetLtxMacro\displaymath\LWR@displaymathnormal% \LetLtxMacro\enddisplaymath\endLWR@displaymathnormal% % \end{macrocode} @@ -36196,15 +36387,20 @@ end -- not --version % Enclose the \brand{MathJax} environment inside printed ``\cs{(}'' and ``\cs{)}'' characters. % \begin{macrocode} \LWR@origtilde\LWR@orignewline - \textbackslash{}begin\{#1\} % \end{macrocode} -% Print the contents, sanitizing for \HTML\ special characters. +% Print the environment name and contents, sanitizing for \HTML\ special characters. +% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.} % \begin{macrocode} - \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}} + {% + \LWR@print@ttfamily% + \textbackslash{}begin\{#1\} + \LWR@orignewline% + \LWR@HTMLsanitizeexpand{\detokenize\expandafter{#2}}% + \LWR@orignewline% + \textbackslash{}end\{#1\} + }% % \end{macrocode} -% Close the \brand{MathJax} environment: % \begin{macrocode} - \textbackslash{}end\{#1\} \LWR@orignewline } % \end{macrocode} @@ -36663,11 +36859,12 @@ end -- not --version % \changes{v0.42}{2017/10/12}{Fix: Numbering and naming AMS math environments.} % \changes{v0.50}{2018/03/02}{Improved \SVG\ math display.} % \changes{v0.51}{2018/03/11}{Fix: \cs{addcontentsline} inside \SVG\ math. Provides an autoid anchor.} +% \changes{v0.89}{2020/08/02}{\cs{textendash} for number range.} % \begin{macrocode} \begin{BlockClass}{displaymathnumbered}% \LWR@newautoidanchor% \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[(\LWR@startingequationtag--\LWR@equationtag)% + \begin{lateximage}[(\LWR@startingequationtag\textendash\LWR@equationtag)% \LWR@addmathjax{eqnarray}{\BODY}]*% % \end{macrocode} % Support for \pkg{xfakebold}: @@ -36988,13 +37185,14 @@ end -- not --version % prefixed by the equation numbers. % % \changes{v0.42}{2017/10/12}{Fix: Numbering and naming AMS math environments.} +% \changes{v0.89}{2020/08/02}{\cs{textendash} for number range.} % % \begin{macrocode} \newcommand*{\LWR@amsmathbodynumbered}[1] {% \ifnumcomp{\value{LWR@startingequation}}{=}{\value{equation}}% {(\LWR@equationtag)}% - {(\LWR@startingequationtag--\LWR@equationtag)} % extra space + {(\LWR@startingequationtag\textendash\LWR@equationtag)} % extra space \LWR@amsmathbody{#1} % extra space } % \end{macrocode} @@ -37605,6 +37803,14 @@ end -- not --version \LWR@PreloadedPackage{fontaxes} % \end{macrocode} +% \pkg{newpxmath}, etc. may be loaded before \pkg{lwarp}: +% \begin{macrocode} +\LWR@PreloadedPackage{newpxmath} +\LWR@PreloadedPackage{newtxmath} +\LWR@PreloadedPackage{newtxsf} +\LWR@PreloadedPackage{mathalpha} +% \end{macrocode} + % \pkg{nfssext-cfr} may be preloaded by \pkg{cfm-lm} or related font packages. % \begin{macrocode} \LWR@PreloadedPackage{nfssext-cfr} @@ -37675,7 +37881,7 @@ end -- not --version \newrobustcmd{\LWR@siunitx@textdegree}{\HTMLentity{deg}} \newrobustcmd{\LWR@siunitx@textprime}{\HTMLunicode{2032}} \newrobustcmd{\LWR@siunitx@textdblprime}{\HTMLunicode{2033}} -\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{0127}}}} +\newrobustcmd{\LWR@siunitx@textplanckbar}{\text{\textit{\HTMLunicode{210F}}}} \appto\LWR@restoreorigformatting{% \renewrobustcmd{\LWR@siunitx@textcelsius}{\text{\ensuremath{^\circ}C}}% @@ -40477,7 +40683,7 @@ color:\LWR@origpound\LWR@tempcolor% % -% \section{\cs{AtBeginDocument}, \cs{AtEndDocument}} +% \section{Starting and stopping \pkg{lwarp}} % \codehtml % \begin{macrocode} @@ -40501,6 +40707,27 @@ color:\LWR@origpound\LWR@tempcolor% % \end{macrocode} +% \section{Loading \pkg{everyshi} patches} +% +% \pkg{everyshi} is emulated by the \LaTeX\ core, so its patches are loaded +% here. +% \cs{AtBeginDocument} is used in case an older verison of \LaTeX\ is +% used. +% +% \changes{v0.89}{2020/07/28}{\pkg{everyshi}: Included in \LaTeX\ core.} +% +% \codehtml +% \begin{macrocode} +\begin{warpHTML} +\AtBeginDocument{ + \@ifpackageloaded{everyshi}{ + \RequirePackage{lwarp-everyshi} + }{} +} +\end{warpHTML} +% \end{macrocode} + + % \section{Loading \pkg{textcomp} patches} % % \pkg{textcomp} has now been integrated into the \LaTeX\ core, @@ -40515,6 +40742,37 @@ color:\LWR@origpound\LWR@tempcolor% \end{warpHTML} % \end{macrocode} + + +% \section{Loading \pkg{amsmath}, \pkg{amsthm} patches, \pkg{centernot}} +% +% \pkg{amsmath}, \pkg{amsthm}, and \pkg{centernot} may have been preloaded, +% such as by \pkg{newtx}, so their patches are loaded now. +% +% \codehtml +% +% \changes{v0.89}{2020/08/12}{Allow preload of \pkg{amsmath}, \pkg{amsthm}, \pkg{centernot}.} +% \begin{macrocode} +\begin{warpHTML} +\@ifpackageloaded{amsthm}{ + \RequirePackage{lwarp-amsthm} +}{} +% \end{macrocode} +% +% \begin{macrocode} +\@ifpackageloaded{amsmath}{ + \RequirePackage{lwarp-amsmath} +}{} + +% \pkg{amsthm} may load \pkg{centernot}, so \pkg{centernot} must be checked second. +% \begin{macrocode} +\@ifpackageloaded{centernot}{ + \RequirePackage{lwarp-centernot} +}{} +\end{warpHTML} +% \end{macrocode} + + % \section{Loading \brand{Koma-script} class patches} % % Load patches to \pkg{koma-script}. @@ -41272,6 +41530,99 @@ color:\LWR@origpound\LWR@tempcolor% % % % +% +% +% \iffalse +%<*accents> +% \fi +% +% \part{lwarp-accents.sty} +% +% \section{accents} +% +% \credits{Javier Bezos} +% +% \DescribePackage{accents} +% \pkg{accents} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/07/21}{\pkg{accents}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{accents}[2006/05/12] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{accents} + +\CustomizeMathJax{\newcommand{\ring}[1]{\mathring{#1}}} +\CustomizeMathJax{\newcommand{\accentset}[2]{\overset{#1{}}{#2}}} +% \end{macrocode} +% +% As of this writing, \brand{MathJax} v3 does not yet support +% groups for macros, so for \cs{underaccent}, the originals are remembered here, +% then they are temporarily redefined and used inside \cs{underaccent}, +% then restored to their originals. +% \cs{LARGE} gives a reasonable size, and \cs{raise} is used to +% adjust vertically without introducing extra line space. +% \begin{macrocode} +\CustomizeMathJax{\let\LWRgrave\grave} +\CustomizeMathJax{\let\LWRacute\acute} +\CustomizeMathJax{\let\LWRcheck\check} +\CustomizeMathJax{\let\LWRbreve\breve} +\CustomizeMathJax{\let\LWRbar\bar} +\CustomizeMathJax{\let\LWRhat\hat} +\CustomizeMathJax{\let\LWRdot\dot} +\CustomizeMathJax{\let\LWRtilde\tilde} +\CustomizeMathJax{\let\LWRddot\ddot} +\CustomizeMathJax{\let\LWRvec\vec} +\CustomizeMathJax{\let\LWRwidetilde\widetilde} + +\CustomizeMathJax{\newcommand{\underaccent}[2]{% + {% + \renewcommand{\grave}[1]{{\LARGE\LWRgrave{##1}}}% + \renewcommand{\acute}[1]{{\LARGE\LWRacute{##1}}}% + \renewcommand{\check}[1]{{\LARGE\LWRcheck{##1}}}% + \renewcommand{\breve}[1]{{\LARGE\LWRbreve{##1}}}% + \renewcommand{\bar}[1]{{\LARGE\LWRbar{##1}}}% + \renewcommand{\hat}[1]{{\LARGE\LWRhat{##1}}}% + \renewcommand{\dot}[1]{{\LARGE\LWRdot{##1}}}% + \renewcommand{\tilde}[1]{{\LARGE\LWRtilde{##1}}}% + \renewcommand{\ddot}[1]{{\LARGE\LWRddot{##1}}}% + \renewcommand{\vec}[1]{{\LARGE\LWRvec{##1}}}% + \renewcommand{\widetilde}[1]{{\LARGE\LWRwidetilde{\hphantom{#2}}}}% + \underset{\raise 2pt {#1{}}}{#2}% + \let\grave\LWRgrave% + \let\acute\LWRacute% + \let\check\LWRcheck% + \let\breve\LWRbreve% + \let\bar\LWRbar% + \let\hat\LWRhat% + \let\dot\LWRdot% + \let\tilde\LWRtilde% + \let\ddot\LWRddot% + \let\vec\LWRvec% + \let\widetilde\LWRwidetilde% + }% +}} + +\CustomizeMathJax{\newcommand{\undertilde}[1]{% + \underset{\raise 3pt {\widetilde{\hphantom{#1}}}}{#1}% +}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</accents> +% \fi +% +% +% +% % \iffalse %<*accessibility> % \fi @@ -42193,6 +42544,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % Embeds the environment inside a \env{lateximage}. % % \changes{v0.80}{2020/02/13}{AMS environments: Fix: Centering starred envs.} +% \changes{v0.89}{2020/08/02}{AMS environments: Fix: \element{ALT} text env name.} % \begin{macrocode} \NewDocumentCommand{\LWR@amsmathenv@@before}{s m}{% \IfBooleanTF{#1}{ @@ -42202,7 +42554,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% } \LWR@newautoidanchor% \booltrue{LWR@indisplaymathimage}% - \begin{lateximage}[\LWR@amsmathbodynumbered{#1}]* + \begin{lateximage}[\LWR@amsmathbodynumbered{#2}]*% \LWR@applyxfakebold% } % \end{macrocode} @@ -43218,7 +43570,19 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% \LWR@ProvidesPackageDrop{atbegshi}[2011/10/05] % \end{macrocode} % +% \changes{v0.89}{2020/07/28}{\pkg{atbegshi}: Adapt to \LaTeX kernel changes.} % \begin{macrocode} +\let\AtBeginShipout\relax +\let\AtBeginShipoutNext\relax +\let\AtBeginShipoutFirst\relax +\let\AtBeginShipoutDiscard\relax +\let\AtBeginShipoutInit\relax +\let\AtBeginShipoutAddToBox\relax +\let\AtBeginShipoutAddToBoxForeground\relax +\let\AtBeginShipoutUpperLeft\relax +\let\AtBeginShipoutUpperLeftForeground\relax +\let\AtBeginShipoutOriginalShipout\relax + \newcommand*{\AtBeginShipout}[1]{} \newbox\AtBeginShipoutBox \newcommand*{\AtBeginShipoutNext}[1]{} @@ -43233,7 +43597,6 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% \def\AtBeginShipoutBoxWidth{0pt} \def\AtBeginShipoutBoxHeight{0pt} \def\AtBeginShipoutBoxDepth{0pt} - % \end{macrocode} % % \iffalse @@ -45475,6 +45838,7 @@ s% % \changes{v0.78}{2019/10/30}{\pkg{caption}: Added warning regarding passing options.} % \changes{v0.84}{2020/04/16}{\pkg{caption}: Simplified.} % \changes{v0.84}{2020/04/20}{\pkg{caption}: Non-width \cs{parbox}es.} +% \changes{v0.89}{2020/08/25}{\pkg{caption}: Adapt to v3.5.} % % \codehtml % @@ -45487,9 +45851,10 @@ s% \typeout{instead of: \protect\usepackage[options]\protect{caption\protect}.} \typeout{---} -\LWR@ProvidesPackagePass{caption}[2020/01/03] +\LWR@ProvidesPackagePass{caption}[2020/08/24] % \end{macrocode} - +% +% ^^A This could be given a permanent standardized name, then redefined by lwarp. % \begin{macrocode} \long\def\caption@iibox@#1#2#3#4{% % \setbox\@tempboxa\hbox{#4}% @@ -45508,7 +45873,12 @@ s% #1*% set \caption@position \caption@iftop{% \endgroup - \minipagefullwidth% +% \end{macrocode} +% +% ^^A This parbox could be factored out, given a permanent name, +% ^^A then redefined by lwarp. +% \begin{macrocode} + \minipagefullwidth% lwarp \parbox[t]{\linewidth}{% #1\relax \caption@setposition t% @@ -45520,9 +45890,14 @@ s% }% }{% \endgroup +% \end{macrocode} +% +% ^^A This parbox could be factored out, given a permanent name, +% ^^A then redefined by lwarp. +% \begin{macrocode} % \parbox[b]{#6}{% - \minipagefullwidth% - \parbox[b]{\linewidth}{% + \minipagefullwidth% lwarp + \parbox[b]{\linewidth}{% lwarp #1\relax \caption@setposition b% % \csname caption@hj@#7\endcsname @@ -45535,10 +45910,187 @@ s% } % \end{macrocode} +% \begin{noindmacro}{\caption@makecaption} +% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.} +% ^^A Lwarp could nullify \caption@make@above/bottom. +% \begin{macrocode} +\long\def\caption@makecaption#1#2{% +% \caption@make@above + \caption@@make{#1}{#2}% +% \caption@make@below +} + +\AtBeginDocument{ + \let\@makecaption\caption@makecaption +} +% \end{macrocode} +% \end{noindmacro} + + +% Redefined to look ahead for \cs{centering}, etc: +% \changes{v0.84}{2020/04/20}{\pkg{caption}: Improved integration.} +% ^^A Lwarp has to redefine to use \LWR@futurenonspacelet correctly. +% \begin{macrocode} +\AtBeginDocument{ + \def\@xfloat#1[#2]{% + \caption@ORI@xfloat{#1}[#2]% + \caption@settype{#1}% + \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment% + }% + \def\@xdblfloat#1[#2]{% required for token capture + \caption@ORI@xfloat{#1}[#2]% + \caption@settype{#1}% + \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment% + }% +} +% \end{macrocode} + + +% Updates for late patches for \pkg{scrextend}: +% \changes{v0.88}{2020/07/15}{\pkg{caption}, \pkg{scrextend}: Fixed \cs{caption*}.} +% \begin{macrocode} +\caption@AtBeginDocument{ +\@ifpackageloaded{lwarp-scrextend}{ + \LetLtxMacro\captionbelow\caption + \LetLtxMacro\captionabove\caption + \LetLtxMacro\captionofbelow\captionof + \LetLtxMacro\captionofabove\captionof +}{} +} +% \end{macrocode} +% +% \iffalse +%</caption> +% \fi +% +% +% +% +% +% \iffalse +%<*caption3> +% \fi +% +% \part{lwarp-caption3.sty} +% \section{caption3} +% +% \credits{Axel Sommerfeldt} +% +% \DescribePackage{caption3} +% \pkg{caption3} is patched for use by \pkg{lwarp}. +% +% \changes{v0.89}{2020/08/25}{\pkg{caption3}: Split from \pkg{lwarp-caption}.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{caption3}[2020/08/23] +% \end{macrocode} +% +% % \begin{noindmacro}{\caption@@@make} % \marg{caption label} \marg{caption text} % \begin{macrocode} +\@ifpackagelater{caption3}{2020/08/23}{ +\renewcommand\caption@@@make[2]{% +\LWR@traceinfo{caption@@@make}% +% \end{macrocode} +% +% ^^A Lwarp has to stop and start its paragraph handling, +% ^^A so I guess caption package could provide null macros for +% ^^A \LWR@stoppars and \LWR@startpars if lwarp has not already defined them. +% \begin{macrocode} + \LWR@stoppars% lwarp +% \end{macrocode} +% +% ^^A This could be factored out into a macro with a standard name +% ^^A which lwarp could nullify: +% \begin{macrocode} +% \sbox\@tempboxa{#1}% +% \ifdim\wd\@tempboxa=\z@ +% \caption@set{labelseparator}{none}% +% \fi + \caption@ifempty{#2}{% + \caption@set{labelseparator}{none}% + \caption@set{textformat}{simple}% + }% + \caption@labelseparator % defines \caption@iflabelfont, +% \caption@labelsep and \caption@labelsep@name +% (the latter is needed by \caption@fmt) +% +% \end{macrocode} +% +% ^^A This could be factored out into a macro with a standard name +% ^^A which lwarp could nullify: +% \begin{macrocode} +% \@setpar{\@@par\caption@@par}\caption@@par + \caption@applyfont +% \end{macrocode} +% +% \cs{caption@fmt} with \optn{plain} format is defined as |{#1#2#3\par}|: +% +% \begin{macrocode} +% \caption@fmt + {\ifcaption@star\else + \begingroup + \captionlabelfont +% \end{macrocode} +% +% ^^A \LWR@isolate could also be provided by caption if lwarp has +% ^^A not already defined it. For caption, it might be \@firstofone, for example. +% ^^A (For lwarp it improved Chinese text handling.) +% \begin{macrocode} + \LWR@isolate{#1}% lwarp + \endgroup + \fi}% + {\ifcaption@star\else + \begingroup + \caption@iflabelfont\captionlabelfont + \relax\caption@labelsep + \endgroup + \fi}% + {{\captiontextfont +% \end{macrocode} +% +% ^^A Another null macro in caption, which could be provided if +% ^^A lwarp has not yet defined it: +% \begin{macrocode} + \let\\\newline% lwarp +% + \caption@textstart +% \end{macrocode} +% +% ^^A This could be factored out into a macro with a standard name +% ^^A which lwarp could nullify: +% \begin{macrocode} +% \caption@ifstrut +% {\vrule\@height\ht\strutbox\@width\z@}% +% {}% +% \nobreak\hskip\z@skip % enable hyphenation +% \end{macrocode} +% +% ^^A \LWR@isolate again: +% \begin{macrocode} + \LWR@isolate{\caption@textformat{#2}}% lwarp +% \end{macrocode} +% +% ^^A This could be factored out into a macro with a standard name +% ^^A which lwarp could nullify: +% \begin{macrocode} +% \caption@ifstrut +% {\ifhmode\@finalstrut\strutbox\fi}% +% {}% + \caption@textend}}% +% \end{macrocode} +% +% ^^A as \LWR@startpars above: +% \begin{macrocode} + \LWR@startpars% lwarp +\LWR@traceinfo{caption@@@make done}% +} +}% later than 2020/08/23 +{% earlier than 2020/08/23 \renewcommand\caption@@@make[2]{% \LWR@traceinfo{caption@@@make}% \LWR@stoppars% lwarp @@ -45550,6 +46102,7 @@ s% \let\caption@lsep\@empty \let\caption@tfmt\@firstofone }% +% \@setpar{\@@par\caption@@par}\caption@@par \caption@applyfont % \end{macrocode} % \cs{caption@fmt} with \optn{plain} format is defined as |{#1#2#3\par}|: @@ -45583,10 +46136,15 @@ s% \LWR@startpars% lwarp \LWR@traceinfo{caption@@@make done}% } +}% earlier than 2020/08/23 % \end{macrocode} % \end{noindmacro} - +% +% % \begin{noindmacro}{\caption@@make@} \marg{} \marg{} +% ^^A This could be given a standardized name, +% ^^A and redefined by lwarp as follows. Most of the original +% ^^A is thrown away. % \begin{macrocode} \renewcommand{\caption@@make@}[2]{% \caption@stepthecounter% @@ -45596,93 +46154,42 @@ s% } % \end{macrocode} % \end{noindmacro} - -% \begin{noindmacro}{\caption@makecaption} -% \changes{v0.71}{2019/04/08}{\pkg{caption}: Reduced underfull \cs{hbox} warnings.} -% \begin{macrocode} -\long\def\caption@makecaption#1#2{% -% \caption@iftop -% {\vskip\belowcaptionskip}% -% {\caption@rule\vskip\abovecaptionskip}% - \caption@@make{#1}{#2}% -% \caption@iftop -% {\vskip\abovecaptionskip\caption@rule}% -% {\vskip\belowcaptionskip}% -} - -\AtBeginDocument{ - \let\@makecaption\caption@makecaption -} -% \end{macrocode} -% \end{noindmacro} - - -% Redefined to look ahead for \cs{centering}, etc: -% \changes{v0.84}{2020/04/20}{\pkg{caption}: Improved integration.} -% \begin{macrocode} -\AtBeginDocument{ - \def\@xfloat#1[#2]{% - \caption@ORI@xfloat{#1}[#2]% - \caption@settype{#1}% - \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment% - }% - \def\@xdblfloat#1[#2]{% - \caption@ORI@xfloat{#1}[#2]% - \caption@settype{#1}% - \LWR@futurenonspacelet\LWR@mynexttoken\LWR@floatalignment% - }% -} -% \end{macrocode} - - +% +% % Add non-breakable spaces: +% \changes{v0.89}{2020/08/25}{\pkg{caption3}: Improved label seps.} +% ^^A Debatable "improvements": % \begin{macrocode} -\long\def\caption@lsep@default{.~} -\long\def\caption@lsep@colon{:~} -\long\def\caption@lsep@period{.~} -\long\def\caption@lsep@space{~} -\long\def\caption@lsep@endash{~\textendash~} -\long\def\caption@lsep@arabi{~:~} +\DeclareCaptionLabelSeparator{colon}{:~} +\DeclareCaptionLabelSeparator{period}{.~} +\DeclareCaptionLabelSeparator{space}{~} +\DeclareCaptionLabelSeparator*{endash}{~\textendash~} +\DeclareCaptionLabelSeparator{arabi}{\if@rl~\fi:~} % \end{macrocode} - +% +% ^^A These are simplifications for HTML: % \begin{macrocode} \DeclareCaptionBox{none}{#2} \DeclareCaptionBox{parbox}{% #2% } - -\DeclareCaptionBox{colorbox}{% - #2% -} % \end{macrocode} - - -% Updates for late patches for \pkg{scrextend}: -% \changes{v0.88}{2020/07/15}{\pkg{caption}, \pkg{scrextend}: Fixed \cs{caption*}.} +% +% ^^A Simplification for HTML: % \begin{macrocode} -\caption@AtBeginDocument{ -\@ifpackageloaded{lwarp-scrextend}{ - \LetLtxMacro\captionbelow\caption - \LetLtxMacro\captionabove\caption - \LetLtxMacro\captionofbelow\captionof - \LetLtxMacro\captionofabove\captionof -}{} +\DeclareCaptionBox{colorbox}{% + #2% } % \end{macrocode} - - - +% % \iffalse -%</caption> +%</caption3> % \fi % % % % % -% -% -% % \iffalse %<*cases> % \fi @@ -45752,6 +46259,7 @@ s% % and emulated for \brand{MathJax}. % % \changes{v0.80}{2020/02/08}{\pkg{centernot}: Added.} +% \changes{v0.89}{2020/08/17}{\pkg{centernot}: Improved.} % % \codehtml % @@ -45759,9 +46267,17 @@ s% \LWR@ProvidesPackagePass{centernot}[2016/05/16] % \end{macrocode} % +% Based on \href{https://github.com/mathjax/MathJax/issues/2107} +% {\texttt{https://github.com/mathjax/MathJax/issues/2107}} +% with \cs{textstyle} removed to work with sub \Slash super scripts. +% % \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols} + \begin{warpMathJax} -\CustomizeMathJax{\newcommand{\centernot}[1]{\not{\!#1\,}}} +\CustomizeMathJax{\newcommand{\centernot}[1]{% + \LWRoverlaysymbols{\unicode{x2215}}{#1} +}} \end{warpMathJax} % \end{macrocode} % @@ -49618,10 +50134,13 @@ name = \chemmacros_translate:n {scheme-name} % is emulated for \brand{MathJax}. % % \changes{v0.81}{2020/03/01}{\pkg{econometrics}: Added.} +% \changes{v0.89}{2020/09/02}{\pkg{econometrics}: Uses \pkg{lwarp-common-mathjax-letters}.} % % \codehtml % % \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + \LWR@ProvidesPackagePass{econometrics}% no date specified in the original % \end{macrocode} % @@ -49662,95 +50181,11 @@ name = \chemmacros_translate:n {scheme-name} \CustomizeMathJax{\newcommand{\calY}{\mathcal{Y}}} \CustomizeMathJax{\newcommand{\calZ}{\mathcal{Z}}} -\CustomizeMathJax{\newcommand{\mA}{\bm A}} -\CustomizeMathJax{\newcommand{\va}{\bm a}} -\CustomizeMathJax{\newcommand{\mB}{\bm B}} -\CustomizeMathJax{\newcommand{\vb}{\bm b}} -\CustomizeMathJax{\newcommand{\mC}{\bm C}} -\CustomizeMathJax{\newcommand{\vc}{\bm c}} -\CustomizeMathJax{\newcommand{\mD}{\bm D}} -\CustomizeMathJax{\newcommand{\vd}{\bm d}} -\CustomizeMathJax{\newcommand{\mE}{\bm E}} -\CustomizeMathJax{\newcommand{\ve}{\bm e}} -\CustomizeMathJax{\newcommand{\mF}{\bm F}} -\CustomizeMathJax{\newcommand{\vf}{\bm f}} -\CustomizeMathJax{\newcommand{\mG}{\bm G}} -\CustomizeMathJax{\newcommand{\vg}{\bm g}} -\CustomizeMathJax{\newcommand{\mH}{\bm H}} -\CustomizeMathJax{\newcommand{\vh}{\bm h}} -\CustomizeMathJax{\newcommand{\mI}{\bm I}} -\CustomizeMathJax{\newcommand{\vi}{\bm i}} -\CustomizeMathJax{\newcommand{\mJ}{\bm J}} -\CustomizeMathJax{\newcommand{\vj}{\bm j}} -\CustomizeMathJax{\newcommand{\mK}{\bm K}} -\CustomizeMathJax{\newcommand{\vk}{\bm k}} -\CustomizeMathJax{\newcommand{\mL}{\bm L}} -\CustomizeMathJax{\newcommand{\vl}{\bm l}} -\CustomizeMathJax{\newcommand{\mM}{\bm M}} -\CustomizeMathJax{\newcommand{\vm}{\bm m}} -\CustomizeMathJax{\newcommand{\mN}{\bm N}} -\CustomizeMathJax{\newcommand{\vn}{\bm n}} -\CustomizeMathJax{\newcommand{\mO}{\bm O}} -\CustomizeMathJax{\newcommand{\vo}{\bm o}} -\CustomizeMathJax{\newcommand{\mP}{\bm P}} -\CustomizeMathJax{\newcommand{\vp}{\bm p}} -\CustomizeMathJax{\newcommand{\mQ}{\bm Q}} -\CustomizeMathJax{\newcommand{\vq}{\bm q}} -\CustomizeMathJax{\newcommand{\mR}{\bm R}} -\CustomizeMathJax{\newcommand{\vr}{\bm r}} -\CustomizeMathJax{\newcommand{\mS}{\bm S}} -\CustomizeMathJax{\newcommand{\vs}{\bm s}} -\CustomizeMathJax{\newcommand{\mT}{\bm T}} -\CustomizeMathJax{\newcommand{\vt}{\bm t}} -\CustomizeMathJax{\newcommand{\mU}{\bm U}} -\CustomizeMathJax{\newcommand{\vu}{\bm u}} -\CustomizeMathJax{\newcommand{\mV}{\bm V}} -\CustomizeMathJax{\newcommand{\vv}{\bm v}} -\CustomizeMathJax{\newcommand{\mW}{\bm W}} -\CustomizeMathJax{\newcommand{\vw}{\bm w}} -\CustomizeMathJax{\newcommand{\mX}{\bm X}} -\CustomizeMathJax{\newcommand{\vx}{\bm x}} -\CustomizeMathJax{\newcommand{\mY}{\bm Y}} -\CustomizeMathJax{\newcommand{\vy}{\bm y}} -\CustomizeMathJax{\newcommand{\mZ}{\bm Z}} -\CustomizeMathJax{\newcommand{\vz}{\bm z}} - -\CustomizeMathJax{\newcommand{\valpha}{\bm \alpha}} -\CustomizeMathJax{\newcommand{\vbeta}{\bm \beta}} -\CustomizeMathJax{\newcommand{\vgamma}{\bm \gamma}} -\CustomizeMathJax{\newcommand{\vdelta}{\bm \delta}} -\CustomizeMathJax{\newcommand{\vepsi}{\bm \epsi}} -\CustomizeMathJax{\newcommand{\vvarepsilon}{\bm \varepsilon}} -\CustomizeMathJax{\newcommand{\vzeta}{\bm \zeta}} -\CustomizeMathJax{\newcommand{\veta}{\bm \eta}} -\CustomizeMathJax{\newcommand{\vtheta}{\bm \theta}} -\CustomizeMathJax{\newcommand{\viota}{\bm \iota}} -\CustomizeMathJax{\newcommand{\vkappa}{\bm \kappa}} -\CustomizeMathJax{\newcommand{\vlambda}{\bm \lambda}} -\CustomizeMathJax{\newcommand{\vmu}{\bm \mu}} -\CustomizeMathJax{\newcommand{\vnu}{\bm \nu}} -\CustomizeMathJax{\newcommand{\vxi}{\bm \xi}} -\CustomizeMathJax{\newcommand{\vpi}{\bm \pi}} -\CustomizeMathJax{\newcommand{\vrho}{\bm \rho}} -\CustomizeMathJax{\newcommand{\vsigma}{\bm \sigma}} -\CustomizeMathJax{\newcommand{\vtau}{\bm \tau}} -\CustomizeMathJax{\newcommand{\vupsilon}{\bm \upsilon}} -\CustomizeMathJax{\newcommand{\vphi}{\bm \phi}} -\CustomizeMathJax{\newcommand{\vchi}{\bm \chi}} -\CustomizeMathJax{\newcommand{\vpsi}{\bm \psi}} -\CustomizeMathJax{\newcommand{\vomega}{\bm \omega}} - -\CustomizeMathJax{\newcommand{\mGamma}{\bm \varGamma}} -\CustomizeMathJax{\newcommand{\mDelta}{\bm \varDelta}} -\CustomizeMathJax{\newcommand{\mTheta}{\bm \varTheta}} -\CustomizeMathJax{\newcommand{\mLambda}{\bm \varLambda}} -\CustomizeMathJax{\newcommand{\mXi}{\bm \varXi}} -\CustomizeMathJax{\newcommand{\mPi}{\bm \varPi}} -\CustomizeMathJax{\newcommand{\mSigma}{\bm \varSigma}} -\CustomizeMathJax{\newcommand{\mUpsilon}{\bm \varUpsilon}} -\CustomizeMathJax{\newcommand{\mPhi}{\bm \varPhi}} -\CustomizeMathJax{\newcommand{\mPsi}{\bm \varPsi}} -\CustomizeMathJax{\newcommand{\mOmega}{\bm \varOmega}} +\LWR@mathjax@addlatin@u@bfit{m}% uppercase Latin, bold italic +\LWR@mathjax@addlatin@l@bfit{v}% lowercase Latin, bold italic + +\LWR@mathjax@addgreek@l@bfit{v}{}% lowercase Greek bold italic +\LWR@mathjax@addgreek@u@bfit*{m}{}% uppercase Greek bold italic, capitalized macro names \CustomizeMathJax{\newcommand{\rb}{\mathrm{b}}} \CustomizeMathJax{\newcommand{\rB}{\mathrm{B}}} @@ -51297,12 +51732,16 @@ name = \chemmacros_translate:n {scheme-name} % \codehtml % % Discard all options for \pkg{lwarp-everyshi}: +% \changes{v0.89}{2020/07/28}{\pkg{everyshi}: Adapt to \LaTeX kernel changes.} % \begin{macrocode} \LWR@ProvidesPackageDrop{everyshi}[2001/05/15] % \end{macrocode} % % \begin{macrocode} +\let\EveryShipout\relax \newcommand*{\EveryShipout}[1]{} + +\let\AtNextShipout\relax \newcommand*{\AtNextShipout}[1]{} % \end{macrocode} % @@ -56195,6 +56634,99 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space % % % \iffalse +%<*hepunits> +% \fi +% +% \part{lwarp-hepunits.sty} +% +% \section{hepunits} +% +% \credits{Andy Buckley} +% +% \DescribePackage{hepunits} +% \pkg{hepunits} is used as-is, and emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/07/23}{\pkg{hepunits}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{hepunits}[2020/04/10] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{hepunits} + +\ifx\@HEPopt@sicmds\@yes +\CustomizeMathJax{\newcommand{\micron}{\micro\metre}} +\CustomizeMathJax{\newcommand{\mrad}{\milli\radian}} +\fi + +\CustomizeMathJax{\newcommand{\gauss}{\mathrm{G}}} + +\CustomizeMathJax{\newcommand{\invcmsq}{\centi\metre\tothe{-2}}} +\CustomizeMathJax{\newcommand{\invcmsqpersecond}{\invcmsq\second\tothe{-1}}} +\CustomizeMathJax{\newcommand{\invcmsqpersec}{\invcmsqpersecond}} + +%% (Inverse) cross-sections +\CustomizeMathJax{\newcommand{\invbarn}{\barn\tothe{-1}}} + +\ifx\@HEPopt@noprefixcmds\@empty +\CustomizeMathJax{\newcommand{\millibarn}{\milli\barn}} +\CustomizeMathJax{\newcommand{\microbarn}{\micro\barn}} +\CustomizeMathJax{\newcommand{\nanobarn}{\nano\barn}} +\CustomizeMathJax{\newcommand{\picobarn}{\pico\barn}} +\CustomizeMathJax{\newcommand{\femtobarn}{\femto\barn}} +\CustomizeMathJax{\newcommand{\attobarn}{\atto\barn}} +\CustomizeMathJax{\newcommand{\zeptobarn}{\zepto\barn}} +\CustomizeMathJax{\newcommand{\yoctobarn}{\yocto\barn}} +\CustomizeMathJax{\newcommand{\invnanobarn}{\nano\invbarn}} +\CustomizeMathJax{\newcommand{\invpicobarn}{\pico\invbarn}} +\CustomizeMathJax{\newcommand{\invfemtobarn}{\femto\invbarn}} +\CustomizeMathJax{\newcommand{\invattobarn}{\atto\invbarn}} +\CustomizeMathJax{\newcommand{\invzeptobarn}{\zepto\invbarn}} +\CustomizeMathJax{\newcommand{\invyoctobarn}{\yocto\invbarn}} +\CustomizeMathJax{\newcommand{\invnb}{\invnanobarn}} +\CustomizeMathJax{\newcommand{\invpb}{\invpicobarn}} +\CustomizeMathJax{\newcommand{\invfb}{\invfemtobarn}} +\CustomizeMathJax{\newcommand{\invab}{\invattobarn}} +\CustomizeMathJax{\newcommand{\invzb}{\invzeptobarn}} +\CustomizeMathJax{\newcommand{\invyb}{\invyoctobarn}} +\fi + +\CustomizeMathJax{\newcommand{\electronvoltc}{\electronvolt\per\mathit{c}}} +\CustomizeMathJax{\newcommand{\electronvoltcsq}{\electronvolt\per\mathit{c}\squared}} +\CustomizeMathJax{\let\eVc\electronvoltc} +\CustomizeMathJax{\let\eVcsq\electronvoltcsq} + +\ifx\@HEPopt@noprefixcmds\@empty +\CustomizeMathJax{\newcommand{\meV}{\milli\eV}} +\CustomizeMathJax{\newcommand{\keV}{\kilo\eV}} +\CustomizeMathJax{\newcommand{\MeV}{\mega\eV}} +\CustomizeMathJax{\newcommand{\GeV}{\giga\eV}} +\CustomizeMathJax{\newcommand{\TeV}{\tera\eV}} +\CustomizeMathJax{\newcommand{\meVc}{\milli\eVc}} +\CustomizeMathJax{\newcommand{\keVc}{\kilo\eVc}} +\CustomizeMathJax{\newcommand{\MeVc}{\mega\eVc}} +\CustomizeMathJax{\newcommand{\GeVc}{\giga\eVc}} +\CustomizeMathJax{\newcommand{\TeVc}{\tera\eVc}} +\CustomizeMathJax{\newcommand{\meVcsq}{\milli\eVcsq}} +\CustomizeMathJax{\newcommand{\keVcsq}{\kilo\eVcsq}} +\CustomizeMathJax{\newcommand{\MeVcsq}{\mega\eVcsq}} +\CustomizeMathJax{\newcommand{\GeVcsq}{\giga\eVcsq}} +\CustomizeMathJax{\newcommand{\TeVcsq}{\tera\eVcsq}} +\fi +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</hepunits> +% \fi +% +% +% +% \iffalse %<*hhline> % \fi % @@ -56247,6 +56779,62 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space % % % \iffalse +%<*hhtensor> +% \fi +% +% \part{lwarp-hhtensor.sty} +% +% \section{hhtensor} +% +% \credits{Harald Harders} +% +% \DescribePackage{hhtensor} +% \pkg{hhtensor} is used as-is, and emulated for \brand{MathJax}. +% +% \changes{v0.88}{2020/07/23}{\pkg{hhtensor}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{hhtensor}[2011/12/29] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpMathJax} +\iftensor@bold + \CustomizeMathJax{\newcommand{\vec}[1]{\boldsymbol{#1}}} + \CustomizeMathJax{\newcommand{\matr}[1]{\boldsymbol{#1}}} + \CustomizeMathJax{\newcommand{\tens}[2]{\boldsymbol{#1}}} +\else + \iftensor@uline + \CustomizeMathJax{\newcommand{\vec}[1]{\ushort{#1}}} + \CustomizeMathJax{\newcommand{\matr}[1]{\ushortd{#1}}} + \CustomizeMathJax{\newcommand{\tens}[2]{ + \underset{ + \raise{.5ex}{\underset{#2}{\sim}} + }{#1} + }} + \else + \CustomizeMathJax{\newcommand{\matr}[1]{\vec{\vec{#1}}}} + \CustomizeMathJax{\newcommand{\tens}[2]{ + \underset{ + \raise{.5ex}{\underset{#2}{\sim}} + }{#1} + }} + \fi +\fi +\CustomizeMathJax{\newcommand{\dcdot}{\mathrel{\cdot\mkern 0.0mu \cdot}}} +\CustomizeMathJax{\newcommand{\trans}{{}^{\mathrm{T}}}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</hhtensor> +% \fi +% +% +% +% \iffalse %<*hypbmsec> % \fi % @@ -59418,7 +60006,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % The print version does not seem to honor \env{longtable*} from the % \trouble[table numbering]{ltxtable=\pkg{ltxtable}>numbering} -% \trouble{table>numbering} +% \trouble{table>numbering>ltextable=\pkg{ltxtable}} % \pkg{caption} package, while \pkg{lwarp} does. % % \changes{v0.44}{2017/11/15}{\pkg{ltxtable}: Added.} @@ -60410,6 +60998,46 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % % \iffalse +%<*mathalpha> +% \fi +% +% \part{lwarp-mathalpha.sty} +% +% \section{mathalpha} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{mathalpha} +% \pkg{mathalpha} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options, +% \trouble[limitations]{mathalpha=\pkg{mathalpha}} +% and some bold fonts may not be not supported by \brand{MathJax}. +% +% \changes{v0.89}{2020/08/31}{\pkg{mathalpha}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{mathalpha}[2019/10/05] + +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\mathbbb}[1]{\boldsymbol{\mathbb{#1}}}}% not bold +\CustomizeMathJax{\newcommand{\mathbcal}[1]{\boldsymbol{\mathcal{#1}}}} +\CustomizeMathJax{\newcommand{\mathbfrak}[1]{\boldsymbol{\mathfrak{#1}}}} +\CustomizeMathJax{\newcommand{\mathbscr}[1]{\boldsymbol{\mathscr{#1}}}}% not bold +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mathalpha> +% \fi +% +% +% +% +% \iffalse %<*mathcomp> % \fi % @@ -60450,6 +61078,96 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % % +% +% \iffalse +%<*mathdesign> +% \fi +% +% \part{lwarp-mathdesign.sty} +% +% \section{mathdesign} +% +% \credits{Paul Pichaureau} +% +% \DescribePackage{mathdesign} +% \pkg{mathdesign} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{mathdesign=\pkg{mathdesign}} +% The explicit macros for upright and italic greek letters do work correctly, +% although the user may wish to swap the definitions for +% epsilon and phi. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/08}{\pkg{mathdesign}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} +\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols} + +\LWR@ProvidesPackagePass{mathdesign}[2013/08/29] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{mathdesign} + +% upright +\LWR@mathjax@addgreek@l@up{}{up} +\LWR@mathjax@addgreek@u@up*{}{up} + + +% italicized +\LWR@mathjax@addgreek@l@it{}{it} +\LWR@mathjax@addgreek@u@it*{}{it} + +% adapt to mathdesign inconsistency: +\CustomizeMathJax{\let\digammaup\Digammaup} +\CustomizeMathJax{\renewcommand{\digammait}{\mathit{\digammaup}}} + +% extra symbols +\CustomizeMathJax{\newcommand{\smallin}{\unicode{x220A}}} +\CustomizeMathJax{\newcommand{\smallowns}{\unicode{x220D}}} +\CustomizeMathJax{\newcommand{\notsmallin}{\LWRoverlaysymbols{/}{\unicode{x220A}}}} +\CustomizeMathJax{\newcommand{\notsmallowns}{\LWRoverlaysymbols{/}{\unicode{x220D}}}} +\CustomizeMathJax{\newcommand{\rightangle}{\unicode{x221F}}} + +% integrals +\CustomizeMathJax{\newcommand{\intclockwise}{\unicode{x2231}}} +\CustomizeMathJax{\newcommand{\ointclockwise}{\unicode{x2232}}} +\CustomizeMathJax{\newcommand{\ointctrclockwise}{\unicode{x2233}}} +\CustomizeMathJax{\newcommand{\oiint}{\unicode{x222F}}} +\CustomizeMathJax{\newcommand{\oiiint}{\unicode{x2230}}} + +% math and text mode +\CustomizeMathJax{\newcommand{\ddag}{\unicode{x2021}}} +\CustomizeMathJax{\newcommand{\P}{\unicode{x00B6}}} +\CustomizeMathJax{\newcommand{\copyright}{\unicode{x00A9}}} +\CustomizeMathJax{\newcommand{\dag}{\unicode{x2020}}} +\CustomizeMathJax{\newcommand{\pounds}{\unicode{x00A3}}} + +% extra symbols +\CustomizeMathJax{\newcommand{\iddots}{\unicode{x22F0}}} +\CustomizeMathJax{\newcommand{\utimes}{\overline{\times}}} +\CustomizeMathJax{\newcommand{\dtimes}{\underline{\times}}} +\CustomizeMathJax{\newcommand{\udtimes}{\overline{\underline{\times}}}} +\CustomizeMathJax{\newcommand{\leftwave}{\left\{}} +\CustomizeMathJax{\newcommand{\rightwave}{\right\}}} + +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mathdesign> +% \fi +% +% +% +% % \iffalse %<*mathdots> % \fi @@ -60528,6 +61246,96 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % % \iffalse +%<*mathpazo> +% \fi +% +% \part{lwarp-mathpazo.sty} +% +% \section{mathpazo} +% +% \credits{Walter Schmidt} +% +% \DescribePackage{mathpazo} +% \pkg{mathpazo} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{mathpazo=\pkg{mathpazo}} +% The explicit macros for upright greek letters do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/10}{\pkg{mathpazo}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{mathpazo}[2020/03/25] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{mathpazo} + +\LWR@mathjax@addgreek@u@up*{up}{} + +\CustomizeMathJax{\newcommand{\mathbold}[1]{\boldsymbol{#1}}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mathpazo> +% \fi +% +% +% +% \iffalse +%<*mathptmx> +% \fi +% +% \part{lwarp-mathptmx.sty} +% +% \section{mathptmx} +% +% \credits{Walter Schmidt} +% +% \DescribePackage{mathptmx} +% \pkg{mathptmx} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{mathptmx=\pkg{mathptmx}} +% The explicit macros for upright greek letters do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/10}{\pkg{mathptmx}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{mathptmx}[2020/03/25] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{mathptmx} + +\LWR@mathjax@addgreek@u@up*{up}{} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mathptmx> +% \fi +% +% +% +% \iffalse %<*mathtools> % \fi % @@ -60610,7 +61418,16 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \CustomizeMathJax{\newcommand{\crampedclap}[2][]{{#1#2}}} \CustomizeMathJax{\newenvironment{crampedsubarray}[1]{}{}} \CustomizeMathJax{\newcommand{\crampedsubstack}{}} -\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2}} +% \end{macrocode} +% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\smashoperator}[2][]{#2\limits}} +% \end{macrocode} +% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Added \cs{adjustlimits}.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\adjustlimits}{}} +% \end{macrocode} +% \begin{macrocode} \CustomizeMathJax{\newcommand{\SwapAboveDisplaySkip}{}} \CustomizeMathJax{\require{extpfeil}} @@ -60816,8 +61633,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \CustomizeMathJax{\newcommand\lparen{(}} \CustomizeMathJax{\newcommand\rparen{)}} -\CustomizeMathJax{\newcommand{\vcentcolon}{:}} \CustomizeMathJax{\newcommand{\ordinarycolon}{:}} +% \end{macrocode} +% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\vcentcolon}{\mathrel{\mathop\ordinarycolon}}} \CustomizeMathJax{\newcommand\dblcolon{\vcentcolon\vcentcolon}} \CustomizeMathJax{\newcommand\coloneqq{\vcentcolon=}} @@ -60835,9 +61655,12 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \CustomizeMathJax{\newcommand\colonsim{\vcentcolon\sim}} \CustomizeMathJax{\newcommand\Colonsim{\dblcolon\sim}} -\CustomizeMathJax{\newcommand{\nuparrow}{\cancel{\uparrow}}} -\CustomizeMathJax{\newcommand{\ndownarrow}{\cancel{\downarrow}}} -\CustomizeMathJax{\newcommand{\bigtimes}{{\Large\times}}} +% \end{macrocode} +% \changes{v0.89}{2020/08/21}{\pkg{mathtools}: Minor improvements.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\nuparrow}{\mathrel{\cancel{\uparrow}}}} +\CustomizeMathJax{\newcommand{\ndownarrow}{\mathrel{\cancel{\downarrow}}}} +\CustomizeMathJax{\newcommand{\bigtimes}{\mathop{\Large\times}\limits}} \CustomizeMathJax{\newcommand{\prescript}[3]{{}^{#1}_{#2}#3}} @@ -62199,6 +63022,7 @@ background: % \cs{mathset} may be set with \cs{CustomizeMathJax} in the preamble. % % \changes{v0.80}{2020/02/14}{\pkg{mismath}: Added.} +% \changes{v0.89}{2020/09/02}{\pkg{mismath}: Improved math operators.} % % \codehtml % @@ -62258,48 +63082,48 @@ background: \CustomizeMathJax{\newcommand{\V}{\operatorname{\probastyle{V}}}} \CustomizeMathJax{\newcommand{\Par}{\unicode{x00B6}}} -\CustomizeMathJax{\newcommand{\adj}{\mathrm{adj}}} -\CustomizeMathJax{\newcommand{\Aut}{\mathrm{Aut}}} -\CustomizeMathJax{\newcommand{\Conv}{\mathrm{Conv}}} -\CustomizeMathJax{\newcommand{\cov}{\mathrm{cov}}} -\CustomizeMathJax{\newcommand{\Cov}{\mathrm{Cov}}} -\CustomizeMathJax{\newcommand{curl}{\operatorname{\vect{\mathrm{curl}}}}} -\CustomizeMathJax{\newcommand{\divg}{\mathrm{div}}} -\CustomizeMathJax{\newcommand{\End}{\mathrm{End}}} - -\CustomizeMathJax{\newcommand{\erf}{\mathrm{erf}}} -\CustomizeMathJax{\newcommand{grad}{\operatorname{\vect{\mathrm{grad}}}}} -\CustomizeMathJax{\newcommand{\id}{\mathrm{id}}} -\CustomizeMathJax{\newcommand{\Id}{\mathrm{Id}}} -\CustomizeMathJax{\newcommand{\im}{\mathrm{im}}} +\CustomizeMathJax{\DeclareMathOperator{\adj}{adj}} +\CustomizeMathJax{\DeclareMathOperator{\Aut}{Aut}} +\CustomizeMathJax{\DeclareMathOperator{\Conv}{Conv}} +\CustomizeMathJax{\DeclareMathOperator{\cov}{cov}} +\CustomizeMathJax{\DeclareMathOperator{\Cov}{Cov}} +\CustomizeMathJax{\newcommand{\curl}{\operatorname{\vect{\mathrm{curl}}}}} +\CustomizeMathJax{\DeclareMathOperator{\divg}{div}} +\CustomizeMathJax{\DeclareMathOperator{\End}{End}} + +\CustomizeMathJax{\DeclareMathOperator{\erf}{erf}} +\CustomizeMathJax{\newcommand{\grad}{\operatorname{\vect{\mathrm{grad}}}}} +\CustomizeMathJax{\DeclareMathOperator{\id}{id}} +\CustomizeMathJax{\DeclareMathOperator{\Id}{Id}} +\CustomizeMathJax{\DeclareMathOperator{\im}{im}} \CustomizeMathJax{\let\oldIm\Im} \CustomizeMathJax{\renewcommand{\Im}{\operatorname{Im}}} -\CustomizeMathJax{\newcommand{\lb}{\mathrm{lb}}} -\CustomizeMathJax{\newcommand{\lcm}{\mathrm{lcm}}} +\CustomizeMathJax{\DeclareMathOperator{\lb}{lb}} +\CustomizeMathJax{\DeclareMathOperator{\lcm}{lcm}} -\CustomizeMathJax{\newcommand{\rank}{\mathrm{rank}}} +\CustomizeMathJax{\DeclareMathOperator{\rank}{rank}} \CustomizeMathJax{\let\oldRe\Re} \CustomizeMathJax{\renewcommand{\Re}{\operatorname{Re}}} -\CustomizeMathJax{\newcommand{rot}{\operatorname{\vect{\mathrm{rot}}}}} -\CustomizeMathJax{\newcommand{\sgn}{\mathrm{sgn}}} -\CustomizeMathJax{\newcommand{\spa}{\mathrm{span}}} -\CustomizeMathJax{\newcommand{\tr}{\mathrm{tr}}} -\CustomizeMathJax{\newcommand{\Var}{\mathrm{Var}}} -\CustomizeMathJax{\newcommand{\Zu}{\mathrm{Z}}} - -\CustomizeMathJax{\newcommand{\arccot}{\mathrm{arccot}}} -\CustomizeMathJax{\newcommand{\sech}{\mathrm{sech}}} -\CustomizeMathJax{\newcommand{\csch}{\mathrm{csch}}} -\CustomizeMathJax{\newcommand{\arsinh}{\mathrm{arsinh}}} -\CustomizeMathJax{\newcommand{\arcosh}{\mathrm{arcosh}}} -\CustomizeMathJax{\newcommand{\artanh}{\mathrm{artanh}}} -\CustomizeMathJax{\newcommand{\arcoth}{\mathrm{arcoth}}} -\CustomizeMathJax{\newcommand{\arsech}{\mathrm{arsech}}} -\CustomizeMathJax{\newcommand{\arcsch}{\mathrm{arcsch}}} - -\CustomizeMathJax{\newcommand{\bigO}{\mathcal{O}}} -\CustomizeMathJax{\newcommand{\bigo}{\mathrm{O}}} -\CustomizeMathJax{\newcommand{\lito}{\mathrm{o}}} +\CustomizeMathJax{\newcommand{\rot}{\operatorname{\vect{\mathrm{rot}}}}} +\CustomizeMathJax{\DeclareMathOperator{\sgn}{sgn}} +\CustomizeMathJax{\DeclareMathOperator{\spa}{span}} +\CustomizeMathJax{\DeclareMathOperator{\tr}{tr}} +\CustomizeMathJax{\DeclareMathOperator{\Var}{Var}} +\CustomizeMathJax{\DeclareMathOperator{\Zu}{Z}} + +\CustomizeMathJax{\DeclareMathOperator{\arccot}{arccot}} +\CustomizeMathJax{\DeclareMathOperator{\sech}{sech}} +\CustomizeMathJax{\DeclareMathOperator{\csch}{csch}} +\CustomizeMathJax{\DeclareMathOperator{\arsinh}{arsinh}} +\CustomizeMathJax{\DeclareMathOperator{\arcosh}{arcosh}} +\CustomizeMathJax{\DeclareMathOperator{\artanh}{artanh}} +\CustomizeMathJax{\DeclareMathOperator{\arcoth}{arcoth}} +\CustomizeMathJax{\DeclareMathOperator{\arsech}{arsech}} +\CustomizeMathJax{\DeclareMathOperator{\arcsch}{arcsch}} + +\CustomizeMathJax{\DeclareMathOperator{\bigO}{\mathcal{O}}} +\CustomizeMathJax{\DeclareMathOperator{\bigo}{O}} +\CustomizeMathJax{\DeclareMathOperator{\lito}{o}} \CustomizeMathJax{\newcommand{\R}{\mathset{R}}} \CustomizeMathJax{\newcommand{\C}{\mathset{C}}} @@ -62383,6 +63207,41 @@ background: % % % +% \iffalse +%<*mleftright> +% \fi +% +% \part{lwarp-mleftright.sty} +% +% \section{mleftright} +% +% \credits{Heiko Oberdiek} +% +% \DescribePackage{mleftright} +% \pkg{mleftright} is used as-is, and is emulated for \brand{MathJax}. +% +% \changes{v0.88}{2020/07/22}{\pkg{mleftright}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{mleftright}[2019/12/03] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\mleft}{\left}} +\CustomizeMathJax{\newcommand{\mright}{\right}} +\CustomizeMathJax{\newcommand{\mleftright}{}} +\CustomizeMathJax{\newcommand{\mleftrightrestore}{}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</mleftright> +% \fi +% +% % % \iffalse %<*morefloats> @@ -63781,6 +64640,123 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak % % % +% \iffalse +%<*newpxmath> +% \fi +% +% \part{lwarp-newpxmath.sty} +% +% \section{newpxmath} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{newpxmath} +% \pkg{newpxmath} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{newpxmath=\pkg{newpxmath}} +% The explicit macros for upright and italic Greek do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/31}{\pkg{newpxmath}: Added.} +% +% \codehtml +% +% The \brand{MathJax} code from \pkg{newtxmath} is used: +% \begin{macrocode} +\LWR@ProvidesPackagePass{newpxmath}[2020/01/09] + +\LWR@infoprocessingmathjax{newpxmath} + +\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath} +% \end{macrocode} +% +% \iffalse +%</newpxmath> +% \fi +% +% +% +% \iffalse +%<*newtxmath> +% \fi +% +% \part{lwarp-newtxmath.sty} +% +% \section{newtxmath} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{newtxmath} +% \pkg{newtxmath} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options, +% \trouble[limitations]{newtxmath=\pkg{newtxmath}} +% except that bold italic Latin letters are not defined for \brand{MathJax} if +% the option is not selected. +% +% The explicit macros for upright and italic Greek and bold italic Latin letters +% do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/31}{\pkg{newtxmath}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{newtxmath}[2020/08/04] + +\LWR@infoprocessingmathjax{newtxmath} + +\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath} +% \end{macrocode} +% +% \iffalse +%</newtxmath> +% \fi +% +% +% +% +% \iffalse +%<*newtxsf> +% \fi +% +% \part{lwarp-newtxsf.sty} +% +% \section{newtxsf} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{newtxsf} +% \pkg{newtxsf} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% The \brand{MathJax} emulation ignores all package options. +% \trouble[limitations]{newtxsf=\pkg{newtxsf}} +% The explicit macros for upright and italic Greek and bold italic Latin letters +% do work correctly. +% \SVG\ math should appear the same as the printed output. +% +% \changes{v0.89}{2020/08/31}{\pkg{newtxsf}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{newtxsf}[2020/05/02] + +\LWR@infoprocessingmathjax{newtxsf} + +\LWR@origRequirePackage{lwarp-common-mathjax-newpxtxmath} +% \end{macrocode} +% +% \iffalse +%</newtxsf> +% \fi +% +% % % \iffalse %<*nextpage> @@ -67659,6 +68635,45 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % \iffalse +%<*pxfonts> +% \fi +% +% \part{lwarp-pxfonts.sty} +% +% \section{pxfonts} +% +% \credits{Young Ryu} +% +% \DescribePackage{pxfonts} +% \pkg{pxfonts} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/10}{\pkg{pxfonts}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{pxfonts}[2008/01/22] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{pxfonts} + +\LWR@mathjax@addgreek@l@up{}{up} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</pxfonts> +% \fi +% +% +% +% \iffalse %<*pxftnright> % \fi % @@ -69903,6 +70918,78 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % \iffalse +%<*shuffle> +% \fi +% +% \part{lwarp-shuffle.sty} +% +% \section{shuffle} +% +% \credits{Julian Gilbey and Antoine Lejay} +% +% \DescribePackage{shuffle} +% \pkg{shuffle} is emulated for \SVG\ math, and +% also emulated for \brand{MathJax}. +% +% The font used for \pkg{shuffle} may not render correctly when +% converted to \SVG\ math, so a \env{picture} environment drawing +% is used instead. +% +% For \brand{MathJax}, the Unicode character is used, and for +% \cs{cshuffle} a \cs{bar} is added. +% +% \changes{v0.89}{2020/07/26}{\pkg{shuffle}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{shuffle}[2008/10/27] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpHTML} +\newcommand*{\LWR@shuffle@start}{% + \hspace*{.2em} + \begin{picture}(.75,0.65) + \setlength{\unitlength}{1em} + \put(0,0){\line(1,0){.75}} + \put(0,0){\line(0,1){.5}} + \put(.375,0){\line(0,1){.5}} + \put(.75,0){\line(0,1){.5}} +} + +\newcommand*{\LWR@shuffle@finish}{% + \end{picture} + \hspace*{.75em} + \hspace*{.2em} +} + +\newcommand*{\shuffle}{% + \LWR@shuffle@start% + \LWR@shuffle@finish% +} + +\newcommand*{\cshuffle}{% + \LWR@shuffle@start% + \put(.05,.65){\line(1,0){.65}}% + \LWR@shuffle@finish% +} +\end{warpHTML} + +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\shuffle}{\unicode{0x29E2}}} +\CustomizeMathJax{\newcommand{\cshuffle}{\bar{\unicode{0x29E2}}}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</shuffle> +% \fi +% +% +% +% +% \iffalse %<*sidecap> % \fi @@ -70392,7 +71479,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \CustomizeMathJax{\newcommand{\barn}{\mathrm{b}}} \CustomizeMathJax{\newcommand{\bbar}{\mathrm{bar}}} \CustomizeMathJax{\newcommand{\gal}{\mathrm{Gal}}} -\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x00C5}}}} +\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x212B}}}} \CustomizeMathJax{\newcommand{\rperminute}{\mathrm{r}\per\minute}} \CustomizeMathJax{\newcommand{\rpersecond}{\mathrm{r}\per\second}} \CustomizeMathJax{\newcommand{\squaremetre}{\power{\metre}{2}}} @@ -70878,6 +71965,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \begin{macrocode} \begin{warpMathJax} \LWR@infoprocessingmathjax{siunitx} +% \end{macrocode} +% +% \changes{v0.89}{2020/07/23}{\pkg{siunitx}: Fix: \brand{MathJax} for \cs{tothe}, \cs{raiseto}.} +% \begin{macrocode} +\CustomizeMathJax{\newcommand{\tothe}[1]{^{#1}}} +\CustomizeMathJax{\newcommand{\raiseto}[2]{{#2}^{#1}}} \CustomizeMathJax{\newcommand{\ang}[2][]{(\mathrm{#2})\degree}} \CustomizeMathJax{\newcommand{\num}[2][]{\mathrm{#2}}} @@ -70886,11 +71979,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \SI[opt]{num}[preunit]{unit} \CustomizeMathJax{\newcommand{\LWRSI}[2][]{\mathrm{#1\LWRSInumber\,#2}}} \CustomizeMathJax{\newcommand{\SI}[2][]{\def\LWRSInumber{#2}\LWRSI}} +% \end{macrocode} % +% \changes{v0.89}{2020/08/02}{\pkg{siunitx}: Unicode for endash.} +% \begin{macrocode} \CustomizeMathJax{\newcommand{\numlist}[2][]{\mathrm{#2}}} -\CustomizeMathJax{\newcommand{\numrange}[3][]{\mathrm{#2~-- #3}}} +\CustomizeMathJax{\newcommand{\numrange}[3][]{\mathrm{#2\,\unicode{x2013}\,#3}}} \CustomizeMathJax{\newcommand{\SIlist}[3][]{\mathrm{#2\,#3}}} -\CustomizeMathJax{\newcommand{\SIrange}[4][]{\mathrm{#2\,#4~-- #3\,#4}}} +\CustomizeMathJax{\newcommand{\SIrange}[4][]{\mathrm{#2\,#4\,\unicode{x2013}\,#3\,#4}}} \CustomizeMathJax{\newcommand{\tablenum}[2][]{\mathrm{#2}}} % \CustomizeMathJax{\newcommand{\ampere}{\mathrm{A}}} @@ -70942,8 +72038,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \CustomizeMathJax{\newcommand{\electronvolt}{\mathrm{eV}}} \CustomizeMathJax{\newcommand{\elementarycharge}{\mathit{e}}} \CustomizeMathJax{\newcommand{\hartree}{\mathit{E}_{\mathrm{h}}}} -\CustomizeMathJax{\newcommand{\planckbar}{\mathit{\unicode{x0127}}}} -\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x00C5}}}} +\CustomizeMathJax{\newcommand{\planckbar}{\mathit{\unicode{x210F}}}} +\CustomizeMathJax{\newcommand{\angstrom}{\mathrm{\unicode{x212B}}}} \CustomizeMathJax{\let\LWRorigbar\bar} \CustomizeMathJax{\newcommand{\bar}{\mathrm{bar}}} \CustomizeMathJax{\newcommand{\barn}{\mathrm{b}}} @@ -72104,10 +73200,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % is emulated for \brand{MathJax}. % % \changes{v0.81}{2020/02/28}{\pkg{statmath}: Added.} +% \changes{v0.89}{2020/09/01}{\pkg{statmath}: Fixed \optn{abcbm}, +% uses \pkg{lwarp-common-mathjax-letters}.} % % \codehtml % % \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + \LWR@ProvidesPackagePass{statmath}[2018/03/08] % \end{macrocode} % @@ -72115,8 +73215,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \begin{warpMathJax} \LWR@infoprocessingmathjax{statmath} -\CustomizeMathJax{\let\abcbf\mathbf} +\ifdefequal{\abcbf}{\mathbf} + {\CustomizeMathJax{\newcommand{\abcbf}[1]{\mathbf{#1}}}} + {\CustomizeMathJax{\newcommand{\abcbf}[1]{\boldsymbol{#1}}}} + \CustomizeMathJax{\newcommand{\greekbf}[1]{\boldsymbol{#1}}} + \CustomizeMathJax{\newcommand{\bfA}{\abcbf A}} \CustomizeMathJax{\newcommand{\bfB}{\abcbf B}} \CustomizeMathJax{\newcommand{\bfC}{\abcbf C}} @@ -72169,47 +73273,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \CustomizeMathJax{\newcommand{\bfx}{\abcbf x}} \CustomizeMathJax{\newcommand{\bfy}{\abcbf y}} \CustomizeMathJax{\newcommand{\bfz}{\abcbf z}} -\CustomizeMathJax{\newcommand{\bfalpha}{\greekbf \alpha}} -\CustomizeMathJax{\newcommand{\bfbeta}{\greekbf \beta}} -\CustomizeMathJax{\newcommand{\bfdelta}{\greekbf \delta}} -\CustomizeMathJax{\newcommand{\bfepsilon}{\greekbf \epsilon}} -\CustomizeMathJax{\newcommand{\bfvarepsilon}{\greekbf \varepsilon}} -\CustomizeMathJax{\newcommand{\bfzeta}{\greekbf \zeta}} -\CustomizeMathJax{\newcommand{\bfeta}{\greekbf \eta}} -\CustomizeMathJax{\newcommand{\bftheta}{\greekbf \theta}} -\CustomizeMathJax{\newcommand{\bfvartheta}{\greekbf \vartheta}} -\CustomizeMathJax{\newcommand{\bfgamma}{\greekbf \gamma}} -\CustomizeMathJax{\newcommand{\bfkappa}{\greekbf \kappa}} -\CustomizeMathJax{\newcommand{\bflambda}{\greekbf \lambda}} -\CustomizeMathJax{\newcommand{\bfmu}{\greekbf \mu}} -\CustomizeMathJax{\newcommand{\bfnu}{\greekbf \nu}} -\CustomizeMathJax{\newcommand{\bfxi}{\greekbf \xi}} -\CustomizeMathJax{\newcommand{\bfpi}{\greekbf \pi}} -\CustomizeMathJax{\newcommand{\bfvarpi}{\greekbf \varpi}} -\CustomizeMathJax{\newcommand{\bfrho}{\greekbf \rho}} -\CustomizeMathJax{\newcommand{\bfvarrho}{\greekbf \varrho}} -\CustomizeMathJax{\newcommand{\bfsigma}{\greekbf \sigma}} -\CustomizeMathJax{\newcommand{\bfvarsigma}{\greekbf \varsigma}} -\CustomizeMathJax{\newcommand{\bftau}{\greekbf \tau}} -\CustomizeMathJax{\newcommand{\bfupsilon}{\greekbf \upsilon}} -\CustomizeMathJax{\newcommand{\bfphi}{\greekbf \phi}} -\CustomizeMathJax{\newcommand{\bfvarphi}{\greekbf \varphi}} -\CustomizeMathJax{\newcommand{\bfchi}{\greekbf \chi}} -\CustomizeMathJax{\newcommand{\bfpsi}{\greekbf \psi}} -\CustomizeMathJax{\newcommand{\bfomega}{\greekbf \omega}} -\CustomizeMathJax{\newcommand{\bfiota}{\greekbf \iota}} -\CustomizeMathJax{\newcommand{\bfGamma}{\greekbf \Gamma}} -\CustomizeMathJax{\newcommand{\bfDelta}{\greekbf \Delta}} -\CustomizeMathJax{\newcommand{\bfTheta}{\greekbf \Theta}} -\CustomizeMathJax{\newcommand{\bfLambda}{\greekbf \Lambda}} -\CustomizeMathJax{\newcommand{\bfXi}{\greekbf \Xi}} -\CustomizeMathJax{\newcommand{\bfPi}{\greekbf \Pi}} -\CustomizeMathJax{\newcommand{\bfSigma}{\greekbf \Sigma}} -\CustomizeMathJax{\newcommand{\bfUpsilon}{\greekbf \Upsilon}} -\CustomizeMathJax{\newcommand{\bfPhi}{\greekbf \Phi}} -\CustomizeMathJax{\newcommand{\bfPsi}{\greekbf \Psi}} -\CustomizeMathJax{\newcommand{\bfOmega}{\greekbf \Omega}} + +\LWR@mathjax@addgreek@l@bfit{bf}{}% Greek lowercase bold face italic +\LWR@mathjax@addgreek@u@bfup*{bf}{}% Greek uppercase bold face upright, cap macros. + \CustomizeMathJax{\newcommand{\bfzero}{\greekbf 0}} + \CustomizeMathJax{\DeclareMathOperator{\cov}{Cov}} \CustomizeMathJax{\DeclareMathOperator{\E}{E}} \CustomizeMathJax{\DeclareMathOperator{\V}{V}} @@ -74533,12 +75602,13 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % \section{thm-listof} % -% \credits{Ulrich M. Schwarz} +% \credits{Ulrich M. Schwarz, Yukai Chou} % % \DescribePackage{thm-listof} % \pkg{thm-listof} is part of \pkg{thmtools}, and is patched for use by \pkg{lwarp}. % % \changes{v0.88}{2020/07/03}{\pkg{thm-listof}: Added.} +% \changes{v0.89}{2020/09/02}{\pkg{thm-listof}: Updated to v0.72.} % % \codehtml % @@ -74551,29 +75621,35 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % Other \pkg{thm-*} package may be loaded by \pkg{thm-listof}. % \begin{macrocode} -\xpatchcmd{\listoftheorems} - {% - \@xa\protected@edef\csname l@\thmt@envname\endcsname{% - \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}% - }% - } - {% - \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% - } - {} - {\LWR@patcherror{thm-listof}{listoftheorems}} +\@ifpackagelater{thm-listof}{2020/08/01}{% v0.72 + \def\thmtlo@newentry{% + \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% + } +}{% earlier than v0.72 + \xpatchcmd{\listoftheorems} + {% + \@xa\protected@edef\csname l@\thmt@envname\endcsname{% + \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}% + }% + } + {% + \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% + } + {} + {\LWR@patcherror{thm-listof}{listoftheorems}} -\xpatchcmd{\thmt@mklistcmd} - {% - \@xa\protected@edef\csname l@\thmt@envname\endcsname{% - \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}% - }% - } - {% - \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% - } - {} - {\LWR@patcherror{thm-listof}{thmt@mklistcmd}} + \xpatchcmd{\thmt@mklistcmd} + {% + \@xa\protected@edef\csname l@\thmt@envname\endcsname{% + \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}% + }% + } + {% + \csdef{l@\thmt@envname}##1##2{\hypertocfloat{1}{figure}{lof}{##1}{##2}}% + } + {} + {\LWR@patcherror{thm-listof}{thmt@mklistcmd}} +} % \end{macrocode} % % \iffalse @@ -74596,11 +75672,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \pkg{thm-restate} is part of \pkg{thmtools}, and is patched for use by \pkg{lwarp}. % % \changes{v0.88}{2020/07/03}{\pkg{thm-restate}: Added.} +% \changes{v0.89}{2020/09/02}{\pkg{thm-restate}: Updated to v0.72, no changes needed.} % % \codehtml % % \begin{macrocode} -\LWR@ProvidesPackagePass{thm-restate}[2019/12/22] +\LWR@ProvidesPackagePass{thm-restate}[2020/08/01] % \end{macrocode} % % \begin{macrocode} @@ -74677,6 +75754,49 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% +% \iffalse +%<*thmtools> +% \fi +% +% \part{lwarp-thmtools.sty} +% +% \section{thmtools} +% +% \credits{Ulrich M. Schwarz} +% +% \DescribePackage{thmtools} +% \pkg{thmtools} is patched for use by \pkg{lwarp}. +% +% Also see \pkg{thm-listof} and \pkg{thm-restate}. +% +% \changes{v0.89}{2020/09/02}{\pkg{thmtools}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{thmtools}[2020/08/01] +% \end{macrocode} +% +% The following patches either \pkg{thm-amsthm} or \pkg{thm-ntheorem}. +% \begin{macrocode} +\def\thmt@headstyle@margin{% + \InlineClass{amsthmnnumbertheorem}{\NUMBER} + \ + \InlineClass{amsthmnametheorem}{\NAME} + \InlineClass{amsthmnotetheorem}{\NOTE} +} + +\let\thmt@headstyle@swapnumber\thmt@headstyle@margin +% \end{macrocode} +% +% \iffalse +%</thmtools> +% \fi +% +% +% % \iffalse %<*threadcol> % \fi @@ -77200,6 +78320,45 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% \iffalse +%<*txfonts> +% \fi +% +% \part{lwarp-txfonts.sty} +% +% \section{txfonts} +% +% \credits{Young Ryu} +% +% \DescribePackage{txfonts} +% \pkg{txfonts} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/10}{\pkg{txfonts}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{txfonts}[2008/01/22] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{txfonts} + +\LWR@mathjax@addgreek@l@up{}{up} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</txfonts> +% \fi +% +% % \iffalse %<*typearea> % \fi @@ -77743,6 +78902,49 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% \iffalse +%<*upgreek> +% \fi +% +% \part{lwarp-upgreek.sty} +% +% \section{upgreek} +% +% \credits{Walter Schmidt} +% +% \DescribePackage{upgreek} +% \pkg{upgreek} is used as-is for \SVG\ math, and is +% emulated for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/10}{\pkg{upgreek}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} + +\LWR@ProvidesPackagePass{upgreek}[2003/02/12] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\begin{warpMathJax} +\LWR@infoprocessingmathjax{upgreek} + +\LWR@mathjax@addgreek@l@up{up}{} +\LWR@mathjax@addgreek@u@up{Up}{} + +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</upgreek> +% \fi +% +% +% +% % \iffalse %<*upref> % \fi @@ -77817,6 +79019,47 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% +% \iffalse +%<*ushort> +% \fi +% +% \part{lwarp-ushort.sty} +% +% \section{ushort} +% +% \credits{Martin V\"ath} +% +% \DescribePackage{ushort} +% \pkg{ushort} is used as-is, and emulated for \brand{MathJax}. +% +% \changes{v0.88}{2020/07/23}{\pkg{ushort}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{ushort}[2001/06/13] +% \end{macrocode} +% +% \begin{macrocode} +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\ushortdline}[1]{% + \kern{.1em}\underline{\underline{{#1}}}\kern{.1em}% +}} +\CustomizeMathJax{\newcommand{\ushort}[1]{\kern{.1em}\underline{#1}\kern{.1em}}} +\CustomizeMathJax{\newcommand{\ushortd}[1]{\ushortdline{#1}}} +\CustomizeMathJax{\newcommand{\ushortw}[1]{\kern{.1em}\underline{#1}\kern{.1em}}} +\CustomizeMathJax{\newcommand{\ushortdw}[1]{\ushortdline{#1}}} +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</ushort> +% \fi +% +% +% % \iffalse %<*uspace> % \fi @@ -78507,7 +79750,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % \begin{macrocode} \begin{warpHTML} -\makeatletter \ifbool{mathjax}{ % For the hidden print version in the HTML: \newcommand{\Arrow}[2][]{} @@ -78564,7 +79806,6 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', } \AfterEndEnvironment{DispWithArrows*}{\end{lateximage}\end{BlockClass}} } -\makeatother \end{warpHTML} \begin{warpMathJax} @@ -82763,6 +84004,937 @@ height:\LWR@printlength{\LWR@tempheight}% % \fi % % +% +% ^^A *common-mathjax-letters +% ^^A *letters +% +% \iffalse +%<*common-mathjax-letters> +% \fi +% +% \part{lwarp-common-mathjax-letters.sty} +% +% \section{common-mathjax-letters} +% +% \DescribePackage{lwarp-common-mathjax-letters} +% Common code used by a number of packages to generate Greek math characters +% for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/10}{\pkg{lwarp-common-mathjax-letters}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\ProvidesPackage{lwarp-common-mathjax-letters}[2020/08/10] +% \end{macrocode} +% +% +% \begin{noindmacro}{\LWR@mathjax@addletter} +% * \marg{2: capitalize name?} \marg{3: prefix} \marg{4: postfix} +% \marg{5: name} \marg{6: unicode} +% +% Star to italicize the result, used when the unicode character does not exist. +% \begin{macrocode} +\begin{warpMathJax} + +\NewDocumentCommand{\LWR@mathjax@addletter}{s m m m m m}{ + \IfBooleanTF{#2}% + {\edef\LWR@tempone{\LWRtexttitlecase{#5}}}% + {\edef\LWR@tempone{#5}}% + \xdef\LWR@customizedMathJax{% + \LWR@customizedMathJax% + \LWRbackslash(% + \LWRbackslash newcommand\LWRleftbrace\LWRbackslash% + #3% prefix + \LWR@tempone%name + #4% postfix + \LWRrightbrace\LWRleftbrace% + }% + \IfBooleanTF{#1}{% + \xdef\LWR@customizedMathJax{% + \LWR@customizedMathJax% + \LWRbackslash mathit\LWRleftbrace% + \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace% + \LWRrightbrace% + }% + }{% + \xdef\LWR@customizedMathJax{% + \LWR@customizedMathJax% + \LWRbackslash unicode\LWRleftbrace x#6\LWRrightbrace% + }% + }% + \xdef\LWR@customizedMathJax{% + \LWR@customizedMathJax% + \LWRrightbrace\LWRbackslash)\par% + }% +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@l@up} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, lowercase upright. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@l@up}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{03B1} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{03B2} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{03B3} + \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DD} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{03B4} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{03F5} + \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{03B5} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{03B6} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{03B7} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{03B8} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03D1} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{03B9} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{03BA} + \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{03F0} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{03BB} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{03BC} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{03BD} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{03BE} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{03BF} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03C0} + \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03C1} + \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{03F1} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03C3} + \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{03C2} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03C4} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03C5} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03D5} + \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{03C6} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03C7} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03C8} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03C9} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@u@up} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, uppercase upright. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@u@up}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{0391} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{0392} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{0393} + \LWR@mathjax@addletter{#1}{#2}{#3}{digamma}{03DC} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{0394} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{0395} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{0396} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{0397} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{0398} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{03F4} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{0399} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{039A} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{039B} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{039C} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{039D} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{039E} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{039F} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{03A0} + \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{03D6} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{03A1} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{03A3} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{03A4} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{03A5} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{03A6} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{03A7} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{03A8} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{03A9} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@l@it} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, lowercase italic. +% +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@l@it}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6FC} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6FD} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6FE} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6FF} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D716} + \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D700} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D701} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D702} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D703} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D717} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D704} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D705} + \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D718} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D706} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D707} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D708} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D709} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D70A} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D70B} + \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D71B} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D70C} + \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D71A} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D70E} + \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D70D} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D70F} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D710} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D719} + \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D711} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D712} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D713} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D714} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@u@it} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, uppercase italic. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@u@it}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6E2} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6E3} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6E4} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6E5} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6E6} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6E7} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6E8} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6E9} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6F3} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6EA} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6EB} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6EC} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6ED} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6EE} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6EF} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6F0} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6F1} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6F2} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6F4} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6F5} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6F6} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6F7} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6F8} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6F9} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6FA} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@l@bfit} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, lowercase boldface italic. +% +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@l@bfit}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D736} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D737} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D738} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DD} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D739} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D750} + \LWR@mathjax@addletter{#1}{#2}{#3}{varepsilon}{1D73A} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D73B} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D73C} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D73D} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D751} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D73E} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D73F} + \LWR@mathjax@addletter{#1}{#2}{#3}{varkappa}{1D752} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D740} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D741} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D742} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D743} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D744} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D745} + \LWR@mathjax@addletter{#1}{#2}{#3}{varpi}{1D755} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D746} + \LWR@mathjax@addletter{#1}{#2}{#3}{varrho}{1D754} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D748} + \LWR@mathjax@addletter{#1}{#2}{#3}{varsigma}{1D747} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D749} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D74A} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D753} + \LWR@mathjax@addletter{#1}{#2}{#3}{varphi}{1D74B} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D74C} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D74D} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D74E} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@u@bfit} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, uppercase boldface italic. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfit}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D71C} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D71D} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D71E} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D71F} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D720} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D721} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D722} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D723} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D72D} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D724} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D725} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D726} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D727} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D728} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D729} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D72A} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D72B} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D72C} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D72E} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D72F} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D730} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D731} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D732} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D733} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D734} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% +% \begin{noindmacro}{\LWR@mathjax@addgreek@u@bfup} +% * \marg{2: prefix} \marg{3: postfix} +% +% Star to capitalize the macro names. +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% Greek letters, uppercase boldface upright. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addgreek@u@bfup}{s m m}{ + \LWR@mathjax@addletter{#1}{#2}{#3}{alpha}{1D6A8} + \LWR@mathjax@addletter{#1}{#2}{#3}{beta}{1D6A9} + \LWR@mathjax@addletter{#1}{#2}{#3}{gamma}{1D6AA} + \LWR@mathjax@addletter*{#1}{#2}{#3}{digamma}{03DC} + \LWR@mathjax@addletter{#1}{#2}{#3}{delta}{1D6AB} + \LWR@mathjax@addletter{#1}{#2}{#3}{epsilon}{1D6AC} + \LWR@mathjax@addletter{#1}{#2}{#3}{zeta}{1D6AD} + \LWR@mathjax@addletter{#1}{#2}{#3}{eta}{1D6AE} + \LWR@mathjax@addletter{#1}{#2}{#3}{theta}{1D6AF} + \LWR@mathjax@addletter{#1}{#2}{#3}{vartheta}{1D6B9} + \LWR@mathjax@addletter{#1}{#2}{#3}{iota}{1D6B0} + \LWR@mathjax@addletter{#1}{#2}{#3}{kappa}{1D6B1} + \LWR@mathjax@addletter{#1}{#2}{#3}{lambda}{1D6B2} + \LWR@mathjax@addletter{#1}{#2}{#3}{mu}{1D6B3} + \LWR@mathjax@addletter{#1}{#2}{#3}{nu}{1D6B4} + \LWR@mathjax@addletter{#1}{#2}{#3}{xi}{1D6B5} + \LWR@mathjax@addletter{#1}{#2}{#3}{omicron}{1D6B6} + \LWR@mathjax@addletter{#1}{#2}{#3}{pi}{1D6B7} + \LWR@mathjax@addletter{#1}{#2}{#3}{rho}{1D6B8} + \LWR@mathjax@addletter{#1}{#2}{#3}{sigma}{1D6BA} + \LWR@mathjax@addletter{#1}{#2}{#3}{tau}{1D6BB} + \LWR@mathjax@addletter{#1}{#2}{#3}{upsilon}{1D6BC} + \LWR@mathjax@addletter{#1}{#2}{#3}{phi}{1D6BD} + \LWR@mathjax@addletter{#1}{#2}{#3}{chi}{1D6BE} + \LWR@mathjax@addletter{#1}{#2}{#3}{psi}{1D6BF} + \LWR@mathjax@addletter{#1}{#2}{#3}{omega}{1D6C0} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{noindmacro}{\LWR@mathjax@addlatin@u@bfit} \marg{prefix} +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% bold-face italic Latin letters, uppercase and lowercase. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addlatin@u@bfit}{m}{ + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{A}{1D468} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{B}{1D469} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{C}{1D46A} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{D}{1D46B} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{E}{1D46C} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{F}{1D46D} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{G}{1D46E} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{H}{1D46F} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{I}{1D470} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{J}{1D471} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{K}{1D472} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{L}{1D473} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{M}{1D474} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{N}{1D475} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{O}{1D476} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{P}{1D477} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Q}{1D478} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{R}{1D479} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{S}{1D47A} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{T}{1D47B} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{U}{1D47C} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{V}{1D47D} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{W}{1D47E} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{X}{1D47F} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Y}{1D480} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{Z}{1D481} +} +% \end{macrocode} +% \end{noindmacro} +% +% \begin{noindmacro}{\LWR@mathjax@addlatin@l@bfit} \marg{prefix} +% +% Adds \cs{CustomizeMathjax} expressions to define a set of macros for +% bold-face italic Latin letters, uppercase and lowercase. +% \begin{macrocode} +\NewDocumentCommand{\LWR@mathjax@addlatin@l@bfit}{m}{ + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{a}{1D482} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{b}{1D483} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{c}{1D484} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{d}{1D485} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{e}{1D486} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{f}{1D487} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{g}{1D488} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{h}{1D489} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{i}{1D48A} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{j}{1D48B} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{k}{1D48C} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{l}{1D48D} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{m}{1D48E} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{n}{1D48F} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{o}{1D490} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{p}{1D491} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{q}{1D492} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{r}{1D493} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{s}{1D494} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{t}{1D495} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{u}{1D496} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{v}{1D497} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{w}{1D498} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{x}{1D499} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{y}{1D49A} + \LWR@mathjax@addletter{\BooleanFalse}{#1}{}{z}{1D49B} +} +% \end{macrocode} +% \end{noindmacro} +% +% +% \begin{macrocode} +\end{warpMathJax} +% \end{macrocode} + + +% \iffalse +%</common-mathjax-letters> +% \fi +% +% +% +% +% ^^A *common-mathjax-newpxtxmath +% +% \iffalse +%<*common-mathjax-newpxtxmath> +% \fi +% +% \part{lwarp-common-mathjax-newpxtxmath.sty} +% +% \section{common-mathjax-newpxtxmath} +% +% \credits{Michael Sharpe} +% +% \DescribePackage{lwarp-common-mathjax-newpxtxmath} +% Common code used by \pkg{newpxmath}, \pkg{newtxmath}, and \pkg{newtxsf} +% for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/31}{\pkg{lwarp-common-mathjax-newpxtxmath}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\ProvidesPackage{lwarp-common-mathjax-newpxtxmath}[2020/08/31] +% \end{macrocode} +% +% For \brand{MathJax}: +% \begin{macrocode} +\LWR@origRequirePackage{lwarp-common-mathjax-letters} +\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols} + +\begin{warpMathJax} +\CustomizeMathJax{\newcommand{\fAlt}{f}} +\CustomizeMathJax{\newcommand{\rhoAlt}{\rho}} + +\CustomizeMathJax{\newcommand{\imathscr}{\mathord{\mathscr{i}}}} +\CustomizeMathJax{\newcommand{\jmathscr}{\mathord{\mathscr{j}}}} + +\CustomizeMathJax{\let\llbracket[}% single only +\CustomizeMathJax{\let\rrbracket]}% single only +\CustomizeMathJax{\let\lBrack=\llbracket}% single only +\CustomizeMathJax{\let\rBrack=\rrbracket}% single only +\CustomizeMathJax{\let\smlbrace\{} +\CustomizeMathJax{\let\smrbrace\}} +\CustomizeMathJax{\newcommand{\Perp}{\mathrel{\unicode{x02AEB}}}} +\CustomizeMathJax{\newcommand{\nPerp}{\mathrel{\not{\!\unicode{x02AEB}}}}} +\CustomizeMathJax{\newcommand{\lambdabar}{% + \mathord{\LWRoverlaysymbols{\raise{.5ex}{-}}{\lambda}}% +}} +\CustomizeMathJax{\newcommand{\lambdaslash}{\mathord{\unicode{x019B}}}} +\CustomizeMathJax{\newcommand{\Zbar}{\mathord{\unicode{x01B5}}}} +\CustomizeMathJax{\newcommand{\Angstrom}{\mathord{\unicode{x212B}}}} +\CustomizeMathJax{\newcommand{\Euler}{\mathord{\unicode{x2107}}}} +\CustomizeMathJax{\newcommand{\transp}{\mathord{\unicode{xFF34}}}} +\CustomizeMathJax{\newcommand{\hermtransp}{\mathord{\unicode{xFF28}}}} +\CustomizeMathJax{\let\htransp=\hermtransp} +\CustomizeMathJax{\newcommand{\circledplus}{\mathbin{\unicode{x2295}}}} +\CustomizeMathJax{\newcommand{\circledminus}{\mathbin{\unicode{x2296}}}} +\CustomizeMathJax{\newcommand{\circledtimes}{\mathbin{\unicode{x2297}}}} +\CustomizeMathJax{\newcommand{\circleddot}{\mathbin{\unicode{x2299}}}} +\CustomizeMathJax{\let\overgroup\overparen} +\CustomizeMathJax{\let\overgroupra\overrightarrow} +\CustomizeMathJax{\let\undergroup\underparen} +\CustomizeMathJax{\let\undergroupla\underleftarrow} +\CustomizeMathJax{\newcommand{\widering}[1]{\stackrel{\unicode{x2218}}{\overgroup{#1}}}} +\CustomizeMathJax{\let\widearc\overparen} +\CustomizeMathJax{\let\wideOarc\overrightarrow} +\CustomizeMathJax{\newcommand{\LWRvvstar}[2]{{\overrightarrow{#1}_{#2}}}} +\CustomizeMathJax{\newcommand{\vv}{\ifstar\LWRvvstar\overrightarrow}} +% +\CustomizeMathJax{\let\smallintsl\smallint} +\CustomizeMathJax{\newcommand{\smalliintsl}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\smalliiintsl}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\smalliiiintsl}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\newcommand{\smallointsl}{\mathop{\unicode{x222E}}}} +\CustomizeMathJax{\newcommand{\smalloiintsl}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\smalloiiintsl}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\smallvarointclockwisesl}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\smallointctrclockwisesl}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\smallsumintsl}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\smallfintsl}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\smallsqintsl}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\let\smallintup\smallint} +\CustomizeMathJax{\newcommand{\smalliintup}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\smalliiintup}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\smalliiiintup}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\newcommand{\smallointup}{\mathop{\unicode{x222E}}}} +\CustomizeMathJax{\newcommand{\smalloiintup}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\smalloiiintup}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\smallvarointclockwiseup}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\smallointctrclockwiseup}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\smallsumintup}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\smallfintup}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\smallsqintup}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\newcommand{\iint}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\iiint}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\iiiint}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\newcommand{\oiint}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\oiiint}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\varointclockwise}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\ointctrclockwise}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\sumint}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\fint}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\sqint}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\let\intsl\int} +\CustomizeMathJax{\newcommand{\iintsl}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\iiintsl}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\iiiintsl}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\let\ointsl\oint} +\CustomizeMathJax{\newcommand{\oiintsl}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\oiiintsl}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\varointclockwisesl}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\ointctrclockwisesl}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\sumintsl}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\fintsl}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\sqintsl}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\let\intup\int} +\CustomizeMathJax{\newcommand{\iintup}{\mathop{\unicode{x222C}}}} +\CustomizeMathJax{\newcommand{\iiintup}{\mathop{\unicode{x222D}}}} +\CustomizeMathJax{\newcommand{\iiiintup}{\mathop{\unicode{x2A0C}}}} +\CustomizeMathJax{\let\ointup\oint} +\CustomizeMathJax{\newcommand{\oiintup}{\mathop{\unicode{x222F}}}} +\CustomizeMathJax{\newcommand{\oiiintup}{\mathop{\unicode{x2230}}}} +\CustomizeMathJax{\newcommand{\varointclockwiseup}{\mathop{\unicode{x2232}}}} +\CustomizeMathJax{\newcommand{\ointctrclockwiseup}{\mathop{\unicode{x2233}}}} +\CustomizeMathJax{\newcommand{\sumintup}{\mathop{\unicode{x2A0B}}}} +\CustomizeMathJax{\newcommand{\fintup}{\mathop{\unicode{x2A0F}}}} +\CustomizeMathJax{\newcommand{\sqintup}{\mathop{\unicode{x2A16}}}} +% +\CustomizeMathJax{\newcommand{\bigcupdot}{\mathop{\unicode{x2A03}}}} +\CustomizeMathJax{\newcommand{\bignplus}{% + \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x22C2}}}% +}} +\CustomizeMathJax{\let\bigcapplus\bignplus} +\CustomizeMathJax{\newcommand{\bigcupplus}{\mathop{\unicode{x2A04}}}} +\CustomizeMathJax{\newcommand{\bigsqcap}{\mathop{\unicode{x2A05}}}} +\CustomizeMathJax{\newcommand{\bigsqcapplus}{% + \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A05}}} +}} +\CustomizeMathJax{\newcommand{\bigsqcupplus}{% + \mathop{\LWRoverlaysymbols{\unicode{xFF0B}}{\unicode{x2A06}}} +}} +\CustomizeMathJax{\newcommand{\bigtimes}{\mathop{\unicode{x2A09}}}} +\CustomizeMathJax{\let\varprod\bigtimes} +% +\CustomizeMathJax{\newcommand{\mappedfrom}{\mathrel{\unicode{x021A4}}}} +\CustomizeMathJax{\newcommand{\mapsfrom}{\mathrel{\unicode{x021A4}}}} +\CustomizeMathJax{\newcommand{\longmappedfrom}{\mathrel{\unicode{x027FB}}}} +% +\CustomizeMathJax{\newcommand{\Mapsto}{\mathrel{\unicode{x02907}}}} +\CustomizeMathJax{\newcommand{\Longmapsto}{\mathrel{\unicode{x027FE}}}} +\CustomizeMathJax{\newcommand{\Mappedfrom}{\mathrel{\unicode{x02906}}}} +\CustomizeMathJax{\newcommand{\Mapsfrom}{\mathrel{\unicode{x02906}}}} +\CustomizeMathJax{\newcommand{\Longmappedfrom}{\mathrel{\unicode{x27FD}}}} +% +\CustomizeMathJax{\newcommand{\mmapsto}{\mathrel{\unicode{x02905}}}} +\CustomizeMathJax{\newcommand{\longmmapsto}{\mathrel{\unicode{x02905}}}} +\CustomizeMathJax{\newcommand{\mmappedfrom}{\mathrel{\unicode{x021A4}}}}% x02B36 +\CustomizeMathJax{\newcommand{\longmmappedfrom}{\mathrel{\unicode{x021A4}}}}% x02B36 +% +\CustomizeMathJax{\newcommand{\Mmapsto}{\mathrel{\unicode{x02907}}}} +\CustomizeMathJax{\newcommand{\Longmmapsto}{\mathrel{\unicode{x027FE}}}} +\CustomizeMathJax{\newcommand{\Mmappedfrom}{\mathrel{\unicode{x02906}}}} +\CustomizeMathJax{\newcommand{\Longmmappedfrom}{\mathrel{\unicode{x027FD}}}} +% +\CustomizeMathJax{\newcommand{\medcirc}{\mathbin{\unicode{x025CB}}}} +\CustomizeMathJax{\newcommand{\medbullet}{\mathbin{\unicode{x025CF}}}} +\CustomizeMathJax{\newcommand{\varparallel}{\mathrel{\unicode{x02AFD}}}} +\CustomizeMathJax{\newcommand{\varparallelinv}{\mathrel{\unicode{x244A}}}} +\CustomizeMathJax{\newcommand{\nvarparallel}{\mathrel{\LWRoverlaysymbols{-}{\unicode{x02AFD}}}}} +\CustomizeMathJax{\newcommand{\nvarparallelinv}{\mathrel{\LWRoverlaysymbols{-}{\unicode{x244A}}}}} +% +\CustomizeMathJax{\newcommand{\colonapprox}{\mathrel{:\approx}}} +\CustomizeMathJax{\newcommand{\colonsim}{\mathrel{:\sim}}} +\CustomizeMathJax{\newcommand{\Colonapprox}{\mathrel{\unicode{x2237}\approx}}} +\CustomizeMathJax{\newcommand{\Colonsim}{\mathrel{\unicode{x2237}\sim}}} +% +\CustomizeMathJax{\newcommand{\multimapinv}{\mathrel{\unicode{x027DC}}}} +\CustomizeMathJax{\newcommand{\multimapboth}{\mathrel{\unicode{x029DF}}}} +\CustomizeMathJax{\newcommand{\multimapdot}{{\mathrel{-\!\bullet}}}} +\CustomizeMathJax{\newcommand{\multimapdotinv}{\mathrel{\bullet\!-}}} +\CustomizeMathJax{\newcommand{\multimapdotboth}{\mathrel{{\bullet\!\!-\!\!\bullet}}}} +\CustomizeMathJax{\newcommand{\multimapdotbothA}{\mathrel{\unicode{x022B6}}}} +\CustomizeMathJax{\newcommand{\multimapdotbothB}{\mathrel{\unicode{x22B7}}}} +% +\CustomizeMathJax{\newcommand{\VDash}{\mathrel{\unicode{x22AB}}}} +\CustomizeMathJax{\newcommand{\VvDash}{\mathrel{\unicode{x22AA}}}} +% +\CustomizeMathJax{\newcommand{\preceqq}{\mathrel{\unicode{x02AB3}}}} +\CustomizeMathJax{\newcommand{\succeqq}{\mathrel{\unicode{x02AB4}}}} +% +\CustomizeMathJax{\newcommand{\nprecsim}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227E}}}}} +\CustomizeMathJax{\newcommand{\nsuccsim}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227F}}}}} +\CustomizeMathJax{\newcommand{\nlesssim}{\mathrel{\unicode{x02274}}}} +\CustomizeMathJax{\newcommand{\ngtrsim}{\mathrel{\unicode{x02275}}}} +\CustomizeMathJax{\newcommand{\nlessapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02A85}}}}} +\CustomizeMathJax{\newcommand{\ngtrapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02A86}}}}} +% +\CustomizeMathJax{\newcommand{\npreccurlyeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227C}}}}} +\CustomizeMathJax{\newcommand{\nsucccurlyeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0227D}}}}} +\CustomizeMathJax{\newcommand{\ngtrless}{\mathrel{\unicode{x02279}}}} +\CustomizeMathJax{\newcommand{\nlessgtr}{\mathrel{\unicode{x2278}}}} +\CustomizeMathJax{\newcommand{\nbumpeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0224F}}}}} +\CustomizeMathJax{\newcommand{\nBumpeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0224E}}}}} +% +\CustomizeMathJax{\newcommand{\nbacksim}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0223D}}}}} +\CustomizeMathJax{\newcommand{\nbacksimeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x022CD}}}}} +\CustomizeMathJax{\newcommand{\nasymp}{\mathrel{\unicode{x226D}}}} +\CustomizeMathJax{\newcommand{\nequiv}{\mathrel{\unicode{x2262}}}} +\CustomizeMathJax{\newcommand{\napprox}{\mathrel{\unicode{x2249}}}} +% +\CustomizeMathJax{\newcommand{\nll}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0226A}}}}} +\CustomizeMathJax{\newcommand{\ngg}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0226B}}}}} +\CustomizeMathJax{\newcommand{\nthickapprox}{% + \mathrel{\LWRoverlaysymbols{/}{{\mathbf{\unicode{x02248}}}}}% +}} +\CustomizeMathJax{\newcommand{\napproxeq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0224A}}}}} +\CustomizeMathJax{\newcommand{\nprecapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB7}}}}} +\CustomizeMathJax{\newcommand{\nsuccapprox}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB8}}}}} +\CustomizeMathJax{\newcommand{\npreceqq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB3}}}}} +\CustomizeMathJax{\newcommand{\nsucceqq}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02AB4}}}}} +\CustomizeMathJax{\newcommand{\nsimeq}{\mathrel{\unicode{x02244}}}} +% +\CustomizeMathJax{\newcommand{\nSubset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x022D0}}}}} +\CustomizeMathJax{\newcommand{\nSupset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x022D1}}}}} +\CustomizeMathJax{\newcommand{\nsqsubseteq}{\mathrel{\unicode{x022E2}}}} +\CustomizeMathJax{\newcommand{\nsqsupseteq}{\mathrel{\unicode{x022E3}}}} +% +\CustomizeMathJax{\newcommand{\coloneqq}{\mathrel{\unicode{x02254}}}} +\CustomizeMathJax{\newcommand{\eqqcolon}{\mathrel{\unicode{x02255}}}} +\CustomizeMathJax{\newcommand{\Coloneqq}{\mathrel{\unicode{x02A74}}}} +\CustomizeMathJax{\newcommand{\Eqqcolon}{\mathrel{=\!\unicode{x2237}}}} +\CustomizeMathJax{\newcommand{\Coloneq}{\mathrel{\unicode{x2237}-}}} +\CustomizeMathJax{\newcommand{\Eqcolon}{\mathrel{-\unicode{x2237}}}} +% +\CustomizeMathJax{\newcommand{\lvec}[1]{\mathord{\overset{\unicode{x02190}}{#1}}}} +\CustomizeMathJax{\newcommand{\lrvec}[1]{\mathord{\overset{\unicode{x2194}}{#1}}}} +\CustomizeMathJax{\newcommand{\harpoonacc}[1]{\mathord{\overset{\unicode{x021C0}}{#1}}}} +\CustomizeMathJax{\newcommand{\lharpoonacc}[1]{\mathord{\overset{\unicode{x021BC}}{#1}}}} +\CustomizeMathJax{\newcommand{\lrharpoonacc}[1]{\mathord{\overset{\unicode{x0294E}}{#1}}}} +\CustomizeMathJax{\newcommand{\barbar}[1]{\mathord{\overset{=}{#1}}}} +\CustomizeMathJax{\newcommand{\bartilde}[1]{\mathord{\overset{\simeq}{#1}}}} +\CustomizeMathJax{\newcommand{\barhat}[1]{\mathord{\hat{\bar{#1}}}}} +\CustomizeMathJax{\newcommand{\tildebar}[1]{\mathord{\overset{\eqsim}{#1}}}} +\CustomizeMathJax{\newcommand{\tildetilde}[1]{\mathord{\overset{\approx}{#1}}}} +\CustomizeMathJax{\newcommand{\tildehat}[1]{\mathord{\hat{\tilde{#1}}}}} +\CustomizeMathJax{\newcommand{\hatbar}[1]{\mathord{\bar{\hat{#1}}}}} +\CustomizeMathJax{\newcommand{\hattilde}[1]{\mathord{\tilde{\hat{#1}}}}} +\CustomizeMathJax{\newcommand{\hathat}[1]{\mathord{\hat{\hat{#1}}}}} + +\CustomizeMathJax{\newcommand{\cdotB}{\mathord{\boldsymbol{\cdot}}}} +\CustomizeMathJax{\newcommand{\cdotBB}{\mathord{\unicode{x2022}}}} +\CustomizeMathJax{\newcommand{\circS}{\boldsymbol{\circ}}} +\CustomizeMathJax{\newcommand{\bulletSSS}{\bullet}} +\CustomizeMathJax{\newcommand{\bulletSS}{\mathord{\unicode{x025CF}}}} +\CustomizeMathJax{\newcommand{\bulletS}{\mathord{\unicode{x02B24}}}} +\CustomizeMathJax{\newcommand{\primeS}{\prime}} + +\CustomizeMathJax{\newcommand{\strictif}{\mathrel{\unicode{x0297D}}}}% right fish tail +\CustomizeMathJax{\newcommand{\strictfi}{\mathrel{\unicode{x0297C}}}}% left fish tail +\CustomizeMathJax{\newcommand{\strictiff}{% + \mathrel{\unicode{x0297C}\!\!\unicode{x0297D}}% +}}% left/right fish tails +\CustomizeMathJax{\newcommand{\invamp}{\mathbin{\unicode{x0214B}}}} +\CustomizeMathJax{\newcommand{\lbag}{\mathopen{\unicode{x027C5}}}} +\CustomizeMathJax{\newcommand{\rbag}{\mathclose{\unicode{x027C6}}}} +\CustomizeMathJax{\newcommand{\Lbag}{\mathopen{\large\unicode{x027C5}}}} +\CustomizeMathJax{\newcommand{\Rbag}{\mathclose{\large\unicode{x027C6}}}} +\CustomizeMathJax{\newcommand{\circledless}{\mathrel{\unicode{x029C0}}}} +\CustomizeMathJax{\newcommand{\circledgtr}{\mathrel{\unicode{x029C1}}}} +\CustomizeMathJax{\newcommand{\circledwedge}{% + \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{x02227}}}% +}} +\CustomizeMathJax{\newcommand{\circledvee}{% + \mathbin{\LWRoverlaysymbols{\unicode{x025EF}}{\unicode{0x02228}}}% +}} +\CustomizeMathJax{\newcommand{\circledbar}{\mathbin{\unicode{x029B6}}}} +\CustomizeMathJax{\newcommand{\circledbslash}{\mathbin{\unicode{x029B8}}}} + +\CustomizeMathJax{\newcommand{\lJoin}{\mathrel{\unicode{x22C9}}}} +\CustomizeMathJax{\newcommand{\rJoin}{\mathrel{\unicode{x22CA}}}} +\CustomizeMathJax{\newcommand{\lrJoin}{\mathrel{\unicode{x2A1D}}}} +\CustomizeMathJax{\newcommand{\openJoin}{\mathrel{\unicode{x2AA4}}}}% overlapping >< + +\CustomizeMathJax{\newcommand{\lrtimes}{\mathrel{\unicode{x2A1D}}}} +\CustomizeMathJax{\newcommand{\opentimes}{\mathrel{\unicode{x2AA4}}}}% overlapping >< +\CustomizeMathJax{\newcommand{\Diamondblack}{\mathord{\unicode{x025C6}}}} +\CustomizeMathJax{\newcommand{\nplus}{\mathrel{\LWRoverlaysymbols{+}{\unicode{x02229}}}}} +\CustomizeMathJax{\newcommand{\nsqsubset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x0228F}}}}} +\CustomizeMathJax{\newcommand{\nsqsupset}{\mathrel{\LWRoverlaysymbols{/}{\unicode{x02290}}}}} +\CustomizeMathJax{\newcommand{\dasharrow}{\mathrel{\unicode{x021E2}}}} +\CustomizeMathJax{\newcommand{\dashleftrightarrow}{\mathrel{\unicode{x021E0}\!\unicode{x021E2}}}} +\CustomizeMathJax{\newcommand{\leftsquigarrow}{\mathrel{\unicode{x021DC}}}} +\CustomizeMathJax{\newcommand{\ntwoheadrightarrow}{\mathrel{\unicode{x02900}}}} +\CustomizeMathJax{\newcommand{\ntwoheadleftarrow}{\mathrel{\unicode{x02B34}}}} +\CustomizeMathJax{\newcommand{\boxast}{\mathbin{\unicode{x029C6}}}} +\CustomizeMathJax{\newcommand{\boxbslash}{\mathbin{\unicode{x29C5}}}} +\CustomizeMathJax{\newcommand{\boxbar}{\mathbin{\unicode{x025EB}}}} +\CustomizeMathJax{\newcommand{\boxslash}{\mathbin{\unicode{x029C4}}}} + +\CustomizeMathJax{\newcommand{\Wr}{\mathbin{\unicode{x02240}\!\unicode{x02240}}}} + +% defined above: +% \CustomizeMathJax{\newcommand{\lambdaslash}{\mathord{\unicode{x00023}}}} +% \CustomizeMathJax{\newcommand{\lambdabar}{\mathord{\unicode{x00023}}}} + +\CustomizeMathJax{\newcommand{\varclubsuit}{\mathord{\unicode{x02667}}}} +\CustomizeMathJax{\newcommand{\vardiamondsuit}{\mathord{\unicode{x02666}}}} +\CustomizeMathJax{\newcommand{\varheartsuit}{\mathord{\unicode{x02665}}}} +\CustomizeMathJax{\newcommand{\varspadesuit}{\mathord{\unicode{x02664}}}} + +\CustomizeMathJax{\newcommand{\Nearrow}{\mathrel{\unicode{x021D7}}}} +\CustomizeMathJax{\newcommand{\Searrow}{\mathrel{\unicode{x021D8}}}} +\CustomizeMathJax{\newcommand{\Nwarrow}{\mathrel{\unicode{x021D6}}}} +\CustomizeMathJax{\newcommand{\Swarrow}{\mathrel{\unicode{x021D9}}}} +\CustomizeMathJax{\newcommand{\Top}{\mathord{\unicode{x02AEA}}}} +\CustomizeMathJax{\newcommand{\Bot}{\mathord{\unicode{x02AEB}}}} + +\CustomizeMathJax{\newcommand{\leadstoext}{\mathrel{\unicode{xFF5E}}}} + +\CustomizeMathJax{\newcommand{\sqcupplus}{\mathbin{\LWRoverlaysymbols{+}{\unicode{x02294}}}}} +\CustomizeMathJax{\newcommand{\sqcapplus}{\mathbin{\LWRoverlaysymbols{+}{\unicode{x02293}}}}} + +\CustomizeMathJax{\newcommand{\boxright}{\mathrel{\unicode{x025A1}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\boxleft}{\mathrel{\unicode{x02190}\!\unicode{x025A1}}}} +\CustomizeMathJax{\newcommand{\boxdotright}{\mathrel{\unicode{x022A1}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\boxdotleft}{\mathrel{\unicode{x02190}\!\unicode{x022A1}}}} + +\CustomizeMathJax{\newcommand{\Diamondright}{\mathrel{\unicode{x025C7}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\Diamondleft}{\mathrel{\unicode{x02190}\!\unicode{x025C7}}}} +\CustomizeMathJax{\newcommand{\Diamonddotright}{\mathrel{\unicode{x027D0}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\Diamonddotleft}{\mathrel{\unicode{x02190}\!\unicode{x027D0}}}} + +\CustomizeMathJax{\newcommand{\boxRight}{\mathrel{\unicode{x025A1}\!\unicode{x021D2}}}} +\CustomizeMathJax{\newcommand{\boxLeft}{\mathrel{\unicode{x021D0}\!\unicode{x025A1}}}} +\CustomizeMathJax{\newcommand{\boxdotRight}{\mathrel{\unicode{x022A1}\!\unicode{x021D2}}}} +\CustomizeMathJax{\newcommand{\boxdotLeft}{\mathrel{\unicode{x021D0}\!\unicode{x022A1}}}} + +\CustomizeMathJax{\newcommand{\DiamondRight}{\mathrel{\unicode{x025C7}\!\unicode{x021D2}}}} +\CustomizeMathJax{\newcommand{\DiamondLeft}{\mathrel{\unicode{x021D0}\!\unicode{x025C7}}}} +\CustomizeMathJax{\newcommand{\DiamonddotRight}{\mathrel{\unicode{x027D0}\!\unicode{x021D2}}}} +\CustomizeMathJax{\newcommand{\DiamonddotLeft}{\mathrel{\unicode{x021D0}\!\unicode{x027D0}}}} +\CustomizeMathJax{\newcommand{\Diamonddot}{\mathrel{\unicode{x027D0}}}} + +\CustomizeMathJax{\newcommand{\circleright}{\mathrel{\unicode{x025CB}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\circleleft}{\mathrel{\unicode{x02190}\!\unicode{x025CB}}}} +\CustomizeMathJax{\newcommand{\circledotright}{\mathrel{\unicode{x02299}\!\unicode{x02192}}}} +\CustomizeMathJax{\newcommand{\circledotleft}{\mathrel{\unicode{x02190}\!\unicode{x02299}}}} +\CustomizeMathJax{\let\circleddotright\circledotright} +\CustomizeMathJax{\let\circleddotleft\circledotleft} + +\CustomizeMathJax{\newcommand{\multimapbothvert}{% + \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CB}}{|}}}% +}} +\CustomizeMathJax{\newcommand{\multimapdotbothvert}{% + \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CF}}{|}}}% +}} +\CustomizeMathJax{\newcommand{\multimapdotbothBvert}{% + \mathrel{\overset{\unicode{x025CF}}{\underset{\unicode{x025CB}}{|}}}% +}} +\CustomizeMathJax{\newcommand{\multimapdotbothAvert}{% + \mathrel{\overset{\unicode{x025CB}}{\underset{\unicode{x025CF}}{|}}}% +}} + +\CustomizeMathJax{\newcommand{\dlb}{\mathopen{\unicode{x027E6}}}} +\CustomizeMathJax{\newcommand{\drb}{\mathopen{\unicode{x027E7}}}} + +% * \marg{2: prefix} \marg{3: postfix} \marg{4: i/u: italic/upright} +\LWR@mathjax@addgreek@u@up*{}{up} +\LWR@mathjax@addgreek@u@up*{up}{} +\LWR@mathjax@addgreek@l@up{up}{} +\LWR@mathjax@addgreek@l@up{}{up} +\LWR@mathjax@addgreek@u@it*{}{it} +\LWR@mathjax@addgreek@l@it{}{it} + +% only newtxmath, not newpxmath: +\LWR@mathjax@addgreek@u@it*{it}{} +\LWR@mathjax@addgreek@l@it{it}{} + +\CustomizeMathJax{\newcommand{\varg}{g}} +\CustomizeMathJax{\newcommand{\vary}{y}} +\CustomizeMathJax{\newcommand{\varv}{v}} +\CustomizeMathJax{\newcommand{\varw}{w}} + +\CustomizeMathJax{\newcommand{\nexistsAlt}{\mathord{\unicode{x02204}}}} +\CustomizeMathJax{\newcommand{\existsAlt}{\mathord{\unicode{x02203}}}} +\CustomizeMathJax{\newcommand{\forallAlt}{\mathord{\unicode{x02200}}}} +\CustomizeMathJax{\newcommand{\emptysetAlt}{\mathord{\unicode{x02205}}}} + +\CustomizeMathJax{\newcommand{\uppartial}{\mathord{\unicode{x02202}}}} + +\CustomizeMathJax{\let\varmathbb\mathbb} +\CustomizeMathJax{\let\vmathbb\mathbb} +\CustomizeMathJax{\let\vvmathbb\mathbb} + +\CustomizeMathJax{\let\smallprod\prod} +\CustomizeMathJax{\let\smallsum\sum} +\CustomizeMathJax{\let\smallcoprod\coprod} + +\CustomizeMathJax{\newcommand{\openbox}{\mathord{\unicode{x25FD}}}} +\CustomizeMathJax{\let\textsquare\openbox} + +% only newtxmath, not newpxmath: +\ifdef{\iftx@BI}{ + \iftx@BI + \LWR@mathjax@addlatin@u@bfit{BI} + \LWR@mathjax@addlatin@l@bfit{BI} + \fi +}{} + +% for newpxmath: +\CustomizeMathJax{\newcommand{\mathsterling}{\mathord{\unicode{x000A3}}}} +\CustomizeMathJax{\newcommand{\mathcent}{\mathord{\unicode{x000A2}}}} + +\end{warpMathJax} +% \end{macrocode} +% +% \iffalse +%</common-mathjax-newpxtxmath> +% \fi +% +% +% +% +% +% ^^A *common-mathjax-overlaysymbols +% +% \iffalse +%<*common-mathjax-overlaysymbols> +% \fi +% +% \part{lwarp-common-mathjax-overlaysymbols.sty} +% +% \section{common-mathjax-overlaysymbols} +% +% \DescribePackage{lwarp-common-mathjax-overlaysymbols} +% Common code used by a number of packages to overlay two symbols +% for \brand{MathJax}. +% +% \changes{v0.89}{2020/08/17}{\pkg{lwarp-common-mathjax-overlaysymbols}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\ProvidesPackage{lwarp-common-mathjax-overlaysymbols}[2020/08/17] +% \end{macrocode} +% +% \noindmacro{\LWRoverlaysymbols} \marg{symbol} \marg{symbol} +% +% Overlays one symbol over another. +% \begin{macrocode} +\begin{warpMathJax} + +\CustomizeMathJax{\newcommand{\LWRoverlaysymbols}[2]{% + \mathord{% + \smash{% + \mathop{#2\strut}% + \limits^{\smash{\lower3ex{#1}}}% + }% + \strut% + }% +}} + +\end{warpMathJax} +% \end{macrocode} +% +% +% \iffalse +%</common-mathjax-overlaysymbols> +% \fi +% +% +% +% % \addtocontents{toc}{\protect\setcounter{tocdepth}{4}} % % |