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