summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-11-25 03:00:39 +0000
committerNorbert Preining <norbert@preining.info>2020-11-25 03:00:39 +0000
commit224d125bf0d14ba177ef8a181907a713484afa2f (patch)
treec7be3cf437ba902f6fd09520a329e373ed956ede /macros/latex
parent55c6d66f61a96ba63cd8c141229843ad2ab42632 (diff)
CTAN sync 202011250300
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/bewerbung/README6
-rw-r--r--macros/latex/contrib/bewerbung/README_DE6
-rw-r--r--macros/latex/contrib/bewerbung/argetabelle-example.pdfbin41294 -> 41294 bytes
-rw-r--r--macros/latex/contrib/bewerbung/bewerbung-example.pdfbin134686 -> 148575 bytes
-rw-r--r--macros/latex/contrib/bewerbung/bewerbung.dtx81
-rw-r--r--macros/latex/contrib/bewerbung/bewerbung.ins4
-rw-r--r--macros/latex/contrib/bewerbung/bewerbung.pdfbin726260 -> 693654 bytes
-rw-r--r--macros/latex/contrib/elsarticle/README2
-rw-r--r--macros/latex/contrib/elsarticle/doc/elsdoc.pdfbin453062 -> 455186 bytes
-rw-r--r--macros/latex/contrib/elsarticle/doc/elsdoc.tex99
-rw-r--r--macros/latex/contrib/elsarticle/doc/makefile3
-rw-r--r--macros/latex/contrib/elsarticle/doc/rvdtx.sty12
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-harv.bst7
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-num-names.bst7
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-num.bst7
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-template-harv.tex33
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex31
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle-template-num.tex33
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle.dtx344
-rw-r--r--macros/latex/contrib/elsarticle/elsarticle.ins6
-rw-r--r--macros/latex/contrib/elsarticle/manifest.txt3
-rw-r--r--macros/latex/contrib/everyshi/README.md27
-rw-r--r--macros/latex/contrib/everyshi/everyshi.dtx (renamed from macros/latex/contrib/ms/everyshi.dtx)195
-rw-r--r--macros/latex/contrib/everyshi/everyshi.ins49
-rw-r--r--macros/latex/contrib/everyshi/everyshi.pdfbin0 -> 135907 bytes
-rw-r--r--macros/latex/contrib/ms/README.md12
-rw-r--r--macros/latex/contrib/ms/count1to.dtx1000
-rw-r--r--macros/latex/contrib/ms/everyshi.asc12
-rw-r--r--macros/latex/contrib/ms/everyshi.bug11
-rw-r--r--macros/latex/contrib/ms/everyshi.ins113
-rw-r--r--macros/latex/contrib/ms/everyshi.pdfbin96478 -> 0 bytes
-rw-r--r--macros/latex/contrib/ms/prelim2e.ins110
-rw-r--r--macros/latex/contrib/ms/prelim2e.pdfbin561054 -> 0 bytes
-rw-r--r--macros/latex/contrib/prelim2e/README.md26
-rw-r--r--macros/latex/contrib/prelim2e/prelim2e.dtx (renamed from macros/latex/contrib/ms/prelim2e.dtx)414
-rw-r--r--macros/latex/contrib/prelim2e/prelim2e.ins59
-rw-r--r--macros/latex/contrib/prelim2e/prelim2e.pdfbin0 -> 426244 bytes
-rw-r--r--macros/latex/contrib/ut-thesis/README142
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.cls497
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.dtx607
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.ins39
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.pdfbin0 -> 116662 bytes
-rw-r--r--macros/latex/contrib/ut-thesis/ut-thesis.tex209
43 files changed, 2190 insertions, 2016 deletions
diff --git a/macros/latex/contrib/bewerbung/README b/macros/latex/contrib/bewerbung/README
index 913c9d3f9d..f30014d41b 100644
--- a/macros/latex/contrib/bewerbung/README
+++ b/macros/latex/contrib/bewerbung/README
@@ -7,11 +7,11 @@
printing a table with the latest applications that can be shown to the german authorities. The
data of the applications can be edited in a simple csv file.
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
- Version: 1.1
- Last Change: 2015-07-14
+ Version: 1.2
+ Last Change: 2020-11-24
Current Maintainer: André Hilbig
mail@andrehilbig.de
- http://www.andrehilbig.de/index.cgi/Publications/Bewerbung
+ https://www.andrehilbig.de/index.cgi/Publications/Bewerbung
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/bewerbung/README_DE b/macros/latex/contrib/bewerbung/README_DE
index b6a9d37867..d28d486fad 100644
--- a/macros/latex/contrib/bewerbung/README_DE
+++ b/macros/latex/contrib/bewerbung/README_DE
@@ -8,11 +8,11 @@
vorgelegt werden kann. Die Daten der Bewerbungsversuche werden in einer simplen csv-Datei
verwaltet.
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
- Version: 1.1
- Last Change 2015-07-14
+ Version: 1.2
+ Last Change 2020-11-24
Current Maintainer: André Hilbig
mail@andrehilbig.de
- http://www.andrehilbig.de/index.cgi/Publications/Bewerbung
+ https://www.andrehilbig.de/index.cgi/Publications/Bewerbung
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -+
This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/bewerbung/argetabelle-example.pdf b/macros/latex/contrib/bewerbung/argetabelle-example.pdf
index 102f132ad0..7d795ce9e7 100644
--- a/macros/latex/contrib/bewerbung/argetabelle-example.pdf
+++ b/macros/latex/contrib/bewerbung/argetabelle-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/bewerbung/bewerbung-example.pdf b/macros/latex/contrib/bewerbung/bewerbung-example.pdf
index d51e104a9f..5a563556ea 100644
--- a/macros/latex/contrib/bewerbung/bewerbung-example.pdf
+++ b/macros/latex/contrib/bewerbung/bewerbung-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/bewerbung/bewerbung.dtx b/macros/latex/contrib/bewerbung/bewerbung.dtx
index a86c324314..3081b10a14 100644
--- a/macros/latex/contrib/bewerbung/bewerbung.dtx
+++ b/macros/latex/contrib/bewerbung/bewerbung.dtx
@@ -1,20 +1,20 @@
%\iffalse
% bewerbung.dtx generated using makedtx version 0.94b (c) Nicola Talbot
% Command line args:
-% -author "André Hilbig, mail@andrehilbig.de"
-% -codetitle "Implementation"
-% -setambles "neueBewerbung.sh=>\nopreamble\nopostamble"
-% -date "2015-07-14:14:18:49 -- Version 1.1"
% -src "(.*)\.sty=>\1.sty"
% -src "(.*)\.cls=>\1.cls"
% -src "neueBewerbung.sh=>neueBewerbung.sh"
% -src "(.*)\.inc=>\1.inc"
+% -codetitle "Implementation"
+% -author "André Hilbig, mail@andrehilbig.de"
% -doc "../dokumentation.tex"
+% -setambles "neueBewerbung.sh=>\nopreamble\nopostamble"
+% -date "2020-11-24:11:30:14 -- Version 1.2"
% -macrocode "neueBewerbung.sh"
% -comment "neueBewerbung.sh"
% -comment "config.inc=>config.inc"
% bewerbung
-% Created on 2015-07-14:14:18:49 -- Version 1.1/7/14 14:18
+% Created on 2020-11-24:11:30:14 -- Version 1.2/11/24 11:30
%\fi
%\iffalse
%<*package>
@@ -37,7 +37,7 @@
%\fi
% \iffalse
% Doc-Source file to use with LaTeX2e
-% Copyright (C) 2015-07-14:14:18:49 -- Version 1.1 André Hilbig, mail@andrehilbig.de, all rights reserved.
+% Copyright (C) 2020-11-24:11:30:14 -- Version 1.2 André Hilbig, mail@andrehilbig.de, all rights reserved.
% \fi
% \iffalse
%<*driver>
@@ -220,7 +220,7 @@
\xspaceaddexceptions{\guillemotright,\guillemotleft}
-\CheckSum{2158}
+\CheckSum{2181}
\begin{document}
@@ -234,7 +234,7 @@
% Übersichtstabelle zur Dokumentation der Bewerbungsversuche}
% \author{Andr\'e Hilbig \\ \texttt{mail@andrehilbig.de} \\
% \url{http://www.andrehilbig.de/index.cgi/Publications/Bewerbung}}
-% \date{2015-07-14}
+% \date{2020-11-24}
% \maketitle
% \begin{abstract}
% \foreignlanguage{english}{
@@ -325,6 +325,11 @@
% \item Satz in der Dokumentation überarbeitet
% \item Kontaktdaten in den READMEs korrigiert
% \end{itemize}
+% \item[v1.2]
+% \begin{itemize}
+% \item Anpassungen an neuere \LaTeX Versionen durchgeführt
+% \item Kleinere Anpassungen an die Titelseite
+% \end{itemize}
% \end{description}
%
% \section{Installation}
@@ -448,7 +453,8 @@
% Der Klasse |bewerbung| kann die Option |idPlain| übergeben werden. Dann wird nach
% der exakten Übereinstimmung der hier notierten Identifikation mit dem Feld ID gesucht.
% Dies muss keine Zahl sein. Wird keine Option übergeben wird die notierte Zahl als
-% Zeilennummer startend bei 0 interpretiert.
+% Zeilennummer startend bei 0 interpretiert. Außerdem kann man die Option |nophone|
+% übergeben, um das Telefonfeld auszublenden.
%
% \DescribeMacro{\Anhang}\label{Anhang}
% An zwei Stellen in einer Bewerbung werden angehangene Dokumente ausgewiesen: Titelseite
@@ -1269,10 +1275,10 @@
% name and title
% \begin{macrocode}
\begin{minipage}[b]{\@titlenamewidth}%
+ \firstnamestyle{\firstname}\\[0.75em] %
% \end{macrocode}
%% ahilbig begin
% \begin{macrocode}
- \firstnamestyle{\firstname}\\ %
\familynamestyle{\familyname}%
\ifdefempty{\acadtitle}{}{%
\\[1.25em]\acadtitlestyle{\acadtitle}}%
@@ -3016,7 +3022,7 @@
%
% \begin{macro}{\tel}
% \begin{macrocode}
-\providecommand{\tel}{}
+\providecommand{\tel}{empty}
% \end{macrocode}
% \end{macro}
%
@@ -3044,10 +3050,10 @@
% \begin{macrocode}
\ProvideDocumentCommand{\anhang}{o}{%
\IfNoValueTF{#1}{%
- Curriculum Vitae.\anhangTmpFlat
+ \lebenslaufTitel.\anhangTmpFlat
}{%
\item Anschreiben
- \item Curriculum Vitae
+ \item \lebenslaufTitel
\anhangTmpList
} %
}
@@ -3421,7 +3427,9 @@
\providecommand{\runKomaVar}{%
\setkomavar{fromname}{\fullname} %
\setkomavar{fromaddress}{\street\\\plz\xspace\stadt} %
- \setkomavar{fromphone}[\Telefon\enskip]{\tel} %
+ \ifthenelse{\equal{\tel}{empty}}{}{%
+ \setkomavar{fromphone}[\Telefon\enskip]{\tel} %
+ }%
\setkomavar{fromfax}[\Mobilefone\enskip]{\mobile} %
\setkomavar{fromemail}[\Letter\enskip]{\email} %
\setkomavar{signature}{\vorname\xspace\name} %
@@ -3442,7 +3450,9 @@
\renewcommand*{\addressstreet}{\street} %
\renewcommand*{\addresscity}{\plz\xspace\stadt} %
\renewcommand*{\address}{\street\\\plz\xspace\stadt} %
- \renewcommand*{\phonenr}{\tel} %
+ \ifthenelse{\equal{\tel}{empty}}{}{%
+ \renewcommand*{\phonenr}{\tel} %
+ }%
% \end{macrocode}
%\iffalse
%% \renewcommand*{\extrainfo}{Some extra info}
@@ -3499,7 +3509,10 @@
\ProvideDocumentEnvironment{lebenslauf}{oo}{%
\clearpage
\newgeometry{top=2.5cm,left=3cm,right=2.5cm,bottom=3cm}
- \pagestyle{empty}
+ %\pagestyle{empty}
+ \pagenumbering{arabic}
+ \hypersetup{hidelinks}
+ \ofoot{Seite \thepage\ von \pageref{LastPage}}
\ifthenelse{\equal{#1}{none}}{\renewcommand{\@listitemsymbol}{}}{} %
%\iffalse
%%\clearscrheadfoot
@@ -3513,6 +3526,7 @@
\fullname\\
\todayOrt, \todayTime
\end{tabular}
+ \label{LastPage}
\end{raggedright}
\IfNoValueF{#2}{%
\newpage %
@@ -3669,16 +3683,27 @@ setkeys=\kvsetkeys%
\DeclareStringOption[classic]{lebenslaufStyle}[classic]
\DeclareStringOption[anschrift.csv]{anschrift}[anschrift.csv]
\DeclareBoolOption{idPlain}
+\DeclareBoolOption{nophone}
\ProcessKeyvalOptions{ahbewerbung} % evaluate keyval options
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrlttr2}}
\ProcessOptions\relax
-\LoadClass[
- DIN, pagenumber=botright, backaddress=true, parskip=half,%
- fromalign=left, fromemail=true, fromfax=true, %
- fromphone=true, fromurl=false, fromalign=right, %
- fromlogo=false, fromrule=true, foldmarks=true, %
- paper=a4, fontsize=10pt,enlargefirstpage=true, firstfoot=false
-]{scrlttr2}
+\ifahbewerbung@nophone %
+ \LoadClass[
+ DIN, pagenumber=botright, backaddress=true, parskip=half,%
+ fromalign=left, fromemail=true, fromfax=true, %
+ fromphone=false, fromurl=false, fromalign=right, %
+ fromlogo=false, fromrule=true, foldmarks=true, %
+ paper=a4, fontsize=10pt,enlargefirstpage=true, firstfoot=false
+ ]{scrlttr2}
+\else %
+ \LoadClass[
+ DIN, pagenumber=botright, backaddress=true, parskip=half,%
+ fromalign=left, fromemail=true, fromfax=true, %
+ fromphone=true, fromurl=false, fromalign=right, %
+ fromlogo=false, fromrule=true, foldmarks=true, %
+ paper=a4, fontsize=10pt,enlargefirstpage=true, firstfoot=false
+ ]{scrlttr2}
+\fi %
% \end{macrocode}
%\iffalse
%% import from komacv.cls for easier maintaining
@@ -3690,7 +3715,7 @@ setkeys=\kvsetkeys%
ifluatex,%
ifxetex,%
marvosym, %
- scrpage2,%
+ scrlayer-scrpage,%
array,%
graphicx,%
microtype,%
@@ -3842,9 +3867,9 @@ cd ..
\textbf{\meinBeruf} \\ \ \\
\street\\
\plz\ \stadt\\
- \Letter\enskip \email\\
\Telefon\enskip \tel\\
\Mobilefone\enskip \mobile
+ \letter\enskip \email\\
\vfill
\textbf{Inhalt}
@@ -3861,8 +3886,10 @@ cd ..
\leftskip=0.3cm
\hspace*{0.1cm}\textit{bei}\\ % hier gehört bei rein
\textbf{\bewerbungFirma}\\
- \bewerbungFirmaAnrede\
- \bewerbungFirmaName\\
+ \ifthenelse{\equal{\bewerbungFirmaName}{n}}{}{%
+ \bewerbungFirmaAnrede\
+ \bewerbungFirmaName\\
+ }
\bewerbungFirmaStr\\
\bewerbungFirmaPlz\ \bewerbungFirmaOrt
% \end{macrocode}
diff --git a/macros/latex/contrib/bewerbung/bewerbung.ins b/macros/latex/contrib/bewerbung/bewerbung.ins
index 2d08da06b3..049fe18f90 100644
--- a/macros/latex/contrib/bewerbung/bewerbung.ins
+++ b/macros/latex/contrib/bewerbung/bewerbung.ins
@@ -1,10 +1,10 @@
-% bewerbung.ins generated using makedtx version 0.94b 2015-07-14:14:18:49 -- Version 1.1/7/14 14:18
+% bewerbung.ins generated using makedtx version 0.94b 2020-11-24:11:30:14 -- Version 1.2/11/24 11:30
\input docstrip
\preamble
bewerbung.dtx
- Copyright 2015-07-14:14:18:49 -- Version 1.1 André Hilbig, mail@andrehilbig.de
+ Copyright 2020-11-24:11:30:14 -- Version 1.2 André Hilbig, mail@andrehilbig.de
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/bewerbung/bewerbung.pdf b/macros/latex/contrib/bewerbung/bewerbung.pdf
index 280b480d8f..6d8510b439 100644
--- a/macros/latex/contrib/bewerbung/bewerbung.pdf
+++ b/macros/latex/contrib/bewerbung/bewerbung.pdf
Binary files differ
diff --git a/macros/latex/contrib/elsarticle/README b/macros/latex/contrib/elsarticle/README
index cd0929a7d7..d36127266b 100644
--- a/macros/latex/contrib/elsarticle/README
+++ b/macros/latex/contrib/elsarticle/README
@@ -40,7 +40,7 @@ use the makefile. Use the target `all' (eg: make all).
The above procedure will create a print version, namely elsdoc.pdf.
-Copyright 2007-2019, Elsevier. Bugs, feature requests, suggestions and
+Copyright 2007-2020, Elsevier. Bugs, feature requests, suggestions and
comments may be mailed to elsarticle@stmdocs.in. elsarticle.cls,
related documentation and supporting packages are released under the
LATEX Project Public Licence, either version 1.3 or any later
diff --git a/macros/latex/contrib/elsarticle/doc/elsdoc.pdf b/macros/latex/contrib/elsarticle/doc/elsdoc.pdf
index 1669827334..47d7c8d3a2 100644
--- a/macros/latex/contrib/elsarticle/doc/elsdoc.pdf
+++ b/macros/latex/contrib/elsarticle/doc/elsdoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/elsarticle/doc/elsdoc.tex b/macros/latex/contrib/elsarticle/doc/elsdoc.tex
index 0c3e02cb31..e466bdd7fc 100644
--- a/macros/latex/contrib/elsarticle/doc/elsdoc.tex
+++ b/macros/latex/contrib/elsarticle/doc/elsdoc.tex
@@ -1,5 +1,5 @@
%%
-%% Copyright 2007-2019 Elsevier Ltd
+%% Copyright 2007-2020 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
@@ -14,7 +14,7 @@
%% The list of all files belonging to the 'Elsarticle Bundle' is
%% given in the file `manifest.txt'.
%%
-%% $Id: elsdoc.tex 160 2019-01-14 09:25:49Z rishi $
+%% $Id: elsdoc.tex 192 2020-11-23 11:14:41Z rishi $
%%
\documentclass[a4paper,12pt]{article}
@@ -71,7 +71,7 @@
\author{Elsevier Ltd}
\contact{elsarticle@stmdocs.in}
-\version{3.2}
+\version{3.3}
\date{\today}
\maketitle
@@ -278,9 +278,7 @@ An example of coding the first type is provided below.
\author[3]{CV Rajagopal\fnref{fn1,fn3}}
\ead[url]{www.stmdocs.in}
-\end{vquote}
-\begin{vquote}
\cortext[cor1]{Corresponding author}
\fntext[fn1]{This is the first author footnote.}
\fntext[fn2]{Another author footnote, this is a very long
@@ -289,12 +287,27 @@ An example of coding the first type is provided below.
lines of footnote text.}
\fntext[fn3]{Yet another author footnote.}
- \address[1]{Elsevier B.V., Radarweg 29, 1043 NX Amsterdam,
- The Netherlands}
- \address[2]{Sayahna Foundations, JWRA 34, Jagathy,
- Trivandrum 695014, India}
- \address[3]{STM Document Engineering Pvt Ltd., Mepukada,
- Malayinkil, Trivandrum 695571, India}
+ \affiliation[1]{organization={Elsevier B.V.},
+ addressline={Radarweg 29},
+ postcode={1043 NX},
+ city={Amsterdam},
+ country={The Netherlands}}
+
+ \affiliation[2]{organization={Sayahna Foundation},
+ addressline={JWRA 34, Jagathy},
+ city={Trivandrum}
+ postcode={695014},
+ country={India}}
+\end{vquote}
+
+\begin{vquote}
+
+ \affiliation[3]{organization={STM Document Engineering
+ Pvt Ltd.},
+ addressline={Mepukada, Malayinkil},
+ city={Trivandrum}
+ postcode={695571},
+ country={India}}
\end{vquote}
The output of the above \TeX{} source is given in Clips~\ref{clip1} and
@@ -312,7 +325,7 @@ Clip~\ref{clip1} and the footer area is given in Clip~\ref{clip2}.
\def\rulecolor{orange}
Most of the commands such as \verb+\title+, \verb+\author+,
-\verb+\address+ are self explanatory. Various components are
+\verb+\affiliation+ are self explanatory. Various components are
linked to each other by a label--reference mechanism; for
instance, title footnote is linked to the title with a footnote
mark generated by referring to the \verb+\label+ string of
@@ -337,7 +350,7 @@ Given below are the syntax of various note marks and note texts.
\noindent where \verb=<label(s)>= can be either one or more comma
delimited label strings. The optional arguments to the
\verb=\author= command holds the ref label(s) of the address(es)
-to which the author is affiliated while each \verb=\address=
+to which the author is affiliated while each \verb=\affiliation=
command can have an optional argument of a label. In the same
manner, \verb=\tnotetext=, \verb=\fntext=, \verb=\cortext= will
have optional arguments as their respective labels and note text
@@ -350,18 +363,28 @@ of author-affiliation.
\author{Jos Migchielsen\corref{cor1}%
\fnref{fn1}}
\ead{J.Migchielsen@elsevier.com}
- \address{Elsevier B.V., Radarweg 29, 1043 NX Amsterdam,
- The Netherlands}
+ \affiliation[1]{organization={Elsevier B.V.},
+ addressline={Radarweg 29},
+ postcode={1043 NX},
+ city={Amsterdam},
+ country={The Netherlands}}
\author{CV Radhakrishnan\fnref{fn2}}
\ead{cvr@sayahna.org}
- \address{Sayahna Foundations, JWRA 34, Jagathy,
- Trivandrum 695014, India}
+ \affiliation[2]{organization={Sayahna Foundation},
+ addressline={JWRA 34, Jagathy},
+ city={Trivandrum}
+ postcode={695014},
+ country={India}}
\author{CV Rajagopal\fnref{fn1,fn3}}
\ead[url]{www.stmdocs.in}
- \address{STM Document Engineering Pvt Ltd., Mepukada,
- Malayinkil, Trivandrum 695571, India}
+ \affiliation[3]{organization={STM Document Engineering
+ Pvt Ltd.},
+ addressline={Mepukada, Malayinkil},
+ city={Trivandrum}
+ postcode={695571},
+ country={India}}
\end{vquote}
\vspace*{-.5pc}
@@ -381,7 +404,7 @@ The output of the above \TeX{} source is given in Clip~\ref{clip3}.
\src{Header of the title page..}
\includeclip{1}{119 563 468 709}{1pseperateaug.pdf}%%{elstest-1p.pdf}%seperate author groups
\def\rulecolor{orange}
-\pagebreak
+%\pagebreak
Clip~\ref{clip4} shows the output after giving \verb+doubleblind+ class option.
@@ -611,6 +634,7 @@ problem before submission for publication.
in different types of final format. This is further discussed in
section \ref{sec:final}, \nameref{sec:final}.
+\enlargethispage*{\baselineskip}
\subsection*{Displayed equations and double column journals}
@@ -620,7 +644,21 @@ the formulae are too wide for the line width in print. Here is an
example of an equation (see equation 6) which is perfect in a
single column preprint format:
-\bigskip
+In normal course, articles are prepared and submitted in single column
+format even if the final printed article will come in a double column
+format journal. Here the problem is that when the article is typeset by
+the typesetters for paginating and fit within the single column width,
+they have to break the lengthy equations and align them properly. Even
+if most of the tasks in preparing your proof is automated, the equation
+breaking and aligning requires manual judgement, hence this task is manual.
+When there comes a manual operation that area is error prone. Author
+needs to check that equation pretty well.
+
+However if authors themselves break the equation to the single column
+width typesetters need not want to touch these area and the proof authors
+get will be without any errors.
+
+%\bigskip
\setlength\Sep{6pt}
\src{See equation (6)}
\def\rulecolor{blue!70}
@@ -697,7 +735,7 @@ Instruction for using these \verb+.bst+ files can be found at
\href{http://support.stmdocs.in/wiki/index.php?title=Model-wise_bibliographic_style_files}
{http://support.stmdocs.in}
-\section{Graphical abstract and highlights}
+\section[Graphical ...]{Graphical abstract and highlights}
A template for adding graphical abstract and highlights are available
now. This will appear as the first two pages of the PDF before the
article content begins.
@@ -763,11 +801,15 @@ Model $1+$ and $3+$ will have the same look and
feel in the typeset copy when presented in this document. That is
also the case with the double column $3+$ and $5+$ journal article
pages. The only difference will be wider text width of
-higher models. Therefore we will look at the
-different portions of a typical single column journal page and
-that of a double column article in the final format.
+higher models. Here are the specimen single and double column journal
+pages.
+
+%Therefore we will look at the
+%different portions of a typical single column journal page and
+%that of a double column article in the final format.
+\begin{comment}
\begin{center}
\hypertarget{bsc}{}
\hyperlink{sc}{
@@ -780,6 +822,11 @@ that of a double column article in the final format.
{\bf [Specimen double column article -- Click here]}
}
\end{center}
+\end{comment}
+
+\vspace*{-.5pc}
+
+\enlargethispage*{\baselineskip}
\src{}\hypertarget{sc}{}
\def\rulecolor{blue!70}
@@ -791,5 +838,7 @@ that of a double column article in the final format.
\hyperlink{bsc}{\includeclip{1}{27 61 562 758}{elstest-5p.pdf}}
\def\rulecolor{orange}
+~\hfill $\Box$
+
\end{document}
diff --git a/macros/latex/contrib/elsarticle/doc/makefile b/macros/latex/contrib/elsarticle/doc/makefile
index 89f262a6f2..7d7a2c930a 100644
--- a/macros/latex/contrib/elsarticle/doc/makefile
+++ b/macros/latex/contrib/elsarticle/doc/makefile
@@ -1,4 +1,4 @@
-# $Id: makefile 162 2019-01-14 09:36:11Z rishi $
+# $Id: makefile 193 2020-11-23 11:15:37Z rishi $
file=elsdoc
@@ -39,3 +39,4 @@ copy:
+
diff --git a/macros/latex/contrib/elsarticle/doc/rvdtx.sty b/macros/latex/contrib/elsarticle/doc/rvdtx.sty
index 3f16af7196..b2c5511608 100644
--- a/macros/latex/contrib/elsarticle/doc/rvdtx.sty
+++ b/macros/latex/contrib/elsarticle/doc/rvdtx.sty
@@ -4,7 +4,7 @@
%
% Auxiliary package to format *.dtx documents.
%
-% Copyright (c) 2008-2019 CV Radhakrishnan <cvr@stmdocs.in>,
+% Copyright (c) 2008-2020 CV Radhakrishnan <cvr@stmdocs.in>,
%
% This file may be distributed and/or modified under the conditions
% of the LaTeX Project Public License, either version 1.2 of this
@@ -262,7 +262,7 @@
\def\keywords#1{\gdef\@keywords{#1}}
\def\@keywords{\LaTeX, \xml}
-\long\def\Hrule{\\[-4pt]\hspace*{-3em}%
+\long\def\Hrule{\\\hspace*{-3em}%
{\color{quicklinkrulecolor}\rule{\linewidth}{.1pt}}\\}
\long\def\dtxmarkone[#1][#2]#3#4#5{\def\next{#1}%
@@ -271,7 +271,8 @@
\newcounter{dtx}
\long\def\dtxmarktwo[#1][#2]#3#4#5{\def\next{#1}%
- \stepcounter{dtx}\parbox{.45\linewidth}%
+% \stepcounter{dtx}\parbox{.45\linewidth}%
+ \stepcounter{dtx}\parbox[][11pt][b]{.45\linewidth}%
{\ifcase\next\or\Hlink{#4}{#3}\fi}%
\ifodd\thedtx\relax\else\Hrule\fi}
@@ -294,7 +295,8 @@
\hfill
\parbox[c][2in][c]{.35\paperwidth}%
{\normalfont\footnotesize\sffamily\color{quicklinkcolor}%
- \advance\baselineskip-3pt%
+% \advance\baselineskip-3pt%
+ \advance\baselineskip-5pt%
\vspace*{6pt} QUICK LINKS\Hrule
\IfFileExists{tmp.out}{\input tmp.out}{}%
}\hspace*{5mm}%
@@ -307,7 +309,7 @@
{\normalfont\sffamily\footnotesize%
\color{botcolor}%
\hspace*{5mm}\parbox[c][.5in][c]{.45\paperwidth}%
- {\raggedright \textcopyright\ 2019, Elsevier Ltd.
+ {\raggedright \textcopyright\ \the\year, Elsevier Ltd.
Bugs, feature requests, suggestions and comments %\\
shall be mailed to \href{mailto:elsarticle@stmdocs.in}
{$<$elsarticle@stmdocs.in$>$}.
diff --git a/macros/latex/contrib/elsarticle/elsarticle-harv.bst b/macros/latex/contrib/elsarticle/elsarticle-harv.bst
index 3eaac4de6d..3bf1acb435 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-harv.bst
+++ b/macros/latex/contrib/elsarticle/elsarticle-harv.bst
@@ -1,7 +1,7 @@
%%
%% This is file `elsarticle-harv.bst' (Version 2.1),
%%
-%% Copyright 2009-2019 Elsevier Ltd
+%% Copyright 2009-2020 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
@@ -13,9 +13,9 @@
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
-%% $Id: elsarticle-harv.bst 163 2019-01-14 09:54:24Z rishi $
+%% $Id: elsarticle-harv.bst 194 2020-11-23 11:29:27Z rishi $
%%
-%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-harv.bst $
+%% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-harv.bst $
%%
ENTRY
@@ -1595,3 +1595,4 @@ EXECUTE {end.bib}
%% a. collaboration added.
%%
+
diff --git a/macros/latex/contrib/elsarticle/elsarticle-num-names.bst b/macros/latex/contrib/elsarticle/elsarticle-num-names.bst
index e61de97b2e..562466a909 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-num-names.bst
+++ b/macros/latex/contrib/elsarticle/elsarticle-num-names.bst
@@ -1,7 +1,7 @@
%%
%% This is file `elsarticle-num-names.bst' (Version 2.1),
%%
-%% Copyright 2009-2019 Elsevier Ltd
+%% Copyright 2009-2020 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
@@ -13,9 +13,9 @@
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
-%% $Id: elsarticle-num-names.bst 163 2019-01-14 09:54:24Z rishi $
+%% $Id: elsarticle-num-names.bst 194 2020-11-23 11:29:27Z rishi $
%%
-%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num-names.bst $
+%% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num-names.bst $
%%
%%
@@ -1532,3 +1532,4 @@ EXECUTE {end.bib}
%% 30.08.2012
%% a. collaboration added.
+
diff --git a/macros/latex/contrib/elsarticle/elsarticle-num.bst b/macros/latex/contrib/elsarticle/elsarticle-num.bst
index 7c26b989b3..14499bfda7 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-num.bst
+++ b/macros/latex/contrib/elsarticle/elsarticle-num.bst
@@ -1,7 +1,7 @@
%%
%% This is file `elsarticle-num.bst' (Version 2.1),
%%
-%% Copyright 2007-2019 Elsevier Ltd
+%% Copyright 2007-2020 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
@@ -14,9 +14,9 @@
%% version 1999/12/01 or later.
%%
%%
-%% $Id: elsarticle-num.bst 174 2019-04-05 09:50:32Z rishi $
+%% $Id: elsarticle-num.bst 194 2020-11-23 11:29:27Z rishi $
%%
-%% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num.bst $
+%% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle-num.bst $
%%
%% ----------------------------------------
@@ -1506,3 +1506,4 @@ EXECUTE {end.bib}
%%
%% End of file `elsarticle-num.bst'.
+
diff --git a/macros/latex/contrib/elsarticle/elsarticle-template-harv.tex b/macros/latex/contrib/elsarticle/elsarticle-template-harv.tex
index 0b26bd2e8c..ba637ca205 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-template-harv.tex
+++ b/macros/latex/contrib/elsarticle/elsarticle-template-harv.tex
@@ -1,5 +1,5 @@
%%
-%% Copyright 2007-2019 Elsevier Ltd
+%% Copyright 2007-2020 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
@@ -55,7 +55,7 @@
%% use the tnoteref command within \title for footnotes;
%% use the tnotetext command for theassociated footnote;
-%% use the fnref command within \author or \address for footnotes;
+%% use the fnref command within \author or \affiliation for footnotes;
%% use the fntext command for theassociated footnote;
%% use the corref command within \author for corresponding author footnotes;
%% use the cortext command for theassociated footnote;
@@ -68,19 +68,40 @@
%% \ead[url]{home page}
%% \fntext[label2]{}
%% \cortext[cor1]{}
-%% \address{Address\fnref{label3}}
+%% \affiliation{organization={},
+%% addressline={},
+%% city={},
+%% postcode={},
+%% state={},
+%% country={}}
%% \fntext[label3]{}
\title{}
%% use optional labels to link authors explicitly to addresses:
%% \author[label1,label2]{}
-%% \address[label1]{}
-%% \address[label2]{}
+%% \affiliation[label1]{organization={},
+%% addressline={},
+%% city={},
+%% postcode={},
+%% state={},
+%% country={}}
+%%
+%% \affiliation[label2]{organization={},
+%% addressline={},
+%% city={},
+%% postcode={},
+%% state={},
+%% country={}}
\author{}
-\address{}
+\affiliation{organization={},%Department and Organization
+ addressline={},
+ city={},
+ postcode={},
+ state={},
+ country={}}
\begin{abstract}
%% Text of abstract
diff --git a/macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex b/macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex
index 46898bcb4e..f4f618b2ea 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex
+++ b/macros/latex/contrib/elsarticle/elsarticle-template-num-names.tex
@@ -1,5 +1,5 @@
%%
-%% Copyright 2007-2019 Elsevier Ltd
+%% Copyright 2007-2020 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
@@ -68,19 +68,40 @@
%% \ead[url]{home page}
%% \fntext[label2]{}
%% \cortext[cor1]{}
-%% \address{Address\fnref{label3}}
+%% \affiliation{organization={},
+%% addressline={},
+%% city={},
+%% postcode={},
+%% state={},
+%% country={}}
%% \fntext[label3]{}
\title{}
%% use optional labels to link authors explicitly to addresses:
%% \author[label1,label2]{}
-%% \address[label1]{}
-%% \address[label2]{}
+%% \affiliation[label1]{organization={},
+%% addressline={},
+%% city={},
+%% postcode={},
+%% state={},
+%% country={}}
+%%
+%% \affiliation[label2]{organization={},
+%% addressline={},
+%% city={},
+%% postcode={},
+%% state={},
+%% country={}}
\author{}
-\address{}
+\affiliation{organization={},%Department and Organization
+ addressline={},
+ city={},
+ postcode={},
+ state={},
+ country={}}
\begin{abstract}
%% Text of abstract
diff --git a/macros/latex/contrib/elsarticle/elsarticle-template-num.tex b/macros/latex/contrib/elsarticle/elsarticle-template-num.tex
index af5ce75c33..6852a7e5c1 100644
--- a/macros/latex/contrib/elsarticle/elsarticle-template-num.tex
+++ b/macros/latex/contrib/elsarticle/elsarticle-template-num.tex
@@ -1,5 +1,5 @@
%%
-%% Copyright 2007-2019 Elsevier Ltd
+%% Copyright 2007-2020 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
@@ -21,7 +21,7 @@
%%
%%
%%
-%% $Id: elsarticle-template-num.tex 168 2019-02-25 07:15:41Z apu.v $
+%% $Id: elsarticle-template-num.tex 190 2020-11-23 11:12:32Z rishi $
%%
%%
\documentclass[preprint,12pt]{elsarticle}
@@ -75,19 +75,40 @@
%% \ead[url]{home page}
%% \fntext[label2]{}
%% \cortext[cor1]{}
-%% \address{Address\fnref{label3}}
+%% \affiliation{organization={},
+%% addressline={},
+%% city={},
+%% postcode={},
+%% state={},
+%% country={}}
%% \fntext[label3]{}
\title{}
%% use optional labels to link authors explicitly to addresses:
%% \author[label1,label2]{}
-%% \address[label1]{}
-%% \address[label2]{}
+%% \affiliation[label1]{organization={},
+%% addressline={},
+%% city={},
+%% postcode={},
+%% state={},
+%% country={}}
+%%
+%% \affiliation[label2]{organization={},
+%% addressline={},
+%% city={},
+%% postcode={},
+%% state={},
+%% country={}}
\author{}
-\address{}
+\affiliation{organization={},%Department and Organization
+ addressline={},
+ city={},
+ postcode={},
+ state={},
+ country={}}
\begin{abstract}
%% Text of abstract
diff --git a/macros/latex/contrib/elsarticle/elsarticle.dtx b/macros/latex/contrib/elsarticle/elsarticle.dtx
index 187b6d5b0c..a5a0a0b3b5 100644
--- a/macros/latex/contrib/elsarticle/elsarticle.dtx
+++ b/macros/latex/contrib/elsarticle/elsarticle.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2007-2019 by Elsevier Ltd
+% Copyright (C) 2007-2020 by Elsevier Ltd
% -----------------------------------------------
%
% This file may be distributed and/or modified under the
@@ -14,10 +14,10 @@
% version 1999/12/01 or later.
%
% \fi
-% \CheckSum{2634}
+% \CheckSum{3243}
%
-% $Id: elsarticle.dtx 167 2019-02-25 07:12:21Z apu.v $
-% $URL: http://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle.dtx $
+% $Id: elsarticle.dtx 190 2020-11-23 11:12:32Z rishi $
+% $URL: https://lenova.river-valley.com/svn/elsarticle/trunk/elsarticle.dtx $
% \iffalse
%<*driver>
\documentclass{ltxdoc}
@@ -58,6 +58,11 @@
% with amsref.sty, fncylab.sty have been fixed. Some bugs related
% to author/affiliation part have been fixed.}
%
+%
+% \changes{v3.3}{2020/11/20}{Defined \string\affiliation command for structured
+% address tagging.}
+%
+%
% \GetFileInfo{elsarticle.dtx}
%
% \DoNotIndex{\newcommand,\newenvironment}
@@ -78,8 +83,8 @@
%%
%%
\def\RCSfile{elsarticle}%
- \def\RCSversion{3.2}%
- \def\RCSdate{2019/02/25}%
+ \def\RCSversion{3.3}%
+ \def\RCSdate{2020/11/20}%
\def\@shortjnl{\relax}
\def\@journal{Elsevier Ltd}
\def\@company{Elsevier Ltd}
@@ -94,6 +99,16 @@
\newif\ifnopreprintline \nopreprintlinefalse
\newif\ifdoubleblind \doubleblindfalse
+\newif\ifuseexplthreefunctions \useexplthreefunctionsfalse
+
+\IfFileExists{expl3.sty}{%
+ \global\useexplthreefunctionstrue%
+ \RequirePackage{expl3}}{}
+\ifuseexplthreefunctions\relax%
+ \IfFileExists{xparse.sty}{\RequirePackage{xparse}}{}
+ \IfFileExists{etoolbox.sty}{\RequirePackage{etoolbox}}{}
+\fi
+
\def\@blstr{1}
\newdimen\@bls
\@bls=\baselineskip
@@ -339,7 +354,6 @@
\def\elsaddress{}
\def\addsep{\par\vskip6pt}
-\def\address{\@ifnextchar[{\@@address}{\@address}}
\def\@alph#1{%
\ifcase#1\or a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or
@@ -371,6 +385,322 @@
\newcounter{affn}
\renewcommand\theaffn{\alph{affn}}
+\ifuseexplthreefunctions\relax%
+ \ExplSyntaxOn
+ \def\ca_affitem_postskip{\mbox{~}\unskip\ignorespaces}
+ %%Author Address
+ \DeclareDocumentCommand \ca_organization { O{,} m }
+ {
+ % #2 #1\mbox{~}\unskip\ignorespaces
+ \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip }
+ }
+ \DeclareDocumentCommand \ca_postal_code { O{,} m }
+ {
+ % #2 #1\mbox{~}\unskip\ignorespaces
+ \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip }
+ }
+ \DeclareDocumentCommand \ca_aff_city { O{,} m }
+ {
+ % #2 #1\mbox{~}\unskip\ignorespaces
+ \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip }
+ }
+ \DeclareDocumentCommand \ca_address_line { O{,}m }
+ {
+ % #2 #1\mbox{~}\unskip\ignorespaces
+ \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip }
+ }
+ \DeclareDocumentCommand \ca_state { O{,} m }
+ {
+ % #2 #1\mbox{~}\unskip\ignorespaces
+ \csgappto { ca_affiliation_values } { #2 #1\ca_affitem_postskip }
+ }
+ \DeclareDocumentCommand \ca_country { O{ } m }
+ {
+ % #2 #1
+ \csgappto { ca_affiliation_values } { #2 #1 }
+ }
+
+ \DeclareDocumentCommand \ca_stm_organization { O{,} m }
+ {
+ #2 #1\ca_affitem_postskip
+ }
+ \DeclareDocumentCommand \ca_stm_postal_code { O{,} m }
+ {
+ #2 #1\ca_affitem_postskip
+ }
+ \DeclareDocumentCommand \ca_stm_aff_city { O{,} m }
+ {
+ #2 #1\ca_affitem_postskip
+ }
+ \DeclareDocumentCommand \ca_stm_aff_address_line { O{,}m }
+ {
+ #2 #1\ca_affitem_postskip
+ }
+ \DeclareDocumentCommand \ca_stm_state { O{,} m }
+ {
+ #2 #1\ca_affitem_postskip
+ }
+ \DeclareDocumentCommand \ca_stm_country { O{ } m }
+ {
+ #2 #1
+ }
+
+ \keys_define:nn { stm / affiliation }
+ {
+ op .tl_set_x:N = \l_organization_punc_tl,
+ oraganizationsep .tl_set_x:N = \l_organization_punc_tl,
+ ap .tl_set_x:N = \l_address_line_punc_tl,
+ addresslinesep .tl_set_x:N = \l_address_line_punc_tl,
+ cp .tl_set_x:N = \l_city_punc_tl,
+ citysep .tl_set_x:N = \l_city_punc_tl,
+ pp .tl_set_x:N = \l_postal_code_punc_tl,
+ postcodesep .tl_set_x:N = \l_postal_code_punc_tl,
+ sp .tl_set_x:N = \l_state_punc_tl,
+ statesep .tl_set_x:N = \l_state_punc_tl,
+ o .code:n = { \ca_organization[\l_organization_punc_tl]{#1} },
+ organization .code:n = { \ca_organization[\l_organization_punc_tl]{#1} },
+ a .code:n = { \ca_address_line[\l_address_line_punc_tl]{#1} },
+ addressline .code:n = { \ca_address_line[\l_address_line_punc_tl]{#1} },
+ c .code:n = { \ca_aff_city[\l_city_punc_tl]{#1} },
+ city .code:n = { \ca_aff_city[\l_city_punc_tl]{#1} },
+ p .code:n = { \ca_postal_code[\l_postal_code_punc_tl]{#1} },
+ postcode .code:n = { \ca_postal_code[\l_postal_code_punc_tl]{#1} },
+ s .code:n = { \ca_state[\l_state_punc_tl]{#1} },
+ state .code:n = { \ca_state[\l_state_punc_tl]{#1} },
+ orp .tl_set_x:N = \l_organization_punc_tl,
+ adp .tl_set_x:N = \l_address_line_punc_tl,
+ cip .tl_set_x:N = \l_city_punc_tl,
+ pcp .tl_set_x:N = \l_postal_code_punc_tl,
+ stp .tl_set_x:N = \l_state_punc_tl,
+ cyp .tl_set_x:N = \l_country_punc_tl,
+ or .code:n = { \ca_organization[\l_organization_punc_tl]{#1} },
+ ad .code:n = { \ca_address_line[\l_address_line_punc_tl]{#1} },
+ ci .code:n = { \ca_aff_city[\l_city_punc_tl]{#1} },
+ pc .code:n = { \ca_postal_code[\l_postal_code_punc_tl]{#1} },
+ st .code:n = { \ca_state[\l_state_punc_tl]{#1} },
+ cy .code:n = { \ca_country[\l_country_punc_tl]{#1} },
+ country .code:n = { \ca_country[\l_country_punc_tl]{#1} },
+ unknown .code:n = {
+ \ifstrempty { #1 } {
+ \csxappto { ca_affiliation_values }
+ { {\l_keys_key_tl}~ }
+ } {
+ \csxappto { ca_affiliation_values }
+ { {#1}~ }
+ }
+ }
+ }
+
+ \cs_set:Npn \__reset_affiliation:
+ {
+ \tl_gset:Nn \l_organization_punc_tl { , }
+ \tl_gset:Nn \l_address_line_punc_tl { , }
+ \tl_gset:Nn \l_city_punc_tl { , }
+ \tl_gset:Nn \l_postal_code_punc_tl { , }
+ \tl_gset:Nn \l_state_punc_tl { , }
+ \tl_gset:Nn \l_country_punc_tl { }
+ }
+
+ \DeclareDocumentCommand\affiliation{ o m }{
+ \__reset_affiliation:
+ \csgdef { ca_affiliation_values } { }
+ \IfNoValueTF { #2 }
+ { }
+ {
+ \keys_set:nn { stm / affiliation } { #2 }
+ }
+ \csgappto{elsaddress}{
+ \def\baselinestretch{1}%
+ \refstepcounter{affn}
+ \xdef\@currentlabel{\theaffn}
+ \IfNoValueTF { #1 }
+ { }
+ { \elsLabel{#1} }
+ \textsuperscript{\theaffn}}
+ \csxappto{elsaddress}{
+ \csuse { ca_affiliation_values }
+ \par
+ }
+ }
+ \ExplSyntaxOff
+ \else%
+ \def\caaffitempostskip{\space}
+
+ \DeclareRobustCommand\caorganization[2][,]{%
+ \g@addto@macro\caaffiliationvalues{#2#1\caaffitempostskip}%
+ }
+ \DeclareRobustCommand\capostalcode[2][,]{%
+ \g@addto@macro\caaffiliationvalues{#2#1\caaffitempostskip}%
+ }
+ \DeclareRobustCommand\caaffcity[2][,]{%
+ \g@addto@macro\caaffiliationvalues{#2#1\caaffitempostskip}%
+ }
+ \DeclareRobustCommand\caaddressline[2][,]{%
+ \g@addto@macro\caaffiliationvalues{#2#1\caaffitempostskip}%
+ }
+ \DeclareRobustCommand\castate[2][,]{%
+ \g@addto@macro\caaffiliationvalues{#2#1\caaffitempostskip}%
+ }
+ \DeclareRobustCommand\cacountry[2][,]{%
+ \g@addto@macro\caaffiliationvalues{#2#1\caaffitempostskip}%
+ }
+ \DeclareRobustCommand\castmorganization[2][,]{%
+ #2#1\caaffitempostskip%
+ }
+ \DeclareRobustCommand\castmpostalcode[2][,]{%
+ #2#1\caaffitempostskip%
+ }
+ \DeclareRobustCommand\castmaffcity[2][,]{%
+ #2#1\caaffitempostskip%
+ }
+ \DeclareRobustCommand\castmaddressline[2][,]{%
+ #2#1\caaffitempostskip%
+ }
+ \DeclareRobustCommand\castmstate[2][,]{%
+ #2#1\caaffitempostskip%
+ }
+ \DeclareRobustCommand\castmcountry[2][,]{%
+ #2#1\caaffitempostskip%
+ }
+
+ \define@key{affiliation}{op}{\xdef\@organizationpunc{#1}}
+ \define@key{affiliation}{orp}{\xdef\@organizationpunc{#1}}
+ \define@key{affiliation}{organizationsep}{\xdef\@organizationpunc{#1}}
+ \define@key{affiliation}{ap}{\xdef\@addresslinepunc{#1}}
+ \define@key{affiliation}{adp}{\xdef\@addresslinepunc{#1}}
+ \define@key{affiliation}{addresslinesep}{\xdef\@addresslinepunc{#1}}
+ \define@key{affiliation}{cp}{\xdef\@citypunc{#1}}
+ \define@key{affiliation}{cip}{\xdef\@citypunc{#1}}
+ \define@key{affiliation}{cyp}{\xdef\@countrypunc{#1}}
+ \define@key{affiliation}{citysep}{\xdef\@citypunc{#1}}
+ \define@key{affiliation}{pp}{\xdef\@postcodepunc{#1}}
+ \define@key{affiliation}{pop}{\xdef\@postcodepunc{#1}}
+ \define@key{affiliation}{postcodesep}{\xdef\@postcodepunc{#1}}
+ \define@key{affiliation}{sp}{\xdef\@statepunc{#1}}
+ \define@key{affiliation}{stp}{\xdef\@statepunc{#1}}
+ \define@key{affiliation}{statesep}{\xdef\@statepunc{#1}}
+ \define@key{affiliation}{countrysep}{\xdef\@countrypunc{#1}}
+
+ \define@key{affiliation}{organization}{%
+ \caorganization[\@organizationpunc]{#1}}
+ \define@key{affiliation}{addressline}{%
+ \caaddressline[\@addresslinepunc]{#1}}
+ \define@key{affiliation}{city}{%
+ \caaffcity[\@citypunc]{#1}}
+ \define@key{affiliation}{postcode}{%
+ \capostalcode[\@postcodepunc]{#1}}
+ \define@key{affiliation}{state}{%
+ \castate[\@statepunc]{#1}}
+ \define@key{affiliation}{or}{%
+ \caorganization[\@organizationpunc]{#1}}
+ \define@key{affiliation}{ad}{%
+ \caaddressline[\@addresslinepunc]{#1}}
+ \define@key{affiliation}{ci}{%
+ \caaffcity[\@citypunc]{#1}}
+ \define@key{affiliation}{po}{%
+ \capostalcode[\@postcodepunc]{#1}}
+ \define@key{affiliation}{st}{%
+ \castate[\@statepunc]{#1}}
+ \define@key{affiliation}{o}{%
+ \caorganization[\@organizationpunc]{#1}}
+ \define@key{affiliation}{a}{%
+ \caaddressline[\@addresslinepunc]{#1}}
+ \define@key{affiliation}{c}{%
+ \cacity[\@citypunc]{#1}}
+ \define@key{affiliation}{p}{%
+ \capostcode[\@postcodepunc]{#1}}
+ \define@key{affiliation}{s}{%
+ \castate[\@statepunc]{#1}}
+ \define@key{affiliation}{cy}{%
+ \cacountry[\@countrypunc]{#1}}
+ \define@key{affiliation}{country}{%
+ \cacountry[\@countrypunc]{#1}}
+
+
+ \gdef\@resetaffiliation{%
+ \gdef\@organizationpunc{,}%
+ \gdef\@addresslinepunc{,}%
+ \gdef\@citypunc{,}%
+ \gdef\@statepunc{,}%
+ \gdef\@postcodepunc{,}%
+ \gdef\@countrypunc{}%
+ }
+
+ \def\affiliation{\@ifnextchar[{\@@affiliation}{\@affiliation}}
+
+ \newcommand*{\newstmrobustcmd}{}
+ \protected\def\newstmrobustcmd{\@star@or@long\stmetb@new@command}
+
+ \def\stmetb@new@command#1{\@testopt{\stmetb@newcommand#1}0}
+
+ \def\stmetb@newcommand#1[#2]{%
+ \@ifnextchar[%]
+ {\stmetb@xargdef#1[#2]}
+ {\ifx\l@ngrel@x\relax
+ \let\l@ngrel@x\protected
+ \else
+ \protected\def\l@ngrel@x{\protected\long}%
+ \fi
+ \@argdef#1[#2]}}
+
+ \long\def\stmetb@xargdef#1[#2][#3]#4{%
+ \@ifdefinable#1{%
+ \expandafter\protected
+ \expandafter\def
+ \expandafter#1%
+ \expandafter{%
+ \expandafter\@testopt
+ \csname\string#1\endcsname{#3}}%
+ \expandafter\@yargdef\csname\string#1\endcsname\tw@{#2}{#4}}}
+ %
+ \newcommand{\ifstmundef}[1]{%
+ \ifdefined#1%
+ \ifx#1\relax
+ \expandafter\expandafter
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\expandafter
+ \expandafter\@secondoftwo
+ \fi
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+ \newcommand{\stmexpandonce}[1]{%
+ \unexpanded\expandafter{#1}}
+ \newstmrobustcmd{\gstmappto}[2]{%
+ \ifundef{#1}
+ {\xdef#1{\unexpanded{#2}}}
+ {\xdef#1{\stmexpandonce#1\unexpanded{#2}}}}
+ \newstmrobustcmd{\xstmappto}[2]{%
+ \ifstmundef{#1}
+ {\xdef#1{#2}}
+ {\xdef#1{\stmexpandonce#1#2}}}
+
+
+ \long\def\@@affiliation[#1]#2{%
+ \@resetaffiliation%
+ \gdef\caaffiliationvalues{}%
+ \elsLabel{#1}%
+ \setkeys{affiliation}{#2}%
+ \g@addto@macro\elsaddress{%
+ \def\baselinestretch{1}%
+ \refstepcounter{affn}%
+ \xdef\@currentlabel{\theaffn}%
+ \elsLabel{#1}%
+ \textsuperscript{\theaffn}}
+ \xstmappto\elsaddress{\caaffiliationvalues\par}}
+
+ \long\def\@affiliation#1{%
+ \@resetaffiliation%
+ \gdef\caaffiliationvalues{}%
+ \setkeys{affiliation}{#1}%
+ \g@addto@macro\elsauthors{%
+ \def\baselinestretch{1}}%
+ \xstmappto\elsaddress{\caaffiliationvalues\par}}
+\fi
+
+\def\address{\@ifnextchar[{\@@address}{\@address}}
+
\long\def\@@address[#1]#2{\g@addto@macro\elsaddress{%
\def\baselinestretch{1}%
\refstepcounter{affn}
diff --git a/macros/latex/contrib/elsarticle/elsarticle.ins b/macros/latex/contrib/elsarticle/elsarticle.ins
index a70fae6161..53ea4ac19b 100644
--- a/macros/latex/contrib/elsarticle/elsarticle.ins
+++ b/macros/latex/contrib/elsarticle/elsarticle.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 2007-2019 Elsevier Ltd
+%% Copyright 2007-2020 Elsevier Ltd
%%
%% This file is part of the 'Elsarticle Bundle'.
%% ---------------------------------------------
@@ -18,7 +18,7 @@
%% The list of all files belonging to the 'Elsarticle Bundle' is
%% given in the file 'manifest.txt'.
%%
-%% $Id: elsarticle.ins 164 2019-01-14 09:57:55Z rishi $
+%% $Id: elsarticle.ins 191 2020-11-23 11:13:24Z rishi $
%%
%%
\input docstrip.tex
@@ -26,7 +26,7 @@
\preamble
-Copyright 2007-2019 Elsevier Ltd
+Copyright 2007-2020 Elsevier Ltd
This file is part of the 'Elsarticle Bundle'.
-------------------------------------------
diff --git a/macros/latex/contrib/elsarticle/manifest.txt b/macros/latex/contrib/elsarticle/manifest.txt
index d104860b23..5b073e1526 100644
--- a/macros/latex/contrib/elsarticle/manifest.txt
+++ b/macros/latex/contrib/elsarticle/manifest.txt
@@ -1,4 +1,4 @@
-% Copyright 2007-2019 Elsevier Ltd
+% Copyright 2007-2020 Elsevier Ltd
%
% This file is part of the 'Elsarticle Bundle'.
% ---------------------------------------------
@@ -76,3 +76,4 @@ Auxiliary packages needed to generate pdf output from elsdoc.tex:
rvdtx.sty
pdfwidgets.sty
+
diff --git a/macros/latex/contrib/everyshi/README.md b/macros/latex/contrib/everyshi/README.md
new file mode 100644
index 0000000000..faa5e4c17f
--- /dev/null
+++ b/macros/latex/contrib/everyshi/README.md
@@ -0,0 +1,27 @@
+# The obsolete LaTeX package `everyshi`
+
+Copyright (C) 1994–2001 Martin Schröder, 2020 Marei Peischl (peiTeX) <marei@peitex.de>
+
+everyshi 2020/11/18 v4.00 EveryShipout LaTeX Package
+
+***************************************************************************
+
+ This material is subject to the LaTeX Project Public License version 1.3c
+ or later. See http://www.latex-project.org/lppl.txt for details.
+
+***************************************************************************
+
+## Provided files
+
+* README.md
+* everyshi.dtx
+* everyshi.ins
+
+The files
+* everyshi.sty
+* everyshi-2001-05-15.sty
+can be generated from the everyshi.dtx by processing the everyshi.ins-file.
+
+## Version History
+
+ * v4.00 (2020-11-18) Mark as obsolete and restructure to use kernel methods, if available. \ No newline at end of file
diff --git a/macros/latex/contrib/ms/everyshi.dtx b/macros/latex/contrib/everyshi/everyshi.dtx
index b630b34946..5bae127c17 100644
--- a/macros/latex/contrib/ms/everyshi.dtx
+++ b/macros/latex/contrib/everyshi/everyshi.dtx
@@ -1,24 +1,50 @@
+% \iffalse meta-comment
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Copyright (C) Martin Schröder, 1994–2001
+% Marei Peischl (peiTeX) <marei@peitex.de>, 2020
+%
+% 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 `maintained'.
+%
+% The Current Maintainer of this work is
+% Marei Peischl <marei@peitex.de>.
+%
+% This work consists of the files
+% README.md
+% everyshi.dtx
+% everyshi.ins
+% and the derived files
+% everyshi.sty
+% everyshi-2001-05-15.sty
+% everyshi.pdf
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
% \iffalse
-%% File: everyshi.dtx Copyright (C) 2001 Martin Schr\"oder
%
-%<package>\NeedsTeXFormat{LaTeX2e}
+%<package|fallback>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{everyshi}
-%<package> [2001/05/15 v3.00 EveryShipout Package (MS)]
+%<package> [2020/11/18 v4.00 EveryShipout Package]
%
%<*driver>
-\ProvidesFile{everyshi.drv}
- [1999/06/08 v2.03 Driver for EveryShipout Package (MS)]
\documentclass{ltxdoc}
\usepackage{url}
-\usepackage[toc]{multitoc}
\usepackage{everyshi}
\GetFileInfo{everyshi.sty}
\setcounter{IndexColumns}{2}
\EnableCrossrefs
-%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
\CodelineIndex % Index code by line number
-\OnlyDescription % comment out for implementation details
-%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
+%\OnlyDescription % comment out for implementation details
\setcounter{IndexColumns}{2}
\setlength{\IndexMin}{30ex}
\setlength{\columnseprule}{.4pt}
@@ -26,22 +52,9 @@
\DocInput{everyshi.dtx}
\end{document}
%</driver>
-%
-% Copyright (C) 2001 by Martin Schr\"oder. All rights reserved.
-%
-% This program may be redistributed and/or modified under the terms
-% of the LaTeX Project Public License, either version 1.0 of this
-% license, or (at your option) any later version.
-% The latest version of this license is in
-% CTAN:macros/latex/base/lppl.txt.
-%
-% Happy users are requested to send me a postcard. :-)
-%
-% For error reports in case of UNCHANGED versions see everyshi.ins
-%
% \fi
+% \CheckSum{68}
%
-% \CheckSum{51}
%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -59,38 +72,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
%%
-%% \iffalse meta-comment
-%% ===================================================================
-%% @LaTeX-package-file{
-%% author = {Martin Schr\"oder},
-%% version = "3.00",
-%% date = "15 May 2001",
-%% filename = "everyshi.sty",
-%% address = {Martin Schr\"oder
-%% Cr\"usemannallee 3
-%% 28213 Bremen
-%% Germany},
-%% telephone = "+49-421-2239425",
-%% email = "martin@oneiros.de",
-%% pgp-Key = "2048 bit / KeyID 292814E5",
-%% pgp-fingerprint = "7E86 6EC8 97FA 2995 82C3 FEA5 2719 090E",
-% checksum = "51832 357 1434 12417",
-% codetable = "ISO/ASCII",
-% keywords = "LaTeX2e, \shipout",
-% supported = "yes",
-%% docstring = "LaTeX package which provides hooks into
-%% \cs{shipout}.
-%
-% The checksum field above contains a CRC-16
-% checksum as the first value, followed by
-% the equivalent of the standard UNIX wc
-% (word count) utility output of lines,
-% words, and characters. This is produced
-% by Robert Solovay's checksum utility."
-%% }
-%% ===================================================================
-%% \fi
-%
+% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
% \changes{v1.00}{1994/12/04}{New}
% \changes{v1.02}{1994/12/07}{Name changed from \textsf{atshipou} to
% \textsf{everyshi}}
@@ -99,17 +81,13 @@
% \changes{v2.02}{1998/08/09}{Documentation improved}
% \changes{v2.03}{1999/06/08}{Moved to LPPL}
% \changes{v3.00}{2001/05/15}{\cs{AtNextShipout} added}
-%
-% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
-% \newcommand*{\NEWfeature}[1]{%
-% \hskip 1sp \marginpar{\small\sffamily\raggedright
-% New feature\\#1}}
+% \changes{v4.00}{2020/11/18}{Mark \package{everyshi} as obsolete and use the kernel methods}
%
% ^^A -----------------------------
%
% \changes{v2.01}{1997-03-09}{Fixed use of \cs{newline} in title.}
% \title{\unskip
-% The \package{everyshi} package^^A
+% The obsolete \package{everyshi} package^^A
% \thanks{^^A
% The version umber of this file is \fileversion,
% last revised \filedate.\protect\newline
@@ -118,23 +96,23 @@
% systems''; strictly speaking it should be
% \textsf{everyshipout}.}^^A
% }
-% \author{Martin Schr\"oder\\[0.5ex]
-% \normalsize Cr\"usemannallee 3\\
-% \normalsize 28213 Bremen\\
-% \normalsize Germany\\
-% \normalsize martin@oneiros.de\\
-% \scriptsize \texttt{PGP-Key: 2048 bit / KeyID 292814E5}\\[-0.5em]
-% \scriptsize \texttt{7E86 6EC8 97FA 2995~~82C3 FEA5 2719 090E}}
+% \author{Martin Schröder\thanks{maintained by Marei Peischl}}
% \date{\filedate}
% \maketitle
%
% ^^A -----------------------------
-%
-%
+% \renewcommand*{\abstractname}{Why you should no longer use this package:}
% \begin{abstract}
-% This packages provides hooks into \cs{sshipout}
+% This packages provides hooks into \cs{sshipout}
% called \cs{EveryShipout} and \cs{AtNextShipout} analogous to
% \cs{AtBeginDocument}.
+%
+% With the introduction of the \LaTeX{} hook management this package became obsolete in 2020.
+% Information on their usage can be found in the the corresponding documentation for
+% \package{lthooks}\cite{lthooks-doc} and \package{ltshipout}\cite{ltshipout-doc}.
+% We only provide this package to allow backwards compatibility.
+% For current versions of \LaTeX{} it's only mapping the hooks to the original \package{everyshi} macros.
+% In case you use an older \LaTeX{} format, \package{everyshi} will automatically fallback to its' old implementation by loading \package{everyshi-2001-05-15}.
% \end{abstract}
%
% \pagestyle{headings}
@@ -147,19 +125,12 @@
%
% \section{Introduction}
%
+% \changes{v4.00}{2020/11/18}{Information on new kernel methods}
% This package provides the hooks \cs{EveryShipout} and
% \cs{AtNextShipout} whose arguments are executed after the output
% routine has constructed \cs{box255}, and before \cs{shipout} is
% called.
-%
-% An example application for this package would be a package for
-% adding text to the bottom of each page.
-% Such a package does exist: \package{prelim2e}\cite{package:prelim2e}.
-%
-% \changes{v3.00}{2001/05/15}{Reference to \package{eso-pic} added}
-% Another application is a package for adding pictures to every page:
-% \package{eso-pic}\cite{package:eso-pic}.
-%
+% \changes{v4.00}{2020/11/18}{Remove example applications.}
% ^^A -----------------------------
%
% \section{Usage}
@@ -172,7 +143,6 @@
% globally; there is currently no way to remove it.
%
% \DescribeMacro{\AtNextShipout}
-% \NEWfeature{2001/05/15}
% \cs{AtNextShipout}\marg{code} declares
% \mbox{$\langle$\emph{code}$\rangle$} that is saved internally
% and executed just before \emph{only the next} \cs{shipout}.
@@ -202,12 +172,23 @@
%
% ^^A -----------------------------
%
+% \begin{thebibliography}{1}
+% \bibitem{lthooks-doc}
+% Frank Mittelbach.
+% \newblock The \package{ltshipout} package.
+% \newblock \url{http://mirrors.ctan.org/macros/latex/base/lthooks-doc.pdf}
+% \bibitem{ltshipout-doc}
+% Frank Mittelbach.
+% \newblock The \package{ltshipout} package.
+% \newblock \url{http://mirrors.ctan.org/macros/latex/base/ltshipout-doc.pdf}
+% \end{thebibliography}
+%
% \StopEventually{^^A
-
% ^^A -----------------------------
%
% \section{Acknowledgements}
% ^^A
+% Thanks to Ulrike Fischer for the advice during preparation of Version 4.00.
% Version 2.0 of \package{everyshi} borrows heavily from
% \textsf{quire.tex} of the \textsf{Midnight Macros} by Marcel R.~van
% der Goot (\texttt{marcel@cs.caltech.edu}).
@@ -216,39 +197,34 @@
% As usual Rebecca Stiels improved the quality of this documentation.
%
%
-% ^^A -----------------------------
-%
-% \begin{thebibliography}{1}
-% \raggedright
-% \bibitem{package:eso-pic}
-% Rolf Niepraschk.
-% \newblock The \package{eso-pic} package.
-% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/contrib/eso-pic.dtx}.
-% \newblock \LaTeXe{} package.
-% \bibitem{package:prelim2e}
-% Martin Schr\"oder.
-% \newblock The \package{prelim2e} package.
-% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/prelim2e.dtx}.
-% \newblock \LaTeXe{} package.
-% \end{thebibliography}
-%
-% }
-%
+% \PrintChanges
+% }
% ^^A -----------------------------
%
% \section{The implementation}
+% \changes{v4.00}{2020/11/18}{Emulate everyshi if the kernel is new enough.}
% \raggedright
-%
% \begin{macrocode}
%<*package>
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{}{\input{everyshi-2001-05-15.sty}}
+\IfFormatAtLeastTF{2020/10/01}{}{\endinput}
+\protected \def \EveryShipout {\AddToHook{shipout/before}}
+\protected \def \AtNextShipout {\AddToHookNext{shipout/before}}
+%</package>
+% \end{macrocode}
+% \subsection{The original implementation by Martin Schröder}
+% To provide compatibility for older \LaTeX{} formats we wrap the
+% original implementation of \package{everyshi} version 3.00 into
+% the fallback package \package{everyshi-2001-05-15}.
+% \begin{macrocode}
+%<*fallback>
+\ProvidesPackage{everyshi-2001-05-15}
+ [2020/11/18 v4.00 EveryShipout Package (fallback mechanism)]
% \end{macrocode}
-%
-%
-%
-% ^^A -----------------------------
%
% \subsection{Allocations}
-% ^^A
+%
% First we allocate the hooks
% \begin{macro}{\@EveryShipout@Hook}
% \changes{v2.00}{1995/01/25}{Name changed from \cs{@shipouthook} to
@@ -391,7 +367,7 @@
% \end{macro}
%
% \begin{macrocode}
-%</package>
+%</fallback>
% \end{macrocode}
%
%
@@ -399,8 +375,3 @@
%
% \Finale
%
-% \PrintIndex\PrintChanges
-% ^^A Make sure that the index is not printed twice
-% ^^A (ltxdoc.cfg might have a second \PrintIndex command)
-% \let\PrintChanges\relax
-% \let\PrintIndex\relax
diff --git a/macros/latex/contrib/everyshi/everyshi.ins b/macros/latex/contrib/everyshi/everyshi.ins
new file mode 100644
index 0000000000..c1db76a10e
--- /dev/null
+++ b/macros/latex/contrib/everyshi/everyshi.ins
@@ -0,0 +1,49 @@
+\input docstrip.tex
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{everyshi.ins}
+ [2020/11/18 v4.0 Installation script for EveryShipout Package]
+
+\preamble
+Copyright (C) 1994–2001 Martin Schröder, 2020 Marei Peischl (peiTeX) <marei@peitex.de>
+
+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 `maintained'.
+
+The Current Maintainer of this work is
+ Marei Peischl <marei@peitex.de>.
+
+This work consists of the files everyshi.dtx and everyshi.ins
+and the derived files everyshi.sty and everyshi-2001-05-15.sty.
+
+\endpreamble
+\keepsilent
+\askforoverwritefalse
+\generate{
+ \file{everyshi.sty}{\from{everyshi.dtx}{package}}
+ \file{everyshi-2001-05-15.sty}{\from{everyshi.dtx}{fallback,origpackage}}
+}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* style files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space everyshi.sty}
+\Msg{* \space\space everyshi-2001-05-15.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file everysel.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `everyshi.ins'.
diff --git a/macros/latex/contrib/everyshi/everyshi.pdf b/macros/latex/contrib/everyshi/everyshi.pdf
new file mode 100644
index 0000000000..24ffeb921c
--- /dev/null
+++ b/macros/latex/contrib/everyshi/everyshi.pdf
Binary files differ
diff --git a/macros/latex/contrib/ms/README.md b/macros/latex/contrib/ms/README.md
new file mode 100644
index 0000000000..0d05a5ddbb
--- /dev/null
+++ b/macros/latex/contrib/ms/README.md
@@ -0,0 +1,12 @@
+# ms – Various LaTeX packages by Martin Schröder
+
+Copyright (C) 1994–2011 Martin Schröder
+
+everysel 2011/19/28 v2.1 EverySelectfont Package
+multitoc 1999/06/08 v2.01 MultiToc Package
+count1to 2009/05/25 v2.1 Count1to LaTeX Package
+
+The new upload has only been done to split the ms-bundle.
+The packages everyshi and prelim2e are no longer part of this bundle
+
+The current maintainer of this package is Marei Peischl <marei@peitex.de>
diff --git a/macros/latex/contrib/ms/count1to.dtx b/macros/latex/contrib/ms/count1to.dtx
index 53b7f148d0..35918bce60 100644
--- a/macros/latex/contrib/ms/count1to.dtx
+++ b/macros/latex/contrib/ms/count1to.dtx
@@ -1,500 +1,500 @@
-% \iffalse
-\NeedsTeXFormat{LaTeX2e}
-%<package>\ProvidesPackage{count1to}
-%<package> [2009/05/24 v2.1 Count1to9 Package (MS)]
-%
-%<*driver>
-\ProvidesFile{count1to.drv}
- [2009/05/24 v2.1 Driver for Count1to9 Package (MS)]
-\documentclass[a4paper]{ltxdoc}
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{microtype}
-\usepackage{booktabs}
-\usepackage{url}
-\usepackage{count1to}
-\usepackage[toc]{multitoc}
-\usepackage{svn}
-\usepackage{hypdoc}
-\usepackage{geometry}
-\GetFileInfo{count1to.sty}
-\setcounter{IndexColumns}{2}
-% onecolumn glossary
-\makeatletter
- \renewenvironment{theglossary}{%
- \glossary@prologue
- \setlength\emergencystretch{5em}
- \GlossaryParms \let\item\@idxitem \ignorespaces}{}
-\makeatother
-\EnableCrossrefs
-\RecordChanges
-%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
-\CodelineIndex % Index code by line number
-%\OnlyDescription % comment out for implementation details
-%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
-\setcounter{IndexColumns}{2}
-\setlength{\IndexMin}{30ex}
-\setlength{\premulticols}{\IndexMin}
-\addtolength{\oddsidemargin}{1cm}
-\addtolength{\textwidth}{-1cm}
-\begin{document}
- \DocInput{count1to.dtx}
-\end{document}
-%</driver>
-%^^A $Id: count1to.dtx 1368 2009-05-24 16:02:57Z oneiros $
-%
-% Copyright (c) 1994..2009 by Martin Schr\"oder. All rights reserved.
-%
-% 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 Martin Schr\"oder.
-%
-% This work consists of the files count1to.dtx and count1to.ins
-% and the derived file count1to.sty.
-%
-% \fi
-%
-% \CheckSum{112}
-%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-%% \iffalse meta-comment
-%% ===================================================================
-%% @LaTeX-style-file{
-%% author = {Martin Schr\"oder},
-%% version = "2.1",
-%% date = "24 May 2009",
-%% filename = "count1to.sty",
-%% address = {Martin Schr\"oder
-%% Barmer Stra\"se 14
-%% 44137 Dortmund
-%% Germany}
-%% telephone = "+49-231-1206574",
-%% email = "martin@oneiros.de",
-% codetable = "ISO/ASCII",
-% keywords = "LaTeX, pages",
-% supported = "yes",
-%% docstring = "LaTeX package which sets count1 to count9,
-%% which can be used to select certain pages
-%% with a driver.
-%% Also provides access to the number of pages
-%% of the document.
-%% Uses the everyshi package."
-%% }
-%% ===================================================================
-%% \fi
-%
-% \SVN $Rev: 1368 $
-% \SVN $Date: 2009-05-24 18:02:57 +0200 (So, 24. Mai 2009) $
-%
-% \changes{v1.00}{1994/12/07}{New}
-% \changes{v1.01}{1994/12/09}{Documentation improved}
-% \changes{v1.02}{1996/12/29}{Documentation improved}
-% \changes{v1.20}{1998/08/09}{Documentation improved}
-% \changes{v1.22}{1999/06/08}{Moved to LPPL}
-% \changes{v2.00}{2002/08/31}{Removed \texttt{TotalPages}}
-% \changes{v2.1}{2009/05/24}{New address}
-%
-% \newcommand*{\Count}[1]{\texttt{\symbol{92}count#1}}
-% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
-% \newcommand*{\NEWfeature}[1]{%
-% \hskip 1sp \marginpar{\small\sffamily\raggedright
-% New feature\\#1}}
-%
-% ^^A -----------------------------
-%
-% \changes{v1.03}{1997-03-09}{Fixed use of \cs{newline} in title.}
-% \title{\unskip
-% The \package{count1to} package^^A
-% \thanks{^^A
-% The version number of this file is \fileversion, subversion
-% revision~\#\SVNRev, last revised
-% \protect\SVNDate.\protect\newline
-% The name \textsf{count1to} is a tribute to the $8+3$ file-naming
-% convention of certain ancient ``operating systems''; strictly
-% speaking it should be \textsf{count1to9}.}
-% }
-% \changes{v2.00}{2002/08/31}{Changed e-mail}
-% \author{Martin Schr\"oder\\[0.5ex]
-% \normalsize Barmer Stra\ss{}e 14\\
-% \normalsize 44137 Dortmund\\
-% \normalsize Germany\\
-% \normalsize martin@oneiros.de}
-% \date{\filedate}
-% \maketitle
-%
-% ^^A -----------------------------
-%
-%
-% \begin{abstract}
-% This package sets \Count{1} to \Count{8} with the values
-% of \texttt{page} to \texttt{subparagraph}.
-% \Count{9} is used to flag odd pages.
-% The values of these counters are displayed and written in the
-% \textsf{.dvi} file by \TeX{} and can later be used to select
-% the pages of certain parts of the document for printing if the
-% device driver supports this.
-% \end{abstract}
-%
-% \pagestyle{headings}
-%
-% ^^A -----------------------------
-%
-% \tableofcontents
-%
-% ^^A -----------------------------
-%
-% \section{Introduction to version 2}
-% ^^A
-% The main change of this new version is the removal of the code for
-% the \texttt{TotalPages} label.
-% This code didn't work with the \package{hyperref}
-% package\cite{package:hyperref} and better code to achieve the
-% effect of it is contained in the \package{totpages}
-% package\cite{package:totpages}.
-% So old documents using this package will not work when they try to
-% use the \texttt{TotalPages} label; these documents must be changed
-% by inserting a \cs{usepackage\{totpages\}} in the preamble and
-% replacing all occurences of \texttt{TotalPages} by
-% \texttt{TotPages}.
-%
-% ^^A -----------------------------
-%
-% \section{Introduction}
-% ^^A
-% Most of the time users want to print only certain parts of a
-% document; but these can only be selected by using the page numbers
-% of these parts with most device drivers.
-% This can be dif\/ficult or impossible if pages in dif\/ferent
-% parts of the document have the same number---e.\,g. in the
-% frontmatter and the first text pages (iii vs. 3).
-%
-% \TeX{} provides an easy solution to this problem: whenever a page
-% is completed by the output routine and shipped out via
-% \cs{shipout}, it displayes the values of \Count{0} to \Count{9}
-% on the display (e.\,g. \texttt{[1]}) \emph{and writes them to the
-% \textsf{.dvi} file}.
-%
-% \changes{v1.02}{1996/12/29}{fixed typos}
-% \begin{quote}
-% ``The first ten \Count{} registers, \Count{0} to \Count{9},
-% are reserved for a special purpose: \TeX{} displays these ten
-% counts on your terminal whenever ouputting a page, and it
-% transmits them to the output file as an identification of that
-% page.
-% The counts are separated by decimal points on your terminal,
-% with trailing `\texttt{.0}' patterns suppressed.
-% Thus, for example, if \Count{0=5} and \Count{2=7} when a
-% page is shipped out to the \texttt{dvi} file, and if the other
-% counters are zero, \TeX{} will type `\texttt{[5.0.7]}'.
-% Plain \TeX{} uses \Count{0} for the page number, and it keeps
-% \Count{1} through~\Count{9} equal to zero; that is why you
-% see `\texttt{[1]}' when page~1 is being output.
-% In more complex applications the page numbers can have further
-% structure; ten counts are shipped out so that there will be
-% plenty of identification.''\cite[p\@. 119]{KnuthTeXa}
-% \end{quote}
-%
-% \noindent
-% Surprinsingly, until recently there existed no package for
-% \LaTeX{} that used these \Count{}ers although some drivers allow
-% the selection of pages based on other \Count{}s then \Count{0}
-% (e.\,g. em\TeX).
-%
-% This package is the solution: It uses the \package{everyshi}
-% package\cite{package:everyshi} to set \Count{1} to \Count{9} before
-% each \cs{shipout} with these values:
-%
-% \begin{center}
-% \begin{tabular}{cl}\toprule
-% \Count{} & value \\ \midrule
-% 0 & relative page number (set by \LaTeX)\\
-% 1 & absolute page number\\
-% 2 & number of current \cs{part} \\
-% 3 & number of current \cs{chapter} (0 with article class)\\
-% 4 & number of current \cs{section} \\
-% 5 & number of current \cs{subsection} \\
-% 6 & number of current \cs{subsubsection} \\
-% 7 & number of current \cs{paragraph} \\
-% 8 & number of current \cs{subparagraph} \\
-% 9 & 1 on odd pages, 0 on even pages\footnotemark\\
-% \bottomrule
-% \end{tabular}
-% \end{center}
-% \footnotetext{^^A
-% If you have a better application for \Count{9}, let me know.}
-%
-% \noindent
-% \textsf{count1to} also works with classes that do not define some
-% or all of the sectioning commands and their counters, like
-% \textsf{letter}.
-% Although it is of somewhat little use then \texttt{:-)}.
-%
-% A note for users of this package: When you select the pages of
-% some part of your document with a lower structure than
-% \cs{chapter}, remember that only \cs{part}s and \cs{chapter}s
-% start on a new page; if you want to print a complete
-% \cs{section}, you should also select the first page of the next
-% \cs{section}.
-% Also note that \TeX{} ships out the values of the counters instead
-% of their visual representation (produced with
-% \cs{the}\emph{counter}), so appendix A sets \Count{4} to 1 in the
-% article class.
-%
-% A note for developers of device drivers: Please add support for
-% \Count{1} to~\texttt{9} to your programs.
-% It would also be nice if users could easily select the next
-% page(s) after a certain count (something like
-% ``\texttt{*.*.*.*.2+1.*}'' should be possible for selecting all
-% pages with $\Count{4}\mapsto\mathrm{section}=2$ plus the first
-% page of section~3).
-%
-% ^^A -----------------------------
-%
-% \section{Options}
-% ^^A
-% The package has no options.
-%
-%
-% ^^A -----------------------------
-%
-% \section{Required packages}
-% ^^A
-% The package requires the \package{everyshi}
-% package\cite{package:everyshi}.
-%
-%
-% ^^A -----------------------------
-%
-% \StopEventually{^^A
-%
-% ^^A -----------------------------
-%
-% \section{Acknowledgements}
-% ^^A
-% As usual Rebecca Stiels improved the quality of this documentation.
-%
-%
-% ^^A -----------------------------
-%
-% \begin{thebibliography}{1}
-% \raggedright
-% \bibitem{package:lastpage}
-% Jeff Goldberg.
-% \newblock The \package{lastpage}-package.
-% \newblock \url{CTAN: tex-archive/macros/latex/contrib/other/lastpage}.
-% \newblock \LaTeXe{} package.
-% \bibitem{KnuthTeXa}
-% Donald~E.\ Knuth.
-% \newblock \emph{The {\TeX}Book}, volume~A of \emph{Computers
-% and Typesetting}.
-% \newblock Addison-Wes\-ley, 1986.
-% \newblock Eleventh printing, revised, May 1991.
-% \bibitem{package:totpages}
-% Wilhelm M\"uller.
-% \newblock The \package{totpages} package.
-% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/totpages/}.
-% \newblock \LaTeXe{} package.
-% \bibitem{package:hyperref}
-% Sebastian Rahtz.
-% \newblock Hypertext marks in \LaTeX.
-% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/hyperref/}.
-% \bibitem{package:everyshi}
-% Martin Schr\"oder.
-% \newblock The \package{everyshi} package.
-% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/everyshi.dtx}.
-% \newblock \LaTeXe{} package.
-% \end{thebibliography}
-%
-% }
-%
-%
-% ^^A -----------------------------
-%
-% \section{The implementation}
-% ^^A
-% \setlength{\parindent}{0pt}
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-%
-% We need the \package{everyshi} package.
-% \changes{v1.20}{1998/04/10}{don't require \textsf{ifthen}}
-% \changes{v1.10}{1997/11/01}{require \textsf{ifthen}}
-% \begin{macrocode}
-\RequirePackage{everyshi}[1994/12/09]
-% \end{macrocode}
-%
-% We need various \cs{if}s to check if the used counters
-% are defined.
-% \changes{v1.20}{1998/04/10}{\cs{newif} again}
-% \changes{v1.10}{1997/11/01}{\cs{newboolean}}
-% \begin{macrocode}
-\newif\if@have@part
-\newif\if@have@chapter
-\newif\if@have@section
-\newif\if@have@subsection
-\newif\if@have@subsubsection
-\newif\if@have@paragraph
-\newif\if@have@subparagraph
-% \end{macrocode}
-%
-% \begin{macro}{\@countItoIX@ifs}
-% \cs{@countItoIX@ifs} is used to set all these \cs{if}s at
-% |\begin{document}|.
-% It is undefined after use to save some space.
-% \changes{v2.00}{2002/08/31}{moved code for \cs{AtBeginDocument} to
-% \cs{@countItoIX@init}}
-% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
-% \changes{v1.10}{1997/11/01}{\cs{setboolean}}
-% \changes{v1.02}{1996/12/29}{destruct after usage}
-% \begin{macrocode}
-\newcommand*{\@countItoIX@ifs}{
- \@ifundefined{c@part} {}{\@have@parttrue}
- \@ifundefined{c@chapter} {}{\@have@chaptertrue}
- \@ifundefined{c@section} {}{\@have@sectiontrue}
- \@ifundefined{c@subsection} {}{\@have@subsectiontrue}
- \@ifundefined{c@subsubsection} {}{\@have@subsubsectiontrue}
- \@ifundefined{c@paragraph} {}{\@have@paragraphtrue}
- \@ifundefined{c@subparagraph} {}{\@have@subparagraphtrue}
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@countItoIX@bugfix}
-% The current version of \LaTeX{} has the ``feature'' that only the
-% first level of counters associated with a counter via the optional
-% argument of \cs{newcounter} is reset when the counter is stepped;
-% so when you start a new chapter, the number for the subsection is
-% not reset.
-% This is normally no problem, but with this package, it is: If this
-% bug is not fixed or worked-around, then whenever you use
-% \cs{subparagraph} or some other lower sectioning command, and
-% after that a sectioning command that is at least two levels higher
-% (e.\,g. \cs{subsubsection}), the value of \texttt{subparagraph}
-% would not be reset and would still be displayed and shipped out.
-% So we have to associate \emph{all} lower-level sectioning commands
-% with the higher levels.
-% This is done via \cs{@addtoreset} at \cs{begin\{document\}}.
-% \cs{@countItoIX@bugfix} is undefined after use to save some space.
-% \changes{v2.00}{2002/08/31}{moved code for \cs{AtBeginDocument} to
-% \cs{@countItoIX@init}}
-% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
-% \changes{v1.10}{1997/11/01}{\cs{ifthenelse}}
-% \changes{v1.02}{1996/12/29}{destruct after usage}
-% \begin{macrocode}
-\newcommand*{\@countItoIX@bugfix}{
- \if@have@part
- \@addtoreset{section} {part}
- \@addtoreset{subsection} {part}
- \@addtoreset{subsubsection}{part}
- \@addtoreset{paragraph} {part}
- \@addtoreset{subparagraph} {part}
- \fi
- \if@have@chapter
- \@addtoreset{subsection} {chapter}
- \@addtoreset{subsubsection}{chapter}
- \@addtoreset{paragraph} {chapter}
- \@addtoreset{subparagraph} {chapter}
- \fi
- \if@have@section
- \@addtoreset{subsubsection}{section}
- \@addtoreset{paragraph} {section}
- \@addtoreset{subparagraph} {section}
- \fi
- \if@have@subsection
- \@addtoreset{paragraph} {subsection}
- \@addtoreset{subparagraph} {subsection}
- \fi
- \if@have@subsubsection
- \@addtoreset{subparagraph} {subsubsection}
- \fi
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@countItoIX@init}
-% \changes{v2.00}{2002/08/31}{new}
-% \cs{@countItoIX@init} calls \cs{\@countItoIX@ifs} and
-% \cs{@countItoIX@bugfix} and then frees their memory.
-% This is done at \cs{begin\{document\}} via \cs{AtBeginDocument}.
-% \begin{macrocode}
-\newcommand*{\@countItoIX@init}{%
- \message{ABD: Count1to9 initializing macros}%
- \@countItoIX@ifs\let\@countItoIX@ifs\undefined
- \@countItoIX@bugfix\let\@countItoIX@bugfix\undefined
- }
-\AtBeginDocument{\@countItoIX@init}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\@countItoIX@shipout}
-% \cs{@countItoIX@shipout} is used for setting \Count{1} to
-% \Count{9} at each \cs{shipout}.
-% \begin{macrocode}
-\newcommand*{\@countItoIX@shipout}{
-% \end{macrocode}
-% \Count{1} is the absolute page number, which we have to maintain
-% by ourselves.
-% \begin{macrocode}
- \global\advance \count1 by 1
-% \end{macrocode}
-% \Count{2} to \Count{8} are set with the values of
-% \cs{part} to \cs{subparagraph}, if these commands are defined.^^A
-% \footnote{We should probably also check the value of
-% \texttt{secnumdepth}, but I don't think this is necessary.}
-% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
-% \changes{v1.10}{1997/11/01}{\cs{ifthenelse}}
-% \begin{macrocode}
- \if@have@part \count2\value{part} \fi
- \if@have@chapter \count3\value{chapter} \fi
- \if@have@section \count4\value{section} \fi
- \if@have@subsection \count5\value{subsection} \fi
- \if@have@subsubsection \count6\value{subsubsection} \fi
- \if@have@paragraph \count7\value{paragraph} \fi
- \if@have@subparagraph \count8\value{subparagraph} \fi
-% \end{macrocode}
-% \Count{9} is set to~1 on odd pages and to~0 on even pages.
-% \begin{macrocode}
- \ifodd\count1\count9=1 \else\count9=0 \fi
- }
-\EveryShipout{\@countItoIX@shipout}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-%
-% ^^A -----------------------------
-%
-% \Finale
-%
-% \PrintIndex\PrintChanges
-% ^^A Make sure that the index is not printed twice
-% ^^A (ltxdoc.cfg might have a second \PrintIndex command)
-% \let\PrintChanges\relax
-% \let\PrintIndex\relax
+% \iffalse
+\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{count1to}
+%<package> [2009/05/24 v2.1 Count1to9 Package (MS)]
+%
+%<*driver>
+\ProvidesFile{count1to.drv}
+ [2009/05/24 v2.1 Driver for Count1to9 Package (MS)]
+\documentclass[a4paper]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{microtype}
+\usepackage{booktabs}
+\usepackage{url}
+\usepackage{count1to}
+\usepackage[toc]{multitoc}
+\usepackage{svn}
+\usepackage{hypdoc}
+\usepackage{geometry}
+\GetFileInfo{count1to.sty}
+\setcounter{IndexColumns}{2}
+% onecolumn glossary
+\makeatletter
+ \renewenvironment{theglossary}{%
+ \glossary@prologue
+ \setlength\emergencystretch{5em}
+ \GlossaryParms \let\item\@idxitem \ignorespaces}{}
+\makeatother
+\EnableCrossrefs
+\RecordChanges
+%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
+\CodelineIndex % Index code by line number
+%\OnlyDescription % comment out for implementation details
+%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
+\setcounter{IndexColumns}{2}
+\setlength{\IndexMin}{30ex}
+\setlength{\premulticols}{\IndexMin}
+\addtolength{\oddsidemargin}{1cm}
+\addtolength{\textwidth}{-1cm}
+\begin{document}
+ \DocInput{count1to.dtx}
+\end{document}
+%</driver>
+%^^A $Id: count1to.dtx 1368 2009-05-24 16:02:57Z oneiros $
+%
+% Copyright (c) 1994..2009 by Martin Schr\"oder. All rights reserved.
+%
+% 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 Martin Schr\"oder.
+%
+% This work consists of the files count1to.dtx and count1to.ins
+% and the derived file count1to.sty.
+%
+% \fi
+%
+% \CheckSum{112}
+%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+%% \iffalse meta-comment
+%% ===================================================================
+%% @LaTeX-style-file{
+%% author = {Martin Schr\"oder},
+%% version = "2.1",
+%% date = "24 May 2009",
+%% filename = "count1to.sty",
+%% address = {Martin Schr\"oder
+%% Barmer Stra\"se 14
+%% 44137 Dortmund
+%% Germany}
+%% telephone = "+49-231-1206574",
+%% email = "martin@oneiros.de",
+% codetable = "ISO/ASCII",
+% keywords = "LaTeX, pages",
+% supported = "yes",
+%% docstring = "LaTeX package which sets count1 to count9,
+%% which can be used to select certain pages
+%% with a driver.
+%% Also provides access to the number of pages
+%% of the document.
+%% Uses the everyshi package."
+%% }
+%% ===================================================================
+%% \fi
+%
+% \SVN $Rev: 1368 $
+% \SVN $Date: 2009-05-24 18:02:57 +0200 (So, 24. Mai 2009) $
+%
+% \changes{v1.00}{1994/12/07}{New}
+% \changes{v1.01}{1994/12/09}{Documentation improved}
+% \changes{v1.02}{1996/12/29}{Documentation improved}
+% \changes{v1.20}{1998/08/09}{Documentation improved}
+% \changes{v1.22}{1999/06/08}{Moved to LPPL}
+% \changes{v2.00}{2002/08/31}{Removed \texttt{TotalPages}}
+% \changes{v2.1}{2009/05/24}{New address}
+%
+% \newcommand*{\Count}[1]{\texttt{\symbol{92}count#1}}
+% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
+% \newcommand*{\NEWfeature}[1]{%
+% \hskip 1sp \marginpar{\small\sffamily\raggedright
+% New feature\\#1}}
+%
+% ^^A -----------------------------
+%
+% \changes{v1.03}{1997-03-09}{Fixed use of \cs{newline} in title.}
+% \title{\unskip
+% The \package{count1to} package^^A
+% \thanks{^^A
+% The version number of this file is \fileversion, subversion
+% revision~\#\SVNRev, last revised
+% \protect\SVNDate.\protect\newline
+% The name \textsf{count1to} is a tribute to the $8+3$ file-naming
+% convention of certain ancient ``operating systems''; strictly
+% speaking it should be \textsf{count1to9}.}
+% }
+% \changes{v2.00}{2002/08/31}{Changed e-mail}
+% \author{Martin Schr\"oder\\[0.5ex]
+% \normalsize Barmer Stra\ss{}e 14\\
+% \normalsize 44137 Dortmund\\
+% \normalsize Germany\\
+% \normalsize martin@oneiros.de}
+% \date{\filedate}
+% \maketitle
+%
+% ^^A -----------------------------
+%
+%
+% \begin{abstract}
+% This package sets \Count{1} to \Count{8} with the values
+% of \texttt{page} to \texttt{subparagraph}.
+% \Count{9} is used to flag odd pages.
+% The values of these counters are displayed and written in the
+% \textsf{.dvi} file by \TeX{} and can later be used to select
+% the pages of certain parts of the document for printing if the
+% device driver supports this.
+% \end{abstract}
+%
+% \pagestyle{headings}
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+% ^^A -----------------------------
+%
+% \section{Introduction to version 2}
+% ^^A
+% The main change of this new version is the removal of the code for
+% the \texttt{TotalPages} label.
+% This code didn't work with the \package{hyperref}
+% package\cite{package:hyperref} and better code to achieve the
+% effect of it is contained in the \package{totpages}
+% package\cite{package:totpages}.
+% So old documents using this package will not work when they try to
+% use the \texttt{TotalPages} label; these documents must be changed
+% by inserting a \cs{usepackage\{totpages\}} in the preamble and
+% replacing all occurences of \texttt{TotalPages} by
+% \texttt{TotPages}.
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% Most of the time users want to print only certain parts of a
+% document; but these can only be selected by using the page numbers
+% of these parts with most device drivers.
+% This can be dif\/ficult or impossible if pages in dif\/ferent
+% parts of the document have the same number---e.\,g. in the
+% frontmatter and the first text pages (iii vs. 3).
+%
+% \TeX{} provides an easy solution to this problem: whenever a page
+% is completed by the output routine and shipped out via
+% \cs{shipout}, it displayes the values of \Count{0} to \Count{9}
+% on the display (e.\,g. \texttt{[1]}) \emph{and writes them to the
+% \textsf{.dvi} file}.
+%
+% \changes{v1.02}{1996/12/29}{fixed typos}
+% \begin{quote}
+% ``The first ten \Count{} registers, \Count{0} to \Count{9},
+% are reserved for a special purpose: \TeX{} displays these ten
+% counts on your terminal whenever ouputting a page, and it
+% transmits them to the output file as an identification of that
+% page.
+% The counts are separated by decimal points on your terminal,
+% with trailing `\texttt{.0}' patterns suppressed.
+% Thus, for example, if \Count{0=5} and \Count{2=7} when a
+% page is shipped out to the \texttt{dvi} file, and if the other
+% counters are zero, \TeX{} will type `\texttt{[5.0.7]}'.
+% Plain \TeX{} uses \Count{0} for the page number, and it keeps
+% \Count{1} through~\Count{9} equal to zero; that is why you
+% see `\texttt{[1]}' when page~1 is being output.
+% In more complex applications the page numbers can have further
+% structure; ten counts are shipped out so that there will be
+% plenty of identification.''\cite[p\@. 119]{KnuthTeXa}
+% \end{quote}
+%
+% \noindent
+% Surprinsingly, until recently there existed no package for
+% \LaTeX{} that used these \Count{}ers although some drivers allow
+% the selection of pages based on other \Count{}s then \Count{0}
+% (e.\,g. em\TeX).
+%
+% This package is the solution: It uses the \package{everyshi}
+% package\cite{package:everyshi} to set \Count{1} to \Count{9} before
+% each \cs{shipout} with these values:
+%
+% \begin{center}
+% \begin{tabular}{cl}\toprule
+% \Count{} & value \\ \midrule
+% 0 & relative page number (set by \LaTeX)\\
+% 1 & absolute page number\\
+% 2 & number of current \cs{part} \\
+% 3 & number of current \cs{chapter} (0 with article class)\\
+% 4 & number of current \cs{section} \\
+% 5 & number of current \cs{subsection} \\
+% 6 & number of current \cs{subsubsection} \\
+% 7 & number of current \cs{paragraph} \\
+% 8 & number of current \cs{subparagraph} \\
+% 9 & 1 on odd pages, 0 on even pages\footnotemark\\
+% \bottomrule
+% \end{tabular}
+% \end{center}
+% \footnotetext{^^A
+% If you have a better application for \Count{9}, let me know.}
+%
+% \noindent
+% \textsf{count1to} also works with classes that do not define some
+% or all of the sectioning commands and their counters, like
+% \textsf{letter}.
+% Although it is of somewhat little use then \texttt{:-)}.
+%
+% A note for users of this package: When you select the pages of
+% some part of your document with a lower structure than
+% \cs{chapter}, remember that only \cs{part}s and \cs{chapter}s
+% start on a new page; if you want to print a complete
+% \cs{section}, you should also select the first page of the next
+% \cs{section}.
+% Also note that \TeX{} ships out the values of the counters instead
+% of their visual representation (produced with
+% \cs{the}\emph{counter}), so appendix A sets \Count{4} to 1 in the
+% article class.
+%
+% A note for developers of device drivers: Please add support for
+% \Count{1} to~\texttt{9} to your programs.
+% It would also be nice if users could easily select the next
+% page(s) after a certain count (something like
+% ``\texttt{*.*.*.*.2+1.*}'' should be possible for selecting all
+% pages with $\Count{4}\mapsto\mathrm{section}=2$ plus the first
+% page of section~3).
+%
+% ^^A -----------------------------
+%
+% \section{Options}
+% ^^A
+% The package has no options.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Required packages}
+% ^^A
+% The package requires the \package{everyshi}
+% package\cite{package:everyshi}.
+%
+%
+% ^^A -----------------------------
+%
+% \StopEventually{^^A
+%
+% ^^A -----------------------------
+%
+% \section{Acknowledgements}
+% ^^A
+% As usual Rebecca Stiels improved the quality of this documentation.
+%
+%
+% ^^A -----------------------------
+%
+% \begin{thebibliography}{1}
+% \raggedright
+% \bibitem{package:lastpage}
+% Jeff Goldberg.
+% \newblock The \package{lastpage}-package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/other/lastpage}.
+% \newblock \LaTeXe{} package.
+% \bibitem{KnuthTeXa}
+% Donald~E.\ Knuth.
+% \newblock \emph{The {\TeX}Book}, volume~A of \emph{Computers
+% and Typesetting}.
+% \newblock Addison-Wes\-ley, 1986.
+% \newblock Eleventh printing, revised, May 1991.
+% \bibitem{package:totpages}
+% Wilhelm M\"uller.
+% \newblock The \package{totpages} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/totpages/}.
+% \newblock \LaTeXe{} package.
+% \bibitem{package:hyperref}
+% Sebastian Rahtz.
+% \newblock Hypertext marks in \LaTeX.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/hyperref/}.
+% \bibitem{package:everyshi}
+% Martin Schr\"oder.
+% \newblock The \package{everyshi} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/everyshi.dtx}.
+% \newblock \LaTeXe{} package.
+% \end{thebibliography}
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{The implementation}
+% ^^A
+% \setlength{\parindent}{0pt}
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% We need the \package{everyshi} package.
+% \changes{v1.20}{1998/04/10}{don't require \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{require \textsf{ifthen}}
+% \begin{macrocode}
+\RequirePackage{everyshi}[1994/12/09]
+% \end{macrocode}
+%
+% We need various \cs{if}s to check if the used counters
+% are defined.
+% \changes{v1.20}{1998/04/10}{\cs{newif} again}
+% \changes{v1.10}{1997/11/01}{\cs{newboolean}}
+% \begin{macrocode}
+\newif\if@have@part
+\newif\if@have@chapter
+\newif\if@have@section
+\newif\if@have@subsection
+\newif\if@have@subsubsection
+\newif\if@have@paragraph
+\newif\if@have@subparagraph
+% \end{macrocode}
+%
+% \begin{macro}{\@countItoIX@ifs}
+% \cs{@countItoIX@ifs} is used to set all these \cs{if}s at
+% |\begin{document}|.
+% It is undefined after use to save some space.
+% \changes{v2.00}{2002/08/31}{moved code for \cs{AtBeginDocument} to
+% \cs{@countItoIX@init}}
+% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{\cs{setboolean}}
+% \changes{v1.02}{1996/12/29}{destruct after usage}
+% \begin{macrocode}
+\newcommand*{\@countItoIX@ifs}{
+ \@ifundefined{c@part} {}{\@have@parttrue}
+ \@ifundefined{c@chapter} {}{\@have@chaptertrue}
+ \@ifundefined{c@section} {}{\@have@sectiontrue}
+ \@ifundefined{c@subsection} {}{\@have@subsectiontrue}
+ \@ifundefined{c@subsubsection} {}{\@have@subsubsectiontrue}
+ \@ifundefined{c@paragraph} {}{\@have@paragraphtrue}
+ \@ifundefined{c@subparagraph} {}{\@have@subparagraphtrue}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@countItoIX@bugfix}
+% The current version of \LaTeX{} has the ``feature'' that only the
+% first level of counters associated with a counter via the optional
+% argument of \cs{newcounter} is reset when the counter is stepped;
+% so when you start a new chapter, the number for the subsection is
+% not reset.
+% This is normally no problem, but with this package, it is: If this
+% bug is not fixed or worked-around, then whenever you use
+% \cs{subparagraph} or some other lower sectioning command, and
+% after that a sectioning command that is at least two levels higher
+% (e.\,g. \cs{subsubsection}), the value of \texttt{subparagraph}
+% would not be reset and would still be displayed and shipped out.
+% So we have to associate \emph{all} lower-level sectioning commands
+% with the higher levels.
+% This is done via \cs{@addtoreset} at \cs{begin\{document\}}.
+% \cs{@countItoIX@bugfix} is undefined after use to save some space.
+% \changes{v2.00}{2002/08/31}{moved code for \cs{AtBeginDocument} to
+% \cs{@countItoIX@init}}
+% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{\cs{ifthenelse}}
+% \changes{v1.02}{1996/12/29}{destruct after usage}
+% \begin{macrocode}
+\newcommand*{\@countItoIX@bugfix}{
+ \if@have@part
+ \@addtoreset{section} {part}
+ \@addtoreset{subsection} {part}
+ \@addtoreset{subsubsection}{part}
+ \@addtoreset{paragraph} {part}
+ \@addtoreset{subparagraph} {part}
+ \fi
+ \if@have@chapter
+ \@addtoreset{subsection} {chapter}
+ \@addtoreset{subsubsection}{chapter}
+ \@addtoreset{paragraph} {chapter}
+ \@addtoreset{subparagraph} {chapter}
+ \fi
+ \if@have@section
+ \@addtoreset{subsubsection}{section}
+ \@addtoreset{paragraph} {section}
+ \@addtoreset{subparagraph} {section}
+ \fi
+ \if@have@subsection
+ \@addtoreset{paragraph} {subsection}
+ \@addtoreset{subparagraph} {subsection}
+ \fi
+ \if@have@subsubsection
+ \@addtoreset{subparagraph} {subsubsection}
+ \fi
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@countItoIX@init}
+% \changes{v2.00}{2002/08/31}{new}
+% \cs{@countItoIX@init} calls \cs{\@countItoIX@ifs} and
+% \cs{@countItoIX@bugfix} and then frees their memory.
+% This is done at \cs{begin\{document\}} via \cs{AtBeginDocument}.
+% \begin{macrocode}
+\newcommand*{\@countItoIX@init}{%
+ \message{ABD: Count1to9 initializing macros}%
+ \@countItoIX@ifs\let\@countItoIX@ifs\undefined
+ \@countItoIX@bugfix\let\@countItoIX@bugfix\undefined
+ }
+\AtBeginDocument{\@countItoIX@init}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@countItoIX@shipout}
+% \cs{@countItoIX@shipout} is used for setting \Count{1} to
+% \Count{9} at each \cs{shipout}.
+% \begin{macrocode}
+\newcommand*{\@countItoIX@shipout}{
+% \end{macrocode}
+% \Count{1} is the absolute page number, which we have to maintain
+% by ourselves.
+% \begin{macrocode}
+ \global\advance \count1 by 1
+% \end{macrocode}
+% \Count{2} to \Count{8} are set with the values of
+% \cs{part} to \cs{subparagraph}, if these commands are defined.^^A
+% \footnote{We should probably also check the value of
+% \texttt{secnumdepth}, but I don't think this is necessary.}
+% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{\cs{ifthenelse}}
+% \begin{macrocode}
+ \if@have@part \count2\value{part} \fi
+ \if@have@chapter \count3\value{chapter} \fi
+ \if@have@section \count4\value{section} \fi
+ \if@have@subsection \count5\value{subsection} \fi
+ \if@have@subsubsection \count6\value{subsubsection} \fi
+ \if@have@paragraph \count7\value{paragraph} \fi
+ \if@have@subparagraph \count8\value{subparagraph} \fi
+% \end{macrocode}
+% \Count{9} is set to~1 on odd pages and to~0 on even pages.
+% \begin{macrocode}
+ \ifodd\count1\count9=1 \else\count9=0 \fi
+ }
+\EveryShipout{\@countItoIX@shipout}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% ^^A -----------------------------
+%
+% \Finale
+%
+% \PrintIndex\PrintChanges
+% ^^A Make sure that the index is not printed twice
+% ^^A (ltxdoc.cfg might have a second \PrintIndex command)
+% \let\PrintChanges\relax
+% \let\PrintIndex\relax
diff --git a/macros/latex/contrib/ms/everyshi.asc b/macros/latex/contrib/ms/everyshi.asc
deleted file mode 100644
index bb1eed36d3..0000000000
--- a/macros/latex/contrib/ms/everyshi.asc
+++ /dev/null
@@ -1,12 +0,0 @@
------BEGIN PGP MESSAGE-----
-Version: 2.6.3ia
-Comment: PGP sig of everyshi.dvi
-
-iQEVAwUAOwFX9+HJal4pKBTlAQFgzQgAm46axsBGuE+YzpINenw8Ns+BIsadiiPx
-X8IepfL9rDPX6m2CnDPYO8f1v2njKAQawxdWbi+KQkQ6ApdN7tUySzUDHK+Bu2yW
-I/0q3wnMWDC83f0Ebfrg9rVfmzhOw6D64Vp4tM3eufpu+KNvohQP0lCutFAFUaGt
-iHbsg+NRxJwSobRSyXyEt8uIgwp6wdHvxKXEpfwbNSJD3hv88rVbwq1cZeEggNPP
-CPjEJo09dOt6OgG+/znS9gvNkENATuIvFt+ZpBxthI5v0q/OLjaD7SllwHpza1vv
-RREXdlBQLNwQu6jBaAQozTJBNMUyo5E+TiV9WKI5XwfblSMO3pIIBw==
-=luvY
------END PGP MESSAGE-----
diff --git a/macros/latex/contrib/ms/everyshi.bug b/macros/latex/contrib/ms/everyshi.bug
deleted file mode 100644
index 29f4f1078c..0000000000
--- a/macros/latex/contrib/ms/everyshi.bug
+++ /dev/null
@@ -1,11 +0,0 @@
-This file is part of the everyshi package.
-------------------------------------------
-
-\ProvidesFile{everyshi.bug}[1999/06/08 v2.03 EveryShipout Package Bugs (MS)]
-
-This file contains problem-records and bug-reports. Unsolved problems
-and uncorrected but known bugs (so called features) start out with two
-exclamation marks before the number. Fixed problems will start with two
-asterisks.
-
-No bugs so far.
diff --git a/macros/latex/contrib/ms/everyshi.ins b/macros/latex/contrib/ms/everyshi.ins
deleted file mode 100644
index be7a239880..0000000000
--- a/macros/latex/contrib/ms/everyshi.ins
+++ /dev/null
@@ -1,113 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{everysel.ins}
- [1998/06/08 v2.03 Installation script for EveryShipout Package (MS)]
-%%
-%% Copyright (C) [1994..1999] by Martin Schr"oder. All rights reserved.
-%%
-%% This program may be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License, either version 1.0 of this
-%% license, or (at your option) any later version.
-%% The latest version of this license is in
-%% CTAN:macros/latex/base/lppl.txt.
-%%
-%% Happy users are requested to send me a postcard. :-)
-%%
-%% checksum = "36957 126 454 3799"
-%%
-%% The checksum field above contains a CRC-16 checksum as the first
-%% value, followed by the equivalent of the standard UNIX wc (word
-%% count) utility output of lines, words, and characters.
-%% This is produced by Robert Solovay's checksum utility.
-%%
-%% --------------- start of docstrip commands ------------------
-\input docstrip.tex
-{\ifx\endbatchfile\undefined
-\Msg{**********************************************}
-\Msg{*}
-\Msg{* This installation requires docstrip}
-\Msg{* version 2.4d or later.}
-\Msg{*}
-\Msg{* An older version of docstrip has been input}
-\Msg{*}
-\Msg{**********************************************}
-\errhelp{Move or rename old docstrip.tex.}
-\errmessage{Old docstrip in input path}
-\batchmode
-\csname @@end\endcsname
-\fi}
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* The everyshi distribution contains these files:}
-\Msg{*}
-\Msg{* \space\space everyshi.asc}
-\Msg{* \space\space everyshi.dtx}
-\Msg{* \space\space everyshi.dvi}
-\Msg{* \space\space everyshi.ins}
-\Msg{* \space\space everyshi.bug}
-\Msg{*}
-\Msg{* If you receive only some of these files from someone, complain!}
-\Msg{*}
-\Msg{***********************************************************}
-\preamble
-
-Copyright (C) [1994..1999] by Martin Schroeder. All rights reserved.
-
-This file is part of the EveryShi package
-
-This program may be redistributed and/or modified under the terms
-of the LaTeX Project Public License, either version 1.0 of this
-license, or (at your option) any later version.
-The latest version of this license is in
- CTAN:macros/latex/base/lppl.txt.
-
-Happy users are requested to send me a postcard. :-)
-
-The EveryShi package contains these files:
-
- everyshi.asc
- everyshi.dtx
- everyshi.dvi
- everyshi.ins
- everyshi.bug
-
-Error Reports in case of UNCHANGED versions to
-
- Martin Schr"oder
- Cr"usemannallee 3
- D-28213 Bremen
- Martin.Schroeder@ACM.org
-
-\endpreamble
-\declarepreamble\driverpreamble
-This file is part of the EveryShi package
------------------------------------------
-
-Copyright (C) [1994..1999] Martin Schroder. All rights reserved.
-
-To produce the documentation in the way you like you are allowed
-to change this driver file.
-\endpreamble
-
-\keepsilent
-\askforoverwritefalse
-\generate{\file{everyshi.sty}{\from{everyshi.dtx}{package}}
- \usepreamble\driverpreamble
- \file{everyshi.drv}{\from{everyshi.dtx}{driver}}
- }
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* style files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space everyshi.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file everysel.dtx}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing}
-\Msg{***********************************************************}
-\endbatchfile
-%%
-%% End of file `everyshi.ins'.
diff --git a/macros/latex/contrib/ms/everyshi.pdf b/macros/latex/contrib/ms/everyshi.pdf
deleted file mode 100644
index c2696042bd..0000000000
--- a/macros/latex/contrib/ms/everyshi.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/ms/prelim2e.ins b/macros/latex/contrib/ms/prelim2e.ins
deleted file mode 100644
index 00a57b5469..0000000000
--- a/macros/latex/contrib/ms/prelim2e.ins
+++ /dev/null
@@ -1,110 +0,0 @@
-%\NeedsTeXFormat{LaTeX2e}
-%\ProvidesFile{prelim2e.ins}
-% [2009/05/29 v1.3 Installation script for prelim2e Package (MS)]
-%%
-%% Copyright (C) 1995..2009 by Martin Schroeder.
-%%
-%% 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 Martin Schr\"oder.
-%%
-%% This work consists of the files prelim2e.dtx and prelim2e.ins
-%% and the derived file prelim2e.sty.
-%%
-%% $Id: prelim2e.ins 1374 2009-05-30 20:23:36Z oneiros $
-%% --------------- start of docstrip commands ------------------
-\input docstrip.tex
-{\ifx\endbatchfile\undefined
-\Msg{**********************************************}
-\Msg{*}
-\Msg{* This installation requires docstrip}
-\Msg{* version 2.4d or later.}
-\Msg{*}
-\Msg{* An older version of docstrip has been input}
-\Msg{*}
-\Msg{**********************************************}
-\errhelp{Move or rename old docstrip.tex.}
-\errmessage{Old docstrip in input path}
-\batchmode
-\csname @@end\endcsname
-\fi}
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* The prelim2e distribution contains these files:}
-\Msg{*}
-\Msg{* \space\space prelim2e.dtx}
-\Msg{* \space\space prelim2e.ins}
-\Msg{*}
-\Msg{* If you receive only some of these files from someone, complain!}
-\Msg{*}
-\Msg{***********************************************************}
-
-\preamble
-
-Copyright (C) 1995..2009 by Martin Schroeder.
-
-This file is part of the Prelim2e package
------------------------------------------
-
-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 Martin Schroeder.
-
-This work consists of the files prelim2e.dtx and prelim2e.ins
-and the derived file prelim2e.sty.
-
-\endpreamble
-\declarepreamble\driverpreamble
-
-Copyright (C) 1995..2009 Martin Schroeder.
-
-This file is part of the Prelim2e package
------------------------------------------
-
-To produce the documentation in the way you like you are allowed
-to change this driver file.
-
-\endpreamble
-
-
-% Don't display progress
-\keepsilent
-\askforoverwritefalse
-\generate{\file{prelim2e.sty}{\from{prelim2e.dtx}{package}}
- \usepreamble\driverpreamble
- \file{prelim2e.drv}{\from{prelim2e.dtx}{driver}}
- }
-
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space prelim2e.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the file prelim2e.drv}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing}
-\Msg{***********************************************************}
-\endbatchfile
-%%
-%% End of file `prelim2e.ins'.
-%% vim:syntax=tex:tw=70:ts=2
diff --git a/macros/latex/contrib/ms/prelim2e.pdf b/macros/latex/contrib/ms/prelim2e.pdf
deleted file mode 100644
index 5f1c8787f7..0000000000
--- a/macros/latex/contrib/ms/prelim2e.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/prelim2e/README.md b/macros/latex/contrib/prelim2e/README.md
new file mode 100644
index 0000000000..73b013b18d
--- /dev/null
+++ b/macros/latex/contrib/prelim2e/README.md
@@ -0,0 +1,26 @@
+# The LaTeX package `prelim2e`
+
+Copyright (C) 1995–2009 Martin Schröder, 2020 Marei Peischl (peiTeX) <marei@peitex.de>
+
+prelim2e 2020/11/24 v2.00 Prelim2e LaTeX Package
+
+***************************************************************************
+
+ This material is subject to the LaTeX Project Public License version 1.3c
+ or later. See http://www.latex-project.org/lppl.txt for details.
+
+***************************************************************************
+
+## Provided files
+
+* README.md
+* prelim2e.dtx
+* prelim2e.ins
+
+The files
+* prelim2e.sty
+can be generated from the prelim2e.dtx by processing the prelim2e.ins-file.
+
+## Version History
+
+ * v2.00 (2020-11-24) Reimplement the package using the kernel's hook management and switch to L3 Syntax
diff --git a/macros/latex/contrib/ms/prelim2e.dtx b/macros/latex/contrib/prelim2e/prelim2e.dtx
index e0a4b812b9..fad93426b3 100644
--- a/macros/latex/contrib/ms/prelim2e.dtx
+++ b/macros/latex/contrib/prelim2e/prelim2e.dtx
@@ -1,115 +1,88 @@
+% \iffalse meta-comment
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Copyright (C) Martin Schröder, 1994–2001
+% Marei Peischl (peiTeX) <marei@peitex.de>, 2020
+%
+% 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 `maintained'.
+%
+% The Current Maintainer of this work is
+% Marei Peischl <marei@peitex.de>.
+%
+% This work consists of the files
+% README.md
+% prelim2e.dtx
+% prelim2e.ins
+% and the derived files
+% prelim2e.sty
+% prelim2e.pdf
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
% \changes{v1.01}{1995/05/02}{Date added to \cs{NeedsTeXFormat}}
+% \changes{v2.00}{2020/11/24}{Complete rework to use the kernel methods instead of everyshi}
% \iffalse
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-%<package>\ProvidesPackage{prelim2e}
-%<package> [2009/05/29 v1.3 prelim2e Package (MS)]
+%<package>\ProvidesExplPackage{prelim2e}
+%<package> {2020/11/24}{2.0}{prelim2e Package}
%
%<*driver>
\ProvidesFile{prelim2e.drv}
- [2009/05/29 v1.3 Driver for prelim2e Package (MS)]
-\documentclass[a4paper]{ltxdoc}
-\usepackage[T1]{fontenc}
+ [2020/11/24 v2.0 Driver for prelim2e Package]
+\documentclass{l3doc}
\usepackage{url}
-\usepackage[toc]{multitoc}
-\usepackage{lmodern,microtype,svn}
-\usepackage{hypdoc}
+\DeclareUrlCommand\CTANlink{\def\UrlLeft{CTAN:\space}\def\UrlRight{}\urlstyle{tt}}
\usepackage{geometry}
\usepackage[scrtime]{prelim2e}
\GetFileInfo{prelim2e.sty}
\EnableCrossrefs
\RecordChanges % Gather update information
%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
-\CodelineIndex % Index code by line number
-%\OnlyDescription % comment out for implementation details
+\OnlyDescription % comment out for implementation details
%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
\setcounter{IndexColumns}{2}
+\oddsidemargin=2cm
+\marginparwidth=2.5cm
% onecolumn glossary
-\makeatletter
- \renewenvironment{theglossary}{%
- \glossary@prologue
- \setlength\emergencystretch{5em}
- \GlossaryParms \let\item\@idxitem \ignorespaces}{}
-\makeatother
-\setlength{\IndexMin}{40ex}
-\setlength{\columnseprule}{.4pt}
-\addtolength{\oddsidemargin}{2cm}
-\addtolength{\textwidth}{-2cm}
\begin{document}
\DocInput{prelim2e.dtx}
- \PrintIndex\PrintChanges
- % Make sure that the index is not printed twice
- % (ltxdoc.cfg might have a second \PrintIndex command)
- \let\PrintChanges\relax
- \let\PrintIndex\relax
\end{document}
%</driver>
+% \fi
%
-% Copyright (C) 1995..2009 by Martin Schr\"oder.
-%
-% 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 Martin Schröder
+% \CheckSum{104}
%
-% This work consists of the files prelim2e.dtx and prelim2e.ins
-% and the derived files prelim2e.sty
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
%
-% \fi
%
-% \CheckSum{129}
-%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%%
-%% \iffalse meta-comment
-%% ===================================================================
-%% @LaTeX-package-file{
-%% author = {Martin Schr\"oder},
-%% version = "1.3",
-%% date = "29 May 2009",
-%% filename = "prelim2e.sty",
-%% address = {Martin Schr\"oder
-%% Barmer Stra\"se 14
-%% 44137 Dortmund
-%% Germany},
-%% telephone = "+49-231-1206574",
-%% email = "martin@oneiros.de",
-% codetable = "ISO/ASCII",
-% keywords = "LaTeX2e, preliminary versions, versions",
-% dependences = "everyshi, scrtime",
-% supported = "yes",
-%% docstring = "LaTeX package which allows the marking of
-%% preliminary versions of a document."
-%% }
-%% ===================================================================
-%% \fi
-%
-% \SVN $Rev: 1374 $
-% \SVNdate $Date: 2009-05-30 22:23:36 +0200 (Sa, 30. Mai 2009) $
%
% \renewcommand{\PrelimWords}{^^A
% \package{prelim2e} package --
-% Version \fileversion (\SVNRev) --
+% Version \fileversion --
% Documentation \LaTeX{}ed^^A
% }
%
@@ -134,15 +107,8 @@
%
% \title{\unskip
% The \package{prelim2e} package^^A
-% \thanks{^^A
-% The version number of this file is \fileversion, subversion
-% revision~\#\SVNRev, last revised \protect\SVNDate.}^^A
% }
-% \author{Martin Schr\"oder\\[0.5ex]
-% \normalsize Barmer Stra\ss{}e 14\\
-% \normalsize 44137 Dortmund\\
-% \normalsize Germany\\
-% \normalsize \href{mailto:martin@oneiros.de}{\texttt{martin@oneiros.de}}}
+% \author{Martin Schröder\thanks{maintained by Marei Peischl <marei@peitex.de>}}
% \maketitle
%
% ^^A -----------------------------
@@ -169,14 +135,21 @@
%
% ^^A -----------------------------
%
+% \section{Requirements}
+% Version 2.00 requires the kernel hook management and is no longer
+% useable with LaTeX versions older than 2020/10/01. In case you have
+% any understandable reason, which requires the old implementation,
+% feel free to contact the maintainer.
+%
+% ^^A -----------------------------
+%
% \section{Usage}
% ^^A
% Simply using this package via
-% \mbox{\cs{usepackage\{}\package{prelim2e}\texttt{\}}} produces a
+% \mbox{\cs{usepackage}\texttt{\{}\package{prelim2e}\texttt{\}}} produces a
% text in the form of ``Preliminary version -- \today''.
%
-% \DescribeMacro{\PrelimText}
-% \DescribeMacro{\PrelimWords}
+% \begin{function}{\PrelimText,\PrelimWords}
% The text is produced by the commands \cs{PrelimText} and
% \cs{PrelimWords}, which can be changed via \cs{renewcommand} or by
% using options at the \cs{usepackage} command (see
@@ -184,16 +157,18 @@
%
% The footer for this documentation was produced by changing
% \cs{PrelimWords} to
-% \begin{quote}
%\begin{verbatim}
-%\renewcommand{\PrelimWords}{%
-% \textsf{prelim2e} package --
-% Version \fileversion (\svnInfoRevision) --
-% Documentation \LaTeX{}ed%
-% }
+% \renewcommand*{\PrelimWords}{%
+% \textsf{prelim2e} package --
+% Version \fileversion --
+% Documentation \LaTeX{}ed%
+% }
%\end{verbatim}
-% \end{quote}
+% \end{function}
%
+% \begin{function}{\PrelimTextStyle}
+% The style of the Text can be controlled by \cs{PrelimTextStyle}. This can also be adjusted using \cs{renewcommand*}. The default is set empty, but will use the default font in footnotesie.
+% \end{function}
%
% ^^A -----------------------------
%
@@ -263,9 +238,6 @@
% ^^A
% The package requires the following packages:
% \begin{description}
-% \item[\normalfont\package{everyshi}\cite{package:everyshi}]
-% It is used to implement the setting of the text below the normal
-% pagebody.
% \item[\normalfont\package{scrtime}\cite{package:scrtime}]
% \changes{v1.10}{1996/01/01}{\package{scrtime} instead of
% \package{printtim}}
@@ -288,9 +260,6 @@
%
% ^^A -----------------------------
%
-% \StopEventually{^^A
-%
-%
% ^^A -----------------------------
%
% \section{Acknowledgements}
@@ -329,72 +298,83 @@
% Mats Dahlgren.
% \newblock \package{vrsion} -- a \LaTeX{} Macro for version
% Numbering of Files.
-% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/vrsion/vrsion.dtx}.
+% \newblock \CTANlink{tex-archive/macros/latex/contrib/supported/vrsion/vrsion.dtx}.
% \newblock \LaTeXe{} package.
% \bibitem{package:scrtime}
% Markus Kohm.
% \newblock The \package{KOMA}-timedate-bundle.
-% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/koma-script/scrtime.dtx}.
-% \newblock \LaTeXe{} package.
-% \bibitem{package:everyshi}
-% Martin Schr\"oder.
-% \newblock The \package{everyshi} package.
-% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/everyshi.dtx}.
+% \newblock \CTANlink{tex-archive/macros/latex/contrib/supported/koma-script/scrtime.dtx}.
% \newblock \LaTeXe{} package.
% \bibitem{package:vrsion}
% Robert Tolksdorf.
% \newblock Kennzeichnung von Vorversionen eines Dokuments.
-% \newblock \url{CTAN: tex-archive/macros/latex209/contrib/prelim/}.
+% \newblock \CTANlink{tex-archive/macros/latex209/contrib/prelim/}.
% \newblock \LaTeX2.09 package.
% \end{thebibliography}
%
-% }
-%
+% \StopEventually{\PrintChanges}
%
% ^^A -----------------------------
%
% \section{The implementation}
-%
% \begin{macrocode}
%<*package>
% \end{macrocode}
-%
+% \begin{macrocode}
+%<@@=prelim>
+% \end{macrocode}
+
%
% ^^A -----------------------------
%
% \subsection{Initial Code}
+% The implementation of version 2.00 requires a the kernel's hook management.
+% Therefore we test if it's available and throw an error message if not.
+%
+% \begin{macrocode}
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{}{%
+ \PackageError{prelim2e}{
+ Format file is too old. Please update your LaTeX distribution.
+ }{
+ prelim2e of version 2.0 requires a format version of at least 2020/10/01
+ }%
+}
+% \end{macrocode}
+
% ^^A
-% \begin{macro}{\if@prelim@draft}
-% \cs{if@prelim@draft} is used to flag the use of the \option{draft}
+% \begin{variable}{\g_prelim_draft_bool}
+% \cs{g_prelim_draft_bool} is used to flag the use of the \option{draft}
% or \option{final} option.
% \begin{macrocode}
-\newif\if@prelim@draft
+\bool_new:N \g_prelim_draft_bool
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\if@prelim@time}
+% \begin{variable}{\g_prelim_time_bool}
% \changes{v1.10}{1996/01/01}{new}
-% \cs{if@prelim@time} is used to flag the use of the \option{time}
+% \cs{g_prelim_time_bool} is used to flag the use of the \option{time}
% option.
% \begin{macrocode}
-\newif\if@prelim@time
+\bool_new:N \g_prelim_time_bool
% \end{macrocode}
-% \end{macro}
+% \end{variable}
%
-% \begin{macro}{\if@prelim@scrtime}
+% \begin{variable}{\g_prelim_scrtime_bool}
% \changes{v1.20}{1997/05/12}{new}
-% \cs{if@prelim@scrtime} is used to flag the use of the \option{scrtime}
+% \cs{g_prelim_scrtime_bool} is used to flag the use of the \option{scrtime}
% option.
% \begin{macrocode}
-\newif\if@prelim@scrtime
+\bool_new:N \g_prelim_scrtime_bool
% \end{macrocode}
-% \end{macro}
+% \end{variable}
+%
%
% \begin{macro}{\PrelimWords}
% \cs{PrelimWords} holds the language-dependend text used in
% \cs{PrelimText}
% \begin{macrocode}
-\newcommand{\PrelimWords}{}
+\newcommand*{\PrelimWords}{}
% \end{macrocode}
% \end{macro}
%
@@ -411,11 +391,11 @@
% The \option{draft} and \option{final} option control the behavior
% of \package{prelim2e}: Only if \option{final} is used in
% \cs{documentclass} or
-% \mbox{\cs{usepackage\{}\package{prelim2e}\texttt{\}}} text is
+% \mbox{\cs{usepackage}\texttt{\{}\package{prelim2e}\texttt{\}}} text is
% produced.
% \begin{macrocode}
-\DeclareOption{draft}{\@prelim@drafttrue}
-\DeclareOption{final}{\@prelim@draftfalse}
+\DeclareOption{draft}{\bool_gset_true:N \g_prelim_draft_bool}
+\DeclareOption{final}{\bool_gset_false:N \g_prelim_draft_bool}
% \end{macrocode}
%
%
@@ -431,17 +411,17 @@
% \changes{v1.3}{2009/05/29}{\option{norsk} option added}
% \begin{macrocode}
\DeclareOption{danish}{%
- \renewcommand{\PrelimWords}{Forel\o{}big version}}
+ \renewcommand{\PrelimWords}{Forel\o{}big~version}}
\DeclareOption{english}{%
- \renewcommand{\PrelimWords}{Preliminary version}}
+ \renewcommand{\PrelimWords}{Preliminary~version}}
\DeclareOption{french}{%
- \renewcommand{\PrelimWords}{Version pr\'eliminaire}}
+ \renewcommand{\PrelimWords}{Version~pr\'eliminaire}}
\DeclareOption{german}{%
- \renewcommand{\PrelimWords}{Vorl\"aufige Version}}
+ \renewcommand{\PrelimWords}{Vorl\"aufige~Version}}
\DeclareOption{italian}{%
- \renewcommand{\PrelimWords}{Versione preliminare}}
+ \renewcommand{\PrelimWords}{Versione~preliminare}}
\DeclareOption{norsk}{%
- \renewcommand{\PrelimWords}{Forel\o{}pig versjon}}
+ \renewcommand{\PrelimWords}{Forel\o{}pig~versjon}}
% \end{macrocode}
%
%
@@ -461,7 +441,10 @@
% package.
% It implies \option{time}.
% \begin{macrocode}
-\DeclareOption{scrtime}{\@prelim@scrtimetrue\@prelim@timetrue}
+\DeclareOption{scrtime}{
+ \bool_gset_true:N \g_prelim_scrtime_bool
+ \bool_gset_true:N \g_prelim_time_bool
+}
% \end{macrocode}
%
%
@@ -475,10 +458,10 @@
% the \option{scrtime} option is selected.
% \begin{macrocode}
\DeclareOption*{%
- \if@prelim@scrtime
+ \bool_if:NT \g_prelim_scrtime_bool {
\PassOptionsToPackage{\CurrentOption}{scrtime}%
- \fi
- }
+ }
+}
% \end{macrocode}
%
%
@@ -498,13 +481,12 @@
% \subsection{Loading packages}
% ^^A
% \changes{v1.20}{1997/05/12}{check \cs{if@prelim@scrtime}}
-% We need the \package{everyshi} package---and \package{scrtime}, if the
-% \option{scrtime} option is specified.
+% \changes{v2.00}{2020/11/24}{remove \package{everyshi}}
+% We need the \package{scrtime} package if the \option{scrtime} option is specified.
% \begin{macrocode}
-\RequirePackage{everyshi}[1995/01/25]
-\if@prelim@scrtime
+\bool_if:NT \g_prelim_scrtime_bool {
\RequirePackage{scrtime}
-\fi
+}
% \end{macrocode}
%
%
@@ -520,19 +502,19 @@
% We first have to reset the style and size, otherwise the settings in
% effect at the point of text where \cs{ouput} is called would be used.
% \begin{macrocode}
-\newcommand{\PrelimText}{%
- \textnormal{%
- \footnotesize
- \PrelimTextStyle
- \PrelimWords{} -- \today
- \if@prelim@time
- \ -- \thistime
- \fi
- }%
+\newcommand{\PrelimText}{
+ \textnormal{
+ \footnotesize
+ \PrelimTextStyle
+ \PrelimWords{}~--~\today~
+ \bool_if:NT \g_prelim_time_bool {
+ \ --~
+ \thistime~
}
+ }
+}
% \end{macrocode}
% \end{macro}
-%
% \begin{macro}{\PrelimTextStyle}
% \cs{PrelimTextStyle} controls the style of the text produced by
% \cs{PrelimText}.
@@ -547,83 +529,69 @@
%
% \subsection{Putting the text below the page}
% ^^A
-% We put the text below the page via \cs{EveryShipout} provided by
-% the \package{everyshi} package.
-% This is done by \cs{@Prelim@EveryShipout}.
+% \changes{v2.00}{2020/11/24}{Use \LaTeX{} kernel method instead of everyshi}
+% We put the text below the page via \cs{AddtoHook{shipout/foreground}}.
+% This is done by \cs{\__prelim_every_shipout:}.
%
-% \begin{macro}{\@Prelim@EveryShipout}
+% Save the shipout origins to macros to adjust the position of the the
+% PrelimText similar to the older versions of prelim2e.
+% \begin{macrocode}
+\tl_const:Nx \c__prelim_horigin_tl {
+ \tl_if_exist:NTF \c__shipout_horigin_tl {
+ \c__shipout_horigin_tl
+ } {
+ 1in
+ }
+}
+
+\tl_const:Nx \c__prelim_vorigin_tl {
+ \tl_if_exist:NTF \c__shipout_vorigin_tl {
+ \c__shipout_vorigin_tl
+ } {
+ 1in
+ }
+}
+
+% \end{macrocode}
+% \begin{function}{\__prelim_every_shipout:}
% \changes{v1.10}{1996/01/01}{\cs{hbox to}$\rightarrow$\cs{hb@xt@}}
% \changes{v1.24}{2004/03/28}{Bugfix: Add missing \%.
% Bug reported by Carsten Heinz (\texttt{cheinz@gmx.de}).}
% \cs{@Prelim@EveryShipout} puts the text produced by \cs{PrelimText}
-% below the page.
-% To do this we modify \cs{box255}: We append a \cs{vbox} with height
-% and depth of 0pt and the width of \cs{box255} which contains a
-% \cs{hbox} with the width of \cs{box255} in which \cs{PrelimText}
-% is centered.
-% \begin{macrocode}
-\newcommand{\@Prelim@EveryShipout}{%
- \bgroup
-% \end{macrocode}
-% First we save the dimensions of \cs{box255}: height, width and depth;
-% and calculate the total height of \cs{box255}.
+% below the page. We do this using expl3-Syntax to directly access the measures of
+% the shipout box.
% \begin{macrocode}
- \dimen\z@=\wd\@cclv
- \dimen\@ne=\ht\@cclv
- \dimen\tw@=\dp\@cclv
- \dimen\thr@@=\dimen1
- \advance\dimen\thr@@ by \dimen\tw@
+\cs_new:Nn \__prelim_every_shipout: {
% \end{macrocode}
-% Then we set \cs{box255}:
-% A \cs{vbox} to the total height of \cs{box255}.
-% In this a \cs{hbox} to the width of \cs{box255} is included, in which
-% \cs{box255} is set.
+% We calculate the text position to match the implementation for versions before 2.0.
% \begin{macrocode}
- \global\setbox\@cclv\vbox to \dimen\thr@@{%
- \hb@xt@\dimen\z@{%
- \box\@cclv%
- \hss
- }%
+\put(\c__shipout_horigin_tl,\dim_eval:n {
+ -\c__shipout_vorigin_tl-\l_shipout_box_ht_plus_dp_dim-\topskip
+ })
+ {
+ \vbox_to_ht:nn {0pt} {
+ \hbox_to_wd:nn {\l_shipout_box_wd_dim} {
+ \let\protect\relax
+ \hfill\PrelimText\hfill
+ }
+ }
+ }
+}
% \end{macrocode}
-% To this we append the text produced by \cs{PrelimText}.
-% It is put in a \cs{vbox} to 0pt in which a \cs{hbox} to the width of
-% \cs{box255} is included, in which \cs{PrelimText} is set.
-% We have to reset \cs{protect} because it is set to \cs{noexpand} by
-% the output routine.
-% \begin{macrocode}
- \vbox to \z@{%
- \hb@xt@\dimen\z@{%
- \let\protect\relax
- \hfill\PrelimText\hfill
- }%
- \vss
- }%
- \vss
- }%
-% \end{macrocode}
-% Finally we set the dimensions of \cs{box255} to the values they had
-% before \cs{@Prelim@EveryShipout}.
-% \begin{macrocode}
- \wd\@cclv=\dimen\z@
- \ht\@cclv=\dimen\@ne
- \dp\@cclv=\dimen\tw@
- \egroup
- }
-% \end{macrocode}
-% \end{macro}
+% \end{function}
%
%
% ^^A -----------------------------
%
% \subsection{Tieing \package{prelim2e} into the system}
% ^^A
-% \cs{@Prelim@EveryShipout} is tied into the system via
-% \cs{EveryShipout}.
+% \cs{@Prelim@EveryShipout} is tied into the system using the
+% kernel's hook management.
% But only if the \option{draft} option is used.
% \begin{macrocode}
-\if@prelim@draft
- \EveryShipout{\@Prelim@EveryShipout}
-\fi
+\bool_if:NT \g_prelim_draft_bool {
+ \AddToHook{shipout/foreground}{\__prelim_every_shipout:}
+}
% \end{macrocode}
%
% \begin{macrocode}
@@ -634,4 +602,4 @@
% ^^A -----------------------------
%
% \Finale
-% ^^A vim:tw=70:ts=2
+% ^^A
diff --git a/macros/latex/contrib/prelim2e/prelim2e.ins b/macros/latex/contrib/prelim2e/prelim2e.ins
new file mode 100644
index 0000000000..915b516420
--- /dev/null
+++ b/macros/latex/contrib/prelim2e/prelim2e.ins
@@ -0,0 +1,59 @@
+\input docstrip.tex
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{prelim2e.ins}
+ [2020/11/22 v2.0 Installation script for Prelim2e Package]
+
+\preamble
+Copyright (C) 1995–2009 Martin Schröder, 2020; Marei Peischl (peiTeX) <marei@peitex.de>
+
+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 `maintained'.
+
+The Current Maintainer of this work is
+Marei Peischl <marei@peitex.de>.
+
+This work consists of the files prelim2e.dtx and prelim2e.ins
+and the derived file prelim2e.sty.
+
+The development repository can be found at
+ https://github.com/texhackse/prelim2e
+Please use the issue tracker for feedback!
+
+\endpreamble
+\declarepreamble\driverpreamble
+
+This file is part of the Prelim2e package
+-----------------------------------------
+Copyright (C) Martin Schröder, 1994–2001
+ Marei Peischl (peiTeX) <marei@peitex.de>, 2020
+
+\endpreamble
+
+% Don't display progress
+\keepsilent
+\askforoverwritefalse
+\generate{\file{prelim2e.sty}{\from{prelim2e.dtx}{package}}}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space prelim2e.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file prelim2e.drv}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `prelim2e.ins'.
diff --git a/macros/latex/contrib/prelim2e/prelim2e.pdf b/macros/latex/contrib/prelim2e/prelim2e.pdf
new file mode 100644
index 0000000000..21776acc80
--- /dev/null
+++ b/macros/latex/contrib/prelim2e/prelim2e.pdf
Binary files differ
diff --git a/macros/latex/contrib/ut-thesis/README b/macros/latex/contrib/ut-thesis/README
index 289425e90f..74457725ac 100644
--- a/macros/latex/contrib/ut-thesis/README
+++ b/macros/latex/contrib/ut-thesis/README
@@ -1,10 +1,12 @@
-LaTeX2e document class and template for graduate theses that conform to
-the guidelines of the School of Graduate Studies at the University of
-Toronto (as of 2008). [http://www.sgs.utoronto.ca/informationfor/+
-students/finup/producingthesis/formatting.htm]
+LaTeX2e document class for graduate theses
+that conform to the formatting requirements of
+the School of Graduate Studies at the University of Toronto,
+as of Fall 2020:
+[https://www.sgs.utoronto.ca/academic-progress/program-completion/formatting]
-Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>
-last updated at 16:17 (EDT) on Wed 25 Sep 2013
+Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>,
+ 2020-2024 Jesse Knight <jesse.knight@mail.utoronto.ca>
+last updated at 15:30 (EST) on Thu 19 Nov 2020
This work may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3c of this license
@@ -17,124 +19,14 @@ version 2005/12/01 or later.
This work has the LPPL maintenance status "maintained".
The Current Maintainer of this work is
-Francois Pitt <fpitt@cs.utoronto.ca>.
+Jesse Knight <jesse.knight@mail.utoronto.ca>.
-This work consists of the following files:
- README: this file
- ut-thesis.cls: class file
- ut-thesis.tex: template
+This work consists of the files:
+- README
+- ut-thesis.dtx
+- ut-thesis.ins
+- ut-thesis.pdf (derived user manual)
+- ut-thesis.cls (derived class file)
-See the comments inside each file for further details.
-
----------------
-Version History
----------------
-
-TODO:
-- [2012/12/06] Redefinition of \thebibliography not compatible with
- packages like natbib. Figure out how to fix this.
-
-v2.1: 2013/09/25 (Francois Pitt)
-- Changed definition of dedication environment to simply format its
- paragraph flush right with no header -- this also helps fix a bug
- where LaTeX complains of a "missing \item" when both dedication and
- acknowledgement sections are used (reported by Bardia Bina).
-
-v2.0: 2012/06/01 (Francois Pitt)
-- Rewritten to use standard packages: `setspace' to handle line spacing
- and `geometry' for page layout. Some options and macros have been
- renamed from v1.8, hence the change of major version number -- this
- version is _not_ fully backward-compatible because of these changes.
-- Renamed `oneandahalfspaced' option to `onehalfspaced' (for consistency
- with `setspace' package).
-- Removed `singlespaced', `oneandahalfspaced', `doublespaced', and
- `spacing' environments -- use environments from `setspace' package
- instead.
-- Renamed `spacednotes' option to `standardspacednotes' and added
- `singlespacednotes' option.
-- Added options `cleardoublepagestyleempty', `cleardoublepagestyleplain'
- and `cleardoublepagestylestandard' to set the default style for
- cleared pages, and new macros `\clearthesisdoublepage' and
- `\clearstandarddoublepage'.
-- Changed default options: now 1 1/2-spaced and LaTeX default font size.
-- Renamed `utthesis' page style to `thesis'.
-- The abstract is no longer put on a right-side page by default.
-- Cleaned up the code and comments throughout.
-
-v1.8: 2000/02/20, 1999/12/10 (Francois Pitt)
-- Minor formatting changes to comments.
-- Fixed circular definition problem with \currenttextsize that caused
- TeX to run out of input stack memory.
-
-v1.7: 1999/06/02, 1999/05/20, 1999/05/13 (Francois Pitt)
-- Minor change to the format of the date printed on every page with the
- `draft' option.
-- Minor cosmetic change to the word "DRAFT" printed on the corners of
- every page with the `draft' option.
-- Made `draft' mode doublespaced by default (it just makes more sense
- for actual drafts; suggested by Eric Joanis).
-- Changed \currenttextsize from a "\newcommand" to a "\let".
-- Added "known bugs" above.
-
-v1.6: 1999/03/06 (Francois Pitt)
-- Minor change: replaced ``\ifx\empty#1\else...\fi'' with
- ``\ifx\empty#1\empty\else...\fi'' (the former works only by accident
- while the latter is logically correct).
-
-v1.5: 1999/02/17 (Francois Pitt)
-- Fixed missing page numbers and headers by removing redefinition of
- \cleardoublepage (reported by Robert Bernecky 1999/02/04 and Nedialko
- Nedialkov 1999/02/12).
-- Added \clearemptydoublepage and \clearplaindoublepage commands.
-- Removed redefinitions of \tableofcontents, \listoftables, and
- \listoffigures because they already call \clearpage or
- \cleardoublepage by default.
-- Removed "\setcounter{tocdepth}{2}" from the page layout section (moved
- to `ut-thesis.tex' where it belongs).
-- Added \ignore command to comment out parts of a file.
-- Put version macros at the top of the file.
-- Changed order of revision comments.
-
-v1.4: 1998/11/05 (Francois Pitt)
-- Fixed `abstract' environment so that it is really put on a separate
- page, and changed "\newpage\endgroup" at the end to
- "\par\endgroup\newpage", which is more logical.
-- Changed `acknowledgements' environment so that it is *not* put on a
- separate page, allowing users to add other text on that page (e.g.,
- `dedication' described next).
-- Added `dedication' environment based on `acknowledgements'
- (suggested by Robert Bernecky 98/11/04).
-- Changed page layout so that it is defined in terms of the physical
- page size instead of being hard-coded for letter paper (8.5" x 11").
-
-v1.3: 1998/11/01 (Francois Pitt)
-- Fixed `thebibliography' so page headers are generated in the same
- style as for the rest of the thesis.
-- Swapped \endgroup and \newpage in definition of `abstract' and
- `acknowledgements' environments, to fix problem with adjusted line
- spacing in `abstract'.
-- Renamed `\currentsize' to `\currenttextsize'.
-- Added \cleardoublepage at the end of preliminary sections, so that
- page 1 of main text is on right-hand side.
-
-v1.2: 1998/10/20 (Francois Pitt)
-- Changed `spacenotes' option to `spacednotes' to have more consistently
- named options.
-- Fixed spacing between main text and footnotes.
-- Fixed `singlespaced' environment, which didn't seem to work at all
- (reported by Nedialko Nedialkov 98/10/12): Actually, created a
- `newspacing' environment, which takes a parameter, and based
- `singlespaced', `oneandahalfspaced', and `doublespaced' environments
- on `newspacing'.
-
-v1.1: 1998/10/01 (Francois Pitt)
-- Fixed bug that caused footnotes to make following tables single-spaced
- (reported by Philip Edmonds 98/09/30).
-- Made spacing of marginal notes and footnotes the same.
-- Added option to control line spacing of notes.
-- Added options to control the size of margins.
-- Changed names of temporary macros used in redefinitions to avoid
- conflicts with existing names.
-
-v1.0: 1998/09/29 (Francois Pitt)
-- Initial version.
+See version history on GitHub:
+[https://github.com/jessexknight/ut-thesis] \ No newline at end of file
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.cls b/macros/latex/contrib/ut-thesis/ut-thesis.cls
deleted file mode 100644
index f9f83f3738..0000000000
--- a/macros/latex/contrib/ut-thesis/ut-thesis.cls
+++ /dev/null
@@ -1,497 +0,0 @@
-%% ut-thesis.cls -- document class for graduate theses at UofT
-%%
-%% Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>
-%% last updated at 16:18 (EDT) on Wed 25 Sep 2013
-%%
-%% 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 "maintained".
-%%
-%% The Current Maintainer of this work is
-%% Francois Pitt <fpitt@cs.utoronto.ca>.
-%%
-%% This work consists of the files listed in the accompanying README.
-
-%% USAGE: \documentclass{ut-thesis}
-%% \documentclass[...options...]{ut-thesis}
-%%
-%% The default settings produce a final copy, ready for submission to
-%% the School of Graduate Studies (SGS) at the University of Toronto:
-%% single-sided, "normal" margins (see below), one-and-a-half spaced
-%% with single-spaced notes.
-%%
-%% OPTIONS:
-%%
-%% - Any standard option for the LaTeX2e `report' class, including
-%% `10pt', `11pt', `12pt', `oneside', `twoside', etc.
-%%
-%% - `narrowmargins', `normalmargins', `widemargins', or
-%% `extrawidemargins': Set the size of the margins, as follows:
-%% . `narrow': 1 1/4" on the left, 3/4" on all other sides,
-%% headers & footers 3/8" from body
-%% (these are the minimum values required by SGS);
-%% . `normal': 1 1/4" on the left, 1" on all other sides,
-%% headers & footers 1/2" from body;
-%% . `wide': 1 1/4" on all sides,
-%% headers & footers 5/8" from body;
-%% . `extrawide': 1 1/2" on all sides,
-%% headers & footers 3/4" from body.
-%% If you have more than just a few marginal notes, it is recommended
-%% that you use at least `wide' margins. For other settings, use the
-%% \geometry command (see the template for details).
-%%
-%% - `singlespaced', `oneandahalfspaced', or `doublespaced': Set the
-%% entire document's default line spacing (except for notes, which
-%% are single-spaced by default). For other settings, use the
-%% \setstretch command (see the template for details).
-%%
-%% - `singlespacednotes' or `standardspacednotes': Set line spacing
-%% for footnotes and marginal notes: either single-spaced or the same
-%% as the rest of the document.
-%%
-%% - `cleardoublepagestyleempty', `cleardoublepagestyleplain', or
-%% `cleardoublepagestylestandard': Set the page style for all
-%% "cleared" pages (empty pages inserted in two-sided documents to
-%% put the next page on the right-hand side) to either `empty',
-%% `plain', or whatever style is in effect when the page is cleared
-%% (the default).
-%%
-%% - `draft': Produce a draft copy (double-sided, double-spaced,
-%% normal margins, with the word "DRAFT" printed at all four corners
-%% of every page).
-%%
-%% Note that these options can be used to override the default or draft
-%% document settings, so that it is possible, for example, to create a
-%% double-sided final copy, or a 1 1/2-spaced draft copy with wide
-%% margins, etc. You may use standard LaTeX packages to tailor the
-%% layout and formatting in other ways.
-%% Also note that when producing double-sided documents while _not_ in
-%% draft mode, new chapters and preliminary sections will always start
-%% on a right-hand page under the default settings (inserting a blank
-%% page if needed). This can be overridden by using the `openany' or
-%% `openright' options. To achieve this effect for individual sections
-%% or chapters, use \cleardoublepage -- or one of the more specific
-%% \clearemptydoublepage, \clearplaindoublepage, \clearthesisdoublepage,
-%% or \clearstandarddoublepage (see below for details).
-%%
-%% NEW ENVIRONMENTS and COMMANDS:
-%%
-%% * \degree{...}: (preamble only; REQUIRED)
-%% Specify the name of the degree (e.g., "Doctor of Philosophy").
-%%
-%% * \department{...}: (preamble only; REQUIRED)
-%% Specify the name of the graduate department.
-%%
-%% * \gradyear{...}: (preamble only; REQUIRED)
-%% Specify the year of graduation (defaults to current year).
-%%
-%% * \author{...}: (preamble only; REQUIRED)
-%% Specify the name of the author.
-%%
-%% * \title{...}: (preamble only; REQUIRED)
-%% Specify the title of the thesis.
-%%
-%% - \begin{preliminary}...\end{preliminary}:
-%% Delimit head matter (title page, abstract, table of contents,
-%% lists of tables and figures, etc.): set the page style and
-%% numbering for the preliminary sections and reset them for the main
-%% document.
-%%
-%% - \maketitle:
-%% Generate the title page from the information supplied in the
-%% preamble.
-%%
-%% - \begin{abstract}...\end{abstract}:
-%% Generate the abstract page, double-sided. (According to SGS
-%% guidelines, this must immediately follow the title page.)
-%%
-%% - \begin{dedication}...\end{dedication}:
-%% Generate a dedication section, if needed (just a paragraph
-%% formatted flush right).
-%%
-%% - \begin{acknowledgements}...\end{acknowledgements}:
-%% Generate an acknowledgements section, if needed.
-%%
-%% Note that neither the `dedication' nor the `acknowledgements' are
-%% put on a separate page by default (use \newpage to do this
-%% explicitly). Also note that the table of contents, list of
-%% tables, and list of figures can be generated using the usual LaTeX
-%% commands.
-%%
-%% - \begin{longquote}...\end{longquote}:
-%% Single-spaced version of the `quote' environment.
-%%
-%% - \begin{longquotation}...\end{longquotation}:
-%% Single-spaced version of the `quotation' environment.
-%%
-%% - \clearemptydoublepage, \clearplaindoublepage,
-%% \clearthesisdoublepage:
-%% Same as \cleardoublepage except that cleared pages have style
-%% `empty', `plain', or `thesis' respectively.
-%%
-%% - \clearstandarddoublepage:
-%% Same as the original \cleardoublepage (cleared pages use the style
-%% currently in effect) -- used to override the effects of options
-%% `cleardoublepagestyleempty' or `cleardoublepagestyleplain'.
-%%
-%% The companion file `ut-thesis.tex' contains a skeleton illustrating
-%% the use of this class.
-
-
-%%%%%%%%%%%% IDENTIFICATION %%%%%%%%%%%%
-
-\newcommand*{\utthesisversion}{v2.0} % current version number
-\newcommand*{\utthesisupdated}{2012/06/01} % date of last change(s)
-
-\NeedsTeXFormat{LaTeX2e}[1995/12/01] % robust macros with * form
-\ProvidesClass{ut-thesis}[\utthesisupdated\space\utthesisversion\space
- graduate theses at the University of Toronto]
-
-
-%%%%%%%%%%%% INITIAL CODE %%%%%%%%%%%%
-
-%% Switch for testing draft mode (toggled by `draft' option).
-\newif\if@draft
-\@draftfalse
-
-%% Switch for testing current page style.
-\newif\if@thesispagestyle
-\@thesispagestyletrue
-
-%% Save original definitions of footnote and marginal note macros and
-%% lengths, to be able to reset them below as needed (when changing
-%% between single-spaced and standard-spaced notes).
-\let\@thesis@footnotetext\@footnotetext
-\let\@thesis@mpfootnotetext\@mpfootnotetext
-\let\@thesis@marginparreset\@marginparreset
-\newlength{\@thesisfootnotesep}
-\newlength{\@thesismarginparpush}
-\AtBeginDocument
- {\setlength\@thesisfootnotesep{\footnotesep}
- \setlength\@thesismarginparpush{\marginparpush}}
-
-%% Save original definition of \cleardoublepage.
-\let\clearstandarddoublepage\cleardoublepage
-
-%% The \singlespacing macro from `setspace' includes some vertical space
-%% (to make it easier to change line spacing within the document).
-%% Unfortunately, this has undesirable side-effects within macros, so we
-%% define our own replacement here for use within the class.
-\newcommand*{\singlespacingnoskip}{\setstretch{\setspace@singlespace}}
-
-
-%%%%%%%%%%%% OPTION DECLARATION %%%%%%%%%%%%
-
-%% `draft' option: change default document settings.
-\DeclareOption{draft}{\@drafttrue
- \newcommand*{\tlDRAFT}%
- {\raisebox{ 3ex}[0pt][0pt]{\llap{\sffamily\scriptsize DRAFT\ \ }}}
- \newcommand*{\trDRAFT}%
- {\raisebox{ 3ex}[0pt][0pt]{\rlap{\sffamily\scriptsize \ \ DRAFT}}}
- \newcommand*{\blDRAFT}%
- {\raisebox{-3ex}[0pt][0pt]{\llap{\sffamily\scriptsize DRAFT\ \ }}}
- \newcommand*{\brDRAFT}%
- {\raisebox{-3ex}[0pt][0pt]{\rlap{\sffamily\scriptsize \ \ DRAFT}}}
- \ExecuteOptions{doublespaced}
- \PassOptionsToClass{draft,twoside,openany}{report}}
-
-%% Margin options.
-\DeclareOption{narrowmargins}{\AtEndOfClass % 1 1/4" left, 3/4" others
- {\geometry{margin=.75in,left=1.25in,headsep=.375in-\headheight,
- footskip=.375in,marginparwidth=.5in,marginparsep=.125in}}}
-\DeclareOption{normalmargins}{\AtEndOfClass % 1 1/4" left, 1" others
- {\geometry{margin=1in,left=1.25in,headsep=.5in-\headheight,
- footskip=.5in,marginparwidth=.75in,marginparsep=.125in}}}
-\DeclareOption{widemargins}{\AtEndOfClass % 1 1/4" all around
- {\geometry{margin=1.25in,headsep=.625in-\headheight,
- footskip=.625in,marginparwidth=.75in,marginparsep=.25in}}}
-\DeclareOption{extrawidemargins}{\AtEndOfClass % 1 1/2" all around
- {\geometry{margin=1.5in,headsep=.75in-\headheight,
- footskip=.75in,marginparwidth=1in,marginparsep=.25in}}}
-
-%% Line Spacing options.
-\DeclareOption{singlespaced}{\AtEndOfClass{\singlespacingnoskip}}
-\DeclareOption{onehalfspaced}{\AtEndOfClass{\onehalfspacing}}
-\DeclareOption{doublespaced}{\AtEndOfClass{\doublespacing}}
-
-%% Line spacing for notes.
-\DeclareOption{singlespacednotes}{\AtBeginDocument
- {\setlength\footnotesep{\@thesisfootnotesep}
- \setlength\marginparpush{\@thesismarginparpush}
- \renewcommand{\@footnotetext}[1]%
- {\@thesis@footnotetext{#1\singlespacingnoskip}}
- \renewcommand{\@mpfootnotetext}[1]%
- {\@thesis@mpfootnotetext{#1\singlespacingnoskip}}
- \renewcommand*{\@marginparreset}%
- {\@thesis@marginparreset\singlespacingnoskip}}}
-\DeclareOption{standardspacednotes}{\AtBeginDocument
- {\setlength\footnotesep{\baselineskip-\@thesisfootnotesep}
- \setlength\marginparpush{\baselineskip-\@thesismarginparpush}
- \let\@footnotetext\@thesis@footnotetext
- \let\@mpfootnotetext\@thesis@mpfootnotetext
- \let\@marginparreset\@thesis@marginparreset}}
-
-%% Page styles for cleared pages.
-\DeclareOption{cleardoublepagestyleempty}
- {\AtEndOfClass{\let\cleardoublepage\clearemptydoublepage}}
-\DeclareOption{cleardoublepagestyleplain}
- {\AtEndOfClass{\let\cleardoublepage\clearplaindoublepage}}
-\DeclareOption{cleardoublepagestylestandard}
- {\AtEndOfClass{\let\cleardoublepage\clearstandarddoublepage}}
-
-%% All other options are passed to the base class directly.
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
-
-
-%%%%%%%%%%%% OPTION EXECUTION %%%%%%%%%%%%
-
-%% Default settings: standard options followed by ut-thesis options.
-\ExecuteOptions{letterpaper,oneside,openright}
-\ExecuteOptions{normalmargins,onehalfspaced,singlespacednotes}
-
-%% Process options.
-\ProcessOptions
-
-
-%%%%%%%%%%%% PACKAGE LOADING %%%%%%%%%%%%
-
-%% Load base class using current setting for basic options.
-\LoadClass{report}
-
-%% To set/change page layout.
-\RequirePackage{calc}
-\RequirePackage{geometry}
-
-%% To set/change line spacing.
-\RequirePackage{setspace}
-
-
-%%%%%%%%%%%% MAIN CODE %%%%%%%%%%%%
-
-%%%%%% Parameters
-
-%% The following five commands set the respective field values so we can
-%% generate the title page and abstract page automatically.
-\newcommand*{\degree}[1]%
- {\ifx\empty#1\empty\else\gdef\@degree{#1}\fi}
-\newcommand*{\department}[1]%
- {\ifx\empty#1\empty\else\gdef\@department{#1}\fi}
-\newcommand*{\gradyear}[1]%
- {\ifx\empty#1\empty\else\gdef\@gradyear{#1}\fi}
-\renewcommand*{\author}[1]%
- {\ifx\empty#1\empty\else\gdef\@author{#1}\fi}
-\renewcommand*{\title}[1]%
- {\ifx\empty#1\empty\else\gdef\@title{#1}\fi}
-
-%% Default values for the required fields.
-\degree{\emph{(degree)}}
-\department{\emph{(department)}}
-\gradyear{\emph{(year of graduation)}}
-\author{\emph{(author)}}
-\title{\emph{(title)}}
-
-%%%%%% New formatting environments and commands.
-
-%% \begin{preliminary} sets the pagestyle and page numbering for the
-%% preliminary sections; \end{preliminary} resets the page numbering.
-%% The default page style is used outside of the preliminary block.
-\newenvironment*{preliminary}%
- {\pagestyle{plain}\pagenumbering{roman}}%
- {\cleardoublepage\pagenumbering{arabic}}
-
-%% Change \maketitle to follow SGS guidelines.
-\renewcommand*{\maketitle}%
- {\begin{titlepage}
- \large\singlespacingnoskip
- \begin{center}
- \mbox{}
- \vfill
- \textsc{\@title}\\
- \vfill
- by \\
- \vfill
- {\@author}\\
- \vfill
- \vfill
- A thesis submitted in conformity with the requirements\\
- for the degree of {\@degree}\\
- Graduate Department of {\@department}\\
- University of Toronto\\
- \vfill
- {\copyright} Copyright {\@gradyear} by {\@author}\\
- \vspace{.01\textheight}
- \mbox{}
- \end{center}
- \setcounter{page}{1}
- \end{titlepage}
- \setcounter{page}{2}}
-
-%% Change \begin{abstract}...\end{abstract} to follow SGS guidelines.
-\renewenvironment*{abstract}%
- {\begin{center}
- \section*{Abstract}
- \end{center}
- \begin{center}
- {\@title}\\[2ex]
- {\@author}\\
- {\@degree}\\
- Graduate Department of {\@department}\\
- University of Toronto\\
- {\@gradyear}\\
- \end{center}
- \begingroup
- %% Adjust line spacing: if it was less than 2, increase it to 2;
- %% otherwise, leave it as is.
- \ifdim \baselinestretch pt < 1.6pt \doublespacing\fi}%
- {\par\endgroup\newpage}
-
-%% \begin{dedication}...\end{dedication} formats a dedication section
-%% (*not* on a separate page -- just a paragraph formatted flush right).
-\newenvironment*{dedication}%
- {\begin{flushright}}%
- {\end{flushright}}
-
-%% \begin{acknowledgements}...\end{acknowledgements} formats an
-%% acknowledgements section (*not* on a separate page).
-\newenvironment*{acknowledgements}%
- {\begin{center}
- \section*{Acknowledgements}
- \end{center}
- \begingroup\noindent}%
- {\par\endgroup}
-
-%% Redefine `thebibliography' environment so that it generates headers
-%% in the same style as the rest of the document.
-\let\@thesisthebibliography\thebibliography
-\renewcommand*{\thebibliography}[1]{\@thesisthebibliography{#1}
- \if@thesispagestyle\@mkboth{\textsc{\bibname}}{\textsc{\bibname}}\fi}
-
-%% Variations of \cleardoublepage that explicitly set the pagestyle of
-%% any inserted blank page.
-\newcommand*{\clearemptydoublepage}%
- {{\pagestyle{empty}\clearstandarddoublepage}}
-\newcommand*{\clearplaindoublepage}%
- {{\pagestyle{plain}\clearstandarddoublepage}}
-\newcommand*{\clearthesisdoublepage}%
- {{\pagestyle{thesis}\clearstandarddoublepage}}
-
-%% Single-spaced quotes and quotations.
-\newenvironment*{longquote}%
- {\begin{quote}\singlespacingnoskip}{\end{quote}}
-\newenvironment*{longquotation}%
- {\begin{quotation}\singlespacingnoskip}{\end{quotation}}
-
-%%%%%% Page Styles
-
-%% Redefine all four standard page styles (empty, plain, headings,
-%% myheadings), based on the definitions in `report', so that they
-%% conform to the SGS guidelines (and include draft information if
-%% applicable). Then, define a new pagestyle `thesis'.
-
-%% TODO: Get rid of copy-pasted definitions for pagestyles?
-
-%% Pagestyle `empty'.
-\renewcommand*{\ps@empty}%
- {\@thesispagestylefalse
- \let\@mkboth\@gobbletwo
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\hfil
- {\slshape\small\today}\hfil\trDRAFT\fi}%
- \let\@evenhead\@oddhead}
-
-%% Pagestyle `plain'.
-\renewcommand*{\ps@plain}%
- {\@thesispagestylefalse
- \let\@mkboth\@gobbletwo
- \def\@oddfoot{\if@draft\blDRAFT\fi\hfil
- \thepage\hfil\if@draft\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\hfil
- {\slshape\small\today}\hfil\trDRAFT\fi}%
- \let\@evenhead\@oddhead}
-
-%% Pagestyle `headings'.
-\if@twoside % two-sided printing
-\renewcommand*{\ps@headings}%
- {\@thesispagestylefalse
- \let\@mkboth\markboth
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\@evenhead{\if@draft\tlDRAFT\fi\thepage\hfil
- {\slshape\leftmark}\if@draft\trDRAFT\fi}%
- \def\chaptermark##1{\markboth
- {\MakeUppercase{\ifnum \c@secnumdepth >\m@ne
- \@chapapp\ \thechapter. \ \fi ##1}}{}}%
- \def\sectionmark##1{\markright
- {\MakeUppercase{\ifnum \c@secnumdepth >\z@
- \thesection. \ \fi ##1}}}}
-\else % one-sided printing
-\renewcommand*{\ps@headings}%
- {\@thesispagestylefalse
- \let\@mkboth\markboth
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\chaptermark##1{\markright
- {\MakeUppercase{\ifnum \c@secnumdepth >\m@ne
- \@chapapp\ \thechapter. \ \fi ##1}}}}
-\fi%@twoside
-
-%% Pagestyle `myheadings'.
-\renewcommand*{\ps@myheadings}%
- {\@thesispagestylefalse
- \let\@mkboth\@gobbletwo
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\@evenhead{\if@draft\tlDRAFT\fi\thepage\hfil
- {\slshape\leftmark}\if@draft\trDRAFT\fi}%
- \let\chaptermark\@gobble\let\sectionmark\@gobble}
-
-%% Pagestyle `thesis' (based on `headings').
-\if@twoside % two-sided printing
-\newcommand*{\ps@thesis}%
- {\@thesispagestyletrue
- \let\@mkboth\markboth
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \let\@evenfoot\@oddfoot
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\@evenhead{\if@draft\tlDRAFT\fi\thepage\hfil
- {\slshape\leftmark}\if@draft\trDRAFT\fi}%
- \def\chaptermark##1{\markboth
- {\textsc{\ifnum \c@secnumdepth >\m@ne
- \@chapapp\ \thechapter. \ \fi ##1}}{}}%
- \def\sectionmark##1{\markright
- {\textsc{\ifnum \c@secnumdepth >\z@
- \thesection. \ \fi ##1}}}}
-\else % one-sided printing
-\newcommand*{\ps@thesis}%
- {\@thesispagestyletrue
- \let\@mkboth\markboth
- \def\@oddfoot{\if@draft\blDRAFT\hfil
- {\slshape\small\today}\hfil\brDRAFT\fi}%
- \def\@oddhead{\if@draft\tlDRAFT\fi{\slshape\rightmark}\hfil
- \thepage\if@draft\trDRAFT\fi}%
- \def\chaptermark##1{\markright
- {\textsc{\ifnum \c@secnumdepth >\m@ne
- \@chapapp\ \thechapter. \ \fi ##1}}}}
-\fi%@twoside
-
-%% Default page style.
-\pagestyle{thesis}
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.dtx b/macros/latex/contrib/ut-thesis/ut-thesis.dtx
new file mode 100644
index 0000000000..f1180b7056
--- /dev/null
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.dtx
@@ -0,0 +1,607 @@
+% \iffalse
+%<*driver>
+\ProvidesFile{ut-thesis.dtx}
+%</driver>
+%<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<class>\ProvidesClass{ut-thesis}
+%<*class>
+[2020/11/19 v3.0.0a University of Toronto thesis class]
+%</class>
+%
+%<*driver>
+\documentclass[10pt]{ltxdoc}
+\usepackage[osf]{mathpazo}
+\usepackage[toc]{multitoc}
+\renewcommand*{\multicolumntoc}{2}
+\usepackage[margin=3cm,inner=5cm]{geometry}
+\usepackage{xcolor}
+\definecolor{code} {HTML}{990033}
+\definecolor{link} {HTML}{000066}
+\let\ottfamily\ttfamily
+\renewcommand{\ttfamily}{\color{code}\ottfamily}
+\renewcommand{\MacroFont}{\ttfamily\color{code}}
+\usepackage[colorlinks,linkcolor=link]{hyperref}
+\setlength{\skip\footins}{4ex}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{6pt}
+\newcommand{\smacro}[2][0]{%
+ \begin{macro}{#2}\end{macro}%
+ \vspace{\dimexpr #1\baselineskip-3\baselineskip}}
+\begin{document}
+ \DocInput{ut-thesis.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \GetFileInfo{ut-thesis.dtx}
+%
+% \title{The \texttt{ut-thesis} class
+% \thanks{\fileversion~[\filedate] CTAN repository:
+% \href{https://ctan.org/pkg/ut-thesis}
+% {\texttt{https://ctan.org/pkg/ut-thesis}}}}
+% \author{
+% Francois Pitt,
+% Jesse Knight
+% \thanks{maintainer, contact:
+% \href{mailto:jesse.knight@mail.utoronto.ca}
+% {\texttt{jesse.knight@mail.utoronto.ca}}}
+% }
+%
+% \maketitle
+%
+% \begin{abstract}\noindent
+% The |ut-thesis| document class implements the formatting requirements of
+% the University of Toronto School of Graduate Studies (SGS),
+% as of Fall 2020.
+% \end{abstract}
+%
+% {\footnotesize\setlength{\parskip}{3pt}\tableofcontents}
+% \clearpage
+%
+% \section{Installation}\label{inst}
+%
+% To use the |ut-thesis| class,
+% you must first make the file |ut-thesis.cls| visible to your current \LaTeX\ distribution.
+% There are two ways to do this:
+% \begin{itemize}
+% \item \textbf{local file}: Place the file |ut-thesis.cls| in your project directory.
+% This is usually easiest, and works if you don't have write access
+% in the \LaTeX\ distribution, such as if you use Overleaf.
+% \item \textbf{installing}: Installation steps will depend on your \LaTeX\ distribution.
+% Some helpful instructions can be found
+% \href{https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages}{here}.
+% \end{itemize}
+%
+% \section{Usage}\label{use}
+%
+% |\documentclass{ut-thesis}|\\
+% |\documentclass[ <options> ]{ut-thesis}|
+%
+% The default options produce a final copy, ready for submission to
+% the University of Toronto School of Graduate Studies (SGS).
+%
+% \subsection{Options}\label{use:opt}
+%
+% The default class options are denoted like |option*|.
+%
+% \subsubsection{Paper Size}\label{use:opt:paper}
+%
+% The standard page sizes are supported, including:
+% |[letterpaper*]|, and |[a4paper]|.
+%
+% \subsubsection{Font Size}\label{use:opt:fontsize}
+%
+% \smacro[ 1]{[10pt*]}
+% \smacro[ 1]{[11pt]}
+% \smacro[-2]{[12pt]}
+% \begin{macro}{]}
+% The three standard font sizes are supported.
+% SGS requires at least 10\,pt font for the text,
+% but captions, footnotes, etc.\ can be smaller.
+% \end{macro}
+%
+% \subsubsection{Line Spacing}\label{use:opt:spacing}
+%
+% \smacro[ 1]{[singlespacing]}
+% \smacro[ 1]{[onehalfspacing*]}
+% \smacro[-2]{[doublespacing]}
+% \begin{macro}{]}
+% Three options are available for line spacing.
+% Note that |[singlespacing]| does not conform to the SGS guidelines,
+% but we provide it in case you ever prefer it while writing.
+% \end{macro}
+%
+% \subsubsection{Margins}\label{use:opt:margins}
+%
+% \paragraph{Sides:}
+% Three variants of margins are defined,
+% reflecting preferences for printing and binding,
+% the first two being the same as in the |book| class:
+%
+% \begin{macro}{[oneside]}
+% All pages behave as if they open to the right (wider left margin).
+% \end{macro}
+%
+% \begin{macro}{[twoside*]}
+% Most pages will alternate opening to the right and left;
+% however, the commands: |\maketitle|, |\begin{abstract}| and |\mainmatter|,
+% which create new pages, will always open to the right,
+% sometimes requiring a blank page before to do so.
+% \end{macro}
+%
+% \begin{macro}{[equalmargins]}
+% The left and right margins are equal (averaged);
+% all pages behave as if they open to the right.
+% \end{macro}
+%
+% \paragraph{Opening:}
+% Only if |[twoside]| is used, two additional options from the |book| class
+% control how other new pages will open, including new pages created by:
+% |\listoftables|, |\listoffigures|, and |\chapter{}|.
+%
+% \begin{macro}{[openright*]}
+% These pages will always open to the right (like |\maketitle|, etc.).
+% \end{macro}
+%
+% \begin{macro}{[openany]}
+% These pages can open to the left or right.
+% \end{macro}
+%
+% \paragraph{Widths:}
+% Four widths of margins are defined based on
+% the inner (left) and outer (right/top/bottom) dimensions:
+%
+% \begin{macro}{[narrowmargins]}
+% Inner: 1.25 inch; outer: 0.75 inch
+% (minimum SGS requirements)
+% \end{macro}
+% \begin{macro}{[normalmargins*]}
+% Inner: 1.50 inch; outer: 1.00 inch
+% \end{macro}
+% \begin{macro}{[widemargins]}
+% Inner: 1.75 inch; outer: 1.25 inch
+% \end{macro}
+% \begin{macro}{[extrawidemargins]}
+% Inner: 2.00 inch; outer: 1.50 inch
+% \end{macro}
+%
+% \subsubsection{Draft}\label{use:opt:draft}
+%
+% \begin{macro}{[draft]}
+% Adds ``DRAFT'' to all 4 corners, plus the date centered below the footer.
+% The default |draft| behaviour for the |book| class is also supported.
+% \end{macro}
+%
+% \subsection{Commands}\label{use:cmd}
+%
+% \subsubsection{Author Information}\label{use:cmd:author}
+%
+% The following 5 commands should be used in the preamble
+% to define the content of the titlepage (|\maketitle|) and abstract page (|abstract| environment).
+%
+% \begin{macro}{\author}
+% Your full name.
+% \end{macro}
+%
+% \begin{macro}{\title}
+% The title of your thesis.
+% \end{macro}
+%
+% \begin{macro}{\degree}
+% The title of your degree (spelled out, like ``Doctor of Philosophy'' not ``PhD'').
+% \end{macro}
+%
+% \begin{macro}{\department}
+% The name of your department.
+% \end{macro}
+%
+% \begin{macro}{\gradyear}
+% The year of your degree completion.
+% \end{macro}
+%
+% If undefined, template values are used like ``(author)''.
+%
+% \subsubsection{Document Parts}\label{use:cmd:parts}
+%
+% From the |book| class, four commands can be used to divide the document into major parts.
+% These should be used in the order they appear here, as needed.
+% The first two commands are necessary for the required SGS page numbering style.
+%
+% \begin{macro}{\frontmatter}
+% Turns off chapter numbers, uses roman numerals for page numbers.\\
+% Suggested use: immediately after |\begin{document}|.
+% \end{macro}
+%
+% \begin{macro}{\mainmatter}
+% Turns on chapter numbers, uses arabic numerals for page numbers.\\
+% Suggested use: immediately before the first main |\chapter{}| command.
+% \end{macro}
+%
+% \begin{macro}{\appendix}
+% Uses letters for chapter numbers, no change to page numbers.\\
+% Suggested use: immediately before the first appendix |\chapter{}| command.
+% \end{macro}
+%
+% \begin{macro}{\backmatter}
+% Turns off chapter numbers, no change to page numbers.\\
+% Suggested use: immediately before |\printbibliography| or |\bibliography{}|.
+% \end{macro}
+%
+% \subsubsection{Front Matter}\label{use:cmd:front}
+%
+% From the |book| class, the following commands are available to generate the frontmatter.
+% These should be used in the order they appear here, as needed.
+%
+% \begin{macro}{\maketitle}
+% Creates the title page according to SGS requirements,
+% and adds a blank page following if using |[twoside]|.
+% \end{macro}
+%
+% (The abstract page should appear here;
+% see \S~\ref{use:env:abs}).
+%
+% (The dedication and acknowledgements should appear here, as needed;
+% see \S~\ref{use:env:ded-ackn}).
+%
+% \begin{macro}{\tableofcontents}
+% Prints the table of contents, starting on a new page.
+% \end{macro}
+%
+% \begin{macro}{\tableoftables}
+% Prints the table of tables, starting on a new page.
+% \end{macro}
+%
+% \begin{macro}{\tableoffigures}
+% Prints a table of figures, starting on a new page.
+% \end{macro}
+%
+% \subsection{Environments}\label{use:env}
+%
+% \subsubsection{Abstract}\label{use:env:abs}
+%
+% \begin{macro}{abstract}
+% Creates the abstract page according to SGS requirements,
+% and adds a blank page if using |[twoside]|.
+% The abstract content should be added within the environment,
+% and should be no more than
+% 350 words for a PhD thesis or
+% 150 words for a Master's thesis.
+% We do not provide tools for counting words.
+% \end{macro}
+%
+% \subsubsection{Dedication \& Acknowledgments}\label{use:env:ded-ackn}
+%
+% \begin{macro}{dedication}
+% The |dedication| environment formats text flush right and 2/3 down a new page.
+% Not necessary for SGS requirements, so you're welcome to redefine this environment.
+% \end{macro}
+%
+% \begin{macro}{acknowledgements}
+% The |acknowledgments| environment creates a centered heading using |\section*{}|,
+% and a new page after the text.
+% Not necessary for SGS requirements, so you're welcome to redefine this environment.
+% \end{macro}
+%
+% \subsubsection{Base Environments}\label{use:env:misc}
+%
+% As in the |book| class, the base environments
+% like |figure|, |table|, and |equation| are sub-numbered
+% within the current chapter like ``(2.1)'' for Equation~1 in Chapter~2.
+% The behaviour is equivalent to: |\counterwithin{equation}{section}|,
+% and can be undone with: |\counterwithout{equation}{section}|.
+%
+% For sub-figures, we recommend the |subcaption| package.
+%
+% The |quote| and |quotation| environments from the |book| class are also available.
+%
+% \clearpage
+%
+% \section{Implementation}\label{imp}
+%
+% \subsection{Option Declaration}\label{imp:opt}
+%
+% \subsubsection{Draft Mode}\label{imp:opt:draft}
+% Specifying |draft| adds ``DRAFT'' to all 4 corners,
+% plus the date centered below the footer.
+% The default |draft| behaviour for the |book| class is also supported.
+% \begin{macrocode}
+\newcommand{\draftmarkstyle}{\scriptsize\sffamily}
+\DeclareOption{draft}{%
+ \PassOptionsToClass{\CurrentOption}{book}
+ \AtEndOfClass{
+ \AtBeginShipout{\AtBeginShipoutUpperLeft{%
+ \draftmarkstyle
+ \put(+0.125in, -0.125in-\f@size pt ){\rlap{DRAFT}}
+ \put(-0.125in+\paperwidth,-0.125in-\f@size pt ){\llap{DRAFT}}
+ \put(+0.125in, +0.125in-\paperheight){\rlap{DRAFT}}
+ \put(-0.125in+\paperwidth,+0.125in-\paperheight){\llap{DRAFT}}
+ \put(+0.5\paperwidth,+0.125in-\paperheight)%
+ {\makebox[0in][c]{\today}}
+}}}}
+% \end{macrocode}
+%
+% \subsubsection{Margins}\label{imp:opt:margins}
+% First, we define three lengths to help us compute the margins:
+% |\margin@v| is the top and bottom margins;
+% |\margin@xhi| is the inner margin offset;
+% |\margin@xho| is the outer margin offset.
+% \begin{macrocode}
+\newlength{\margin@v}
+\newlength{\margin@xhi}\setlength{\margin@xhi}{0.5in}
+\newlength{\margin@xho}\setlength{\margin@xho}{0.0in}
+% \end{macrocode}
+%
+% The options are based off |\margin@v|:
+% \begin{macrocode}
+\DeclareOption{narrowmargins} {\setlength{\margin@v}{0.75in}}
+\DeclareOption{normalmargins} {\setlength{\margin@v}{1.00in}}
+\DeclareOption{widemargins} {\setlength{\margin@v}{1.25in}}
+\DeclareOption{extrawidemargins}{\setlength{\margin@v}{1.50in}}
+% \end{macrocode}
+%
+% For digital copies, |equalmargins| may be preferred.
+% However, to keep the |\textwidth| consistent
+% for any of the above margin options with and without |equalmargins|,
+% we simply average the inner and outer offsets:
+% \begin{macrocode}
+\DeclareOption{equalmargins}%
+ {\setlength{\margin@xho}{0.5\margin@xhi}
+ \setlength{\margin@xhi}{0.5\margin@xhi}}
+% \end{macrocode}
+%
+% Finally, we actually compute the margins using the above three lengths,
+% and adjust the placement of the header, footer, and margin notes.
+% \begin{macrocode}
+\AtEndOfClass{
+ \setlength{\leftmargin}{\dimexpr\margin@v+\margin@xhi}
+ \setlength{\rightmargin}{\dimexpr\margin@v+\margin@xho}
+ \geometry{
+ top = \margin@v,
+ bottom = \margin@v,
+ inner = \leftmargin,
+ outer = \rightmargin,
+ headsep = \dimexpr 0.5\margin@v - \headheight,
+ footskip = \dimexpr 0.5\margin@v,
+ marginparwidth = \dimexpr \rightmargin - 0.25in,
+ marginparsep = 0.125in,
+}}
+% \end{macrocode}
+%
+% \subsubsection{Line Spacing}\label{imp:opt:spacing}
+% We're using the |setspace| package.
+% We simply call one of the spacing commands after the class is loaded.
+% So, be careful to place any line spacing commands within a group,
+% or the global setting can be changed in the middle of the document.
+% The default is |onehalfspacing|.
+%
+% \begin{macrocode}
+\DeclareOption{doublespacing}{%
+ \AtEndOfClass{\doublespacing}
+}
+\DeclareOption{onehalfspacing}{%
+ \AtEndOfClass{\onehalfspacing}
+}
+\DeclareOption{singlespacing}{%
+ \AtEndOfClass{\singlespacing}
+}
+% \end{macrocode}
+%
+% \subsubsection{Book Options}\label{imp:opt:misc}
+%
+% Finally, we try to process all remaining options using the |book| class,
+% so the usual options and default values should be defined, like:
+% \begin{itemize}
+% \item page size: e.g. |letterpaper|, |a4paper|, \dots
+% \item font size: e.g. |10pt|, |11pt|, |12pt|
+% \item open side for twoside: e.g. |openright|, |openany|
+% \end{itemize}
+%
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
+% \end{macrocode}
+%
+% \subsubsection{Default Options \& Processing}\label{imp:opt:proc}
+%
+% Executing the default options and processing.
+% Any remaining options should now raise an error like:
+% |LaTeX Warning: Unused global option(s): ...|
+%
+% \begin{macrocode}
+\ExecuteOptions{letterpaper} % book
+\ExecuteOptions{normalmargins,onehalfspacing,chapterhead} % ut-thesis
+\ProcessOptions
+% \end{macrocode}
+%
+% \subsection{Initialization}\label{imp:init}
+% We load the |book| class and the required packages.
+%
+% \begin{macrocode}
+\LoadClass{book}
+\RequirePackage{picture} % for draft mode
+\RequirePackage{atbegshi} % for draft mode
+\RequirePackage{geometry} % for margins etc.
+\RequirePackage{setspace} % for line spacing
+% \end{macrocode}
+%
+% \subsection{Author Information}\label{imp:author}
+%
+% Getting the user inputs.
+%
+% \begin{macrocode}
+\renewcommand*{\author} [1]{\gdef\@author{#1}}
+\renewcommand*{\title} [1]{\gdef\@title{#1}}
+\newcommand*{\degree} [1]{\gdef\@degree{#1}}
+\newcommand*{\department}[1]{\gdef\@department{#1}}
+\newcommand*{\gradyear} [1]{\gdef\@gradyear{#1}}
+% \end{macrocode}
+%
+% Setting default values that will hopefully be overwritten.
+%
+% \begin{macrocode}
+\author {(author)}
+\title {(title)}
+\degree {(degree)}
+\department{(department)}
+\gradyear {(gradyear)}
+% \end{macrocode}
+%
+% \subsection{Front Matter}\label{imp:front}
+%
+% \subsubsection{Matter Commands}\label{imp:front:pp}
+% We enforce that the |\frontmatter| and |\mainmatter| use the right
+% page numbering and styles.
+% Also, if we are using |[twoside]|,
+% then we need to reduce all page numbers in the front matter by 1,
+% so that the |abstract| is page ``ii'',
+% because adjusting the |page| counter directly causes typesetting problems,
+% such as incorrect alternating margins.
+% \begin{macrocode}
+\newcommand{\@romanskip}[1]{\@roman{\if@twoside\numexpr#1-1\else#1\fi}}
+\g@addto@macro\frontmatter{\pagenumbering{romanskip}\pagestyle{plain}}
+\g@addto@macro\mainmatter {\pagenumbering{arabic}\pagestyle{headings}}
+% \end{macrocode}
+%
+% \subsubsection{Title Page}\label{imp:front:title}
+%
+% We don't enforce firm distances between lines,
+% but use |\vfill| to stretch and fill the space evenly,
+% except for a double-sized gap after the author name.
+% There is one part of space above the title,
+% while the copyright is pushed all the way to the bottom.
+%
+% \begin{macrocode}
+\renewcommand*{\maketitle}%
+ {\thispagestyle{empty}
+ \large
+ \begin{center}
+ \singlespacing
+ \null
+ \vfill
+ \textsc{\@title}
+ \vfill
+ by
+ \vfill
+ {\@author}
+ \vfill
+ \vfill
+ A thesis submitted in conformity with the requirements\\
+ for the degree of {\@degree}\\[1ex]
+ Graduate Department of {\@department}\\
+ University of Toronto\\
+ \vfill
+ {\copyright} Copyright {\@gradyear} by {\@author}
+ \end{center}
+ {{\pagestyle{empty}\ocleardoublepage}}
+ }
+% \end{macrocode}
+%
+% \subsubsection{Abstract Page}\label{imp:front:abs}
+%
+% The abstract is an environment, but it creates its own page
+% (and possibly an extra empty page if using |twoside|).
+% The author and title info is centered and singlespaced.
+% The word ``Abstract'' uses the |\section*| style, without any numbering.
+% The abstract content is doublespaced.
+%
+% \begin{macrocode}
+\newenvironment*{abstract}%
+ {\thispagestyle{plain}
+ \begin{center}
+ \singlespacing
+ {\@title}\\[2ex]
+ {\@author}\\
+ {\@degree}\\[1ex]
+ Graduate Department of {\@department}\\
+ University of Toronto\\
+ {\@gradyear}\\
+ \section*{Abstract}
+ \end{center}
+ \begingroup
+ \doublespacing}%
+ {\endgroup\cleardoublepage}
+% \end{macrocode}
+%
+% \subsubsection{Dedication}\label{imp:front:ded}
+%
+% As described above.
+%
+% \begin{macrocode}
+\newenvironment*{dedication}%
+ {\thispagestyle{plain}
+ \null
+ \vfill
+ \begin{flushright}}%
+ {\end{flushright}
+ \vfill
+ \vfill
+ \clearpage}
+% \end{macrocode}
+%
+% \subsubsection{Acknowledgments}\label{imp:front:ackn}
+%
+% As described above.
+%
+% \begin{macrocode}
+\newenvironment*{acknowledgements}%
+ {\thispagestyle{plain}
+ \begin{center}
+ \section*{Acknowledgments}
+ \end{center}
+ \begingroup}%
+ {\endgroup\clearpage}
+% \end{macrocode}
+%
+% \subsection{Page Styles}\label{imp:hf}
+%
+% \subsubsection{Blank Pages}\label{imp:hf:blank}
+% By defauly, all blank pages will have page style |plain|,
+% but the original definition is stored in |\ocleardoublepage|.
+% \begin{macrocode}
+\let\ocleardoublepage\cleardoublepage
+\def\cleardoublepage{{\newpage\pagestyle{plain}\ocleardoublepage}}
+% \end{macrocode}
+%
+% \subsubsection{Headers \& Footers}\label{imp:hf:hf}
+% We redefine the |headings| page style
+% with a new formatting hook |\headerstyle{}|,
+% but is otherwise similar to the original |headings|.
+% \begin{macrocode}
+\newcommand{\headerstyle}[1]{\footnotesize\MakeUppercase{#1}}
+\if@twoside
+\renewcommand*{\ps@headings}%
+ {\let\@mkboth\markboth
+ \let\@oddfoot\@empty
+ \let\@evenfoot\@empty
+ \def\@oddhead{\headerstyle{\rightmark\hfil\thepage}}%
+ \def\@evenhead{\headerstyle{\thepage\hfil\leftmark}}%
+ \def\chaptermark##1{\markboth{%
+ \if@mainmatter\headerstyle{\@chapapp\ \thechapter.\ ##1}\fi}{}}
+ \def\sectionmark##1{\markright{%
+ \if@mainmatter\headerstyle{\thesection.\ ##1}\fi}}}
+\else
+\renewcommand*{\ps@headings}%
+ {\let\@mkboth\markboth
+ \let\@oddfoot\@empty
+ \let\@evenfoot\@empty
+ \def\@oddhead{\headerstyle{\rightmark\hfil\thepage}}%
+ \def\chaptermark##1{\markright{%
+ \if@mainmatter\headerstyle{\@chapapp\ \thechapter.\ ##1}\fi}}}
+\fi
+% \end{macrocode}
+%
+% Default page style.
+% \begin{macrocode}
+\pagestyle{headings}
+% \end{macrocode}
+%
+% \subsection{Spacing Adjustments}\label{imp:adj}
+% The default spacing below captions is too small
+% for captions on top of floats (e.g.\ for tables),
+% so we make it consistent above and below.
+%
+% \begin{macrocode}
+\setlength\abovecaptionskip{1ex}
+\setlength\belowcaptionskip{1ex}
+% \end{macrocode}
+%
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.ins b/macros/latex/contrib/ut-thesis/ut-thesis.ins
new file mode 100644
index 0000000000..362c5806c1
--- /dev/null
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.ins
@@ -0,0 +1,39 @@
+\input docstrip.tex
+\keepsilent
+\usedir{.}
+
+\preamble
+
+The |ut-thesis| document class implements the formatting requirements of
+the University of Toronto School of Graduate Studies (SGS),
+as of Fall 2020.
+
+Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>,
+ 2020-2020 Jesse Knight <jesse.knight@mail.utoronto.ca>
+last updated at 10:00 (EST) on Wed 14 Oct 2020
+
+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 "maintained".
+
+The Current Maintainer of this work is
+Jesse Knight <jesse.knight@mail.utoronto.ca>.
+
+This work consists of the files:
+- README
+- ut-thesis.dtx
+- ut-thesis.ins
+- ut-thesis.pdf (derived user manual)
+- ut-thesis.cls (derived class file)
+
+\endpreamble
+
+\generate{\file{ut-thesis.cls}{\from{ut-thesis.dtx}{class}}}
+
+\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.pdf b/macros/latex/contrib/ut-thesis/ut-thesis.pdf
new file mode 100644
index 0000000000..10cce05d84
--- /dev/null
+++ b/macros/latex/contrib/ut-thesis/ut-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/ut-thesis/ut-thesis.tex b/macros/latex/contrib/ut-thesis/ut-thesis.tex
deleted file mode 100644
index 050e3e1859..0000000000
--- a/macros/latex/contrib/ut-thesis/ut-thesis.tex
+++ /dev/null
@@ -1,209 +0,0 @@
-%% ut-thesis.tex -- document template for graduate theses at UofT
-%%
-%% Copyright (c) 1998-2013 Francois Pitt <fpitt@cs.utoronto.ca>
-%% last updated at 16:20 (EDT) on Wed 25 Sep 2013
-%%
-%% 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 "maintained".
-%%
-%% The Current Maintainer of this work is
-%% Francois Pitt <fpitt@cs.utoronto.ca>.
-%%
-%% This work consists of the files listed in the accompanying README.
-
-%% SUMMARY OF FEATURES:
-%%
-%% All environments, commands, and options provided by the `ut-thesis'
-%% class will be described below, at the point where they should appear
-%% in the document. See the file `ut-thesis.cls' for more details.
-%%
-%% To explicitly set the pagestyle of any blank page inserted with
-%% \cleardoublepage, use one of \clearemptydoublepage,
-%% \clearplaindoublepage, \clearthesisdoublepage, or
-%% \clearstandarddoublepage (to use the style currently in effect).
-%%
-%% For single-spaced quotes or quotations, use the `longquote' and
-%% `longquotation' environments.
-
-
-%%%%%%%%%%%% PREAMBLE %%%%%%%%%%%%
-
-%% - Default settings format a final copy (single-sided, normal
-%% margins, one-and-a-half-spaced with single-spaced notes).
-%% - For a rough copy (double-sided, normal margins, double-spaced,
-%% with the word "DRAFT" printed at each corner of every page), use
-%% the `draft' option.
-%% - The default global line spacing can be changed with one of the
-%% options `singlespaced', `onehalfspaced', or `doublespaced'.
-%% - Footnotes and marginal notes are all single-spaced by default, but
-%% can be made to have the same spacing as the rest of the document
-%% by using the option `standardspacednotes'.
-%% - The size of the margins can be changed with one of the options:
-%% . `narrowmargins' (1 1/4" left, 3/4" others),
-%% . `normalmargins' (1 1/4" left, 1" others),
-%% . `widemargins' (1 1/4" all),
-%% . `extrawidemargins' (1 1/2" all).
-%% - The pagestyle of "cleared" pages (empty pages inserted in
-%% two-sided documents to put the next page on the right-hand side)
-%% can be set with one of the options `cleardoublepagestyleempty',
-%% `cleardoublepagestyleplain', or `cleardoublepagestylestandard'.
-%% - Any other standard option for the `report' document class can be
-%% used to override the default or draft settings (such as `10pt',
-%% `11pt', `12pt'), and standard LaTeX packages can be used to
-%% further customize the layout and/or formatting of the document.
-
-%% *** Add any desired options. ***
-\documentclass{ut-thesis}
-
-%% *** Add \usepackage declarations here. ***
-%% The standard packages `geometry' and `setspace' are already loaded by
-%% `ut-thesis' -- see their documentation for details of the features
-%% they provide. In particular, you may use the \geometry command here
-%% to adjust the margins if none of the ut-thesis options are suitable
-%% (see the `geometry' package for details). You may also use the
-%% \setstretch command to set the line spacing to a value other than
-%% single, one-and-a-half, or double spaced (see the `setspace' package
-%% for details).
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% %%
-%% *** I M P O R T A N T *** %%
-%% %%
-%% Fill in the following fields with the required information: %%
-%% - \degree{...} name of the degree obtained %%
-%% - \department{...} name of the graduate department %%
-%% - \gradyear{...} year of graduation %%
-%% - \author{...} name of the author %%
-%% - \title{...} title of the thesis %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% *** Change this example to appropriate values. ***
-\degree{Doctor of Philosophy}
-\department{Computer Science}
-\gradyear{2012}
-\author{Fran\c{c}ois Pitt}
-\title{UT-Thesis Class File Example}
-
-%% *** NOTE ***
-%% Put here all other formatting commands that belong in the preamble.
-%% In particular, you should put all of your \newcommand's,
-%% \newenvironment's, \newtheorem's, etc. (in other words, all the
-%% global definitions that you will need throughout your thesis) in a
-%% separate file and use "\input{filename}" to input it here.
-
-
-%% *** Adjust the following settings as desired. ***
-
-%% List only down to subsections in the table of contents;
-%% 0=chapter, 1=section, 2=subsection, 3=subsubsection, etc.
-\setcounter{tocdepth}{2}
-
-%% Make each page fill up the entire page.
-\flushbottom
-
-
-%%%%%%%%%%%% MAIN DOCUMENT %%%%%%%%%%%%
-
-\begin{document}
-
-%% This sets the page style and numbering for preliminary sections.
-\begin{preliminary}
-
-%% This generates the title page from the information given above.
-\maketitle
-
-%% There should be NOTHING between the title page and abstract.
-%% However, if your document is two-sided and you want the abstract
-%% _not_ to appear on the back of the title page, then uncomment the
-%% following line.
-%\cleardoublepage
-
-%% This generates the abstract page, with the line spacing adjusted
-%% according to SGS guidelines.
-\begin{abstract}
-%% *** Put your Abstract here. ***
-%% (At most 150 words for M.Sc. or 350 words for Ph.D.)
-\end{abstract}
-
-%% Anything placed between the abstract and table of contents will
-%% appear on a separate page since the abstract ends with \newpage and
-%% the table of contents starts with \clearpage. Use \cleardoublepage
-%% for anything that you want to appear on a right-hand page.
-
-%% This generates a "dedication" section, if needed -- just a paragraph
-%% formatted flush right (uncomment to have it appear in the document).
-%\begin{dedication}
-%% *** Put your Dedication here. ***
-%\end{dedication}
-
-%% The `dedication' and `acknowledgements' sections do not create new
-%% pages so if you want the two sections to appear on separate pages,
-%% uncomment the following line.
-%\newpage % separate pages for dedication and acknowledgements
-
-%% Alternatively, if you leave both on the same page, it is probably a
-%% good idea to add a bit of extra vertical space in between the two --
-%% for example, as follows (adjust as desired).
-%\vspace{.5in} % vertical space between dedication and acknowledgements
-
-%% This generates an "acknowledgements" section, if needed
-%% (uncomment to have it appear in the document).
-%\begin{acknowledgements}
-%% *** Put your Acknowledgements here. ***
-%\end{acknowledgements}
-
-%% This generates the Table of Contents (on a separate page).
-\tableofcontents
-
-%% This generates the List of Tables (on a separate page), if needed
-%% (uncomment to have it appear in the document).
-%\listoftables
-
-%% This generates the List of Figures (on a separate page), if needed
-%% (uncomment to have it appear in the document).
-%\listoffigures
-
-%% You can add commands here to generate any other material that belongs
-%% in the head matter (for example, List of Plates, Index of Symbols, or
-%% List of Appendices).
-
-%% End of the preliminary sections: reset page style and numbering.
-\end{preliminary}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Put your Chapters here; the easiest way to do this is to keep %%
-%% each chapter in a separate file and `\include' all the files. %%
-%% Each chapter file should start with "\chapter{ChapterName}". %%
-%% Note that using `\include' instead of `\input' will make each %%
-%% chapter start on a new page, and allow you to format only parts %%
-%% of your thesis at a time by using `\includeonly'. %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%% *** Include chapter files here. ***
-
-
-%% This adds a line for the Bibliography in the Table of Contents.
-\addcontentsline{toc}{chapter}{Bibliography}
-%% *** Set the bibliography style. ***
-%% (change according to your preference/requirements)
-\bibliographystyle{plain}
-%% *** Set the bibliography file. ***
-%% ("thesis.bib" by default; change as needed)
-\bibliography{thesis}
-
-%% *** NOTE ***
-%% If you don't use bibliography files, comment out the previous line
-%% and use \begin{thebibliography}...\end{thebibliography}. (In that
-%% case, you should probably put the bibliography in a separate file and
-%% `\include' or `\input' it here).
-
-\end{document}