%% %% 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-2019 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} [2019/09/23 v0.75 Allows LaTeX to directly produce HTML5 output.] \RequirePackage{iftex} \newif\ifxetexorluatex \ifXeTeX \xetexorluatextrue \else \ifLuaTeX \xetexorluatextrue \else \xetexorluatexfalse \fi \fi \ifLuaTeX \RequirePackage{luatex85}% until the geometry package is updated \fi \RequirePackage{ifpdf} \RequirePackage{ifptex} \RequirePackage{etoolbox}[2011/01/03]% v2.6 for \BeforeBeginEnvironment, etc. \RequirePackage{xpatch} \RequirePackage{ifplatform}% sense op-system platform \RequirePackage{letltxmacro} \newcommand*{\LWR@loadafter}[1]{% \@ifpackageloaded{#1} { \PackageError{lwarp} {% Package #1,\MessageBreak or one which uses #1,\MessageBreak must be loaded after lwarp } {Move \detokenize{\usepackage}{#1} after \detokenize{\usepackage}{lwarp}.\MessageBreak Package #1 may also be loaded by something else,\MessageBreak which must also be moved after lwarp.} } {} } \@ifclassloaded{memoir} {\newcommand*{\LWR@notmemoirloadafter}[1]{}} {\LetLtxMacro\LWR@notmemoirloadafter\LWR@loadafter} \LetLtxMacro\LWR@notltjloadafter\LWR@loadafter \@ifclassloaded{ltjarticle}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjbook}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjreport}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjsarticle}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjsbook}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjsreport}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjspf}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjskiyou}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjtarticle}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjtbook}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \@ifclassloaded{ltjtreport}{\renewcommand*{\LWR@notltjloadafter}[1]{}}{} \newcommand*{\LWR@loadbefore}[1]{% \@ifpackageloaded{#1} {} { \PackageError{lwarp} {Package #1 must be loaded before lwarp} {Move \detokenize{\usepackage}{#1} before \detokenize{\usepackage}{lwarp}.} } } \newcommand*{\LWR@checkloadbefore}[2]{% \edef\LWR@tempone{#1}% \ifdefstring{\LWR@tempone}{#2}{% \LWR@loadbefore{#1}% }{}% } \newcommand*{\LWR@loadnever}[2]{% \PackageError{lwarp} {% Package #1 is not supported\MessageBreak by lwarp's HTML conversion.\MessageBreak Package(s) #2 may be useful instead } {% Package #1 might conflict with lwarp in some way,\MessageBreak or is superceded by another package.\MessageBreak For a possible alternative, see package(s) #2. } } \newcommand*{\LWR@checkloadnever}[3]{% \edef\LWR@tempone{#1}% \ifdefstring{\LWR@tempone}{#2}{% \LWR@loadnever{#2}{#3}% }{}% } \newcommand*{\LWR@earlyloadnever}[2]{% \@ifpackageloaded{#1}{% \PackageError{lwarp} {% Package #1 is not supported\MessageBreak by lwarp's HTML conversion.\MessageBreak Package(s) #2 may be useful instead } {% Package #1 might conflict with lwarp in some way,\MessageBreak or is superceded by another package.\MessageBreak For a possible alternative, see package(s) #2. } }{}% } \newcommand*{\LWR@earlyclassloadnever}[2]{% \@ifclassloaded{#1}{% \PackageError{lwarp} {% Class #1 is not supported\MessageBreak by lwarp's HTML conversion.\MessageBreak Class(es) #2 may be useful instead } {% Class #1 might conflict with lwarp in some way,\MessageBreak or is superceded by another class.\MessageBreak For a possible alternative, see class(es) #2. } }{}% } \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@earlyloadnever{ae}{cm-super, lmodern} \LWR@earlyloadnever{aecompl}{cm-super, lmodern} \LWR@earlyloadnever{aecc}{cm-super, lmodern} \LWR@earlyloadnever{alg}{algorithm2e, algorithmicx} \LWR@earlyloadnever{algorithmic}{algorithm2e, algorithmicx} \LWR@earlyloadnever{boxedminipage}{boxedminipage2e} \LWR@earlyloadnever{caption2}{caption} \@ifpackageloaded{xeCJK}{}{ \LWR@earlyloadnever{CJK}{ctex, xeCJK} \LWR@earlyloadnever{CJKutf8}{ctex, xeCJK} } \LWR@earlyloadnever{bxcjkjatype}{upLaTeX, bxjsarticle, ujarticle, utarticle} \LWR@earlyloadnever{hangul}{kotex, xetexko, luatexko} \LWR@earlyloadnever{colortab}{colortbl} \LWR@earlyloadnever{epsf}{graphicx} \LWR@earlyloadnever{fancyheadings}{fancyhdr} \LWR@earlyloadnever{fncylab}{cleveref} \LWR@earlyloadnever{glossary}{glossaries} \LWR@earlyloadnever{hyper}{hyperref} \LWR@earlyloadnever{pdfcprot}{microtype} \LWR@earlyloadnever{picinpar}{floatflt, wrapfig} \LWR@earlyloadnever{picins}{floatflt, wrapfig} \LWR@earlyloadnever{sistyle}{siunitx} \LWR@earlyloadnever{t1enc}{fontenc, inputenc, inputenx} \LWR@earlyloadnever{ucs}{inputenc, inputencx} \LWR@earlyloadnever{wasysym}{textcomp, amssymb, amsfonts, mnsymbol, fdsymbol} \LWR@loadafter{2in1} \LWR@loadafter{2up} \LWR@loadafter{a4} \LWR@loadafter{a4wide} \LWR@loadafter{a5comb} \LWR@notmemoirloadafter{abstract} \LWR@loadafter{academicons} \LWR@loadafter{accsupp} \LWR@loadafter{acro} \LWR@loadafter{acronym} \LWR@loadafter{adjmulticol} \LWR@loadafter{addlines} \LWR@loadafter{ae} \LWR@loadafter{aecc} \LWR@loadafter{afterpage} \LWR@loadafter{algorithm2e} \LWR@loadafter{algorithmicx} \LWR@loadafter{alltt} \LWR@loadafter{amsmath} \LWR@loadafter{amsthm} \LWR@loadafter{anonchap} \LWR@loadafter{anysize} \LWR@notmemoirloadafter{appendix} \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{autonum} \LWR@loadafter{axessibility} \LWR@loadafter{axodraw2} \LWR@loadafter{backnaur} \LWR@loadafter{backref} \LWR@loadafter{balance} \LWR@loadafter{bbding} \LWR@loadafter{bigdelim} \LWR@loadafter{bigfoot} \LWR@loadafter{bigstrut} \LWR@loadafter{bitpattern} \LWR@loadafter{blowup} \LWR@loadafter{booklet} \LWR@loadafter{bookmark} \LWR@notmemoirloadafter{booktabs} \LWR@loadafter{bophook} \LWR@loadafter{bounddvi} \LWR@loadafter{boxedminipage} \LWR@loadafter{boxedminipage2e} \LWR@loadafter{breakurl} \LWR@loadafter{breqn} \LWR@loadafter{bsheaders} \LWR@loadafter{bxpapersize} \LWR@loadafter{bytefield} \LWR@loadafter{cancel} \LWR@loadafter{canoniclayout} \LWR@loadafter{caption} \LWR@loadafter{caption2} \LWR@loadafter{cases} \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{cmdtrack} \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{diagbox} \LWR@loadafter{dingbat} \LWR@loadafter{dprogress} \LWR@loadafter{draftcopy} \LWR@loadafter{draftfigure} \LWR@loadafter{draftwatermark} \LWR@loadafter{easy-todo} \LWR@loadafter{ebook} \LWR@loadafter{ed} \LWR@loadafter{ellipsis} \LWR@loadafter{embrac} \LWR@loadafter{emptypage} \LWR@loadafter{endfloat} \LWR@loadafter{endheads} \LWR@loadafter{endnotes} \LWR@notmemoirloadafter{enumerate} \LWR@loadafter{enumitem} \LWR@notmemoirloadafter{epigraph} \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{eurosym} \LWR@loadafter{everypage} \LWR@loadafter{everyshi} \LWR@loadafter{extramarks} \LWR@loadafter{fancybox} \LWR@loadafter{fancyhdr} \LWR@loadafter{fancyheadings} \LWR@loadafter{fancyref} \LWR@loadafter{fancytabs} \LWR@loadafter{fancyvrb} \LWR@loadafter{figcaps} \LWR@loadafter{figsize} \LWR@loadafter{fitbox} \LWR@loadafter{fix2col} \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{framed} \LWR@loadafter{ftcap} \LWR@loadafter{ftnright} \LWR@loadafter{fullminipage} \LWR@loadafter{fullpage} \LWR@loadafter{fullwidth} \LWR@loadafter{fwlw} \LWR@loadafter{gentombow} \LWR@loadafter{gmeometric} \LWR@loadafter{glossaries} \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{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@notmemoirloadafter{index} \LWR@loadafter{intopdf} \LWR@loadafter{karnaugh-map} \LWR@loadafter{keyfloat} \LWR@loadafter{layaureo} \LWR@loadafter{layout} \LWR@loadafter{layouts} \LWR@loadafter{leading} \LWR@loadafter{letterspace} \LWR@loadafter{lettrine} \LWR@loadafter{lineno} \LWR@loadafter{lips} \LWR@loadafter{listings} \LWR@loadafter{listliketab} \LWR@loadafter{longtable} \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{luatodonotes} \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{mathtools} \LWR@loadafter{mcaption} \LWR@loadafter{mdframed} \LWR@loadafter{media9} \LWR@loadafter{memhfixc} \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@notmemoirloadafter{moreverb} \LWR@notmemoirloadafter{movie15} \LWR@notmemoirloadafter{mparhack} \LWR@loadafter{multicap} \LWR@loadafter{multicolrule} \LWR@loadafter{multimedia} \LWR@loadafter{multirow} \LWR@loadafter{multitoc} \LWR@loadafter{musicography} \LWR@loadafter{nameauth} \LWR@loadafter{nameref} \LWR@loadafter{natbib} \LWR@notmemoirloadafter{nccfancyhdr} \LWR@notmemoirloadafter{needspace} \LWR@loadafter{newtxmath} \LWR@notmemoirloadafter{nextpage} \LWR@loadafter{nicefrac} \LWR@loadafter{niceframe} \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{overpic} \LWR@loadafter{pagegrid} \LWR@notmemoirloadafter{pagenote} \LWR@loadafter{pagesel} \LWR@loadafter{paralist} \LWR@loadafter{parnotes} \LWR@notmemoirloadafter{parskip} \LWR@loadafter{pbox} \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{pifont} \LWR@loadafter{placeins} \LWR@loadafter{plarray} \LWR@loadafter{plarydshln} \LWR@loadafter{plextarray} \LWR@loadafter{plextarydshln} \LWR@loadafter{plcolortbl} \LWR@loadafter{plextdelarray} \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{realscripts} \LWR@loadafter{refcheck} \LWR@loadafter{register} \LWR@loadafter{relsize} \LWR@loadafter{repeatindex} \LWR@loadafter{resizegather} \LWR@loadafter{rmpage} \LWR@loadafter{romanbar} \LWR@loadafter{romanbarpagenumber} \LWR@loadafter{rotating} \LWR@loadafter{rotfloat} \LWR@loadafter{rviewport} \LWR@loadafter{savetrees} \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{semantic-markup} \LWR@notmemoirloadafter{setspace} \LWR@loadafter{shadow} \LWR@loadafter{shapepar} \LWR@notmemoirloadafter{showidx} \LWR@loadafter{showkeys} \LWR@loadafter{showtags} \LWR@loadafter{sidecap} \LWR@loadafter{sidenotes} \LWR@loadafter{SIunits} \LWR@loadafter{siunitx} \LWR@loadafter{slantsc} \LWR@loadafter{soul} \LWR@loadafter{soulpos} \LWR@loadafter{soulutf8} \LWR@loadafter{splitidx} \LWR@loadafter{srcltx} \LWR@loadafter{srctex} \LWR@loadafter{stabular} \LWR@loadafter{stackengine} \LWR@notltjloadafter{stfloats} \LWR@loadafter{struktex} \LWR@loadafter{subcaption} \LWR@loadafter{subfig} \LWR@loadafter{subfigure} \LWR@loadafter{supertabular} \LWR@loadafter{t1inc} \LWR@loadafter{tabfigures} \LWR@loadafter{tabls} \LWR@loadafter{tablefootnote} \LWR@notmemoirloadafter{tabularx} \LWR@loadafter{tabulary} \LWR@loadafter{tascmac} \LWR@loadafter{textarea} \LWR@loadafter{textfit} \LWR@loadafter{textpos} \LWR@loadafter{theorem} \LWR@loadafter{thinsp} \LWR@loadafter{threadcol} \LWR@loadafter{threeparttable} \LWR@loadafter{threeparttablex} \LWR@loadafter{thumb} \LWR@loadafter{thumbs} \LWR@loadafter{tikz} \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{upref} \LWR@loadafter{url} \LWR@loadafter{uspace} \LWR@loadafter{varioref}% no lwarp package provided \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{widows-and-orphans} \LWR@loadafter{wrapfig} \LWR@loadafter{xbmks} \LWR@loadafter{xcolor} \LWR@loadafter{xechangebar} \LWR@loadafter{xellipsis} \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 pdfmdfivesum or mdfivesum.} } \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} \@ifpackageloaded{inputenc}{}{ \@ifpackageloaded{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}% 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% } {% 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 \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}% } \newcommand*{\LWR@patcherror}[2]{% \PackageError{lwarp} {Unable to patch package #1, macro #2} {Please contact the author of the lwarp package.} } \newcommand{\LWR@isolate}[1]{#1}% \@ifpackageloaded{ctexpatch}{ \renewcommand{\LWR@isolate}[1]{\null#1\null}% }{} \@ifpackageloaded{xeCJK}{ \renewcommand{\LWR@isolate}[1]{\null#1\null}% }{} \newcommand*{\LWR@forceemptyline}{% \LWR@origrule{0pt}{1\baselineskip}% \LWR@orignewline% } \long\def\LWR@firstoffour#1#2#3#4{#1} \long\def\LWR@secondoffour#1#2#3#4{#2} \long\def\LWR@thirdoffour#1#2#3#4{#3} \long\def\LWR@fourthoffour#1#2#3#4{#4} \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 \let\LWRpercent\@percentchar \catcode`\$=12 \def\LWRdollar{$} \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{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[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} \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% } }{} }{} \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% } }{} }{} \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% } }{} }{} \newcommand{\warpprintonly}[1]{\ifbool{warpingprint}{#1}{}} \newcommand{\warpHTMLonly}[1]{\ifbool{warpingHTML}{#1}{}} \RequirePackage{comment} \ifbool{warpingHTML}{ \def\DefaultCutFileName{\def\CommentCutFile{comment_html.cut}} }{} \ifbool{warpingprint}{ \def\DefaultCutFileName{\def\CommentCutFile{comment_print.cut}} }{} \includecomment{warpall} \ifbool{warpingHTML} {\includecomment{warpHTML}} {\excludecomment{warpHTML}}% \ifbool{warpingprint} {\includecomment{warpprint}} {\excludecomment{warpprint}} \ifbool{LWR@creatinglwarpmk} {\includecomment{LWR@createlwarpmk}} {\excludecomment{LWR@createlwarpmk}} \begin{warpHTML} \ifxetexorluatex \@ifpackageloaded{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[f,q,t,T,Q]{encoding = *,family = *} \fi \end{warpHTML} \begin{warpHTML} \@ifpackageloaded{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} \newlength{\LWR@userspaperwidth} \setlength{\LWR@userspaperwidth}{\paperwidth} \newlength{\LWR@userspaperheight} \setlength{\LWR@userspaperheight}{\paperheight} \newlength{\LWR@usersmarginparwidth} \setlength{\LWR@usersmarginparwidth}{\marginparwidth} \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} \@ifundefined{bxjs@everypar}{}{\let\everypar\bxjs@everypar} \RequirePackage{everyhook} \end{warpHTML} \begin{warpall} \RequirePackage{filecontents} \@ifpackagelater{filecontents}{2011/10/09}% {} { \newwrite\fcwrite \let\LWR@origfilec@ntents\filec@ntents \def\filec@ntents{\def\chardef##1\write{\let\reserved@c\fcwrite}\LWR@origfilec@ntents} } \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{warpprint} \RequirePackage{varwidth} \end{warpprint} \begin{warpall} \LetLtxMacro\LWR@origRequirePackage\RequirePackage \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}% } \newcommand*{\LWR@checkloadfilename}[1]{% \LWR@checkloadnever{#1}{ae}{latinmodern} \LWR@checkloadnever{#1}{aecc}{latinmodern} \LWR@checkloadnever{#1}{alg}{algorithm2e, algorithmicx} \LWR@checkloadnever{#1}{algorithmic}{algorithm2e, algorithmicx} \LWR@checkloadnever{#1}{bitfield}{bytefield} \LWR@checkloadnever{#1}{boxedminipage}{boxedminipage2e} \LWR@checkloadnever{#1}{caption2}{caption} \LWR@checkloadnever{#1}{ccaption}{caption} \LWR@checkloadnever{#1}{colortab}{colortbl} \LWR@checkloadnever{#1}{doublespace}{setspace} \LWR@checkloadnever{#1}{epsf}{graphicx} \LWR@checkloadnever{#1}{fancyheadings}{fancyhdr} \LWR@checkloadnever{#1}{fncylab}{cleveref} \LWR@checkloadnever{#1}{glossary}{glossaries} \LWR@checkloadnever{#1}{hyper}{hyperref} \LWR@checkloadnever{#1}{newthm}{ntheorem} \LWR@checkloadnever{#1}{pdfcprot}{microtype} \LWR@checkloadnever{#1}{picinpar}{floatflt, wrapfig} \LWR@checkloadnever{#1}{picins}{floatflt, wrapfig} \LWR@checkloadnever{#1}{rplain}{fancyhdr} \LWR@checkloadnever{#1}{si}{siunitx} \LWR@checkloadnever{#1}{sistyle}{siunitx} \LWR@checkloadnever{#1}{t1enc}{fontenc, inputenc, inputenx} \LWR@checkloadnever{#1}{ucs}{inputenc, inputencx} \LWR@checkloadnever{#1}{wasysym}{textcomp, amssymb, amsfonts, mnsymbol, fdsymbol} \LWR@checkloadbefore{#1}{ctex} \LWR@checkloadbefore{#1}{fontspec} \LWR@checkloadbefore{#1}{inputenc} \LWR@checkloadbefore{#1}{inputenx} \LWR@checkloadbefore{#1}{nfssext-cfr} \LWR@checkloadbefore{#1}{fontaxes} \LWR@checkloadbefore{#1}{kotex} \LWR@checkloadbefore{#1}{luatexja} \LWR@checkloadbefore{#1}{luatexja-fontspec} \LWR@checkloadbefore{#1}{luatexko} \LWR@checkloadbefore{#1}{morewrites} \LWR@checkloadbefore{#1}{newclude} \LWR@checkloadbefore{#1}{newunicodechar} \LWR@checkloadbefore{#1}{plext} \LWR@checkloadbefore{#1}{xeCJK} \LWR@checkloadbefore{#1}{xetexko} \LWR@checkloadbefore{#1}{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}% \IfValueTF{#1}% {% options given \IfValueTF{#3}% version given? {\LWR@origRequirePackage[#1]{\LWR@parsedrequirepackagenames}[#3]}% {\LWR@origRequirePackage[#1]{\LWR@parsedrequirepackagenames}}% }% {% no options given \IfValueTF{#3}% version given? {\LWR@origRequirePackage{\LWR@parsedrequirepackagenames}[#3]}% {\LWR@origRequirePackage{\LWR@parsedrequirepackagenames}}% }% } \LetLtxMacro\usepackage\RequirePackage \end{warpall} \begin{warpHTML} \NewDocumentCommand{\LWR@ProvidesPackagePass}{m o}{ \PackageInfo{lwarp}{% Using package `#1' and adding lwarp modifications,\MessageBreak including options,}% \IfValueTF{#2} {\ProvidesPackage{lwarp-#1}[#2]} {\ProvidesPackage{lwarp-#1}} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{#1}} \ProcessOptions\relax \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{warpHTML} \LWR@origRequirePackage{caption} \AtBeginDocument{\RequirePackage{lwarp-caption}}% \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@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@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{warpHTML} \newcommand*{\LWR@formatting}{HTML} \newcommand*{\LWR@formatted}[1]{% \ifcsundef{LWR@print@#1}{% \expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname% \csname#1\endcsname% }{}% \ifcsundef{#1}{% \expandafter\newrobustcmd\csname #1\endcsname{% \@nameuse{LWR@\LWR@formatting @#1}% }% }{% \expandafter\renewrobustcmd\csname #1\endcsname{% \@nameuse{LWR@\LWR@formatting @#1}% }% }% } \newcommand*{\LWR@expandableformatted}[1]{% \ifcsundef{LWR@print@#1}{% \expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname% \csname#1\endcsname% }{}% \ifcsundef{#1}{% \expandafter\newcommand\csname #1\endcsname{% \@nameuse{LWR@\LWR@formatting @#1}% }% }{% \expandafter\renewcommand\csname #1\endcsname{% \@nameuse{LWR@\LWR@formatting @#1}% }% }% } \newcommand*{\LWR@formattedenv}[1]{% \ifcsundef{LWR@print@#1}{% \expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname% \csname#1\endcsname% \csletcs{endLWR@print@#1}{end#1}% }{}% \DeclareDocumentEnvironment{#1}{}% {% \@nameuse{LWR@\LWR@formatting @#1}% }% {% \@nameuse{endLWR@\LWR@formatting @#1}% }% } \newcommand*{\LWR@expandableformattedenv}[1]{% \ifcsundef{LWR@print@#1}{% \expandafter\LetLtxMacro\csname LWR@print@#1\expandafter\endcsname% \csname#1\endcsname% \csletcs{endLWR@print@#1}{end#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="subparagraph"} \renewcommand*{\LWR@tagsubparagraphend}{/span} }% WPTitleHeading {% not WPTitleHeading, part and section starting at h1 \renewcommand*{\LWR@tagtitle}{div class="title"} \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="title"} \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="subparagraph"} \renewcommand*{\LWR@tagsubparagraphend}{/span} }% not WPTitleHeading }% chapter defined }{}% FormatWP }% AtBeginDocument \end{warpHTML} \begin{warpHTML} \chardef\LWR@origpound=`\# \let\LWR@origcomma\, \let\LWR@origthinspace\thinspace \let\LWR@orignegthinspace\negthinspace \let\LWR@origtilde~ \let\LWR@origenskip\enskip \let\LWR@origquad\quad \let\LWR@origqquad\qquad \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 \let\LWR@origtextellipsis\textellipsis \let\LWR@orig@textquotedbl\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@origtextsuperscript\textsuperscript \LetLtxMacro\LWR@orig@textsuperscript\@textsuperscript \AtBeginDocument{ \LetLtxMacro\LWR@origtextsubscript\textsubscript \LetLtxMacro\LWR@orig@textsubscript\@textsubscript } \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@origt\t \ifPDFTeX% pdflatex or dvi latex \LetLtxMacro\LWR@origequalaccent\= \LetLtxMacro\LWR@origdotaccent\. \LetLtxMacro\LWR@origu\u \LetLtxMacro\LWR@origv\v \LetLtxMacro\LWR@origc\c \LetLtxMacro\LWR@origd\d \LetLtxMacro\LWR@origb\b \renewcommand*{\=}[1]{#1\HTMLunicode{0305}} \renewcommand*{\.}[1]{#1\HTMLunicode{0307}} \renewcommand*{\u}[1]{#1\HTMLunicode{0306}} \renewcommand*{\v}[1]{#1\HTMLunicode{030C}} \renewcommand*{\c}[1]{#1\HTMLunicode{0327}} \renewcommand*{\d}[1]{#1\HTMLunicode{0323}} \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@origequalaccent% \LetLtxMacro\.\LWR@origdotaccent% \LetLtxMacro\u\LWR@origu% \LetLtxMacro\v\LWR@origu% \LetLtxMacro\t\LWR@origt% \LetLtxMacro\c\LWR@origc% \LetLtxMacro\d\LWR@origd% \LetLtxMacro\b\LWR@origb% }% \else% XeLaTeX, LuaLaTeX: \newcommand*{\LWR@restoreorigaccents}{% \LetLtxMacro\t\LWR@origt% }% \fi% }% AtBeginDocument \end{warpHTML} \excludecomment{LWRwriteconf} \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,}% \includecomment{LWRwriteconf} } \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}{}.ps } \def\LWR@tempHTMLlatexcmd{% \LWR@compilecmd{latex}{_html} \LWR@addcompilecmd{dvips}{_html} \LWR@addcompilecmd{ps2pdf}{_html}.ps } } } \fi% \ifXeTeX \fi% \ifpdf }% latexmk \@ifclassloaded{ujarticle}{\LWR@compileuplatex}{} \@ifclassloaded{ujbook}{\LWR@compileuplatex}{} \@ifclassloaded{ujreport}{\LWR@compileuplatex}{} \@ifclassloaded{utarticle}{\LWR@compileuplatex}{} \@ifclassloaded{utbook}{\LWR@compileuplatex}{} \@ifclassloaded{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*}{lwarp.css} /* CSS stylesheet for the LaTeX lwarp package Copyright 2016-2019 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.hidden, span.hidden { display: none ; } kbd, 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 { font-weight: bold; } span.textit, div.textit { font-style: italic; } span.textmd, div.textmd { font-weight: normal; } span.texteb { font-weight: bolder; } span.textlg { font-weight: lighter; } 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.textup, div.textup { font-style: normal; font-variant: normal; font-variant-numeric: normal ; } 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 ; } 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 ; } /* 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: .5em; line-height: 1; } .supsubscript sup { top: .5em; } .supsubscript sub { top: .5em; } 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 ; } 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 ; } div.bodycontainer { float: left ; width: 80% ; } div.bodywithoutsidetoc div.bodycontainer { float: none ; width: 100% ; } section.textbody div.footnotes{ margin: 3ex 2em 0ex 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; } 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 { font-size:.85em ; margin: 3ex 0pt 3ex 0pt } .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. */ 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 ; } .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 { padding: 0ex ; margin: 2ex 0em 2ex 0em ; } .mdframed p { padding: 0ex .5em 0ex .5em ; } .mdframed dl { padding: 1ex .5em 0ex .5em ; } .mdframedtitle { padding: .5ex 0pt 0pt 0pt ; border-radius: 10pt 10pt 0pt 0pt ; display: block ; margin-bottom: 1ex ; } .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 ; } 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 } 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 ; } div.figurecaption , .lstlistingtitle { font-size: .85em ; text-align: center ; font-weight: bold ; margin-top: 1ex ; margin-bottom: 1ex ; } 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 ; } 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.tdP { text-align: center ; vertical-align: bottom ; } table td.tdM { text-align: center ; vertical-align: middle ; } table td.tdB { text-align: center ; 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 } /* 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 { font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console", "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono", "Courier New", monospace; } 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 { 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 ; } 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 ; } /* The -1px right margin compensates for the 1px right border. */ /* Without this -1px margin, the body container appears below instead */ /* of floating to the side. */ div.sidetoccontainer { font-family: "DejaVu Serif", "Bitstream Vera Serif", "Lucida Bright", Georgia, serif; float: left ; width: 20%; margin: 0pt -1px 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 380px ; -moz-columns: 3 380px ; columns: 3 380px ; } 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: 50% ; 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 {} /* 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 } /* For CSS LaTeX and related logos: Based on spacing demonstrated by the metafont package. */ .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; font-size: 1.1em; } .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; } .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; } .xelatexlogo { font-family: "Linux Libertine O", "Nimbus Roman No 9 L", "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif; letter-spacing: .03em ; font-size: 1.1em; } .xelatexlogosub { vertical-align: -0.27ex; margin-left: -0.0667em; margin-right: -.05em; font-size: 1em; 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: 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.botnavigation { display:block } div.bodycontainer { width: 100% } .marginpar { max-width: 100%; float: none; display:block ; margin: 1ex 1em 1ex 1em ; } } @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; } div.bodycontainer { width: 100% } } @media handheld { div.sidetoccontainer { display:none; } nav.topnavigation { display:block } nav.botnavigation { display:block } div.bodycontainer { width: 100% } } @media projection { div.sidetoccontainer { display:none; } nav.topnavigation { display:block } nav.botnavigation { display:block } div.bodycontainer { width: 100% } } \end{filecontents*} \end{LWRwriteconf} \begin{LWRwriteconf} \begin{filecontents*}{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*}{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*}{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*}{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*}{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 \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*}{lwarp_mathjax.txt} \end{filecontents*} \end{LWRwriteconf} \begin{LWR@createlwarpmk} \begin{filecontents*}{lwarpmk.lua} #!/usr/bin/env texlua -- Copyright 2016-2019 Brian Dunn printversion = "v0.75" 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, *.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 -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