summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/feupphdteses
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-06-26 22:58:51 +0000
committerKarl Berry <karl@freefriends.org>2013-06-26 22:58:51 +0000
commit68e0222f15244159bfe16cd04da5189fe024529b (patch)
tree7264c9153892218d3ce2e9ffea059d86a73ab9e2 /Master/texmf-dist/tex/latex/feupphdteses
parent74d78e4c6c1722395be36b5f5db73251a60c8928 (diff)
feupphdteses (17jun13)
git-svn-id: svn://tug.org/texlive/trunk@30962 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/feupphdteses')
-rw-r--r--Master/texmf-dist/tex/latex/feupphdteses/feupphdteses.sty695
1 files changed, 695 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/feupphdteses/feupphdteses.sty b/Master/texmf-dist/tex/latex/feupphdteses/feupphdteses.sty
new file mode 100644
index 00000000000..2e5e3655a1b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/feupphdteses/feupphdteses.sty
@@ -0,0 +1,695 @@
+%% PhD FEUP THESIS STYLE for LaTeX2e
+%% Based on "feuptese.sty" by jcl and jcf at fe.up.pt
+%%
+%% Faculdade de Engenharia da Universidade do Porto
+%% Programa Doutoral em Engenharia Biomedica
+%% Mario Saenz Espinoza
+%%
+%% PLEASE send improvements to mario.espinoza at fe.up.pt
+%%
+%% Special thanks to Prof. Joao Correia Lopes, FEUP
+
+%% LOG
+ % March 20, 2013:
+ % Added "RequirePackage{tabularx}"
+ % Added "RequirePackage{array}"
+ % Moved "RequirePackage{longtable}" after "RequirePackage{array}" and "RequirePackage{tabularx}"
+ % Added "RequirePackage{xtab}"
+ % Added "RequirePackage{tabu}"
+ % March 22, 2013:
+ % Added "RequirePackage{siunitx}"
+ % Setup comma as decimal separator
+ % Setup minimum group of three
+ % Setup font to match text
+ % March 28, 2013:
+ % Added \bstctlcite part of bibliography
+ % April 2, 2013:
+ % Added \RequirePackage{arydshln}
+ % Added \RequirePackage{dashrule}
+ % Didn't work, took it out
+ % Moved `\modulolinenumbers[2]' from the required packages section (between siunitx and hyperref)
+ % Removed \Requirepackage{tabu}
+ % Added \RequirePackage{ltxtable}
+ % April 3, 2013:
+ % Added \RequirePackage{subcaption}
+ % April 5, 2013:
+ % Removing pdftex option (as described by: http://tex.stackexchange.com/questions/106159/why-i-shouldnt-load-pdftex-option-with-hyperref)
+ % in graphicx package
+ % in hyperref package
+ % April 6, 2013:
+ % Removed \RequirePackage{ltxtable}
+ % April 10, 2013:
+ % Added \RequirePackage{tikz}
+ % April 11, 2013:
+ % Removed \sisetup{detect-all}
+ % April 12, 2013:
+ % Added \RequirePackage{floats}
+ % Added \RequirePackage{pdfpages}
+ % April 22, 2013:
+ % Added \RequirePackage{placeins}
+ % Added option 'linenum' to include line numbers
+ % Added \RequirePackage{grffile}
+ % Removed option 'working'
+ % April 28, 2013:
+ % Added \RequirePackage{ltxtable}
+ % Added \RequirePackage{adjustbox}
+ % Removed \RequirePackage{ltxtable} (not working along with other packages)
+ % Added \RequirePackage{wrapfig}
+ % Removed \RequirePackage{wrapfig} (not treated as floats)
+ % April 29, 2013:
+ % Added \RequirePackage{amsmath}
+ % May 1, 2013:
+ % Added \RequirePackage{xcolor}
+ % Added \RequirePackage{pgfgantt}
+ % Added \RequirePackage{pdflscape}
+ % May 3, 2013:
+ % Added \usetikzlibrary{decorations.pathreplacing}
+ % Added \newcommand{citeauthorlist}
+ % Added \newcommand{citetlist}
+ % May 7, 2013:
+ % Added \RequirePackage{bookmark}
+ % May 12, 2013:
+ % Added \RequirePackage[inline]{enumitem}
+ % May 15, 2013:
+ % Added \newcommand*{\compressitem}{\@minipagetrue}
+ % Added \RequirePackage{booktabs}
+ % May 17, 2013:
+ % Added \RequirePackage{tabuarly}
+ % Removed \RequirePackage{arydshln} (incompatibility with tabulary)
+ % May 24, 2013:
+ % Added '~' on backrefs
+ % May 28,2013:
+ % Added fix for 'showframe' of geometry package
+ % May 30, 2013:
+ % Added \urlstyle{same}
+ % May 31, 2013:
+ % Added \usetikzlibrary{positioning,fit,backgrounds}
+ % Added \usetikzlibrary{matrix}
+ % June 12, 2013:
+ % Added \RequirePackage{listings}
+ % June 13, 2013:
+ % Added \RequirePackage{pgfplots}
+%%
+
+\NeedsTeXFormat{LaTeX2e}
+\def \filename {feupphdteses.sty}
+\def \filedate {2013/06/13}
+\def \fileversion {1.26}
+\ProvidesPackage {feupphdteses}[\filedate\space\fileversion\space]
+\typeout {Document Style `FEUP PhD Teses' \fileversion\space <\filedate> by Mario Saenz Espinoza}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Document Class %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Make sure that report has been loaded and pdf package is in place
+\@ifundefined{chapter}{\@latexerr{The `feupphdteses' option should be used only with the `report' document style}{}}{}
+\RequirePackage{ifpdf}
+\ifpdf
+ \relax
+\else
+ \@latexerr{The 'feupphdteses' package may only be used with pdflatex}{Please process this file with pdflatex.}
+\fi
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Encoding %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Ensure correct font encoding
+\RequirePackage[T1]{fontenc}
+\RequirePackage[utf8]{inputenc}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Declare General Input Options %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Option jury
+\newif\if@jury
+\@juryfalse
+\DeclareOption{jury}{\@jurytrue}
+
+%% Option final
+\newif\if@final
+\@finalfalse
+\DeclareOption{final}{\@finaltrue}
+
+%% Option backrefs
+\newif\if@backrefs
+\@backrefsfalse
+\DeclareOption{backrefs}{\@backrefstrue}
+
+%% Option for print on paper
+\newif\if@onpaper
+\@onpaperfalse
+\DeclareOption{onpaper}{\@onpapertrue}
+
+%% Option libre
+\newif\if@libre
+\@librefalse
+\DeclareOption{libre}{\@libretrue}
+
+%% Option linenum
+\newif\if@linenum
+\@linenumfalse
+\DeclareOption{linenum}{\@linenumtrue}
+
+%% Doctoral Programs at FEUP
+
+ % Option PRODEB
+ \newif\if@prodeb
+ \@prodebfalse
+ \DeclareOption{prodeb}{\@prodebtrue}
+
+ % Option PRODEF
+ \newif\if@prodef
+ \@prodeffalse
+ \DeclareOption{prodef}{\@prodeftrue}
+
+ % Option PDEQB
+ \newif\if@pdeqb
+ \@pdeqbfalse
+ \DeclareOption{pdeqb}{\@pdeqbtrue}
+
+ % Option PDEEC
+ \newif\if@pdeec
+ \@pdeecfalse
+ \DeclareOption{pdeec}{\@pdeectrue}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Internal Options %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Internal option: committeepage
+\newif\if@committeepage
+\@committeepagefalse
+
+%% Internal option: provisional
+\newif\if@provisional
+\@provisionalfalse
+
+%% Internal option: uselineno
+\newif\if@uselineno
+\@uselinenofalse
+
+\ProcessOptions\relax
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Global Packages of the document %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% General packages
+\RequirePackage[english]{babel}
+\RequirePackage[outer=25mm,inner=35mm,vmargin=20mm,includehead,includefoot,headheight=15pt]{geometry} % Geometry package, %showframe option
+\RequirePackage{xcolor} % Different Colors
+\RequirePackage{mathptmx} % Font:Times
+\RequirePackage[scaled]{couriers} % Font: Courier
+\RequirePackage[scaled]{helvet} % Font: Helvetica
+\RequirePackage{graphicx} % Graphics
+\RequirePackage{grffile} % larger range of file names (dots and spaces)
+\RequirePackage{amsmath} % Math and equations
+\RequirePackage{tikz} % To make graphics
+\RequirePackage{pgfplots} % To import figures from Matlab
+\RequirePackage{url} % To handle URLs
+\RequirePackage{setspace} % Controls line spacing
+\RequirePackage{makeidx} % Index
+\RequirePackage[tableposition=top,figureposition=bottom]{caption} % Tables' captions
+\RequirePackage{multirow} % Tables with multiple rows
+\RequirePackage{eurosym} % Currency: Euro
+\RequirePackage{array} % Needed for 'tabularx'
+\RequirePackage{tabularx} % Tables' width can be set
+\RequirePackage{tabulary} % Columns' width can be set to length
+\RequirePackage{longtable} % Tables can break into two pages
+\RequirePackage[pagewise,switch*]{lineno} % Line numbers
+\RequirePackage{siunitx} % SI units
+\RequirePackage{float} % To be able to use the 'Here' specification
+\RequirePackage{subcaption} % Subcaptions in subfigures
+\RequirePackage{adjustbox} % Alignment of cells in tables
+\RequirePackage[inline]{enumitem} % Itemize, enumerate, lists, etc.
+\RequirePackage[section]{placeins} % To prevent floats going over different sections
+\RequirePackage{booktabs} % To use toprule, midrule, bottomrule
+\RequirePackage{pgfgantt} % Create Gantt diagrams
+\RequirePackage{pdflscape} % Landscape mode
+\RequirePackage{pdfpages} % To include .pdf (papers) at the end as appendix
+\RequirePackage{listings} % To include code
+\RequirePackage[pdfpagelabels,bookmarks,hyperindex,hyperfigures]{hyperref} % Hyper References
+\RequirePackage{bookmark} % For resetting bookmarks
+
+%% Special declarations
+
+ %Line Numbers
+ \modulolinenumbers[2] % Set counter multiple
+
+ %Graphics
+ \DeclareGraphicsExtensions{.pdf,.jpeg,.png,.jpg} % Consider all these extensions as graphics
+
+ %SI units
+ \sisetup{output-decimal-marker = {.}} % Use comma as decimal point (as described by the SI)
+ \sisetup{group-minimum-digits = 3} % \num{1234} should be 1 234, not 1234 (as described by the SI)
+ %\sisetup{separate-uncertainty} % for using \pm in the uncertainty instead of ()
+
+ %Tikz Calendar
+ %\usetikzlibrary{calendar,shapes.geometric} (Podria llegar a ser util para calendarios)
+ \usetikzlibrary{decorations.pathreplacing}
+ \usetikzlibrary{positioning,fit,backgrounds}
+ \usetikzlibrary{matrix}
+
+ %Colors
+ \definecolor{barblue}{RGB}{153,204,254}
+
+ %URL
+ \urlstyle{same}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Title, Program, Degree, Date, Supervisor, etc. Spaces %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% University
+\gdef\@school{Faculdade de Engenharia da Universidade do Porto}
+\def\school#1{\gdef\@school{#1}}
+
+%% Thesis date
+\gdef\@thesisdate{\today}
+\def\thesisdate#1{\gdef\@thesisdate{#1}}
+
+%% Program
+ % Programa Doutoral em Engenharia Biomedica
+ \if@prodeb
+ \gdef\@program{Programa Doutoral em Engenharia Biom\'{e}dica}
+ \gdef\@department{Biomedical Engineering}
+ \fi
+
+ % Programa Doutoral em Engenharia Fisica
+ \if@prodef
+ \gdef\@program{Programa Doutoral em Engenharia F\'{i}sica}
+ \gdef\@department{Physics Engineering}
+ \fi
+
+ % Programa Doutoral em Engenharia Quimica e Biologica
+ \if@pdeqb
+ \gdef\@program{Programa Doutoral em Engenharia Qu\'{i}mica e Biol\'{o}gica}
+ \gdef\@department{Chemical Engineering}
+ \fi
+
+ % Programa Doutoral em Engenharia Electrotecnica e de Computadores
+ \if@pdeec
+ \gdef\@program{Programa Doutoral em Engenharia Electrot\'{e}cnica e de Computadores}
+ \gdef\@department{Electronic \& Computer Engineering}
+ \fi
+
+%% Degree
+ \gdef\@degree{Doctor Philosophiae in \@department}
+ \def\degree#1{\gdef\@degree{#1}}
+
+%% Provisional text space
+\gdef\@provisionaltext{\@empty}
+\def\additionalfronttext#1{\gdef\@provisionaltext{#1}}
+
+%% Committee text
+\newbox\@vivatext
+
+ \def\committeetext#1{%
+ \setbox\@vivatext\vbox
+ {\Large\noindent #1
+ \par\vskip 0.5\baselineskip}}
+
+ % For more than 1 member
+ \def\committeemember#1#2{%
+ \setbox\@vivatext\vbox
+ {\unvbox\@vivatext
+ \vskip 0.5\baselineskip%
+ \par%
+ {\noindent\large #1: #2}}}
+
+ %Space for signatures
+ \def\signature{%
+ \setbox\@vivatext\vbox
+ {\unvbox\@vivatext
+ \vskip 2\baselineskip%
+ {\hfill \rule{0.75\linewidth}{0.2mm}}
+ \vskip 2\baselineskip}}
+
+%% Supervisor text
+\newbox\@supervisorstext
+
+\def\supervisor#1#2{%
+ \setbox\@supervisorstext\vbox%
+ {\unvbox\@supervisorstext
+ \vskip 0.5\baselineskip%
+ \par%
+ \center{\noindent\large #1: #2}}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Versions & Options Do %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Working version
+\if@final
+ \relax
+\else
+ \if@jury
+ \relax
+ \else
+ \additionalfronttext{Working version}
+ \fi
+\fi
+
+%% Jury version
+\if@jury
+ \def\committeetext#1{\gdef\@committeetext{#1}}
+ \@committeepagetrue
+ \additionalfronttext{For Jury Evaluation}
+\fi
+
+%% Final version
+\if@final
+ \additionalfronttext{}
+ \@committeepagetrue
+\fi
+
+%% Libre version
+\if@libre
+ \@committeepagefalse
+\fi
+
+%% Backrefs version
+\if@backrefs
+ \RequirePackage[hyperpageref]{backref}
+ \renewcommand*{\backref}[1]{}
+ \renewcommand*{\backrefalt}[4]{%
+ \ifcase #1 %
+ \or
+ {\footnotesize Cited on page~#2.}%
+ \else
+ {\footnotesize Cited on pages~#2.}%
+ \fi
+ }
+\fi
+
+%% Line number version
+\if@linenum
+ \@uselinenotrue
+\fi
+
+%% Onpaper version
+\if@onpaper
+ \hypersetup{%
+ plainpages=false,
+ pdfpagelayout=SinglePage,
+ bookmarksopen=false,
+ bookmarksnumbered=true,
+ breaklinks=true,
+ linktocpage,
+ colorlinks=false,
+ pdfborder=0 0 0
+ }
+\else
+ \hypersetup{%
+ plainpages=false,
+ pdfpagelayout=SinglePage,
+ bookmarksopen=false,
+ bookmarksnumbered=true,
+ breaklinks=true,
+ linktocpage,
+ colorlinks=true,
+ linkcolor=blue,
+ urlcolor=blue,
+ citecolor=blue,
+ anchorcolor=green
+ }
+\fi
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Copyright Info %%%%%%%%%%%%%%%%%%%%%%%%%
+
+\gdef\@permission{\null}
+\def\permission#1{\gdef\@permission{#1}}
+
+%% define a copyrightnotice variable and initialize it
+\gdef\@copyrightnotice{}
+\def\copyrightnotice#1{\gdef\@copyrightnotice{\copyright\ #1\par\@permission}}
+
+\copyrightnotice{\@author: \@thesisdate}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Title %%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\maketitle{%
+\newbox\@crestbox
+
+%% Title page
+\begin{titlepage}
+
+\hbox to \textwidth
+{
+ \setbox\@crestbox=\vbox{\includegraphics[scale=0.82]{uporto-feup.pdf}} % University Logo
+ %\setbox\@crestbox=\vbox{\includegraphics[width=90mm]{uporto-feup.pdf}} % University Logo
+ \box\@crestbox%
+}
+\vfill%
+
+%\vspace*{20mm}%
+{\def\baselinestretch{1.2}\Huge\bf \@title \par} % Title
+\vskip 25mm%
+
+{\huge\bf \@author} % Author
+\vskip 10mm%
+
+
+{\Large\textsc \@provisionaltext} % Provisional text
+\vfill
+
+\unvbox\@supervisorstext % Supervisor
+\vskip 5mm
+
+{\large \@program} % Program
+%\vskip 30mm
+\vfill
+
+\@thesisdate % Date
+
+\end{titlepage}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Copyright Page %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% copyright page
+\ifx\@copyrightnotice\@empty
+ \relax
+\else
+ \vspace*{\fill}
+ \par
+ \begin{center}
+ \@copyrightnotice
+ \end{center}
+\fi
+\clearpage
+} % maketitle
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Second Page %%%%%%%%%%%%%%%%%%%%%%%%%
+%\newpage
+\def\committeepage
+{%
+ \cleardoublepage
+ \thispagestyle{empty}
+ \begin{center}%
+ \null\vskip 12mm
+ {\Large\textnormal{\@school}}\\[16mm]
+ {\LARGE\bf \@title}\\[16mm]
+ {\Large\bf \@author}\\[16mm]
+ %{\Large \@degree}%
+ \end{center}
+ \vspace*{\fill}
+
+ \begin{center}
+ Dissertation submitted to Faculdade de Engenharia da Universidade do Porto\\ to obtain the degree of
+ \vskip 3mm
+ \large{\textbf{Doctor Philosophiae in \@department}}
+ \end{center}
+
+ \unvbox\@supervisorstext
+ \vspace*{\fill}
+
+ \unvbox\@vivatext
+
+ \begin{center}
+ \@thesisdate
+ \end{center}
+}
+
+%% Second Title Page Grooming
+\def\titlepage
+{
+ \cleardoublepage\centering
+ \thispagestyle{empty}
+ \parindent 0pt \parskip 10pt plus 1fil minus 1fil
+ \def\baselinestretch{1}\@normalsize\vbox to \vsize\bgroup\vbox to 9in\bgroup
+}
+
+%% The \kern0pt pushes any depth into the height. Thanks to Richard Stone.
+\def\endtitlepage{\par\kern 0pt\egroup\vss\egroup\clearpage}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% General Layout %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Avoid widows and orphans
+\clubpenalty=6000
+\widowpenalty=6000
+
+%% Headers
+\RequirePackage{fancyhdr}
+\pagestyle{fancy}
+
+%% Remember chapter title
+\renewcommand{\chaptermark}[1]{\markboth{#1}{#1}}
+
+%% Section number and title
+\renewcommand{\sectionmark}[1]{\markright{{\ifnum \c@secnumdepth >\z@ \thesection\ \fi #1}}}
+
+%% Two sided printinig
+\if@twoside
+ \lhead[\fancyplain{}{\rm\thepage}]{\fancyplain{}{\sl\rightmark}}
+ \chead{}
+ \rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\rm\thepage}}
+ \lfoot{}
+ \cfoot{\fancyplain{\rm\thepage}{}}
+ \rfoot{}
+\else
+ \lhead{\fancyplain{}{\sl\ifodd\c@page\rightmark\else\leftmark\fi}}
+ \chead{}
+ \rhead[]{\fancyplain{}{\rm\thepage}}
+ \lfoot{}
+ \cfoot{\fancyplain{\rm\thepage}{}}
+ \rfoot{}
+\fi
+
+%% Renew some commands
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footrulewidth}{0pt}
+\addtolength{\headheight}{0.5pt}
+
+%% changes to report.sty
+\lineskip 1pt
+\normallineskip 1pt
+\onehalfspacing % One and a half line spacing
+\setcounter{secnumdepth}{3} % To number subsubsections
+\setcounter{tocdepth}{2} % Sets the depth of sectional units listed in the toc
+\setcounter{topnumber}{1} % Maximum number of floats at top of page
+\renewcommand{\topfraction}{0.8} % Maximum fraction of the page occupied by floats
+
+%% Fix pagenumbering so that it works even when the \pagenumbering command is in a file that has not been \include-d
+\def\c@pagenumbering{arabic}
+\def\@pagenumbering#1{\gdef\thepage{\csname @#1\endcsname \c@page}
+\gdef\c@pagenumbering{#1}}
+\def\pagenumbering#1{\global\c@page\@ne \@pagenumbering{#1}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% New Commands & Environments %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Some new commands
+\newcommand{\Activate@lineno}{\if@uselineno\linenumbers\switchlinenumbers*\fi}
+\newcommand{\@StartPrelim}{\cleardoublepage\pagenumbering{roman}\setcounter{page}{1}\pagestyle{fancy}}
+\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
+\newcommand{\StartBody}{\cleardoublepage\pagenumbering{arabic}\setcounter{page}{1}\pagestyle{fancy}\Activate@lineno}
+\newcommand{\@StartDoc}{\setcounter{page}{-3}\pagestyle{empty}\pdfbookmark[0]{Front Page}{init}}
+\newcommand{\PrintIndex}{\cleardoublepage\phantomsection\addcontentsline{toc}{chapter}{Index}\begin{singlespace}\printindex\end{singlespace}}
+\newcommand*{\compressitem}{\@minipagetrue}
+
+%% Some new columns
+\newcolumntype{P}[1]{>{\endgraf\vspace*{-\baselineskip}}p{#1}} % For itemize inside a longtable
+
+%% Prolog
+\newenvironment{Prolog}
+{
+ \maketitle
+ \if@committeepage
+ \committeepage
+ \fi
+ \@StartPrelim
+ \begin{singlespace}
+}
+{\end{singlespace}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Bibbliography %%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Bibliography Style
+\RequirePackage[]{natbib}
+
+\newcommand\MidSep{, }% separator for two elements, not the last two (for citeauthorlist and citetlist)
+\newcommand\LastSep{ and }% separator for last two elements
+
+%citeauthorlist
+\newcommand\citeauthorlist[1]{%
+ \let\last@elem\relax
+ \let\last@sep\relax
+ \@for\@list:=#1\do{%
+ \ifx\last@elem\relax\else
+ \ifx\last@sep\relax
+ \def\last@sep{\LastSep}% the separator between the last two elements should is "and"
+ \else\MidSep % the separator between two elements (not the two last) is a comma
+ \fi
+ \citeauthor{\last@elem}%
+ \fi
+ \let\last@elem\@list
+ }% the last element of the list:
+ \ifx\last@elem\relax\else
+ \last@sep\citeauthor{\last@elem}%
+ \fi
+}
+
+%citetlist
+\newcommand\citetlist[1]{%
+ \let\last@elem\relax
+ \let\last@sep\relax
+ \@for\@list:=#1\do{%
+ \ifx\last@elem\relax\else
+ \ifx\last@sep\relax
+ \def\last@sep{\LastSep}% the separator between the last two elements should is "and"
+ \else\MidSep % the separator between two elements (not the two last) is a comma
+ \fi
+ \citet{\last@elem}%
+ \fi
+ \let\last@elem\@list
+ }% the last element of the list:
+ \ifx\last@elem\relax\else
+ \last@sep\citet{\last@elem}%
+ \fi
+}
+
+%%%citeplist %Still work in progress
+%%\newcommand\citeplist[1]{%
+ %%\let\last@elem\relax
+ %%\let\last@sep\relax
+ %%\@for\@list:=#1\do{%
+ %%\ifx\last@elem\relax\else
+ %%\ifx\last@sep\relax
+ %%\def\last@sep{\LastSep}% the separator between the last two elements should is "and"
+ %%\else\MidSep % the separator between two elements (not the two last) is a comma
+ %%\fi
+ %%\citep{\last@elem}%
+ %%\fi
+ %%\let\last@elem\@list
+ %%}% the last element of the list:
+ %%\ifx\last@elem\relax\else
+ %%\last@sep\citep{\last@elem}%
+ %%\fi
+%%}
+
+\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}}
+\def\@bstctlcite[#1]#2{\@bsphack
+ \@for\@citeb:=#2\do{%
+ \edef\@citeb{\expandafter\@firstofone\@citeb}%
+ \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}%
+\@esphack}
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Fixes %%%%%%%%%%%%%%%%%%%%%%%%%
+
+% 'showframe' of geometry package
+\newcommand*{\gmshow@textheight}{\textheight}
+\newdimen\gmshow@@textheight
+\g@addto@macro\landscape{%
+ \gmshow@@textheight=\hsize
+ \renewcommand*{\gmshow@textheight}{\gmshow@@textheight}%
+}
+\def\Gm@vrule{%
+ \vrule width 0.2pt height\gmshow@textheight depth\z@
+}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Go, go, go! %%%%%%%%%%%%%%%%%%%%%%%%%
+\AtBeginDocument{\@StartDoc}
+
+\endinput \ No newline at end of file