%% %% This is file `lwarp.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% lwarp.dtx (with options: `package') %% This is a generated file. %% Copyright 2016-2022 Brian Dunn %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{lwarp} [2024/02/22 v0.916 Allows LaTeX to directly produce HTML5 output.] %% \RequirePackage{iftex}[2019/11/07] \RequirePackage{ifpdf} \RequirePackage{ifptex}% in case TL2019 or earlier \newif\ifxetexorluatex \ifXeTeX \xetexorluatextrue \else \ifLuaTeX \xetexorluatextrue \else \xetexorluatexfalse \fi \fi \RequirePackage{etoolbox}[2020/10/05]% \long\def\etb@carsquare#1#2#3\@nil{#1#2}% \RequirePackage{verifycommand} \RequirePackage{xpatch} \RequirePackage{ifplatform}% sense op-system platform \RequirePackage{letltxmacro} \newcommand*{\LWR@loadafter}[1]{% \IfPackageLoadedTF{#1} { \PackageError{lwarp} {% Package #1,\MessageBreak or one which uses #1,\MessageBreak must be loaded after Lwarp.\MessageBreak Enter 'H' for possible solutions% } {% Move ``\protect\usepackage{#1}'' after ``\protect\usepackage{lwarp}''.\MessageBreak Package #1 may also be loaded by something else,\MessageBreak which must also be moved after Lwarp.% } } {\relax} } \IfClassLoadedTF{memoir} {\newcommand*{\LWR@notmemoirloadafter}[1]{}} {\LetLtxMacro\LWR@notmemoirloadafter\LWR@loadafter} \LetLtxMacro\LWR@notltjloadafter\LWR@loadafter \IfClassLoadedTF{ltjarticle}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjbook}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjreport}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjsarticle}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjsbook}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjsreport}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjspf}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjskiyou}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjtarticle}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjtbook}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \IfClassLoadedTF{ltjtreport}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \newcommand*{\LWR@loadbefore}[1]{% \IfPackageLoadedTF{#1} {\relax} { \PackageError{lwarp} {% Package #1 must be loaded before lwarp.\MessageBreak Enter 'H' for possible solutions% } {Move ``\protect\usepackage{#1}'' before ``\protect\usepackage{lwarp}''.} } } \newcommand*{\LWR@checkloadbefore}[1]{% \ifdefstring{\LWR@tempone}{#1}{% \LWR@loadbefore{#1}% }{}% } \newcommand*{\LWR@loadnever}[2]{% \PackageError{lwarp} {% Package #1 is not yet supported\MessageBreak by lwarp's HTML conversion% \ifblank{#2}{}{% .\MessageBreak Package(s)\MessageBreak \space\space#2\MessageBreak may be useful instead% }% } {% Package #1 might conflict with lwarp in some way,\MessageBreak or is superceded by another package.% \ifblank{#2}{}{% \MessageBreak For possible alternatives, see package(s) #2.% }% } } \newcommand*{\LWR@afterloadnever}[2]{% \ifdefstring{\LWR@tempone}{#1}{% \LWR@loadnever{#1}{#2}% }{}% } \newcommand*{\LWR@earlyloadnever}[2]{% \IfPackageLoadedTF{#1}{% \LWR@loadnever{#1}{#2}% }{}% } \newcommand*{\LWR@earlyclassloadnever}[2]{% \IfClassLoadedTF{#1}{% \PackageError{lwarp} {% Class #1 is not supported\MessageBreak by lwarp's HTML conversion% \ifblank{#2}{}{% .\MessageBreak #2 may be useful instead% }% } {% Class #1 might conflict with lwarp in some way,\MessageBreak or is superceded by another class.% \ifblank{#2}{}{% \MessageBreak For a possible alternative, see #2.% }% } }{\relax}% } \newcommand*{\LWR@checkloadnevers}{ \LWR@checkloadnever{ae}{cm-super, lmodern} \LWR@checkloadnever{aecompl}{cm-super, lmodern} \LWR@checkloadnever{aecc}{cm-super, lmodern} \LWR@checkloadnever{alg}{algorithm2e, algorithmicx} \LWR@checkloadnever{algorithmic}{algorithm2e, algorithmicx} \LWR@checkloadnever{bitfield}{bytefield} \LWR@checkloadnever{bxcjkjatype}{upLaTeX, bxjsarticle, ujarticle, utarticle} \LWR@checkloadnever{caption2}{caption} \LWR@checkloadnever{colortab}{colortbl} \LWR@checkloadnever{csvtools}{datatool} \LWR@checkloadnever{doublespace}{setspace} \LWR@checkloadnever{fancyheadings}{fancyhdr} \LWR@checkloadnever{fncylab}{cleveref} \LWR@checkloadnever{formula}{siunitx} \LWR@checkloadnever{glossary}{glossaries} \LWR@checkloadnever{hangul}{kotex, xetexko, luatexko} \LWR@checkloadnever{hyper}{hyperref} \LWR@checkloadnever{libgreek}{libertinust1math, newtx} \LWR@checkloadnever{newthm}{ntheorem} \LWR@checkloadnever{pdfcprot}{microtype} \LWR@checkloadnever{picins}{floatflt, wrapfig, wrapfig2} \LWR@checkloadnever{rplain}{fancyhdr} \LWR@checkloadnever{si}{siunitx} \LWR@checkloadnever{sistyle}{siunitx} \LWR@checkloadnever{slashbox}{diagbox} \LWR@checkloadnever{statex}{statex2} \LWR@checkloadnever{t1enc}{fontenc, inputenc, inputenx} \LWR@checkloadnever{ucs}{inputenc, inputencx} \LWR@checkloadnever{wasysym}{textcomp, amssymb, amsfonts, mnsymbol, fdsymbol} \LWR@checkloadnever{animate}{} \LWR@checkloadnever{auto-pst-pdf}{} \LWR@checkloadnever{auto-pst-pdf-lua}{} \LWR@checkloadnever{algorithms}{} \LWR@checkloadnever{arraycols}{} \LWR@checkloadnever{bidi}{} \LWR@checkloadnever{cals}{} \LWR@checkloadnever{cellspace}{tabls} \LWR@checkloadnever{cgloss4e}{} \LWR@checkloadnever{collcell}{} \LWR@checkloadnever{colophon}{} \LWR@checkloadnever{cooltooltips}{} \LWR@checkloadnever{covington}{} \LWR@checkloadnever{crbox}{} \LWR@checkloadnever{decision-table}{} \LWR@checkloadnever{dvgloss}{} \LWR@checkloadnever{ednotes}{} \LWR@checkloadnever{edfnotes}{} \LWR@checkloadnever{eledform}{} \LWR@checkloadnever{eledmac}{} \LWR@checkloadnever{embedfile}{} \LWR@checkloadnever{endnotes-hy}{endnotes} \LWR@checkloadnever{expex}{} \LWR@checkloadnever{fancytooltips}{} \LWR@checkloadnever{fixocgx}{} \LWR@checkloadnever{flowfram}{} \LWR@checkloadnever{gb4e}{} \LWR@checkloadnever{gmverse}{} \LWR@checkloadnever{graphbox}{} \LWR@checkloadnever{graphicxbox}{} \LWR@checkloadnever{hvfloat}{} \LWR@checkloadnever{inline-images}{} \LWR@checkloadnever{isorot}{rotating} \LWR@checkloadnever{ledmac}{} \LWR@checkloadnever{linguex}{} \LWR@checkloadnever{longdiv}{} \LWR@checkloadnever{longfigure}{} \LWR@checkloadnever{longtabu}{} \LWR@checkloadnever{mdwenv}{} \LWR@checkloadnever{mdwlist}{} \LWR@checkloadnever{mdwtab}{} \LWR@checkloadnever{navigator}{} \LWR@checkloadnever{nccpic}{} \LWR@checkloadnever{nccsect}{} \LWR@checkloadnever{newvbtm}{} \LWR@checkloadnever{ocg-p}{} \LWR@checkloadnever{ocgtools}{} \LWR@checkloadnever{ocgx}{} \LWR@checkloadnever{ocgx2}{} \LWR@checkloadnever{parrun}{} \LWR@checkloadnever{poemscol}{} \LWR@checkloadnever{poetry}{} \LWR@checkloadnever{program}{} \LWR@checkloadnever{proofread}{} \LWR@checkloadnever{pst-pdf}{} \LWR@checkloadnever{refstyle}{} \LWR@checkloadnever{robustindex}{} \LWR@checkloadnever{robustglossary}{} \LWR@checkloadnever{semioneside}{} \LWR@checkloadnever{slemph}{} \LWR@checkloadnever{snotez}{sidenotes} \LWR@checkloadnever{spacingtricks}{} \LWR@checkloadnever{sverb}{verbatim, fancyvrb} \LWR@checkloadnever{syntax}{} \LWR@checkloadnever{tablists}{} \LWR@checkloadnever{tabto}{} \LWR@checkloadnever{tabu}{} \LWR@checkloadnever{tabularht}{} \LWR@checkloadnever{tabularkv}{} \LWR@checkloadnever{thumby}{} \LWR@checkloadnever{titles}{} \LWR@checkloadnever{typehtml}{} \LWR@checkloadnever{unicode-bidi}{} \LWR@checkloadnever{vcell}{} \LWR@checkloadnever{xhfill}{} } \LetLtxMacro\LWR@checkloadnever\LWR@earlyloadnever \LWR@checkloadnevers \IfPackageLoadedTF{xeCJK}{}{ \LWR@checkloadnever{CJK}{ctex, xeCJK} \LWR@checkloadnever{CJKutf8}{ctex, xeCJK} } \LWR@earlyclassloadnever{beamer}{beamerarticle} \LWR@earlyclassloadnever{jarticle}{ujarticle} \LWR@earlyclassloadnever{jbook}{ujbook} \LWR@earlyclassloadnever{jreport}{ujreport} \LWR@earlyclassloadnever{tarticle}{utarticle} \LWR@earlyclassloadnever{tbook}{utbook} \LWR@earlyclassloadnever{treport}{utreport} \LWR@earlyclassloadnever{novel}{} \LWR@earlyclassloadnever{powerdot}{} \LWR@loadafter{2in1} \LWR@loadafter{2up} \LWR@loadafter{a4} \LWR@loadafter{a4wide} \LWR@loadafter{a5comb} \LWR@notmemoirloadafter{abstract} \LWR@loadafter{academicons} \LWR@loadafter{accents} \LWR@loadafter{accessibility} \LWR@loadafter{accsupp} \LWR@loadafter{acro} \LWR@loadafter{acronym} \LWR@loadafter{adjmulticol} \LWR@loadafter{addlines} \LWR@loadafter{afterpage} \LWR@loadafter{algorithm2e} \LWR@loadafter{algorithmicx} \LWR@loadafter{alltt} \LWR@loadafter{amscdx} \LWR@loadafter{anonchap} \LWR@loadafter{anysize} \LWR@notmemoirloadafter{appendix} \LWR@loadafter{apxproof} \LWR@loadafter{ar} \LWR@loadafter{arabicfront} \LWR@notmemoirloadafter{array} \LWR@loadafter{arydshln} \LWR@loadafter{asymptote} \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} \LWR@loadafter{axessibility} \LWR@loadafter{axodraw2} \LWR@loadafter{backnaur} \LWR@loadafter{backref} \LWR@loadafter{balance} \LWR@loadafter{bbding} \LWR@loadafter{beamerarticle} \LWR@loadafter{bigdelim} \LWR@loadafter{bigfoot} \LWR@loadafter{bigstrut} \LWR@loadafter{bitpattern} \LWR@loadafter{blowup} \LWR@loadafter{bm} \LWR@loadafter{booklet} \LWR@loadafter{bookmark} \LWR@notmemoirloadafter{booktabs} \LWR@loadafter{bophook} \LWR@loadafter{bounddvi} \LWR@loadafter{boxedminipage} \LWR@loadafter{boxedminipage2e} \LWR@loadafter{braket} \LWR@loadafter{breakurl} \LWR@loadafter{breqn} \LWR@loadafter{bsheaders} \LWR@loadafter{bussproofs} \LWR@loadafter{bxpapersize} \LWR@loadafter{bytefield} \LWR@loadafter{ccicons} \LWR@loadafter{cancel} \LWR@loadafter{canoniclayout} \LWR@loadafter{caption} \LWR@loadafter{caption2} \LWR@loadafter{caption3} \LWR@loadafter{cases} \LWR@loadafter{centerlastline} \LWR@loadafter{changebar} \LWR@loadafter{changelayout} \LWR@notmemoirloadafter{changepage} \LWR@loadafter{changes} \LWR@loadafter{chappg} \LWR@loadafter{chapterbib} \LWR@loadafter{chemfig} \LWR@loadafter{chemformula} \LWR@loadafter{chemgreek} \LWR@loadafter{chemmacros} \LWR@loadafter{chemnum} \LWR@loadafter{chkfloat} \LWR@notmemoirloadafter{chngpage} \LWR@loadafter{cite} \LWR@loadafter{citeref} \LWR@loadafter{classicthesis} \LWR@loadafter{cleveref} \LWR@loadafter{cmdtrack} \LWR@loadafter{colonequals} \LWR@loadafter{color} \LWR@loadafter{colortbl} \LWR@loadafter{continue} \LWR@loadafter{copyrightbox} \LWR@notmemoirloadafter{crop} \LWR@loadafter{ctable} \LWR@loadafter{cuted} \LWR@loadafter{cutwin} \LWR@loadafter{dblfloatfix} \LWR@loadafter{dblfnote} \LWR@notmemoirloadafter{dcolumn} \LWR@loadafter{decimal} \LWR@loadafter{decorule} \LWR@loadafter{diagbox} \LWR@loadafter{dingbat} \LWR@loadafter{doipubmed} \LWR@loadafter{DotArrow} \LWR@loadafter{dotlessi} \LWR@loadafter{dprogress} \LWR@loadafter{draftcopy} \LWR@loadafter{draftfigure} \LWR@loadafter{draftwatermark} \LWR@loadafter{drftcite} \LWR@loadafter{easy-todo} \LWR@loadafter{ebook} \LWR@loadafter{econometrics} \LWR@loadafter{ed} \LWR@loadafter{ellipsis} \LWR@loadafter{embrac} \LWR@loadafter{emptypage} \LWR@loadafter{endfloat} \LWR@loadafter{endheads} \LWR@loadafter{endnotes} \LWR@loadafter{engtlc} \LWR@loadafter{enotez} \LWR@notmemoirloadafter{enumerate} \LWR@loadafter{enumitem} \LWR@notmemoirloadafter{epigraph} \LWR@loadafter{epsf} \LWR@loadafter{epsfig} \LWR@loadafter{epstopdf} \LWR@loadafter{epstopdf-base} \LWR@loadafter{eqlist} \LWR@loadafter{eqparbox} \LWR@loadafter{errata} \LWR@loadafter{eso-pic} \LWR@loadafter{esvect} \LWR@loadafter{etoc} \LWR@loadafter{eurosym} \LWR@loadafter{everypage} \LWR@loadafter{extarrows} \LWR@loadafter{extramarks} \LWR@loadafter{fancybox} \LWR@loadafter{fancyhdr} \LWR@loadafter{fancypar} \LWR@loadafter{fancyref} \LWR@loadafter{fancytabs} \LWR@loadafter{fancyvrb} \LWR@loadafter{fbox} \LWR@loadafter{fewerfloatpages} \LWR@loadafter{figcaps} \LWR@loadafter{figsize} \LWR@loadafter{fitbox} \LWR@loadafter{fix2col} \LWR@loadafter{fixmath} \LWR@loadafter{fixme} \LWR@loadafter{fixmetodonotes} \LWR@loadafter{flafter} \LWR@loadafter{flippdf} \LWR@loadafter{float} \LWR@loadafter{floatflt} \LWR@loadafter{floatpag} \LWR@loadafter{floatrow} \LWR@loadafter{fltrace} \LWR@loadafter{flushend} \LWR@loadafter{fnbreak} \LWR@loadafter{fncychap} \LWR@loadafter{fnlineno} \LWR@loadafter{fnpara} \LWR@loadafter{fnpos} \LWR@loadafter{fontawesome} \LWR@loadafter{fontawesome5} \LWR@loadafter{footmisc} \LWR@loadafter{footnote} \LWR@loadafter{footnotebackref} \LWR@loadafter{footnotehyper} \LWR@loadafter{footnoterange} \LWR@loadafter{footnpag} \LWR@loadafter{foreign} \LWR@loadafter{forest} \LWR@loadafter{fouridx} \LWR@loadafter{framed} \LWR@loadafter{froufrou} \LWR@loadafter{ftcap} \LWR@loadafter{ftnright} \LWR@loadafter{fullminipage} \LWR@loadafter{fullpage} \LWR@loadafter{fullwidth} \LWR@loadafter{fvextra} \LWR@loadafter{fwlw} \LWR@loadafter{gensymb} \LWR@loadafter{gentombow} \LWR@loadafter{ghsystem} \LWR@loadafter{gindex} \LWR@loadafter{glossaries} \LWR@loadafter{gmeometric} \LWR@loadafter{gloss} \LWR@loadafter{glossary} \LWR@loadafter{grffile} \LWR@loadafter{grid} \LWR@loadafter{grid-system} \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} \LWR@loadafter{hypernat} \LWR@loadafter{hyperref} \LWR@loadafter{hyperxmp} \LWR@loadafter{hyphenat} \LWR@loadafter{idxlayout} \LWR@loadafter{ifoddpage} \LWR@loadafter{imakeidx} \LWR@loadafter{impnattypo} \LWR@notmemoirloadafter{index} \LWR@loadafter{intopdf} \LWR@loadafter{isomath} \LWR@loadafter{isotope} \LWR@loadafter{jurabib} \LWR@loadafter{karnaugh-map} \LWR@loadafter{keyfloat} \LWR@loadafter{keystroke} \LWR@loadafter{layaureo} \LWR@loadafter{layout} \LWR@loadafter{layouts} \LWR@loadafter{leading} \LWR@loadafter{leftidx} \LWR@loadafter{letterspace} \LWR@loadafter{lettrine} \LWR@loadafter{lineno} \LWR@loadafter{lips} \LWR@loadafter{listings} \LWR@loadafter{listliketab} \LWR@loadafter{lltjp-siunitx} \LWR@loadafter{lltjp-tascmac} \LWR@loadafter{longtable} \LWR@loadafter{lpic} \LWR@loadafter{lscape} \LWR@loadafter{ltablex} \LWR@loadafter{ltcaption} \LWR@loadafter{ltxgrid} \LWR@loadafter{ltxtable} \LWR@loadafter{lua-check-hyphen} \LWR@loadafter{lua-visual-debug} \LWR@loadafter{luacolor} \LWR@loadafter{luamplib} \LWR@loadafter{luatodonotes} \LWR@loadafter{luavlna} \LWR@loadafter{lyluatex} \LWR@loadafter{magaz} \LWR@notmemoirloadafter{makeidx} \LWR@loadafter{manyfoot} \LWR@loadafter{marginfit} \LWR@loadafter{marginfix} \LWR@loadafter{marginnote} \LWR@loadafter{marvosym} \LWR@loadafter{mathastext} \LWR@loadafter{mathcomp} \LWR@loadafter{mathdesign} \LWR@loadafter{mathdots} \LWR@loadafter{mathfixs} \LWR@loadafter{mathpazo} \LWR@loadafter{mathptmx} \LWR@loadafter{mathspec} \LWR@loadafter{mathtools} \LWR@loadafter{mattens} \LWR@loadafter{maybemath} \LWR@loadafter{mcaption} \LWR@loadafter{mdframed} \LWR@loadafter{mdwmath} \LWR@loadafter{media9} \LWR@loadafter{memhfixc} \LWR@loadafter{menukeys} \LWR@loadafter{metalogo} \LWR@loadafter{metalogox} \LWR@loadafter{mhchem} \LWR@loadafter{microtype} \LWR@loadafter{midfloat} \LWR@loadafter{midpage} \LWR@loadafter{minibox} \LWR@loadafter{minitoc} \LWR@loadafter{minted} \LWR@loadafter{mismath} \LWR@loadafter{mleftright} \LWR@notmemoirloadafter{moreverb} \LWR@notmemoirloadafter{movie15} \LWR@notmemoirloadafter{mparhack} \LWR@loadafter{multibib} \LWR@loadafter{multicap} \LWR@loadafter{multicolrule} \LWR@loadafter{multimedia} \LWR@loadafter{multiobjective} \LWR@loadafter{multirow} \LWR@loadafter{multitoc} \LWR@loadafter{musicography} \LWR@loadafter{mwe} \LWR@loadafter{nameauth} \LWR@loadafter{natbib} \LWR@notmemoirloadafter{nccfancyhdr} \LWR@loadafter{nccfoots} \LWR@loadafter{nccmath} \LWR@notmemoirloadafter{needspace} \LWR@notmemoirloadafter{nextpage} \LWR@loadafter{nicefrac} \LWR@loadafter{niceframe} \LWR@loadafter{nicematrix} \LWR@loadafter{noitcrul} \LWR@loadafter{nolbreaks} \LWR@loadafter{nomencl} \LWR@loadafter{nonfloat} \LWR@loadafter{nonumonpart} \LWR@loadafter{nopageno} \LWR@loadafter{notes} \LWR@loadafter{notespages} \LWR@loadafter{nowidow} \LWR@loadafter{ntheorem} \LWR@loadafter{octave} \LWR@loadafter{orcidlink} \LWR@loadafter{overpic} \LWR@loadafter{pagegrid} \LWR@notmemoirloadafter{pagenote} \LWR@loadafter{pagesel} \LWR@loadafter{paralist} \LWR@loadafter{parallel} \LWR@loadafter{parcolumns} \LWR@loadafter{parnotes} \LWR@notmemoirloadafter{parskip} \LWR@loadafter{pbalance} \LWR@loadafter{pbox} \LWR@loadafter{pdfcol} \LWR@loadafter{pdfcolfoot} \LWR@loadafter{pdfcolmk} \LWR@loadafter{pdfcolparallel} \LWR@loadafter{pdfcolparcolumns} \LWR@loadafter{pdfcomment} \LWR@loadafter{pdfcrypt} \LWR@loadafter{pdflscape} \LWR@loadafter{pdfmarginpar} \LWR@loadafter{pdfpages} \LWR@loadafter{pdfprivacy} \LWR@loadafter{pdfrender} \LWR@loadafter{pdfsync} \LWR@loadafter{pdftricks} \LWR@loadafter{pdfx} \LWR@loadafter{perpage} \LWR@loadafter{pfnote} \LWR@loadafter{phfqit} \LWR@loadafter{physics} \LWR@loadafter{physunits} \LWR@loadafter{picinpar} \LWR@loadafter{pifont} \LWR@loadafter{pinlabel} \LWR@loadafter{placeins} \LWR@loadafter{plarray} \LWR@loadafter{plarydshln} \LWR@loadafter{plextarray} \LWR@loadafter{plextarydshln} \LWR@loadafter{plcolortbl} \LWR@loadafter{plextdelarray} \LWR@loadafter{plimsoll} \LWR@loadafter{prelim2e} \LWR@loadafter{prettyref} \LWR@loadafter{preview} \LWR@loadafter{psfrag} \LWR@loadafter{psfragx} \LWR@loadafter{pst-eps} \LWR@loadafter{pstool} \LWR@loadafter{pstricks} \LWR@loadafter{pxeveryshi} \LWR@loadafter{pxftnright} \LWR@loadafter{pxjahyper} \LWR@loadafter{quotchap} \LWR@loadafter{quoting} \LWR@loadafter{ragged2e} \LWR@loadafter{refcheck} \LWR@loadafter{register} \LWR@loadafter{relsize} \LWR@loadafter{repeatindex} \LWR@loadafter{resizegather} \LWR@loadafter{returntogrid} \LWR@loadafter{rlepsf} \LWR@loadafter{rmathbr} \LWR@loadafter{rmpage} \LWR@loadafter{romanbar} \LWR@loadafter{romanbarpagenumber} \LWR@loadafter{rotating} \LWR@loadafter{rotfloat} \LWR@loadafter{rviewport} \LWR@loadafter{savetrees} \LWR@loadafter{scalerel} \LWR@loadafter{schemata} \LWR@loadafter{scrextend} \LWR@loadafter{scrhack} \LWR@loadafter{scrlayer} \LWR@loadafter{scrlayer-notecolumn} \LWR@loadafter{scrlayer-scrpage} \LWR@loadafter{scrpage2} \LWR@loadafter{section} \LWR@loadafter{sectionbreak} \LWR@loadafter{sectsty} \LWR@loadafter{selectp} \LWR@loadafter{semantic-markup} \LWR@notmemoirloadafter{setspace} \LWR@loadafter{shadow} \LWR@loadafter{shapepar} \LWR@notmemoirloadafter{showidx} \LWR@loadafter{showlabels} \LWR@loadafter{showkeys} \LWR@loadafter{showtags} \LWR@loadafter{shuffle} \LWR@loadafter{sidecap} \LWR@loadafter{sidenotes} \LWR@loadafter{simplebnf} \LWR@loadafter{SIunits} \LWR@loadafter{siunitx} \LWR@loadafter{siunitx-v2} \LWR@loadafter{skmath} \LWR@loadafter{slantsc} \LWR@loadafter{slashed} \LWR@loadafter{soul} \LWR@loadafter{soulpos} \LWR@loadafter{soulutf8} \LWR@loadafter{splitbib} \LWR@loadafter{splitidx} \LWR@loadafter{srcltx} \LWR@loadafter{srctex} \LWR@loadafter{stabular} \LWR@loadafter{stackengine} \LWR@loadafter{stackrel} \LWR@loadafter{statex2} \LWR@loadafter{statistics} \LWR@loadafter{statmath} \LWR@loadafter{steinmetz} \LWR@notltjloadafter{stfloats} \LWR@loadafter{struktex} \LWR@loadafter{subcaption} \LWR@loadafter{subfig} \LWR@loadafter{subfigure} \LWR@loadafter{subsupscripts} \LWR@loadafter{supertabular} \LWR@loadafter{svg} \LWR@loadafter{swfigure} \LWR@loadafter{sympytex} \LWR@loadafter{syntonly} \LWR@loadafter{t1inc} \LWR@loadafter{tabfigures} \LWR@loadafter{tabls} \LWR@loadafter{tablefootnote} \LWR@notmemoirloadafter{tabularx} \LWR@loadafter{tabulary} \LWR@loadafter{tagpdf} \LWR@loadafter{tagpdf-mc-code-generic} \LWR@loadafter{tagpdf-mc-code-lua} \LWR@loadafter{tascmac} \LWR@loadafter{tcolorbox} \LWR@loadafter{tensor} \LWR@loadafter{termcal} \LWR@loadafter{textarea} \LWR@loadafter{textfit} \LWR@loadafter{textpos} \LWR@loadafter{theorem} \LWR@loadafter{thinsp} \LWR@loadafter{thm-listof} \LWR@loadafter{thm-restate} \LWR@loadafter{thmbox} \LWR@loadafter{thmtools} \LWR@loadafter{threadcol} \LWR@loadafter{threeparttable} \LWR@loadafter{threeparttablex} \LWR@loadafter{thumb} \LWR@loadafter{thumbs} \LWR@loadafter{tikz} \LWR@loadafter{tikz-imagelabels} \LWR@loadafter{titleps} \LWR@loadafter{titlesec} \LWR@loadafter{titletoc} \LWR@notmemoirloadafter{titling} \LWR@notmemoirloadafter{tocbibind} \LWR@loadafter{tocdata} \LWR@loadafter{tocenter} \LWR@notmemoirloadafter{tocloft} \LWR@loadafter{tocstyle} \LWR@loadafter{todo} \LWR@loadafter{todonotes} \LWR@loadafter{topcapt} \LWR@loadafter{tram} \LWR@loadafter{transparent} \LWR@loadafter{trimclip} \LWR@loadafter{trivfloat} \LWR@loadafter{truncate} \LWR@loadafter{turnthepage} \LWR@loadafter{twoup} \LWR@loadafter{typicons} \LWR@loadafter{umoline} \LWR@loadafter{underscore} \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} \LWR@loadafter{versonotes} \LWR@loadafter{vertbars} \LWR@loadafter{vmargin} \LWR@loadafter{vowel} \LWR@loadafter{vpe} \LWR@loadafter{vwcol} \LWR@loadafter{wallpaper} \LWR@loadafter{watermark} \LWR@loadafter{widetable} \LWR@loadafter{widows-and-orphans} \LWR@loadafter{witharrows} \LWR@loadafter{wrapfig} \LWR@loadafter{wrapfig2} \LWR@loadafter{xbmks} \LWR@loadafter{xcolor} \LWR@loadafter{xechangebar} \LWR@loadafter{xellipsis} \LWR@loadafter{xevlna} \LWR@loadafter{xfakebold} \LWR@loadafter{xfrac} \LWR@loadafter{xltabular} \LWR@loadafter{xltxtra} \LWR@loadafter{xmpincl} \LWR@loadafter{xpiano} \LWR@loadafter{xpinyin} \LWR@loadafter{xr} \LWR@loadafter{xr-hyper} \LWR@loadafter{xtab} \LWR@loadafter{xurl} \LWR@loadafter{xy} \LWR@loadafter{zwpagelayout} \newcommand{\LWR@mdfive}[1]{% \PackageError{lwarp} {No MD5 macro was found} {% Lwarp must find the macros \protect\pdfmdfivesum\space or \protect\mdfivesum.% } } \ifdef{\pdfmdfivesum} {\let\LWR@mdfive\pdfmdfivesum} {} \ifLuaTeX \RequirePackage{pdftexcmds} \let\LWR@mdfive\pdf@mdfivesum \fi \ifXeTeX \@ifundefined{pdffivesum}{} {\let\LWR@mdfive\pdfmdfivesum} \@ifundefined{mdfivesum}{} {\let\LWR@mdfive\mdfivesum} \fi \newcommand*{\LWR@pdfencoding}{% \RequirePackage[T1]{fontenc} \IfPackageLoadedTF{inputenc}{}{ \IfPackageLoadedTF{inputenx}{}{ \RequirePackage[utf8]{inputenc} } } } \ifPDFTeX% pdflatex or dvi latex \LWR@pdfencoding \fi \ifpTeX \LWR@pdfencoding \fi \ifpTeX \else \RequirePackage{newunicodechar} \newunicodechar{⨯}{\texttimes} \ifPDFTeX% pdflatex or dvi latex \newunicodechar{ff}{ff}% Here, the first arguments are ligatures. \newunicodechar{fi}{fi} \newunicodechar{fl}{fl} \newunicodechar{ffi}{ffi} \newunicodechar{ffl}{ffl} \newunicodechar{—}{---} \newunicodechar{–}{--} \fi \fi \ifxetexorluatex \else \ifdefstring{\f@family}{cmr}{ \IfFileExists{type1ec.sty}% found in cm-super {} {% cm-super not installed \IfFileExists{lmodern.sty}{ \PackageInfo{lwarp}{cm-super not installed, loading lmodern} \RequirePackage{lmodern} }{ \PackageError{lwarp} {% Lwarp requires a vector font.\MessageBreak Install and load cm-super, lmodern, or another\MessageBreak Type-1 vector font before loading lwarp.\MessageBreak Enter 'H' for possible solutions% } {% Install cm-super or lmodern.\MessageBreak If lmodern, load it before lwarp:\MessageBreak \space\space\protect\usepackage{lmodern}\MessageBreak \space\space\protect\usepackage{lwarp}% } } }% cm-super not installed }{}% f@family \fi \ifPDFTeX \RequirePackage{upquote} \fi \ifpTeX \RequirePackage{upquote} \fi \ifxetexorluatex \AtBeginDocument{ \IfPackageLoadedTF{kpfonts}{ \PackageError{lwarp} {% When using XeLaTeX or LuaLaTeX,\MessageBreak use kpfonts-otf instead of kpfonts% } {% Replace: \protect\usepackage{kpfonts}\MessageBreak with: \protect\usepackage{kpfonts-otf} } }{} } \fi \newlength{\LWR@templengthone} \newlength{\LWR@templengthtwo} \newlength{\LWR@templengththree} \newcounter{LWR@tempcountone} \newcommand*\LWR@providelength[1]{% \ifdeflength{#1}{}{\newlength{#1}}% } \newcommand*{\LWR@convertto}[2]{\strip@pt\dimexpr #2*65536/\number\dimexpr 1#1} \newcommand*{\LWR@printpercentlength}[2]{% \setcounter{LWR@tempcountone}{100*\ratio{#1}{#2}}% \arabic{LWR@tempcountone}% } \providecommand*{\defaddtocounter}[2]{% \defcounter{#1}{\value{#1}+#2}% } \newcommand*{\LWR@patcherror}[2]{% \PackageError{lwarp}% {% Unable to patch package #1,\MessageBreak macro \LWRbackslash #2.\MessageBreak Lwarp or #1 may need to be updated% }% {Please contact the maintainer of the Lwarp package.}% } \providecommand*{\csNewCommandCopycs}[2]{% \expandafter\NewCommandCopy\csname#1\expandafter\endcsname% \csname#2\endcsname% } \providecommand*{\NewEnvironmentCopy}[2]{% \csNewCommandCopycs{#1}{#2}% \csNewCommandCopycs{end#1}{end#2}% } \newcommand{\LWR@isolate}[1]{#1}% \IfPackageLoadedTF{ctexpatch}{ \renewcommand{\LWR@isolate}[1]{\null#1\null}% }{} \IfPackageLoadedTF{xeCJK}{ \renewcommand{\LWR@isolate}[1]{\null#1\null}% }{} \newcommand*{\LWR@disablepinyin}{} \newcommand*{\LWR@forceemptyline}{% \LWR@origrule{0pt}{1\baselineskip}% \LWR@orignewline% } \long\def\LWR@thirdofthree#1#2#3{#3}% \long\def\LWR@fourthoffour#1#2#3#4{#4}% \long\def\LWR@firstoffive#1#2#3#4#5{#1} \long\def\LWR@secondoffive#1#2#3#4#5{#2} \long\def\LWR@thirdoffive#1#2#3#4#5{#3} \long\def\LWR@fourthoffive#1#2#3#4#5{#4} \long\def\LWR@fifthoffive#1#2#3#4#5{#5} \long\def\LWR@edeffirstoffive#1#2#3#4#5{% \edef\@tempa{#1}% }% \newcounter{LWR@texboxdepth} \setcounter{LWR@texboxdepth}{0} \newcommand*{\LWR@maybe@orignewpage}{% \LWR@traceinfo{LWR@maybe@orignewpage}% \ifnumgreater{\value{LWR@texboxdepth}}{0}% {}% {\LWR@orignewpage}% \LWR@traceinfo{LWR@maybe@orignewpage done}% } \DeclareRobustCommand\LWR@gsavebox[1]{% \@ifnextchar(%) {\LWR@@gsavepicbox#1}{\@ifnextchar[{\LWR@@gsavebox#1}{\LWR@gsbox#1}}}% \long\def\LWR@gsbox#1#2{\global\setbox#1\hbox{% \color@setgroup#2\color@endgroup}} \def\LWR@@gsavebox#1[#2]{% \@ifnextchar [{\LWR@@igsavebox#1[#2]}{\LWR@@igsavebox#1[#2][c]}} \long\def\LWR@@igsavebox#1[#2][#3]#4{% \LWR@gsbox#1{\@imakebox[#2][#3]{#4}}} \def\LWR@@gsavepicbox#1(#2,#3){% \@ifnextchar[%] {\LWR@@igsavepicbox#1(#2,#3)}{\LWR@@igsavepicbox#1(#2,#3)[]}} \long\def\LWR@@igsavepicbox#1(#2,#3)[#4]#5{% \LWR@gsbox#1{\@imakepicbox(#2,#3)[#4]{#5}}} \def\LWR@glrbox#1{% \edef\reserved@a{% \endgroup \global\setbox#1\hbox{% \begingroup\aftergroup}% \def\noexpand\@currenvir{\@currenvir}% \def\noexpand\@currenvline{\on@line}}% \reserved@a \@endpefalse \color@setgroup \ignorespaces} \let\LWR@endglrbox\LWR@endlrbox \newcommand*{\macrotocsname}[1]{% \ifcat\relax\noexpand#1% \expandafter\expandafter\expandafter\@gobble\expandafter\string \fi #1% } \ExplSyntaxOn \newcommand*{\LWRtexttitlecase}[1]{% \text_titlecase:n{#1}% } \ExplSyntaxOff \newcommand*{\LWR@LetLtxMacrocs}[2]{% \expandafter\LetLtxMacro\csname #1\expandafter\endcsname% \csname#2\endcsname% } \newcommand*{\LWR@absorbstar}[1]{% \LWR@LetLtxMacrocs{LWR@origns@#1}{#1}% \csdef{#1}{\@ifstar{\csuse{LWR@origns@#1}}{\csuse{LWR@origns@#1}}} \expandafter\robustify\csname #1\endcsname } \let\LWRpercent\@percentchar \catcode`\$=12 \def\LWRdollar{$} \def\LWRdollar{$}% syntax highlighting \catcode`\$=3 \catcode`\&=12 \def\LWRamp{&} \catcode`\&=4 \catcode`\&=0 &catcode`&\=12 &def&LWRbackslash{\} &catcode`&\=0 \catcode`\&=4 \catcode`\&=1 \catcode`\{=12 \def\LWRleftbrace&{} \catcode`\{=1 \catcode`\&=4 \catcode`\&=2 \catcode`\}=12 \def\LWRrightbrace{}& \catcode`\}=2 \catcode`\&=4 \catcode`\#=12 \def\LWRhash{#} \catcode`\#=6 \def\LWRopquote{'} \def\LWRopseq{\space\LWRamp\LWRamp\space\space} \newbool{usingOSWindows} \boolfalse{usingOSWindows} \newcommand*{\OSPathSymbol}{/} \newcommand*{\LWR@setOSWindows} { \booltrue{usingOSWindows} \renewcommand*{\OSPathSymbol}{\@backslashchar} \def\LWRopquote{"} \def\LWRopseq{\space\LWRamp\space\space} } \ifwindows \LWR@setOSWindows \fi \RequirePackage{kvoptions} \SetupKeyvalOptions{family=LWR,prefix=LWR@} \newcommand{\lwarpsetup}[1]{\setkeys{LWR}{#1}} \newbool{warpingprint} \newbool{warpingHTML} \newbool{mathjax} \newbool{LWR@origmathjax} \booltrue{warpingprint}% \boolfalse{warpingHTML}% \boolfalse{mathjax}% \DeclareVoidOption{warpdisable}{% \PackageInfo{lwarp}{Using option 'warpdisable'} \boolfalse{warpingprint}% \boolfalse{warpingHTML}% } \DeclareVoidOption{warpprint}{% \PackageInfo{lwarp}{Using option 'warpprint'} \booltrue{warpingprint}% \boolfalse{warpingHTML}% } \DeclareVoidOption{warpHTML}{% \PackageInfo{lwarp}{Using option 'warpHTML'}% \booltrue{warpingHTML}% \boolfalse{warpingprint}% } \DeclareVoidOption{mathsvg}{% \PackageInfo{lwarp}{Using option 'mathsvg'} \boolfalse{mathjax}% \boolfalse{LWR@origmathjax}% } \DeclareVoidOption{mathjax}{% \PackageInfo{lwarp}{Using option 'mathjax'} \booltrue{mathjax}% \booltrue{LWR@origmathjax}% } \DeclareStringOption[\jobname]{BaseJobname} \DeclareStringOption[\BaseJobname-images]{ImagesDirectory} \DeclareStringOption[image-]{ImagesName} \DeclareStringOption[lwarp.ist]{makeindexStyle} \DeclareStringOption[lwarp.xdy]{xindyStyle} \DeclareStringOption[english]{xindyLanguage} \DeclareStringOption[utf8]{xindyCodepage} \DeclareStringOption[]{xindexConfig} \DeclareStringOption[UTF-8]{pdftotextEnc} \newbool{LWR@creatinglwarpmk} \boolfalse{LWR@creatinglwarpmk} \DeclareVoidOption{lwarpmk}{ \PackageInfo{lwarp}{Using option 'lwarpmk'} \booltrue{LWR@creatinglwarpmk} } \DeclareVoidOption{OSWindows}{ \PackageInfo{lwarp}{Using option 'OSWindows'} \LWR@setOSWindows } \DeclareStringOption[]{HomeHTMLFilename} \DeclareStringOption[]{HTMLFilename} \DeclareStringOption[]{PrintLatexCmd} \DeclareStringOption[]{HTMLLatexCmd} \DeclareStringOption[]{PrintIndexCmd} \DeclareStringOption[]{HTMLIndexCmd} \DeclareStringOption[]{LatexmkIndexCmd} \DeclareBoolOption[false]{makeindex} \DeclareBoolOption[false]{xindy} \DeclareBoolOption[false]{xindex} \DeclareStringOption[cref]{IndexRef} \DeclareStringOption[makeglossaries]{GlossaryCmd} \DeclareBoolOption[false]{latexmk} \DeclareBoolOption[false]{dvips} \DeclareBoolOption[false]{dvipdfm} \DeclareBoolOption[false]{dvipdfmx} \ProcessKeyvalOptions*\relax \providecommand*{\BaseJobname}{\LWR@BaseJobname} \ifcsempty{LWR@HomeHTMLFilename}{ \newcommand*{\HomeHTMLFilename}{\BaseJobname} }{ \csedef{HomeHTMLFilename}{\LWR@HomeHTMLFilename} } \csedef{HTMLFilename}{\LWR@HTMLFilename} \newcommand*{\LWR@sanitized}{} \newcommand*{\LWR@sanitize}[1]{% \edef\LWR@sanitized{#1}% \edef\LWR@sanitized{\detokenize\expandafter{\LWR@sanitized}}% } \LWR@sanitize{\LWR@BaseJobname} \edef\LWR@BaseJobname{\LWR@sanitized} \LWR@sanitize{\LWR@ImagesDirectory} \edef\LWR@ImagesDirectory{\LWR@sanitized} \LWR@sanitize{\LWR@ImagesName} \edef\LWR@ImagesName{\LWR@sanitized} \ifdefempty{\LWR@PrintIndexCmd}{ \renewcommand{\LWR@PrintIndexCmd}{% makeindex -s \LWR@makeindexStyle \space \jobname.idx% } \ifbool{LWR@xindy}{ \renewcommand{\LWR@PrintIndexCmd}{% xindy -M \LWR@xindyStyle \space -L \LWR@xindyLanguage \space -C \LWR@xindyCodepage \space \jobname.idx% } }{} \ifbool{LWR@xindex}{ \ifdefvoid{\LWR@xindexConfig}{ \renewcommand{\LWR@PrintIndexCmd}{% xindex \jobname.idx% } }{ \renewcommand{\LWR@PrintIndexCmd}{% xindex -c \LWR@xindexConfig \space \jobname.idx% } } }{} }{} \ifdefempty{\LWR@HTMLIndexCmd}{ \renewcommand{\LWR@HTMLIndexCmd}{% makeindex -s \LWR@makeindexStyle \space \jobname_html.idx% } \ifbool{LWR@xindy}{ \renewcommand{\LWR@HTMLIndexCmd}{% xindy -M \LWR@xindyStyle \space -L \LWR@xindyLanguage \space -C \LWR@xindyCodepage \space \jobname_html.idx% } }{} \ifbool{LWR@xindex}{ \ifdefvoid{\LWR@xindexConfig}{ \renewcommand{\LWR@HTMLIndexCmd}{% xindex \jobname_html.idx% } }{ \renewcommand{\LWR@HTMLIndexCmd}{% xindex -c \LWR@xindexConfig \space \jobname_html.idx% } } }{} }{} \ifdefempty{\LWR@LatexmkIndexCmd}{ \renewcommand{\LWR@LatexmkIndexCmd}{% makeindex -s \LWR@makeindexStyle% } \ifbool{LWR@xindy}{ \renewcommand{\LWR@LatexmkIndexCmd}{% xindy -M \LWR@xindyStyle \space -L \LWR@xindyLanguage \space -C \LWR@xindyCodepage% } }{} \ifbool{LWR@xindex}{ \ifdefvoid{\LWR@xindexConfig}{ \renewcommand{\LWR@LatexmkIndexCmd}{% xindex } }{ \renewcommand{\LWR@LatexmkIndexCmd}{% xindex -c \LWR@xindexConfig } } }{} }{} \newcommand{\warpprintonly}[1]{\ifbool{warpingprint}{#1}{}} \newcommand{\warpHTMLonly}[1]{\ifbool{warpingHTML}{#1}{}} \RequirePackage{comment} \def\LWR@includecomment #1#2{\message{Lwarp: Including comment '#1'}% \csarg\def{After#1Comment}{% \CloseAndInputCutFile% \csundef{LWR@#1commentused}% } \csarg\def{#1}{% \endgroup \ifcsdef{LWR@#1commentused}{ \PackageError{lwarp}% {Nested #1 environment}% {% Environment #1 cannot be nested.\MessageBreak This can happen when a package is loaded from inside a\MessageBreak #1 environment.% }% }{\relax} \csdef{LWR@#1commentused}{} \message{Including '#1' comment.}% \def\CommentCutFile{comment_#2.cut} \SetUpCutFile \ProcessComment{#1} }% \CommentEndDef{#1} } \def\LWR@excludecomment #1#2{\message{Lwarp: Excluding comment '#1'}% \csarg\def{#1}{ \endgroup \message{Excluding '#1' comment.}% \begingroup \def\CommentCutFile{comment_#2.cut} \def\ProcessCutFile{}% \def\ThisComment####1{}% \ProcessComment{#1} }% \csarg\def{After#1Comment}{\CloseAndInputCutFile \endgroup} \CommentEndDef{#1}} \LWR@includecomment{warpall}{all} \ifbool{warpingHTML} {\LWR@includecomment{warpHTML}{html}} {\LWR@excludecomment{warpHTML}{html}} \ifbool{warpingprint} {\LWR@includecomment{warpprint}{print}} {\LWR@excludecomment{warpprint}{print}} \ifboolexpr{bool {warpingprint} or bool {warpingHTML}} {} { \LWR@excludecomment{warpHTML}{html} \LWR@excludecomment{warpprint}{print} \LWR@excludecomment{warpMathJax}{mathjax} } \begin{warpprint} \LWR@excludecomment{warpMathJax}{mathjax} \end{warpprint} \begin{warpHTML} \ifbool{mathjax} {\LWR@includecomment{warpMathJax}{mathjax}} {\LWR@excludecomment{warpMathJax}{mathjax}} \end{warpHTML} \begin{warpprint} \LWR@includecomment{warpsvg}{mathsvg} \end{warpprint} \begin{warpHTML} \ifbool{mathjax} {\LWR@excludecomment{warpsvg}{mathsvg}} {\LWR@includecomment{warpsvg}{mathsvg}} \end{warpHTML} \ifbool{LWR@creatinglwarpmk} {\LWR@includecomment{LWRcreatelwarpmk}{lwarpmk}} {\LWR@excludecomment{LWRcreatelwarpmk}{lwarpmk}} \begin{warpHTML} \ifxetexorluatex \IfPackageLoadedTF{fontspec}{}{ \usepackage[no-math]{fontspec} } \defaultfontfeatures[\rmfamily]{Ligatures={NoCommon,TeX}} \defaultfontfeatures[\sffamily]{Ligatures={NoCommon,TeX}} \defaultfontfeatures[\ttfamily]{Ligatures=NoCommon} \else \RequirePackage{microtype} \microtypesetup{ protrusion=false, expansion=false, tracking=false, kerning=false, spacing=false} \DisableLigatures{encoding = *,family = tt*} \fi \end{warpHTML} \begin{warpHTML} \IfPackageLoadedTF{geometry} {}{ \RequirePackage[ reset, paperwidth=\paperwidth, paperheight=\paperheight, textwidth=\textwidth, textheight=\textheight, left=\oddsidemargin, top=\topmargin, marginparsep=\marginparsep, marginparwidth=\marginparwidth, ]{geometry} } \LetLtxMacro\LWR@origgeometry\geometry \LetLtxMacro\LWR@orignewgeometry\newgeometry \LetLtxMacro\LWR@origrestoregeometry\restoregeometry \LetLtxMacro\LWR@origsavegeometry\savegeometry \LetLtxMacro\LWR@origloadgeometry\loadgeometry \newbool{LWR@allowanothergeometry} \booltrue{LWR@allowanothergeometry} \AtEndPreamble{ \LWR@origsavegeometry{LWR@usergeometry} %% \begin{macrocode} \newlength{\LWR@userspaperwidth} \setlength{\LWR@userspaperwidth}{\paperwidth} \newlength{\LWR@userspaperheight} \setlength{\LWR@userspaperheight}{\paperheight} \newlength{\LWR@usersmarginparwidth} \setlength{\LWR@usersmarginparwidth}{\marginparwidth} \newlength{\LWR@userstextwidth} \setlength{\LWR@userstextwidth}{\textwidth} \newlength{\LWR@userstextheight} \setlength{\LWR@userstextwidth}{\textheight} \LWR@origgeometry{ reset, paperheight=190in, paperwidth=20in, left=2in, right=6in, top=1in, bottom=1in, heightrounded,% } \LWR@origsavegeometry{LWR@lwarpgeometry} \boolfalse{LWR@allowanothergeometry}% \setlength{\textheight}{0.8\paperheight} \setlength{\textwidth}{0.7\paperwidth} \@twosidefalse \@mparswitchfalse }% \AtEndPreamble \end{warpHTML} \begin{warpall} \RequirePackage{xparse} \RequirePackage{calc} \end{warpall} \begin{warpHTML} \RequirePackage{expl3} \RequirePackage{gettitlestring} \end{warpHTML} \begin{warpall} \@ifundefined{filec@ntents@opt}{% older kernel, discard optional args \RequirePackage{filecontents} \LetLtxMacro\LWR@orig@filec@ntents\filec@ntents \IfPackageAtLeastTF{filecontents}{2011/10/08} { \renewcommand*{\filec@ntents}[1][]{\LWR@orig@filec@ntents} } {% patch older package for morewrites \newwrite\fcwrite \renewcommand*{\filec@ntents}[1][]{% \def\chardef##1\write{\let\reserved@c\fcwrite}% \LWR@orig@filec@ntents% } } }% older kernel {% newer kernel }% newer kernel, filecontents env accepts optional args, do not load package \end{warpall} \begin{warpHTML} \RequirePackage{xifthen} \RequirePackage{verbatim} \RequirePackage{refcount} \RequirePackage{newfloat} \end{warpHTML} \begin{warpall} \RequirePackage{xstring}[2019/02/01] \RequirePackage{environ} \end{warpall} \begin{warpHTML} \RequirePackage{printlen} \newrobustcmd*{\LWR@printlength}[1]{% \begingroup% \uselengthunit{PT}% \renewcommand*{\unitspace}{}% \ifdimless{#1}{10pt}{% \printlength{#1}% }{% \rndprintlength{#1}% }% \endgroup% } \end{warpHTML} \begin{warpall} \LetLtxMacro\LWR@origRequirePackage\RequirePackage \LetLtxMacro\LWR@origRequirePackageWithOptions\RequirePackageWithOptions \newcommand*{\LWR@requirepackagenames}{} \newcommand*{\LWR@parsedrequirepackagenames}{} \newcommand*{\LWR@nullifycomment}{% \PackageInfo{lwarp}% {Nullifying the comment environment before loading \LWR@strresulttwo,}% \let\comment\relax% \let\endcomment\relax% } \newcommand*\LWR@findword[3][,]{% \StrBetween[#3,\numexpr#3+1]{#1#2#1}{#1}{#1}% } \LetLtxMacro\LWR@checkloadnever\LWR@afterloadnever \newcommand*{\LWR@checkloadfilename}[1]{% \edef\LWR@tempone{#1}% \LWR@checkloadnevers \LWR@checkloadbefore{ctex} \LWR@checkloadbefore{fontspec} \LWR@checkloadbefore{inputenc} \LWR@checkloadbefore{inputenx} \LWR@checkloadbefore{nfssext-cfr} \LWR@checkloadbefore{fontaxes} \LWR@checkloadbefore{kotex} \LWR@checkloadbefore{kpfonts}% textcomp option clash \LWR@checkloadbefore{luatexja} \LWR@checkloadbefore{luatexja-fontspec} \LWR@checkloadbefore{luatexko} \LWR@checkloadbefore{morewrites} \LWR@checkloadbefore{newclude} \LWR@checkloadbefore{newunicodechar} \LWR@checkloadbefore{plext} \LWR@checkloadbefore{xeCJK} \LWR@checkloadbefore{xetexko} \LWR@checkloadbefore{zxjatype} } \newcommand*{\LWR@lookforpackagename}[1]{% \LWR@findword{\LWR@requirepackagenames}{#1}[\LWR@strresult]% \StrSubstitute[100]{\LWR@strresult}{ }{}[\LWR@strresulttwo]% \IfStrEq{\LWR@strresulttwo}{}% {}% no filename {% yes filename was found \ifdefstring{\LWR@strresulttwo}{easyReview}{\LWR@nullifycomment}{}% \ifdefstring{\LWR@strresulttwo}{changes}{\LWR@nullifycomment}{}% \ifbool{warpingHTML}{\LWR@checkloadfilename{\LWR@strresulttwo}}{}% \ifboolexpr{ bool{warpingHTML} and test{\IfFileExists{lwarp-\LWR@strresulttwo.sty}} }% {% lwarp-* file found \ifdefvoid{\LWR@parsedrequirepackagenames}{% \edef\LWR@parsedrequirepackagenames{lwarp-\LWR@strresulttwo}% }{% \edef\LWR@parsedrequirepackagenames{% \LWR@parsedrequirepackagenames,lwarp-\LWR@strresulttwo% }% }% }% {% \ifdefvoid{\LWR@parsedrequirepackagenames}{% \edef\LWR@parsedrequirepackagenames{\LWR@strresulttwo}% }{% \edef\LWR@parsedrequirepackagenames{% \LWR@parsedrequirepackagenames,\LWR@strresulttwo% }% }% }% no lwarp-* file }% yes filename } \RenewDocumentCommand{\RequirePackage}{o m o}{% \renewcommand*{\LWR@requirepackagenames}{#2}% \renewcommand*{\LWR@parsedrequirepackagenames}{}% \LWR@lookforpackagename{1}% \LWR@lookforpackagename{2}% \LWR@lookforpackagename{3}% \LWR@lookforpackagename{4}% \LWR@lookforpackagename{5}% \LWR@lookforpackagename{6}% \LWR@lookforpackagename{7}% \LWR@lookforpackagename{8}% \LWR@lookforpackagename{9}% \LWR@lookforpackagename{10}% \LWR@lookforpackagename{11}% \LWR@lookforpackagename{12}% \LWR@lookforpackagename{13}% \LWR@lookforpackagename{14}% \LWR@lookforpackagename{15}% \LWR@lookforpackagename{16}% \LWR@lookforpackagename{17}% \LWR@lookforpackagename{18}% \LWR@lookforpackagename{19}% \LWR@lookforpackagename{20}% \IfSubStr{\detokenize\expandafter{#1}}{\LWRleftbrace}% {% \PackageError{lwarp}{% You used:\MessageBreak \protect\usepackage[#1]{#2}\MessageBreak Braces in the package options will fail with Lwarp.\MessageBreak Instead, use:\MessageBreak \protect\PassOptionsToPackage{#1}{#2}\MessageBreak \protect\usepackage{#2}\MessageBreak near the line number given below.\MessageBreak Enter 'h' for more info% }% {% See the Lwarp manual troubleshooting index entry for\MessageBreak ``package, options with braces''% }% }% {}% no brace \IfValueTF{#1}% {% options given \edef\LWR@packageoptions{#1}% \IfValueTF{#3}% version given? {% \expandafter\LWR@origRequirePackage% \expandafter[\LWR@packageoptions]% {\LWR@parsedrequirepackagenames}[#3]% }% {% \expandafter\LWR@origRequirePackage% \expandafter[\LWR@packageoptions]% {\LWR@parsedrequirepackagenames}% }% }% {% no options given \IfValueTF{#3}% version given? {\LWR@origRequirePackage{\LWR@parsedrequirepackagenames}[#3]}% {\LWR@origRequirePackage{\LWR@parsedrequirepackagenames}}% }% } \LetLtxMacro\usepackage\RequirePackage \@onlypreamble\RequirePackage \@onlypreamble\usepackage \end{warpall} \begin{warpHTML} \NewDocumentCommand{\LWR@ProvidesPackagePass}{m o}{ \PackageInfo{lwarp}{% Using package `#1',\MessageBreak and adding lwarp modifications, including options,\MessageBreak% }% \IfValueTF{#2}% {\ProvidesPackage{lwarp-#1}[#2]}% {\ProvidesPackage{lwarp-#1}}% \DeclareOption*{% \PassOptionsToPackage{\CurrentOption}{#1}% }% \ProcessOptions\relax% \IfPackageLoadedTF{#1}{% \edef\LWR@tempone{\csuse{opt@#1.sty}}% \IfValueTF{#2}% {% \expandafter\LWR@origRequirePackage% \expandafter[\LWR@tempone]{#1}[#2]% }% {% \expandafter\LWR@origRequirePackage% \expandafter[\LWR@tempone]{#1}% }% }{% \IfValueTF{#2}% {\LWR@origRequirePackage{#1}[#2]}% {\LWR@origRequirePackage{#1}}% }% \DeclareOption*{}% \ProcessOptions\relax% } \newcommand*{\LWR@ProvidesPackageDropA}[2]{% \PackageInfo{lwarp}{% Replacing package `#1' with the lwarp version,\MessageBreak and discarding options,% }% \IfValueTF{#2} {\ProvidesPackage{lwarp-#1}[#2]} {\ProvidesPackage{lwarp-#1}} } \newcommand*{\LWR@ProvidesPackageDropB}{% \let\ds@\@empty% from the original \ProcessOptions \edef\@curroptions{}% lwarp modification to \ProcessOptions \@process@ptions\relax% from the original \ProcessOptions } \NewDocumentCommand{\LWR@ProvidesPackageDrop}{m o}{ \LWR@ProvidesPackageDropA{#1}{#2} \DeclareOption*{} \LWR@ProvidesPackageDropB } \end{warpHTML} \begin{warpall} \newwrite\LWR@quickfile% \end{warpall} \begin{warpHTML} \newwrite\LWR@lateximagesfile \end{warpHTML} \begin{warpHTML} \def\@include#1 {% \immediate\openout\LWR@quickfile #1_html_inc.tex% lwarp \immediate\write\LWR@quickfile{\string\input{#1.tex}}% lwarp \immediate\closeout\LWR@quickfile% lwarp \LWR@maybe@orignewpage% changed from clearpage \if@filesw \immediate\write\@mainaux{\string\@input{#1_html_inc.aux}}% changed \fi \@tempswatrue \if@partsw \@tempswafalse \edef\reserved@b{#1}% \@for\reserved@a:=\@partlist\do {\ifx\reserved@a\reserved@b\@tempswatrue\fi}% \fi \if@tempswa \let\@auxout\@partaux \if@filesw \immediate\openout\@partaux #1_html_inc.aux % changed \immediate\write\@partaux{\relax}% \fi \@input@{#1_html_inc.tex}% changed \LWR@maybe@orignewpage% changed from clearpage \@writeckpt{#1}% \if@filesw \immediate\closeout\@partaux \fi \else \deadcycles\z@ \@nameuse{cp@#1}% \fi \let\@auxout\@mainaux% } \end{warpHTML} \begin{warpHTML} \newwrite\LWR@copyoutfile % open the file to write to \newread\LWR@copyinfile % open the file to read from \newcommand*{\LWR@copyfile}[2]{% \LWR@traceinfo{LWR@copyfile: copying #1 to #2} \immediate\openout\LWR@copyoutfile=#2 \openin\LWR@copyinfile=#1 \begingroup\endlinechar=-1 \makeatletter \LWR@traceinfo{LWR@copyfile: about to loop} \loop\unless\ifeof\LWR@copyinfile \LWR@traceinfo{LWR@copyfile: one line} \read\LWR@copyinfile to\LWR@fileline % Read one line and store it into \LWR@fileline \immediate\write\LWR@copyoutfile{\unexpanded\expandafter{\LWR@fileline}}% \repeat \immediate\closeout\LWR@copyoutfile \LWR@traceinfo{LWR@copyfile: done} \endgroup } \end{warpHTML} \begin{warpall} \newbool{LWR@tracinglwarp} \newcommand{\tracinglwarp}{\booltrue{LWR@tracinglwarp}} \newcommand{\LWR@traceinfo}[1]{% \ifbool{LWR@tracinglwarp}% {% \typeout{*** lwarp: #1}% }% {}% } \newbool{HTMLDebugComments} \boolfalse{HTMLDebugComments} \AfterEndPreamble{ \LWR@traceinfo{AfterEndPreamble} } \AtBeginDocument{ \LWR@traceinfo{AtBeginDocument} } \end{warpall} \begin{warpall} \newcommand*{\LWR@formatted}[1]{} \newcommand*{\LWR@expandableformatted}[1]{} \newcommand*{\LWR@formattedenv}[1]{} \newcommand*{\LWR@expandableformattedenv}[1]{} \end{warpall} \begin{warpHTML} \newcommand*{\LWR@formatting}{HTML} \newcommand*{\LWR@formatted@checkname}[1]{% \ifcsundef{#1}{% \ifcsundef{LWR@print@#1}{% \PackageError{lwarp} {% \LWRbackslash#1 or \protect\LWR@print@#1\MessageBreak must be defined before using \protect\LWR@formatted, etc% } {Perhaps #1 is misspelled.} }{\relax}% }{\relax}% \ifcsundef{LWR@HTML@#1}{% \PackageError{lwarp} {% \protect\LWR@HTML@#1 must be defined before using \protect\LWR@formatted, etc% } {Perhaps #1 is misspelled.} }{\relax}% } \newcommand*{\LWR@formatted@checkendname}[1]{% \ifcsundef{end#1}{% \ifcsundef{endLWR@print@#1}{% \PackageError{lwarp} {% \protect\end#1 or \protect\endLWR@print@#1\MessageBreak must be defined before using \protect\LWR@formatted, etc% } {Perhaps #1 is misspelled.} }{\relax}% }{\relax}% \ifcsundef{endLWR@HTML@#1}{% \PackageError{lwarp} {% \protect\endLWR@HTML@#1 must be defined before using \protect\LWR@formatted, etc% } {Perhaps #1 is misspelled.} }{\relax}% } \renewcommand*{\LWR@formatted}[1]{% \LWR@formatted@checkname{#1}% \ifcsundef{LWR@print@#1}{% \csNewCommandCopycs{LWR@print@#1}{#1}% }{}% \ifcsundef{#1}{% \expandafter\newrobustcmd\csname #1\endcsname{% \@nameuse{LWR@\LWR@formatting @#1}% }% }{% \expandafter\renewrobustcmd\csname #1\endcsname{% \@nameuse{LWR@\LWR@formatting @#1}% }% }% } \renewcommand*{\LWR@expandableformatted}[1]{% \LWR@formatted@checkname{#1}% \ifcsundef{LWR@print@#1}{% \csNewCommandCopycs{LWR@print@#1}{#1}% }{}% \ifcsundef{#1}{% \expandafter\newcommand\csname #1\endcsname{% \@nameuse{LWR@\LWR@formatting @#1}% }% }{% \expandafter\renewcommand\csname #1\endcsname{% \@nameuse{LWR@\LWR@formatting @#1}% }% }% } \renewcommand*{\LWR@formattedenv}[1]{% \LWR@formatted@checkname{#1}% \LWR@formatted@checkendname{#1}% \ifcsundef{LWR@print@#1}{% \NewEnvironmentCopy{LWR@print@#1}{#1}% }{}% \DeclareDocumentEnvironment{#1}{}% {% \@nameuse{LWR@\LWR@formatting @#1}% }% {% \@nameuse{endLWR@\LWR@formatting @#1}% }% } \renewcommand*{\LWR@expandableformattedenv}[1]{% \LWR@formatted@checkname{#1}% \LWR@formatted@checkendname{#1}% \ifcsundef{LWR@print@#1}{% \NewEnvironmentCopy{LWR@print@#1}{#1}% }{}% \DeclareExpandableDocumentEnvironment{#1}{}% {% \@nameuse{LWR@\LWR@formatting @#1}% }% {% \@nameuse{endLWR@\LWR@formatting @#1}% }% } \end{warpHTML} \begin{warpall} \newbool{FormatEPUB} \boolfalse{FormatEPUB} \newbool{FormatWP} \boolfalse{FormatWP} \newbool{WPMarkFloats} \boolfalse{WPMarkFloats} \newbool{WPMarkMinipages} \boolfalse{WPMarkMinipages} \newbool{WPMarkTOC} \booltrue{WPMarkTOC} \newbool{WPMarkLOFT} \boolfalse{WPMarkLOFT} \newbool{WPMarkMath} \boolfalse{WPMarkMath} \newbool{WPTitleHeading} \boolfalse{WPTitleHeading} \end{warpall} \begin{warpHTML} \AtBeginDocument{ \ifbool{FormatWP}{ \@ifundefined{chapter}{ \ifbool{WPTitleHeading}{% part and section starting at h2 \renewcommand*{\LWR@tagtitle}{h1} \renewcommand*{\LWR@tagtitleend}{/h1} \renewcommand*{\LWR@tagpart}{h2} \renewcommand*{\LWR@tagpartend}{/h2} \renewcommand*{\LWR@tagsection}{h3} \renewcommand*{\LWR@tagsectionend}{/h3} \renewcommand*{\LWR@tagsubsection}{h4} \renewcommand*{\LWR@tagsubsectionend}{/h4} \renewcommand*{\LWR@tagsubsubsection}{h5} \renewcommand*{\LWR@tagsubsubsectionend}{/h5} \renewcommand*{\LWR@tagparagraph}{h6} \renewcommand*{\LWR@tagparagraphend}{/h6} \renewcommand*{\LWR@tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl} \renewcommand*{\LWR@tagsubparagraphend}{/span} }% WPTitleHeading {% not WPTitleHeading, part and section starting at h1 \renewcommand*{\LWR@tagtitle}{div class=\textquotedbl{}title\textquotedbl} \renewcommand*{\LWR@tagtitleend}{/div} \renewcommand*{\LWR@tagpart}{h1} \renewcommand*{\LWR@tagpartend}{/h1} \renewcommand*{\LWR@tagsection}{h2} \renewcommand*{\LWR@tagsectionend}{/h2} \renewcommand*{\LWR@tagsubsection}{h3} \renewcommand*{\LWR@tagsubsectionend}{/h3} \renewcommand*{\LWR@tagsubsubsection}{h4} \renewcommand*{\LWR@tagsubsubsectionend}{/h4} \renewcommand*{\LWR@tagparagraph}{h5} \renewcommand*{\LWR@tagparagraphend}{/h5} \renewcommand*{\LWR@tagsubparagraph}{h6} \renewcommand*{\LWR@tagsubparagraphend}{/h6} }% not WPTitleHeading }% chapter undefined {% chapter defined \ifbool{WPTitleHeading}{} {% not WPTitleHeading, part and chapter starting at h1 \renewcommand*{\LWR@tagtitle}{div class=\textquotedbl{}title\textquotedbl} \renewcommand*{\LWR@tagtitleend}{/div} \renewcommand*{\LWR@tagpart}{h1} \renewcommand*{\LWR@tagpartend}{/h1} \renewcommand*{\LWR@tagchapter}{h2} \renewcommand*{\LWR@tagchapterend}{/h2} \renewcommand*{\LWR@tagsection}{h3} \renewcommand*{\LWR@tagsectionend}{/h3} \renewcommand*{\LWR@tagsubsection}{h4} \renewcommand*{\LWR@tagsubsectionend}{/h4} \renewcommand*{\LWR@tagsubsubsection}{h5} \renewcommand*{\LWR@tagsubsubsectionend}{/h5} \renewcommand*{\LWR@tagparagraph}{h6} \renewcommand*{\LWR@tagparagraphend}{/h6} \renewcommand*{\LWR@tagsubparagraph}{span class=\textquotedbl{}subparagraph\textquotedbl} \renewcommand*{\LWR@tagsubparagraphend}{/span} }% not WPTitleHeading }% chapter defined }{}% FormatWP }% AtBeginDocument \end{warpHTML} \begin{warpHTML} \chardef\LWR@origpound=`\# \let\LWR@origcomma\, \LetLtxMacro\LWR@origtilde~ \LetLtxMacro\LWR@orignobreakspace\nobreakspace \let\LWR@orighfil\hfil \let\LWR@orighss\hss \let\LWR@origllap\llap \let\LWR@origrlap\rlap \let\LWR@orighfilneg\hfilneg \let\LWR@orighspace\hspace \let\LWR@origrule\rule \let\LWR@origmedskip\medskip \let\LWR@origbigskip\bigskip \LetLtxMacro\LWR@orig@@textquotedbl\textquotedbl \LetLtxMacro\LWR@orig@textquotedbl\LWR@orig@@textquotedbl \AtEndPreamble{ \IfPackageLoadedTF{libertinus-otf}{ \renewcommand{\LWR@orig@textquotedbl}{\LWR@orig@@textquotedbl\kern-.15em} \LetLtxMacro\textquotedbl\LWR@orig@textquotedbl }{} } \LetLtxMacro\LWR@origttfamily\ttfamily \LetLtxMacro\LWR@origem\em \LetLtxMacro\LWR@orignormalfont\normalfont \let\LWR@origonecolumn\onecolumn \let\LWR@origsp\sp \let\LWR@origsb\sb \LetLtxMacro\LWR@origunderline\underline \let\LWR@orignewpage\newpage \let\LWR@origpagestyle\pagestyle \let\LWR@origthispagestyle\thispagestyle \LetLtxMacro\LWR@origpagenumbering\pagenumbering \let\LWR@orignewline\newline \AtBeginDocument{% in case packages change definition \let\LWR@orig@trivlist\@trivlist \let\LWR@origtrivlist\trivlist \let\LWR@origendtrivlist\endtrivlist \LetLtxMacro\LWR@origitem\item \LetLtxMacro\LWR@origitemize\itemize \LetLtxMacro\LWR@endorigitemize\enditemize \LetLtxMacro\LWR@origenumerate\enumerate \LetLtxMacro\LWR@endorigenumerate\endenumerate \LetLtxMacro\LWR@origdescription\description \LetLtxMacro\LWR@endorigdescription\enddescription \let\LWR@orig@mklab\@mklab \let\LWR@origmakelabel\makelabel \let\LWR@orig@donoparitem\@donoparitem \LetLtxMacro\LWR@orig@item\@item \let\LWR@orig@nbitem\@nbitem } \let\LWR@origpar\par \LetLtxMacro\LWR@origfootnote\footnote \let\LWR@orig@mpfootnotetext\@mpfootnotetext \AtBeginDocument{% in case packages change definition \LetLtxMacro\LWR@orighline\hline% \LetLtxMacro\LWR@origcline\cline% } \end{warpHTML} \begin{warpHTML} \AtBeginDocument{ \LetLtxMacro\LWR@origtie\t \ifPDFTeX% pdflatex or dvi latex \LetLtxMacro\LWR@origgraveaccent\` \LetLtxMacro\LWR@origacuteaccent\' \LetLtxMacro\LWR@origcircumflexaccent\^ \LetLtxMacro\LWR@origtildeaccent\~ \LetLtxMacro\LWR@origmacronaccent\= \LetLtxMacro\LWR@origbreve\u \LetLtxMacro\LWR@origdotaccent\. \LetLtxMacro\LWR@origdiaeresisaccent\" \LetLtxMacro\LWR@origdoubleacuteaccent\H \LetLtxMacro\LWR@origcaronaccent\v \LetLtxMacro\LWR@origdotbelowaccent\d \LetLtxMacro\LWR@origcedillaaccent\c \LetLtxMacro\LWR@origmacronbelowaccent\b \renewcommand*{\`}[1]{#1\HTMLunicode{0300}} \renewcommand*{\'}[1]{#1\HTMLunicode{0301}} \renewcommand*{\^}[1]{#1\HTMLunicode{0302}} \renewcommand*{\~}[1]{#1\HTMLunicode{0303}} \renewcommand*{\=}[1]{#1\HTMLunicode{0304}} \renewcommand*{\u}[1]{#1\HTMLunicode{0306}} \renewcommand*{\.}[1]{#1\HTMLunicode{0307}} \renewcommand*{\"}[1]{#1\HTMLunicode{0308}} \renewcommand*{\H}[1]{#1\HTMLunicode{030B}} \renewcommand*{\v}[1]{#1\HTMLunicode{030C}} \renewcommand*{\d}[1]{#1\HTMLunicode{0323}} \renewcommand*{\c}[1]{#1\HTMLunicode{0327}} \renewcommand*{\b}[1]{#1\HTMLunicode{0331}} \fi \def\LWR@t#1#2{#1\HTMLunicode{0361}#2} \renewcommand*{\t}[1]{\LWR@t#1} \ifPDFTeX% pdflatex or dvi latex \newcommand*{\LWR@restoreorigaccents}{% \LetLtxMacro\`\LWR@origgraveaccent% \LetLtxMacro\'\LWR@origacuteaccent% \LetLtxMacro\^\LWR@origcircumflexaccent% \LetLtxMacro\~\LWR@origtildeaccent% \LetLtxMacro\=\LWR@origmacronaccent% \LetLtxMacro\u\LWR@origbreve% \LetLtxMacro\.\LWR@origdotaccent% \LetLtxMacro\"\LWR@origdiaeresisaccent% \LetLtxMacro\H\LWR@origdoubleacuteaccent% \LetLtxMacro\v\LWR@origcaronaccent% \LetLtxMacro\t\LWR@origtie% \LetLtxMacro\d\LWR@origdotbelowaccent% \LetLtxMacro\c\LWR@origcedillaaccent% \LetLtxMacro\b\LWR@origmacronbelowaccent% }% \else% XeLaTeX, LuaLaTeX: \newcommand*{\LWR@restoreorigaccents}{% \LetLtxMacro\t\LWR@origtie% }% \fi% }% AtBeginDocument \end{warpHTML} \LWR@excludecomment{LWRwriteconf}{writeconf} \begin{warpprint} \fullexpandarg% \IfSubStr*{\jobname}{-pstool} { \PackageInfo{lwarp}{% Jobname with -pstool is found.\MessageBreak Not generating lwarp configuration files,% } } { \PackageInfo{lwarp}{Generating lwarp configuration files,}% \LWR@includecomment{LWRwriteconf}{writeconf} } \end{warpprint} \begin{LWRwriteconf} \immediate\openout\LWR@quickfile=\jobname_html.tex \immediate\write\LWR@quickfile{% \detokenize{\PassOptionsToPackage}% {warpHTML,BaseJobname=\jobname}{lwarp}% } \immediate\write\LWR@quickfile{% \detokenize{\input}\string{\jobname.tex\string }% } \immediate\closeout\LWR@quickfile \end{LWRwriteconf} \begin{LWRwriteconf} \newcommand*{\LWR@lwarpconfversion}{2}% also in lwarpmk.lua \ifshellescape \def\LWR@shellescapecmd{--shell-escape } \else \def\LWR@shellescapecmd{} \fi \newcommand*{\LWR@compilecmd}[2]{% #1 \LWR@shellescapecmd \jobname#2% } \newcommand*{\LWR@addcompilecmd}[2]{% \LWRopseq #1 \jobname#2% } \newcommand*{\LWR@unknownengine}{% \PackageError{lwarp}% {Unknown LaTeX engine}% {% Lwarp only knows about pdflatex, DVI latex, xelatex, lualatex, and upLateX.% }% } \newcommand*{\LWR@latexmkvar}[2]{% -e \LWRopquote% \LWRdollar #1=q/#2/% \LWRopquote } \newcommand*{\LWR@latexmkcmd}[1]{% latexmk \space \LWR@shellescapecmd \space #1 \space -recorder \space \LWR@latexmkvar{makeindex}{\LWR@LatexmkIndexCmd}% } \newcommand*{\LWR@latexmkdvipdfm}[1]{% -pdfdvi \space \LWR@latexmkvar{dvipdf}{% #1 \@percentchar O -o \@percentchar D \@percentchar S% } } \newcommand*{\LWR@compileuplatex}{ \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{uplatex}{} \LWR@addcompilecmd{dvipdfmx}{} } \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{uplatex}{_html} \LWR@addcompilecmd{dvipdfmx}{_html} } } \ifbool{LWR@latexmk}{ \ifpdf \ifPDFTeX \def\LWR@latexcmd{\LWR@latexmkcmd{-pdf -dvi- -ps-}} \else \ifLuaTeX \def\LWR@latexcmd{\LWR@latexmkcmd{-lualatex}} \else \LWR@unknownengine \fi \fi \else% \ifpdf \ifXeTeX \def\LWR@latexcmd{\LWR@latexmkcmd{-xelatex}} \else% \ifXeTeX \ifbool{LWR@dvipdfm}{ \def\LWR@latexcmd{% \LWR@latexmkcmd{% \LWR@latexmkdvipdfm{dvipdfm}% } } }{ \ifbool{LWR@dvipdfmx}{ \def\LWR@latexcmd{% \LWR@latexmkcmd{% \LWR@latexmkdvipdfm{dvipdfmx}% } } }{ \def\LWR@latexcmd{\LWR@latexmkcmd{-pdfps}} } } \fi \fi% \ifpdf \def\LWR@tempprintlatexcmd{\LWR@latexcmd \space \jobname} \def\LWR@tempHTMLlatexcmd{\LWR@latexcmd \space \jobname_html} }% latexmk {% not latexmk \ifpdf \ifPDFTeX \def\LWR@tempprintlatexcmd{\LWR@compilecmd{pdflatex}{}} \def\LWR@tempHTMLlatexcmd{\LWR@compilecmd{pdflatex}{_html}} \else \ifLuaTeX \def\LWR@tempprintlatexcmd{\LWR@compilecmd{lualatex}{}} \def\LWR@tempHTMLlatexcmd{\LWR@compilecmd{lualatex}{_html}} \else \LWR@unknownengine \fi \fi \else% \ifpdf \ifXeTeX \def\LWR@tempprintlatexcmd{\LWR@compilecmd{xelatex}{}} \def\LWR@tempHTMLlatexcmd{\LWR@compilecmd{xelatex}{_html}} \else \ifbool{LWR@dvipdfm}{ \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{latex}{} \LWR@addcompilecmd{dvipdfm}{} } \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvipdfm}{_html} } }{ \ifbool{LWR@dvipdfmx}{ \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{latex}{} \LWR@addcompilecmd{dvipdfmx}{} } \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvipdfmx}{_html} } }{% dvips \def\LWR@tempprintlatexcmd{% \LWR@compilecmd{latex}{} \LWR@addcompilecmd{dvips}{} \LWR@addcompilecmd{ps2pdf -dALLOWPSTRANSPARENCY}{}.ps } \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvips}{_html} \LWR@addcompilecmd{ps2pdf -dALLOWPSTRANSPARENCY}{_html}.ps } } } \fi% \ifXeTeX \fi% \ifpdf }% latexmk \IfClassLoadedTF{ujarticle}{\LWR@compileuplatex}{} \IfClassLoadedTF{ujbook}{\LWR@compileuplatex}{} \IfClassLoadedTF{ujreport}{\LWR@compileuplatex}{} \IfClassLoadedTF{utarticle}{\LWR@compileuplatex}{} \IfClassLoadedTF{utbook}{\LWR@compileuplatex}{} \IfClassLoadedTF{utreport}{\LWR@compileuplatex}{} \ifdefempty{\LWR@PrintLatexCmd}{ \def\LWR@PrintLatexCmd{\LWR@tempprintlatexcmd} }{} \ifdefempty{\LWR@HTMLLatexCmd}{ \def\LWR@HTMLLatexCmd{\LWR@tempHTMLlatexcmd} }{} \newcommand{\LWR@writeconf}[1]{ \ifcsdef{LWR@quickfile}{}{\newwrite{\LWR@quickfile}} \immediate\openout\LWR@quickfile=#1 \immediate\write\LWR@quickfile{confversion = [[\LWR@lwarpconfversion]]} \ifbool{usingOSWindows}{ \immediate\write\LWR@quickfile{opsystem = [[Windows]]} }{ \immediate\write\LWR@quickfile{opsystem = [[Unix]]} } \immediate\write\LWR@quickfile{sourcename = [[\jobname]]} \immediate\write\LWR@quickfile{homehtmlfilename = [[\HomeHTMLFilename]]} \immediate\write\LWR@quickfile{htmlfilename = [[\HTMLFilename]]} \immediate\write\LWR@quickfile{imagesdirectory = [[\LWR@ImagesDirectory]]} \immediate\write\LWR@quickfile{imagesname = [[\LWR@ImagesName]]} \immediate\write\LWR@quickfile{latexmk = [[\ifbool{LWR@latexmk}{true}{false}]]} \immediate\write\LWR@quickfile{printlatexcmd = [[\LWR@PrintLatexCmd]]} \immediate\write\LWR@quickfile{HTMLlatexcmd = [[\LWR@HTMLLatexCmd]]} \immediate\write\LWR@quickfile{printindexcmd = [[\LWR@PrintIndexCmd]]} \immediate\write\LWR@quickfile{HTMLindexcmd = [[\LWR@HTMLIndexCmd]]} \immediate\write\LWR@quickfile{latexmkindexcmd = [[\LWR@LatexmkIndexCmd]]} \immediate\write\LWR@quickfile{glossarycmd = [[\LWR@GlossaryCmd]]} \immediate\write\LWR@quickfile{pdftotextenc = [[\LWR@pdftotextEnc]]} \immediate\closeout\LWR@quickfile } \end{LWRwriteconf} \begin{LWRwriteconf} \AtBeginDocument{\LWR@writeconf{lwarpmk.conf}} \end{LWRwriteconf} \begin{LWRwriteconf} \AtBeginDocument{\LWR@writeconf{\jobname.lwarpmkconf}} \end{LWRwriteconf} \begin{LWRwriteconf} \begin{filecontents*}[overwrite]{lwarp.css} /* CSS stylesheet for the LaTeX Lwarp package Copyright 2016-2022 Brian Dunn — BD Tech Concepts LLC */ /* a fix for older browsers: */ header, section, footer, aside, nav, main, article, figure { display: block; } A:link {color:#000080 ; text-decoration: none ; } A:visited {color:#800000 ; } A:hover {color:#000080 ; text-decoration: underline ;} A:active {color:#800000 ; } a.tocbook {display: inline-block ; margin-left: 0em ; font-weight: bold ; margin-top: 1ex ; margin-bottom: 1ex ; } a.tocpart {display: inline-block ; margin-left: 0em ; font-weight: bold ;} a.tocchapter {display: inline-block ; margin-left: 0em ; font-weight: bold ;} a.tocsection {display: inline-block ; margin-left: 1em ; text-indent: -.5em ; font-weight: bold ; } a.tocsubsection {display: inline-block ; margin-left: 2em ; text-indent: -.5em ; } a.tocsubsubsection {display: inline-block ; margin-left: 3em ; text-indent: -.5em ; } a.tocparagraph {display: inline-block ; margin-left: 4em ; text-indent: -.5em ; } a.tocsubparagraph {display: inline-block ; margin-left: 5em ; text-indent: -.5em ; } a.tocfigure {margin-left: 0em} a.tocsubfigure {margin-left: 2em} a.toctable {margin-left: 0em} a.tocsubtable {margin-left: 2em} a.toctheorem {margin-left: 0em} a.toclstlisting {margin-left: 0em} body { font-family: "DejaVu Serif", "Bitstream Vera Serif", "Lucida Bright", Georgia, serif; background: #FAF7F4 ; color: black ; margin:0em ; padding:0em ; font-size: 100% ; line-height: 1.2 ; } p {margin: 1.5ex 0em 1.5ex 0em ;} table p {margin: .5ex 0em .5ex 0em ;} /* Holds a section number */ span.sectionnumber { margin-right: 0em } /* Inserted in front of index lines */ span.indexitem {margin-left: 0em} span.indexsubitem {margin-left: 2em} span.indexsubsubitem {margin-left: 4em} div.indexheading {margin-top: 2ex ; font-weight: bold} div.hidden, span.hidden { display: none ; } kbd, span.texttt, p span.texttt { font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console", "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono", "Courier New", monospace; font-size: 100% ; } pre { padding: 3pt ; } span.strong, span.textbf, div.strong, div.textbf, table td.tdbfseries { font-weight: bold; } span.textit, div.textit, table td.tditshape { font-style: italic; } table td.tdbfit { font-weight: bold ; font-style:italic } span.textnormal, div.textnormal { font-weight: normal; font-style: normal; font-variant: normal; font-variant-numeric: normal ; font-family: "DejaVu Serif", "Bitstream Vera Serif", "Lucida Bright", Georgia, serif; } span.textmd, div.textmd { font-weight: normal; } span.textup, div.textup { font-style: normal; font-variant: normal; font-variant-numeric: normal ; } /* For complex number i,j symbols */ span.ijit {font-style: italic; font-variant: normal} span.ijup {font-style: normal; font-variant: normal} span.textsc, div.textsc { font-variant: small-caps; font-variant-numeric: oldstyle-nums ; } span.textulc, div.textulc { font-variant: normal ; font-variant-numeric: normal ; } span.textsl, div.textsl { font-style: oblique; } span.textrm, div.textrm { font-family: "DejaVu Serif", "Bitstream Vera Serif", "Lucida Bright", Georgia, serif; } span.textsf, div.textsf { font-family: "DejaVu Sans", "Bitstream Vera Sans", Geneva, Verdana, sans-serif ; } /* nfssext-cfr lining figures */ span.textln, div.textln { font-variant-numeric: lining-nums ; } /* nfssext-cfr proportional figures */ span.textp, div.textp { font-variant-numeric: proportional-nums ; } /* nfssext-cfr tabular figures */ span.textt, div.textt { font-variant-numeric: tabular-nums ; } /* nfssext-cfr font weights */ span.textdb, div.textdb { font-weight: 500 ; } span.textsb, div.textsb { font-weight: 600 ; } span.texteb, div.texteb { font-weight: 800 ; } span.textub, div.textub { font-weight: 900 ; } span.textlg, div.textlg { font-weight: 300 ; } span.textel, div.textel { font-weight: 200 ; } span.textul, div.textul { font-weight: 100 ; } span.textcircled { border: 1px solid black ; border-radius: 1ex ; } span.underline { text-decoration: underline ; text-decoration-skip: auto ; } span.overline { text-decoration: overline ; text-decoration-skip: auto ; } div.hrule { border-top: 1px solid silver } /* for vertical text: */ div.verticalrl { writing-mode: vertical-rl } div.horizontaltb { writing-mode: horizontal-tb } /* for diagbox */ div.diagboxtitleN { border-bottom: 1px solid gray } div.diagboxtitleS { border-top: 1px solid gray } div.diagboxE { padding-left: 2em ; text-align: right ; } div.diagboxW { padding-right: 2em ; text-align: left ; } /* For realscripts */ .supsubscript { display: inline-block; text-align:left ; } .supsubscript sup, .supsubscript sub { position: relative; display: block; font-size: .7em; line-height: 1; } .supsubscript sup { top: .3em; } .supsubscript sub { top: .3em; } div.attribution p { text-align: right ; font-size: 80% } span.poemtitle { font-size: 120% ; font-weight: bold; } pre.tabbing { font-family: "Linux Libertine Mono O", "Lucida Console", "Droid Sans Mono", "DejaVu Mono", "Bitstream Vera Mono", "Liberation Mono", "FreeMono", "Andale Mono", "Nimbus Mono L", "Courier New", monospace; } blockquote { display: block ; margin-left: 2em ; margin-right: 2em ; } /* quotchap is for the quotchap package */ div.quotchap { display: block ; font-style: oblique ; overflow-x: auto ; margin-left: 2em ; margin-right: 2em ; } blockquote p, div.quotchap p { line-height: 1.5; text-align: left ; font-size: .85em ; } /* qauthor is for the quotchap package */ div.qauthor { display: block ; text-align: right ; margin-left: auto ; margin-right: 2em ; font-size: 80% ; font-variant: small-caps; } div.qauthor p { text-align: right ; } div.epigraph, div.dictum { line-height: 1.2; text-align: left ; padding: 3ex 1em 0ex 1em ; /* margin: 3ex auto 3ex auto ; */ /* Epigraph centered */ margin: 3ex 1em 3ex auto ; /* Epigraph to the right */ /* margin: 3ex 1em 3ex 1em ; */ /* Epigraph to the left */ font-size: .85em ; max-width: 27em ; } div.epigraphsource, div.dictumauthor { text-align:right ; margin-left:auto ; /* max-width: 50% ; */ border-top: 1px solid #A0A0A0 ; padding-bottom: 3ex ; line-height: 1.2; } div.epigraph p, div.dictum p { padding: .5ex ; margin: 0ex ;} div.epigraphsource p, div.dictumauthor p { padding: .5ex 0ex 0ex 0ex ; margin: 0ex ;} div.dictumauthor { font-style:italic } /* copyrightbox package: */ div.copyrightbox { margin: .5ex .5em } div.copyrightbox p {margin: 0px .5em ; padding: 0px} div.copyrightboxnote {text-align: left ; font-size: 60%} /* lettrine package: */ span.lettrine { font-size: 4ex ; float: left ; } span.lettrinetext { font-variant: small-caps ; } /* ulem, soul, umoline packages: */ span.uline { text-decoration: underline ; text-decoration-skip: auto ; } span.uuline { text-decoration: underline ; text-decoration-skip: auto ; text-decoration-style: double ; } span.uwave { text-decoration: underline ; text-decoration-skip: auto ; text-decoration-style: wavy ; } span.sout { text-decoration: line-through ; } span.oline { text-decoration: overline ; text-decoration-skip: auto ; } span.xout { text-decoration: line-through ; } span.dashuline { text-decoration: underline ; text-decoration-skip: auto ; text-decoration-style: dashed ; } span.dotuline { text-decoration: underline ; text-decoration-skip: auto ; text-decoration-style: dotted ; } span.letterspacing { letter-spacing: .2ex ; } span.capsspacing { font-variant: small-caps ; letter-spacing: .1ex ; } span.highlight { background: #F8E800 ; } /* keystroke package: */ span.keystroke { border-style: outset ; padding: 0pt .5em 0pt .5em ; } html body { margin: 0 ; line-height: 1.2; } body div { margin: 0ex; } div.book, h1, h2, h3, h4, h5, h6, span.paragraph, span.subparagraph { font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; font-style: normal ; font-weight: bold ; text-align: left ; } h1 { /* title of the entire website, used on each page */ text-align: center ; font-size: 2.5em ; padding: .4ex 0em 0ex 0em ; } div.book { text-align: center ; font-size: 2.325em ; padding: .4ex 0em 0ex 0em ; } h2 { font-size: 2.25em } h3 { font-size: 2em } h4 { font-size: 1.75em } h5 { font-size: 1.5em } h6 { font-size: 1.25em } span.paragraph {font-size: 1em ; font-variant: normal ; margin-right: 1em ; } span.subparagraph {font-size: 1em ; font-variant: normal ; margin-right: 1em ; } div.minisec { font-family: "DejaVu Sans", "Bitstream Vera Sans", Geneva, Verdana, sans-serif ; font-style: normal ; font-weight: bold ; text-align: left ; } h1 { margin: 0ex 0em 0ex 0em ; line-height: 1.3; text-align: center ; } h2 { margin: 1ex 0em 1ex 0em ; line-height: 1.3; text-align: center ; } h3 { margin: 3ex 0em 1ex 0em ; line-height: 1.3; } h4 { margin: 3ex 0em 1ex 0em ; line-height: 1.3; } h5 { margin: 3ex 0em 1ex 0em ; line-height: 1.3; } h6 { margin: 3ex 0em 1ex 0em ; line-height: 1.3; } div.titlepage { text-align: center ; } .footnotes { text-align: left ; font-size: .85em ; margin: 3ex 2em 0ex 2em ; border-top: 1px solid silver ; } .marginpar, .marginparblock { max-width: 50%; float: right ; clear: both ; text-align: left ; margin: 1ex 0.5em 1ex 1em ; padding: 1ex 0.5em 1ex 0.5em ; font-size: 85% ; border-top: 1px solid silver ; border-bottom: 1px solid silver ; overflow-x: auto ; } .marginpar br { margin-bottom: 2ex ; } div.marginblock, div.marginparblock { max-width:50%; min-width: 10em; /* room for caption */ float:right; text-align:left; margin: 1ex 0.5em 1ex 1em ; padding: 1ex 0.5em 1ex 0.5em ; overflow-x: auto; } div.marginblock div.minipage, div.marginparblock div.minipage { display: inline-block ; margin: 0pt auto 0pt auto ; } div.marginblock div.minipage p , div.marginparblock div.minipage p { font-size: 85%} div.marginblock br , div.marginparblock br { margin-bottom: 2ex ; } main.bodycontainer { float: left ; width: 80% ; } div.bodywithoutsidetoc main.bodycontainer { float: none ; width: 100% ; } section.textbody div.footnotes{ margin: 1ex 2em 2ex 2em ; border-bottom: 2px solid silver ; } .footnoteheader { border-top: 2px solid silver ; margin-top: 3ex ; padding-top: 1ex ; font-weight: bold ; } .mpfootnotes { text-align: left ; font-size: .85em ; margin-left: 1em ; border-top: 1px solid silver ; } /* Remove footnote top border in the title page. */ div.titlepage div.mpfootnotes { border-top: none ; } ul, ol { margin: 1ex 1em 1ex 0em; line-height: 1.2; } body dir, body menu { margin: 3ex 1em 3ex 0em; line-height: 1.2; } li { margin: 0ex 0em 1ex 0em; } li.p { display: inline ; } html { margin: 0; padding: 0; } .programlisting { font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console", "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono", "Courier New", monospace; margin: 1ex 0ex 1ex 0ex ; padding: .5ex 0pt .5ex 0pt ; overflow-x: auto; } section.textbody>pre.programlisting { border-top: 1px solid silver ; border-bottom: 1px solid silver ; } div.displaymath { text-align: center ; } div.displaymathnumbered { text-align: right ; margin-left: 5% ; margin-right: 5% ; min-width: 2.5in ; } @media all and (min-width: 400px) { div.displaymathnumbered { margin-left: 10% ; margin-right: 10% ; } } @media all and (min-width: 800px) { div.displaymathnumbered { margin-right: 20% ; } } @media all and (min-width: 1200px) { div.displaymathnumbered { margin-right: 30% ; } } .inlineprogramlisting { font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console", "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono", "Courier New", monospace; overflow-x: auto; } span.listinglabel { display: inline-block ; font-size: 70% ; width: 4em ; text-align: right ; margin-right: 2em ; } div.abstract { margin: 2em 5% 2em 5% ; padding: 1ex 1em 1ex 1em ; /* font-weight: bold ; */ font-size: 90% ; text-align: left ; } div.abstract dl {line-height:1.5;} div.abstract dt {color:#304070;} div.abstracttitle{ font-family: "URW Classico", Optima, "Linux Biolinum O", "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; font-weight:bold; font-size:1.25em; text-align: center ; } span.abstractrunintitle{ font-family: "URW Classico", Optima, "Linux Biolinum O", "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; font-weight:bold; } .verbatim { overflow-x: auto ; } .alltt { overflow-x: auto ; } .bverbatim { margin: 1ex 0pt 1ex 0pt ; padding: .5ex 0pt .5ex 0pt ; overflow-x: auto ; } .lverbatim { margin: 1ex 0pt 1ex 0pt ; padding: .5ex 0pt .5ex 0pt ; overflow-x: auto ; } .fancyvrb { margin: 3ex 0pt 3ex 0pt ; font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console", "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono", "Courier New", monospace; } .fancyvrblabel { font-size: .85em ; text-align: center ; font-weight: bold ; margin-top: 1ex ; margin-bottom: 1ex ; } .verse { font-family: "Linux Libertine Mono O", "Lucida Console", "Droid Sans Mono", "DejaVu Mono", "Bitstream Vera Mono", "Liberation Mono", "FreeMono", "Andale Mono", "Nimbus Mono L", "Courier New", monospace; margin-left: 1em ; } div.singlespace { line-height: 1.2 ; } div.onehalfspace { line-height: 1.5 ; } div.doublespace { line-height: 2 ; } /* Word processor format output: */ div.wpfigure { border: 1px solid red ; margin: .5ex ; padding: .5ex ; } div.wptable { border: 1px solid blue ; margin: .5ex ; padding: .5ex ; } div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;} /* Minipage environments, vertically aligned to top, center, bottom: */ .minipage, .fminipage, .fcolorminipage { /* display: inline-block ; */ /* Mini pages which follow each other will be tiled. */ text-align:left; margin: .25em .25em .25em .25em; padding: .25em .25em .25em .25em; display: inline-flex; flex-direction: column ; overflow: auto; } .inlineminipage { display: inline-block ; text-align: left } /* Paragraphs in the flexbox did not collapse their margins. */ /* Have not yet researched this. */ .minipage p {margin: .75ex 0em .75ex 0em ;} .fboxBlock .minipage, .colorbox .minipage, .colorboxBlock .minipage, .fcolorbox .minipage, .fcolorboxBlock .minipage {border: none ; background: none;} .fbox, .fboxBlock { border: 1px solid black ; padding: 4pt } .fbox, .fboxBlock, .fcolorbox, .fcolorboxBlock, .colorbox, .colorboxBlock, .fminipage, .fcolorminipage {display: inline-block} .shadowbox, .shabox { border: 1px solid black; box-shadow: 3px 3px 3px #808080 ; border-radius: 0px ; padding: .4ex .3em .4ex .3em ; margin: 0pt .3ex 0pt .3ex ; display: inline-block ; } .doublebox { border: 3px double black; border-radius: 0px ; padding: .4ex .3em .4ex .3em ; margin: 0pt .3ex 0pt .3ex ; display: inline-block ; } .ovalbox, .Ovalbox { border: 1px solid black; border-radius: 1ex ; padding: .4ex .3em .4ex .3em ; margin: 0pt .3ex 0pt .3ex ; display: inline-block ; } .Ovalbox { border-width: 2px ; } .framebox { border: 1px solid black; border-radius: 0px ; padding: .3ex .2em 0ex .2em ; margin: 0pt .1ex 0pt .1ex ; display: inline-block ; } /* mdframed, tcolorbox, shadebox packages */ .mdframed, .tcolorbox, .shadebox { padding: 0ex ; margin: 2ex 0em 2ex 0em ; border: 1px solid black ; } .tcolorbox { border-radius: 10pt ; margin: 2ex 1em 2ex 1em ; } .mdframed p, .tcolorbox p { padding: 0ex .5em 0ex .5em ; } .mdframed dl, .tcolorbox dl { padding: 1ex .5em 0ex .5em ; } .mdframedtitle, .tcolorboxtitle { padding: .5ex 0pt 0pt 0pt ; border-radius: 10pt 10pt 0pt 0pt ; display: block ; margin-bottom: 1ex ; border-bottom: 1px solid silver ; } .tcolorboxsubtitle .tcolorbox { margin: 2ex 0em 2ex 0em ; border-radius: 0pt ; } .mdframedsubtitle { display: block ; } .mdframedsubsubtitle { display: block ; } .mdtheorem { padding: 0ex .5em 0ex .5em ; margin: 3ex 5% 3ex 5% ; } /* framed package */ .framed, pre.boxedverbatim, fcolorbox { margin: 3ex 0em 3ex 0em ; border: 1px solid black; border-radius: 0px ; padding: .3ex 1em 0ex 1em ; display: block ; } .shaded { margin: 3ex 0em 3ex 0em ; padding: .3ex 1em .3ex 1em ; display: block ; } .snugframed { margin: 3ex 0em 3ex 0em ; border: 1px solid black; border-radius: 0px ; display: block ; } .framedleftbar { margin: 3ex 0em 3ex 0em ; border-left: 3pt solid black; border-radius: 0px ; padding: .3ex .2em .3ex 1em ; display: block ; } .framedtitle { margin: 0em ; padding: 0em ; font-size: 130% } .framedtitle p { padding: .3em } /* For the niceframe package: */ div.niceframe, div.curlyframe, div.artdecoframe, div.generalframe { padding: 1ex ; margin: 2ex auto ; border-radius: 2ex ; } div.niceframe { border: 6px groove black ; } div.curlyframe { border-left: 3px dotted black ; border-right: 3px dotted black ; border-radius: 6ex ; } div.artdecoframe { border-left: 10px double black ; border-right: 10px double black ; border-radius: 6ex ; } div.generalframe { border: 6px groove black ; } /* For beamerarticle: */ div.beamerframe { margin: 3ex 1em 3ex 1em ; border: 1px solid gray; border-radius: 0px ; padding: .3ex 1em 0ex 1em ; display: block ; } dl { margin: 1ex 2em 1ex 0em; line-height: 1.3; } dl dt { display: block ; float:left ; font-weight: bold; padding-right: 1em ; } dl dd { display: block ; } dl dd:after { content: "" ; display: block ; clear: both } dl dd p { margin-top: 0em; } dd ul, dd ol, dd dl { clear: both ; /* padding-top: 1ex ; */ } nav { font-family: "URW Classico", Optima, "Linux Biolinum O", "DejaVu Sans", "Bitstream Vera Sans", Geneva, Verdana, sans-serif ; margin-bottom: 4ex ; } nav p { line-height: 1.2 ; margin-top:.5ex ; margin-bottom:.5ex; font-size: .9em ; } img, img.hyperimage, img.borderimage { max-width: 600px; border: 1px solid silver; box-shadow: 3px 3px 3px #808080 ; padding: .5% ; margin: .5% ; background: none ; } img.inlineimage{ padding: 0px ; box-shadow: none ; border: none ; background: none ; margin: 0px ; display: inline-block ; border-radius: 0px ; } img.logoimage{ max-width: 300px ; box-shadow: 3px 3px 3px #808080 ; border: 1px solid black ; background:none ; padding:0 ; margin:.5ex ; border-radius: 10px ; } .section { /* To have each section float relative to each other: */ /* display: block ; float: left ; position: relative ; background: white ; border: 1px solid silver ; padding: .5em ; */ margin: 0ex .5em 0ex .5em ; padding: 0 ; } figure { margin: 5ex auto 5ex auto ; padding: 1ex 1em 1ex 1em ; overflow-x: auto ; } /* To automatically center images in figures: */ /* figure img.inlineimage { margin: 0ex auto 0ex auto ; display: block ; } */ /* To automatically center minipages in figures: */ /* figure div.minipage, figure div.minipage div.minipage { margin: 1ex auto 1ex auto ; display: block ; } */ figure figure { margin: 0pt } figure div.minipage p { font-size: 85% ; } figure.subfigure, figure.subtable { display: inline-block ; margin: 3ex 1em 3ex 1em ; } div.figurecaption .minipage { margin:0 ; padding: 0 } /* for subcaptions: */ figure div.minipage div.figurecaption { max-width: 100% ; /* fallback if min() does not work */ max-width: min(30em,100%) } div.minipage figure { border: none ; box-shadow: none ; } div.minipage figure.table { margin: 0ex } div.minipage div.footnotes { margin: 1ex 2em 0ex 2em } div.floatrow { text-align: center; } div.floatrow figure { display: inline-block ; margin: 1ex 2% ; } div.floatfoot { font-size: .85em ; border-top: 1px solid silver ; line-height: 1.2 ; } /* Center if only one line, "start" align if more than one line: */ div.figurecaption , .lstlistingtitle { font-size: .85em ; font-weight: bold ; text-align: start ; margin: 1ex auto; width: max-content; max-width: 100%; } /* A marginblock is small, so always center and don't mess with the width. */ div.marginblock div.figurecaption { width: 100% ; text-align: center ; } figure.subfigure div.figurecaption, figure.subtable div.figurecaption { border-bottom: none ; background: none ; } div.nonfloatcaption { margin: 1ex auto 1ex auto ; font-size: .85em ; text-align: center ; font-weight: bold ; } /* For a \RawCaption inside a minipage inside a figure's floatrow: */ figure div.floatrow div.minipage div.figurecaption { border: none ; background: none ; } /* For packages such as float, rotfloat, and algorithm2e: */ figure.boxed, figure.boxruled { border: 1px solid black ; } figure.ruled { border-top: 1px solid black ; border-bottom: 1px solid black ; border-left: 0px ; border-right: 0px ; border-radius: 0px ; background: none ; box-shadow: none ; } figure.ruled div.figurecaption, figure.boxruled div.figurecaption { border-top: 1px solid silver ; border-bottom: 1px solid silver ; } table { margin: 1ex auto 1ex auto ; border-collapse: separate ; border-spacing: 0px ; line-height: 1.3 ; } table > tbody > tr.hline > td {border-top: 1px solid #808080 ; margin-top: 0ex ; margin-bottom: 0ex ; } /* for \hline */ tr.tbrule td {border-top: 1px solid black ; margin-top: 0ex ; margin-bottom: 0ex ; } /* for \toprule, \bottomrule */ td {padding: .5ex .5em .5ex .5em ;} table td.tdl { text-align: left ; vertical-align: middle ; } table td.tdc { text-align: center ; vertical-align: middle ; } table td.tdat { text-align: center ; vertical-align: middle ; padding: 0px ; margin: 0px ; } table td.tdbang { text-align: center ; vertical-align: middle ; } table td.tdr { text-align: right ; vertical-align: middle ; } table td.tdp { text-align: left ; vertical-align: bottom ; } table td.tdm { text-align: left ; vertical-align: middle ; } table td.tdb { text-align: left ; vertical-align: top ; } table td.tvertbarl { border-left: 1px solid black } table td.tvertbarldouble { border-left: 4px double black } table td.tvertbarr { border-right: 1px solid black } table td.tvertbarrdouble { border-right: 4px double black } table td.tvertbarldash { border-left: 1px dashed black } table td.tvertbarldoubledash { border-left: 2px dashed black } table td.tvertbarrdash { border-right: 1px dashed black } table td.tvertbarrdoubledash { border-right: 2px dashed black } table td.tdcenter { text-align: center} table td.tdleft { text-align: left} table td.tdright { text-align: right} /* for cmidrules: */ table td.tdrule { border-top: 1px solid #A0A0A0 ; } table td.tdrulel { border-top-left-radius:.5em ; border-top: 1px solid #A0A0A0 ; } table td.tdruler { border-top-right-radius:.5em ; border-top: 1px solid #A0A0A0 ; } table td.tdrulelr { border-top-left-radius:.5em ; border-top-right-radius:.5em ; border-top: 1px solid #A0A0A0 ; } /* Margins of paragraphs inside table cells: */ td.tdp p , td.tdprule p , td.tdP p , td.tdPrule p { padding-top: 1ex ; padding-bottom: 1ex ; margin: 0ex ; } td.tdm p , td.tmbrule p , td.tdM p , td.tdMrule p { padding-top: 1ex ; padding-bottom: 1ex ; margin: 0ex ; } td.tdb p , td.tdbrule p , td.tdB p , td.tdBrule p { padding-top: 1ex ; padding-bottom: 1ex ; margin: 0ex ; } td.tdp , td.tdprule , td.tdP , td.tdPrule { padding: 0ex .5em 0ex .5em ; } td.tdm , td.tdmrule , td.tdM , td.tdMrule { padding: 0ex .5em 0ex .5em ; } td.tdb , td.tdbrule , td.tdB , td.tdBrule { padding: 0ex .5em 0ex .5em ; } /* table notes: */ .tnotes { margin: 0ex 5% 1ex 5% ; padding: 0.5ex 1em 0.5ex 1em; font-size:.80em; text-align: left ; } .minipage .tnotes { margin: 0pt ; padding: 0pt ; } .tnotes dl dt p {margin-bottom:0px;} .tnoteitemheader {margin-right: 1em;} /* for colortbl and cell color */ div.cellcolor { width: 100% ; padding: .5ex .5em .5ex .5em ; margin: -.5ex -.5em -.5ex -.5em ; } /* for lyluatex */ span.lyluatex { display: inline-block ; } div.lyluatex p span.lateximagesource img { display: block ; margin-top: 3ex ; margin-bottom: 3ex ; } /* for bigdelim */ .ldelim, .rdelim { font-size: 200% } /* center, flushleft, flushright environments */ div.center{text-align:center;} div.center table {margin-left:auto;margin-right:auto;} div.flushleft{text-align:left;} div.flushleft table {margin-left:0em ; margin-right:auto;} div.flushright{text-align:right;} div.flushright table {margin-left:auto ; margin-right: 0em ;} /* Fancybox */ div.Btrivlist table tr td { padding: .2ex 0em ; } /* program listing callouts: */ span.callout { font-family: "DejaVu Sans", "Bitstream Vera Sans", Geneva, Verdana, sans-serif ; border-radius: .5em; background-color:black; color:white; padding:0px .25em 0px .25em; margin: 0 ; font-weight: bold; font-size:.72em ; } div.programlisting pre.verbatim span.callout{ font-size: .85em ; } span.verbatim, span.verb { font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console", "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono", "Courier New", monospace; } div.titlehead { text-align: left ; font-style: normal ; font-weight: normal ; font-style: normal ; font-size: .8em ; margin: 1ex 0em 1ex 0em ; } div.subject { text-align: center ; font-style: normal ; font-weight: bold ; font-style: normal ; font-size: .8em ; margin: 1ex 0em 1ex 0em ; } div.published { text-align: center ; font-variant: normal ; font-style: italic ; font-size: 1em ; margin: 1ex 0em 1ex 0em ; } div.subtitle { text-align: center ; font-variant: normal ; font-style: italic ; font-size: 1.25em ; margin: 1ex 0em 1ex 0em ; } div.subtitle p { margin: 1ex ; } div.author { text-align: center ; font-variant: normal ; font-style: normal ; font-size: 1em ; margin: 1ex 0em 1ex 0em ; } div.oneauthor { display: inline-block ; margin: 0ex 1em 0ex 1em ; } /* div.author table { margin: 1ex auto 0ex auto ; background: none ; } div.author table tbody tr td { padding: .25ex ; } */ span.affiliation {font-size: .85em ; font-variant: small-caps; } div.titledate { text-align: center ; font-size: .85em ; font-style: italic; margin: 1ex 0em 1ex 0em ; } nav.topnavigation{ text-align: left ; padding: 0.5ex 1em 0.5ex 1em ; /* margin: 2ex 0em 3ex 0em ; */ margin: 0 ; border-bottom: 1px solid silver ; border-top: 1px solid silver ; clear:both ; } nav.botnavigation{ text-align: left ; padding: 0.5ex 1em 0.5ex 1em ; /* margin: 3ex 0em 2ex 0em ; */ margin: 0 ; border-top: 1px solid silver ; border-bottom: 1px solid silver ; clear:both ; } header { line-height: 1.2 ; font-size: 1em ; border-bottom: 1px solid silver ; margin: 0px ; padding: 2ex 1em 2ex 1em ; text-align:left ; } footer { font-size: .85em ; line-height: 1.2 ; margin-top: 1ex ; border-top: 1px solid silver ; padding: 2ex 1em 2ex 1em ; clear:both ; text-align:left ; } /* for \LinkHome, \LinkPrevious, and \LinkNext: */ a.linkhome { font-weight:bold ; font-size: 1em ;} div.lateximagesource { padding: 0px ; margin: 0px ; display: none; } img.lateximage{ padding: 0pt ; margin: 0pt ; box-shadow: none ; border: none ; background: none ; max-width: 100% ; border-radius: 0ex ; border: none ; } div.sidetoccontainer { font-family: "DejaVu Serif", "Bitstream Vera Serif", "Lucida Bright", Georgia, serif; float: left ; width: 19%; /* room for border-right next to 80% main */ margin: 0pt 0em 3ex 0pt ; border-right: 1px solid silver; border-bottom: 1px solid silver; background: #FAF7F4 ; font-size:.9em ; border-radius: 0px 0px 20px 0px ; } div.sidetoccontents { overflow-y: auto ; width: 100% ; text-align: left ; } nav.sidetoc p {line-height:1.2 ; margin: 1ex .5em 1ex .5em ; text-indent: 0 ; } nav.sidetoc p a {color:black ; font-size: .7em ;} div.sidetoctitle {font-size: 1.2em; font-weight:bold; text-align:center; border-bottom: 1px solid silver ; } nav.sidetoc a:hover {text-decoration: underline ; } section.textbody { margin: 0ex 1em 0ex 1em ;} div.multicolsheading { -webkit-column-span: all; -moz-column-span: all; column-span: all; } div.multicols { -webkit-columns: 3 auto ; -moz-columns: 3 auto ; columns: 3 auto ; } div.multicols p {margin-top: 0ex} /* Used for xfrac and nicefrac: */ span.numerator { font-size: 60% ; vertical-align: .4em ; } span.denominator { font-size: 60% } /* Used for algorithm2e: */ div.alg2evline{ margin-left: 1em ; padding-left: 1em ; border-left: 1px solid black ; border-radius: 0px 0px 0px 1ex ; } div.alg2evsline{ margin-left: 1em ; padding-left: 1em ; border-left: 1px solid black ; } div.alg2enoline{ margin-left: 1em ; padding-left: 1em ; } span.alg2elinenumber{ margin-right: .5em ; font-size: 60% ; color: red ; } /* Used for algorithmicx: */ span.floatright { float: right ; } /* keyfloat and tocdata: */ .floatnotes { margin: 0ex 5% 0ex 5% ; padding: 0ex 1em 0ex 1em ; font-size:.80em ; text-align: left ; } .authorartist{ display:block ; font-size:.70em ; font-style: italic; } nav .authorartist{ display:inline; } /* Native LaTeX theorems: */ .theoremcontents { font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ; } .theoremlabel { font-style: normal; font-weight: bold ; margin-right: .5em ; } /* theorem, amsthm, and ntheorem packages */ span.theoremheader, span.theoremheaderplain, span.theoremheaderdefinition, span.theoremheaderbreak, span.theoremheadermarginbreak, span.theoremheaderchangebreak, span.theoremheaderchange, span.theoremheadermargin { font-style:normal ; font-weight: bold ; margin-right: 1em ; } span.amsthmnameplain, span.amsthmnamedefinition, span.amsthmnumberplain, span.amsthmnumberdefinition { font-style:normal ; font-weight: bold ; } span.amsthmnameremark, span.amsthmnumberremark {font-style:italic ; font-weight: normal ; } span.amsthmnoteplain, span.amsthmnotedefinition {font-style:normal ;} span.theoremheaderremark, span.theoremheaderproof, span.amsthmproofname {font-style:italic ; font-weight: normal ; margin-right: 1em ; } span.theoremheadersc { font-style:normal ; font-variant: small-caps ; font-weight: normal ; margin-right: 1em ; } .theoremendmark {float:right} div.amsthmbodyplain, div.theorembodyplain, div.theorembodynonumberplain, div.theorembodybreak, div.theorembodynonumberbreak, div.theorembodymarginbreak, div.theorembodychangebreak, div.theorembodychange, div.theorembodymargin { font-style:italic; margin-top: 3ex ; margin-bottom: 3ex ; } div.theorembodydefinition, div.theorembodyremark, div.theorembodyproof, div.theorembodyplainupright, nonumberplainuprightsc, div.amsthmbodydefinition, div.amsthmbodyremark, div.amsthmproof { font-style: normal ; margin-top: 3ex ; margin-bottom: 3ex ; } span.amsthmnoteremark {} /* thmbox */ .thmbox { font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ; border: 1px solid gray ; padding: 1ex ; } .thmboxtitle { font-style: normal; font-weight: bold ; margin-right: .5em ; border-bottom: 1px solid gray ; } span.thmboxproofname, span.thmboxexamplename { font-weight: bold ; } div.thmboxproof, div.thmboxexample { font-size: 0.85em ; margin: 2ex ; } div.thmboxleftbar { border-left: 2px solid black ; padding-left: 1em ; } /* For the backnaur package: */ div.backnaur { display: block ; margin: 2ex 2em 2ex 2em ; } div.backnaur p { margin: .25ex 0ex .25ex 0ex ; } div.backnaurprod { display: inline-block ; min-width: 8em ; text-align:right ; } div.backnaurdesc { display: inline-block ; } /* For the notes package: */ div.notesimportantnote, div.noteswarningnote, div.notesinformationnote { clear: both ; margin: 2ex 2em 2ex 2em ; border: 1px solid silver ; } div.notesicon { float:left ; display: inline-block ; background: gold ; padding: 0ex 1em 0ex 1em ; margin-right: 1em ; font-weight: bold ; } div.notescontents { font-style: italic } /* nolbreaks package: */ span.nolbreaks { white-space: nowrap ; } /* For CSS LaTeX and related logos: Based on spacing demonstrated by the metafont package. The subscripts are shrunk instead of lowered below the baseline, to avoid browser rendering errors with the line height in lists, etc. */ .latexlogofont { font-family: "Linux Libertine O", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; font-variant: normal ; } .latexlogo { font-family: "Linux Libertine O", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; } .latexlogosup { text-transform: uppercase; letter-spacing: .03em ; font-size: 0.7em; vertical-align: 0.25em; margin-left: -0.4em; margin-right: -0.15em; } .latexlogosub { text-transform: uppercase; /* vertical-align: -0.27ex; */ margin-left: -0.08em; margin-right: -0.07em; /* font-size: 1em; */ font-size: .7em ; } .latexlogotwoe { text-transform: none ; font-variant-numeric: oldstyle-nums ; } .latexlogotwoesub { font-style:italic ; /* vertical-align: -0.27ex; */ margin-left: -0.11em; margin-right: -0.1em; /* font-size: 1em; */ font-size: .7em ; } .xelatexlogo { font-family: "Linux Libertine O", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; letter-spacing: .03em ; } .xelatexlogosub { /* vertical-align: -0.27ex; */ margin-left: -0.0667em; margin-right: -.05em; /* font-size: 1em; */ font-size: .7em ; letter-spacing: .03em ; } .amslogo { font-family: "TeXGyreChorus","URW Chancery L", "Apple Chancery","ITC Zapf Chancery","Monotype Corsiva", "Linux Libertine O", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif ; font-style: italic ; } .lyxlogo { font-family: "URW Classico", Optima, "Linux Biolinum O", "DejaVu Sans", "Bitstream Vera Sans", Geneva, Verdana, sans-serif ; } /* Only display top and bottom navigation if a small screen: */ /* Hide the sidetoc if a small screen: */ nav.topnavigation { display:none; } nav.botnavigation { display:none; } /* Only display the sidetoc's webpage title if a small screen */ span.sidetocthetitle { display: none } @media screen and (max-width: 100em) { div.multicols { -webkit-columns: 2 auto ; -moz-columns: 2 auto ; columns: 2 auto ; } } @media screen and (max-width: 50em) { div.sidetoccontainer { float: none ; width: 100% ; padding: 0 ; border-radius: 0 ; border-bottom: 1px solid black ; border-top: 1px solid black ; box-shadow: none ; } span.sidetocthetitle { display: inline } nav.topnavigation { display:block } nav.botnavigation { display:block } main.bodycontainer { width: 100% } .marginpar { max-width: 100%; float: none; display:block ; margin: 1ex 1em 1ex 1em ; } div.multicols { -webkit-columns: 1 auto ; -moz-columns: 1 auto ; columns: 1 auto ; } } @media print { body { font-family: "Linux Libertine O", "DejaVu Serif", "Bitstream Vera Serif", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; } div.sidetoccontainer { display:none; } nav.topnavigation { display: none; } nav.botnavigation { display: none; } main.bodycontainer { width: 100% } } @media handheld { div.sidetoccontainer { display:none; } nav.topnavigation { display:block } nav.botnavigation { display:block } main.bodycontainer { width: 100% } } @media projection { div.sidetoccontainer { display:none; } nav.topnavigation { display:block } nav.botnavigation { display:block } main.bodycontainer { width: 100% } } \end{filecontents*} \end{LWRwriteconf} \begin{LWRwriteconf} \begin{filecontents*}[overwrite]{lwarp_sagebrush.css} @import url("lwarp.css") ; A:link {color:#105030 ; text-decoration: none ; } A:visited {color:#705030 ; text-shadow:1px 1px 2px #a0a0a0;} A:hover {color:#006000 ; text-decoration: underline ; text-shadow:0px 0px 2px #a0a0a0;} A:active {color:#00C000 ; text-shadow:1px 1px 2px #a0a0a0;} div.book, h1, h2, h3, h4, h5, h6, span.paragraph, span.subparagraph { font-family: "URW Classico", Optima, "Linux Biolinum O", "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; font-variant: small-caps ; font-weight: normal ; color: #304070 ; text-shadow: 2px 2px 3px #808080; } h1 { /* title of the entire website, used on each page */ font-variant: small-caps ; color: #304070 ; text-shadow: 2px 2px 3px #808080; background-color: #F7F7F0 ; background-image: linear-gradient(to bottom, #F7F7F0, #C0C0C4); } h1 { border-bottom: 1px solid #304070; /* border-top: 2px solid #304070; */ } h2 { border-bottom: 1px solid #304070; /* border-top: 2px solid #304070; */ background-color: #F7F7F0 ; background-image: linear-gradient(to bottom, #F7F7F0, #DAD0C0); } div.abstract { background: #f5f5eb ; background-image: linear-gradient(to bottom, #f5f5eb, #C8C8B8); border: 1px solid silver; border-radius: 1em ; } div.abstract dl {line-height:1.5;} div.abstract dt {color:#304070;} div.abstracttitle{ font-family: "URW Classico", Optima, "Linux Biolinum O", "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; font-weight:bold; font-variant: small-caps ; font-size:1.5em; border-bottom: 1px solid silver ; color: #304070 ; text-align: center ; text-shadow: 1px 1px 2px #808080; } span.abstractrunintitle{ font-family: "URW Classico", Optima, "Linux Biolinum O", "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; font-weight:bold; } div.epigraph, div.dictum { background: #f5f5eb ; background-image: linear-gradient(to bottom, #f5f5eb, #C8C8B8); border: 1px solid silver ; border-radius: 1ex ; box-shadow: 3px 3px 3px #808080 ; } .example { background-color: #f5f5eb ; background-image: linear-gradient(to bottom, #f5f5eb, #C8C8B8); } div.exampletitle{ font-family: "URW Classico", Optima, "Linux Biolinum O", "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; font-weight:bold; font-variant: small-caps ; border-bottom: 1px solid silver ; color: #304070 ; text-align: center ; text-shadow: 1px 1px 2px #808080; } .sidebar { background-color: #f5f5eb ; background-image: linear-gradient(to bottom, #f5f5eb, #C8C8B8); } div.sidebartitle{ font-family: "URW Classico", Optima, "Linux Biolinum O", "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; font-weight:bold; font-variant: small-caps ; border-bottom: 1px solid silver ; color: #304070 ; text-align: center ; text-shadow: 1px 1px 2px #808080; } .fancyvrblabel { font-family: "URW Classico", Optima, "Linux Biolinum O", "Linux Libertine O", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; font-weight:bold; font-variant: small-caps ; font-size: 1.5em ; color: #304070 ; text-align: center ; text-shadow: 1px 1px 2px #808080; } div.minipage { background-color: #eeeee7 ; border: 1px solid silver ; border-radius: 1ex ; } table div.minipage { background: none ; border: none ; } div.framebox div.minipage {border:none ; background:none} section.textbody > div.minipage { box-shadow: 3px 3px 3px #808080 ; } div.fboxBlock div.minipage { box-shadow: none ; } .framed .minipage , .framedleftbar .minipage { border: none ; background: none ; padding: 0ex ; margin: 0ex ; } figure.figure .minipage, div.figurecaption .minipage { border: none; } div.marginblock div.minipage , div.marginparblock div.minipage { border: none; } figure , div.marginblock { background-color: #eeeee7 ; border: 1px solid silver ; border-radius: 1ex ; box-shadow: 3px 3px 3px #808080 ; } figure figure { border: 1px solid silver ; margin: 0em ; box-shadow: none ; } /* div.figurecaption { border-top: 1px solid silver ; border-bottom: 1px solid silver ; background-color: #e8e8e8 ; } */ div.table { box-shadow: 3px 3px 3px #808080 ; } /* .tnotes { background: #e8e8e8; border: 1px solid silver; } */ nav.topnavigation{ background-color: #b0b8b0 ; background-image: linear-gradient(to bottom,#e0e0e0,#b0b8b0) ; } nav.botnavigation{ background-color: #b0b8b0 ; background-image: linear-gradient(to top,#e0e0e0,#b0b8b0) ; } header{ background-color: #F7F7F0 ; background-image: linear-gradient(to top, #F7F7F0, #b0b8b0); } footer{ background-color: #F7F7F0 ; background-image: linear-gradient(to bottom, #F7F7F0, #b0b8b0); } div.sidetoccontainer { background-color: #F7F7F0 ; background-image: linear-gradient(to bottom, #F7F7F0, #C0C0C0); box-shadow: 3px 3px 3px #808080 ; } div.sidetoctitle {color: #304070 ; } nav.sidetoc a:hover { color:#006000 ; text-decoration: none ; text-shadow:0px 0px 2px #a0a0a0; } @media screen and (max-width: 45em) { div.sidetoccontainer { border-radius: 0 ; } } \end{filecontents*} \end{LWRwriteconf} \begin{LWRwriteconf} \begin{filecontents*}[overwrite]{lwarp_formal.css} @import url("lwarp.css") ; A:link {color:#802020 ; text-decoration:none; } A:visited {color:#802020 ; text-shadow:none ;} A:hover {color:#400000 ; text-shadow:none ;} A:active {color:#C00000 ; text-shadow:none ;} body { font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; background: #fffcf5; } span.textrm { font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; } span.textsf { font-family: "DejaVu Sans", "Bitstream Vera Sans", Geneva, Verdana, sans-serif ; } div.book, h1, h2, h3, h4, h5, h6, span.paragraph, span.subparagraph { font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; color: #800000 ; text-shadow: none ; } h1, h2 { background-color: #fffcf5 ; background-image: none ; border-bottom: 1px solid #808080; /* border-top: 2px solid #808080; */ } div.abstracttitle { font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; color: black ; text-shadow: none ; } span.abstractrunintitle { font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; color: black ; text-shadow: none ; } div.abstract { font-size: 100% } .sidebar { background: #fffcf5; background-image: none ; margin: 2em 5% 2em 5%; padding: 0.5em 1em; border: none ; border-top : 1px solid silver; border-bottom : 1px solid silver; font-size: 90% ; } div.sidebartitle{ font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; color: #800000 ; text-shadow: none ; border: none ; } .example { background: #fffcf5; background-image: none ; margin: 2em 5% 2em 5%; padding: 0.5em 1em; border: none ; border-top : 1px solid silver; border-bottom : 1px solid silver; } div.exampletitle{ font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; color: #800000 ; text-shadow: none ; border: none ; } div.fancyvrblabel{ font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; color: #800000 ; text-shadow: none ; border: none ; } figure { margin: 5ex 5% 5ex 5% ; padding: 1ex 1em 1ex 1em ; background-color: #fffcf5 ; overflow-x: auto ; border: none ; /* border-top: 1px solid silver; */ /* border-bottom: 1px solid silver; */ } div.figurecaption , .lstlisting { border: none ; /* border-top: 1px solid silver ; */ /* border-bottom: 1px solid silver ; */ background-color: #fffcf5 ; } .tnotes { background: #fffcf5 ; border-top: 1px solid silver ; border-bottom: 1px solid silver ; } .theorem { background: none ; } .minipage { background-color: #fffcf5 ; border: none ; } div.floatrow figure { border: none ; } figure figure { border: none ; } nav.toc, nav.lof, nav.lot, nav.lol { font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; } div.sidetoccontainer { font-family: "Linux Libertine O", "Hoefler Text", "Garamond", "Bembo", "Janson", "TeX Gyre Pagella", "Palatino", "Liberation Serif", "Nimbus Roman No 9 L", "FreeSerif", Times, "Times New Roman", serif; background-image: linear-gradient(to bottom, #fffcf5, #C0C0C0); } div.sidetoctitle{ color: #800000 ; } header{ background-color: #e0e0e0 ; background-image: linear-gradient(to top, #fffcf5, #b0b0b0); text-align:center ; } footer{ background-color: #e0e0e0 ; background-image: linear-gradient(to bottom, #fffcf5, #b0b0b0); padding: 2ex 1em 2ex 1em ; text-align:left ; } nav.botnavigation { background: #dedcd5 ; border-top: 1px solid black ; } \end{filecontents*} \end{LWRwriteconf} \begin{LWRwriteconf} \begin{filecontents*}[overwrite]{sample_project.css} /* ( --- Start of project.css --- ) */ /* ( --- A sample project-specific CSS file for lwarp --- ) */ /* Uncomment one of the following: */ @import url("lwarp.css") ; /* @import url("lwarp_formal.css") ; */ /* @import url("lwarp_sagebrush.css") ; */ /* Project-specific CSS setting follow here. */ /* . . . */ /* ( --- End of project.css --- ) */ \end{filecontents*} \end{LWRwriteconf} \begin{LWRwriteconf} \begin{filecontents*}[overwrite]{lwarp.ist} preamble "\\begin{theindex} \\providecommand*\\lettergroupDefault[1]{} \\providecommand*\\lettergroup[1]{% \\par\\textbf{#1}\\par \\nopagebreak } " headings_flag 1 heading_prefix " \\lettergroup{" heading_suffix "}" delim_0 ", \\hyperindexref{" delim_1 ", \\hyperindexref{" delim_2 ", \\hyperindexref{" delim_n "}, \\hyperindexref{" delim_r "} -- \\hyperindexref{" delim_t "}" page_compositor "." \end{filecontents*} \end{LWRwriteconf} \begin{LWRwriteconf} \begin{filecontents*}[overwrite]{lwarp.xdy} (require "tex/inputenc/latin.xdy") (merge-rule "\\PS *" "Postscript") (require "texindy.xdy") (require "page-ranges.xdy") (require "book-order.xdy") (define-location-class "arabic-page-numbers" ("arabic-numbers") :min-range-length 1) (require "makeindex.xdy") (define-attributes (("hyperindexref"))) (markup-locref :open "\hyperindexref{" :close "}") (markup-locref :open "\hyperindexref{" :close "}" :attr "hyperpage") (markup-locref :open "\textbf{\hyperindexref{" :close "}}" :attr "textbf") (markup-locref :open "\textit{\hyperindexref{" :close "}}" :attr "textit") (define-location-class-order ("roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers" "Roman-page-numbers" "Alpha-page-numbers" "see" "seealso")) \end{filecontents*} \end{LWRwriteconf} \begin{LWRwriteconf} \immediate\openout\LWR@quickfile=lwarp_one_limage.txt \immediate\write\LWR@quickfile{% pdfseparate -f \LWRpercent 1 -l \LWRpercent 1 \LWRpercent 4_html.pdf % \LWR@ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent\LWRpercent d.pdf% } \immediate\write\LWR@quickfile{% pdfcrop --hires --margins \LWRopquote0 1 0 0\LWRopquote\space % \LWR@ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent 1.pdf % \LWR@ImagesDirectory\OSPathSymbol\LWRpercent 3.pdf% } \immediate\write\LWR@quickfile{% pdftocairo -svg -noshrink \LWR@ImagesDirectory\OSPathSymbol\LWRpercent 3.pdf % \LWR@ImagesDirectory\OSPathSymbol\LWRpercent 3.svg% } \immediate\write\LWR@quickfile{% del \LWR@ImagesDirectory\OSPathSymbol\LWRpercent 3.pdf% } \immediate\write\LWR@quickfile{% del \LWR@ImagesDirectory\OSPathSymbol lateximagetemp-\LWRpercent 1.pdf% } \immediate\write\LWR@quickfile{exit} \immediate\closeout\LWR@quickfile \end{LWRwriteconf} \begin{LWRwriteconf} \begin{filecontents*}[overwrite]{lwarp_mathjax.txt} \end{filecontents*} \end{LWRwriteconf} \begin{LWRcreatelwarpmk} \begin{filecontents*}[overwrite]{lwarpmk.lua} #!/usr/bin/env texlua -- Copyright 2016-2024 Brian Dunn printversion = "v0.916" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; end function printusage () -- -- Print the usage of the lwarpmk command: -- print ( [[ lwarpmk print [-p project]: Compile the print version if necessary. lwarpmk print1 [-p project]: Forced single compile of the print version. lwarpmk printindex [-p project]: Process print indexes. lwarpmk printglossary [-p project]: Process the glossary for the print version. lwarpmk html [-p project]: Compile the HTML version if necessary. lwarpmk html1 [-p project]: Forced single compile of the HTML version. lwarpmk htmlindex [-p project]: Process HTML indexes. lwarpmk htmlglossary [-p project]: Process the glossary for the html version. lwarpmk again [-p project]: Touch the source code to trigger recompiles. lwarpmk limages [-p project]: Process the "lateximages" created by lwarp.sty. lwarpmk pdftohtml [-p project]: For use with latexmk or a Makefile: Converts project_html.pdf to project_html.html and individual HTML files. Finishes the HTML conversion even if there was a compile error. lwarpmk pdftosvg : Converts each PDF file to SVG. lwarpmk epstopdf : Converts each EPS file to PDF. lwarpmk clean [-p project]: Remove *.aux, *.toc, *.lof/t, *.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. lwarpmk -v: Print the version number. lwarpmk -h: Print this help message. lwarpmk --help: Print this help message. ]] ) -- printconf () end function splitfilename ( pathandfilename ) -- -- Separates out the path and extension from a filename. -- Returns path, filename with extension, and extension. -- Ex: thispath, thisfilename, thisextension = splitfilename ("path/to/filename.ext") -- -- https://www.fhug.org.uk/wiki/wiki/doku.php?id=plugins:code_snippets: -- split_filename_in_to_path_filename_and_extension -- if lfs.attributes(pathandfilename,"mode") == "directory" then local strPath = pathandfilename:gsub("[\\/]$","") -- $ (syntax highlighting) return strPath.."\\","","" end pathandfilename = pathandfilename.."." return pathandfilename:match("^(.-)([^\\/]-)%.([^\\/%.]-)%.?$") end function splitfile (destfile,sourcefile) -- -- Split one large sourcefile into a number of files, -- starting with destfile. -- The file is split at each occurance of