summaryrefslogtreecommitdiffstats
path: root/common/latex
diff options
context:
space:
mode:
Diffstat (limited to 'common/latex')
-rw-r--r--common/latex/capt-of.sty33
-rw-r--r--common/latex/environ.sty145
-rw-r--r--common/latex/eqparbox.sty280
-rw-r--r--common/latex/ifplatform.sty151
-rw-r--r--common/latex/inconsolata.sty92
-rw-r--r--common/latex/lato.sty47
-rw-r--r--common/latex/slantsc.sty101
-rw-r--r--common/latex/trimspaces.sty58
-rw-r--r--common/latex/upquote.sty40
9 files changed, 947 insertions, 0 deletions
diff --git a/common/latex/capt-of.sty b/common/latex/capt-of.sty
new file mode 100644
index 0000000..b40978a
--- /dev/null
+++ b/common/latex/capt-of.sty
@@ -0,0 +1,33 @@
+%%
+%% This is file `capt-of.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% capt-of.dtx (with options: `package')
+%% ----------------------------------------------------------------------
+%% The capt-off package -- float-style captions outside of floats
+%% Copyright (c) 2010 Robin Fairbairns
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3c 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.3c or later is part
+%% of all distributions of LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of the files capt-of.dtx, capt-of.ins, and README
+%% and the derived files footmisc.sty (not distributed from the archive)
+%% and footmisc.pdf.
+%% -----------------------------------------------------------------------
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{capt-of}%
+ [2009/12/29 v0.2
+ standard captions outside of floats%
+ ]% $Id: footmisc.dtx,v 4.20 2005/03/17 13:41:58 rf Exp rf10 $
+\newcommand\captionof[1]{\def\@captype{#1}\caption}
+\endinput
+%%
+%% End of file `capt-of.sty'.
diff --git a/common/latex/environ.sty b/common/latex/environ.sty
new file mode 100644
index 0000000..8cf854b
--- /dev/null
+++ b/common/latex/environ.sty
@@ -0,0 +1,145 @@
+%%
+%% This is file `environ.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% environ.dtx (with options: `package')
+%%
+%% __________________________________
+%% Copyright (C) 2007 Will Robertson
+%%
+%% License information appended.
+%%
+%% ^^A Test that \RenewEnvironment works correctly:
+\ProvidesPackage{environ}[2014/05/04 v0.3 A new way to define environments]
+\RequirePackage{trimspaces}
+\def\environbodyname#1{\def\env@BODY{#1}}
+\environbodyname\BODY
+\def\environfinalcode#1{%
+ \def\env@finalcode{#1}}
+\environfinalcode{\ignorespacesafterend}
+\def\longdef@c#1{%
+ \expandafter\long\expandafter\def\csname#1\endcsname}
+\unless\ifdefined\collect@body
+ \newtoks\@envbody
+ \def\collect@body#1{%
+ \@envbody{\expandafter#1\expandafter{\the\@envbody}}%
+ \edef\process@envbody{\the\@envbody\noexpand\end{\@currenvir}}%
+ \@envbody={}%
+ \def\begin@stack{b}%
+ \begingroup
+ \expandafter\let\csname\@currenvir\endcsname\collect@@body
+ \edef\process@envbody{%
+ \expandafter\noexpand\csname\@currenvir\endcsname}%
+ \process@envbody
+ }
+ \def\push@begins#1\begin#2{%
+ \ifx\end#2\else
+ b\expandafter\push@begins
+ \fi}
+ \def\addto@envbody#1{%
+ \global\@envbody\expandafter{\the\@envbody#1}}
+ \def\collect@@body#1\end#2{%
+ \edef\begin@stack{%
+ \push@begins#1\begin\end \expandafter\@gobble\begin@stack}%
+ \ifx\@empty\begin@stack
+ \endgroup
+ \@checkend{#2}%
+ \addto@envbody{#1}%
+ \else
+ \addto@envbody{#1\end{#2}}%
+ \fi
+ \process@envbody}
+\fi
+\long\def\Collect@Body#1{%
+ \@envbody{\expandafter#1\expandafter{\the\@envbody}}%
+ \edef\process@envbody{\the\@envbody\noexpand\end{\@currenvir}}%
+ \@envbody={}%
+ \def\begin@stack{b}%
+ \begingroup
+ \expandafter\let\csname\@currenvir\endcsname\Collect@@Body
+ \edef\process@envbody{%
+ \expandafter\noexpand\csname\@currenvir\endcsname}%
+ \process@envbody
+}
+\long\def\Push@Begins#1\begin#2{%
+ \ifx\end#2\else
+ b\expandafter\Push@Begins
+ \fi}
+\long\def\Addto@Envbody#1{%
+ \global\@envbody\expandafter{\the\@envbody#1}}
+\long\def\Collect@@Body#1\end#2{%
+ \edef\begin@stack{%
+ \Push@Begins#1\begin\end\expandafter\@gobble\begin@stack}%
+ \ifx\@empty\begin@stack
+ \endgroup
+ \@checkend{#2}%
+ \Addto@Envbody{#1}%
+ \else
+ \Addto@Envbody{#1\end{#2}}%
+ \fi
+ \process@envbody}
+\def\NewEnviron{%
+ \let\env@newenvironment\newenvironment
+ \env@NewEnviron}
+\def\RenewEnviron{%
+ \let\env@newenvironment\renewenvironment
+ \env@NewEnviron}
+\def\env@NewEnviron#1{%
+ \@ifnextchar[
+ {\env@new@i{#1}}
+ {\env@new@iii{#1}{}}}
+\def\env@new@i#1[#2]{%
+ \@ifnextchar[
+ {\env@new@ii{#1}[#2]}
+ {\env@new@iii{#1}{[#2]}}}
+\def\env@new@ii#1[#2][#3]{%
+ \env@new@iii{#1}{[#2][#3]}}
+\long\def\env@new@iii#1#2#3{%
+ \@temptokena={\env@new{#1}{#2}{#3}}%
+ \@ifnextchar[{%
+ \the\@temptokena
+ }{%
+ \expandafter\the\expandafter
+ \@temptokena\expandafter[\env@finalcode]%
+ }}
+\long\def\env@new#1#2#3[#4]{%
+ \longdef@c{env@#1@BODY\expandafter}\expandafter{\env@BODY}%
+ \env@newenvironment{#1}{%
+ \expandafter\Collect@Body\csname env@#1@parse\endcsname
+ }{#4}%
+ \longdef@c{env@#1@parse}##1{%
+ \csname env@#1@save@env\endcsname##1\env@nil
+ \csname env@#1@process\endcsname##1\env@nil}%
+ \expandafter\let\csname env@#1@save@env\endcsname\relax
+ \expandafter\let\csname env@#1@process\endcsname\relax
+ \expandafter\newcommand
+ \csname env@#1@save@env\endcsname#2{%
+ \expandafter\expandafter\expandafter
+ \env@save\csname env@#1@BODY\endcsname}%
+ \expandafter\newcommand
+ \csname env@#1@process\endcsname#2{#3\env@ignore}%
+}
+\long\def\env@save#1#2\env@nil{%
+ \edef#1{%
+ \unexpanded\expandafter
+ \expandafter\expandafter{\trim@spaces{#2}}}}
+\long\def\env@ignore#1\env@nil{}
+%%
+%% Copyright (C) 2007-2014 by Will Robertson <wspr81@gmail.com>
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%%
+%% This work is "maintained" (as per LPPL maintenance status)
+%% by Will Robertson.
+%%
+%% This work consists of the file environ.dtx
+%% and the derived files environ.pdf,
+%% environ.sty, and
+%% environ.ins.
+%%
+%%
+%% End of file `environ.sty'.
diff --git a/common/latex/eqparbox.sty b/common/latex/eqparbox.sty
new file mode 100644
index 0000000..2f9749c
--- /dev/null
+++ b/common/latex/eqparbox.sty
@@ -0,0 +1,280 @@
+%%
+%% This is file `eqparbox.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% eqparbox.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2013 Scott Pakin <scott+eqp@pakin.org>
+%% -------------------------------------------------------
+%%
+%% This package may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% 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.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{eqparbox}
+ [2013/03/15 v4.0 Create equal-widthed boxes]
+\newlength{\eqp@tempdima}
+\newlength{\eqp@tempdimb}
+\def\eqp@taglist{}
+\newif\ifeqp@must@rerun
+\RequirePackage{array}
+\newsavebox{\eqp@tabular@box}
+\newsavebox{\eqp@list@box}
+\newlength{\eqp@list@indent}
+\RequirePackage{environ}
+\newcommand*{\eqp@storefont}{%
+ \xdef\eqp@restorefont{%
+ \noexpand\usefont{\f@encoding}{\f@family}{\f@series}{\f@shape}%
+ \noexpand\fontsize{\f@size}{\f@baselineskip}%
+ \noexpand\selectfont
+ }%
+}
+\newcommand{\eqp@settowidth}[2]{%
+ \begingroup
+ \global\setbox\eqp@tabular@box=\hbox{%
+ \def\eqp@endings{}%
+ \ifx\enditemize\endlist
+ \g@addto@macro\eqp@endings{\let\enditemize=\endlist}%
+ \fi
+ \ifx\endenumerate\endlist
+ \g@addto@macro\eqp@endings{\let\endenumerate=\endlist}%
+ \fi
+ \ifx\enddescription\endlist
+ \g@addto@macro\eqp@endings{\let\enddescription=\endlist}%
+ \fi
+ \renewenvironment{list}[2]{%
+ \ifnum \@listdepth >5\relax
+ \@toodeep
+ \else
+ \global\advance\@listdepth\@ne
+ \fi
+ \rightmargin\z@
+ \listparindent\z@
+ \itemindent\z@
+ \csname @list\romannumeral\the\@listdepth\endcsname
+ ##2\relax
+ \renewcommand*{\item}[1][]{%
+ \mbox{}\\
+ \box\eqp@list@box\mbox{} \\
+ \sbox\@tempboxa{\makelabel{####1}}%
+ \ifdim\wd\@tempboxa>\labelwidth
+ \advance\eqp@list@indent by -\labelwidth
+ \advance\eqp@list@indent by \wd\@tempboxa
+ \fi
+ \hspace*{\eqp@list@indent}%
+ }%
+ \hspace*{-\eqp@list@indent}%
+ \advance\eqp@list@indent by \leftmargin
+ \advance\eqp@list@indent by \rightmargin
+ \advance\eqp@list@indent by \itemindent
+ \global\setbox\eqp@list@box=\hbox\bgroup
+ \begin{tabular}{@{}l@{}}%
+ }{%
+ \item[]%
+ \end{tabular}%
+ \egroup
+ \global\advance\@listdepth\m@ne
+ }%
+ \eqp@endings
+ \global\let\eqp@par=\par
+ \eqp@storefont
+ \begin{tabular}{@{}>{\eqp@restorefont}l<{\eqp@storefont}@{}}%
+ \global\@setpar{\\}%
+ #2%
+ \\ \box\eqp@list@box
+ \end{tabular}%
+ \global\@restorepar
+ }%
+ \endgroup
+ \settowidth{#1}{\box\eqp@tabular@box}%
+}
+\long\def\eqp@compute@width#1#2{%
+ \eqp@settowidth{\eqp@tempdimb}{#2}%
+ \@ifundefined{eqp@minwd@#1}{}{%
+ \ifdim\eqp@tempdimb<\csname eqp@minwd@#1\endcsname
+ \eqp@tempdimb=\csname eqp@minwd@#1\endcsname
+ \fi
+ }%
+ \@ifundefined{eqp@maxwd@#1}{}{%
+ \ifdim\eqp@tempdimb>\csname eqp@maxwd@#1\endcsname
+ \eqp@tempdimb=\csname eqp@maxwd@#1\endcsname
+ \fi
+ }%
+ \expandafter
+ \ifx\csname eqp@this@#1\endcsname\relax
+ \global\eqp@must@reruntrue
+ \expandafter\xdef\csname eqp@this@#1\endcsname{\the\eqp@tempdimb}%
+ \expandafter\xdef\csname eqp@next@#1\endcsname{\the\eqp@tempdimb}%
+ \else
+ \eqp@tempdima=\csname eqp@this@#1\endcsname\relax
+ \ifdim\eqp@tempdima<\eqp@tempdimb
+ \expandafter\xdef\csname eqp@this@#1\endcsname{\the\eqp@tempdimb}%
+ \global\eqp@must@reruntrue
+ \fi
+ \eqp@tempdima=\csname eqp@next@#1\endcsname\relax
+ \ifdim\eqp@tempdima<\eqp@tempdimb
+ \expandafter\xdef\csname eqp@next@#1\endcsname{\the\eqp@tempdimb}%
+ \fi
+ \fi
+ \@ifundefined{eqp@seen@#1}{%
+ \expandafter\gdef\csname eqp@seen@#1\endcsname{}%
+ \@cons\eqp@taglist{{#1}}%
+ }{}%
+ \eqp@tempdima=\csname eqp@this@#1\endcsname\relax
+ \eqp@produce@box{\eqp@tempdima}{#2}%
+}
+\DeclareRobustCommand{\eqparbox}{%
+ \@ifnextchar[%]
+ {\eqparbox@i}%
+ {\eqparbox@iii[c][\relax][s]}%
+}
+\def\eqparbox@i[#1]{%
+ \@ifnextchar[%]
+ {\eqparbox@ii[#1]}%
+ {\eqparbox@iii[#1][\relax][s]}%
+}
+\def\eqparbox@ii[#1][#2]{%
+ \@ifnextchar[%]
+ {\eqparbox@iii[#1][#2]}%
+ {\eqparbox@iii[#1][#2][#1]}%
+}
+\def\eqparbox@iii[#1][#2][#3]{%
+ \long\gdef\eqp@produce@box##1##2{%
+ \parbox[#1][#2][#3]{##1}{##2}%
+ }%
+ \eqp@compute@width
+}
+\DeclareRobustCommand{\eqminipage}{%
+ \@ifnextchar[%]
+ {\eqminipage@i}%
+ {\eqminipage@iii[c][\relax][s]}%
+}
+\let\endeqpminipage=\relax
+\long\def\eqminipage@i[#1]{%
+ \@ifnextchar[%]
+ {\eqminipage@ii[#1]}%
+ {\eqminipage@iii[#1][\relax][s]}%
+}
+\def\eqminipage@ii[#1][#2]{%
+ \@ifnextchar[%]
+ {\eqminipage@iii[#1][#2]}%
+ {\eqminipage@iii[#1][#2][#1]}%
+}
+\def\eqminipage@iii[#1][#2][#3]#4{%
+ \long\def\eqminipage@iv##1{%
+ \long\gdef\eqp@produce@box####1####2{%
+ \begin{minipage}[#1][#2][#3]{####1}%
+ ####2%
+ \end{minipage}%
+ }%
+ \eqp@compute@width{#4}{##1}%
+ }%
+ \Collect@Body\eqminipage@iv
+}
+\DeclareRobustCommand{\eqmakebox}{%
+ \@ifnextchar[%]
+ {\eqlrbox@i\makebox}%
+ {\makebox}%
+}
+\DeclareRobustCommand{\eqframebox}{%
+ \@ifnextchar[%]
+ {\eqlrbox@i\framebox}%
+ {\framebox}%
+}
+\DeclareRobustCommand{\eqsavebox}[1]{%
+ \@ifnextchar[%]
+ {\eqlrbox@i{\savebox{#1}}}%
+ {\savebox{#1}}%
+}
+\def\eqlrbox@i#1[#2]{%
+ \@ifnextchar[%]
+ {\eqlrbox@ii{#1}[#2]}%
+ {\eqlrbox@ii{#1}[#2][c]}%
+}
+\def\eqlrbox@ii#1[#2][#3]{%
+ \long\gdef\eqp@produce@box##1##2{%
+ #1[##1][#3]{##2}%
+ }%
+ \eqp@compute@width{#2}%
+}
+\newcommand*{\eqboxwidth}[1]{%
+ \@ifundefined{eqp@this@#1}{0pt}{\csname eqp@this@#1\endcsname}%
+}
+\newcommand{\eqsetminwidth}[2]{%
+ \@tempdima=#2\relax
+ \expandafter\xdef\csname eqp@minwd@#1\endcsname{\the\@tempdima}%
+}
+\newcommand{\eqsetmaxwidth}[2]{%
+ \@tempdima=#2\relax
+ \expandafter\xdef\csname eqp@maxwd@#1\endcsname{\the\@tempdima}%
+}
+\newcommand{\eqsetminwidthto}[2]{%
+ \eqp@settowidth{\@tempdima}{#2}%
+ \expandafter\xdef\csname eqp@minwd@#1\endcsname{\the\@tempdima}%
+}
+\newcommand{\eqsetmaxwidthto}[2]{%
+ \eqp@settowidth{\@tempdima}{#2}%
+ \expandafter\xdef\csname eqp@maxwd@#1\endcsname{\the\@tempdima}%
+}
+\AtEndDocument{%
+ \begingroup
+ \def\@elt#1{%
+ \@ifundefined{eqp@minwd@#1}{}{%
+ \@ifundefined{eqp@maxwd@#1}{}{%
+ \ifdim\csname eqp@minwd@#1\endcsname>\csname eqp@maxwd@#1\endcsname
+ \PackageWarning{eqparbox}{For tag `#1',
+ minimum width (\csname eqp@minwd@#1\endcsname) >
+ maximum width (\csname eqp@maxwd@#1\endcsname)}%
+ \fi
+ }%
+ }%
+ \eqp@tempdima\csname eqp@this@#1\endcsname\relax
+ \eqp@tempdimb\csname eqp@next@#1\endcsname\relax
+ \ifdim\eqp@tempdima=\eqp@tempdimb
+ \else
+ \@latex@warning@no@line{Rerun to correct the width of eqparbox `#1'}%
+ \fi
+ \immediate\write\@auxout{%
+ \string\expandafter\string\gdef\string\csname\space
+ eqp@this@#1\string\endcsname{%
+ \csname eqp@next@#1\endcsname
+ }%
+ ^^J%
+ \string\expandafter\string\gdef\string\csname\space
+ eqp@next@#1\string\endcsname{0pt}%
+ }%
+ \@ifundefined{eqp@minwd@#1}{}{%
+ \immediate\write\@auxout{%
+ \string\expandafter\string\gdef\string\csname\space
+ eqp@minwd@#1\string\endcsname{%
+ \csname eqp@minwd@#1\endcsname
+ }%
+ }%
+ }%
+ \@ifundefined{eqp@maxwd@#1}{}{%
+ \immediate\write\@auxout{%
+ \string\expandafter\string\gdef\string\csname\space
+ eqp@maxwd@#1\string\endcsname{%
+ \csname eqp@maxwd@#1\endcsname
+ }%
+ }%
+ }%
+ }%
+ \eqp@taglist
+ \endgroup
+ \ifeqp@must@rerun
+ \@latex@warning@no@line{Rerun to correct eqparbox widths}
+ \fi
+}
+\endinput
+%%
+%% End of file `eqparbox.sty'.
diff --git a/common/latex/ifplatform.sty b/common/latex/ifplatform.sty
new file mode 100644
index 0000000..7f59f61
--- /dev/null
+++ b/common/latex/ifplatform.sty
@@ -0,0 +1,151 @@
+%%
+%% This is file `ifplatform.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ifplatform.dtx (with options: `package')
+%% ________________________________________________________
+%% Copyright (C) 2007-2010 Will Robertson & Johannes Große
+%% License information appended.
+\ProvidesPackage{ifplatform}
+ [2010/10/22 v0.4 Testing for the operating system]
+\RequirePackage{pdftexcmds,catchfile,ifluatex}
+\newif\ifshellescape
+\newif\ifwindows
+\newif\ifmacosx
+\newif\iflinux
+\newif\ifcygwin
+\newcommand\windowsname{Windows}
+\newcommand\notwindowsname{*NIX}
+\newcommand\linuxname{Linux}
+\newcommand\macosxname{Mac\,OS\,X}
+\newcommand\cygwinname{Cygwin}
+\newcommand\unknownplatform{[Unknown]}
+\edef\ip@file{\jobname.w18}
+\newif\if@ip@nix@
+\ifnum\pdf@shellescape=1\relax
+ \shellescapetrue
+\else
+ \ifluatex\else
+ \PackageWarningNoLine{ifplatform}{^^J \space\space\space
+ shell escape is disabled,
+ so I can only detect \@backslashchar ifwindows%
+ }
+ \fi
+\fi
+\def\ip@cantdecide{%
+ \PackageWarningNoLine{ifplatform}{^^J \space\space\space
+ I can't tell if this is Windows or *nix;
+ you appear to be both%
+ }%
+}
+\ifluatex
+ \csname\directlua{
+ if os.type == "unix" then
+ tex.sprint("@ip@nix@true")
+ elseif os.type == "windows" then
+ tex.sprint("windowstrue")
+ end
+ }\endcsname
+\else
+\IfFileExists{nul:}{\@ip@nix@false}{\@ip@nix@true}
+\IfFileExists{/dev/null}{\windowsfalse}{\windowstrue}
+\edef\ip@windows@echo@test{echo \string# > "\ip@file"}
+\def\ip@backupplan{%
+ \IfFileExists{\ip@file}{%
+ \PackageWarningNoLine{ifplatform}{^^J \space\space\space
+ Please delete the file "\ip@file" and try again%
+ }%
+ \ip@cantdecide
+ }{%
+ \immediate\write18{\ip@windows@echo@test}%
+ \IfFileExists{\ip@file}{%
+ \immediate\write18{del "\ip@file"}%
+ \windowstrue
+ }{%
+ \@ip@nix@true
+ }%
+ }%
+}
+\ifwindows
+ \if@ip@nix@
+ \PackageWarningNoLine{ifplatform}{^^J \space\space\space
+ I can't tell if this is Windows or *nix;
+ you appear to be neither%
+ }
+ \fi
+\else
+ \if@ip@nix@\else
+ \ifshellescape
+ \ip@backupplan
+ \else
+ \ip@cantdecide
+ \fi
+ \fi
+\fi
+\fi
+\def\ip@only@six#1#2#3#4#5#6#7\@nil{#1#2#3#4#5#6}
+\if@ip@nix@
+\ifshellescape
+ \ifwindows\else
+ \immediate\write18{uname -s > "\ip@file"}
+ \CatchFileDef\@tempa{\ip@file}{}
+ \immediate\write18{rm -- "\ip@file"}
+ \edef\@tempa{\expandafter\zap@space\@tempa\@empty}
+ \def\@tempb{Linux}
+ \ifx\@tempa\@tempb
+ \linuxtrue
+ \else
+ \def\@tempb{Darwin}
+ \ifx\@tempa\@tempb
+ \macosxtrue
+ \else
+ \def\@tempb{CYGWIN}
+ \edef\@tempc{\expandafter\ip@only@six\@tempa------\@nil}
+ \ifx\@tempb\@tempc
+ \cygwintrue
+ \else
+ \edef\unknownplatform{\@tempa}
+ \fi
+ \fi
+ \fi
+ \fi
+\fi\fi
+\edef\platformname{%
+ \ifwindows
+ \noexpand\windowsname
+ \else
+ \ifshellescape
+ \iflinux
+ \noexpand\linuxname
+ \else
+ \ifmacosx
+ \noexpand\macosxname
+ \else
+ \ifcygwin
+ \noexpand\cygwinname
+ \else
+ \noexpand\unknownplatform
+ \fi
+ \fi
+ \fi
+ \else
+ \noexpand\notwindowsname
+ \fi
+ \fi
+}
+%% Copyright (C) 2007-2010 by Will Robertson & Johannes Große
+%%
+%% Distributable under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%%
+%% This work is "author-maintained" by Will Robertson.
+%%
+%% This work consists of the file ifplatform.dtx
+%% and the derived files ifplatform.pdf,
+%% ifplatform.sty, and
+%% ifplatform.ins.
+%%
+%% End of file `ifplatform.sty'.
diff --git a/common/latex/inconsolata.sty b/common/latex/inconsolata.sty
new file mode 100644
index 0000000..aeada49
--- /dev/null
+++ b/common/latex/inconsolata.sty
@@ -0,0 +1,92 @@
+% Copyright 2014 Michael Sharpe
+% Based initially on Karl Berry's inconsolata.sty.
+% You may freely use, modify and/or distribute this file.
+
+\def\fileversion{1.10}
+\def\filedate{2016/02/22}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{inconsolata}[\filedate\space v\fileversion]
+\message{`inconsolata-zi4' v\fileversion, \filedate\space Text macros for Inconsolata (msharpe)}
+
+\RequirePackage{textcomp}
+\RequirePackage{keyval}
+
+\newcount\zifour@ocount
+\newif\ifzifour@altzero
+\newif\ifzifour@noupq
+\define@key{zifour}{scaled}[1.0]{\def\zifour@scaled{s*[#1]}}
+
+\DeclareOption*{%
+ \begingroup
+ \edef\x{\endgroup
+ \noexpand\setkeys{zifour}{\CurrentOption}}%
+ \x}
+
+% by default, change \tt to mean zi4.
+\newcommand*{\zifour@default}{%
+ \renewcommand*{\ttdefault}{zi4}%
+}
+
+% option [nott] to avoid changing tt.
+\DeclareOption{nott}{%
+ \renewcommand*{\zifour@default}{}%
+}
+% option [noupquote] to prevent loading upquote.
+\DeclareOption{noupquote}{%
+ \zifour@noupqtrue}%
+
+% option var0---use unslashed zero (slashed is default)
+\DeclareOption{var0}{%
+ \zifour@altzerotrue\advance\zifour@ocount \tw@ %
+}
+\DeclareOption{varl}{%
+ \advance\zifour@ocount \@ne %
+}
+\DeclareOption{varqu}{%
+ \advance\zifour@ocount 4\relax %
+}
+
+\ProcessOptions*
+\zifour@default
+\edef\zifour@opt{\the\zifour@ocount}
+\ifzifour@altzero
+ \advance\zifour@ocount -\tw@
+\else
+ \advance\zifour@ocount \tw@
+\fi
+\edef\zifour@altopt{\the\zifour@ocount}
+% define an \altzero macro which flips to slashed, unslashed
+\def\altzero{{\fontfamily{zi4}%
+ \fontshape{scit}%
+ \selectfont 0}}
+
+\def\zifour@T@ne@nc{T1}
+\def\zifour@OT@ne@nc{OT1}
+\def\zifour@LY@ne@nc{LY1}
+\def\zifour@QX@nc{QX}
+\def\zifour@TQS{%
+\UndeclareTextCommand{\textquotesingle}{\encodingdefault}
+\DeclareTextSymbol{\textquotesingle}{TS1}{39}}
+
+\ifzifour@noupq% do nothing
+ % Try to correct for wrong slots for QX
+ \ifx\encodingdefault\zifour@QX@nc
+ \zifour@TQS
+ \else
+ \ifx\encodingdefault\zifour@LY@ne@nc
+ \zifour@TQS
+ \fi
+ \fi
+\else
+ \AtBeginDocument{%
+ \ifx\encodingdefault\zifour@T@ne@nc % do nothing
+ \else
+ \ifx\encodingdefault\zifour@OT@ne@nc % do nothing
+ \else
+ \zifour@TQS
+ \fi
+ \fi
+ \usepackage{upquote}}
+\fi
+
+\endinput
diff --git a/common/latex/lato.sty b/common/latex/lato.sty
new file mode 100644
index 0000000..ba947cc
--- /dev/null
+++ b/common/latex/lato.sty
@@ -0,0 +1,47 @@
+%% lato.sty
+%% Copyright 2011 Mohamed El Morabity
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Mohamed El Morabity
+%
+% This work consists of all files listed in manifest.txt.
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{lato}[2011/08/06 Lato]
+
+\RequirePackage{keyval}
+\RequirePackage{slantsc}
+
+% Taken from inconsolata.sty
+\define@key{lato}{scale}[1.0]{\def\lato@scale{s*[#1]}}
+\DeclareOption*{%
+ \begingroup%
+ \edef\x{\endgroup%
+ \noexpand\setkeys{lato}{\CurrentOption}}%
+ \x%
+}
+
+\DeclareOption{defaultsans}{%
+ \renewcommand*{\sfdefault}{fla}%
+}
+
+\DeclareOption{default}{%
+ \renewcommand*{\familydefault}{fla}%
+ \renewcommand*{\sfdefault}{fla}%
+}
+
+\ProcessOptions*
+
+\newcommand{\flafamily}{%
+ \fontfamily{fla}%
+ \selectfont%
+}
+
+\endinput
diff --git a/common/latex/slantsc.sty b/common/latex/slantsc.sty
new file mode 100644
index 0000000..d9139f6
--- /dev/null
+++ b/common/latex/slantsc.sty
@@ -0,0 +1,101 @@
+%%
+%% This is file `slantsc.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% slantsc.dtx (with options: `package')
+%%
+%% slantsc package
+%%
+%% Copyright 2003, 2012 Harald Harders
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN
+%% archives in directory macros/latex/base/lppl.txt; either
+%% version 1 of the License, or any later version.
+%%
+%% harald.harders@gmx.de
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{slantsc}
+ [2012/01/01 v2.11 Provide Slanted an Italic Small Caps]
+\RequirePackage{ifthen}
+\DeclareFontFamily{T1}{cmr}{}
+\DeclareFontShape{T1}{cmr}{m}{scsl}%
+{<5><6><7><8><9><10><10.95><12><14.4>%
+ <17.28><20.74><24.88><29.86><35.83>genb*ecsc}{}
+\DeclareFontShape{T1}{cmr}{bx}{scsl}%
+{<5><6><7><8><9><10><10.95><12><14.4>%
+ <17.28><20.74><24.88><29.86><35.83>genb*ecoc}{}
+\DeclareFontShape{T1}{cmr}{m}{scit}{<->ssub * cmr/m/scsl}{}
+\DeclareFontShape{T1}{cmr}{bx}{scit}{<->ssub * cmr/bx/scsl}{}
+\providecommand*\scitdefault{\scdefault\itdefault}
+\providecommand*\scsldefault{\scdefault\sldefault}
+\DeclareRobustCommand\upshape{%
+ \not@math@alphabet\upshape\relax
+ \ifthenelse{\equal{\f@shape}{\scdefault}\or
+ \equal{\f@shape}{\scitdefault}\or\equal{\f@shape}{\scsldefault}}{%
+ \fontshape\scdefault
+ }{%
+ \fontshape\updefault
+ }%
+ \selectfont
+}
+\DeclareRobustCommand\slshape{%
+ \not@math@alphabet\slshape\relax
+ \ifthenelse{\equal{\f@shape}{\scdefault}\or
+ \equal{\f@shape}{\scitdefault}\or\equal{\f@shape}{\scsldefault}}{%
+ \fontshape\scsldefault
+ }{%
+ \fontshape\sldefault
+ }%
+ \selectfont
+}
+\DeclareRobustCommand\itshape{%
+ \not@math@alphabet\itshape\relax
+ \ifthenelse{\equal{\f@shape}{\scdefault}\or
+ \equal{\f@shape}{\scitdefault}\or\equal{\f@shape}{\scsldefault}}{%
+ \fontshape\scitdefault
+ }{%
+ \fontshape\itdefault
+ }%
+ \selectfont
+}
+\DeclareRobustCommand\scshape{%
+ \not@math@alphabet\scshape\relax
+ \ifthenelse{\equal{\f@shape}{\scdefault}\or
+ \equal{\f@shape}{\scitdefault}\or\equal{\f@shape}{\scsldefault}}{%
+ }{%
+ \ifthenelse{\equal{\f@shape}{\itdefault}}{%
+ \fontshape\scitdefault
+ }{%
+ \ifthenelse{\equal{\f@shape}{\sldefault}}{%
+ \fontshape\scsldefault
+ }{%
+ \fontshape\scdefault
+ }%
+ }%
+ }%
+ \selectfont
+}
+\DeclareRobustCommand\noscshape{%
+ \not@math@alphabet\noscshape\relax
+ \ifthenelse{\equal{\f@shape}{\scdefault}\or
+ \equal{\f@shape}{\scitdefault}\or\equal{\f@shape}{\scsldefault}}{%
+ \ifthenelse{\equal{\f@shape}{\scitdefault}}{%
+ \fontshape\itdefault
+ }{%
+ \ifthenelse{\equal{\f@shape}{\scsldefault}}{%
+ \fontshape\sldefault
+ }{%
+ \fontshape\updefault
+ }%
+ }%
+ }{%
+ }%
+ \selectfont
+}
+\endinput
+%%
+%% End of file `slantsc.sty'.
diff --git a/common/latex/trimspaces.sty b/common/latex/trimspaces.sty
new file mode 100644
index 0000000..d576156
--- /dev/null
+++ b/common/latex/trimspaces.sty
@@ -0,0 +1,58 @@
+%% LaTeX2e file `trimspaces.sty'
+%% generated by the `filecontents' environment
+%% from source `trimspaces' on 2016/11/06.
+%%
+\ProvidesPackage{trimspaces}[2009/09/17 v1.1
+ Trim spaces around a token list]
+
+% Trimming surrounding spaces:
+\catcode`\Q=3
+\newcommand\trim@spaces[1]{%
+ \romannumeral-`\q\trim@trim@\noexpand#1Q Q%
+}
+\long\def\trim@trim@#1 Q{\trim@trim@@#1Q}
+\long\def\trim@trim@@#1Q#2{#1}
+\catcode`\Q=11
+
+\newcommand\trim@spaces@noexp[1]{%
+ \unexpanded\expandafter\expandafter\expandafter
+ {\trim@spaces{#1}}%
+}
+
+\newcommand\trim@spaces@in[1]{%
+ \edef#1{\expandafter\trim@spaces@noexp\expandafter{#1}}%
+}
+
+% Trimming preceding spaces:
+\newcommand\trim@pre@space[1]{%
+ \romannumeral-`\.\expandafter\noexpand#1%
+}
+
+\newcommand\trim@pre@space@noexp[1]{%
+ \unexpanded\expandafter{%
+ \romannumeral-`\.\expandafter\noexpand#1%
+ }%
+}
+
+\newcommand\trim@pre@space@in[1]{%
+ \expandafter\def\expandafter#1\expandafter{%
+ \romannumeral-`\.\expandafter\noexpand#1%
+ }%
+}
+
+% Trimming trailing space:
+\catcode`\Q=3
+\newcommand\trim@post@space[1]{\trim@trim@#1Q Q}
+\catcode`\Q=11
+
+\newcommand\trim@post@space@noexp[1]{%
+ \unexpanded\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\expandafter
+ {\trim@post@space{#1}}%
+}
+
+\newcommand\trim@post@space@in[1]{%
+ \edef#1{\expandafter\trim@post@space@noexp\expandafter{#1}}%
+}
+
+% That's it.
diff --git a/common/latex/upquote.sty b/common/latex/upquote.sty
new file mode 100644
index 0000000..6b9d754
--- /dev/null
+++ b/common/latex/upquote.sty
@@ -0,0 +1,40 @@
+%%
+%% This is file `upquote.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% upquote.dtx (with options: `package')
+%%
+%% Copyright (C) 2000 by Michael A. Covington
+%% Copyright (C) 2003 by Frank Mittelbach
+%% Copyright (C) 2012 by Markus Kuhn (current maintainer)
+%%
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{upquote}
+ [2012/04/19 v1.3 upright-quote and grave-accent glyphs in verbatim]
+\newcommand\upquote@cmtt{cmtt}
+\newcommand\upquote@OTone{OT1}
+\ifx\encodingdefault\upquote@OTone
+ \ifx\ttdefault\upquote@cmtt\else\RequirePackage{textcomp}\fi
+\else
+ \RequirePackage{textcomp}
+\fi
+\begingroup
+\catcode`'=\active
+\catcode``=\active
+\g@addto@macro\@noligs
+ {\let'\textquotesingle
+ \let`\textasciigrave
+ \ifx\encodingdefault\upquote@OTone
+ \ifx\ttdefault\upquote@cmtt
+ \def'{\char13 }%
+ \def`{\char18 }%
+ \fi\fi}
+\endgroup
+\endinput
+%%
+%% End of file `upquote.sty'.