summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-02-10 03:02:26 +0000
committerNorbert Preining <norbert@preining.info>2020-02-10 03:02:26 +0000
commit3e399d8526bd786d65f34c90728b33d02814da00 (patch)
tree688591fa0fc5dc181f8a1ffdf980bb35f7bab7d9 /macros/latex/contrib
parentce124d96f4bfa21c13a9803a0c4c9eecdf11c130 (diff)
CTAN sync 202002100302
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/brandeis-dissertation/README1
-rw-r--r--macros/latex/contrib/brandeis-dissertation/README.txt6
-rw-r--r--macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.dtx1509
-rw-r--r--macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.ins69
-rw-r--r--macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.pdfbin250166 -> 164848 bytes
-rw-r--r--macros/latex/contrib/brandeis-thesis/README.txt6
-rw-r--r--macros/latex/contrib/brandeis-thesis/brandeis-thesis.dtx285
-rw-r--r--macros/latex/contrib/brandeis-thesis/brandeis-thesis.ins40
-rw-r--r--macros/latex/contrib/brandeis-thesis/brandeis-thesis.pdfbin0 -> 142665 bytes
-rw-r--r--macros/latex/contrib/euclideangeometry/README.txt2
-rw-r--r--macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdfbin558102 -> 558099 bytes
-rw-r--r--macros/latex/contrib/euclideangeometry/euclideangeometry-man.tex92
-rw-r--r--macros/latex/contrib/euclideangeometry/euclideangeometry.dtx319
-rw-r--r--macros/latex/contrib/euclideangeometry/euclideangeometry.pdfbin455029 -> 436347 bytes
-rw-r--r--macros/latex/contrib/leiletter/LEIletter.dtx1483
-rw-r--r--macros/latex/contrib/leiletter/LEIletter.pdfbin0 -> 383019 bytes
-rw-r--r--macros/latex/contrib/leiletter/README38
-rw-r--r--macros/latex/contrib/leiletter/leiden-logo.pdfbin0 -> 62145 bytes
18 files changed, 2344 insertions, 1506 deletions
diff --git a/macros/latex/contrib/brandeis-dissertation/README b/macros/latex/contrib/brandeis-dissertation/README
deleted file mode 100644
index 38a6e2181a..0000000000
--- a/macros/latex/contrib/brandeis-dissertation/README
+++ /dev/null
@@ -1 +0,0 @@
-Brandeis-dissertation class provides the formatting for a Ph.D dissertation at Brandeis University specified by the Graduate School of Arts and Sciences. It also generates the title, abstract, and signature pages. \ No newline at end of file
diff --git a/macros/latex/contrib/brandeis-dissertation/README.txt b/macros/latex/contrib/brandeis-dissertation/README.txt
new file mode 100644
index 0000000000..ab8c46a3f9
--- /dev/null
+++ b/macros/latex/contrib/brandeis-dissertation/README.txt
@@ -0,0 +1,6 @@
+brandeis-dissertation
+
+brandeis-dissertation.cls provides the structures and formatting information for an
+PhD dissertation for Brandeis University. To generate the documentation, run
+LaTeX on brandeis-dissertation.dtx. To generate the .cls file, run LaTeX on
+brandeis-dissertation.ins. This material is subject to the LATEX Project Public License 1.3c. \ No newline at end of file
diff --git a/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.dtx b/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.dtx
index 93f89ac61c..d930d020d9 100644
--- a/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.dtx
+++ b/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.dtx
@@ -1,30 +1,188 @@
-%\iffalse -*- doctex -*- \fi
+% \iffalse meta-comment
%
-%% \RCS$Id: brandeis-dissertation.dtx,v 2.0 2004/10/27 00:47:04 turtle Exp $
-%% \RCS$Revision: 2.0 $
-%% \RCS$Date: 2013/10/17 00:47:04 $
+% Copyright (C) 2020 by Deanna Daly <gradschool@brandeis.edu>
+% -------------------------------------------------------
+%
+% This file 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:
%
-%\iffalse metacomment
-% -*- latex-mode -*-
-%%
-%% (C) 2000 Andy Garland (aeg@cs.brandeis.edu)
-%% (C) 2001 Pablo Funes (pablo@cs.brandeis.edu)
-%% (C) 2004 Peter Møller Neergaard
-%% (C) 2013 Meg Peck and John Burt
-%%
-%% This program may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.2
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.2 or later is part of all distributions of LaTeX
-%% version 1999/12/01 or later.
+% http://www.latex-project.org/lppl.txt
%
-% This program consists of the file brandeis-dissertation.cls.
-%
-%\fi
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{brandeis-dissertation.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+%<package>\ProvidesPackage{brandeis-dissertation}
+%<*package>
+ [2020/01/21 v3.0 .dtx brandeis-dissertation file]
+%</package>
+%<package>\LoadClass[12pt]{article}
+%<package>\RequirePackage[margin=1in]{geometry}
+%<package>\RequirePackage{setspace}
+%<package>\RequirePackage{titlesec}
+%<package>\RequirePackage[utf8]{inputenc}
+%<package>\RequirePackage[english]{babel}
+%<package>\RequirePackage{csquotes}
+%<package>\AtBeginEnvironment{quote}{\singlespacing}
+%
+%<package>\titleformat*{\section}{\normalsize\bfseries}
+%<package>\titleformat*{\subsection}{\normalsize\bfseries}
+%<package>\titleformat*{\subsubsection}{\normalsize\bfseries}
+%
+%<package>\renewcommand\month[1]{\def\@month{#1}}
+%<package>\renewcommand\year[1]{\def\@year{#1}}
+%<package>\newcommand\program[1]{\def\@program{#1}}
+%<package>\newcommand\advisor[1]{\def\@advisor{#1}}
+%<package>\newcommand\signoff[2]{\def\@signoff{#1}\def\@signofftitle{#2}}
+%<package>\newcommand\committeechair[2]{\def\@committeechair{#1}\def\@committeechairdept{#2}}
+%<package>\newcommand\committeetwo[2]{\def\@committeetwo{#1}\def\@committeetwodept{#2}}
+%<package>\newcommand\committeethree[2]{\def\@committeethree{#1}\def\@committeethreedept{#2}}
+%<package>\newcommand\outsidereader[3]{\def\@outsidereader{#1}\def\@outsidereaderdept{#2}\def\@outsidereaderuni{#3}}
+%<package>\addto\captionsenglish{\renewcommand*\contentsname{Table of Contents}}
+%<package>\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
+%
+%<*package>
+\newcommand{\maketitlepage}{%
+ \pagenumbering{gobble}
+ %\newgeometry{top=1.75in}
+ \begin{center}
+ \@title\\
+ \vspace{1em}
+ A Dissertation\\
+ \vspace{1em}
+ Presented to\\
+ \vspace{1em}
+ The Faculty of the Graduate School of Arts and Sciences\\
+ Brandeis University\\
+ \vspace{1em}
+ \@program\\
+ \vspace{1em}
+ \@advisor, Advisor\\
+ \vspace{1em}
+ In Partial Fulfillment\\
+ of the Requirements for the Degree\\
+ Doctor of Philosophy\\
+ \vspace{1em}
+ by\\
+ \@author\\
+ \vspace{1em}
+ \@month\,\@year
+ \end{center}
+ \restoregeometry
+ \newpage
+ \pagenumbering{roman}
+ \setcounter{page}{2}
+}
+%</package>
+%<*package>
+\newcommand{\makeapproval}{%
+ \pagenumbering{gobble}
+ \begin{spacing}{2}
+ \noindent
+ This dissertation, directed and approved by \@author{}'s Committee, has been\\ accepted and approved by the Faculty of Brandeis University in partial fulfillment of the\\ requirements for the degree of:
+ \end{spacing}
+
+ \hspace{3in}\textbf{DOCTOR OF PHILOSOPHY}
+
+ \vspace{3em}
+
+ \hspace{3in}\@signoff, \@signofftitle
+
+ \hspace{3in}Graduate School of Arts and Sciences\\
+ \vspace{1em}
+
+ \noindent
+ Dissertation Committee:
+
+ \noindent
+ \@committeechair, \@committeechairdept
+
+ \noindent
+ \@committeetwo, \@committeetwodept
+
+ \noindent
+ \@committeethree, \@committeethreedept
+
+ \noindent
+ \@outsidereader, \@outsidereaderdept, \@outsidereaderuni
+
+ \newpage
+ \setcounter{page}{3}
+}
+%</package>
+%<*package>
+\newcommand{\makecopyright}{%
+ \pagenumbering{gobble}
+ \newgeometry{top=6.2in}
+ \begin{center}
+ Copyright by\\
+ \@author{}\\
+ \vspace{1em}
+ \@year{}
+ \end{center}
+ \restoregeometry
+ \newpage
+ \pagenumbering{roman}
+ \setcounter{page}{4}
+}
+
+%\newcommand{\makeacknowledgements}{
+%}
+%</package>
+%<*package>
+\newenvironment{thesis-abstract}
+ {
+ %\newgeometry{top=1.4in}
+ \addcontentsline{toc}{section}{Abstract}
+ \begin{center}
+ \MakeUppercase{Abstract}\\
+ \vspace{1em}
+ \@title\\
+ \vspace{1em}
+ A dissertation presented to the Faculty of the\\
+ Graduate School of Arts and Sciences of Brandeis University\\
+ Waltham, Massachusetts\\
+ \vspace{1em}
+ By\,\@author\\
+ \vspace{2em}
+ \end{center}
+ \doublespacing
+ }
+ {
+ \restoregeometry
+ }
+%</package>
+%<*package>
+\newcommand{\startbody}{%
+ \newpage
+ \pagenumbering{arabic}
+ \doublespacing
+}
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{brandeis-dissertation.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
%
-% \CheckSum{667}
% \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
@@ -41,1226 +199,143 @@
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \MakeShortVerb{\"}
-% \DeleteShortVerb{\|}
%
-% \title{The \package{brandeis-dissertation} class\thanks
-% {This file has CVS revision \RCSRevision, dated \RCSDate. The
-% class has been redesigned by the author based on previous
-% work by Pablo Funes, Andy Garland, LFBrown 30Aug87, and RJLuoma. Some final fiddling by John Burt.}}
-% \author{%
-% Meghan Peck\thanks{\texttt{mcpeck@brandeis.}}}
-% \maketitle
+% \changes{v1.0}{2020/01/21}{Initial version}
%
-% \begin{abstract}
-% This \LaTeXe-class file contains to design to typeset your
-% dissertation according to the guidelines of GSAS of Brandeis University.
-% \end{abstract}
+% \GetFileInfo{brandeis-dissertation.dtx}
%
-% \newif\ifmulticols
-% \IfFileExists{multicol.sty}{\multicolstrue}{}
+% \DoNotIndex{\newcommand,\newenvironment}
+%
%
-% \ifmulticols
-% \begin{multicols}{2}
-% \fi
-% {\parskip 0pt ^^A We have to reset \parskip
-% ^^A (bug in \LaTeX)
-% \tableofcontents
-% }
-% \ifmulticols
-% \end{multicols}
-% \fi
+% \title{The \textsf{brandeis-dissertation} package\thanks{This document
+% corresponds to \textsf{brandeis-dissertation}~\fileversion, dated \filedate.}}
+% \author{Brandeis University GSAS \\ \texttt{gradschool@brandeis.edu}}
%
-% You have done all the research. The ideas are in your
-% head. All you are missing is that little thing called a
-% dissertation, which you are gung-ho on writing using \LaTeX. This is
-% where this class file enters: it allows you to use \LaTeX\ while
-% adhering to the formatting guidelines of Brandeis University
-% Graduate School of Arts and Sciences (GSAS). In
-% particular, it allows you to get the front matter correct.
+% \maketitle
%
-% The features are as follows:
+% \section{Introduction}
+%
+% This document explains how to use the \textsf{brandeis-dissertation} class in \LaTeX{} to format your dissertation according to the specifications of Brandeis University's Graduate School of Arts and Sciences.
+%
+% The \textsf{brandeis-dissertation} class will do the following for you:
% \begin{itemize}
-% \item It provides correct margins for either single-paged
-% output or double-paged output.
-% \item It typesets the text with double-spaced line. However, footnotes,
-% long quotations (the environment "quotation"), the bibliography, and
-% the index is singe-spaced.
-% \item It provides commands to produce the front matter.
+% \item Create your title, approval, copyright, and abstract pages.
+% \item Ensure your dissertation has the correct margins, spacing, and pagination.
% \end{itemize}
-%
-% To use the class, you should begin your document file with
-% \begin{verbatim}
-% \documentclass{brandeis-dissertation}\end{verbatim}
-% instead of your usual document class declaration. The various
-% options are described below in section~\ref{sec:class-options}.
-%
-% \section{Front Matter}
-%
-% The front matter is all the pages that comes before the main text of
-% your dissertation, e.g., title page, dedication, abstract, table of
-% contents. For the class to typeset the front matter, you should
-% specify the formalities regarding your dissertation in the preamble
-% of your document. You do this with the following commands.
+%
+% \section{Usage}
+% \label{Sec:usage}
+%
+% \subsection{Title Information}
+% \label{Sec:general}
+%
+% The following commands are used to save information that is used to % render your title page:
+%
% \begin{description}
-% \item[\cmd{\title}\marg{title}:]\DescribeMacro{\title}
-% The title of your dissertation.
-% \item[\cmd{\author}\marg{name}:]\DescribeMacro{\author}
-% Your full name.
-% \item[\cmd{\department}\marg{department}:]\DescribeMacro{\department}
-% Your department.
-% \item[\cmd{\advisor}\meta{advisor}:]\DescribeMacro{\advisor}
-% The full name of you advisor (chair of your
-% committee) .
-% \item[\cmd{\reader}\meta{reader}:]\DescribeMacro{\reader} Adds
-% \meta{reader} to your committee. You should have one
-% \cmd{\reader}-command for each reader on the committee. You should
-% provide them in the order you want them to appear on the signature
-% page. You should also include the school and department of every
-% reader.
-% \item[\cmd{\dean}\meta{name}:]\DescribeMacro{\dean}
-% The full name of the dean who eventually
-% signs off on the dissertation.
-% \item[\cmd{\graduationyear}\meta{year}:]\DescribeMacro{\graduationyear}
-% The year of your dissertation.
-% \item[\cmd{\graduationmonth}\meta{month}:]\DescribeMacro{\graduationmonth}
-% The month of your dissertation.
-% \item[\cmd{\othercopyright}\meta{text} (optional):] Uses \meta{text}
-% to acknowledge other people's copyright on your copyright page.
-% This is only printed if you print a copyright page.
+% \item[\texttt{\textbackslash title\{\}}:] The title of your dissertation.
+% \item[\texttt{\textbackslash author\{\}}:] Your name.
+% \item[\texttt{\textbackslash month\{\}}:] The month in which you graduate.
+% \item[\texttt{\textbackslash year\{\}}:] The year in which you graduate.
+% \item[\texttt{\textbackslash program\{\}}:] Your program.
+% \item[\texttt{\textbackslash advisor\{\}}:] Your advisor's name.
+% \item[\texttt{\textbackslash signoff\{\}\{\}}:] The name of the individual signing off on your approval page, followed by their title. This likely is the dean.
+% \item[\texttt{\textbackslash committeechair\{\}}:] Your committee chair's name, followed by their department.
+% \item[\texttt{\textbackslash committeetwo\{\}\{\}}:] The name of your second committee member, followed by their department.
+% \item[\texttt{\textbackslash committeethree\{\}\{\}}:] The name of your third committee member, followed by their department.
+% \item[\texttt{\textbackslash outsidereader\{\}\{\}\{\}}:] The name of your outside reader, followed by their department, followed by their university.
% \end{description}
-% As an example, the following is an except from the preamble of my
-% dissertation:
-% \begin{verbatim}
-% \title{Complexity Aspects of Programming Language Design}
-% \author{Peter M{\o}ller Neergaard}
-% \dean{Adam B. Jaffe}
-% \advisor{Harry G. Mairson}
-% \department{Michtom School of Computer Science}
-% \reader{Peter Clote}
-% \reader{Simone Martini}
-% \reader{Timothy J. Hickey}\end{verbatim}
-%
-% \DescribeMacro{\thesisfront}The command
-% \cmd{\thesisfront}\oarg{options} should be used at the very
-% beginning of your document to produce all the front
-% matter for you, e.g.,
+%
+% For example, including the following in your document:
+%
% \begin{verbatim}
-% \begin{document}
-% \thesisfront\end{verbatim}
+% \title{LaTeXing Your Dissertation}
+% \author{Deanna Daly}
+% \month{May}
+% \year{2020}
+% \program{Philosophy}
+% \advisor{Alan Turing}
+% \signoff{Eric Chasalow}{Dean}
+% \committeechair{Bertrand Russell}{Philosophy}
+% \committeetwo{Alfred North Whitehead}{Mathematics}
+% \committeethree{Ludwig Wittgenstein}{Philosophy}
+% \outsidereader{Emmy Noether}{Mathematics}{Bryn Mawr College}
+% \end{verbatim}
+%
+% would set your dissertation to one with a title of ``LaTeXing Your Dissertation'', an author of ``Deanna Daly'', a graduation time of May 2020, with the advisor ``Alan Turing'' in the Philosophy program. Your approval page should be signed off by Eric Chasalow, the dean. Your committee would be set to consist of Bertrand Russell from the Philosophy Department, Alfred North Whitehead from the Mathematics Department, and Ludwig Wittgenstein from the Philosophy Department. Your outside reader would be set to be Emmy Noether from Bryn Mawr College's Mathematics Department.
+%
+% \subsection{Creating Front Matter}
+%
+% The title, approval, and copyright pages of your dissertation can be % created with just one line each:
%
-% You need to specify the abstract and possible also the preface,
-% dedication, and acknowledgments using the following commands:
-% \begin{description}
-% \item[\mcmd{\thesisabstract}\marg{text}:]\DescribeMacro{\thesisabstract}
-% Uses \meta{text} as your abstract.
-% \item[\mcmd{\dedication}\marg{dedication} (optional):]\DescribeMacro{\dedication}
-% The dedication of your dissertation to \meta{dedication} appears
-% on separate page.
-% \item[\mcmd{\acknowledgments}\marg{text}
-% (optional):]\DescribeMacro{\acknowledgments}
-% \meta{text} is used as your acknowledgment.
-% \item[\cmd{\preface}\marg{text} (optional):]\DescribeMacro{\preface}
-% The preface of your dissertation.
-% \end{description}
-% As the abstract, preface and acknowledgments might by fairly long,
-% it can be convenient to keep them in a separate file and include
-% them using \cmd{\input}, e.g.
% \begin{verbatim}
-% \thesisabstract{\input{abstract}}\end{verbatim}
-% where the abstract in stored in the file "abstract.tex".
-%
-% \label{p:thesisfront-options}
-% You can fine tune the behavior of \cmd{\thesisfront} with the following
-% options. You provide them in an optional argument as a
-% comma-separated list:
-% \begin{description}
-% \item[\texttt{onlinesubmission}:] The signature page is typeset for
-% online submission (default).
-% \item[\texttt{papersubmission}:] The signature page is typeset for
-% paper submission.
-% \item[\texttt{copyright}:] Print a copyright page (default).
-% \item[\texttt{nocopyright}:] Do not print a copyright page.
-% \item[\texttt{lot}:] Print a list of tables.
-% \item[\texttt{nolot}:] Do not print a list of tables (default)
-% \item[\texttt{lof}:] Print a list of figures.
-% \item[\texttt{nolof}:] Do not print a list of figures (default).
-% \end{description}
-% For instance, the command to produce the front matter for a paper
-% submission with a list of tables is:
+% \maketitlepage
+% \makeapproval
+% \makecopyright
+% \end{verbatim}
+%
+% The abstract is created with the \texttt{dissertation-abstract} environment, as in the following example:
+%
% \begin{verbatim}
-% \thesisfront[lot,papersubmission]\end{verbatim}
-%
-% \DescribeMacro{\signaturepage}
-% When submitting online, you need to produce a signature page to be
-% signed before your defense. You can do this using "\signaturepage*"
-% in front of \cmd{\thesisfront} sometimes before you make the final
-% version.
+% \begin{dissertation-abstract}
+% I present a simple explanation of how to LaTeX your dissertation.
+% \end{dissertation-abstract}
+% \end{verbatim}
%
-% \subsection{Your Own Front Matter Layout}
-%
-% Instead of using \cmd{\thesisfront} to produce the front matter, you
-% can build the front matter yourself with the command below.
-% \emph{However, this option is not recommended and you should ensure
-% that you adhere to all the GSAS guidelines}.
-%
-% \begin{description}
-% \item[\mcmd{\thesistitlepage}:]\DescribeMacro{\thesistitlepage} This
-% command produces the front page of your dissertation.
-%
-% \item[\mcmd{\signaturetitlepage}\ostar:]\DescribeMacro{\signaturepage}
-% This produces a signature page. The unstarred version is for
-% online submission, while the starred version is for paper submission.
-%
-% \item[\mcmd{\copyrightpage}\marg{your name}\marg{year}:]
-% \DescribeMacro{\copyrightpage} This produces the copyright page.
-%
-% \item[\mcmd{\dedicationpage}\marg{dedication}:]
-% \DescribeMacro{\dedicationpage}This produces a page with the
-% dedication.
-% \end{description}
-%
-% \DescribeEnv{optionalpage}
-% \DescribeEnv{optionalpage*}
-% The environments "optionalpage" and "optionalpage*" produce other
-% parts of the front matter, for instance the preface. The part will
-% be typeset as if it was a chapter. They take the title of the part
-% as a single argument. You can thus produce a preface as follows:
-% \begin{alltt}\cs{begin}\{optionalpage\}\{Preface\}\par \(...\)\par\cs{end}\{optionalpage\}\end{alltt}
-% By default an entry is added to the table of contents. This can be
-% disabled by using the starred form.
+% This will create your abstract page, with the abstract being ``I present a simple explanation of how to LaTeX your dissertation.''
+%
+% Table of Contents, List of Figures, etc. can be generated as usual using \LaTeX.
+%
+% To end the front matter section of your dissertation and begin the body of your dissertation, use the command \texttt{\textbackslash startbody}.
+%
+% The rest of your dissertation may be written as normal; margins, spacing, and pagination should be set automatically.
+%
+% \section{Example}
+%
+% The below example provides the source code for a simple dissertation with no figures or citations.
%
-% When printing double-sided, you might \cmd{\cleardoublepage} to
-% get the pages positioned on a right hand side.
-%
-% \section{Margins and Line-spacing}
-%
-% \begin{table}
-% \caption{The two options for margins}
-% \begin{tabular}{l|r|r}
-% & Minimum margins & Consistent 1.5in \\\hline
-% Left margin & 1in & 1.5in \\
-% Right margin & 1in & 1.5in \\
-% Top margin & 1in & 1.5in \\
-% Bottom margin & 1in & 1.5in
-% \end{tabular}
-% \label{tbl:margins}
-% \end{table}
-%
-% The GSAS guidelines call for the minimum margins given in
-% Table~\ref{tbl:margins}. This is the default margins for the
-% class. If you prefer, you can get a consistent 1.5in
-% margins by using the class option "15margins" (see below).
-%
-% The class uses the package \package{geometry} to set the
-% margins. This provides a very simple way to change the paper layout,
-% e.g., to change the margins to 2 inches you just need to use:
% \begin{verbatim}
-% \geometry{top=2in, bottom=2in, left=2in, right=2in }\end{verbatim}
-% Note that the \cmd{\geometry} can only be used only in the document
-% preamble.
-%
-% By default, the dissertation class uses page style "brandeisheadings". This page style will place
-% the page number, centered, in
-% the footer. If
-% you change the page style (to "headings" or "myheadings") in the preamble, the dissertation class
-% will adjust the margins accordingly. However, if you use a
-% non-standard heading (for instance from \package{fancyhdr}) you will
-% need to adjust the margins accordingly.
+% \documentclass[red]{brandeis-dissertation}
+% \usepackage[utf8]{inputenc}
%
-% \DescribeEnv{singlespacing}You can use the environment
-% "singlespacing" to single-space a block of text.
-%
-% \section{Class Options}
-% \label{sec:class-options}
+% \title{LaTeXing Your Dissertation}
+% \author{Deanna Daly}
+% \month{May}
+% \year{2020}
+% \program{Philosophy}
+% \advisor{Alan Turing}
+% \signoff{Eric Chasalow}{Dean}
+% \committeechair{Bertrand Russell}{Philosophy}
+% \committeetwo{Alfred North Whitehead}{Mathematics}
+% \committeethree{Ludwig Wittgenstein}{Philosophy}
+% \outsidereader{Emmy Noether}{Mathematics}{Bryn Mawr College}
%
-% The class takes the following options provided as optional arguments
-% to the \cmd{\documentclass} command:
-% \begin{description}
-% \item[\texttt{minmargins}:] Use the minimum margins called for by
-% GSAS (default).
-% \item[\texttt{15margins}:] Use a consistent 1.5in margin.
-% \item[\texttt{oneside}:] Single-sided output (from \package{book}
-% class, default).
-% \item[\texttt{twoside}:] Double-sided output. This gives different
-% headers on left and right pages. Some pages might be left blank to have
-% chapters start on right pages (from the \package{book} class).
-%
-% You are prone to get some overfull
-% \cmd{\vbox} warnings when using this option.\footnote{With
-% double-sided printing, \LaTeX\ attempts to fill every page to
-% the bottom to avoid ragged bottoms. Its main remedy for this is
-% to stretch the spacing between paragraphs. When this does not
-% provide enough extra space, you get an underfull \cmd{\vbox}.}
-% They can be avoided by using \cmd{\raggedbottom}, but the result
-% can be very aesthetically unpleasant as you get facing pages with
-% different text height. Therefore, you are recommended to ignore
-% the overfull boxes if you cannot rearrange the paragraphs to avoid
-% them.
-%
-% \item[\texttt{draft}:] Draft version---this marks overfull boxes and might
-% also effect other packages (from the \package{book} class).
-% \item[\texttt{final}:] Final version (from the \package{book} class, default).
-% \item[\texttt{openright}:] For double-sided printing: chapters
-% always open on the right page (from the \package{book} class, default).
-% \item[\texttt{openany}:] For double-sided printing: chapters can
-% open on either a left or a right page (from the \package{book} class).
-% \item[\texttt{blankcleared}:] For double-sided printing: when a page
-% is cleared to make a chapter start on a right page, leave out page
-% number and headers.
-% \item[\texttt{numbercleared}:]For double-sided printing: when a page
-% is cleared to make a chapter start on a right page, put page
-% number and headings on the cleared page.
-% \item[\texttt{leqno}:] Equation number are placed to the left (from
-% \package{book} class).
-% \item[\texttt{fleqno}:] Equation number are placed flushed to the
-% left (from the \package{book} class).
-% \item[\texttt{openbib}:] A more open layout of the bibliography (from the \package{book} class).
-% \item[\texttt{12pt}:] The main text is set in 12pt font size (from the \package{book} class, default)
-% \item[\texttt{11pt}:] The main text is set in 11pt font size;
-% \cmd{\small} and \cmd{\footnotesize} do not change the font size
-% (essentially from the \package{book} class, \emph{not recommended by
-% GSAS).}
-% \item[\texttt{10pt}:] The main text is set in 11pt font size;
-% \cmd{\small} and \cmd{\footnotesize} do not change the font size
-% (essentially from the \package{book} class, \emph{not recommended by
-% GSAS).}
-% \end{description}
-%
-% \section{Issues To Be Aware Of}
-%
-% The following is a list of issues you should be aware. It might be
-% a little {\TeX}nichal so skip it, if it does not apply to your
-% dissertation.
-%
-% \subsection{Margin Notes}
-%
-% While the class allows margin notes set with the \LaTeX\ command
-% \cmd{\marginpar}, the margins are not designed for margin
-% notes.
+% \begin{document}
%
-% If you use margin notes they will comes as close as .35in from the
-% border of the paper. If you use them extensively, this is unlikely to
-% be kosher and you should adjust the margin parameters. You can
-% solve this by including the following in your preamble.
-% \begin{alltt}\cs{geometry}\{marginparwidth=\(w\), marginparsep=\(s\), includemp\}\end{alltt}
-% where~$w$ is the width of your margin notes and $s$ their separation
-% from the text
-%
-% You should check with the GSAS for more guidance.
-%
-% \StopEventually{}
-%
-% \section{Driver Producing Documentation}
+% \maketitlepage
+% \makeapproval
+% \makecopyright
%
-% We want to distribution the documented class file as a single
-% file even though the file is used for two very different purposes:
-% \begin{enumerate}
-% \item \label{it:documentation}To produce the documentation of the class.
-% \item \label{it:class}To provide the class for users.
-% \end{enumerate}
-% We accomplish this with a bit of code taken from the
-% \package{doc} package: We test whether a \cmd{\documentclass}-command has
-% already been processed (we exploit that \LaTeX\ binds
-% \cmd{\documentclass} to \cmd{\@twoclasseserror} when it start to
-% process \cmd{\documentclass}). If so, we know that we are in
-% Case~\ref{it:class}, otherwise we use the driver to produce the
-% documentation.
-%
-% This is implemented with the following trickery. If the condition
-% below is false, i.e., \cmd{\documentclass} is not bound ot
-% \cmd{\@twoclasseserror}, then a \cs{fi} is constructed on the fly
-% and \LaTeX\ continues processing the code following "\csname fi\endcsname". On the other hand, if the condition is true, \LaTeX\
-% searches for a \cs{fi}, but has no clue that "\csname fi\endcsname"
-% stands for \cs{fi}. Therefore, it skips until it finds the
-% \cs{fi} following "\end{document}".
-%
-% Additionally, these parts are enclosed in a guard "gobble" to
-% prevent the trickery to end up in files coming out of
-% \package{docstrip}.
-% \begin{macrocode}
-%<*driver>
-%<*gobble>
-\makeatletter
-\ifx\documentclass\@twoclasseserror
-\else \makeatother\csname fi\endcsname
-%</gobble>
-% \end{macrocode}
-% Otherwise we process the following lines which will produced the
-% formatted the documentation.
-%
-% \begin{macrocode}
-\documentclass{ltxdoc}
-\usepackage{url}
-\usepackage{alltt}
-% \end{macrocode}
-% By default we only want the user documentation:
-% \begin{macrocode}
- \OnlyDescription % Comment this line out for full documentation
-% \end{macrocode}
-% For the full documentation, the following lines should be uncommented:
-% \begin{macrocode}
- % \EnableCrossrefs % Uncomment for full documentation
- % \RecordChanges
-% \end{macrocode}
-% which produces a cross-referenced index of the macros' definitions
-% and usage and a history of changes.
+% \begin{dissertation-abstract}
+% I present a simple explanation of how to LaTeX your dissertation.
+% \end{dissertation-abstract}
%
-% We tell the user not to worry about underfull/overfull boxes.
-% \begin{macrocode}
- \typeout{Expect some Under- and overfull boxes}
-% \end{macrocode}
-% Finally, we define some commands to typeset the documentation: First, a
-% command to typeset the RCS tags generated by the version control.
-% \begin{macro}{\RCS}
-% \mcmd{\RCS}"$"\meta{ID}": "\meta{description}" $" defines
-% \cs{RCS\meta{ID}} to expand to \meta{description}.
-% \begin{macrocode}
-\makeatletter
-\def\RCS$#1: #2 ${\@namedef{RCS#1}{#2}}
-% \end{macrocode}
-% \end{macro}^^A \RCS
+% \addcontentsline{toc}{section}{Table of Contents}
+% \tableofcontents
%
-% \begin{macro}{\cmd}
-% \begin{macro}{\mcmd}
-% \begin{macro}{\mcs}
-% \begin{macro}{\marg}
-% \begin{macro}{\ostar}
-% \begin{macro}{\package}
-% Second, some commands for formatting the various parts of the
-% documentation: We fix the \cmd{\cmd} so it includes "@" in the
-% command names (necessary when we define commands \cs{if@$\ldots$}),
-% \cmd{\mcmd}\marg{\cs{command}} for the mandatory command name set as
-% with \cmd{\cmd}, \cmd{\mcs}\marg{name} for the mandatory command
-% name set as with \cmd{\cs}, \cmd{\marg}\marg{argument} for a
-% mandatory argument, \cmd{\ostar} for an optional start, and
-% \cmd{\package}\marg{package name} for a package name.
-% \begin{macrocode}
-\let\bd@saved@cmd\cmd
-\renewcommand{\cmd}{\bgroup\makeatletter\bd@cmd@i}
-\newcommand{\bd@cmd@i}[1]{\bd@saved@cmd{#1}\egroup}
-\newcommand{\mcmd}{\bgroup\makeatletter\mcmd@i}
-\newcommand{\mcmd@i}[1]{\textbf{\hbox{\bd@saved@cmd#1}}\egroup}
-\newcommand{\mcs}[1]{\textbf{\hbox{\cs{#1}}}}
-\let\org@marg\marg
-\renewcommand{\marg}[1]{\textbf{\org@marg{#1}}}
-\newcommand{\ostar}{\texttt{*}}
-\newcommand{\package}[1]{\textsf{#1}}
-\makeatother
-% \end{macrocode}
-% \end{macro}^^A \package
-% \end{macro}^^A \ostar
-% \end{macro}^^A \marg
-% \end{macro}^^A \mcs
-% \end{macro}^^A \mcmd
-% \end{macro}^^A \cmd
-%
-% \begin{macrocode}
-\begin{document}
- \DocInput{brandeis-dissertation.dtx}
-\end{document}
-%<*gobble>
-\fi
-%</gobble>
-%</driver>
-% \end{macrocode}
-%
-% \section{Class Code}
-%
-% \begin{macrocode}
-%<*class>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{brandeis-dissertation}%
- [2013/10/21 v2.0 Brandeis dissertation settings]
-% \end{macrocode}
-% We declare the various options along with flags for them.
-% \begin{macrocode}
-\newif\ifbd@blankclear
-\DeclareOption{blankcleared}{\bd@blankcleartrue}
-\DeclareOption{numbercleared}{\bd@blankclearfalse}
-\newif\ifbd@minmar
-\DeclareOption{minmargins}{\bd@minmartrue}
-\DeclareOption{15margins}{\bd@minmarfalse}
-% \end{macrocode}
-% \changes{v1.0}{2004/10/25}{Dropped the margin changing options for \package{geometry}}
-%
-% \begin{macro}{\bd@book@size}
-% \begin{macro}{\bd@book@side}
-% \begin{macro}{\bd@book@final}
-% Finally, we shadow a few of the options given by
-% \package{book}. Since \package{book} uses the unstarred
-% "\ProcessOptions", we cannot pass mutually exclusive options like
-% "twoside" and "oneside" to \package{book} as the one declared latest
-% in \package{book} will always take precedence. We therefore store
-% the choice in flags.
-%
-% GSAS recommend a 12pt font size, but allow font sizes down to 10pt. We
-% therefore include the smaller font sizes, but change them so
-% \cmd{\small} and \cmd{\footnotesize} do not reduce the font size.
-% \begin{macrocode}
-\newif\ifbd@nochange@small@ftnt
-\DeclareOption{12pt}{\def\bd@book@size{12pt}%
- \bd@nochange@small@ftntfalse}
-\DeclareOption{11pt}{\def\bd@book@size{11pt}%
- \bd@nochange@small@ftnttrue}
-\DeclareOption{10pt}{\def\bd@book@size{10}%
- \bd@nochange@small@ftnttrue}
-\DeclareOption{oneside}{\def\bd@book@side{oneside}}
-\DeclareOption{twoside}{\def\bd@book@side{twoside}}
-\DeclareOption{draft}{\def\bd@book@final{draft}}
-\DeclareOption{final}{\def\bd@book@final{final}}
-\DeclareOption{openright}{\def\bd@book@openrght{openright}}
-\DeclareOption{openany}{\def\bd@book@openrght{openany}}
-% \end{macrocode}
-% The "leqno", "fleqno", and the "openbib" does not have any
-% excluding option.
-% \begin{macrocode}
-\DeclareOption{leqno}{\PassOptionsToClass{book}{\currentoption}}
-\DeclareOption{fleqno}{\PassOptionsToClass{book}{\currentoption}}
-\DeclareOption{openbib}{\PassOptionsToClass{book}{\currentoption}}
-\DeclareOption{openbib}{\def\bd@book@openbib{openbib}}
-% \end{macrocode}
-% \end{macro}^^A \bd@book@final
-% \end{macro}^^A \bd@book@side
-% \end{macro}^^A \bd@book@size
-%
-% We process the options and we can then load the book class with the
-% the default options of 12pt font and letter paper.
-% \begin{macrocode}
-\ExecuteOptions{12pt,openright,final,oneside,%
- minmargins,copyright,nolot,lof}
-\ProcessOptions*
-\LoadClass[letterpaper,\bd@book@size,\bd@book@side,%
- \bd@book@final,\bd@book@openrght]{book}
-% \end{macrocode}
-%
-% After loading the \package{book} class, fonts have been set up. If
-% needed for font sizes 10pt and 11pt, we now make \cmd{\small} and
-% \cmd{\footnotesize} the same as the normal font size.
-% \begin{macrocode}
-\ifbd@nochange@small@ftnt
- \let\small\normalsize
- \let\footnotesize\normalsize
-\fi
-% \end{macrocode}
-%
-% \begin{macro}{\bd@cleardoublepageblank}
-% \begin{macro}{\bd@cleardoublepage@save}
-% The \cmd{\clearblank} is an alternative to
-% \cmd{\cleardoublepage} that leaves the facing left-hand page (if
-% any) completely blank, i.e., without a page number. We do so
-% by temporarily changing the pagestyle to "empty".
-% \begin{macrocode}
-\let\bd@cleardoublepage@save\cleardoublepage
-\newcommand{\bd@cleardoublepageblank}{%
- \clearpage
- \thispagestyle{empty}%
- \bd@cleardoublepage@save}
-\ifbd@blankclear
- \AtBeginDocument{\let\cleardoublepage\bd@cleardoublepageblank}
-\fi
-% \end{macrocode}
-% \end{macro}^^A \bd@cleardoublepage@save
-% \end{macro}^^A \bd@cleardoublepageblank
-%
-% \subsection{Spacing}
-%
-% From the Brandeis web page: ``Double-space all textual material and
-% all preliminary pages.''. Switching between single and double
-% spacing can be painful, but the package \package{setspace} takes
-% out most of the sting.
-% \begin{macrocode}
-\RequirePackage[doublespacing]{setspace}
-% \end{macrocode}
-%
-% From the Brandeis web page: ``Notes, bibliographic references, and
-% long quotations may be single-spaced.''.
-%
-% \begin{environment}{thebibliography}
-% \begin{environment}{theindex}
-% \begin{environment}{quotation}
-% \begin{macro}{\bd@thebibliography}
-% \begin{macro}{\bd@endthebibliography}
-% \begin{macro}{\bd@theindex}
-% \begin{macro}{\bd@endtheindex}
-% \begin{macro}{\bd@quotation}
-% \begin{macro}{\bd@endquotation}
-% \package{setspace} is smart enough to single-space footnotes for
-% you. We adapt
-% the bibliography, index, and "quotation" environment\footnote{From the
-% \LaTeX-book: ``The "quotation" environment is used for quotations
-% of more than one paragraph''} to produce single-spaced output:
-% \begin{macrocode}
-\let\bd@thebibliography\thebibliography
-\let\bd@endthebibliography\endthebibliography
-\renewenvironment{thebibliography}%
- {\begin{singlespace}\bd@thebibliography}%
- {\bd@endthebibliography\end{singlespace}}
-\let\bd@theindex\theindex
-\let\bd@endtheindex\endtheindex
-\renewenvironment{theindex}{%
- \addcontentsline{toc}{chapter}%
- {\protect\numberline{}\indexname}%
- \bd@theindex\begin{singlespace}\small}%
- {\end{singlespace}\bd@endtheindex}
-\let\bd@quotation\quotation
-\let\bd@endquotation\endquotation
-\renewenvironment{quotation}%
- {\begin{singlespace}\bd@quotation}%
- {\bd@endquotation\end{singlespace}}
-% \end{macrocode}
-% \end{macro}^^A \bd@endquotation
-% \end{macro}^^A \bd@quotation
-% \end{macro}^^A \bd@endtheindex
-% \end{macro}^^A \bd@theindex
-% \end{macro}^^A \bd@endthebibliography
-% \end{macro}^^A \bd@thebibliography
-% \end{environment}^^A quotation
-% \end{environment}^^A theindex
-% \end{environment}^^A thebibliography
-%
-% Finally, we also decrease the line spacing smaller in math displays
-% as displays otherwise look odd.
-% \begin{macrocode}
-\everydisplay\expandafter{%
- \the\everydisplay
- \def\baselinestretch{1.2}\selectfont}
-% \end{macrocode}
-% Finally, we adjust to skip amounts to reflect the increased line spacing.
-% \begin{macrocode}
-\smallskipamount=2pt plus 1.5pt minus 1.5pt
-\smallskipamount=4pt plus 3pt minus 3pt
-\bigskipamount=8pt plus 6pt minus 6pt
-% \end{macrocode}
-% \section{Margins}
-%
-% We simplify matters by using the \package{geometry}. The GSAS
-% guidelines calls for letter paper ($8 \times 11.5$ inch) and the
-% margins given in the table on p.~\pageref{tbl:margins}.
-% Furthermore, the guidelines call for the top margin of the first
-% page of each chapter to be at least 2in. The latter is more than
-% provided for by the \package{book} class which hard codes a 50pt
-% vertical space on top of the chapter heading.
-% \begin{macrocode}
-\RequirePackage[letterpaper]{geometry}
-\ifbd@minmar
- \geometry{left=1in, top=1in, right=1in, bottom=1in,
- marginparwidth=.5in}
-\else
- \geometry{margin=1.5in,marginparwidth=1in}
-\fi
-% \end{macrocode}
-% define the brandeisheadings page style
-% \begin{macro}{\ps@brandeisheadings}
-% \begin{macrocode}
-\if@twoside
- \def\ps@brandeisheadings{%
- \def\@evenfoot{\hfil\thepage\hfil}%
- \def\@oddfoot{\hfil\thepage\hfil}%
- \def\@evenhead{\relax}%
- \def\@oddhead{\relax}%
- % \def\@evenhead{\hfil{\slhape\leftmark}\hfil}%
- % \def\@oddhead{\hfil{\slshape\rightmark}\hfil}%
- \let\@mkboth\markboth
- \def\chaptermark##1{%
- \markboth {\MakeUppercase{%
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
- \@chapapp\ \thechapter. \ %
- \fi
- \fi
- ##1}}{}}%
- \def\sectionmark##1{%
- \markright {\MakeUppercase{%
- \ifnum \c@secnumdepth >\z@
- \thesection. \ %
- \fi
- ##1}}}}
-\else
- \def\ps@brandeisheadings{%
-
- \def\@oddfoot{\hfil\thepage\hfil}%
- \def\@oddhead{\hfil{\slshape\rightmark}\hfil}%
- \let\@mkboth\markboth
- \def\chaptermark##1{%
- \markright {\MakeUppercase{%
- \ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
- \@chapapp\ \thechapter. \ %
- \fi
- \fi
- ##1}}}}
-\fi
-% \end{macro}{\ps@brandeisheadings}
-% \end{macrocode}
-% \begin{macro}{\bd@ps@plain@saved}
-% \begin{macro}{\bd@ps@empty@saved}
-% \begin{macro}{\bd@ps@headings@saved}
-% \begin{macro}{\bd@ps@myheadings@saved}
-% \begin{macro}{\bd@ps@brandeisheadings@saved}
-% To get the margin calculations right, we let the page style commands
-% change the constraints while we are in the preamble:
-% \begin{macrocode}
-\let\bd@ps@plain@saved\ps@plain
-\let\bd@ps@empty@saved\ps@empty
-\let\bd@ps@headings@saved\ps@headings
-\let\bd@ps@myheadings@saved\ps@myheadings
-\let\bd@ps@brandeisheadings@saved\ps@brandeisheadings
-\def\ps@plain{\geometry{includehead=false,includefoot}%
- \bd@ps@plain@saved}
-\def\ps@pempty{\geometry{includehead=false,includefoot=false}%
- \bd@ps@empty@saved}
-\def\ps@headings{\geometry{includehead,includefoot=false}%
- \bd@ps@headings@saved}
-\def\ps@myheadings{\geometry{includehead,includefoot=false}%
- \bd@ps@myheadings@saved}
-\def\ps@brandeisheadings{\geometry{includehead,includefoot}%
- \bd@ps@brandeisheadings@saved}
-\AtBeginDocument{%
- \let\ps@plain\bd@ps@plain@saved
- \let\ps@empty\bd@ps@empty@saved
- \let\ps@headings\bd@ps@headings@saved
- \let\ps@myheadings\bd@ps@myheadings@saved
- \let\ps@brandeisheadings\bd@ps@brandeisheadings@saved
- \let\bd@ps@plain\@undefined
- \let\bd@ps@empty\@undefined
- \let\bd@ps@headings\@undefined
- \let\bd@ps@myheadings\@undefined
- \let\bd@ps@brandeisheadings\@undefined}
-% \end{macrocode}
-% \end{macro}^^A \bd@ps@brandeisheadings@saved
-% \end{macro}^^A \bd@ps@myheadings@saved
-% \end{macro}^^A \bd@ps@headings@saved
-% \end{macro}^^A \bd@ps@empty@saved
-% \end{macro}^^A \bd@ps@plain@saved
-%
-% We choose the default page style to be brandeisheadings:
-% \begin{macrocode}
-\pagestyle{brandeisheadings}
-% \end{macrocode}
-%
-% \section{Front Matter}
-%
-% \begin{macro}{\thesisfront}
-% \cmd{\thesisfront}\oarg{options} produces the front page based on
-% the parameters set in the preamble. \meta{options} is a
-% comma-separated list of options as described on
-% p.~\pageref{p:thesisfront-options}.
-%
-% We first process the options. Each valid option is defined below
-% as a macro \cs{bd@tf@\meta{option}} that is to be executed for the
-% option.
-% \begin{macrocode}
-\newcommand{\thesisfront}[1][]{%
- \@for\bd@option:=#1\do{%
- \@ifundefined{bd@tf@\bd@option}{%
- \@latex@error{\@backslashchar thesisfront: option `\bd@option'
- unknown}%
- {The option you have specified is unknown. Check the spelling
-and \MessageBreak consult the documentation for the\MessageBreak
-brandeis-dissertation class.}}%
- {\@nameuse{bd@tf@\bd@option}}}%
-% \end{macrocode}
-% We mark that this is the front matter.
-% \begin{macrocode}
- \frontmatter
-% \end{macrocode}
-% The pages from the title page and until the acknowledgments should
-% be counted, but not numbered. We start a group so we can
-% change the page style without worries.
-% \begin{macrocode}
- \bgroup
- \pagestyle{empty}
- \thesistitlepage\cleardoublepage
-% \end{macrocode}
-% When submitting online, the signature page only mentions the
-% committee's names, otherwise we need signature lines.
-% \begin{macrocode}
- \if@bd@onlinesubmission{\signaturepage}{\signaturepage*}%
- \cleardoublepage
- \if@bd@crpage{\copyrightpage{\@author}{\@graduationyear}%
- \cleardoublepage}%
- \ifx\@dedication\@empty\else
- \dedicationpage{\@dedication}%
- \cleardoublepage
- \fi
- \cleardoublepage
- \egroup
- \bd@optpage*{Acknowledgments}{\@acknowledgments}%
- \cleardoublepage
- \bd@abstract{\@thesisabstract}%
- \cleardoublepage
- \bd@optpage{Preface}{\@preface}%
- \cleardoublepage
- \tableofcontents
- \cleardoublepage
- \if@bd@lot{\listoftables\cleardoublepage}%
- \if@bd@lof{\listoffigures\cleardoublepage}%
- \mainmatter}
-% \end{macrocode}
-% \end{macro}^^A \thesisfront
-%
-% We then define the various options:
-% \begin{macro}{\if@bd@onlinesubmission}
-% \begin{macro}{\bd@tf@onlinesubmission}
-% \begin{macro}{\bd@tf@papersubmission}
-% \cmd{\if@bd@onlinesubmission} is the flag for whether we prepare
-% for online or paper submission. The corresponding options are
-% "onlinesubmission" and "papersubmission"
-% \begin{macrocode}
-\let\if@bd@onlinesubmission\@firstoftwo
-\newcommand{\bd@tf@onlinesubmission}{%
- \let\if@bd@onlinesubmission\@firstoftwo}
-\newcommand{\bd@tf@papersubmission}{%
- \let\if@bd@onlinesubmission\@secondoftwo}
-% \end{macrocode}
-% \end{macro}^^A \bd@tf@papersubmission
-% \end{macro}^^A \bd@tf@onlinesubmission
-% \end{macro}^^A \if@bd@onlinesubmission
-%
-% \begin{macro}{\if@bd@crpage}
-% \begin{macro}{\bd@tf@copyrightpage}
-% \begin{macro}{\bd@tf@nocopyrightpage}
-% \cmd{\if@bd@crpage} is the flag for whether we include a copyright
-% page. The corresponding options are
-% "copyrightpage" and "nocopyrightpage".
-% \begin{macrocode}
-\let\if@bd@crpage\@iden
-\newcommand{\bd@tf@copyrightpage}{\let\if@bd@crpage\@iden}
-\newcommand{\bd@tf@nocopyrightpage}{\let\if@bd@crpage\@gobble}
-% \end{macrocode}
-% \end{macro}^^A \bd@tf@nocopyrightpage
-% \end{macro}^^A \bd@tf@copyrightpage
-% \end{macro}^^A \if@bd@crpage
-%
-% \begin{macro}{\if@bd@lot}
-% \begin{macro}{\bd@tf@lot}
-% \begin{macro}{\bd@tf@nolot}
-% \cmd{\if@bd@lot} is the flag for whether we include a list of
-% tables. The corresponding options are
-% "lot" and "nolot".
-% \begin{macrocode}
-\let\if@bd@lot\@gobble
-\newcommand{\bd@tf@lot}{\let\if@bd@lot\@iden}
-\newcommand{\bd@tf@nolot}{\let\if@bd@lot\@gobble}
-% \end{macrocode}
-% \end{macro}^^A \bd@tf@nolot
-% \end{macro}^^A \bd@tf@lot
-% \end{macro}^^A \if@bd@lot
-%
-% \begin{macro}{\if@bd@lof}
-% \begin{macro}{\bd@tf@lof}
-% \begin{macro}{\bd@tf@nolof}
-% \cmd{\if@bd@lof} is the flag for whether we include a list of
-% figures. The corresponding options are
-% "lof" and "nolof".
-% \begin{macrocode}
-\let\if@bd@lof\@gobble
-\newcommand{\bd@tf@lof}{\let\if@bd@lof\@iden}
-\newcommand{\bd@tf@nolof}{\let\if@bd@lof\@gobble}
-% \end{macrocode}
-% \end{macro}^^A \bd@tf@nolof
-% \end{macro}^^A \bd@tf@lof
-% \end{macro}^^A \if@bd@lof
-%
-% \begin{macro}{\tableofcontents}
-% \begin{macro}{\listoftables}
-% \begin{macro}{\listoffigures}
-% We adopt \cmd{\tableofcontents}, \cmd{\listoftables}, and
-% \cmd{\listoffigures} to typeset the table of contents, list of tables,
-% and list of figures single-spaced. We only include chapters sand
-% sections in the table of contents as in the example in the
-% dissertation examples.
-% \begin{macrocode}
-\setcounter{tocdepth}{1}
-\let\bd@org@tableofcontents\tableofcontents
-\renewcommand{\tableofcontents}{%
- \begin{singlespace}
- \bd@org@tableofcontents
- \end{singlespace}}
-\let\bd@org@listoftables\listoftables
-\renewcommand{\listoftables}{%
- \begin{singlespace}
- \bd@org@listoftables
- \end{singlespace}}
-\let\bd@org@listoffigures\listoffigures
-\renewcommand{\listoffigures}{%
- \begin{singlespace}
- \bd@org@listoffigures
- \end{singlespace}}
-% \end{macrocode}
-% \end{macro}^^A \listoffigures
-% \end{macro}^^A \listoftables
-% \changes{07/01/2004}{1.0}{PMN: added Table of Contents to Table of Contents.}
-% \end{macro}^^A \tableofcontents
-%
-% \begin{macro}{\mainmatter}
-% The dissertation guidelines does not call for a blank page between
-% front matter and main matter. We therefore adopt the
-% \textsf{book}'s definition accordingly.
-% \begin{macrocode}
-\renewcommand\mainmatter{%
- \clearpage
- \@mainmattertrue
- \pagenumbering{arabic}}
-% \end{macrocode}
-% \end{macro}^^A \mainmatter
+% \startbody
%
-% \begin{macro}{\acknowledgments}
-% \begin{macro}{\@acknowledgments}
-% \begin{macro}{\advisor}
-% \begin{macro}{\@advisor}
-% \begin{macro}{\dean}
-% \begin{macro}{\@dean}
-% \begin{macro}{\dedication}
-% \begin{macro}{\@dedication}
-% \begin{macro}{\department}
-% \begin{macro}{\@department}
-% \begin{macro}{\graduationmonth}
-% \begin{macro}{\@graduationmonth}
-% \begin{macro}{\graduationyear}
-% \begin{macro}{\@graduationyear}
-% \begin{macro}{\othercopyright}
-% \begin{macro}{\@othercopyright}
-% \begin{macro}{\preface}
-% \begin{macro}{\@preface}
-% \begin{macro}{\thesisabstract}
-% \begin{macro}{\@thesisabstract}
-% We define the commands for the formal parameters of the
-% dissertation. For each \meta{parameter}, the command
-% \cs{\meta{parameter}} records \meta{parameter} by storing it in
-% \cs{@\meta{parameter}}.
-% \begin{macrocode}
-\gdef\@acknowledgments{}
-\gdef\@advisor{}
-\gdef\@dean{}
-\gdef\@dedication{}
-\gdef\@department{}
-\gdef\@graduationmonth{May}
-\xdef\@graduationyear{\the\year}
-\gdef\@othercopyright{}
-\gdef\@preface{}
-\gdef\@thesisabstract{}
-\newcommand{\acknowledgments}[1]{\gdef\@acknowledgments{#1}}
-\newcommand{\advisor}[1]{\gdef\@advisor{#1}}
-\newcommand{\dean}[1]{\gdef\@dean{#1}}
-\newcommand{\dedication}[1]{\gdef\@dedication{#1}}
-\newcommand{\department}[1]{\gdef\@department{#1}}
-\newcommand{\graduationmonth}[1]{\gdef\@graduationmonth{#1}}
-\newcommand{\graduationyear}[1]{\gdef\@graduationyear{#1}}
-\newcommand{\othercopyright}[1]{\gdef\@othercopyright{#1}}
-\newcommand{\preface}[1]{\gdef\@preface{#1}}
-\newcommand{\thesisabstract}[1]{\gdef\@thesisabstract{#1}}
-% \end{macrocode}
-% \end{macro}^^A \@thesisabstract
-% \end{macro}^^A \thesisabstract
-% \end{macro}^^A \@preface
-% \end{macro}^^A \preface
-% \end{macro}^^A \@othercopyright
-% \end{macro}^^A \othercopyright
-% \end{macro}^^A \@graduationyear
-% \end{macro}^^A \graduationyear
-% \end{macro}^^A \@graduationmonth
-% \end{macro}^^A \graduationmonth
-% \end{macro}^^A \@department
-% \end{macro}^^A \department
-% \end{macro}^^A \@dedication
-% \end{macro}^^A \dedication
-% \end{macro}^^A \@dean
-% \end{macro}^^A \dean
-% \end{macro}^^A \@advisor
-% \end{macro}^^A \advisor
-% \end{macro}^^A \@acknowledgments
-% \end{macro}^^A \acknowledgments
-%
-% \begin{macro}{\reader}
-% \begin{macro}{\@committee}
-% The \mcmd{\reader}\marg{reader} adds \meta{reader} as a reader to
-% the committee. This is done by collection the readers in
-% \cmd{\@committee} enclosed by \cmd{\do}.
-% \begin{macrocode}
-\newcommand{\reader}[1]{%
- \expandafter\gdef
- \expandafter\@committee
- \expandafter{\@committee\do{#1}}}
-\gdef\@committee{}
-% \end{macrocode}
-% \end{macro}^^A \@committee
-% \end{macro}^^A \reader
-%
-% \section{Title Page}
-%
-% \begin{macro}{\thesistitlepage}
-% \mcmd{\thesistitlepage} typesets the title page of the
-% dissertation on a page without page number.
-% \begin{macrocode}
-\newcommand{\thesistitlepage}{
- \thispagestyle{empty}%
- \begin{center}
- \vspace*{.25in}%
- {\Huge \bf\baselineskip=.8\baselineskip \@title\\}
- \vspace*{.5in}%
- A Dissertation\\
- \vspace*{.25in}%
- Presented to\\
- The Faculty of the Graduate School of Arts and Sciences\\
- Brandeis University\\
- \@department\\
- \@advisor, Advisor\\
- \vspace*{.5in}
- In Partial Fulfillment\\
- of the Requirements for the Degree\\
- Doctor of Philosophy\\
- \vspace*{.5in}
- by\\
- \@author\\
- \@graduationmonth, \@graduationyear\\
- \end{center}%
- \clearpage}
-% \end{macrocode}
-% \end{macro}^^A \thesistitlepage
-%
-% \section{Copyright Page}
-%
-% \begin{macro}{\copyrightpage}
-% \mcmd{\copyrightpage}\marg{name}\marg{year} produces the thesis
-% copyright page on a page with the page number omitted.
-% \begin{macrocode}
-\newcommand{\copyrightpage}[2]{%
- \thispagestyle{empty}%
- \begin{center}
- \vspace*{2.5in}
- \copyright Copyright by \\
- \vspace*{.05in}
- #1 \\
- \vspace*{.05in}
- #2
- \end{center}
- \vspace{0pt}\vfill%
- \begin{singlespace}
- \begin{raggedright}
- \small
- \@othercopyright
- \end{raggedright}
- \end{singlespace}
- \clearpage}
-% \end{macrocode}
-% \changes{07/01/2004}{v0.1}{Added \cmd{\othercopyright}.}
-% \end{macro}^^A \copyrightpage
+% \section{Introduction}
+% Using \LaTeX for your dissertation is easy.
%
-% \begin{macro}{\dedicationpage}
-% \mcmd{\dedicationpage}\marg{dedication} produces a dedication page
-% on a page with the page number omitted.
-% \begin{macrocode}
-\newcommand{\dedicationpage}[1]{%
- \thispagestyle{empty}%
- \vspace*{2.5in}%
- \begin{center}%
- #1
- \end{center}%
- \clearpage}
-% \end{macrocode}
-% \end{macro}^^A \dedicationpage
+% \section{Body}
+% You can copy paste this code, and add your own dissertation.
%
-% \section{Abstract}
-%
-% \begin{environment}{abstract}
-% "abstract" is the environment for typesetting the abstract of the
-% dissertation.
-% \begin{macrocode}
-\newenvironment{abstract}{%
- \addcontentsline{toc}{chapter}{Abstract}
- \begin{singlespace}
- \thispagestyle{plain}
- \begin{center}
- {\Huge\bf Abstract\\}%
- \vspace*{.2in}%
- {\large\bf \@title \\}%
- \vspace*{.1in}%
- \noindent
- A dissertation presented to the Faculty of \\
- the Graduate School of Arts and Sciences of \\
- Brandeis University, Waltham, Massachusetts \\
- \vspace*{0.1in}
- by \@author
- \end{center}
- \end{singlespace}%
- \begin{doublespace}
- \noindent}%
- {\end{doublespace}%
- \clearpage}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\bd@abstract}
-% \mcmd{\bd@abstract}\marg{abstract} uses \meta{abstract} as the
-% abstract of the dissertation.
-% \begin{macrocode}
-\newcommand{\bd@abstract}[1]{%
- \begin{abstract}#1\end{abstract}}
-% \end{macrocode}
-% \end{macro}^^A \bd@abstract
-%
-% \section{Signature Page}
-%
-% \begin{macro}{\signaturepage}
-% \begin{macro}{\bd@sig@page}
-% \begin{macro}{\if@bd@sig@lines}
-% \mcmd{\signaturepage}\ostar produces the signature page.
-%
-% The starred version produces the one to be signed on the day of
-% the defense while the unstarred version produces the one to appear
-% in the printed version. The choice is recorded by
-% \cmd{\if@bd@sig@lines}.
-% \begin{macrocode}
-\let\if@bd@sig@lines\@secondoftwo
-\newcommand{\signaturepage}{%
- \@ifstar{\let\if@bd@sig@lines\@firstoftwo\bd@sig@page}%
- {\let\if@bd@sig@lines\@secondoftwo\bd@sig@page}}
-\newcommand{\bd@sig@page}{%
-% \end{macrocode}
-% \label{p:sigpage-comm-sign-length}We first find the widest entry
-% for a committee member; this is the length of the signature lines for
-% the committee.
-% \begin{macrocode}
- \bd@upd@signline@lngth{\@advisor, Chair}
- \let\do\bd@upd@signline@lngth\@committee
-% \end{macrocode}
-% We remove page numbering and typeset the introduction text.
-% \begin{macrocode}
- \thispagestyle{empty}%
- \begin{flushleft}%
- \vspace*{.15in}%
- This dissertation, directed and approved by \@author's
- committee, has been accepted and approved by the Graduate
- Faculty of Brandeis University in partial fulfillment of the
- requirements for the degree of:
- \vspace*{0.25in}%
- \begin{flushright}%
- \centerline{\bfseries DOCTOR OF PHILOSOPHY}%
- \par
- \parbox{3.6in}{%
- \vspace{.8in}%
- \if@bd@sig@lines{\bd@signline{2.9in}}{}%
- \@dean, Dean of Arts and Sciences}%
- \end{flushright}%
- \vspace*{0.4in}%
-% \end{macrocode}
-% The preamble stores the list of committee members in
-% \cmd{\@committee} with each reader
-% enclosed in \cmd{\do}\{\meta{reader}\}. We list the committee
-% (with their possible signature lines) by setting \cmd{\do} be
-% \cmd{\bd@sig@page@item}.
-% \begin{macrocode}
- Dissertation Committee:
- \par
- \bd@sig@page@item{\@advisor, Chair}%
- {\let\do\bd@sig@page@item\@committee}%
- \end{flushleft}
- \clearpage}
-% \end{macrocode}
-% \end{macro}^^A \if@bd@sig@lines
-% \end{macro}^^A \bd@sig@page
-% \end{macro}^^A \signaturepage
-%
-% \begin{macro}{\bd@sig@page@item}
-% \mcmd{\bd@sig@page@item}\marg{member} typesets \meta{member} as a
-% committee member. It uses \cmd{\if@bd@sig@lines} to decide
-% whether to add signature lines.
-% \begin{macrocode}
-\newcommand{\bd@sig@page@item}[1]{%
- \if@bd@sig@lines{%
- \penalty10000\vskip.6in minus 1in%
- \bd@signline{\bd@comm@signline@lngth}}%
- {\par}%
- #1}
-% \end{macrocode}
-% \end{macro}^^A \bd@sig@page@item
-%
-% \subsection{Signature Line}
+% \section{Conclusion}
+% The dissertation class should help you with your formatting.
%
-% The following macros manages signature lines. We start with
-% \cmd{\bd@signline} to typeset a signature line.
-% \begin{macro}{\bd@signline}
-% \mcmd{\bd@signline}\marg{witdh} produces a line of width \meta{width} for signatures.
-% \begin{macrocode}
-\newcommand{\bd@signline}[1]{%
- \rule[.5\baselineskip]{#1}{0.4pt}\hskip-#1\relax\ignorespaces}
-% \end{macrocode}
-% \end{macro}^^A \bd@signline
-%
-% \begin{macro}{\bd@comm@signline@lngth}
-% \begin{macro}{\bd@upd@signline@lngth}
-% To get the same length on the signature lines for the committee,
-% we process the committee (see \cmd{\signaturepage} on
-% p.~\pageref{p:sigpage-comm-sign-length}
-% \begin{macrocode}
-\newlength{\bd@comm@signline@lngth}
-\setlength{\bd@comm@signline@lngth}{2.5in}
-\newcommand{\bd@upd@signline@lngth}[1]{%
- {\setbox0=\hbox{#1}%
- \ifdim \wd0>\bd@comm@signline@lngth
- \global\bd@comm@signline@lngth=\wd0
- \fi}}
-% \end{macrocode}
-% \end{macro}^^A \bd@upd@signline@lngth
-% \end{macro}^^A bd@comm@signline@lngth
+% \end{document}
+% \end{verbatim}
%
-% \begin{environment}{optionalpage*}
-% \begin{environment}{optionalpage}
-% These environments are used for optional pages: dedication,
-% acknowledgments, preface. They take \meta{title} as their single
-% argument.
-%
-% The unstarred version adds an entry to
-% the table of contents.
-% \begin{macrocode}
-\newenvironment{optionalpage}[1]{%
- \chapter{#1}}%
- {\clearpage}
-\newenvironment{optionalpage*}[1]{%
- \chapter*{#1}}%
- {\clearpage}
-% \end{macrocode}
-% We do not use \cmd{\chapter}\ostar as
-% this has a large space on the top of the page.
-% The output will be double-spaced, but you can easily change that.
-% \end{environment}^^A optionalpage
-% \end{environment}^^A optionalpage*
-%
-% \section{Optional Pages}
-% \begin{macro}{\bd@optpage}
-% \begin{macro}{\bd@optpage@i}
-% \mcmd{\bd@optpage}\ostar\textbf{\cs{\meta{command}}}\marg{title}
-% typesets an optional page titled \meta{title} with contents of
-% \cs{\meta{command}} provided that the expansion of \cs{\meta{command}}
-% is not-empty.
-% \begin{macrocode}
-\newcommand{\bd@optpage}{%
- \@ifstar{\bd@optpage@i{optionalpage*}}{\bd@optpage@i{optionalpage}}}
-% \end{macrocode}
-% We test for the optional star to decide on the environment to
-% use. Then \cmd{\bd@optpage@i} does the actual typesetting.
-% \begin{macrocode}
-\newcommand{\bd@optpage@i}[3]{%
- \ifx\@empty#3
- \expandafter\@gobble
- \else
- \expandafter\@iden
- \fi
- {\begin{#1}{#2}#3\end{#1}}}
-% \end{macrocode}
-% \end{macro}^^A \bd@optpage@i
-% \end{macro}^^A \bd@optpage
-%
-%^^A \section{Obsolete \package{book} Commands}
-%^^A Various features of the \package{book} class conflict with the
-%^^A commands in this class and we disable them
-% \begin{macrocode}
-%</class>
-% \end{macrocode}
-% \Finale \sloppy \PrintChanges
-%
-% \endinput
-% ^^A LocalWords: minmargins papersubmission
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.ins b/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.ins
index 422fef2d0f..4507c0dcaa 100644
--- a/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.ins
+++ b/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.ins
@@ -1,35 +1,40 @@
-%% CVSId: $Id: brandeis-dissertation.ins,v 1.1 2004/10/27 00:49:52 turtle Exp $
-%% brandeis-dissertation.ins (c)2004 Peter Møller Neergaard
-%
-% This program may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.2
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.2 or later is part of all distributions of LaTeX
-% version 1999/12/01 or later.
-%
-% This program consists of the files brandeis-dissertation.dtx and
-% brandeis-dissertation.ins.
-%
-% This file is the driver program used to install the
-% brandeis-dissertation class from the file brandeis-dissertation.dtx.
-%
-% You install the package by running tex on brandeis-dissertation.ins,
-% i.e.,
-%
-% tex brandeis-dissertation.ins
-%
-% You can then produce the documentation by
-%
-% latex brandeis-dissertation.tex
-
-\def\batchfile{brandeis-dissertation.ins}
-\input docstrip
-
+%%
+%% Copyright (C) 2020 by Deanna Daly
+%%
+%% This file 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
+%%
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is the Brandeis Graduate School of Arts and Sciences.
+%%
+%% This work consists of the files brandeis-dissertation.dtx and brandeis-dissertation.ins
+%% and the derived file brandeis-dissertation.cls.
+
+\input docstrip.tex
\keepsilent
-\generate{%
- \file{brandeis-dissertation.cls}{\from{brandeis-dissertation.dtx}{class}}
- \file{brandeis-dissertation.tex}{\from{brandeis-dissertation.dtx}{driver}}}
+\generate{\file {brandeis-dissertation.cls} {\from {brandeis-dissertation.dtx}{package}}}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation, please move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space brandeis-dissertation.cls}
+\Msg{*}
+\Msg{* To produce the documentation, run LaTeX on the file:}
+\Msg{*}
+\Msg{* \space\space brandeis-dissertation.dtx}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{***********************************************************}
+
+\endbatchfile
+ \ No newline at end of file
diff --git a/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.pdf b/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.pdf
index 1f8c02d47d..2684a59792 100644
--- a/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.pdf
+++ b/macros/latex/contrib/brandeis-dissertation/brandeis-dissertation.pdf
Binary files differ
diff --git a/macros/latex/contrib/brandeis-thesis/README.txt b/macros/latex/contrib/brandeis-thesis/README.txt
new file mode 100644
index 0000000000..6972cf7126
--- /dev/null
+++ b/macros/latex/contrib/brandeis-thesis/README.txt
@@ -0,0 +1,6 @@
+brandeis-thesis
+
+brandeis-thesis.cls provides the structures and formatting information for an
+MA thesis for Brandeis University. To generate the documentation, run
+LaTeX on brandeis-thesis.dtx. To generate the .cls file, run LaTeX on
+brandeis-thesis.ins. This material is subject to the LATEX Project Public License 1.3c. \ No newline at end of file
diff --git a/macros/latex/contrib/brandeis-thesis/brandeis-thesis.dtx b/macros/latex/contrib/brandeis-thesis/brandeis-thesis.dtx
new file mode 100644
index 0000000000..3ae38d8f5f
--- /dev/null
+++ b/macros/latex/contrib/brandeis-thesis/brandeis-thesis.dtx
@@ -0,0 +1,285 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2020 by Deanna Daly <gradschool@brandeis.edu>
+% -------------------------------------------------------
+%
+% This file 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.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{brandeis-thesis.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+%<package>\ProvidesClass{brandeis-thesis}
+%<*package>
+ [2020/01/21 v1.0 .dtx brandeis-thesis file]
+%</package>
+%<package>\LoadClass[12pt]{article}
+%<package>\RequirePackage[margin=1in]{geometry}
+%<package>\RequirePackage{setspace}
+%<package>\RequirePackage{titlesec}
+%<package>\RequirePackage[utf8]{inputenc}
+%<package>\RequirePackage[english]{babel}
+%<package>\RequirePackage{csquotes}
+%<package>\AtBeginEnvironment{quote}{\singlespacing}
+%
+%<package>\titleformat*{\section}{\normalsize\bfseries}
+%<package>\titleformat*{\subsection}{\normalsize\bfseries}
+%<package>\titleformat*{\subsubsection}{\normalsize\bfseries}
+%
+%<package>\renewcommand\month[1]{\def\@month{#1}}
+%<package>\renewcommand\year[1]{\def\@year{#1}}
+%<package>\newcommand\program[1]{\def\@program{#1}}
+%<package>\newcommand\advisor[1]{\def\@advisor{#1}}
+%<package>\newcommand\degreetype[1]{\def\@degreetype{#1}}
+%<package>\addto\captionsenglish{\renewcommand*\contentsname{Table of Contents}}
+%<package>\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
+%
+%<*package>
+\newcommand{\maketitlepage}{
+ \pagenumbering{gobble}
+ %\newgeometry{top=1.75in}
+ \begin{center}
+ \@title\\
+ \vspace{1em}
+ A Master's Thesis\\
+ \vspace{1em}
+ Presented to\\
+ \vspace{1em}
+ The Faculty of the Graduate School of Arts and Sciences\\
+ Brandeis University\\
+ \vspace{1em}
+ \@program\\
+ \vspace{1em}
+ \@advisor, Advisor\\
+ \vspace{1em}
+ In Partial Fulfillment\\
+ of the Requirements for the Degree\\
+ Master of \@degreetype\\
+ \vspace{1em}
+ by\\
+ \vspace{1em}
+ \@author\\
+ \vspace{1em}
+ \@month\,\@year
+ \end{center}
+ \restoregeometry
+ \newpage
+ \pagenumbering{roman}
+ \setcounter{page}{2}
+}
+%</package>
+%<*package>
+\newcommand{\makecopyright}{
+ \pagenumbering{gobble}
+ \newgeometry{top=6.2in}
+ \begin{center}
+ Copyright by\\
+ \@author{}\\
+ \vspace{1em}
+ \@year{}
+ \end{center}
+ \restoregeometry
+ \newpage
+ \pagenumbering{roman}
+ \setcounter{page}{3}
+}
+%</package>
+%<*package>
+\newenvironment{thesis-abstract}
+ {
+ %\newgeometry{top=1.4in}
+ \addcontentsline{toc}{section}{Abstract}
+ \begin{center}
+ \MakeUppercase{Abstract}\\
+ \vspace{1em}
+ \@title\\
+ \vspace{1em}
+ A thesis presented to the Faculty of the\\
+ Graduate School of Arts and Sciences of Brandeis University\\
+ Waltham, Massachusetts\\
+ \vspace{1em}
+ By\,\@author\\
+ \vspace{2em}
+ \end{center}
+ \doublespacing
+ }
+ {
+ \restoregeometry
+ }
+%</package>
+%<*package>
+\newcommand{\startbody}{
+ \newpage
+ \pagenumbering{arabic}
+ \doublespacing
+}
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{brandeis-thesis.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% \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 \~}
+%
+%
+% \changes{v1.0}{2020/01/21}{Initial version}
+%
+% \GetFileInfo{brandeis-thesis.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+%
+% \title{The \textsf{brandeis-thesis} package\thanks{This document
+% corresponds to \textsf{brandeis-thesis}~\fileversion, dated \filedate.}}
+% \author{Brandeis University GSAS \\ \texttt{gradschool@brandeis.edu}}
+%
+% \maketitle
+%
+% \section{Introduction}
+%
+% This document explains how to use the \textsf{brandeis-thesis} class in \LaTeX{} to format your thesis according to the specifications of Brandeis University's Graduate School of Arts and Sciences.
+%
+% The \textsf{brandeis-thesis} class will do the following for you:
+% \begin{itemize}
+% \item Create your title, copyright, and abstract pages.
+% \item Ensure your thesis has the correct margins, spacing, and pagination.
+% \end{itemize}
+%
+% \section{Usage}
+% \label{Sec:usage}
+%
+% \subsection{Title Information}
+% \label{Sec:general}
+%
+% The following commands are used to save information that is used to render your title page:
+%
+% \begin{verbatim}
+% \title{}
+% \author{}
+% \month{}
+% \year{}
+% \program{}
+% \advisor{}
+% \degreetype{}
+% \end{verbatim}
+%
+% For example, including the following in your document:
+%
+% \begin{verbatim}
+% \title{LaTeXing Your Thesis}
+% \author{Deanna Daly}
+% \month{May}
+% \year{2020}
+% \program{Computer Science}
+% \advisor{Alan Turing}
+% \degreetype{Science}
+% \end{verbatim}
+%
+% would set your thesis to one with a title of "LaTeXing Your Thesis", an author of "Deanna Daly", a graduation time of May 2020, with the advisor "Alan Turing" in the Computer Science program, for a Master of Science Degree.
+%
+% \subsection{Creating Front Matter}
+%
+% The title and copyright pages of your thesis can be created with just one line each:
+%
+% \begin{verbatim}
+% \maketitlepage
+% \makecopyright
+% \end{verbatim}
+%
+% The abstract is created with the \texttt{thesis-abstract} environment, as in the following example:
+%
+% \begin{verbatim}
+% \begin{thesis-abstract}
+% I present a simple explanation of how to LaTeX your thesis.
+% \end{thesis-abstract}
+% \end{verbatim}
+%
+% This will create your abstract page, with the abstract being "I present a simple explanation of how to LaTeX your thesis."
+%
+% Table of Contents, List of Figures, etc. can be generated as usual using \LaTeX.
+%
+% To end the front matter section of your thesis and begin the body of your thesis, use the command \texttt{\textbackslash startbody}.
+%
+% The rest of your thesis may be written as normal; margins, spacing, and pagination should be set automatically.
+%
+% \section{Example}
+%
+% The below example provides the source code for a simple thesis with no figures or citations.
+%
+% \begin{verbatim}
+% \documentclass[red]{brandeis-thesis}
+% \usepackage[utf8]{inputenc}
+%
+% \title{LaTeXing Your Thesis}
+% \author{Deanna Daly}
+% \month{May}
+% \year{2020}
+% \program{Computer Science}
+% \advisor{Alan Turing}
+% \degreetype{Science}
+%
+% \begin{document}
+%
+% \maketitlepage
+% \makecopyright
+%
+% \begin{thesis-abstract}
+% I present a simple explanation of how to LaTeX your thesis.
+% \end{thesis-abstract}
+%
+% \addcontentsline{toc}{section}{Table of Contents}
+% \tableofcontents
+%
+% \startbody
+%
+% \section{Introduction}
+% Using \LaTeX for your thesis is easy.
+%
+% \section{Body}
+% You can copy paste this code, and add your own thesis.
+%
+% \section{Conclusion}
+% The thesis class should help you with your formatting.
+%
+% \end{document}
+% \end{verbatim}
+%
+% \Finale
+\endinput
+
diff --git a/macros/latex/contrib/brandeis-thesis/brandeis-thesis.ins b/macros/latex/contrib/brandeis-thesis/brandeis-thesis.ins
new file mode 100644
index 0000000000..ddd834aa4b
--- /dev/null
+++ b/macros/latex/contrib/brandeis-thesis/brandeis-thesis.ins
@@ -0,0 +1,40 @@
+%%
+%% Copyright (C) 2020 by Deanna Daly
+%%
+%% This file 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
+%%
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is the Brandeis Graduate School of Arts and Sciences.
+%%
+%% This work consists of the files brandeis-thesis.dtx and brandeis-thesis.ins
+%% and the derived file brandeis-thesis.cls.
+
+\input docstrip.tex
+\keepsilent
+
+\generate{\file {brandeis-thesis.cls} {\from {brandeis-thesis.dtx}{package}}}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation, please move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space brandeis-thesis.cls}
+\Msg{*}
+\Msg{* To produce the documentation, run LaTeX on the file:}
+\Msg{*}
+\Msg{* \space\space brandeis-thesis.dtx}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{***********************************************************}
+
+\endbatchfile
+
+ \ No newline at end of file
diff --git a/macros/latex/contrib/brandeis-thesis/brandeis-thesis.pdf b/macros/latex/contrib/brandeis-thesis/brandeis-thesis.pdf
new file mode 100644
index 0000000000..d30119d45c
--- /dev/null
+++ b/macros/latex/contrib/brandeis-thesis/brandeis-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/euclideangeometry/README.txt b/macros/latex/contrib/euclideangeometry/README.txt
index 28e984c559..4e3d182cd6 100644
--- a/macros/latex/contrib/euclideangeometry/README.txt
+++ b/macros/latex/contrib/euclideangeometry/README.txt
@@ -10,7 +10,7 @@
%% License information appended
%%
File README.txt for package euclideangeometry
- [2020-02-02 v.0.1.2 Extension package for curve2e]
+ [2020-02-09 v.0.1.3 Extension package for curve2e]
The package bundle euclideangeometry is composed of the following files
diff --git a/macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdf b/macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdf
index 1364546e34..46062de27e 100644
--- a/macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdf
+++ b/macros/latex/contrib/euclideangeometry/euclideangeometry-man.pdf
Binary files differ
diff --git a/macros/latex/contrib/euclideangeometry/euclideangeometry-man.tex b/macros/latex/contrib/euclideangeometry/euclideangeometry-man.tex
index 9c668874fa..ab35cdb93d 100644
--- a/macros/latex/contrib/euclideangeometry/euclideangeometry-man.tex
+++ b/macros/latex/contrib/euclideangeometry/euclideangeometry-man.tex
@@ -10,9 +10,95 @@
\usepackage{etoolbox,enumitem,xspace,xcolor,euclideangeometry}
\usepackage{url}
+\providecommand\file{}
+\renewcommand*\file[1]{{\normalfont\texttt{#1}}}
+\providecommand\prog{}
+\renewcommand*\prog[1]{{\normalfont\texttt{#1}}}
+\newcommand*\conta[1]{\texttt{\slshape#1}}
+\providecommand\cs{}
+\renewcommand\cs[1]{{\normalfont\texttt{\char92#1}}}
+\providecommand\meta{}
+\renewcommand*\meta[1]{{\normalfont$\langle$\textit{#1}$\rangle$}}
+\providecommand\marg{}
+\renewcommand*\marg[1]{{\ttfamily \char123\meta{#1}\char125}}
+\newcommand*\Marg[1]{{\normalfont\ttfamily\{#1\}}}\let\Arg\Marg
+\providecommand\oarg{}
+\renewcommand*\oarg[1]{{\ttfamily[\meta{#1}]}}
+\newcommand*\Oarg[1]{{\ttfamily[#1]}}
+\newcommand*\aarg[1]{{\ttfamily{<\meta{#1}>}}}
+\newcommand*\Aarg[1]{{\ttfamily<#1>}}
+\newcommand*\Bambiente[1]{\texttt{\char92begin\{#1\}}}
+\newcommand*\Eambiente[1]{\texttt{\char92end\{#1\}}}
+\newcommand*\garg[1]{\texttt{(\splitgarg#1,!)}}\let\parg\garg
+\newcommand*\Garg[1]{\texttt{(#1)}}\let\Parg\Garg
+ \def\secgarg#1,{#1}
+ \def\splitgarg#1,#2!{%
+ \ifstrequal{#2}{}{\meta{#1}}{\meta{#1},\meta{\secgarg#2}}}
+\providecommand\pack{}
+\renewcommand*\pack[1]{{\normalfont\textsf{#1}}}
+\providecommand\opt{}
+\renewcommand*\opt[1]{{\normalfont\textsl{#1}}}\let\opz\opt
+\providecommand\env{}
+\renewcommand*\env[1]{{\normalfont\textit{\bfseries#1}}}\let\amb\env
+
+\providecommand*\ped[1]{\ensuremath{_{\mathrm{#1}}}}
+\providecommand*\ap[1]{\ensuremath{^{\mathrm{#1}}}}
+\providecommand*\unit[1]{\ensuremath{\,\mathrm{#1}}}
+\providecommand*\sigla[1]{\textsc{\lowercase{#1}}}
+\providecommand*\iu{\ensuremath{\mathrm{i}}}\let\gei\iu
+\providecommand*\eu{\ensuremath{\mathop{\mathrm{e}}\nolimits}}
+
+\providecommand\GetFileInfo{}
+\makeatletter
+\renewcommand*\GetFileInfo[1]{%
+ \def\filename{#1}%
+ \def\@tempb##1 v.##2 ##3\relax##4\relax{%
+ \def\filedate{##1}\def\fileversion{##2}\def\fileinfo{##3}}%
+ \edef\@tempa{\csname ver@#1\endcsname}%
+ \expandafter\@tempb\@tempa\relax? ? \relax\relax}
+\makeatother
+
+\DeclareRobustCommand*{\Ars}{% for the bibliography
+ \textsf{\lower -.48ex\hbox{\rotatebox{-20}{A}}\kern -.3em{rs}}%
+ \kern -.05em\TeX\unskip\kern -.17em\lower -.357ex\hbox{nica}\xspace}
+
+
+\definecolor{verdeguit}{rgb}{0, 0.40, 0}
+\providecommand\GuIT{\mbox{\color{verdeguit}\def\I{\textcolor{black}{I}}%
+ \fontfamily{lmr}\fontseries{m}\fontshape{sc}\selectfont
+g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
+
+
+\makeatletter
\AfterEndPreamble{%
-\apptocmd{\TeX}{{}\xspace}{}{}
-\apptocmd{\LaTeX}{{}\xspace}{}{}}
+\DeclareRobustCommand{\TeX}{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@\xspace}
+\DeclareRobustCommand{\LaTeX}{L\kern-.36em%
+ {\sbox\z@ T%
+ \vbox to\ht\z@{\hbox{\check@mathfonts
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }%
+ \kern-.15em%
+ \TeX}}\makeatother
+
+\DeclareRobustCommand*\TeXLive{\TeX\ Live\xspace}
+\DeclareRobustCommand*\MiKTeX{MiK\TeX}
+\DeclareRobustCommand*\MacTeX{Mac\TeX}
+\DeclareRobustCommand*\pdfLaTeX{pdf\/\LaTeX}
+\DeclareRobustCommand*\LuaLaTeX{Lua\LaTeX}
+\DeclareRobustCommand*\XeLaTeX{X\ifdim\fontdimen1\font=0pt\kern-0.15em\fi
+\lower.5ex\hbox{\rotatebox[origin=c]{180}{E}}%
+\ifdim\fontdimen1\font=0pt\kern-0.15em\else\kern-0.275em\fi
+\LaTeX}
+\DeclareRobustCommand*\TikZ{Ti\emph{k}Z\xspace}
+\DeclareRobustCommand*\TUGboat{\textsl{TUG\-boat}\xspace}
+
+\def\hz{\hskip0pt}
+
+
+
\newcommand\heart[3]{%
\edef\X{\fpeval{#1*16*(sind(#2)^3)}}
@@ -152,7 +238,7 @@ The \pack{euclideangeometry} package requires the advanced functionalities of th
user is invoking \pack{euclideangeometry}, it is certain s/he does
not want to use the native picture environment, but the modern
extended one; therefore the only meaningful possible options are
- \opt{latex} and\opt{pstricks}; such options influence only the shape
+ \opt{latex} and \opt{pstricks}; such options influence only the shape
of the arrow tips; with option \opt{latex} they are triangular,
while with \opt{pstricks} they have the shape of a stealth
aircraft. The difference is very small; therefore we imagine that
diff --git a/macros/latex/contrib/euclideangeometry/euclideangeometry.dtx b/macros/latex/contrib/euclideangeometry/euclideangeometry.dtx
index 6078fe5cfa..36a7a438c3 100644
--- a/macros/latex/contrib/euclideangeometry/euclideangeometry.dtx
+++ b/macros/latex/contrib/euclideangeometry/euclideangeometry.dtx
@@ -45,7 +45,7 @@ This work consists of files:
%<package>\ProvidesPackage{euclideangeometry}%
%<readme>File README.txt for package euclideangeometry
%<*package|readme>
- [2020-02-02 v.0.1.2 Extension package for curve2e]
+ [2020-02-09 v.0.1.3 Extension package for curve2e]
%</package|readme>
%<*driver>
\documentclass{ltxdoc}\errorcontextlines=100
@@ -56,6 +56,13 @@ This work consists of files:
\usepackage{multicol,amsmath,fancyvrb,graphicx,verbatim}
\usepackage{etoolbox,enumitem,xspace,xcolor,euclideangeometry}
\providecommand*\diff{\mathop{}\!\mathrm{d}}
+\providecommand\file{}
+\renewcommand*\file[1]{{\normalfont\texttt{#1}}}
+\providecommand\prog{}
+\renewcommand*\prog[1]{{\normalfont\texttt{#1}}}
+\newcommand*\conta[1]{\texttt{\slshape#1}}
+\providecommand\cs{}
+\renewcommand\cs[1]{{\normalfont\texttt{\char92#1}}}
\renewcommand\meta[1]{{\normalfont\textlangle\textit{#1}\textrangle}}
\renewcommand\marg[1]{\texttt{\{\meta{#1}\}}}
\providecommand\Marg{}
@@ -81,9 +88,6 @@ This work consists of files:
\providecommand\TB{\mbox{\normalfont\slshape TUGboat}\xspace}
-\AfterEndPreamble{%
-\apptocmd{\TeX}{{}\xspace}{}{}
-\apptocmd{\LaTeX}{{}\xspace}{}{}}
\begin{document}\errorcontextlines=100
@@ -110,7 +114,7 @@ This work consists of files:
% installed with your updated complete \TeX system installation.
% Please refer to the user manual before using this package.
-% \CheckSum{1557}
+%^^A \CheckSum{}
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\StopEventually{}
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -128,32 +132,6 @@ This work consists of files:
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This package has been already identified by the commands extracted
% by the |docstrip| package, during the |.dtx| file compilation.
-% Therefore we start providing the |\GetFileInfo| in case the package
-% is used outside a “documented \TeX\ source”; we just provide the
-% definition from the |ltxdoc| class code.
-% \begin{macrocode}
-\makeatletter
-\providecommand\GetFileInfo{}
-\renewcommand\GetFileInfo[1]{%
- \def\filename{#1}%
- \def\@tempb##1 v.##2 ##3\relax##4\relax{%
- \def\filedate{##1}\def\fileversion{##2}\def\fileinfo{##3}}%
- \edef\@tempa{\csname ver@#1\endcsname}%
- \expandafter\@tempb\@tempa\relax? ? \relax\relax}
-% \end{macrocode}
-%
-% But in order to make the file date comparison for loading a suitable
-% version of |curve2e| we need to strip away its date dash signs,
-% so we define the |\cleanfiledate| macro that defines a |\FileDate| macro
-% with a purely numerical string, suitable for numerical comparisons;
-% if the fetched class file is so old that the date is not in the ISO
-% format (for example with slashes instead of dashes) the macro fails
-% and the interpreter comparison algorithm produces \TeX\ error messages.
-% \begin{macrocode}
-\def\cleanfiledate#1-#2-#3!{\unless\ifx#3\empty
-\edef\FileDate{#1#2#3}\else\unless\ifx#2\empty
-\edef\FileDate{#1#2}\else\edef\FileDate{#1}\fi\fi}
-% \end{macrocode}
% In any case, if the test checks that the |curve2e| file date is too old;
% it warns the user with an emphasised error message on the console,
% loading this |euclideangeometry| package is stopped and the whole
@@ -167,87 +145,26 @@ This work consists of files:
%*************************************************************
%\end{flushleft}
% This message should be sufficiently strong in order to avoid using
-% this package with a vintage version of \TeXLive or Mik\TeX.
+% this package with a vintage version of \TeXLive or \MikTeX.
% \begin{macrocode}
\RequirePackage{curve2e}
-\GetFileInfo{curve2e.sty}
-\expandafter\cleanfiledate\filedate!
-
-\ifnum\FileDate<20200118
-\typeout{*************************************************************}
-\typeout{Package curve2e too old}
-\typeout{Be sure that your TeX installation is complete and up to date}
-\typeout{*************************************************************}
-\typeout{Input of euclideangeometry stopped and job aborted}
-\typeout{*************************************************************}
-\expandafter\@@end\fi
+\@ifpackagelater{curve2e}{2020/01/18}{}%
+ {%
+ \typeout{*************************************************************}
+ \typeout{Package curve2e too old}
+ \typeout{Be sure that your TeX installation is complete and up to date}
+ \typeout{*************************************************************}
+ \typeout{Input of euclideangeometry stopped and job aborted}
+ \typeout{*************************************************************}
+ \@@end
+ }%
% \end{macrocode}
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{Service macros}
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% The following macros are useful for typesetting the manual; but they
-% might be useful also for the final user; they mostly define commands
-% that classify the various entities of the programming language with
-% (generally different) font families, series and shapes; but the commands
-% that receive the “name of an argument” enclose this name between math
-% angle brackets.
-% \begin{macrocode}
-\providecommand\file{}
-\renewcommand*\file[1]{{\normalfont\texttt{#1}}}
-\providecommand\prog{}
-\renewcommand*\prog[1]{{\normalfont\texttt{#1}}}
-\newcommand*\conta[1]{\texttt{\slshape#1}}
-\providecommand\cs{}
-\renewcommand\cs[1]{{\normalfont\texttt{\char92#1}}}
-\providecommand\meta{}
-\renewcommand*\meta[1]{{\normalfont$\langle$\textit{#1}$\rangle$}}
-\providecommand\marg{}
-\renewcommand*\marg[1]{{\ttfamily \char123\meta{#1}\char125}}
-\newcommand*\Marg[1]{{\normalfont\ttfamily\{#1\}}}\let\Arg\Marg
-\providecommand\oarg{}
-\renewcommand*\oarg[1]{{\ttfamily[\meta{#1}]}}
-\newcommand*\Oarg[1]{{\ttfamily[#1]}}
-\newcommand*\aarg[1]{{\ttfamily{<\meta{#1}>}}}
-\newcommand*\Aarg[1]{{\ttfamily<#1>}}
-\newcommand*\Bambiente[1]{\texttt{\char92begin\{#1\}}}
-\newcommand*\Eambiente[1]{\texttt{\char92end\{#1\}}}
-\newcommand*\garg[1]{\texttt{(\splitgarg#1,!)}}\let\parg\garg
-\newcommand*\Garg[1]{\texttt{(#1)}}\let\Parg\Garg
- \def\secgarg#1,{#1}
- \def\splitgarg#1,#2!{%
- \ifstrequal{#2}{}{\meta{#1}}{\meta{#1},\meta{\secgarg#2}}}
-\providecommand\pack{}
-\renewcommand*\pack[1]{{\normalfont\textsf{#1}}}
-\providecommand\opt{}
-\renewcommand*\opt[1]{{\normalfont\textsl{#1}}}\let\opz\opt
-\providecommand\env{}
-\renewcommand*\env[1]{{\normalfont\textit{\bfseries#1}}}\let\amb\env
-% \end{macrocode}
-% The next commands are defined in the |babel-italian| module for |babel|;
-% |\ped| introduces a subscript in math mode, but the command may be used
-% also in text mode; the same holds true also for |\ap| that introduces
-% a superscript. |\unit| is a shorthand for attaching the units of measure
-% in math upright roman font, with an unbreakable space between the measure
-% and its units; |\sigla| is the Italian equivalent of |\acronym|, that
-% avoids any conflict with other packages; |\iu| (alias|\gei|) typesets
-% the imaginary unit in roman font according to the ISO regulations;
-% |\eu| defines the roman type “e”, the Neper number, as a math operator;
-% we all know that “e” is not an operator, but it is used very often as
-% the base of an exponential, therefore, in math mode it is better to
-% leave the necessary space before and after it, without any space between
-% it and its exponent.
-% \begin{macrocode}
-\providecommand*\ped[1]{\ensuremath{_{\mathrm{#1}}}}
-\providecommand*\ap[1]{\ensuremath{^{\mathrm{#1}}}}
-\providecommand*\unit[1]{\ensuremath{\,\mathrm{#1}}}
-\providecommand*\sigla[1]{\textsc{\lowercase{#1}}}
-\providecommand*\iu{\ensuremath{\mathrm{i}}}\let\gei\iu
-\providecommand*\eu{\ensuremath{\mathop{\mathrm{e}}\nolimits}}
-% \end{macrocode}
%
-% The next code is used to typeset the logo of \Ars logo, and the logo
-% of \LyX; the other command |\GuIT| typesets equally well the \GuIT logo;
+% The next code is used to typeset the \GuIT logo;
% if necessary the |\RequirePackage| macro loads the |xspace| package;
% therefore these macros do not require any special terminator of the
% control sequence name, because the |\xspace| command takes care of the
@@ -256,56 +173,13 @@ This work consists of files:
% punctuation marks, parentheses, quotation marks, and so on.
%
% \begin{macrocode}
-\DeclareRobustCommand*{\Ars}{%
- \textsf{\lower -.48ex\hbox{\rotatebox{-20}{A}}\kern -.3em{rs}}%
- \kern -.05em\TeX\unskip\kern -.17em\lower -.357ex\hbox{nica}\xspace}
-
-\DeclareRobustCommand*\LyX{%
- L\kern-0.2em\raisebox{-0.5ex}{Y}\kern-0.2em{X}\xspace}
\definecolor{verdeguit}{rgb}{0, 0.40, 0}
-\RequirePackage{iftex}
\def\GuIT{\mbox{\color{verdeguit}\def\I{\textcolor{black}{I}}%
-\ifPDFTeX
- \usefont{T1}{lmr}{m}{sc}
-\else
- \usefont{TU}{lmr}{m}{sc}
-\fi
+ \fontfamily{lmr}\fontseries{m}\fontshape{sc}\selectfont
g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
% \end{macrocode}
-% The following macros |\usecs| and |\whilenum| allow the use the internal
-% \LaTeX control sequence names that contain a |@| sign. They are not so
-% useful in this package, but they might be useful for the end user.
-% \begin{macrocode}
-\providecommand*\usecs[1]{\csname#1\endcsname}
-\providecommand*\whilenum[2]{\usecs{@whilenum}#1\do{#2}}
-% \end{macrocode}
-% Accordingly the following two macros, and their English aliases, allow
-% to delay the output of a (possibly floating) object to a page of the
-% desired parity; they are not infallible, because the the |\afterpage|
-% command defined by package |afterpage| (loaded if necessary) operates
-% on the typesetting program output routine and the object to be delayed
-% might be lost on the way, or might get delayed too much; these facts
-% take place very seldom, but are not impossible, the solution is to move
-% back several paragraphs the command with is argument.
-% \begin{macrocode}
-\RequirePackage{afterpage}
-\providecommand\supaginapari[1]{%
- \afterpage{%
- \ifodd\value{page}\expandafter\@firstoftwo
- \else\expandafter\@secondoftwo
- \fi{\supaginapari{#1}}{#1}
- }
-}\let\onevenpage\supaginapari
-\providecommand\supaginadispari[1]{%
- \afterpage{%
- \ifodd\value{page}\expandafter\@secondoftwo
- \else\expandafter\@firstoftwo
- \fi{\supaginadispari{#1}}{#1}
- }
-}\let\onoddpage\supaginadispari
-% \end{macrocode}
-% The following \LaTeX related logos are provided so as to make them
+% The following \LaTeX related logos are provided so as to make them
% coherent with the smart final space we have discussed above. The real
% difference is that it is necessary to use tue |etoolbox| facilities;
% therefore the package is (possibly) loaded. With it we add at the end
@@ -324,11 +198,21 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
% \begin{macrocode}
\RequirePackage{etoolbox}
\AfterEndPreamble{%
-\apptocmd{\TeX}{{}\xspace}{}{}
-\apptocmd{\LaTeX}{{}\xspace}{}{}}
+\DeclareRobustCommand{\TeX}{T\kern-.1667em
+ \lower.5ex\hbox{E}\kern-.125emX\@\xspace}
+\DeclareRobustCommand{\LaTeX}{L\kern-.36em%
+ {\sbox\z@ T%
+ \vbox to\ht\z@{\hbox{\check@mathfonts
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }%
+ \kern-.15em%
+ \TeX}}
\DeclareRobustCommand*\TeXLive{\TeX\ Live\xspace}
-\DeclareRobustCommand*\MiKTeX{MiK\TeX}
+\DeclareRobustCommand*\MikTeX{Mik\TeX}
\DeclareRobustCommand*\MacTeX{Mac\TeX}
\DeclareRobustCommand*\pdfLaTeX{pdf\/\LaTeX}
\DeclareRobustCommand*\LuaLaTeX{Lua\LaTeX}
@@ -337,19 +221,7 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
\ifdim\fontdimen1\font=0pt\kern-0.15em\else\kern-0.275em\fi
\LaTeX}
\DeclareRobustCommand*\TikZ{Ti\emph{k}Z\xspace}
-\DeclareRobustCommand*\TUGboat{\textsl{TUG\-boat}\xspace}
-% \end{macrocode}
-% The following command is useful to output two column floats when
-% typesetting in |twocolumn| mode.
-% \begin{macrocode}
-\renewcommand\dbltopfraction{1.}
-% \end{macrocode}
-% This apparently useless command becomes useful to separate a font
-% selection command or the |\item| command from the following text so
-% as to allow hyphenation in what follows; it is just a very innocent
-% dirty trick, but it works.
-% \begin{macrocode}
-\def\hz{\hskip0pt}
+
% \end{macrocode}
% Here we have a command that allows to display some framed code; it is
% usable also to display the syntax of some commands; and when doing this
@@ -453,11 +325,11 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
% to use the optional asterisk to frame the text.
% \begin{macrocode}
\providecommand\Pbox{}
+\newlength\PbDim
\RenewDocumentCommand\Pbox{D(){0,0} O{cc} m O{0.5ex} s D<>{0}}{%
\put(#1){\rotatebox{#6}{\makebox(0,0){%
-\dimendef\Dim=2566\relax
-\settowidth\Dim{#2}%
-\edef\Rapp{\fpeval{\Dim/{1ex}}}%
+\settowidth\PbDim{#2}%
+\edef\Rapp{\fpeval{\PbDim/{1ex}}}%
\fptest{\Rapp > 1.5}{\fboxsep=0.5ex}{\fboxsep=0.75ex}%
\IfBooleanTF{#5}{\fboxrule=0.4pt}{\fboxrule=0pt}%
\fptest{#4 = 0sp}%
@@ -514,95 +386,30 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
% \begin{macrocode}
\def\EUGsplitArgs(#1,#2)#3#4{\edef#3{#1}\edef#4{#2}}
-
+\newlength\EUGZbox
\providecommand\Zbox{}
-\RenewDocumentCommand\Zbox{R(){0,0} D(){0,0} O{bl} m}{%
-\EUGsplitArgs(#2)\ZboxX\ZboxY % separa la x e la y della scatola
+\RenewDocumentCommand\Zbox{r() D(){0,0} O{bl} m}{%
+\EUGsplitArgs(#2)\ZboxX\ZboxY % splits box dimensions
\fboxsep=2\unitlength
-\ifnum\ZboxX=\csuse{z@}
+\ifnum\ZboxX=\z@
\def\ZTesto{\fbox{#4}}%
\else
- \ifnum\ZboxY=\csuse{z@}
+ \ifnum\ZboxY=\z@
\def\ZTesto{\fbox{\parbox{\ZboxX\unitlength}{#4}}}%
\else
\def\ZTesto{%
- \setbox2560=\hbox{\fbox{%
+ \setbox\EUGZbox=\hbox{\fbox{%
\parbox[c][\ZboxY\unitlength][c]{\ZboxX\unitlength}{#4}}}%
- \dimen2560=\dimexpr(\ht2560 +\dp2560)/2\relax
- \ht2560=\dimen2560\relax
- \dp2560=\dimen2560\relax
- \box2560%
+ \dimen\EUGZbox=\dimexpr(\ht\EUGZbox +\dp\EUGZbox)/2\relax
+ \ht\EUGZbox=\dimen\EUGZbox\relax
+ \dp\EUGZbox=\dimen\EUGZbox\relax
+ \box\EUGZbox%
}%
\fi
\fi
\put(#1){\makebox(0,0)[#3]{\ZTesto}}\ignorespaces}
% \end{macrocode}
-%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\subsection{The \texttt{Example} environment}
-%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% Another very useful facility is the |Esempio| environment;
-% it has an English alias |Example|, but we suggest to use the Italian
-% name, because it is safer in order to avoid conflicts with other packages;
-% this environment is very handy to typeset a stretch of code side by
-% side its typeset result obtained by executing it; it has advantages and
-% disadvantages, though. A similar environment was used to show the
-% examples in the \emph{The \LaTeX Companion}; another similar environment
-% may be used from the |tcolorbox| package (by T.F.~Sturm, read its
-% documentation by using the terminal command |texdoc tcolorbox|)
-% environment |tcolorbox| and using the keyword |sidebyside| among the
-% options; package |fancyvrb| also offers a similar environment.
-% The critical disadvantage is that that you cannot use any of these
-% environments, not even this |Esempio| one, when typesetting a
-% documented \TeX file, such as the one you are reading now. In facts
-% the |.dtx| file has all text lines that start with a comment character,
-% and the code parts, to be output to a |.sty|, or |.cls|, or whatever
-% other file used by the \TeX system to format documents, are explicitly
-% marked with the special delimiters \verb*|% \begin{macrocode}| and
-% \verb*|% \end{macrocode}|.
-%
-% Therefore with those packages and with this |Esempio| environment
-% the code you want to show appears with all lines with a |%| at the
-% beginning. This certainly does not help the description of a software
-% and this is the very reason why this package has a separate
-% |euclideangeometry-man| manual typeset with the |article| class.
-%
-% Nevertheless this environment makes use of the facilities of the
-% |verbatim| environment.
-%
-% \begin{macrocode}
-\RequirePackage{verbatim}
-\newwrite\example@out
-\ProvideDocumentEnvironment{Esempio}{s O{\normalsize} D(){0.40}}
-{\par\addvspace{3.0ex plus 0.8ex minus 0.5ex}\vskip -\parskip
-\dimendef\Wboxu=2570 \dimendef\Wboxd=2572
-\Wboxu=#3\textwidth\relax
-\Wboxd=\dimexpr\linewidth-\columnsep-\Wboxu\relax
-\begingroup
-\@bsphack
-\immediate\openout\example@out\jobname-temp.tex
-\let\do\@makeother\dospecials\catcode`\^^M\active
-\def\verbatim@processline{%
- \immediate\write\example@out{\the\verbatim@line}}%
-\verbatim@start\relax}%
-{\immediate\closeout\example@out\@esphack\endgroup
-\begin{minipage}{\textwidth}%
-\IfBooleanTF{#1}{\begin{minipage}{\textwidth}}{\begin{minipage}{\Wboxu}}%
-#2\relax
-\verbatiminput{\jobname-temp.tex}
-\end{minipage}%
-\IfBooleanTF{#1}{\par\bigskip}{\hfill}%
-\IfBooleanTF{#1}{\begin{minipage}{\textwidth}}{\begin{minipage}{\Wboxd}}%
-\raggedleft
-\input{\jobname-temp}
-\end{minipage}
-\end{minipage}\par
-%\medskip
-%\par\addvspace{3.0ex plus 0.8ex minus 0.5ex}\vskip -\parskip
-}
-% \end{macrocode}
-
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \subsection{Service macros for ellipses}
%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -708,7 +515,7 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
\XpartOfVect\IntPu to \xu \YpartOfVect\IntPu to \yu
\XpartOfVect\IntPd to \xd \YpartOfVect\IntPd to \yd
\edef\Den{\fpeval{-(\a*\d-\b*\c)}}%
- \fptest{abs(\Den)<1e-5}{% almost vanishing determinant
+ \fptest{abs(\Den)<1e-5}{% Almost vanishing determinant
\def#5{0,0}%
}{% Determinant OK
\edef\Numx{\fpeval{(\c*(\b*\xu-\a*\yu)-\a*(\d*\xd-\c*\yd))/\Den}}%
@@ -770,13 +577,13 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
%
% \begin{macrocode}
-\NewDocumentCommand\ThreePointCircle{s d() d() d()}{%
+\NewDocumentCommand\ThreePointCircle{s r() r() r()}{%
\AxisOf#2and#3to\Mu\Du \AxisOf#2and#4to\Md\Dd
\IntersectionOfLines(\Mu)(\Du)and(\Md)(\Dd)to\C
\SubVect#2from\C to\R
\IfBooleanTF{#1}{\CircleWithCenter\C Radius\R}{}\ignorespaces}
-\NewDocumentCommand\ThreePointCircleCenter{d() d() d() m}{%
+\NewDocumentCommand\ThreePointCircleCenter{r() r() r() m}{%
\ThreePointCircle(#1)(#2)(#3)\CopyVect\C to#4}
% \end{macrocode}
%
@@ -819,7 +626,7 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
%\begin{ttsyntax}
%\cs{AxisOf}\meta{P1} and\meta{P2} to\meta{Axis1}\meta{Axis2}
%\end{ttsyntax}
-% Macros |\SegmentCenter| and |\MiddlePointOf| are alias to one another;
+% Macros |\SegmentCenter| and |\MiddlePointOf| are alias of one another;
% their syntax is:
%\begin{ttsyntax}
%\cs{SegmentCenter}\parg{P1}\parg{P2}to\meta{center}
@@ -1231,15 +1038,16 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
% See the documentation \file{euclideangeometry-man.pdf} for more
% information and usage examples.
% \begin{macrocode}
-
+\newcount\RPI
\NewDocumentCommand\RegPolygon{s D(){0,0} m m O{0} D<>{\relax} }{{%
-\countdef\I=258 \I=0
+%\countdef\RPI=258
+\RPI=0
\CopyVect#5:#3to\P
\CopyVect\fpeval{360/#4}:1to\R
\put(#2){#6\relax
- \moveto(\P)\fpdowhile{\I < #4}%
- {\MultVect\P by\R to\P%\GetCoord(\P)\X\Y
- \lineto(\P)\advance\I by 1}%
+ \moveto(\P)\fpdowhile{\RPI < #4}%
+ {\MultVect\P by\R to\P
+ \lineto(\P)\advance\RPI by 1}%
\IfBooleanTF{#1}%
{\fillpath}{#6\strokepath}}}\ignorespaces}
%%%%%%%%%
@@ -1541,6 +1349,13 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace}
% facilities; but, taking into consideration my age, I would invite
% the users to consider the possibility of assuming the maintenance
% of this package.
+%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\section*{Aknowledgements}
+%^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% I am very grateful to Enrico Gregorio who let me know the several
+% glitches I made in my first version; besides being a real \TeX wizard,
+% he is a wise person and suggested me several things that was important
+% to change, because they could offer risks of confusion with other packages.
%
%\iffalse
%</package>
diff --git a/macros/latex/contrib/euclideangeometry/euclideangeometry.pdf b/macros/latex/contrib/euclideangeometry/euclideangeometry.pdf
index 6246a0b604..d3c88483e3 100644
--- a/macros/latex/contrib/euclideangeometry/euclideangeometry.pdf
+++ b/macros/latex/contrib/euclideangeometry/euclideangeometry.pdf
Binary files differ
diff --git a/macros/latex/contrib/leiletter/LEIletter.dtx b/macros/latex/contrib/leiletter/LEIletter.dtx
new file mode 100644
index 0000000000..94793d9b52
--- /dev/null
+++ b/macros/latex/contrib/leiletter/LEIletter.dtx
@@ -0,0 +1,1483 @@
+% \iffalse meta-comment
+% !TEX program = pdfLaTeX
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+----------------------------------------------------------------
+LEIletter --- letter class for Leiden University
+E-mail: m.t.kreutzer@science.leidenuniv.nl
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+----------------------------------------------------------------
+
+In its communications, Leiden University aims to create a clear
+and recognisable brand, which is why it is important that our house
+style is applied consistently. The current packages allows for
+letter that comply with the standard set out at
+https://huisstijl.leidenuniv.nl/nl/corporate/briefpapier-zetaanwijzingen/
+%</readme>
+%<*internal>
+\fi
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%</internal>
+%<*install>
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+----------------------------------------------------------------
+LEIletter --- letter class for Leiden University
+E-mail: m.t.kreutzer@science.leidenuniv.nl
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+----------------------------------------------------------------
+
+\endpreamble
+\postamble
+
+Copyright (C) 2009 by Michiel Kreutzer <m.t.kreutzer@science.leidenuniv.nl>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in the file:
+
+http://www.latex-project.org/lppl.txt
+
+The Leiden University logo is licensed under the Creative Commons
+Attribution-Share Alike 3.0 Unported license, as explained at
+
+ https://commons.wikimedia.org/wiki/File:UniversiteitLeidenLogo.svg
+
+
+
+This work is "maintained" (as per LPPL maintenance status) by
+Michiel Kreutzer.
+
+This work consists of the file LEIletter.dtx and
+ leiden-logo.pdf
+and the derived files LEIletter.ins,
+ LEIletter.pdf,
+ LEIletter.cls,
+ leiletter-voorbeeld.tex and
+ medewerker.lco
+
+\endpostamble
+\usedir{tex/latex/leiletter}
+\generate{
+ \file{\jobname.cls}{\from{\jobname.dtx}{class}}
+}
+%</install>
+%<install>\endbatchfile
+%<*internal>
+\usedir{source/latex/LEIletter}
+\generate{
+ \file{\jobname.ins}{\from{\jobname.dtx}{install}}
+ \file{medewerker.lco}{\from{\jobname.dtx}{medewerker}}
+ \file{leiletter-voorbeeld.tex}{\from{\jobname.dtx}{example}}
+ \file{leiletter-gridtest.tex}{\from{\jobname.dtx}{gridtest}}
+}
+\nopreamble\nopostamble
+\usedir{doc/latex/LEIletter}
+\generate{
+ \file{README.txt}{\from{\jobname.dtx}{readme}}
+}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</internal>
+% \def\fileversion{1.3}
+% \def\filedate{2020/02/9}
+%<*class>
+\def\fileversion{1.3}
+\def\filedate{2020/02/9}
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{LEIletter}[\filedate\space\fileversion\space Michiel Kreutzer's letter class based on UL huisstijl in https://huisstijl.leidenuniv.nl/nl/corporate/briefpapier-zetaanwijzingen/]
+%</class>
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage[numbered]{hypdoc}
+\newenvironment{decl}[1][]%
+ {\par\small\addvspace{4.5ex plus 1ex}%
+ \vskip -\parskip
+ \ifx\relax#1\relax
+ \def\@decl@date{}%
+ \else
+ \def\@decl@date{\NEWfeature{#1}}%
+ \fi
+ \noindent\hspace{-\leftmargini}%
+ \begin{tabular}{|l|}\hline\ignorespaces}%
+ {\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak
+ \vspace{2.3ex}\vskip -\parskip}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+%\title{^^A
+% \textsf{LEIletter} --- letter class for Leiden University\thanks{^^A
+% This file describes version \fileversion, last revised \filedate.^^A
+% }^^A
+%}
+%\author{^^A
+% Michiel Kreutzer\thanks{E-mail: m.t.kreutzer@science.leidenuniv.nl}^^A
+%}
+%\date{Released \filedate}
+%
+%\maketitle
+%
+% \begin{abstract}
+% This package is a \LaTeX\ implementation of the business letter formatting
+% that is used at Leiden University, using the institute graphic identity as
+% specified on |www.leidenuniv.nl|.
+% \end{abstract}
+%
+%\changes{v1.0}{2019/10/26}{First public release}
+%
+% \section{Introduction}
+%
+% This package implements the graphic identity of Universiteit Leiden for letters.
+% Using these class files will make it easy for you to make and keep
+% your letters compliant to this version and future
+% versions of the graphic identity (``huisstijl'') of the university.
+%
+% If you think (1) that there is an error in compliancy with the house
+% style, (2) that there is a feature missing in this class file, or
+% (3) that there's a bug in this class file,
+% please, contact me through e-mail (|m.t.kreutzer@science.leidenuniv.nl|)
+% about the issue.
+% I'll provide you with an answer and if (and as soon as) possible
+% with a solution to the problem you spotted.
+%
+% \section{Synopsis}
+% The |LEIletter| class is an extension of the standard KOMA-script letter
+% class |scrlttr2|. It is intended to be used for writing business
+% letters. It is compliant to the house style and allows for using
+% windowed envelopes of the DL format, with right-aligned window.
+%
+% The class requires and uses the following packages that are part of most
+% modern \LaTeX{} distributions:
+% \begin{itemize}
+% \item the |graphicx| package to include the university logo.
+% \item the |ifthen| package to process user options
+% \item the |array| package to typeset a table on the front page
+% \item the |babel| package to offer optional support for english
+% \item the |regged2e| package for better left-justified text
+% \item the |hyperref| package for formatting of hyperreferences
+% \item the |textcase| package for better small capitals
+% \item the |microtype| package for improved microtypography
+% \item the |scrlayer-scrpage| package (part of KOMA-script)
+% \item the |geometry| package for setting page margins
+% \item the |setspace| package for setting interline distance
+% \item the |lipsum| package for typesetting an example letter
+% \end{itemize}
+% and most importantly,
+% \begin{itemize}
+% \item the |MinionPro| package and the Minion Pro fonts.
+% \end{itemize}
+% So make sure these packages are available to your
+% \LaTeX{} compiler. The Minion fonts are commercial but easily
+% available: I was able to download the full set from
+%
+% |https://www.wfonts.com/font/minion-pro|.
+%
+% Get a copy of the full font, preferably, and work
+% through the installation instruction in the |MinionPro| ReadMe file
+% on CTAN.
+%
+% \section{Minimal Example}
+%
+%
+% \begin{verbatim}
+% \documentclass[author=medewerker,faculty=fwn]{leiletter}
+% \leilnumber{MEdW/123}
+% \leilyourref{12 april 2019}
+% \leilsubject{Brieven Schrijven in Huisstijl met Latex.}
+% \usepackage{lipsum}
+% \begin{document}
+% \begin{letter}{%
+% College van Bestuur\newline%
+% Universiteit van Leiden\newline%
+% Rapenburg 70, Leiden
+% }
+% \opening{Geacht College,}
+% \lipsum[1-10]
+% \closing{Hoogachtend,}
+% \end{letter}
+% \end{document}
+% \end{verbatim}
+%
+% \section{Usage}
+% \begin{decl}
+% \cs{documentclass}\oarg{options}|{LEIletter}|
+% \end{decl}
+%
+% \subsection{Language}
+%
+% \DescribeMacro{lang=<language>, dutch, english}
+% The default language of the letters is Dutch, and without user input Dutch
+% will be selected. By providing option |lang=english| or simply by providing
+% the option |english|, the language will switch to english. Although not required,
+% the user can specify |dutch| or |lang=dutch| as an option. By switching to
+% English, all class-generated output will be in English and the document language
+% switches to English, relevant for hyphenation and other language-specific
+% typesetting aspects.
+%
+% \subsection{Faculty}
+%
+% \DescribeMacro{faculty=<faculty>}
+% The house style indicates that the name of the faculty is printed at the top
+% right of the page, and below it the visiting address and postal address of the
+% faculty is given. These addresses were taken from the university website for
+% each of the faculties, and by specifying the faculty, the correct name and
+% address will be printed automatically. Note that it is still up to the user
+% to specify the name of the building. If needed, the visiting address and other
+% address details can be overwritten.
+%
+% The following faculties are supported: |fwn| for Faculty of Science, |law| for
+% Faculty of Law, |med| for Faculty of Medicine, |fgw| for Faculty of Humanities,
+% |fsw| for Faculty of Social and Behavioural Sciences, |arch| for Faculty of
+% Archeology, |gga| for Faculty of Governance and Global Affairs.
+%
+% If no value is specified, the letter defaults to |faculty=fwn|.
+%
+% \subsection{Stationary with pre-printed logo}
+%
+% \DescribeMacro{briefdrager}
+% By default, the class assumes that the letter will be printed on plain paper
+% or by email. In that case, the logo of the university is included in the top
+% left part of the paper. If stationary paper with pre-printed logo, called
+% `briefdrager' in the specification of the house style, is used, then the logo
+% should not be printed. By specifying the option |briefdrager|, the logo is
+% suppressed.
+%
+% \subsection{Letterhead information}
+%
+% \begin{decl}
+% \cs{leilnumber}\marg{letter number} \\
+% \cs{leilyourref}\marg{correspondence reference} \\
+% \cs{leilsubject}\marg{letter subject}
+% \end{decl}
+%
+% At the top of the letter, in the preamble before |\begin{document}|, these there
+% items should be specified for inclusion in the reference line, along with the
+% date and other sender information. Note that the headings for the reference line
+% can also be changed by the user -- see the code documentation for details.
+%
+% \subsection{Loading of sender information}
+%
+% \DescribeMacro{author=<name>}
+% The class offers the option to load a file that contains sender-information.
+% This file could be stored in a location that \LaTeX is able to find, such that
+% the same information need not be specified anew for each letter. See the example
+% file |medewerker.lco| and the code documentation to set up such a file. To load
+% the file, the option |author=<name>| specifies that the file |<name>.lco| is
+% loaded.
+%
+% \begin{decl}
+% \cs{leiltitle}\marg{academic titles} \\
+% \cs{leilfirstname}\marg{sender first name} \\
+% \cs{leillastname}\marg{sender last name} \\
+% \cs{leilemail}\marg{sender email} \\
+% \cs{leildirectphone}\marg{sender direct-call phone number} \\
+% \cs{leilcontact}\marg{sender representative} \\
+% \cs{leiljobtitle}\marg{sender job title} \\
+% \cs{leilbuilding}\marg{sender office building} \\
+% \cs{leilunit}\marg{sender organisational unit}
+% \end{decl}
+%
+% These items can be specified for inclusion in the letterhead. Note that the
+% information for the letterhead line can also be set by the user by including
+% the relevant commands in the preamble.
+%
+% \subsection{Structure of a letter}
+%
+% \begin{decl}
+% \cs{begin}|{letter}|\marg{address}\ldots\cs{end}|{letter}| \\
+% \cs{opening}\marg{salutation} \\
+% \cs{closing}\marg{salutation} \\
+% \cs{setkomavar}|{signature}|\marg{sender name and signature}
+% \end{decl}
+%
+% The structure of the letter is an environment |letter|, where the opening
+% statement includes the addresss of the recipient of the letter, on multiple
+% lines separated by |\newline|. Opening and closing salutations have their own
+% commands that take care of space before and after. All of this is taken from
+% the KOMAscript letter class that forms the basis of this class. This also holds
+% for the signature. If the right user information is provided, then the signature
+% defaults to title, first and last name of sender, and the job title on the line
+% below.
+%
+% If you want to change this, you can use cs{setkomavar}, for instance to
+% include a scanned signature as follows
+% \begin{verbatim}
+% \newcommand{\mSignature}{
+% \makebox[0pt][l]{\raisebox{-2cm}[0pt][2cm]%
+% {\hspace{-1.5cm}\includegraphics{krabbel.pdf}}}
+% }
+% ...
+% \closing{\mSignature \unskip Best regards}
+%\end{verbatim}
+%
+% for a scanned signature that is about 2 cm high.
+%
+%
+%\StopEventually{^^A
+% \PrintChanges
+% \PrintIndex
+%}
+%
+%
+% \section{documentclass-code}
+%
+% \subsection{option handling}
+%
+% We begin by setting up the processing of options using the |kvoptions| package,
+% using |leil| as family name for all options and |leil@| as prefix for all tags.
+% The string option |lang| defaults to Dutch, |paper| defaults to A4, and |faculty|
+% defaults to the Faculty of Science. the |\setkeys| command sets Dutch on A4 paper
+% as default options.
+%
+% \begin{macrocode}
+%<*class>
+% \end{macrocode}
+% \begin{macrocode}
+\RequirePackage{ifthen}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{family=leil, prefix=leil@}
+\DeclareBoolOption{dutch}
+\DeclareBoolOption{english}
+\DeclareBoolOption{briefdrager}
+\DeclareStringOption[dutch]{lang}
+\DeclareStringOption[fwn]{faculty}
+\DeclareStringOption{author}
+\setkeys{leil}{dutch}
+\ProcessKeyvalOptions{leil}
+% \end{macrocode}
+%
+% Set the |leil@lang| variable to english if the option |english| is given.
+% \begin{macrocode}
+\ifthenelse{\boolean{leil@english}}{\renewcommand*{\leil@lang}{english}}{}
+% \end{macrocode}
+%
+% The user-specified options go through some rudimentary error checking. The
+% language option is processed such that specifying options other than Dutch or
+% English defaults to Dutch. The faculty option is switched back to |fwn| if
+% an unknown value is specified.
+%
+% \begin{macrocode}
+\ifthenelse{\equal{\leil@lang}{dutch}\OR\equal{\leil@lang}{english}}{\relax}%
+ {\PackageWarningNoLine{leiletter}{Only languages supported are Dutch and English.
+ Defaulting to Dutch now, you specified \leil@lang}}
+\ifthenelse{\equal{\leil@faculty}{fwn}\OR\equal{\leil@faculty}{fgw}\OR
+ \equal{\leil@faculty}{fsw}\OR\equal{\leil@faculty}{gga}\OR
+ \equal{\leil@faculty}{med}\OR\equal{\leil@faculty}{law}\OR
+ \equal{\leil@faculty}{arch}}{\relax}%
+ {\PackageWarningNoLine{leiletter}{You specified illegal input for the faculty.
+ Switching back to fwn, you specified \leil@faculty}
+ \renewcommand*{\leil@faculty}{fwn}}
+% \end{macrocode}
+%
+% This concludes the specification of package options.
+%
+% \subsection{Parent Class and Packages}
+%
+% The |LEIletter| class builds upon the KOMA-script letter class |scrlttr2|,
+% that is loaded here. The |scrlayer-scrpage| package is also part of KOMA-script
+% and allows for placement layers of blocks of material (text, images) on pages.
+% These layers offer more flexibility than the |scrlttr2| package and allow for
+% much cleaner programming.
+%
+% \begin{macrocode}
+\LoadClass{scrlttr2}
+\KOMAoptions{
+ fontsize=11pt,
+ paper=a4,
+ usegeometry=true,
+ parskip=full,
+ pagenumber=false,
+ enlargefirstpage=on, % More space on first page
+ fromrule=off, % No Rule after sender name in letter head
+ addrfield=topaligned, % Adress field for envelope with window
+ backaddress=off, % Sender address in this window (use plain to remove rule)
+ refline=nodate,
+ foldmarks=on, % Print foldmarks
+}
+\RequirePackage{scrlayer-scrpage}
+\pagestyle{scrheadings}
+% \end{macrocode}
+%
+% The |array| package is required to typeset the reference line (letter number, date, etc)
+% in a tabular environment (well, mostly to tweak the spacing between rows). Babel is
+% loaded here (it is also loaded by scrlttr2) with the correct language switch. Hyperref
+% is included for typesetting of links without too much color. Note that this can be
+% overwritten by the user with an alternative |\hypersetup| command in the preamble.
+%
+% \changes{v1.2}{2019/11/7}{Added code from parskip.sty to remove parskip around headings
+% requires etoolbox.sty}
+% \begin{macrocode}
+\RequirePackage{array}
+\RequirePackage{etoolbox}
+\RequirePackage[\leil@lang]{babel}
+\RequirePackage{hyperref}
+\hypersetup{colorlinks, breaklinks, urlcolor=black, linkcolor=black}
+% \end{macrocode}
+%
+% Letters are written left-justified. The package |ragged2e| handles this best.
+%
+% \begin{macrocode}
+\RequirePackage{ragged2e}
+\RaggedRight
+% \end{macrocode}
+%
+% \begin{macro}{\spacedallcaps}
+% The standard font for Leiden university is Minion. We use the |MinionPro| package
+% and assume that the full family is installed. The switch |opticals| specifies that
+% slightly different shapes are used at different sizes. The |microtype| package does
+% small but noticable improvement to the typesetting of text. The |textcase| package
+% is needed for the specification of the two commands |\spacedallcaps| and
+% |\spacedlowsmallcaps|, both copied from the |classicthesis| package, that allow for
+% nicely spaced small caps.
+%
+% \begin{macrocode}
+\RequirePackage{textcase}
+\RequirePackage{microtype}
+\RequirePackage[fullfamily,opticals]{MinionPro}
+\DeclareRobustCommand{\spacedallcaps}[1]{\textssc{\MakeTextUppercase{#1}}}
+\DeclareRobustCommand{\spacedlowsmallcaps}[1]{\textssc{\MakeTextLowercase{#1}}}
+% \end{macrocode}
+% \end{macro}
+%
+% The geometry of the page (i.e. the margins) are prescribed in the house style:
+% left margin is 24 mm, bottom margin is 44pt, no footer. The top margin specified
+% here is for the pages after the first page - on the first page the start of the
+% body text is dictated by the location of the reference line.
+%
+% \begin{macrocode}
+\RequirePackage[left=4.8cm,right=2.2cm,top=142pt,bottom=44pt,foot=2em]{geometry}
+% \end{macrocode}
+%
+% Document layout: Here we set the location of the address window using
+% |toaddrhpos|, |toaddrvpos| and |toaddrwidth|, kill spacing for back-address
+% (which we do not use), and space for the reference line (that we construct
+% differently). We need to set |refvpos| to make sure the text starts at the
+% correct height on the first page.
+%
+% (NB: we use here the older |\@setplength| with the at-sign for compatiblity with
+% older versions of KOMA-script.) Perhaps, at some point make this something like
+% \begin{verbatim}
+% \ifpackagelater{scrlttr2}{2019/2/1}{
+% \newcommand*{\setplength}{\@setplength}
+% }{}
+% \end{verbatim}
+%
+% \begin{macrocode}
+\@setplength{toaddrhpos}{24mm}
+\@setplength{toaddrvpos}{146pt}
+\@setplength{toaddrwidth}{72mm}
+\@setplength{toaddrheight}{77pt}
+\@setplength{backaddrheight}{0pt}
+\@setplength{subjectaftervskip}{0pt}
+\@setplength{subjectbeforevskip}{0pt}
+\@setplength{refaftervskip}{0pt}
+\@setplength{sigbeforevskip}{3.0\baselineskip}
+\@setplength{refvpos}{350pt}
+\setlength\parindent{0pt}
+% \end{macrocode}
+%
+%
+% Formatting of the signature left justified, and use a colon for the enclosed
+% documents.
+%
+% \begin{macrocode}
+\renewcommand*{\raggedsignature}{\raggedright}
+\setkomavar{enclseparator}{: }
+% \end{macrocode}
+%
+%
+% Line spacing: making text register onto a grid is a nightmare in \LaTeX. The following
+% is mostly taken from the |grid| package. which is to incompatible with KOMA-script
+% to just use as is. We begin with some preliminaries, defining the grid to be 14 points
+% and setting the default font size to 11 pt.
+%
+% \begin{macrocode}
+\def\leil@fontsize{11pt}
+\def\leil@baseline{14pt}
+% \end{macrocode}
+%
+% Next, we redefine the font sizes |normalsize| and |small| to have 14 pt leading and
+% we set all the ``rubber'' lengths of latex to fixed multiples of 14 pt. We also set
+% |\parskip| to a full but single line.
+%
+% \begin{macrocode}
+\renewcommand\normalsize{%
+ \baselineskip=\leil@baseline%
+ \@setfontsize\normalsize{\leil@fontsize}{\leil@baseline}%
+ \lineskip=0pt
+ \lineskiplimit=-\leil@fontsize%
+ \abovedisplayskip \baselineskip%
+ \abovedisplayshortskip .5\baselineskip%
+ \belowdisplayskip \abovedisplayskip
+ \belowdisplayshortskip \abovedisplayshortskip
+ \let\@listi\@listI}
+\renewcommand\small{%
+ \baselineskip=\leil@baseline%
+ \@setfontsize\normalsize{10pt}{\leil@baseline}%
+ \lineskip=0pt
+ \lineskiplimit=-\leil@fontsize%
+ \abovedisplayskip \baselineskip%
+ \abovedisplayshortskip .5\baselineskip%
+ \belowdisplayskip \abovedisplayskip
+ \belowdisplayshortskip \abovedisplayshortskip
+ \let\@listi\@listI}
+\normalsize
+\parskip \leil@baseline
+% \end{macrocode}
+%
+% Still working on sticking to the grid: the following code creates an enviroment
+% |gridenv|, such that anything between |\begin{gridenv}| and |\end{gridenv}| takes
+% up an integer multiple of |\baseline|, such that the text below registers again.
+% For details, consult the |grid| package on CTAN.
+%
+% \begin{macrocode}
+\newdimen\floatunit
+\newskip\allfloats
+\setlength\floatunit{\the\baselineskip}
+\begingroup
+ \catcode`P=12
+ \catcode`T=12
+ \lowercase{
+ \def\x{\def\rem@decimal##1.##2PT{##1}}}
+ \expandafter\endgroup\x
+\def\strip@decimal{\expandafter\rem@decimal\the}
+\begingroup
+ \catcode`P=12
+ \catcode`T=12
+ \lowercase{
+ \def\y{\def\rem@dot##1.##2PT{##1##2}}}
+ \expandafter\endgroup\y
+\def\strip@dot{\expandafter\rem@dot\the}
+\newdimen\halfbaselineskip
+\halfbaselineskip=\floatunit
+\divide\halfbaselineskip by 2
+\newdimen\figboxht
+\newdimen\figboxdp
+\long\def\roundoff{\figboxht=\fight%
+ \advance\figboxht by \baselineskip%
+ \multiply\figboxht by 10%
+ \xdef\xbaselineskip{\strip@dot\baselineskip}%
+ \divide\figboxht by \xbaselineskip%
+ \xdef\mylines{\strip@decimal\figboxht}%
+ \figboxht=\baselineskip%
+ \multiply\figboxht by\mylines%
+ \advance\figboxht by -\fight%
+ \ifdim\the\figboxht>\the\halfbaselineskip%
+ \advance\figboxht by -\floatunit%
+ \else\fi%
+ }
+\long\def\fltroundoff{\figboxht=\fight%
+ \figboxdp=\figdp%
+ \addtolength{\figboxht}{\figdp}%
+ \addtolength{\figboxdp}{\fight}%
+ \typeout{figboxht is now (dp added) \the\figboxht}%
+ \advance\figboxht by \baselineskip%
+ \multiply\figboxht by 10%
+ \xdef\xbaselineskip{\strip@dot\baselineskip}%
+ \divide\figboxht by \xbaselineskip%
+ \xdef\mylines{\strip@decimal\figboxht}%
+ \figboxht=\baselineskip%
+ \multiply\figboxht by\mylines%
+ \advance\figboxht by -\figboxdp%
+ \ifdim\the\figboxht>\the\halfbaselineskip%
+ \advance\figboxht by -\floatunit%
+ \else\fi%
+ }
+\newenvironment{gridfltenv}
+ {\global\setbox0=\vbox\bgroup}
+ {\egroup%
+ \xdef\fight{\the\ht0}%
+ \xdef\figdp{\the\dp0}%
+ \typeout{figboxht starts at \fight, \figdp is depth}
+ \fltroundoff%
+ \leavevmode\vadjust{\box0\vskip\figboxht}\hfil\break%
+ }
+\newenvironment{gridenv}
+ {\global\setbox0=\vbox\bgroup}
+ {\egroup%
+ \xdef\fight{\the\ht0}%
+ \roundoff%
+ \leavevmode%
+ \vadjust{\vskip0.5\figboxht%
+ \box0%
+ \vskip0.5\figboxht%
+ }\hfil\break%%
+ }
+\jot=\baselineskip
+% \end{macrocode}
+%
+% We also redefine the enumerate and itemize environments to
+% make sure that the spacing between lists is correct.
+%
+% \begin{macrocode}
+ \def\enumerate{%
+ \ifnum \@enumdepth >\thr@@\@toodeep\else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \expandafter
+ \list
+ \csname label\@enumctr\endcsname
+ {\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}%
+ \topsep\z@\partopsep\z@\parskip\z@\itemsep\z@%
+ \@outerparskip\z@\parsep\z@\@topsep\z@\@topsepadd\z@}%
+ \fi}
+ \def\itemize{%
+ \ifnum \@itemdepth >\thr@@\@toodeep\else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \expandafter
+ \list
+ \csname\@itemitem\endcsname
+ {\def\makelabel##1{\hss\llap{##1}}%
+ \topsep\z@\partopsep\z@\parskip\z@\itemsep\z@%
+ \@outerparskip\z@\parsep\z@\@topsep\z@\@topsepadd\z@}%
+ \fi}
+% \end{macrocode}
+%
+% \subsection{Section Commands}
+%
+% The parent class |sxcrlttr2| does not have
+% section commands (the same holds for the standard \LaTeX\ |letter| class).
+% It may be needed in longer letters to have section
+% and subsection commands. The code here does not allow for table of
+% contents to be constructed, but the spacing before and after the commands
+% is sticking to the 14 pt grid. The code is lifted from |sections.lco|
+% that is distributed by the authors of KOMA-script and adjusted using the
+% code from |grid.sty|.
+%
+%
+% \begin{macrocode}
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\renewcommand*{\thesection}{\Alph{section}.}
+\renewcommand*{\thesubsection}{\Roman{subsection}.}
+\renewcommand*{\thesubsubsection}{\arabic{subsubsection}.}
+\renewcommand*{\p@subsection}{\thesection}
+\renewcommand*{\p@subsubsection}{\p@subsection\thesubsection}
+\let\size@section\normalsize
+\newcommand*{\scr@fnt@section}{\size@section}
+\newcommand*{\scr@fnt@subsection}{\size@section}
+\newcommand*{\scr@fnt@subsubsection}{\size@section}
+\newcommand*\sectfont{\normalcolor\bfseries}
+\newcommand*{\scr@fnt@disposition}{\sectfont}
+\aliaskomafont{sectioning}{disposition}
+\setcounter{secnumdepth}{4}
+\newcommand\section{\@startsection{section}{1}{\z@}%
+ {-0.999\baselineskip}%
+ {0.001\baselineskip}%
+ {\raggedsection\normalfont\usekomafont{disposition}\nobreak
+ \usekomafont{section}\nobreak}}
+\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {\baselineskip}%
+ {-0.35\baselineskip}%
+ {\bfseries\unskip}}
+\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {\baselineskip}%
+ {-.35\baselineskip}%
+ {\itshape\unskip}}
+\let\raggedsection\raggedright
+%
+%
+% \changes{v1.2}{2019/11/7}{Added code from parskip.sty to remove parskip around headings
+% requires etoolbox.sty}
+%
+\patchcmd\@startsection
+ {\addvspace\@tempskipa}
+ {\advance\@tempskipa-\parskip\addvspace\@tempskipa}
+ {}{\typeout{Couldn't patch \string\@startsection}}
+\patchcmd\@xsect
+ {\vskip\@tempskipa}
+ {\advance\@tempskipa-\parskip\vskip\@tempskipa}
+ {}{\typeout{Couldn't patch \string\@xsect}}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+% \end{macrocode}
+%
+% \subsection{Faculty addresses}
+%
+% The faculty specified by the user is now used to set the sender address. we start by
+% initializing tags
+%
+% \begin{macro}{\leil@poboxname}
+% The tag |\leil@poboxname| holds the word P.O.Box or the Dutch variant Postbus.
+% \begin{macrocode}
+\newcommand{\leil@facultypoboxname}{Postbus}
+\ifthenelse{\equal{\leil@lang}{english}}{\renewcommand{\leil@facultypoboxname}{P.O.~Box}}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@facultyname}
+% The name of the faculty, initialize empty tag.
+% \begin{macrocode}
+\newcommand{\leil@facultyname}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@facultypobox}
+% The P.O. Box of the faculty, initialize empty tag.
+% \begin{macrocode}
+\newcommand{\leil@facultypobox}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@facultyaddress}
+% The address of the faculty, initialize empty tag.
+% \begin{macrocode}
+\newcommand{\leil@facultyaddress}{}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@facultyphone}
+% The phone number of the faculty, initialize empty tag.
+% \begin{macrocode}
+\newcommand{\leil@facultyphone}{}
+% \end{macrocode}
+% \end{macro}
+%
+% With the tags initialized, we process the value of |\leil@faculty| to
+% fill in the proper sender address, PO Box and phone number.
+%
+% \begin{macrocode}
+\ifthenelse{\equal{\leil@faculty}{fwn}}{
+ \ifthenelse{\equal{\leil@lang}{english}}{
+ \renewcommand{\leil@facultyname}{Faculty of Science}}{
+ \renewcommand{\leil@facultyname}{Faculteit der Wiskunde en Natuurwetenschappen}}
+ \renewcommand{\leil@facultypobox}{\leil@facultypoboxname~9502\\\textsc{2300~ra}~Leiden}
+ \renewcommand{\leil@facultyphone}{(071)\,527\,4400}
+ \renewcommand{\leil@facultyaddress}{Einsteinweg~55}
+ }{}
+\ifthenelse{\equal{\leil@faculty}{law}}{
+ \ifthenelse{\equal{\leil@lang}{english}}{
+ \renewcommand{\leil@facultyname}{Faculty of Law}}{
+ \renewcommand{\leil@facultyname}{Faculteit der Rechtsgeleerdheid}}
+ \renewcommand{\leil@facultypobox}{\leil@facultypoboxname~9520\\\textsc{2300~ra}~Leiden}
+ \renewcommand{\leil@facultyphone}{(071)\,527\,7512}
+ \renewcommand{\leil@facultyaddress}{Steenschuur~25}
+ }{}
+\ifthenelse{\equal{\leil@faculty}{arch}}{
+ \ifthenelse{\equal{\leil@lang}{english}}{
+ \renewcommand{\leil@facultyname}{Faculty of Archeology}}{
+ \renewcommand{\leil@facultyname}{Faculteit der Archeologie}}
+ \renewcommand{\leil@facultypobox}{\leil@facultypoboxname~9514\\\textsc{2300~ra}~Leiden}
+ \renewcommand{\leil@facultyphone}{(071)\,527\,3500}
+ \renewcommand{\leil@facultyaddress}{Einsteinweg~55}
+ }{}
+\ifthenelse{\equal{\leil@faculty}{fgw}}{
+ \ifthenelse{\equal{\leil@lang}{english}}{
+ \renewcommand{\leil@facultyname}{Faculty of Humanities}}{
+ \renewcommand{\leil@facultyname}{Faculteit der Geesteswetenschappen}}
+ \renewcommand{\leil@facultypobox}{\leil@facultypoboxname~9514\\\textsc{2300~ra}~Leiden}
+ \renewcommand{\leil@facultyphone}{(071)\,527\,2300}
+ \renewcommand{\leil@facultyaddress}{Cleveringaplaats~1}
+ }{}
+\ifthenelse{\equal{\leil@faculty}{fsw}}{
+ \ifthenelse{\equal{\leil@lang}{english}}{
+ \renewcommand{\leil@facultyname}{Faculty of Social and Behavioural Sciences}}{
+ \renewcommand{\leil@facultyname}{Faculteit der Sociale Wetenschappen}}
+ \renewcommand{\leil@facultypobox}{\leil@facultypoboxname~9555\\\textsc{2300~rb}~Leiden}
+ \renewcommand{\leil@facultyphone}{(071)\,527\,3600}
+ \renewcommand{\leil@facultyaddress}{Wassenaarseweg~52}
+ }{}
+\ifthenelse{\equal{\leil@faculty}{med}}{
+ \ifthenelse{\equal{\leil@lang}{english}}{
+ \renewcommand{\leil@facultyname}{Faculty of Medicine}}{
+ \renewcommand{\leil@facultyname}{Faculteit der Geneeskunde}}
+ \renewcommand{\leil@facultypobox}{\leil@facultypoboxname~9600\\\textsc{2300~rc}~Leiden}
+ \renewcommand{\leil@facultyphone}{(071)\,526\,9111}
+ \renewcommand{\leil@facultyaddress}{Einthovenweg~20}
+ }{}
+\ifthenelse{\equal{\leil@faculty}{gga}}{
+ \ifthenelse{\equal{\leil@lang}{english}}{
+ \renewcommand{\leil@facultyname}{Faculty of Governance and Global Affairs}}{
+ \renewcommand{\leil@facultyname}{Faculteit Governance and Global Affairs}}
+ \renewcommand{\leil@facultypobox}{\leil@facultypoboxname~13228\\\textsc{2501~ee}~Den~Haag}
+ \renewcommand{\leil@facultyphone}{(070)\,800\,9500}
+ \renewcommand{\leil@facultyaddress}{Turfmarkt~99}
+ }{}
+% \end{macrocode}
+%
+% \subsection{University logo}
+%
+% The house style stipulates location of the logo (35pt from the top edge of the
+% paper, 24 mm from the left edge of the paper). Size is not precisely prescribed.
+% The logo as available on the house style website has wide boundaries, so a little
+% readjustment of the location is needed using |addvoffset| and |addhoffset|.
+% Size is not precisely prescribed, so we put the logo at the upper-left part of the
+% layer. For documentation of the |\DeclareNewLayer| and |\AddLayerstoPageStyle|
+% commands, consult the |scrlayer=scrpage| documentation.
+%
+% (to do: tight boundaries around logo, better sizing)
+%
+% \changes{v1.1}{2019/11/3}{Cropped the logo image and removed addoffset}
+%
+% We only put the logo if the |briefdrager| option is not active.
+% \begin{macrocode}
+\ifthenelse{\boolean{leil@briefdrager}}{\relax}{
+ \RequirePackage{graphicx}
+ \DeclareNewLayer[
+ background,
+ align=tl,
+ hoffset=24mm,
+ voffset=35pt,
+ addvoffset=22.35mm,% <- height of leiden-logo.pdf
+ mode=picture,
+ contents=\putUL{\includegraphics{leiden-logo}}
+ ]{letterimage}
+ \AddLayersToPageStyle{@everystyle@}{letterimage}
+}
+% \end{macrocode}
+%
+% \subsection{Letterhead}
+%
+% At the top right of the page, the name of the faculty appears together with
+% the name of the organisation unit of the sender. This appears on the first
+% page (pagestyle empty) and on followup pages. The first line here kills the
+% letter head otherwise generate by the |scrlttr2| package.
+%
+% \begin{macrocode}
+\setkomavar{firsthead}{}
+\DeclareNewLayer[
+ background,
+ height=56pt,
+ width=48mm,
+ voffset=74pt,
+ hoffset=144mm,
+ contents={%
+ \begin{raggedright}
+ \unskip\small\textbf{\leil@facultyname}\\
+ \ifdefined\leil@unit \leil@unit{} \fi
+ \end{raggedright}
+ }
+]{top.header}
+\AddLayersToPageStyle{scrheadings}{top.header}
+\AddLayersToPageStyle{empty}{top.header}
+% \end{macrocode}
+%
+% \subsection{Page numbers}
+%
+% Page numbers only appear on the second and later pages, at the left
+% margin. Note that the standard "Pagina" label is replaced by "Blad".
+%
+% \begin{macrocode}
+\defcaptionname{dutch}\pagename{Blad}
+\DeclareNewLayer[
+ background,
+ height=10mm,
+ width=22mm,
+ voffset=144pt,
+ hoffset=24mm,
+ contents={%
+ \pagename~\thepage/\letterlastpage
+ }
+]{margin.pagenumber}
+\AddLayersToPageStyle{scrheadings}{margin.pagenumber}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+% \end{macrocode}
+%
+% \begin{macro}{foo}
+% \begin{macrocode}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macrocode}
+% \end{macrocode}
+%
+% \subsection{Letter Information}
+%
+% The user can/must set information about the letter in the preable of the
+% document. Here we define these command.
+%
+% \begin{macro}{\leil@number}
+% This macro sets the |\leil@number| tag, that is to appear in the reference
+% line as the number of the letter. It defaults to a long dash (--)
+% and a warning if none is specified by the user. A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@number}{-- \ClassWarning{LEIletter}{Please, specify
+ the number of the letter using the \noexpand\leilnumber macro
+ in the preamble of your letter.}}
+\newcommand{\leilnumber}[1]{\renewcommand\leil@number{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@yourref}
+% This macro sets the |\leil@yourref| tag, that is to appear in the reference
+% line as date of the letter to respond to. It defaults to a long dash (--)
+% and a warning if none is specified by the user. A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@yourref}{-- \ClassWarning{LEIletter}{Please, specify
+ the number of the letter using the \noexpand\leilyourref macro
+ in the preamble of your letter.}}
+\newcommand{\leilyourref}[1]{\renewcommand\leil@yourref{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@subject}
+% This macro sets the |\leil@subject| tag, that is to appear in the reference
+% line as subject of the letter. It defaults to a long dash (--)
+% and a warning if none is specified by the user. A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@subject}{-- \ClassWarning{LEIletter}{Please, specify
+ the number of the letter using the \noexpand\leilsubject macro
+ in the preamble of your letter.}}
+\newcommand{\leilsubject}[1]{\renewcommand\leil@subject{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Sender Information}
+%
+% First we set up the internal commands that can be specified by the user in
+% a seperate LetterClassOption (|.lco|) file. See also the example
+% |medewerker.lco| file that is part of the distribution of this class. The
+% name of the file to be loaded is specified as an author option in the
+% \cs{documentclass} call, for instance
+%
+% |\documentclass[author=medewerker]{LEIletter}|
+%
+% Note that it is also possible to overwrite the content specified in such a
+% file by the same user command in the preamble of the document.
+%
+% \begin{macro}{\leil@title}
+% This macro sets the |\leil@title| tag that will be used in the letter's
+% signature. It defaults to empty (sender need not have a title)
+% and a warning if none is specified by the user. A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@title}{\ClassWarning{LEIletter}{Please, specify the title
+ of the sender using the \noexpand\leiltitle macro in a separate .lco
+ file or in the preamble of your letter.}}
+\newcommand{\leiltitle}[1]{\renewcommand\leil@title{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@firstname}
+% This macro sets the |\leil@firstname| tag that will be used in the letter's
+% signature. It defaults to empty (sender need not specify a first name)
+% and a warning if none is specified by the user. A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@firstname}{\ClassWarning{LEIletter}{Please, specify the
+ first name of the sender using the \noexpand\leilfirstname macro in a
+ separate .lco file or in the preamble of your letter.}}
+\newcommand{\leilfirstname}[1]{\renewcommand\leil@firstname{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+% \begin{macro}{\leil@lastname}
+% This macro sets the |\leil@firstname| tag that will be used in the letter's
+% signature. It defaults to empty and a warning if none is specified by the user.
+% A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@lastname}{\ClassWarning{LEIletter}{Please, specify the last
+ name of the sender using the \noexpand\leillastname macro in a separate
+ .lco file or in the preamble of your letter.}}
+\newcommand{\leillastname}[1]{\renewcommand\leil@lastname{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@email}
+% This macro sets the |\leil@email| tag, that is currently not used. (This may
+% change in later versions) It defaults to empty and a warning if none is
+% specified by the user. A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@email}{\ClassWarning{LEIletter}{Please, specify the email
+ address of the sender using the \noexpand\leilemail macro in a separate
+ .lco file or in the preamble of your letter.}}
+\newcommand{\leilemail}[1]{\renewcommand\leil@email{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@directphone}
+% This macro sets the |\leil@directphone| tag, that is to appear in the reference
+% letter (direct-dial number or Doorkiesnr. in Dutch)
+% It defaults to a long dash (--) and a warning if none is
+% specified by the user. A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@directphone}{-- \ClassWarning{LEIletter}{Please, specify
+ the direct dial phone number of the sender using the
+ \noexpand\leildirectphone macro in a separate .lco file or in the preamble
+ of your letter.}}
+\newcommand{\leildirectphone}[1]{\renewcommand\leil@directphone{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@contact}
+% This macro sets the |\leil@contact| tag, that is to appear in the reference
+% letter as the name of the assistant of the sender or the name of the secretariat
+% that belongs to the direct-dial phone number. It defaults to a long dash (--)
+% and a warning if none is specified by the user. A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@contact}{-- \ClassWarning{LEIletter}{Please, specify
+ the direct contact person for the sender using the \noexpand\leilcontact
+ macro in a separate .lco file or in the preamble of your letter.}}
+\newcommand{\leilcontact}[1]{\renewcommand\leil@contact{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@jobtitle}
+% This macro sets the |\leil@jobtitle| tag, that is to appear in the signature of the
+% letter. It defaults to empty and a warning if none is specified by the user.
+% A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@jobtitle}{-- \ClassWarning{LEIletter}{Please, specify the
+ job title of the sender using the \noexpand\leiljobtitle macro in a
+ separate .lco file or in the preamble of your letter.}}
+\newcommand{\leiljobtitle}[1]{\renewcommand\leil@jobtitle{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@building}
+% This macro sets the |\leil@building| tag, that is to appear in the sender address
+% of the letter. It defaults to empty and a warning if none is specified by the user.
+% A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@building}{-- \ClassWarning{LEIletter}{Please, specify the
+ building of the sender using the \noexpand\leilbuilding macro in a
+ separate .lco file or in the preamble of your letter.}}
+\newcommand{\leilbuilding}[1]{\renewcommand\leil@building{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leil@unit}
+% This macro sets the |\leil@unit| tag, that is to appear in the page header
+% of the letter. It defaults to empty and a warning if none is specified by the user.
+% A user-level command is
+% also provided for to set this tag.
+% \begin{macrocode}
+\newcommand{\leil@unit}{-- \ClassWarning{LEIletter}{Please, specify the
+ building of the sender using the \noexpand\leilunit macro in a
+ separate .lco file or in the preamble of your letter.}}
+\newcommand{\leilunit}[1]{\renewcommand\leil@unit{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% We now proceed to process the file that specifies the tags, if any.
+% \begin{macrocode}
+\ifdefined\leil@author
+ \LoadLetterOption{\leil@author}
+ \setkomavar{signature}{\leil@title~\leil@firstname~\leil@lastname{}\\ \leil@jobtitle}
+\fi
+% \end{macrocode}
+%
+% \subsection{Sender address on first page}
+%
+% We put a layer with the sender information on the first page. Note that if the
+% building is not specified, it is left out. Location of the layer is set by the
+% house style (note that the vertical offset of 144 pt, not 140 pt, is neede to make
+% the text align with the grid. )
+%
+% \begin{macrocode}
+\DeclareNewLayer[
+ background,
+ height=112pt,
+ width=48mm,
+ voffset=144pt,
+ hoffset=144mm,
+ contents={%
+ \small
+ \ifdefined\leil@building \leil@building \\ \fi
+ \leil@facultyaddress \\
+ \leil@facultypobox \\
+ Telefoon~\leil@facultyphone{}\\
+ }
+]{firstpage.senderinfo}
+\AddLayersToPageStyle{empty}{firstpage.senderinfo}
+% \end{macrocode}
+%
+% \subsection{Reference line}
+%
+% For the reference line, we first define tags for the labels, bilingually.
+% Note that these can be changed by the user, therefor they do not have an
+% |@| sign in them.
+%
+% \begin{macrocode}
+\newcommand{\leilNumbername}{Nummer}
+\newcommand{\leilYourrefname}{Uw brief van}
+\newcommand{\leilSubjectname}{Onderwerp}
+\newcommand{\leilDatename}{Datum}
+\newcommand{\leilDialdirectname}{Doorkiesnr.}
+\newcommand{\leilContactname}{Contactpersoon}
+\ifthenelse{\equal{\leil@lang}{english}}{
+ \renewcommand{\leilNumbername}{Number}
+ \renewcommand{\leilYourrefname}{Your letter of}
+ \renewcommand{\leilSubjectname}{Subject}
+ \renewcommand{\leilDatename}{Date}
+ \renewcommand{\leilDialdirectname}{Dial-direct Nr.}
+ \renewcommand{\leilContactname}{Contact}
+}{}
+% \end{macrocode}
+%
+% We type out the reference line on the first page (note that |scrlttr2| sets the
+% page-style for the first page to empty), using dimensions from the house style definition.
+% On the left, there are three rows with the letter number,
+%
+% \begin{macrocode}
+\DeclareNewLayer[
+ background,
+ height=70pt,
+ width=170mm,
+ voffset=270pt,
+ hoffset=24mm,
+ contents={%
+ \begingroup%\setlength\extrarowheight{-1pt}%
+ \unskip\begin{tabular}{@{}>{\small}p{24mm}@{}>{\small}p{48mm}@{}p{24mm}@{}>{\small}p{24mm}@{}>{\small}p{48mm}}
+ \textit{\leilNumbername} & \leil@number & & \textit{\leilDatename} & \usekomavar{date} \\
+ \textit{\leilYourrefname} & \leil@yourref & & \textit{\leilDialdirectname} & \leil@directphone \\
+ \textit{\leilSubjectname} & \leil@subject{} & & \textit{\leilContactname} & \leil@contact \\
+ \end{tabular}
+ \endgroup
+ }
+]{firstpage.refline}
+\AddLayersToPageStyle{empty}{firstpage.refline}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</class>
+% \end{macrocode}
+% \begin{macrocode}
+%<*medewerker>
+% \end{macrocode}
+%
+% \section{User Specific Information}
+% Information that is used for every letter, typically the name and details
+% of the sender of the letter, can be supplied in file |medewerker.lco|, which
+% is loaded using the option |author=medewerker| at the \cs{documentclass} line.
+% The following is a template for filling the file. Note that all these can also be
+% specified in the preable or overwritten using \cs{renewcommand} calls.
+% \begin{macro}{\leiltitle}
+% The title should be written without spaces between titles as per LEI style guide.
+% The titles, first name and last name are used to construct the signature under the letter.
+% \begin{macrocode}
+\leiltitle{prof.\,dr.}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leilfirstname}
+% The fist name should be written with capitals and non-breaking space |~| between
+% name and initials. No spaces between the initials if there are more than one.
+% \begin{macrocode}
+\leilfirstname{Maria~E.}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leiltitle}
+% The last name should be written without capitalization of de/van/der/etc. Use non-breaking
+% spaces and/or non-breaking hyphens for multi-part names, as appropriate.
+% \begin{macrocode}
+\leillastname{de~Werker}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leilemail}
+% Specify the email address (currently not used but maybe in later versions.)
+% \begin{macrocode}
+\leilemail{m.e.dewerker@leidenuniv.nl}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leildirectphone}
+% Specify the telephone number that is to appear in the reference letter (direct-dial number
+% or Doorkiesnr. in Dutch). Use a full space between (071) and a half-space after the first
+% three digits, usually 527. Do not enter only the last four digits.
+% \begin{macrocode}
+\leildirectphone{(071)~527\,0000}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leilcontact}
+% Specify the name of the assistant of the sender or the name of the secretariat that
+% belongs to the direct-dial phone number.
+% \begin{macrocode}
+\leilcontact{Secretariaat Belangrijk}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leiljobtitle}
+% Specify, if so desired, the job title, which is typeset on a separate line below the
+% name in the signature. The jobtitle may be different in English and Dutch, so it may
+% be wise to specify it bilingually.
+% \begin{macrocode}
+\iflanguage{english}{
+ \leiljobtitle{Professor of Relevant Subject}
+}{
+ \leiljobtitle{Professor in de Belangrijke Wetenschap}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leilbuilding}
+% Specify the location of the sender. This is not idential for all employees per
+% faculty, so it must be supplied to go above the contact details of the faculty.
+% \begin{macrocode}
+\iflanguage{english}{
+ \leilbuilding{Leyden Building}
+}{
+ \leilbuilding{Leids Gebouw}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leilunit}
+% Specify the institute or depart (sub-unit of the faculty) of the sender. This is
+% printed under name of the faculty at the top-right of every page.
+% \begin{macrocode}
+\iflanguage{english}{
+ \leilunit{Institute of Relevance}
+}{
+ \leilunit{Belangrijk Instituut}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+%</medewerker>
+% \end{macrocode}
+% \begin{macrocode}
+%<*example>
+% \end{macrocode}
+%
+% \section{Minimal Example}
+% The following is a minimal example for a letter, using the |lipsum| package to
+% generate dummy text, that shows how to use premable commands per letter.
+%
+% The first line contains the call to the |LEIletter| document class, and specifies
+% options |dutch| (default) or |english|, specifies the author details to be loaded
+% from |medewerker.lco| and the faculty that the sender belongs to.
+%
+% \begin{macrocode}
+\documentclass[author=medewerker,faculty=fwn]{LEIletter}
+% \end{macrocode}
+%
+%
+% \begin{macro}{\leilnumber}
+% This macro sets the |\leil@number| tag that will be used to specify the
+% number or unique identifier of the letter (e.g. for archiving and referencing
+% purposes).
+% \begin{macrocode}
+\leilnumber{MEdW/123}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leilyourref}
+% This macro sets the |\leil@yourref| tag that will be used to specify the
+% date of the correspondence that the letter relates to.
+% \begin{macrocode}
+\leilyourref{12 april 2019}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\leilsubject}
+% This macro sets the |\leil@subject| tag that later will be used in the
+% reference line for the subject of the letter.
+% \begin{macrocode}
+\leilsubject{Brieven Schrijven in Huisstijl met Latex.}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+\usepackage{pagegrid}
+\pagegridsetup{top-left,step=14pt,arrows=false}
+\usepackage{lipsum}
+\begin{document}
+% \end{macrocode}
+%
+%
+% \begin{environment}{letter}
+% This macro indicates the start of the letter and typesets the first page.
+% Its argument is the addressee of the letter, with \cs{newline} to jump to
+% a new line in the address.
+% \begin{macrocode}
+\begin{letter}{%
+ College van Bestuur\newline%
+ Universiteit van Leiden\newline%
+ Rapenburg 70, Leiden
+}
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \begin{macro}{\opening}
+% This macro sets the opening line of the letter.
+% \begin{macrocode}
+\opening{Geacht College,}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\lipsum[1-10]
+% \end{macrocode}
+% \begin{macro}{\opening}
+% This macro sets the closing line of the letter and the name of the sender.
+% \begin{macrocode}
+\closing{Hoogachtend,}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+\end{letter}
+\end{document}
+% \end{macrocode}
+% \begin{macrocode}
+%</example>
+% \end{macrocode}
+% \begin{macrocode}
+%<*gridtest>
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\documentclass[author=medewerker,faculty=fwn]{LEIletter}
+\leilnumber{MEdW/123}
+\leilyourref{12 april 2019}
+\leilsubject{Brieven Schrijven in Huisstijl met Latex.}
+\usepackage{tikz}
+\usepackage{atbegshi}[2009/12/02]
+\AtBeginShipout{%
+ \AtBeginShipoutUpperLeft{%
+ \put(0,0){%
+ \makebox(0,0)[lt]{%
+ \begin{tikzpicture}[%
+ ]%
+ \useasboundingbox
+ (0mm,\paperheight) rectangle (0mm,\paperheight);%
+ \draw[%
+ style={yshift=\paperheight,yscale=-1},%
+ step=14pt,%
+ style=help lines,%
+ ultra thin%
+ ] (0mm,0mm) grid [xstep=24mm,ystep=14pt] (\paperwidth,\paperheight);
+ \end{tikzpicture}%
+ }%
+ }%
+ }%
+}
+\usepackage{lipsum}
+\usepackage{booktabs}
+\begin{document}
+\begin{letter}{College van Bestuur\newline%
+ Universiteit van Leiden\newline%
+ Rapenburg 70, Leiden
+ }
+\opening{Geacht College,}
+\lipsum[1-2]
+\section*{Hoofdzaak}
+\lipsum[3]
+\subsection*{Bijzaak}
+\lipsum[4]
+\begin{itemize}
+ \item foo
+ \item bar
+\end{itemize}
+\lipsum[6]
+
+\begin{gridfltenv}
+\begin{tabular}{@{}llr@{}} \toprule
+\multicolumn{2}{c}{Item} \\ % \cmidrule(r){1-2}
+Animal & Description & Price (\$)\\ \midrule
+Gnat & per gram & 13.65 \\
+ & each & 0.01 \\
+Gnu & stuffed & 92.50 \\
+Emu & stuffed & 33.33 \\
+Armadillo & frozen & 8.99 \\ \bottomrule
+\end{tabular}
+\end{gridfltenv}
+
+\lipsum[6]
+\begin{enumerate}
+ \item foo
+ \item bar
+\end{enumerate}
+\lipsum[7]
+\begin{gridenv}
+ \begin{equation}
+ \sqrt{x^2+y^2}=z
+ \end{equation}
+\end{gridenv}
+\lipsum[8]
+\closing{Best regards,}
+\end{letter}
+\end{document}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%</gridtest>
+% \end{macrocode}
+%\Finale \ No newline at end of file
diff --git a/macros/latex/contrib/leiletter/LEIletter.pdf b/macros/latex/contrib/leiletter/LEIletter.pdf
new file mode 100644
index 0000000000..ea08b8b6ac
--- /dev/null
+++ b/macros/latex/contrib/leiletter/LEIletter.pdf
Binary files differ
diff --git a/macros/latex/contrib/leiletter/README b/macros/latex/contrib/leiletter/README
new file mode 100644
index 0000000000..9b18a9a23f
--- /dev/null
+++ b/macros/latex/contrib/leiletter/README
@@ -0,0 +1,38 @@
+LEIletter --- letter class for Leiden University
+E-mail: m.t.kreutzer@science.leidenuniv.nl
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+
+
+In its communications, Leiden University aims to create a clear
+and recognisable brand, which is why it is important that our house
+style is applied consistently. The current packages allows for
+letters that comply with the standard set out at
+https://huisstijl.leidenuniv.nl/nl/corporate/briefpapier-zetaanwijzingen/
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (LPPL), either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in the file:
+
+ http://www.latex-project.org/lppl.txt
+
+The Leiden University logo is licensed under the Creative Commons
+Attribution-Share Alike 3.0 Unported license, as explained at
+
+ https://commons.wikimedia.org/wiki/File:UniversiteitLeidenLogo.svg
+
+
+This work is "maintained" (as per LPPL maintenance status) by
+Michiel Kreutzer.
+
+This work consists of the file LEIletter.dtx and
+ leiden-logo.pdf
+and the derived files LEIletter.ins,
+ LEIletter.pdf,
+ LEIletter.cls,
+ leiletter-voorbeeld.tex and
+ medewerker.lco
+
+The derived files are readily extracted by running (pdf)latex on the dtx file,
+which also creates the documentation.
diff --git a/macros/latex/contrib/leiletter/leiden-logo.pdf b/macros/latex/contrib/leiletter/leiden-logo.pdf
new file mode 100644
index 0000000000..01154bf85d
--- /dev/null
+++ b/macros/latex/contrib/leiletter/leiden-logo.pdf
Binary files differ