summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty')
-rw-r--r--Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty2014
1 files changed, 2014 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty
new file mode 100644
index 00000000000..11d098314f9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-newproject.sty
@@ -0,0 +1,2014 @@
+%%
+%% 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 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}
+
+\booltrue{LWRNP@genconf}% warpprint
+
+\ProcessKeyvalOptions*\relax
+
+\providecommand*{\BaseJobname}{\LWRNP@BaseJobname}
+
+\providecommand*{\HomeHTMLFileName}{\BaseJobname}
+\providecommand*{\HTMLFileName}{}
+\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 = "\HTMLFileName"}
+\immediate\write\LWR@file{uselatexmk = "\UseLatexmk"}
+\immediate\closeout\LWR@file
+}{}
+
+
+\begin{VerbatimOut}{lwarp.css}
+/*
+ CSS stylesheet for the LaTeX lwarp package
+ Copyright 2016 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.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 ;}
+
+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 ;
+}
+
+.marginpar {
+width:20%; 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 {
+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 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: 3ex 0em 3ex 0em ;
+ border-top: 1px solid silver ;
+ border-bottom: 1px solid silver ;
+/* padding-top: 1ex ; */
+}
+
+/* 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 ;
+}
+
+.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 ; }
+
+.theorem {
+ background: #e0e0e0;
+ padding: 1ex ;
+ margin: 1em ;
+ border: 1px solid silver ;
+}
+
+.theoremlabel { font-weight: bold ; }
+
+.theoremcontents { font-style: italic; margin-left: 1em ; }
+
+/* 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 ; */
+}
+
+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 {
+ 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 {
+ 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 ;
+}
+
+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 ; }
+
+/*
+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 }
+}
+
+@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;
+}
+
+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 ;
+}
+
+figure.figure .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 ;
+}
+
+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 ;
+ margin: 1em ;
+}
+
+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>
+
+<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 Brian Dunn
+
+-- Print the usage of the lwarpmk command:
+
+printversion = "v0.20"
+
+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 html [project]: Compile an HTML version.
+lwarpmk htmlindex [project]: Process the index 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, .lot, .idx, .ind, .log
+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)
+--
+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
+-- 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
+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"
+touchname = "touch"
+chmodcmd = "chmod u+x lateximages.sh"
+lateximagesname = "./lateximages.sh"
+elseif opsystem=="Windows" then -- For Windows
+rmname = "DEL"
+touchname = "TOUCH"
+chmodcmd = ""
+lateximagesname = "lateximages.cmd"
+else print ( "lwarpmk: Select Unix or Windows for opsystem" )
+end --- for Windows
+end -- loadconf
+
+-- 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 "
+ )
+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 ( 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.")
+os.execute(touchname .. " " .. sourcename .. ".tex")
+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 '$makeindex = q/texindy -M lwarp_html.xdy/' "
+ .. "-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.")
+os.execute(touchname .. " " .. sourcename .. ".tex")
+print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
+print ("lwarpmk: Done.")
+
+-- lwarpmk limages:
+-- Make the lateximages command file executable,
+-- execute it to create the images,
+-- then touch the source to trigger a recompile.
+
+elseif arg[1] == "limages" then
+loadconf ()
+print ("lwarpmk: Processing images.")
+os.execute(chmodcmd)
+os.execute(lateximagesname)
+print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.")
+os.execute(touchname .. " " .. sourcename .. ".tex") ;
+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.")
+os.execute(touchname .. " " .. sourcename .. ".tex") ;
+print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.")
+print ("lwarpmk: Done.")
+
+-- lwarpmk clean:
+-- Remove project.aux, .toc, .lof, .lot, .idx, .ind, .log
+
+elseif arg[1] == "clean" then
+loadconf ()
+removeaux ()
+print ("lwarpmk: Done.")
+
+-- lwarpmk cleanall
+-- Remove project.aux, .toc, .lof, .lot, .idx, .ind, .log
+-- 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'.