summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/lwarp
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-04-29 22:24:28 +0000
committerKarl Berry <karl@freefriends.org>2017-04-29 22:24:28 +0000
commit85935959636bed572e9a4916d5373565cbcdc79b (patch)
treecefad06ac27ff673ee40c9fdae8adaf2f732e731 /Master/texmf-dist/tex/latex/lwarp
parentf73d138cf7df8989e3e97d47731a4ca4754fd399 (diff)
lwarp (29apr17)
git-svn-id: svn://tug.org/texlive/trunk@44119 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/lwarp')
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty2217
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp.sty2399
2 files changed, 2321 insertions, 2295 deletions
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty
deleted file mode 100644
index dadda5adcd6..00000000000
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty
+++ /dev/null
@@ -1,2217 +0,0 @@
-%%
-%% This is file `lwarp-newproject.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% lwarp.dtx (with options: `lwarp-newproject')
-%% This is a generated file.
-%% Copyright 2016-2017 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.
-
-\ProvidesPackage{lwarp-newproject}
-
-\RequirePackage{etoolbox}
-\RequirePackage{comment}
-\RequirePackage{fancyvrb}
-\RequirePackage{ifplatform}% sense op-system platform
-\RequirePackage{iftex}% sense pdflatex/lualatex/xelatex
-\RequirePackage{kvoptions}
-\SetupKeyvalOptions{family=LWRNP,prefix=LWRNP@}
-
-\newbool{LWRNP@genconf}
-\boolfalse{LWRNP@genconf}
-
-\excludecomment{LWR@createlwarpmk}
-
-\DeclareVoidOption{warpprint}{\booltrue{LWRNP@genconf}}
-\DeclareVoidOption{warpHTML}{\boolfalse{LWRNP@genconf}}
-\DeclareVoidOption{lwarpmk}{\includecomment{LWR@createlwarpmk}}
-\DeclareStringOption[\jobname]{BaseJobname}
-\DeclareStringOption[english]{lwarpmklang}
-
-\booltrue{LWRNP@genconf}% warpprint
-
-\ProcessKeyvalOptions*\relax
-
-\providecommand*{\BaseJobname}{\LWRNP@BaseJobname}
-
-\providecommand*{\HomeHTMLFileName}{\BaseJobname}
-\providecommand*{\HTMLfiveName}{}
-\providecommand*{\UseLatexmk}{false}
-
-\ifbool{LWRNP@genconf}{\typeout{lwarp-newproject: generating configuration files}}{}
-
-\ifbool{LWRNP@genconf}{
-\ifcsdef{LWR@file}{}{\newwrite{\LWR@file}}
-\immediate\openout\LWR@file=\jobname_html.tex
-\immediate\write\LWR@file{%
-\detokenize{\PassOptionsToPackage}%
-{warpHTML,BaseJobname=\jobname}{lwarp}%
-}
-\immediate\write\LWR@file{%
-\detokenize{\PassOptionsToPackage}%
-{warpHTML,BaseJobname=\jobname}{lwarp-newproject}%
-}
-\immediate\write\LWR@file{%
-\detokenize{\input}\string{\jobname.tex\string }%
-}
-\immediate\closeout\LWR@file
-}{}
-
-\ifbool{LWRNP@genconf}{
-\ifcsdef{LWR@file}{}{\newwrite{\LWR@file}}
-\immediate\openout\LWR@file=\jobname.lwarpmkconf
-\ifwindows
-\immediate\write\LWR@file{opsystem = "Windows"}
-\else
-\immediate\write\LWR@file{opsystem = "Unix"}
-\fi
-\ifPDFTeX
-\immediate\write\LWR@file{latexname = "pdflatex"}
-\fi
-\ifXeTeX
-\immediate\write\LWR@file{latexname = "xelatex"}
-\fi
-\ifLuaTeX
-\immediate\write\LWR@file{latexname = "lualatex"}
-\fi
-\immediate\write\LWR@file{sourcename = "\jobname"}
-\immediate\write\LWR@file{%
-homehtmlfilename = "\HomeHTMLFileName"%
-}
-\immediate\write\LWR@file{htmlfilename = "\HTMLfiveName"}
-\immediate\write\LWR@file{uselatexmk = "\UseLatexmk"}
-\immediate\write\LWR@file{language = "\LWRNP@lwarpmklang"}
-\immediate\closeout\LWR@file
-}{}
-
-
-\begin{VerbatimOut}{lwarp.css}
-/*
- CSS stylesheet for the LaTeX lwarp package
- Copyright 2016-2017 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.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 ;}
-
-/* Holds a section number to add space between it and the name */
-span.sectionnumber { margin-right: .6em }
-
-/* Inserted in front of index lines */
-span.indexitem {margin-left: 0em}
-span.indexsubitem {margin-left: 2em}
-span.indexsubsubitem {margin-left: 4em}
-
-div.hidden { display: none ; }
-
-kbd {
- font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console",
- "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono",
- "Courier New", monospace;
- font-size: 100% ;
-}
-
-span.strong { font-weight: bold; }
-
-span.textmd { font-weight: normal; }
-
-span.textsc { font-variant: small-caps; }
-
-span.textup { font-variant: normal; }
-
-span.textrm {
- font-family: "DejaVu Serif", "Bitstream Vera Serif",
- "Lucida Bright", Georgia, serif;
-}
-
-span.textsf {
- font-family: "DejaVu Sans", "Bitstream Vera Sans",
- Geneva, Verdana, sans-serif ;
-}
-
-span.attribution {
- margin-left: 1em ; font-size: 80% ; font-variant: small-caps;
-}
-
-span.citetitle {
- margin-left: 1em ; font-size: 80% ; font-style: oblique;
-}
-
-span.poemtitle {
- font-size: 120% ; font-weight: bold;
-}
-
-blockquote {
-margin-left: 0px ;
-margin-right: 0px ;
-}
-
-blockquote p {
- line-height: 1.5;
- text-align: left ;
- font-size: .85em ;
- margin-left: 3em ;
-margin-right: 3em ;
-}
-
-blockquotation {
-margin-left: 0px ;
-margin-right: 0px ;
-}
-
-blockquotation p {
- line-height: 1.5;
- text-align: left ;
- font-size: .85em ;
- margin-left: 3em ;
-margin-right: 3em ;
-}
-
-div.epigraph {
- 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{
- text-align:right ;
- margin-left:auto ;
-/* max-width: 50% ; */
- border-top: 1px solid #A0A0A0 ;
- padding-bottom: 3ex ;
- line-height: 1.2;
-}
-
-div.epigraph p { padding: .5ex ; margin: 0ex ;}
-div.epigraphsource p { padding: .5ex 0ex 0ex 0ex ; margin: 0ex ;}
-
-/* lettrine package: */
-span.lettrine { font-size: 3ex ; float: left ; }
-span.lettrinetext { font-variant: small-caps ; }
-
-/* ulem and soul packages: */
-span.uline {
- text-decoration: underline ;
- text-decoration-skip ;
-}
-
-span.uuline {
- text-decoration: underline ;
- text-decoration-skip ;
- text-decoration-style: double ;
-}
-
-span.uwave {
- text-decoration: underline ;
- text-decoration-skip ;
- text-decoration-style: wavy ;
-}
-
-span.sout {
- text-decoration: line-through ;
-}
-
-span.xout {
- text-decoration: line-through ;
-}
-
-span.dashuline {
- text-decoration: underline ;
- text-decoration-skip ;
- text-decoration-style: dashed ;
-}
-
-span.dotuline {
- text-decoration: underline ;
- text-decoration-skip ;
- text-decoration-style: dotted ;
-}
-
-span.letterspacing { letter-spacing: .2ex ; }
-
-span.capsspacing {
- font-variant: small-caps ;
- letter-spacing: .1ex ;
-}
-
-span.highlight { background: #F8E800 ; }
-
-html body {
- margin: 0 ;
- line-height: 1.2;
-}
-
-body div {
- margin: 0ex;
-}
-
-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 ;
-}
-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 ; }
-
-/* Title of the file */
-h1 {
- margin: 0ex 0em 0ex 0em ;
- line-height: 1.3;
- text-align: center ;
-}
-
-/* Part */
-h2 {
- margin: 1ex 0em 1ex 0em ;
- line-height: 1.3;
- text-align: center ;
-}
-
-/* Chapter */
-h3 {
- margin: 3ex 0em 1ex 0em ;
- line-height: 1.3;
-}
-
-/* Section */
-h4 {
- margin: 3ex 0em 1ex 0em ;
- line-height: 1.3;
-}
-
-/* Sub-Section */
-h5 {
- margin: 3ex 0em 1ex 0em ;
- line-height: 1.3;
-}
-
-/* Sub-Sub-Section */
-h6 {
- margin: 3ex 0em 1ex 0em ;
- line-height: 1.3;
-}
-
-div.titlepage {
- text-align: center ;
-}
-
-.footnotes {
- font-size: .85em ;
- margin: 3ex 1em 0ex 1em ;
- padding-bottom: 1ex ;
-border-top: 1px solid silver ;
-}
-
-.marginpar {
- max-width:50%;
- float:right;
- 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 {
- max-width:50%;
- 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 {
- display: block ;
- margin: 0pt auto 0pt auto ;
-}
-
-div.marginblock div.minipage p { font-size: 85%}
-
-div.marginblock br { margin-bottom: 2ex ; }
-
-section.textbody div.footnotes{
- margin: 3ex 0em 0ex 0em ;
- 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 ;
-}
-
-ol {
- margin: 1ex 1em 1ex 0em;
- line-height: 1.2;
-}
-
-ul, body dir, body menu {
- margin: 1ex 1em 1ex 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 ;
-}
-
-.inlineprogramlisting {
- font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console",
- "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono",
- "Courier New", monospace;
- overflow-x: auto;
-}
-
-div.abstract {
- margin: 2em 5% 2em 5% ;
- padding: 1ex 1em 1ex 1em ;
-/* font-weight: bold ; */
- font-size: 90% ;
-}
-
-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-weight:bold;
- text-align: center ;
-}
-
-.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 ; }
-
-/* Minipage environments, vertically aligned to top, center, bottom: */
-.minipage {
- /* display: inline-block ; */
- /* Mini pages which follow each other will be tiled. */
- margin: .25em .25em .25em .25em;
- padding: .25em .25em .25em .25em;
- display: inline-flex;
- flex-direction: column ;
- overflow: auto;
-}
-
-/* Paragraphs in the flexbox did not collapse their margins. */
-/* Have not yet researched this. */
-.minipage p {margin: .75ex 0em .75ex 0em ;}
-
-.framebox {
- margin: 0ex ;
- padding: 0ex ;
- border: 1px solid black;
- border-radius: 0px ;
- padding: .3ex .2em 0ex .2em ;
- margin: .1ex ;
- display: inline-block ;
-}
-
-.mdframed {
-/* padding: 0ex ; */
-/* border: 1px solid blafck; */
-/* border-radius: 0px ; */
- padding: 0ex ;
- margin: 3ex 5% 3ex 5% ;
-/* display: inline-block ; */
-}
-
-.mdframed p { padding: 0ex .5em 0ex .5em ; }
-
-.mdframed dl { padding: 0ex .5em 0ex .5em ; }
-
-.mdframedtitle {
- padding: .5em ;
- display: block ;
- font-size: 130%
-}
-
-.mdframedsubtitle {
- padding: 0ex .5em 0ex .5em ;
- display: block ;
- font-size: 115% ;
-}
-
-.mdframedsubsubtitle {
- padding: 0ex .5em 0ex .5em ;
- display: block ;
-}
-
-.mdtheorem {
- padding: 0ex .5em 0ex .5em ;
- margin: 3ex 5% 3ex 5% ;
-/* display: inline-block ; */
-}
-
-/* framed package */
-.framed {
- margin: 3ex 0em 3ex 0em ;
- border: 1px solid black;
- border-radius: 0px ;
- padding: .3ex 1em 0ex 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 }
-
-dl {
- margin: 1ex 2em 1ex 0em;
- line-height: 1.3;
-}
-
-dl dt {
- margin-top: 1ex;
- font-weight: bold;
-}
-
-dl dd p { margin-top: 0em; }
-
-nav.toc, nav.lof, nav.lot, nav.lol, nav.lothm {
- font-family: "URW Classico", Optima, "Linux Biolinum O",
- "DejaVu Sans", "Bitstream Vera Sans",
- Geneva, Verdana, sans-serif ;
- margin-bottom: 4ex ;
-}
-
-nav.toc p, nav.lof p, nav.lot p, nav.lol p, nav.lothm 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: 3ex auto 3ex 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 div.minipage p { font-size: 85% ; }
-
-figure.subfigure, figure.subtable {
- display: inline-block ; margin: 3ex 1em 3ex 1em ;
-}
-
-figcaption .minipage { margin:0 ; padding: 0 }
-
-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 ; }
-
-figcaption , .lstlistingtitle {
- font-size: .85em ;
- text-align: center ;
- font-weight: bold ;
-margin-top: 1ex ;
-margin-bottom: 1ex ;
-}
-
-figure.subfigure figcaption, figure.subtable figcaption {
- 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 figcaption {
-border: none ;
-background: none ;
-}
-
-table {
- margin: 1ex auto 1ex auto ;
- border-collapse: collapse ;
- border-spacing: 0px ;
- line-height: 1.3 ;
- }
-
-tr.hline {border-top: 1px solid silver ; margin-top: 0ex ;
- margin-bottom: 0ex ; } /* for \hline */
-
-tr.tbrule {border-top: 1px solid black ; margin-top: 0ex ;
- margin-bottom: 0ex ; } /* for \toprule, \bottomrule */
-
-td {padding: 1ex .5em 1ex .5em ;}
-
-table td.tdl { text-align: left ; vertical-align: middle ; }
-table td.tdc { 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.tdlrule { text-align: left ; border-top: 1px solid silver ;
- vertical-align: middle ; } /* for cmidrule */
-table td.tdcrule { text-align: center ; border-top: 1px solid silver ;
- vertical-align: middle ; }
-table td.tdrrule { text-align: right ; border-top: 1px solid silver ;
- vertical-align: middle ; }
-table td.tdprule { text-align: left ; border-top: 1px solid silver ;
- vertical-align: bottom ; }
-table td.tdmrule { text-align: left ; border-top: 1px solid silver ;
- vertical-align: middle ; }
-table td.tdbrule { text-align: left ; border-top: 1px solid silver ;
- vertical-align: top ; }
-table td.tdPrule { text-align: center ; border-top: 1px solid silver ;
- vertical-align: bottom ; }
-table td.tdMrule { text-align: center ; border-top: 1px solid silver ;
- vertical-align: middle ; }
-table td.tdBrule { text-align: center ; border-top: 1px solid silver ;
- vertical-align: top ; }
-
-/* 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:.85em;
- text-align: left ;
-}
-
-.tnotes dl dt p {margin-bottom:0px;}
-
-.tnoteitemheader {margin-right: 1em;}
-
-/* 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 ;}
-
-/* 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 ;
-}
-
-div.published
-{
- text-align: center ;
- font-variant: normal ;
- font-style: italic ;
- font-size: 1em ;
- margin: 3ex 0em 3ex 0em ;
-}
-
-div.subtitle
-{
- text-align: center ;
- font-variant: normal ;
- font-style: italic ;
- font-size: 1.25em ;
- margin: 3ex 0em 3ex 0em ;
-}
-
-div.subtitle p { margin: 1ex ; }
-
-div.author
-{
- font-variant: normal ;
- font-style: normal ;
- font-size: 1em ;
- margin: 3ex 0em 3ex 0em ;
-}
-
-div.author table {
- margin: 3ex 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: 6ex 0em 6ex 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:right ;
-}
-
-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:right ;
-}
-
-header{
- line-height: 1.2 ;
- font-size: 1em ;
-/* border-bottom: 2px solid silver ; */
- margin: 0px ;
- padding: 0ex 1em 0ex 1em ;
- text-align:center ;
-}
-
-header p {margin:0ex;padding:4ex 0em 2ex 0em ;text-align:center;}
-
-footer{
- font-size: .85em ;
- line-height: 1.2 ;
- margin-top: 1ex ;
- border-top: 2px solid silver ;
- padding: 2ex 1em 2ex 1em ;
- clear:right ;
- text-align:left ;
-}
-
-a.linkhome { font-weight:bold ; font-size: 1em ;}
-
-div.lateximagesource { padding: 0px ; margin: 0px ; display: none; }
-
-img.lateximage{
- padding: 0px 0px 0px 0px ;
- box-shadow: none ;
- border: none ;
- background: none ;
- margin: 0px 0px -.15ex 0px ;
- /* pdfcrop leaves a slight margin, adjust to baseline */
- max-width: 100% ;
- border-radius: 0ex ;
- border: none ;
-}
-
-nav.sidetoc {
- font-family: "DejaVu Serif", "Bitstream Vera Serif",
- "Lucida Bright", Georgia, serif;
- float:right ;
- width: 20%;
- border-left: 1px solid silver;
- border-top: 1px solid silver;
- border-bottom: 1px solid silver;
-/* border-top: 2px solid #808080 ; */
- background: #FAF7F4 ;
- padding: 2ex 0em 2ex 1em ;
- margin: 0ex 0em 2ex 1em ;
- font-size:.9em ;
- border-radius: 20px 0px 0px 20px ;
- }
-
-div.sidetoccontents {
-/* border-top: 1px solid silver ; */
- 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 to support algorithmicx: */
-span.floatright { float: right ; }
-
-/* Native LaTeX theorems: */
-
-.theoremcontents { font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ; }
-.theoremlabel { font-style: normal; font-weight: bold ; margin-right: .5em ; }
-
-/* theorem, amsthm, and ntheorem packages */
-
-span.theoremheader,
-span.theoremheaderplain,
-span.theoremheaderdefinition,
-span.theoremheaderbreak,
-span.theoremheadermarginbreak,
-span.theoremheaderchangebreak,
-span.theoremheaderchange,
-span.theoremheadermargin
-{
-font-style:normal ; font-weight: bold ; margin-right: 1em ;
-}
-
-span.amsthmnameplain,
-span.amsthmnamedefinition,
-span.amsthmnumberplain,
-span.amsthmnumberdefinition
-{
-font-style:normal ; font-weight: bold ;
-}
-
-span.amsthmnameremark,
-span.amsthmnumberremark
-{font-style:italic ; font-weight: normal ; }
-
-span.amsthmnoteplain,
-span.amsthmnotedefinition
-{font-style:normal ;}
-
-span.theoremheaderremark,
-span.theoremheaderproof,
-span.amsthmproofname
-{font-style:italic ; font-weight: normal ; margin-right: 1em ; }
-
-span.theoremheadersc
-{
-font-style:normal ;
-font-variant: small-caps ;
-font-weight: normal ;
-margin-right: 1em ;
-}
-
-.theoremendmark {float:right}
-
-div.amsthmbodyplain, div.theorembodyplain, div.theorembodynonumberplain,
-div.theorembodybreak, div.theorembodynonumberbreak,
-div.theorembodymarginbreak,
-div.theorembodychangebreak,
-div.theorembodychange,
-div.theorembodymargin
-{
-font-style:italic;
-margin-top: 3ex ; margin-bottom: 3ex ;
-}
-
-div.theorembodydefinition, div.theorembodyremark, div.theorembodyproof,
-div.theorembodyplainupright, nonumberplainuprightsc,
-div.amsthmbodydefinition, div.amsthmbodyremark,
-div.amsthmproof
-{
-font-style: normal ;
-margin-top: 3ex ; margin-bottom: 3ex ;
-}
-
-span.amsthmnoteremark {}
-
-/*
-For CSS LaTeX and related logos:
-Based on:
-http://edward.oconnor.cx/2007/08/tex-poshlet
-http://nitens.org/taraborelli/texlogo
-*/
-
-.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;
- letter-spacing: .03em ;
- font-size: 1.1em;
-}
-
-.latexlogo sup {
- text-transform: uppercase;
- letter-spacing: .03em ;
- font-size: 0.85em;
- vertical-align: 0.15em;
- margin-left: -0.36em;
- margin-right: -0.15em;
-}
-
-.latexlogo sub {
- text-transform: uppercase;
- vertical-align: -0.5ex;
- margin-left: -0.1667em;
- margin-right: -0.125em;
- font-size: 1em;
-}
-
-.xetexlogo {
- font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
- "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
- letter-spacing: .03em ;
- font-size: 1.1em;
-}
-
-/* A smaller gap between Xe and Tex v.s. LaTeX: */
-.xetexlogo sub {
- text-transform: uppercase;
- vertical-align: -0.5ex;
- margin-left: -0.0667em;
- margin-right: -0.2em;
- font-size: 1em;
- letter-spacing: .03em ;
-}
-
-/* A large gap between Xe and LaTeX v.s. TeX: */
-.xelatexlogo sub {
- text-transform: uppercase;
- vertical-align: -0.5ex;
- margin-left: -0.0667em;
- margin-right: -.05em;
- font-size: 1em;
- letter-spacing: .03em ;
-}
-
-.amslogo {
- font-family: "TeXGyreChorus","URW Chancery L",
- "Apple Chancery","ITC Zapf Chancery","Monotype Corsiva",
- "Linux Libertine O", "Nimbus Roman No 9 L", "FreeSerif",
- "Hoefler Text", Times, "Times New Roman", serif;
- font-style: italic;
-}
-
-.lyxlogo {
- font-family: "URW Classico", Optima, "Linux Biolinum O",
- "DejaVu Sans", "Bitstream Vera Sans", Geneva,
-Verdana, sans-serif ;
-}
-
-/* Only display top and bottom navigation if a small screen: */
-/* Hide the sidetoc if a small screen: */
-nav.topnavigation { display:none; }
-nav.botnavigation { display:none; }
-
-@media screen and (max-width: 45em) {
-/* nav.sidetoc {display:none;} */
- nav.sidetoc {
- float: none ;
- width: 100% ;
- margin: 5ex 0px 5ex 0px ;
- padding: 0 ;
- border-radius: 0 ;
- border-bottom: 1px solid black ;
- border-top: 1px solid black ;
- box-shadow: none ;
- }
-/* nav.topnavigation { display:block } */
- nav.botnavigation { display:block }
- .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;
- }
- nav.sidetoc { display:none; }
- nav.topnavigation { display: none; }
- nav.botnavigation { display: none; }
-}
-
-@media handheld {
- nav.sidetoc { display:none; }
- nav.topnavigation { display:block }
- nav.botnavigation { display:block }
-}
-
-@media projection {
- nav.sidetoc { display:none; }
- nav.topnavigation { display:block }
- nav.botnavigation { display:block }
-}
-\end{VerbatimOut}
-
-
-\begin{VerbatimOut}{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;}
-
-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 {
- 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;
-}
-
-.minipage {
- background-color: #eeeee7 ;
- border: 1px solid silver ;
-border-radius: 1ex ;
-}
-
-.framed .minipage , .framedleftbar .minipage {
-border: none ;
-background: none ;
-padding: 0ex ;
-margin: 0ex ;
-}
-
-figure.figure .minipage, figcaption .minipage { border: none; }
-
-div.marginblock 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 ;
-}
-
-/*
-figcaption {
- 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);
-}
-
-nav.sidetoc {
- background-color: #F7F7F0 ;
- background-image: linear-gradient(to bottom, #F7F7F0, #C0C0C0);
- box-shadow: 3px 3px 3px #808080 ;
- border-radius: 0px 0px 0px 20px ;
- }
-
-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) {
- nav.sidetoc { border-radius: 0 ; }
-}
-
-\end{VerbatimOut}
-
-
-\begin{VerbatimOut}{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 ;
-}
-
-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 ;
-}
-
-.verse {
- 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;
-}
-
-figure {
- margin: 3ex 5% 3ex 5% ;
- padding: 1ex 1em 1ex 1em ;
- background-color: #fffcf5 ;
- overflow-x: auto ;
- border: none ;
-/* border-top: 1px solid silver; */
-/* border-bottom: 1px solid silver; */
-}
-
-figcaption , .lstlisting {
- border: none ;
-/* border-top: 1px solid silver ; */
-/* border-bottom: 1px solid silver ; */
- background-color: #fffcf5 ;
-}
-
-.tnotes {
- background: #fffcf5 ;
-}
-
-.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;
-}
-
-nav.sidetoc {
- 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);
- border-radius: 0px 0px 0px 20px ;
-}
-
-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 ;
- clear:right ;
- text-align:left ;
-}
-
-nav.botnavigation {
- background: #dedcd5 ;
- border-top: 1px solid black ;
-}
-\end{VerbatimOut}
-
-
-\begin{VerbatimOut}{sample_project.css}
-/* ( --- Start of project.css --- ) */
-/* A sample project-specific CSS file for lwarp --- ) */
-
-/* Load default lwarp settings: */
-@import url("lwarp.css") ;
-/* or lwarp_formal.css, lwarp_sagebrush.css */
-
-/* Project-specific CSS setting follow here. */
-/* . . . */
-
-/* ( --- End of project.css --- ) */
-\end{VerbatimOut}
-
-
-\begin{VerbatimOut}{lwarp_html.xdy}
-(require "tex/inputenc/latin.xdy")
-(merge-rule "\\PS *" "Postscript")
-(require "texindy.xdy")
-(require "page-ranges.xdy")
-(require "book-order.xdy")
-(markup-locref :open "\hyperindexref{" :close "}")
-\end{VerbatimOut}
-
-
-\begin{VerbatimOut}{lwarp_mathjax.txt}
-<!-- https://groups.google.com/forum/#!topic/
- mathjax-users/jUtewUcE2bY -->
-<script type="text/x-mathjax-config">
-MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () {
- var seteqsectionDefault = {name: "", num: 0};
- var seteqsections = {}, seteqsection = seteqsectionDefault;
- var TEX = MathJax.InputJax.TeX, PARSE = TEX.Parse;
- var AMS = MathJax.Extension["TeX/AMSmath"];
- TEX.Definitions.Add({
- macros: {
- seteqsection: "mySection",
- seteqnumber: "mySetEqNumber"
- }
- });
-
- PARSE.Augment({
- mySection: function (name) {
- seteqsection.num = AMS.number;
- var n = this.GetArgument(name);
- if (n === "") {
- seteqsection = seteqsectionDefault;
- } else {
- if (!seteqsections["_"+n])
- seteqsections["_"+n] = {name:n, num:0};
- seteqsection = seteqsections["_"+n];
- }
- AMS.number = seteqsection.num;
- },
- mySetEqNumber: function (name) {
- var n = this.GetArgument(name);
- if (!n || !n.match(/^ *[0-9]+ *$/))
- n = ""; else n = parseInt(n)-1;
- <!-- $ syntax highlighting -->
- if (n === "" || n < 1)
- TEX.Error
- ("Argument to "+name+" should be a positive integer");
- AMS.number = n;
- }
- });
- MathJax.Hub.Config({
- TeX: {
- equationNumbers: {
- formatTag: function (n)
- {return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")"},
- formatID: function (n) {
- n = (seteqsection.name+'.'+n).replace
- (/[:"'<>&]/g,"").replace(/^\./,"");
- return 'mjx-eqn-' + n;
- }
- }
- }
- });
-});
-</script>
-
-<!-- http://docs.mathjax.org/en/latest/options/ThirdParty.html -->
-<script type="text/x-mathjax-config">
- MathJax.Ajax.config.path["Contrib"] =
- "https://cdn.mathjax.org/mathjax/contrib";
-</script>
-
-<!-- https://github.com/mathjax/MathJax-third-party-extensions/
- tree/master/siunitx -->
-<script type="text/x-mathjax-config">
- MathJax.Hub.Config({
- extensions: ["tex2jax.js","[Contrib]/siunitx/siunitx.js"],
- jax: ["input/TeX","output/HTML-CSS"],
- tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]},
- TeX: {extensions: ["AMSmath.js","AMSsymbols.js", "sinuitx.js"]}
- });
- </script>
-
-<script type="text/x-mathjax-config">
-MathJax.Hub.Config({
- TeX: {
- equationNumbers: {
- autoNumber: "AMS"
- }
- }
-});
-</script>
-
-<!-- Alternative CDN provider: -->
-<script type="text/javascript" async
- src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML-full">
-</script>
-
-<!-- No longer supported after April 30, 2017: -->
-<!--
-<script
- src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full">
-</script>
--->
-
-\end{VerbatimOut}
-
-
-\begin{LWR@createlwarpmk}
-
-\begin{VerbatimOut}{lwarpmk.lua}
-#!/usr/bin/env texlua
-
--- Copyright 2016-2017 Brian Dunn
-
--- Print the usage of the lwarpmk command:
-
-printversion = "v0.29"
-
-function printhelp ()
-print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
-end
-
-function printusage ()
-print ( [[
-
-lwarpmk print [project]: Compile a print version.
-lwarpmk printindex [project]: Process the index for the print version.
-lwarpmk printglossary [project]: Process the glossary for the print version.
-lwarpmk html [project]: Compile an HTML version.
-lwarpmk htmlindex [project]: Process the index for the html version.
-lwarpmk htmlglossary [project]: Process the glossary for the html version.
-lwarpmk again [project]: Touch the source code to trigger recompiles.
-lwarpmk limages [project]: Process the "lateximages" created by lwarp.sty.
-lwarpmk pdftohtml [project]:
- For use with latexmk or a Makefile:
- Convert project_html.pdf to project_html.html and
- individual HTML files.
-lwarpmk clean [project]: Remove project.aux, .toc, .lof/t, .idx, .ind, .log, .gl*
-lwarpmk cleanall [project]: Remove auxiliary files and also project.pdf, *.html
-lwarpmk -h: Print this help message.
-lwarpmk --help: Print this help message.
-
-]] )
-printconf ()
-end
-
--- Print the format of the configuration file lwarpmk.conf:
-
-function printconf ()
-print ( [[
-An example lwarpmk.conf or <project>.lwarpmkconf project file:
---
-opsystem = "Unix" (or "Windows")
-latexname = "pdflatex" (or "lualatex", or "xelatex")
-sourcename = "projectname" (the source-code filename w/o .tex)
-homehtmlfilename = "index" (or perhaps the project name)
-htmlfilename = "" (or "projectname" - filename prefix)
-uselatexmk = "false" (or "true" to use latexmk to build PDFs)
-languge = "english" (use a language supported by xindy)
---
-Filenames must contain only letters, numbers, underscore, or dash.
-Values must be in "quotes".
-
-]] ) ;
-end
-
--- Split one large sourcefile into a number of files,
--- starting with destfile.
--- The file is split at each occurance of <!--|Start file|newfilename|*
-
-function splitfile (destfile,sourcefile)
-print ("lwarpmk: Splitting " .. sourcefile .. " into " .. destfile) ;
-io.input(sourcefile)
-io.output(destfile)
-for line in io.lines() do
-i,j,copen,cstart,newfilename = string.find (line,"(.*)|(.*)|(.*)|") ;
-if ( (i~= nil) and (copen == "<!--") and (cstart == "Start file")) then -- split the file
-io.output(newfilename) ;
-else -- not a splitpoint
-io.write (line .. "\n") ;
-end
-end -- do
-end -- function
-
--- Incorrect value, so print an error and exit.
-
-function cvalueerror ( line, linenum , cvalue )
- print ( linenum .. " : " .. line ) ;
- print ("lwarpmk: incorrect variable value \"" .. cvalue .. "\" in lwarpmk.conf.\n" ) ;
- printconf () ;
- os.exit(1) ;
-end
-
--- Load settings from the project's "lwarpmk.conf" file:
-
-function loadconf ()
--- Default configuration filename:
-local conffile = "lwarpmk.conf"
--- Optional configuration filename:
-if arg[2] ~= nil then conffile = arg[2]..".lwarpmkconf" end
--- Default language:
-language = "english"
--- Verify the file exists:
-if (lfs.attributes(conffile,"mode")==nil) then -- file not exists
-print("lwarpmk: " .. conffile .." does not exist.")
-print("lwarpmk: " .. arg[2] .. " does not appear to be a project name.\n")
-printhelp () ;
-os.exit(1) -- exit the entire lwarpmk script
-else -- file exists
--- Read the file:
-print ("lwarpmk: Reading " .. conffile ..".")
-io.input(conffile) ;
--- Scan each line:
-local linenum = 0
-for line in io.lines() do -- scan lines
-linenum = linenum + 1
-i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([%w-_]*)\"") ;
--- Error if incorrect enclosing characters:
-if ( i == nil ) then
-print ( linenum .. " : " .. line ) ;
-print ( "lwarpmk: Incorrect entry in " .. conffile ..".\n" ) ;
-printconf () ;
-os.exit(1) ;
-end
-if ( cvarname == "opsystem" ) then
- -- Verify choice of opsystem:
- if ( (cvalue == "Unix") or (cvalue == "Windows") ) then
- opsystem = cvalue
- else
- cvalueerror ( line, linenum , cvalue )
- end
-elseif ( cvarname == "latexname" ) then
- -- Verify choice of LaTeX compiler:
- if (
- (cvalue == "pdflatex") or
- (cvalue == "xelatex") or
- (cvalue == "lualatex")
- ) then
- latexname = cvalue
- else
- cvalueerror ( line, linenum , cvalue )
- end
-elseif ( cvarname == "sourcename" ) then sourcename = cvalue
-elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue
-elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue
-elseif ( cvarname == "uselatexmk" ) then uselatexmk = cvalue
-elseif ( cvarname == "language" ) then language = cvalue
-else
-print ( linenum .. " : " .. line ) ;
-print ("lwarpmk: Incorrect variable name \"" .. cvarname .. "\" in " .. conffile ..".\n" ) ;
-printconf () ;
-os.exit(1) ;
-end
-end -- do scan lines
-end -- file exists
--- Select some operating-system commands:
-if opsystem=="Unix" then -- For Unix / Linux / Mac OS:
-rmname = "rm"
-mvname = "mv"
-touchnamepre = "touch"
-touchnamepost = ""
-dirslash = "/"
-opquote= "\'"
-elseif opsystem=="Windows" then -- For Windows
-rmname = "DEL"
-mvname = "MOVE"
-touchnamepre = "COPY /b"
-touchnamepost = "+,,"
-dirslash = "\\"
-opquote= "\""
-else print ( "lwarpmk: Select Unix or Windows for opsystem" )
-end --- for Windows
-end -- loadconf
-
-function refreshdate ()
-os.execute(touchnamepre .. " " .. sourcename .. ".tex " .. touchnamepost)
-end
-
--- Scan the LaTeX log file for the phrase "Rerun to get",
--- indicating that the file should be compiled again.
--- Return true if found.
-
-function reruntoget (filesource)
-io.input(filesource)
-for line in io.lines() do
-if ( string.find(line,"Rerun to get") ~= nil ) then return true end
-end
-return false
-end
-
--- Compile one time, return true if should compile again.
--- fsuffix is "" for print, "_html" for HTML output.
-
-function onetime (fsuffix)
-print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix)
-err = os.execute(
--- "echo " ..
- latexname .. " " .. sourcename..fsuffix )
-if ( err ~= 0 ) then print ( "lwarpmk: Compile error.") ; os.exit(1) ; end
-return (reruntoget(sourcename .. fsuffix .. ".log") ) ;
-end
-
--- Compile up to five times.
--- fsuffix is "" for print, "_html" for HTML output
-
-function manytimes (fsuffix)
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-if onetime(fsuffix) == true then
-end end end end end
-end
-
--- Exit if the given file does not exist.
-
-function verifyfileexists (filename)
-if (lfs.attributes ( filename , "modification" ) == nil ) then
-print ( "lwarpmk: " .. filename .. " not found." ) ;
-os.exit (1) ;
-end
-end
-
--- Convert <project>_html.pdf into HTML files:
-
-function pdftohtml ()
- -- Convert to text:
- print ("lwarpmk: Converting " .. sourcename .."_html.pdf to " .. sourcename .. "_html.html")
- os.execute("pdftotext -enc UTF-8 -nopgbrk -layout " .. sourcename .. "_html.pdf " .. sourcename .. "_html.html")
- -- Split the result into individual HTML files:
- splitfile (homehtmlfilename .. ".html" , sourcename .. "_html.html")
-end
-
--- Remove auxiliary files:
-
-function removeaux ()
- os.execute ( rmname .. " " ..
- sourcename ..".aux " .. sourcename .. "_html.aux " ..
- sourcename ..".toc " .. sourcename .. "_html.toc " ..
- sourcename ..".lof " .. sourcename .. "_html.lof " ..
- sourcename ..".lot " .. sourcename .. "_html.lot " ..
- sourcename ..".idx " .. sourcename .. "_html.idx " ..
- sourcename ..".ind " .. sourcename .. "_html.ind " ..
- sourcename ..".log " .. sourcename .. "_html.log " ..
- sourcename ..".gl* " .. sourcename .. "_html.gl* "
- )
-end
-
--- Create lateximages based on lateximages.txt:
-function createlateximages ()
-print ("lwarpmk: Creating lateximages.")
-io.input("lateximages.txt")
--- Create the lateximages directory, ignore error if alreadt exists
-err = os.execute("mkdir lateximages")
--- Scan lateximages.txt
-for line in io.lines() do
--- lwimgpage is the page number in the PDF which has the image
--- lwimgnum is the sequential lateximage number to assign for the image
-i,j,lwimgpage,lwimgnum = string.find (line,"|(.*)|(.*)|")
--- For each entry:
-if ( (i~=nil) ) then
--- Separate out the image into its own single-page pdf:
-err = os.execute(
-"pdfseparate -f " .. lwimgpage .. " -l " ..
- lwimgpage .. " " .. sourcename .."_html.pdf lateximagetemp-%d.pdf")
--- Crop the image:
-err = os.execute(
-"pdfcrop --hires lateximagetemp-" .. lwimgpage ..".pdf lateximage-" .. lwimgnum ..".pdf")
-if ( err ~= 0 ) then print ( "lwarpmk: File error.") ; os.exit(1) ; end
--- Convert the image to svg:
-err = os.execute(
-"pdftocairo -svg lateximage-" .. lwimgnum ..".pdf lateximage-" .. lwimgnum ..".svg")
-if ( err ~= 0 ) then print ( "lwarpmk: File error.") ; os.exit(1) ; end
--- Move the result into lateximages/:
-err = os.execute(
-mvname .. " lateximage-" .. lwimgnum ..".svg lateximages" .. dirslash )
-if ( err ~= 0 ) then print ( "lwarpmk: File error.") ; os.exit(1) ; end
--- Remove the temporary files:
-err = os.execute(
-rmname .. " lateximage-" .. lwimgnum ..".pdf lateximagetemp-" .. lwimgpage ..".pdf")
-if ( err ~= 0 ) then print ( "lwarpmk: File error.") ; os.exit(1) ; end
-end
-end -- do
-end -- function
-
--- lwarpmk --version :
-
-if (arg[1] == "--version") then
-print ( "lwarpmk: " .. printversion )
-
-else -- not -- version
-
--- print intro:
-
-print ("lwarpmk: " .. printversion .. " Automated make for the LaTeX lwarp package.")
-
--- lwarpmk print:
-
-if arg[1] == "print" then
-loadconf ()
-if ( uselatexmk == "true" ) then
- os.execute ( "latexmk -pdf -dvi- -ps- -pdflatex=\"" .. latexname .." %O %S\" " .. sourcename ..".tex" ) ;
- print ("lwarpmk: Done.")
-else -- not latexmk
- verifyfileexists (sourcename .. ".tex") ;
- -- See if up to date:
- if (
- ( lfs.attributes ( sourcename .. ".pdf" , "modification" ) == nil ) or
- (
- lfs.attributes ( sourcename .. ".tex" , "modification" ) >
- lfs.attributes ( sourcename .. ".pdf" , "modification" )
- )
- ) then
- -- Recompile if not yet up to date:
- manytimes("")
- print ("lwarpmk: Done.") ;
- else
- print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ;
- end
-end -- not latexmk
-
--- lwarp printindex:
--- Compile the index then touch the source
--- to trigger a recompile of the document:
-
-elseif arg[1] == "printindex" then
-loadconf ()
-print ("lwarpmk: Processing the index.")
-os.execute("texindy -M lwarp_html.xdy " .. sourcename .. ".idx")
-print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
-refreshdate ()
-print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
-print ("lwarpmk: Done.")
-
--- lwarp printglossary:
--- Compile the glossary then touch the source
--- to trigger a recompile of the document:
-
-elseif arg[1] == "printglossary" then
-loadconf ()
-print ("lwarpmk: Processing the glossary.")
-
-os.execute("xindy -L " .. language .. " -C utf8 -I xindy -M " .. sourcename ..
- " -t " .. sourcename .. ".glg -o " .. sourcename .. ".gls "
- .. sourcename .. ".glo")
-print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
-refreshdate ()
-print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
-print ("lwarpmk: Done.")
-
--- lwarpmk html:
-
-elseif arg[1] == "html" then
-loadconf ()
-if ( uselatexmk == "true" ) then
- -- The recorder option is required to detect changes in <project>.tex
- -- while we are loading <project>_html.tex.
- err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder "
- .. "-e "
- .. opquote .. "$makeindex = q/texindy -M lwarp_html.xdy/" .. opquote
- .. " -pdflatex=\"" .. latexname .." %O %S\" "
- .. sourcename .."_html.tex" ) ;
- if ( err ~= 0 ) then print ( "lwarpmk: Compile error.") ; os.exit(1) ; end
- pdftohtml ()
- print ("lwarpmk: Done.")
-else -- not latexmk
- verifyfileexists ( sourcename .. ".tex" ) ;
- -- See if exists and is up to date:
- if (
- ( lfs.attributes ( homehtmlfilename .. ".html" , "modification" ) == nil ) or
- (
- lfs.attributes ( sourcename .. ".tex" , "modification" ) >
- lfs.attributes ( homehtmlfilename .. ".html" , "modification" )
- )
- ) then
- -- Recompile if not yet up to date:
- manytimes("_html")
- pdftohtml ()
- print ("lwarpmk: Done.")
- else
- print ("lwarpmk: " .. homehtmlfilename .. ".html is up to date.")
- end
-end -- not latexmk
-
-elseif arg[1] == "pdftohtml" then
- loadconf ()
- pdftohtml ()
-
--- lwarpmk htmlindex:
--- Compile the index then touch the source
--- to trigger a recompile of the document:
-
-elseif arg[1] == "htmlindex" then
-loadconf ()
-print ("lwarpmk: Processing the index.")
-os.execute("texindy -M lwarp_html.xdy " .. sourcename .. "_html.idx")
-print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
-refreshdate ()
-print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
-print ("lwarpmk: Done.")
-
--- lwarpmk htmlglossary:
--- Compile the glossary then touch the source
--- to trigger a recompile of the document:
-
-elseif arg[1] == "htmlglossary" then
-loadconf ()
-print ("lwarpmk: Processing the glossary.")
-
-os.execute("xindy -L " .. language .. " -C utf8 -I xindy -M " ..sourcename ..
- "_html -t " .. sourcename .. "_html.glg -o " ..sourcename ..
- "_html.gls " ..sourcename .. "_html.glo")
-
-print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
-refreshdate ()
-print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
-print ("lwarpmk: Done.")
-
--- lwarpmk limages:
--- Scan the lateximages.txt file to create lateximages,
--- then touch the source to trigger a recompile.
-
-elseif arg[1] == "limages" then
-loadconf ()
-print ("lwarpmk: Processing images.")
-createlateximages ()
-print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
-refreshdate ()
-print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
-print ("lwarpmk: Done.")
-
--- lwarpmk again:
--- Touch the source to trigger a recompile.
-
-elseif arg[1] == "again" then
-loadconf ()
-print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
-refreshdate ()
-print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
-print ("lwarpmk: Done.")
-
--- lwarpmk clean:
--- Remove project.aux, .toc, .lof, .lot, .idx, .ind, .log, .gl*
-
-elseif arg[1] == "clean" then
-loadconf ()
-removeaux ()
-print ("lwarpmk: Done.")
-
--- lwarpmk cleanall
--- Remove project.aux, .toc, .lof, .lot, .idx, .ind, .log, .gl*
--- and also project.pdf, *.html
-
-elseif arg[1] == "cleanall" then
-loadconf ()
-removeaux ()
-os.execute ( rmname .. " " ..
- sourcename .. ".pdf " .. sourcename .. "_html.pdf " ..
- "*.html"
- )
-print ("lwarpmk: Done.")
-
--- lwarpmk with no argument :
-
-elseif (arg[1] == nil) then
-printhelp ()
-
--- lwarpmk -h or lwarpmk --help :
-
-elseif (arg[1] == "-h" ) or (arg[1] == "--help") then
-printusage ()
-
-else
-print ("lwarpmk: Unknown command \""..arg[1].."\".\n")
-printhelp ()
-end
-
-end -- not --version
-\end{VerbatimOut}
-
-\end{LWR@createlwarpmk}
-
-\endinput
-%%
-%% End of file `lwarp-newproject.sty'.
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
index 92cbbf80d3c..4edb7a40a24 100644
--- a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty
@@ -17,7 +17,7 @@
%% version 2005/12/01 or later.
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{lwarp}
- [2017/04/15 v0.29 Allows LaTeX to directly produce HTML5 output.]
+ [2017/04/29 v0.30 Allows LaTeX to directly produce HTML5 output.]
@@ -44,12 +44,30 @@
\RequirePackage{upquote}
\else
\fi
+
\RequirePackage{etoolbox}[2011/01/03]
\RequirePackage{ifplatform}% sense op-system platform
\RequirePackage{comment}
\excludecomment{testing}
+\newbool{usingOSWindows}
+\boolfalse{usingOSWindows}
+
+
+\newcommand*{\OSPathSymbol}{/}
+
+
+\newcommand*{\LWR@setOSWindows}
+{
+\booltrue{usingOSWindows}
+\renewcommand*{\OSPathSymbol}{\@backslashchar}
+}
+\ifwindows
+\LWR@setOSWindows
+\fi
+
+
\RequirePackage{kvoptions}
\SetupKeyvalOptions{family=LWR,prefix=LWR@}
@@ -88,7 +106,25 @@
\DeclareStringOption[\jobname]{BaseJobname}
-\DeclareStringOption[english]{lwarpmklang}
+\DeclareStringOption[english]{IndexLanguage}
+
+\DeclareStringOption[lwarp.xdy]{xdyFilename}
+
+\DeclareVoidOption{lwarpmk}{
+\PackageInfo{lwarp}{Using option 'lwarpmk'}
+\includecomment{LWR@createlwarpmk}
+}
+
+\DeclareVoidOption{OSWindows}{
+\PackageInfo{lwarp}{Using option 'OSWindows'}
+\LWR@setOSWindows
+}
+
+\DeclareStringOption[]{HomeHTMLFilename}
+
+\DeclareStringOption[]{HTMLFilename}
+
+\DeclareBoolOption[false]{latexmk}
\includecomment{warpprint}%
\excludecomment{warpHTML}%
@@ -96,12 +132,19 @@
\boolfalse{warpingHTML}%
\boolfalse{mathjax}%
+\excludecomment{LWR@createlwarpmk}
\ProcessKeyvalOptions*\relax
\providecommand*{\BaseJobname}{\LWR@BaseJobname}
-\def\@nameedef#1{\expandafter\edef\csname #1\endcsname}
+\ifcsempty{LWR@HomeHTMLFilename}{
+\newcommand*{\HomeHTMLFilename}{\BaseJobname}
+}{
+\csedef{HomeHTMLFilename}{\LWR@HomeHTMLFilename}
+}
+
+\csedef{HTMLFilename}{\LWR@HTMLFilename}
@@ -498,24 +541,2251 @@ top=1in,bottom=1in,%
\end{warpHTML}
-\begin{warpall}
-\newbool{usingOSwindows}
-\boolfalse{usingOSwindows}
-\newcommand*{\OSPathSymbol}{/}
+\begin{warpprint}
+\typeout{lwarp: generating configuration files}
+\end{warpprint}
+\begin{warpprint}
+\ifcsdef{LWR@file}{}{\newwrite{\LWR@file}}
+\immediate\openout\LWR@file=\jobname_html.tex
+\immediate\write\LWR@file{%
+\detokenize{\PassOptionsToPackage}%
+{warpHTML,BaseJobname=\jobname}{lwarp}%
+}
+\immediate\write\LWR@file{%
+\detokenize{\input}\string{\jobname.tex\string }%
+}
+\immediate\closeout\LWR@file
+\end{warpprint}
-\newcommand*{\warpOSwindows}
-{
-\booltrue{usingOSwindows}
-\renewcommand*{\OSPathSymbol}{\@backslashchar}
+\begin{warpprint}
+\ifcsdef{LWR@file}{}{\newwrite{\LWR@file}}
+\immediate\openout\LWR@file=lwarpmk.conf
+\ifbool{usingOSWindows}{
+\immediate\write\LWR@file{opsystem = "Windows"}
+}{
+\immediate\write\LWR@file{opsystem = "Unix"}
}
-\ifwindows
-\warpOSwindows
+\ifPDFTeX
+\immediate\write\LWR@file{latexname = "pdflatex"}
+\fi
+\ifXeTeX
+\immediate\write\LWR@file{latexname = "xelatex"}
+\fi
+\ifLuaTeX
+\immediate\write\LWR@file{latexname = "lualatex"}
\fi
+\immediate\write\LWR@file{sourcename = "\jobname"}
+\immediate\write\LWR@file{%
+homehtmlfilename = "\HomeHTMLFilename"%
+}
+\immediate\write\LWR@file{htmlfilename = "\HTMLFilename"}
+\immediate\write\LWR@file{latexmk = "\ifbool{LWR@latexmk}{true}{false}"}
+\immediate\write\LWR@file{language = "\LWR@IndexLanguage"}
+\immediate\write\LWR@file{xdyfile = "\LWR@xdyFilename"}
+\immediate\closeout\LWR@file
+\end{warpprint}
-\end{warpall}
+\begin{warpprint}
+\ifcsdef{LWR@file}{}{\newwrite{\LWR@file}}
+\immediate\openout\LWR@file=\jobname.lwarpmkconf
+\ifbool{usingOSWindows}{
+\immediate\write\LWR@file{opsystem = "Windows"}
+}{
+\immediate\write\LWR@file{opsystem = "Unix"}
+}
+\ifPDFTeX
+\immediate\write\LWR@file{latexname = "pdflatex"}
+\fi
+\ifXeTeX
+\immediate\write\LWR@file{latexname = "xelatex"}
+\fi
+\ifLuaTeX
+\immediate\write\LWR@file{latexname = "lualatex"}
+\fi
+\immediate\write\LWR@file{sourcename = "\jobname"}
+\immediate\write\LWR@file{%
+homehtmlfilename = "\HomeHTMLFilename"%
+}
+\immediate\write\LWR@file{htmlfilename = "\HTMLFilename"}
+\immediate\write\LWR@file{latexmk = "\ifbool{LWR@latexmk}{true}{false}"}
+\immediate\write\LWR@file{language = "\LWR@IndexLanguage"}
+\immediate\write\LWR@file{xdyfile = "\LWR@xdyFilename"}
+\immediate\closeout\LWR@file
+\end{warpprint}
+
+
+\begin{warpprint}
+\begin{VerbatimOut}{lwarp.css}
+/*
+ CSS stylesheet for the LaTeX lwarp package
+ Copyright 2016-2017 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.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 ;}
+
+/* Holds a section number to add space between it and the name */
+span.sectionnumber { margin-right: .6em }
+
+/* Inserted in front of index lines */
+span.indexitem {margin-left: 0em}
+span.indexsubitem {margin-left: 2em}
+span.indexsubsubitem {margin-left: 4em}
+
+div.hidden { display: none ; }
+
+kbd {
+ font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console",
+ "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono",
+ "Courier New", monospace;
+ font-size: 100% ;
+}
+
+span.strong { font-weight: bold; }
+
+span.textmd { font-weight: normal; }
+
+span.textsc { font-variant: small-caps; }
+
+span.textup { font-variant: normal; }
+
+span.textrm {
+ font-family: "DejaVu Serif", "Bitstream Vera Serif",
+ "Lucida Bright", Georgia, serif;
+}
+
+span.textsf {
+ font-family: "DejaVu Sans", "Bitstream Vera Sans",
+ Geneva, Verdana, sans-serif ;
+}
+
+span.attribution {
+ margin-left: 1em ; font-size: 80% ; font-variant: small-caps;
+}
+
+span.citetitle {
+ margin-left: 1em ; font-size: 80% ; font-style: oblique;
+}
+
+span.poemtitle {
+ font-size: 120% ; font-weight: bold;
+}
+
+blockquote {
+margin-left: 0px ;
+margin-right: 0px ;
+}
+
+blockquote p {
+ line-height: 1.5;
+ text-align: left ;
+ font-size: .85em ;
+ margin-left: 3em ;
+margin-right: 3em ;
+}
+
+blockquotation {
+margin-left: 0px ;
+margin-right: 0px ;
+}
+
+blockquotation p {
+ line-height: 1.5;
+ text-align: left ;
+ font-size: .85em ;
+ margin-left: 3em ;
+margin-right: 3em ;
+}
+
+div.epigraph {
+ 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{
+ text-align:right ;
+ margin-left:auto ;
+/* max-width: 50% ; */
+ border-top: 1px solid #A0A0A0 ;
+ padding-bottom: 3ex ;
+ line-height: 1.2;
+}
+
+div.epigraph p { padding: .5ex ; margin: 0ex ;}
+div.epigraphsource p { padding: .5ex 0ex 0ex 0ex ; margin: 0ex ;}
+
+/* lettrine package: */
+span.lettrine { font-size: 3ex ; float: left ; }
+span.lettrinetext { font-variant: small-caps ; }
+
+/* ulem and soul packages: */
+span.uline {
+ text-decoration: underline ;
+ text-decoration-skip ;
+}
+
+span.uuline {
+ text-decoration: underline ;
+ text-decoration-skip ;
+ text-decoration-style: double ;
+}
+
+span.uwave {
+ text-decoration: underline ;
+ text-decoration-skip ;
+ text-decoration-style: wavy ;
+}
+
+span.sout {
+ text-decoration: line-through ;
+}
+
+span.xout {
+ text-decoration: line-through ;
+}
+
+span.dashuline {
+ text-decoration: underline ;
+ text-decoration-skip ;
+ text-decoration-style: dashed ;
+}
+
+span.dotuline {
+ text-decoration: underline ;
+ text-decoration-skip ;
+ text-decoration-style: dotted ;
+}
+
+span.letterspacing { letter-spacing: .2ex ; }
+
+span.capsspacing {
+ font-variant: small-caps ;
+ letter-spacing: .1ex ;
+}
+
+span.highlight { background: #F8E800 ; }
+
+html body {
+ margin: 0 ;
+ line-height: 1.2;
+}
+
+body div {
+ margin: 0ex;
+}
+
+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 ;
+}
+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 ; }
+
+/* Title of the file */
+h1 {
+ margin: 0ex 0em 0ex 0em ;
+ line-height: 1.3;
+ text-align: center ;
+}
+
+/* Part */
+h2 {
+ margin: 1ex 0em 1ex 0em ;
+ line-height: 1.3;
+ text-align: center ;
+}
+
+/* Chapter */
+h3 {
+ margin: 3ex 0em 1ex 0em ;
+ line-height: 1.3;
+}
+
+/* Section */
+h4 {
+ margin: 3ex 0em 1ex 0em ;
+ line-height: 1.3;
+}
+
+/* Sub-Section */
+h5 {
+ margin: 3ex 0em 1ex 0em ;
+ line-height: 1.3;
+}
+
+/* Sub-Sub-Section */
+h6 {
+ margin: 3ex 0em 1ex 0em ;
+ line-height: 1.3;
+}
+
+div.titlepage {
+ text-align: center ;
+}
+
+.footnotes {
+ font-size: .85em ;
+ margin: 3ex 1em 0ex 1em ;
+ padding-bottom: 1ex ;
+border-top: 1px solid silver ;
+}
+
+.marginpar {
+ max-width:50%;
+ float:right;
+ 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 {
+ max-width:50%;
+ 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 {
+ display: block ;
+ margin: 0pt auto 0pt auto ;
+}
+
+div.marginblock div.minipage p { font-size: 85%}
+
+div.marginblock br { margin-bottom: 2ex ; }
+
+section.textbody div.footnotes{
+ margin: 3ex 0em 0ex 0em ;
+ 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 ;
+}
+
+ol {
+ margin: 1ex 1em 1ex 0em;
+ line-height: 1.2;
+}
+
+ul, body dir, body menu {
+ margin: 1ex 1em 1ex 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 ;
+}
+
+.inlineprogramlisting {
+ font-family: "DejaVu Mono", "Bitstream Vera Mono", "Lucida Console",
+ "Nimbus Mono L", "Liberation Mono", "FreeMono", "Andale Mono",
+ "Courier New", monospace;
+ overflow-x: auto;
+}
+
+div.abstract {
+ margin: 2em 5% 2em 5% ;
+ padding: 1ex 1em 1ex 1em ;
+/* font-weight: bold ; */
+ font-size: 90% ;
+}
+
+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-weight:bold;
+ text-align: center ;
+}
+
+.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 ; }
+
+/* Minipage environments, vertically aligned to top, center, bottom: */
+.minipage {
+ /* display: inline-block ; */
+ /* Mini pages which follow each other will be tiled. */
+ margin: .25em .25em .25em .25em;
+ padding: .25em .25em .25em .25em;
+ display: inline-flex;
+ flex-direction: column ;
+ overflow: auto;
+}
+
+/* Paragraphs in the flexbox did not collapse their margins. */
+/* Have not yet researched this. */
+.minipage p {margin: .75ex 0em .75ex 0em ;}
+
+.framebox {
+ margin: 0ex ;
+ padding: 0ex ;
+ border: 1px solid black;
+ border-radius: 0px ;
+ padding: .3ex .2em 0ex .2em ;
+ margin: .1ex ;
+ display: inline-block ;
+}
+
+.mdframed {
+/* padding: 0ex ; */
+/* border: 1px solid blafck; */
+/* border-radius: 0px ; */
+ padding: 0ex ;
+ margin: 3ex 5% 3ex 5% ;
+/* display: inline-block ; */
+}
+
+.mdframed p { padding: 0ex .5em 0ex .5em ; }
+
+.mdframed dl { padding: 0ex .5em 0ex .5em ; }
+
+.mdframedtitle {
+ padding: .5em ;
+ display: block ;
+ font-size: 130%
+}
+
+.mdframedsubtitle {
+ padding: 0ex .5em 0ex .5em ;
+ display: block ;
+ font-size: 115% ;
+}
+
+.mdframedsubsubtitle {
+ padding: 0ex .5em 0ex .5em ;
+ display: block ;
+}
+
+.mdtheorem {
+ padding: 0ex .5em 0ex .5em ;
+ margin: 3ex 5% 3ex 5% ;
+/* display: inline-block ; */
+}
+
+/* framed package */
+.framed {
+ margin: 3ex 0em 3ex 0em ;
+ border: 1px solid black;
+ border-radius: 0px ;
+ padding: .3ex 1em 0ex 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 }
+
+dl {
+ margin: 1ex 2em 1ex 0em;
+ line-height: 1.3;
+}
+
+dl dt {
+ margin-top: 1ex;
+ font-weight: bold;
+}
+
+dl dd p { margin-top: 0em; }
+
+nav.toc, nav.lof, nav.lot, nav.lol, nav.lothm {
+ font-family: "URW Classico", Optima, "Linux Biolinum O",
+ "DejaVu Sans", "Bitstream Vera Sans",
+ Geneva, Verdana, sans-serif ;
+ margin-bottom: 4ex ;
+}
+
+nav.toc p, nav.lof p, nav.lot p, nav.lol p, nav.lothm 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: 3ex auto 3ex 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 div.minipage p { font-size: 85% ; }
+
+figure.subfigure, figure.subtable {
+ display: inline-block ; margin: 3ex 1em 3ex 1em ;
+}
+
+figcaption .minipage { margin:0 ; padding: 0 }
+
+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 ; }
+
+figcaption , .lstlistingtitle {
+ font-size: .85em ;
+ text-align: center ;
+ font-weight: bold ;
+margin-top: 1ex ;
+margin-bottom: 1ex ;
+}
+
+figure.subfigure figcaption, figure.subtable figcaption {
+ 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 figcaption {
+border: none ;
+background: none ;
+}
+
+table {
+ margin: 1ex auto 1ex auto ;
+ border-collapse: collapse ;
+ border-spacing: 0px ;
+ line-height: 1.3 ;
+ }
+
+tr.hline {border-top: 1px solid silver ; margin-top: 0ex ;
+ margin-bottom: 0ex ; } /* for \hline */
+
+tr.tbrule {border-top: 1px solid black ; margin-top: 0ex ;
+ margin-bottom: 0ex ; } /* for \toprule, \bottomrule */
+
+td {padding: 1ex .5em 1ex .5em ;}
+
+table td.tdl { text-align: left ; vertical-align: middle ; }
+table td.tdc { 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.tdlrule { text-align: left ; border-top: 1px solid silver ;
+ vertical-align: middle ; } /* for cmidrule */
+table td.tdcrule { text-align: center ; border-top: 1px solid silver ;
+ vertical-align: middle ; }
+table td.tdrrule { text-align: right ; border-top: 1px solid silver ;
+ vertical-align: middle ; }
+table td.tdprule { text-align: left ; border-top: 1px solid silver ;
+ vertical-align: bottom ; }
+table td.tdmrule { text-align: left ; border-top: 1px solid silver ;
+ vertical-align: middle ; }
+table td.tdbrule { text-align: left ; border-top: 1px solid silver ;
+ vertical-align: top ; }
+table td.tdPrule { text-align: center ; border-top: 1px solid silver ;
+ vertical-align: bottom ; }
+table td.tdMrule { text-align: center ; border-top: 1px solid silver ;
+ vertical-align: middle ; }
+table td.tdBrule { text-align: center ; border-top: 1px solid silver ;
+ vertical-align: top ; }
+
+/* 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:.85em;
+ text-align: left ;
+}
+
+.tnotes dl dt p {margin-bottom:0px;}
+
+.tnoteitemheader {margin-right: 1em;}
+
+/* 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 ;}
+
+/* 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 ;
+}
+
+div.published
+{
+ text-align: center ;
+ font-variant: normal ;
+ font-style: italic ;
+ font-size: 1em ;
+ margin: 3ex 0em 3ex 0em ;
+}
+
+div.subtitle
+{
+ text-align: center ;
+ font-variant: normal ;
+ font-style: italic ;
+ font-size: 1.25em ;
+ margin: 3ex 0em 3ex 0em ;
+}
+
+div.subtitle p { margin: 1ex ; }
+
+div.author
+{
+ font-variant: normal ;
+ font-style: normal ;
+ font-size: 1em ;
+ margin: 3ex 0em 3ex 0em ;
+}
+
+div.author table {
+ margin: 3ex 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: 6ex 0em 6ex 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:right ;
+}
+
+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:right ;
+}
+
+header{
+ line-height: 1.2 ;
+ font-size: 1em ;
+/* border-bottom: 2px solid silver ; */
+ margin: 0px ;
+ padding: 0ex 1em 0ex 1em ;
+ text-align:center ;
+}
+
+header p {margin:0ex;padding:4ex 0em 2ex 0em ;text-align:center;}
+
+footer{
+ font-size: .85em ;
+ line-height: 1.2 ;
+ margin-top: 1ex ;
+ border-top: 2px solid silver ;
+ padding: 2ex 1em 2ex 1em ;
+ clear:right ;
+ text-align:left ;
+}
+
+a.linkhome { font-weight:bold ; font-size: 1em ;}
+
+div.lateximagesource { padding: 0px ; margin: 0px ; display: none; }
+
+img.lateximage{
+ padding: 0px 0px 0px 0px ;
+ box-shadow: none ;
+ border: none ;
+ background: none ;
+ margin: 0px 0px -.15ex 0px ;
+ /* pdfcrop leaves a slight margin, adjust to baseline */
+ max-width: 100% ;
+ border-radius: 0ex ;
+ border: none ;
+}
+
+nav.sidetoc {
+ font-family: "DejaVu Serif", "Bitstream Vera Serif",
+ "Lucida Bright", Georgia, serif;
+ float:right ;
+ width: 20%;
+ border-left: 1px solid silver;
+ border-top: 1px solid silver;
+ border-bottom: 1px solid silver;
+/* border-top: 2px solid #808080 ; */
+ background: #FAF7F4 ;
+ padding: 2ex 0em 2ex 1em ;
+ margin: 0ex 0em 2ex 1em ;
+ font-size:.9em ;
+ border-radius: 20px 0px 0px 20px ;
+ }
+
+div.sidetoccontents {
+/* border-top: 1px solid silver ; */
+ 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 to support algorithmicx: */
+span.floatright { float: right ; }
+
+/* Native LaTeX theorems: */
+
+.theoremcontents { font-style: italic; margin-top: 3ex ; margin-bottom: 3ex ; }
+.theoremlabel { font-style: normal; font-weight: bold ; margin-right: .5em ; }
+
+/* theorem, amsthm, and ntheorem packages */
+
+span.theoremheader,
+span.theoremheaderplain,
+span.theoremheaderdefinition,
+span.theoremheaderbreak,
+span.theoremheadermarginbreak,
+span.theoremheaderchangebreak,
+span.theoremheaderchange,
+span.theoremheadermargin
+{
+font-style:normal ; font-weight: bold ; margin-right: 1em ;
+}
+
+span.amsthmnameplain,
+span.amsthmnamedefinition,
+span.amsthmnumberplain,
+span.amsthmnumberdefinition
+{
+font-style:normal ; font-weight: bold ;
+}
+
+span.amsthmnameremark,
+span.amsthmnumberremark
+{font-style:italic ; font-weight: normal ; }
+
+span.amsthmnoteplain,
+span.amsthmnotedefinition
+{font-style:normal ;}
+
+span.theoremheaderremark,
+span.theoremheaderproof,
+span.amsthmproofname
+{font-style:italic ; font-weight: normal ; margin-right: 1em ; }
+
+span.theoremheadersc
+{
+font-style:normal ;
+font-variant: small-caps ;
+font-weight: normal ;
+margin-right: 1em ;
+}
+
+.theoremendmark {float:right}
+
+div.amsthmbodyplain, div.theorembodyplain, div.theorembodynonumberplain,
+div.theorembodybreak, div.theorembodynonumberbreak,
+div.theorembodymarginbreak,
+div.theorembodychangebreak,
+div.theorembodychange,
+div.theorembodymargin
+{
+font-style:italic;
+margin-top: 3ex ; margin-bottom: 3ex ;
+}
+
+div.theorembodydefinition, div.theorembodyremark, div.theorembodyproof,
+div.theorembodyplainupright, nonumberplainuprightsc,
+div.amsthmbodydefinition, div.amsthmbodyremark,
+div.amsthmproof
+{
+font-style: normal ;
+margin-top: 3ex ; margin-bottom: 3ex ;
+}
+
+span.amsthmnoteremark {}
+
+/*
+For CSS LaTeX and related logos:
+Based on:
+http://edward.oconnor.cx/2007/08/tex-poshlet
+http://nitens.org/taraborelli/texlogo
+*/
+
+.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;
+ letter-spacing: .03em ;
+ font-size: 1.1em;
+}
+
+.latexlogo sup {
+ text-transform: uppercase;
+ letter-spacing: .03em ;
+ font-size: 0.85em;
+ vertical-align: 0.15em;
+ margin-left: -0.36em;
+ margin-right: -0.15em;
+}
+
+.latexlogo sub {
+ text-transform: uppercase;
+ vertical-align: -0.5ex;
+ margin-left: -0.1667em;
+ margin-right: -0.125em;
+ font-size: 1em;
+}
+
+.xetexlogo {
+ font-family: "Linux Libertine O", "Nimbus Roman No 9 L",
+ "FreeSerif", "Hoefler Text", Times, "Times New Roman", serif;
+ letter-spacing: .03em ;
+ font-size: 1.1em;
+}
+
+/* A smaller gap between Xe and Tex v.s. LaTeX: */
+.xetexlogo sub {
+ text-transform: uppercase;
+ vertical-align: -0.5ex;
+ margin-left: -0.0667em;
+ margin-right: -0.2em;
+ font-size: 1em;
+ letter-spacing: .03em ;
+}
+
+/* A large gap between Xe and LaTeX v.s. TeX: */
+.xelatexlogo sub {
+ text-transform: uppercase;
+ vertical-align: -0.5ex;
+ margin-left: -0.0667em;
+ margin-right: -.05em;
+ font-size: 1em;
+ letter-spacing: .03em ;
+}
+
+.amslogo {
+ font-family: "TeXGyreChorus","URW Chancery L",
+ "Apple Chancery","ITC Zapf Chancery","Monotype Corsiva",
+ "Linux Libertine O", "Nimbus Roman No 9 L", "FreeSerif",
+ "Hoefler Text", Times, "Times New Roman", serif;
+ font-style: italic;
+}
+
+.lyxlogo {
+ font-family: "URW Classico", Optima, "Linux Biolinum O",
+ "DejaVu Sans", "Bitstream Vera Sans", Geneva,
+Verdana, sans-serif ;
+}
+
+/* Only display top and bottom navigation if a small screen: */
+/* Hide the sidetoc if a small screen: */
+nav.topnavigation { display:none; }
+nav.botnavigation { display:none; }
+
+@media screen and (max-width: 45em) {
+/* nav.sidetoc {display:none;} */
+ nav.sidetoc {
+ float: none ;
+ width: 100% ;
+ margin: 5ex 0px 5ex 0px ;
+ padding: 0 ;
+ border-radius: 0 ;
+ border-bottom: 1px solid black ;
+ border-top: 1px solid black ;
+ box-shadow: none ;
+ }
+/* nav.topnavigation { display:block } */
+ nav.botnavigation { display:block }
+ .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;
+ }
+ nav.sidetoc { display:none; }
+ nav.topnavigation { display: none; }
+ nav.botnavigation { display: none; }
+}
+
+@media handheld {
+ nav.sidetoc { display:none; }
+ nav.topnavigation { display:block }
+ nav.botnavigation { display:block }
+}
+
+@media projection {
+ nav.sidetoc { display:none; }
+ nav.topnavigation { display:block }
+ nav.botnavigation { display:block }
+}
+\end{VerbatimOut}
+\end{warpprint}
+
+
+\begin{warpprint}
+\begin{VerbatimOut}{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;}
+
+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 {
+ 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;
+}
+
+.minipage {
+ background-color: #eeeee7 ;
+ border: 1px solid silver ;
+border-radius: 1ex ;
+}
+
+.framed .minipage , .framedleftbar .minipage {
+border: none ;
+background: none ;
+padding: 0ex ;
+margin: 0ex ;
+}
+
+figure.figure .minipage, figcaption .minipage { border: none; }
+
+div.marginblock 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 ;
+}
+
+/*
+figcaption {
+ 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);
+}
+
+nav.sidetoc {
+ background-color: #F7F7F0 ;
+ background-image: linear-gradient(to bottom, #F7F7F0, #C0C0C0);
+ box-shadow: 3px 3px 3px #808080 ;
+ border-radius: 0px 0px 0px 20px ;
+ }
+
+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) {
+ nav.sidetoc { border-radius: 0 ; }
+}
+
+\end{VerbatimOut}
+\end{warpprint}
+
+
+\begin{warpprint}
+\begin{VerbatimOut}{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 ;
+}
+
+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 ;
+}
+
+.verse {
+ 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;
+}
+
+figure {
+ margin: 3ex 5% 3ex 5% ;
+ padding: 1ex 1em 1ex 1em ;
+ background-color: #fffcf5 ;
+ overflow-x: auto ;
+ border: none ;
+/* border-top: 1px solid silver; */
+/* border-bottom: 1px solid silver; */
+}
+
+figcaption , .lstlisting {
+ border: none ;
+/* border-top: 1px solid silver ; */
+/* border-bottom: 1px solid silver ; */
+ background-color: #fffcf5 ;
+}
+
+.tnotes {
+ background: #fffcf5 ;
+}
+
+.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;
+}
+
+nav.sidetoc {
+ 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);
+ border-radius: 0px 0px 0px 20px ;
+}
+
+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 ;
+ clear:right ;
+ text-align:left ;
+}
+
+nav.botnavigation {
+ background: #dedcd5 ;
+ border-top: 1px solid black ;
+}
+\end{VerbatimOut}
+\end{warpprint}
+
+
+\begin{warpprint}
+\begin{VerbatimOut}{sample_project.css}
+/* ( --- Start of project.css --- ) */
+/* A sample project-specific CSS file for lwarp --- ) */
+
+/* Load default lwarp settings: */
+@import url("lwarp.css") ;
+/* or lwarp_formal.css, lwarp_sagebrush.css */
+
+/* Project-specific CSS setting follow here. */
+/* . . . */
+
+/* ( --- End of project.css --- ) */
+\end{VerbatimOut}
+\end{warpprint}
+
+
+\begin{warpprint}
+\begin{VerbatimOut}{lwarp.xdy}
+(require "tex/inputenc/latin.xdy")
+(merge-rule "\\PS *" "Postscript")
+(require "texindy.xdy")
+(require "page-ranges.xdy")
+(require "book-order.xdy")
+(markup-locref :open "\hyperindexref{" :close "}")
+\end{VerbatimOut}
+\end{warpprint}
+
+
+\begin{warpprint}
+\begin{VerbatimOut}{lwarp_mathjax.txt}
+<!-- https://groups.google.com/forum/#!topic/
+ mathjax-users/jUtewUcE2bY -->
+<script type="text/x-mathjax-config">
+MathJax.Hub.Register.StartupHook("TeX AMSmath Ready",function () {
+ var seteqsectionDefault = {name: "", num: 0};
+ var seteqsections = {}, seteqsection = seteqsectionDefault;
+ var TEX = MathJax.InputJax.TeX, PARSE = TEX.Parse;
+ var AMS = MathJax.Extension["TeX/AMSmath"];
+ TEX.Definitions.Add({
+ macros: {
+ seteqsection: "mySection",
+ seteqnumber: "mySetEqNumber"
+ }
+ });
+
+ PARSE.Augment({
+ mySection: function (name) {
+ seteqsection.num = AMS.number;
+ var n = this.GetArgument(name);
+ if (n === "") {
+ seteqsection = seteqsectionDefault;
+ } else {
+ if (!seteqsections["_"+n])
+ seteqsections["_"+n] = {name:n, num:0};
+ seteqsection = seteqsections["_"+n];
+ }
+ AMS.number = seteqsection.num;
+ },
+ mySetEqNumber: function (name) {
+ var n = this.GetArgument(name);
+ if (!n || !n.match(/^ *[0-9]+ *$/))
+ n = ""; else n = parseInt(n)-1;
+ <!-- $ syntax highlighting -->
+ if (n === "" || n < 1)
+ TEX.Error
+ ("Argument to "+name+" should be a positive integer");
+ AMS.number = n;
+ }
+ });
+ MathJax.Hub.Config({
+ TeX: {
+ equationNumbers: {
+ formatTag: function (n)
+ {return "("+(seteqsection.name+"."+n).replace(/^\./,"")+")"},
+ formatID: function (n) {
+ n = (seteqsection.name+'.'+n).replace
+ (/[:"'<>&]/g,"").replace(/^\./,"");
+ return 'mjx-eqn-' + n;
+ }
+ }
+ }
+ });
+});
+</script>
+
+<!-- http://docs.mathjax.org/en/latest/options/ThirdParty.html -->
+<script type="text/x-mathjax-config">
+ MathJax.Ajax.config.path["Contrib"] =
+ "https://cdn.mathjax.org/mathjax/contrib";
+</script>
+
+<!-- https://github.com/mathjax/MathJax-third-party-extensions/
+ tree/master/siunitx -->
+<script type="text/x-mathjax-config">
+ MathJax.Hub.Config({
+ extensions: ["tex2jax.js","[Contrib]/siunitx/siunitx.js"],
+ jax: ["input/TeX","output/HTML-CSS"],
+ tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]},
+ TeX: {extensions: ["AMSmath.js","AMSsymbols.js", "sinuitx.js"]}
+ });
+ </script>
+
+<script type="text/x-mathjax-config">
+MathJax.Hub.Config({
+ TeX: {
+ equationNumbers: {
+ autoNumber: "AMS"
+ }
+ }
+});
+</script>
+
+<!-- Alternative CDN provider: -->
+<script type="text/javascript" async
+src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML-full">
+</script>
+
+<!-- No longer supported after April 30, 2017: -->
+<!--
+<script
+ src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML-full">
+</script>
+-->
+
+\end{VerbatimOut}
+\end{warpprint}
+
+
+\begin{LWR@createlwarpmk}
+
+\begin{VerbatimOut}{lwarpmk.lua}
+#!/usr/bin/env texlua
+
+-- Copyright 2016-2017 Brian Dunn
+
+-- Print the usage of the lwarpmk command:
+
+printversion = "v0.30"
+
+function printhelp ()
+print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ;
+end
+
+function printusage ()
+print ( [[
+
+lwarpmk print [project]: Compile a print version.
+lwarpmk printindex [project]: Process the index for the print version.
+lwarpmk printglossary [project]: Process the glossary for the print version.
+lwarpmk html [project]: Compile an HTML version.
+lwarpmk htmlindex [project]: Process the index for the html version.
+lwarpmk htmlglossary [project]: Process the glossary for the html version.
+lwarpmk again [project]: Touch the source code to trigger recompiles.
+lwarpmk limages [project]: Process the "lateximages" created by lwarp.sty.
+lwarpmk pdftohtml [project]:
+ For use with latexmk or a Makefile:
+ Convert project_html.pdf to project_html.html and
+ individual HTML files.
+lwarpmk clean [project]: Remove project.aux, .toc, .lof/t, .idx, .ind, .log, .gl*
+lwarpmk cleanall [project]: Remove auxiliary files and also project.pdf, *.html
+lwarpmk -h: Print this help message.
+lwarpmk --help: Print this help message.
+
+]] )
+printconf ()
+end
+
+-- Print the format of the configuration file lwarpmk.conf:
+
+function printconf ()
+print ( [[
+An example lwarpmk.conf or <project>.lwarpmkconf project file:
+--
+opsystem = "Unix" (or "Windows")
+latexname = "pdflatex" (or "lualatex", or "xelatex")
+sourcename = "projectname" (the source-code filename w/o .tex)
+homehtmlfilename = "index" (or perhaps the project name)
+htmlfilename = "" (or "projectname" - filename prefix)
+latexmk = "false" (or "true" to use latexmk to build PDFs)
+languge = "english" (use a language supported by xindy)
+xdyfile = "lwarp.xdy" (or a custom file based on lwarp.xdy)
+--
+Filenames must contain only letters, numbers, underscore, or dash.
+Values must be in "quotes".
+
+]] ) ;
+end
+
+-- Split one large sourcefile into a number of files,
+-- starting with destfile.
+-- The file is split at each occurance of <!--|Start file|newfilename|*
+
+function splitfile (destfile,sourcefile)
+print ("lwarpmk: Splitting " .. sourcefile .. " into " .. destfile) ;
+io.input(sourcefile)
+io.output(destfile)
+for line in io.lines() do
+i,j,copen,cstart,newfilename = string.find (line,"(.*)|(.*)|(.*)|") ;
+if ( (i~= nil) and (copen == "<!--") and (cstart == "Start file")) then -- split the file
+io.output(newfilename) ;
+else -- not a splitpoint
+io.write (line .. "\n") ;
+end
+end -- do
+end -- function
+
+-- Incorrect value, so print an error and exit.
+
+function cvalueerror ( line, linenum , cvalue )
+ print ( linenum .. " : " .. line ) ;
+ print ("lwarpmk: incorrect variable value \"" .. cvalue .. "\" in lwarpmk.conf.\n" ) ;
+ printconf () ;
+ os.exit(1) ;
+end
+
+-- Load settings from the project's "lwarpmk.conf" file:
+
+function loadconf ()
+-- Default configuration filename:
+local conffile = "lwarpmk.conf"
+-- Optional configuration filename:
+if arg[2] ~= nil then conffile = arg[2]..".lwarpmkconf" end
+-- Default language:
+language = "english"
+-- Default xdyfile:
+xdyfile = "lwarp.xdy"
+-- Verify the file exists:
+if (lfs.attributes(conffile,"mode")==nil) then -- file not exists
+print("lwarpmk: " .. conffile .." does not exist.")
+print("lwarpmk: " .. arg[2] .. " does not appear to be a project name.\n")
+printhelp () ;
+os.exit(1) -- exit the entire lwarpmk script
+else -- file exists
+-- Read the file:
+print ("lwarpmk: Reading " .. conffile ..".")
+io.input(conffile) ;
+-- Scan each line:
+local linenum = 0
+for line in io.lines() do -- scan lines
+linenum = linenum + 1
+i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([%w%-_%.]*)\"") ;
+-- Error if incorrect enclosing characters:
+if ( i == nil ) then
+print ( linenum .. " : " .. line ) ;
+print ( "lwarpmk: Incorrect entry in " .. conffile ..".\n" ) ;
+printconf () ;
+os.exit(1) ;
+end
+if ( cvarname == "opsystem" ) then
+ -- Verify choice of opsystem:
+ if ( (cvalue == "Unix") or (cvalue == "Windows") ) then
+ opsystem = cvalue
+ else
+ cvalueerror ( line, linenum , cvalue )
+ end
+elseif ( cvarname == "latexname" ) then
+ -- Verify choice of LaTeX compiler:
+ if (
+ (cvalue == "pdflatex") or
+ (cvalue == "xelatex") or
+ (cvalue == "lualatex")
+ ) then
+ latexname = cvalue
+ else
+ cvalueerror ( line, linenum , cvalue )
+ end
+elseif ( cvarname == "sourcename" ) then sourcename = cvalue
+elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue
+elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue
+elseif ( cvarname == "latexmk" ) then latexmk = cvalue
+elseif ( cvarname == "language" ) then language = cvalue
+elseif ( cvarname == "xdyfile" ) then xdyfile = cvalue
+else
+print ( linenum .. " : " .. line ) ;
+print ("lwarpmk: Incorrect variable name \"" .. cvarname .. "\" in " .. conffile ..".\n" ) ;
+printconf () ;
+os.exit(1) ;
+end
+end -- do scan lines
+end -- file exists
+-- Select some operating-system commands:
+if opsystem=="Unix" then -- For Unix / Linux / Mac OS:
+rmname = "rm"
+mvname = "mv"
+touchnamepre = "touch"
+touchnamepost = ""
+dirslash = "/"
+opquote= "\'"
+elseif opsystem=="Windows" then -- For Windows
+rmname = "DEL"
+mvname = "MOVE"
+touchnamepre = "COPY /b"
+touchnamepost = "+,,"
+dirslash = "\\"
+opquote= "\""
+else print ( "lwarpmk: Select Unix or Windows for opsystem" )
+end --- for Windows
+
+-- set xindycmd according to pdflatex vs xelatex/lualatex:
+if ( latexname == "pdflatex" ) then
+xindycmd = "texindy -C utf8"
+glossarycmd = "xindy -C utf8"
+else
+xindycmd = "xindy -M texindy -C utf8"
+glossarycmd = "xindy -C utf8"
+end
+
+end -- loadconf
+
+function refreshdate ()
+os.execute(touchnamepre .. " " .. sourcename .. ".tex " .. touchnamepost)
+end
+
+-- Scan the LaTeX log file for the phrase "Rerun to get",
+-- indicating that the file should be compiled again.
+-- Return true if found.
+
+function reruntoget (filesource)
+io.input(filesource)
+for line in io.lines() do
+if ( string.find(line,"Rerun to get") ~= nil ) then return true end
+end
+return false
+end
+
+-- Compile one time, return true if should compile again.
+-- fsuffix is "" for print, "_html" for HTML output.
+
+function onetime (fsuffix)
+print("lwarpmk: Compiling with " .. latexname .. " " .. sourcename..fsuffix)
+err = os.execute(
+-- "echo " ..
+ latexname .. " " .. sourcename..fsuffix )
+if ( err ~= 0 ) then print ( "lwarpmk: Compile error.") ; os.exit(1) ; end
+return (reruntoget(sourcename .. fsuffix .. ".log") ) ;
+end
+
+-- Compile up to five times.
+-- fsuffix is "" for print, "_html" for HTML output
+
+function manytimes (fsuffix)
+if onetime(fsuffix) == true then
+if onetime(fsuffix) == true then
+if onetime(fsuffix) == true then
+if onetime(fsuffix) == true then
+if onetime(fsuffix) == true then
+end end end end end
+end
+
+-- Exit if the given file does not exist.
+
+function verifyfileexists (filename)
+if (lfs.attributes ( filename , "modification" ) == nil ) then
+print ( "lwarpmk: " .. filename .. " not found." ) ;
+os.exit (1) ;
+end
+end
+
+-- Convert <project>_html.pdf into HTML files:
+
+function pdftohtml ()
+ -- Convert to text:
+ print ("lwarpmk: Converting " .. sourcename
+ .."_html.pdf to " .. sourcename .. "_html.html")
+ os.execute("pdftotext -enc UTF-8 -nopgbrk -layout "
+ .. sourcename .. "_html.pdf " .. sourcename .. "_html.html")
+ -- Split the result into individual HTML files:
+ splitfile (homehtmlfilename .. ".html" , sourcename .. "_html.html")
+end
+
+-- Remove auxiliary files:
+
+function removeaux ()
+ os.execute ( rmname .. " " ..
+ sourcename ..".aux " .. sourcename .. "_html.aux " ..
+ sourcename ..".toc " .. sourcename .. "_html.toc " ..
+ sourcename ..".lof " .. sourcename .. "_html.lof " ..
+ sourcename ..".lot " .. sourcename .. "_html.lot " ..
+ sourcename ..".idx " .. sourcename .. "_html.idx " ..
+ sourcename ..".ind " .. sourcename .. "_html.ind " ..
+ sourcename ..".log " .. sourcename .. "_html.log " ..
+ sourcename ..".gl* " .. sourcename .. "_html.gl* "
+ )
+end
+
+-- Create lateximages based on lateximages.txt:
+function createlateximages ()
+print ("lwarpmk: Creating lateximages.")
+io.input("lateximages.txt")
+-- Create the lateximages directory, ignore error if alreadt exists
+err = os.execute("mkdir lateximages")
+-- Scan lateximages.txt
+for line in io.lines() do
+-- lwimgpage is the page number in the PDF which has the image
+-- lwimgnum is the sequential lateximage number to assign for the image
+i,j,lwimgpage,lwimgnum = string.find (line,"|(.*)|(.*)|")
+-- For each entry:
+if ( (i~=nil) ) then
+-- Separate out the image into its own single-page pdf:
+err = os.execute(
+"pdfseparate -f " .. lwimgpage .. " -l " ..
+ lwimgpage .. " " .. sourcename .."_html.pdf lateximagetemp-%d.pdf")
+-- Crop the image:
+err = os.execute(
+"pdfcrop --hires lateximagetemp-" .. lwimgpage ..".pdf lateximage-" .. lwimgnum ..".pdf")
+if ( err ~= 0 ) then print ( "lwarpmk: File error.") ; os.exit(1) ; end
+-- Convert the image to svg:
+err = os.execute(
+"pdftocairo -svg lateximage-" .. lwimgnum ..".pdf lateximage-" .. lwimgnum ..".svg")
+if ( err ~= 0 ) then print ( "lwarpmk: File error.") ; os.exit(1) ; end
+-- Move the result into lateximages/:
+err = os.execute(
+mvname .. " lateximage-" .. lwimgnum ..".svg lateximages" .. dirslash )
+if ( err ~= 0 ) then print ( "lwarpmk: File error.") ; os.exit(1) ; end
+-- Remove the temporary files:
+err = os.execute(
+rmname .. " lateximage-" .. lwimgnum ..".pdf lateximagetemp-" .. lwimgpage ..".pdf")
+if ( err ~= 0 ) then print ( "lwarpmk: File error.") ; os.exit(1) ; end
+end
+end -- do
+end -- function
+
+-- Use latexmk to compile source and index:
+-- fsuffix is "" for print, or "_html" for HTML
+function compilelatexmk ( fsuffix )
+ -- The recorder option is required to detect changes in <project>.tex
+ -- while we are loading <project>_html.tex.
+ err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder "
+ .. "-e "
+ .. opquote
+ .. "$makeindex = q/"
+ .. xindycmd
+ .. " -M " .. xdyfile
+ .. " -L " .. language .. " /"
+ .. opquote
+ .. " -pdflatex=\"" .. latexname .." %O %S\" "
+ .. sourcename..fsuffix ..".tex" ) ;
+ if ( err ~= 0 ) then print ( "lwarpmk: Compile error.") ; os.exit(1) ; end
+end
+
+-- lwarpmk --version :
+
+if (arg[1] == "--version") then
+print ( "lwarpmk: " .. printversion )
+
+else -- not -- version
+
+-- print intro:
+
+print ("lwarpmk: " .. printversion .. " Automated make for the LaTeX lwarp package.")
+
+-- lwarpmk print:
+
+if arg[1] == "print" then
+loadconf ()
+if ( latexmk == "true" ) then
+ compilelatexmk ("")
+ print ("lwarpmk: Done.")
+else -- not latexmk
+ verifyfileexists (sourcename .. ".tex") ;
+ -- See if up to date:
+ if (
+ ( lfs.attributes ( sourcename .. ".pdf" , "modification" ) == nil ) or
+ (
+ lfs.attributes ( sourcename .. ".tex" , "modification" ) >
+ lfs.attributes ( sourcename .. ".pdf" , "modification" )
+ )
+ ) then
+ -- Recompile if not yet up to date:
+ manytimes("")
+ print ("lwarpmk: Done.") ;
+ else
+ print ("lwarpmk: " .. sourcename .. ".pdf is up to date.") ;
+ end
+end -- not latexmk
+
+-- lwarp printindex:
+-- Compile the index then touch the source
+-- to trigger a recompile of the document:
+
+elseif arg[1] == "printindex" then
+loadconf ()
+print ("lwarpmk: Processing the index.")
+os.execute(
+ xindycmd
+ .. " -M " .. xdyfile
+ .. " -L " .. language
+ .. " " .. sourcename .. ".idx")
+print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
+refreshdate ()
+print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
+print ("lwarpmk: Done.")
+
+-- lwarp printglossary:
+-- Compile the glossary then touch the source
+-- to trigger a recompile of the document:
+
+elseif arg[1] == "printglossary" then
+loadconf ()
+print ("lwarpmk: Processing the glossary.")
+
+os.execute(glossarycmd .. " -L " .. language .. " -I xindy -M " .. sourcename ..
+ " -t " .. sourcename .. ".glg -o " .. sourcename .. ".gls "
+ .. sourcename .. ".glo")
+print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
+refreshdate ()
+print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
+print ("lwarpmk: Done.")
+
+-- lwarpmk html:
+
+elseif arg[1] == "html" then
+loadconf ()
+if ( latexmk == "true" ) then
+ compilelatexmk ("_html")
+ pdftohtml ()
+ print ("lwarpmk: Done.")
+else -- not latexmk
+ verifyfileexists ( sourcename .. ".tex" ) ;
+ -- See if exists and is up to date:
+ if (
+ ( lfs.attributes ( homehtmlfilename .. ".html" , "modification" ) == nil ) or
+ (
+ lfs.attributes ( sourcename .. ".tex" , "modification" ) >
+ lfs.attributes ( homehtmlfilename .. ".html" , "modification" )
+ )
+ ) then
+ -- Recompile if not yet up to date:
+ manytimes("_html")
+ pdftohtml ()
+ print ("lwarpmk: Done.")
+ else
+ print ("lwarpmk: " .. homehtmlfilename .. ".html is up to date.")
+ end
+end -- not latexmk
+
+elseif arg[1] == "pdftohtml" then
+ loadconf ()
+ pdftohtml ()
+
+-- lwarpmk htmlindex:
+-- Compile the index then touch the source
+-- to trigger a recompile of the document:
+
+elseif arg[1] == "htmlindex" then
+loadconf ()
+print ("lwarpmk: Processing the index.")
+os.execute(
+ xindycmd
+ .. " -M " .. xdyfile
+ .. " -L " .. language
+ .. " " .. sourcename .. "_html.idx"
+)
+print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
+refreshdate ()
+print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
+print ("lwarpmk: Done.")
+
+-- lwarpmk htmlglossary:
+-- Compile the glossary then touch the source
+-- to trigger a recompile of the document:
+
+elseif arg[1] == "htmlglossary" then
+loadconf ()
+print ("lwarpmk: Processing the glossary.")
+
+os.execute(glossarycmd .. " -L " .. language .. " -I xindy -M " ..sourcename ..
+ "_html -t " .. sourcename .. "_html.glg -o " ..sourcename ..
+ "_html.gls " ..sourcename .. "_html.glo")
+
+print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
+refreshdate ()
+print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
+print ("lwarpmk: Done.")
+
+-- lwarpmk limages:
+-- Scan the lateximages.txt file to create lateximages,
+-- then touch the source to trigger a recompile.
+
+elseif arg[1] == "limages" then
+loadconf ()
+print ("lwarpmk: Processing images.")
+createlateximages ()
+print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
+refreshdate ()
+print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
+print ("lwarpmk: Done.")
+
+-- lwarpmk again:
+-- Touch the source to trigger a recompile.
+
+elseif arg[1] == "again" then
+loadconf ()
+print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
+refreshdate ()
+print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
+print ("lwarpmk: Done.")
+
+-- lwarpmk clean:
+-- Remove project.aux, .toc, .lof, .lot, .idx, .ind, .log, .gl*
+
+elseif arg[1] == "clean" then
+loadconf ()
+removeaux ()
+print ("lwarpmk: Done.")
+
+-- lwarpmk cleanall
+-- Remove project.aux, .toc, .lof, .lot, .idx, .ind, .log, .gl*
+-- and also project.pdf, *.html
+
+elseif arg[1] == "cleanall" then
+loadconf ()
+removeaux ()
+os.execute ( rmname .. " " ..
+ sourcename .. ".pdf " .. sourcename .. "_html.pdf " ..
+ "*.html"
+ )
+print ("lwarpmk: Done.")
+
+-- lwarpmk with no argument :
+
+elseif (arg[1] == nil) then
+printhelp ()
+
+-- lwarpmk -h or lwarpmk --help :
+
+elseif (arg[1] == "-h" ) or (arg[1] == "--help") then
+printusage ()
+
+else
+print ("lwarpmk: Unknown command \""..arg[1].."\".\n")
+printhelp ()
+end
+
+end -- not --version
+\end{VerbatimOut}
+\end{LWR@createlwarpmk}
\begin{warpHTML}
@@ -654,8 +2924,8 @@ top=1in,bottom=1in,%
\providecommand*{\BaseJobname}{\jobname}
-\providecommand*{\HTMLfiveName}{}
-\providecommand*{\HomeHTMLFileName}{\BaseJobname}
+\providecommand*{\HTMLFilename}{}
+\providecommand*{\HomeHTMLFilename}{\BaseJobname}
\newcommand*{\SetHTMLFileNumber}[1]{%
\setcounter{LWR@htmlfilenumber}{#1}%
@@ -689,18 +2959,18 @@ top=1in,bottom=1in,%
\OR \equal{\LWR@tempone}{??}%
}%
{%
-\LWR@traceinfo{LWR@htmlsectionfilename B \HomeHTMLFileName.html}%
-\HomeHTMLFileName.html%
+\LWR@traceinfo{LWR@htmlsectionfilename B \HomeHTMLFilename.html}%
+\HomeHTMLFilename.html%
}%
{%
\LWR@traceinfo{LWR@htmlsectionfilename C \LWR@tempone}%
\ifthenelse{%
-\equal{\HTMLfiveName}{} \AND \equal{\LWR@tempone}{Index} \OR \equal{\LWR@tempone}{index}%
+\equal{\HTMLFilename}{} \AND \equal{\LWR@tempone}{Index} \OR \equal{\LWR@tempone}{index}%
}%
{%
\LWR@traceinfo{prefixing the index name with an underscore.}%
\_#1.html}%
-{\HTMLfiveName#1.html}%
+{\HTMLFilename#1.html}%
}%
\LWR@traceinfo{LWR@htmlsectionfilename Z}%
}
@@ -718,7 +2988,7 @@ top=1in,bottom=1in,%
\newcommand*{\LinkHome}{%
\LWR@subhyperrefclass{%
-\HomeHTMLFileName.html}%
+\HomeHTMLFilename.html}%
{Home}{linkhome}%
}
@@ -1114,7 +3384,7 @@ top=1in,bottom=1in,%
\renewcommand{\LWR@firstpagetop}{#1}
\catcode`\_=8
}
-\newcommand{\SetFirstPageTop}{%
+\newcommand{\HTMLFirstPageTop}{%
\catcode`\_=12
\LWR@setfirstpagetopb
}
@@ -1122,7 +3392,7 @@ top=1in,bottom=1in,%
\renewcommand{\LWR@pagetop}{#1}
\catcode`\_=8
}
-\newcommand{\SetPageTop}{%
+\newcommand{\HTMLPageTop}{%
\catcode`\_=12
\LWR@setpagetopb
}
@@ -1130,7 +3400,7 @@ top=1in,bottom=1in,%
\renewcommand{\LWR@pagebottom}{#1}
\catcode`\_=8
}
-\newcommand{\SetPageBottom}{%
+\newcommand{\HTMLPageBottom}{%
\catcode`\_=12
\LWR@setpagebottomb
}
@@ -1148,31 +3418,31 @@ top=1in,bottom=1in,%
\catcode`\_=8
}
-\newcommand*{\NewCSS}{
+\newcommand*{\CSSFilename}{
\catcode`\_=12
\LWR@newcssb
}
\end{warpHTML}
\begin{warpprint}
-\newcommand*{\NewCSS}[1]{}
+\newcommand*{\CSSFilename}[1]{}
\end{warpprint}
\begin{warpall}
-\newcommand{\theHTMLauthor}{\theauthor}
+\newcommand{\theHTMLAuthor}{\theauthor}
-\newcommand{\HTMLauthor}[1]{\renewcommand{\theHTMLauthor}{#1}}
+\newcommand{\HTMLAuthor}[1]{\renewcommand{\theHTMLAuthor}{#1}}
\end{warpall}
\begin{warpall}
-\newcommand{\LWR@currentHTMLdescription}{}
+\newcommand{\LWR@currentHTMLDescription}{}
-\newcommand{\NewHTMLdescription}[1]{%
-\renewcommand{\LWR@currentHTMLdescription}{#1}
+\newcommand{\HTMLDescription}[1]{%
+\renewcommand{\LWR@currentHTMLDescription}{#1}
}
\end{warpall}
@@ -1610,9 +3880,17 @@ top=1in,bottom=1in,%
\end{warpHTML}
-\begin{warpHTML}
+\begin{warpall}
-\newcommand*{\MetaLanguage}{en-US}
+\newcommand*{\LWR@currentHTMLLanguage}{en-US}
+
+\newcommand*{\HTMLLanguage}[1]{%
+\renewcommand*{\LWR@currentHTMLLanguage}{#1}%
+}
+
+\end{warpall}
+
+\begin{warpHTML}
\newcommand*{\LWR@filestart}[1]{
@@ -1631,17 +3909,17 @@ top=1in,bottom=1in,%
\RenewDocumentCommand{\LWR@htmlspanclass}{m o +m}{##3}
\DeclareExpandableDocumentCommand{\InlineClass}{m o m}{##3}
\LWR@htmltag{!DOCTYPE html}\LWR@orignewline
-\LWR@htmltag{html lang="\MetaLanguage"{}}\LWR@orignewline
+\LWR@htmltag{html lang="\LWR@currentHTMLLanguage"{}}\LWR@orignewline
\LWR@htmltag{head}\LWR@orignewline
\LWR@htmltag{meta charset="UTF-8" /}\LWR@orignewline
-\ifcsempty{theHTMLauthor}{}{
-\LWR@htmltag{meta name="author" content="\theHTMLauthor" /}\LWR@orignewline
+\ifcsempty{theHTMLAuthor}{}{
+\LWR@htmltag{meta name="author" content="\theHTMLAuthor" /}\LWR@orignewline
}
\LWR@htmltag{meta name="generator" content="LaTeX lwarp package" /}%
\LWR@orignewline
-\ifdefempty{\LWR@currentHTMLdescription}{}{%
+\ifdefempty{\LWR@currentHTMLDescription}{}{%
\LWR@htmltag{%
-meta name="description" content="\LWR@currentHTMLdescription" /}%
+meta name="description" content="\LWR@currentHTMLDescription" /}%
\LWR@orignewline
}%
\LWR@htmltag{meta name="viewport" %
@@ -1682,10 +3960,10 @@ link rel="stylesheet" type="text/css" href="\LWR@currentcss" /}%
\setcounter{FileDepth}{-5}%
\boolfalse{HTMLDebugComments}%
}{}
-\edef\LWR@strresult{\HomeHTMLFileName}
-\edef\HomeHTMLFileName{\detokenize\expandafter{\LWR@strresult}}
-\edef\LWR@strresult{\HTMLfiveName}
-\edef\HTMLfiveName{\detokenize\expandafter{\LWR@strresult}}
+\edef\LWR@strresult{\HomeHTMLFilename}
+\edef\HomeHTMLFilename{\detokenize\expandafter{\LWR@strresult}}
+\edef\LWR@strresult{\HTMLFilename}
+\edef\HTMLFilename{\detokenize\expandafter{\LWR@strresult}}
\LWR@origonecolumn%
\LWR@origscriptsize%
\LWR@origraggedright%
@@ -3689,9 +5967,7 @@ class="#3"\LWR@orignewline}#2\LWR@htmltag{/a}%
\endgroup
\@esphack}
-\newcommand*{\hyperindexref}[1]{
-\nameref{LWRindex-#1}%
-}
+\newcommand*{\hyperindexref}[1]{\nameref{LWRindex-#1}}
\end{warpHTML}
@@ -5011,39 +7287,6 @@ display:inline-block;"%
\end{warpHTML}
-
-\providecommand*{\HomeHTMLFileName}{\BaseJobname}
-\providecommand*{\HTMLfiveName}{}
-\providecommand*{\UseLatexmk}{false}
-
-\begin{warpprint}
-\ifcsdef{LWR@file}{}{\newwrite{\LWR@file}}
-\immediate\openout\LWR@file=lwarpmk.conf
-\ifwindows
-\immediate\write\LWR@file{opsystem = "Windows"}
-\else
-\immediate\write\LWR@file{opsystem = "Unix"}
-\fi
-\ifPDFTeX
-\immediate\write\LWR@file{latexname = "pdflatex"}
-\fi
-\ifXeTeX
-\immediate\write\LWR@file{latexname = "xelatex"}
-\fi
-\ifLuaTeX
-\immediate\write\LWR@file{latexname = "lualatex"}
-\fi
-\immediate\write\LWR@file{sourcename = "\jobname"}
-\immediate\write\LWR@file{%
-homehtmlfilename = "\HomeHTMLFileName"%
-}
-\immediate\write\LWR@file{htmlfilename = "\HTMLfiveName"}
-\immediate\write\LWR@file{uselatexmk = "\UseLatexmk"}
-\immediate\write\LWR@file{language = "\LWR@lwarpmklang"}
-\immediate\closeout\LWR@file
-\end{warpprint}
-
-
\endinput
%%
%% End of file `lwarp.sty'.