|
|
|
% ==============================================
|
|
|
|
% Class definition UU LuaThesis - 2023-07-12
|
|
|
|
% ==============================================
|
|
|
|
|
|
|
|
\ProvidesClass{LuaUUThesis}
|
|
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
|
|
|
|
|
|
% Conditionals for options
|
|
|
|
\newif\if@UU@chapterafterpart
|
|
|
|
\newif\if@usepdfgfx
|
|
|
|
\newif\if@sfivepaper
|
|
|
|
\newif\if@culumntitles
|
|
|
|
\newif\if@UU@openright
|
|
|
|
\newif\if@UU@margnum
|
|
|
|
\newif\if@webedition
|
|
|
|
\newif\if@printedition
|
|
|
|
|
|
|
|
\@usepdfgfxtrue
|
|
|
|
\@sfivepapertrue
|
|
|
|
\@UU@chapterafterparttrue
|
|
|
|
\@culumntitlesfalse
|
|
|
|
\@UU@openrightfalse
|
|
|
|
% set webedition by default
|
|
|
|
\@webeditiontrue
|
|
|
|
\@printeditionfalse
|
|
|
|
|
|
|
|
% Paper resizing commands
|
|
|
|
\providecommand{\UU@setsfivepaper}{
|
|
|
|
\setlength{\paperheight}{242mm}
|
|
|
|
\setlength{\paperwidth}{165mm}
|
|
|
|
\setlength{\hoffset}{-1in}
|
|
|
|
\setlength{\voffset}{-1in}
|
|
|
|
\setlength{\topmargin}{8.8mm}
|
|
|
|
\setlength{\oddsidemargin}{22.5mm}
|
|
|
|
\setlength{\evensidemargin}{22.5mm}
|
|
|
|
\setlength{\headheight}{4.6mm}
|
|
|
|
\setlength{\headsep}{4.6mm}
|
|
|
|
\setlength{\textheight}{572pt}
|
|
|
|
\setlength{\textwidth}{120mm}
|
|
|
|
\setlength{\marginparsep}{1mm}
|
|
|
|
\setlength{\marginparwidth}{20mm}
|
|
|
|
\setlength{\footskip}{26pt}
|
|
|
|
\setlength{\topskip}{13pt}
|
|
|
|
\setlength{\pdfpagewidth}{\paperwidth}
|
|
|
|
\setlength{\pdfpageheight}{\paperheight}
|
|
|
|
}
|
|
|
|
|
|
|
|
\providecommand{\UU@setafourpaper}{
|
|
|
|
\setlength{\paperheight}{297mm}
|
|
|
|
\setlength{\paperwidth}{210mm}
|
|
|
|
\setlength{\hoffset}{-1in}
|
|
|
|
\setlength{\voffset}{-1in}
|
|
|
|
\setlength{\topmargin}{13.8mm}
|
|
|
|
\setlength{\oddsidemargin}{30mm}
|
|
|
|
\setlength{\evensidemargin}{30mm}
|
|
|
|
\setlength{\headheight}{4.6mm}
|
|
|
|
\setlength{\headsep}{4.6mm}
|
|
|
|
\setlength{\textheight}{242mm}
|
|
|
|
\setlength{\textwidth}{150mm}
|
|
|
|
\setlength{\marginparsep}{1mm}
|
|
|
|
\setlength{\marginparwidth}{20mm}
|
|
|
|
\setlength{\footskip}{26pt}
|
|
|
|
\setlength{\pdfpagewidth}{\paperwidth}
|
|
|
|
\setlength{\pdfpageheight}{\paperheight}
|
|
|
|
\special{papersize=297mm,210mm}
|
|
|
|
}
|
|
|
|
\providecommand{\UU@setafivepaper}{
|
|
|
|
\setlength{\paperheight}{210mm}
|
|
|
|
\setlength{\paperwidth}{148mm}
|
|
|
|
\setlength{\hoffset}{-1in}
|
|
|
|
\setlength{\voffset}{-1in}
|
|
|
|
\setlength{\topmargin}{8.8mm}
|
|
|
|
\setlength{\oddsidemargin}{20mm}
|
|
|
|
\setlength{\evensidemargin}{20mm}
|
|
|
|
\setlength{\headheight}{4.6mm}
|
|
|
|
\setlength{\headsep}{4.6mm}
|
|
|
|
\setlength{\textheight}{172mm}
|
|
|
|
\setlength{\textwidth}{108mm}
|
|
|
|
\setlength{\marginparsep}{1mm}
|
|
|
|
\setlength{\marginparwidth}{20mm}
|
|
|
|
\setlength{\footskip}{26pt}
|
|
|
|
\setlength{\pdfpagewidth}{\paperwidth}
|
|
|
|
\setlength{\pdfpageheight}{\paperheight}
|
|
|
|
}
|
|
|
|
\providecommand{\UU@setbfivepaper}{
|
|
|
|
\setlength{\paperheight}{250mm}
|
|
|
|
\setlength{\paperwidth}{176mm}
|
|
|
|
\setlength{\hoffset}{-1in}
|
|
|
|
\setlength{\voffset}{-1in}
|
|
|
|
\setlength{\topmargin}{8.8mm}
|
|
|
|
\setlength{\oddsidemargin}{22.5mm}
|
|
|
|
\setlength{\evensidemargin}{22.5mm}
|
|
|
|
\setlength{\headheight}{4.6mm}
|
|
|
|
\setlength{\headsep}{4.6mm}
|
|
|
|
\setlength{\textheight}{210mm}
|
|
|
|
\setlength{\textwidth}{131mm}
|
|
|
|
\setlength{\marginparsep}{1mm}
|
|
|
|
\setlength{\marginparwidth}{20mm}
|
|
|
|
\setlength{\footskip}{26pt}
|
|
|
|
\setlength{\pdfpagewidth}{\paperwidth}
|
|
|
|
\setlength{\pdfpageheight}{\paperheight}
|
|
|
|
}
|
|
|
|
|
|
|
|
\providecommand{\UU@papersize}{}
|
|
|
|
\let\UU@papersize\UU@setsfivepaper
|
|
|
|
|
|
|
|
|
|
|
|
\DeclareOption{s5paper}{
|
|
|
|
\let\UU@papersize\UU@setsfivepaper
|
|
|
|
}
|
|
|
|
|
|
|
|
\DeclareOption{a4paper}{
|
|
|
|
\PassOptionsToClass{\CurrentOption}{book}
|
|
|
|
\PassOptionsToPackage{\CurrentOption}{geometry}
|
|
|
|
\PassOptionsToPackage{\CurrentOption}{hyperref}
|
|
|
|
\let\UU@papersize\UU@setafourpaper
|
|
|
|
}
|
|
|
|
\DeclareOption{a5paper}{
|
|
|
|
\PassOptionsToClass{\CurrentOption}{book}
|
|
|
|
\PassOptionsToPackage{\CurrentOption}{geometry}
|
|
|
|
\PassOptionsToPackage{\CurrentOption}{hyperref}
|
|
|
|
\@sfivepaperfalse
|
|
|
|
\let\UU@papersize\UU@setafivepaper
|
|
|
|
}
|
|
|
|
\DeclareOption{b5paper}{
|
|
|
|
\PassOptionsToClass{\CurrentOption}{book}
|
|
|
|
\PassOptionsToPackage{\CurrentOption}{geometry}
|
|
|
|
\PassOptionsToPackage{\CurrentOption}{hyperref}
|
|
|
|
\let\UU@papersize\UU@setbfivepaper
|
|
|
|
}
|
|
|
|
\DeclareOption{letterpaper}{
|
|
|
|
\ClassWarning{Invalid papersize \CurrentOption}
|
|
|
|
}
|
|
|
|
\DeclareOption{legalpaper}{
|
|
|
|
\ClassWarning{Invalid papersize \CurrentOption}
|
|
|
|
}
|
|
|
|
\DeclareOption{titles}{
|
|
|
|
\@culumntitlestrue
|
|
|
|
}
|
|
|
|
\DeclareOption{margnum}{
|
|
|
|
\@UU@margnumtrue
|
|
|
|
}
|
|
|
|
\DeclareOption{webedition}{
|
|
|
|
\PassOptionsToClass{\CurrentOption}{book}
|
|
|
|
\@webeditiontrue
|
|
|
|
\@printeditionfalse
|
|
|
|
}
|
|
|
|
\DeclareOption{printedition}{
|
|
|
|
\PassOptionsToClass{\CurrentOption}{book}
|
|
|
|
\@printeditiontrue
|
|
|
|
\@webeditionfalse
|
|
|
|
}
|
|
|
|
\DeclareOption{twocolumn}{
|
|
|
|
\ClassWarning{This class does not support \CurrentOption}
|
|
|
|
}
|
|
|
|
\DeclareOption{swedish}{ \PassOptionsToPackage{\CurrentOption}{babel} }
|
|
|
|
\DeclareOption{english}{ \PassOptionsToPackage{\CurrentOption}{babel} }
|
|
|
|
\DeclareOption{german}{ \PassOptionsToPackage{\CurrentOption}{babel} }
|
|
|
|
\DeclareOption{french}{ \PassOptionsToPackage{\CurrentOption}{babel} }
|
|
|
|
\DeclareOption{openany}{ \@UU@openrightfalse }
|
|
|
|
\DeclareOption{openright}{ \@UU@openrighttrue }
|
|
|
|
|
|
|
|
\PassOptionsToPackage{figuresright}{rotating}
|
|
|
|
|
|
|
|
\ProcessOptions
|
|
|
|
|
|
|
|
% The thesis template is based on the standard class book
|
|
|
|
\LoadClass{book}
|
|
|
|
\if@UU@openright\@openrighttrue\else\@openrightfalse\fi
|
|
|
|
|
|
|
|
\@ifpackageloaded{ifpdf}{%
|
|
|
|
\usepackage{ifpdf}%
|
|
|
|
\ifpdf%
|
|
|
|
\@usepdfgfxtrue%
|
|
|
|
\else%
|
|
|
|
\@usepdfgfxfalse%
|
|
|
|
\fi%
|
|
|
|
}%
|
|
|
|
|
|
|
|
% Define page size and tell dvips to use it by entering the \special command
|
|
|
|
% these two commands require that your document has \RequirePackage{luatex85} *before* the \documentclass line, otherwise you'll get "undefined control sequence" error
|
|
|
|
\UU@papersize
|
|
|
|
\special{papersize=\the\pdfpagewidth,\the\pdfpageheight}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Font settings
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
% these font sizes only work well with the UUThesis default font (Times new roman and its clones)
|
|
|
|
\AtBeginDocument{%
|
|
|
|
% \renewcommand\normalsize{\@setfontsize{\normalsize}{11}{13}} %11/13pt
|
|
|
|
% \renewcommand\small{\@setfontsize{\small}{10}{12}}%10/12pt
|
|
|
|
% \renewcommand\footnotesize{\@setfontsize{\footnotesize}{9}{11}}%9/11pt
|
|
|
|
% \renewcommand\scriptsize{\@setfontsize{\scriptsize}{8}{10}}%8/10pt
|
|
|
|
% \renewcommand\tiny{\@setfontsize{\tiny}{6}{8}}%6/8pt
|
|
|
|
% \renewcommand\large{\@setfontsize{\large}{13}{15}}%13/15
|
|
|
|
% \renewcommand\Large{\@setfontsize{\Large}{15}{17}}%15/17
|
|
|
|
% \renewcommand\LARGE{\@setfontsize{\LARGE}{18}{20}}%18/20
|
|
|
|
% \renewcommand\huge{\@setfontsize{\huge}{20}{23}}%20/23
|
|
|
|
% \renewcommand\Huge{\@setfontsize{\Huge}{24}{28}}%24/28
|
|
|
|
|
|
|
|
\let\superscript\textsuperscript
|
|
|
|
\let\subscript\textsubscript
|
|
|
|
\normalsize
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Basic adjustments
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
\renewcommand{\bibname}{\refname}
|
|
|
|
|
|
|
|
% Prevent widows and orphans by setting a very large penalty
|
|
|
|
\widowpenalty=\@M
|
|
|
|
\clubpenalty=\@M
|
|
|
|
|
|
|
|
% Set spacing around paragraphs and displays
|
|
|
|
\setlength{\parindent}{\baselineskip}
|
|
|
|
\providecommand{\mathindent}{\baselineskip plus 3pt minus 3pt}
|
|
|
|
\renewcommand{\mathindent}{\baselineskip}
|
|
|
|
\setlength{\parskip}{0pt}
|
|
|
|
\setlength{\belowdisplayskip}{10pt plus 3pt minus 3pt}
|
|
|
|
\setlength{\abovedisplayskip}{10pt plus 3pt minus 3pt}
|
|
|
|
\setlength{\belowdisplayshortskip}{10pt plus 3pt minus 3pt}
|
|
|
|
\setlength{\abovedisplayshortskip}{10pt plus 3pt minus 3pt}
|
|
|
|
|
|
|
|
% No indentation of footnotes
|
|
|
|
\renewcommand\@makefntext[1]{%
|
|
|
|
\parindent 1em%
|
|
|
|
\noindent%
|
|
|
|
\hb@xt@0.4em{\hss\@makefnmark}#1%
|
|
|
|
}
|
|
|
|
|
|
|
|
\renewcommand\footnoterule{{\leftskip 0pt\noindent\rule{26mm}{.5pt}\vspace{3pt}\par}}
|
|
|
|
|
|
|
|
% Remove default spacing between items in lists
|
|
|
|
\renewcommand{\labelitemi}{\textbullet}%
|
|
|
|
\renewcommand{\labelitemii}{\textendash}%
|
|
|
|
\renewcommand{\labelitemiii}{\textasteriskcentered}%
|
|
|
|
\renewcommand{\labelenumi}{\arabic{enumi}.}%
|
|
|
|
\renewcommand{\labelenumii}{\alph{enumii})}%
|
|
|
|
\renewcommand{\labelenumiii}{\roman{enumiii}.}%
|
|
|
|
\setlength{\labelsep}{0.4em}
|
|
|
|
\settowidth{\leftmargini}{\@Roman 8.\hspace{\labelsep}}
|
|
|
|
|
|
|
|
\renewcommand{\@listI}{%
|
|
|
|
\setlength\leftmargin\leftmargini%
|
|
|
|
\setlength\parsep{0\p@}%
|
|
|
|
\setlength\topsep{0\p@}%
|
|
|
|
\setlength\itemsep{0\p@}%
|
|
|
|
\setlength{\partopsep}{0pt}%
|
|
|
|
}
|
|
|
|
\let\@listi\@listI
|
|
|
|
\renewcommand{\@listii}{%
|
|
|
|
\setlength\leftmargin\leftmarginii%
|
|
|
|
}
|
|
|
|
\renewcommand{\@listiii}{%
|
|
|
|
\setlength\leftmargin\leftmarginiii%
|
|
|
|
}
|
|
|
|
\renewcommand{\@listiv}{%
|
|
|
|
\setlength\leftmargin\leftmarginiv%
|
|
|
|
}
|
|
|
|
\renewcommand{\@listv}{%
|
|
|
|
\setlength\leftmargin\leftmarginv%
|
|
|
|
}
|
|
|
|
|
|
|
|
\newlength{\UU@tmplen}
|
|
|
|
\newlength{\UU@listindent}
|
|
|
|
\newcounter{UU@tmpcounter}
|
|
|
|
\providecommand{\setlistmargin}[1][]{
|
|
|
|
\def\tmp{#1}
|
|
|
|
\ifx\tmp\@empty
|
|
|
|
\settowidth{\UU@tmplen}{\@itemlabel\hspace{\labelsep}}
|
|
|
|
\else
|
|
|
|
\ifx\@listctr\@undefined
|
|
|
|
\settowidth{\UU@tmplen}{\@itemlabel\hspace{\labelsep}}
|
|
|
|
\else
|
|
|
|
\setcounter{UU@tmpcounter}{\value{\@listctr}}
|
|
|
|
\setcounter{\@listctr}{#1}
|
|
|
|
\settowidth{\UU@tmplen}{\@itemlabel\hspace{\labelsep}}
|
|
|
|
\setlength{\labelwidth}{\UU@tmplen}
|
|
|
|
\setcounter{\@listctr}{\value{UU@tmpcounter}}
|
|
|
|
\fi
|
|
|
|
\fi
|
|
|
|
\advance\UU@tmplen-\leftmargin
|
|
|
|
\advance\UU@tmplen\UU@listindent
|
|
|
|
\advance\leftskip\UU@tmplen
|
|
|
|
\advance\leftmargin\UU@tmplen
|
|
|
|
\advance\@totalleftmargin\UU@tmplen
|
|
|
|
\setlength\linewidth\textwidth
|
|
|
|
\advance\linewidth-\@totalleftmargin
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Page layout
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
% Plain - Empty header with page number outer end of footer
|
|
|
|
\renewcommand{\ps@plain}{%
|
|
|
|
\let\@oddhead\@empty%
|
|
|
|
\let\@evenhead\@empty%
|
|
|
|
\renewcommand{\@oddfoot}{\hfil\thepage}%
|
|
|
|
\renewcommand{\@evenfoot}{\thepage\hfil}%
|
|
|
|
}
|
|
|
|
|
|
|
|
% UU@chapter - empty header
|
|
|
|
\providecommand{\ps@UU@chapter}{%
|
|
|
|
\let\@oddhead\@empty%
|
|
|
|
\let\@evenhead\@empty%
|
|
|
|
}
|
|
|
|
|
|
|
|
% Headings - chapter title in even headers, section title in odd headers
|
|
|
|
\renewcommand{\ps@headings}{%
|
|
|
|
\ps@plain%
|
|
|
|
\def\@evenhead{\leftmark\hfil }%
|
|
|
|
\def\@oddhead {\hfil\rightmark }%
|
|
|
|
\let\@mkboth \markboth %
|
|
|
|
\def\chaptermark ##1{\markboth {\ifnum \c@secnumdepth >\m@ne \thechapter . \ \fi ##1}{}}%
|
|
|
|
\def\sectionmark ##1{\markright {\ifnum \c@secnumdepth >\z@ \thesection~~\fi ##1}}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\let\@oddfoot\@empty
|
|
|
|
\let\@evenfoot\@empty
|
|
|
|
\let\@mkboth\@gobbletwo
|
|
|
|
\let\chaptermark\@gobble
|
|
|
|
\let\sectionmark\@gobble
|
|
|
|
\def\appendixmark#1{%
|
|
|
|
\markboth{Appendix \theappendix}{}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\AtBeginDocument{
|
|
|
|
\pagestyle{plain}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Dispositional Settings
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
% Default to not using numbering for headings
|
|
|
|
\setcounter{secnumdepth}{-1}
|
|
|
|
|
|
|
|
% Set numbering valid only withing the main matter
|
|
|
|
\newcounter{secnumdepthmainmatter}
|
|
|
|
\AtBeginDocument{\setcounter{secnumdepthmainmatter}{\c@secnumdepth}}
|
|
|
|
|
|
|
|
% Remove page numbers and numbering of headings
|
|
|
|
\let\oldfrontmatter\frontmatter
|
|
|
|
\renewcommand{\frontmatter}{%
|
|
|
|
\renewcommand{\thepage}{\roman{page}}%
|
|
|
|
\setcounter{secnumdepth}{-2} %
|
|
|
|
\@mainmatterfalse%
|
|
|
|
\pagestyle{empty}%
|
|
|
|
}
|
|
|
|
|
|
|
|
% Adjust to odd page and restore numbering of headings
|
|
|
|
\let\oldmainmatter\mainmatter
|
|
|
|
\renewcommand{\mainmatter}{%
|
|
|
|
\cleardoublepage%
|
|
|
|
\renewcommand{\thepage}{\arabic{page}}%
|
|
|
|
\setcounter{secnumdepth}{\c@secnumdepthmainmatter} %
|
|
|
|
\@mainmattertrue%
|
|
|
|
\if@culumntitles%
|
|
|
|
\pagestyle{headings}%
|
|
|
|
\else%
|
|
|
|
\pagestyle{plain}%
|
|
|
|
\fi%
|
|
|
|
}
|
|
|
|
|
|
|
|
% Remove page numbers and numbering of headings
|
|
|
|
\let\oldbackmatter\backmatter
|
|
|
|
\renewcommand{\backmatter}{%
|
|
|
|
\oldbackmatter%
|
|
|
|
\setcounter{secnumdepth}{-2}
|
|
|
|
\makeatletter%
|
|
|
|
\ifx\toclevel@chapter\undefined\else%
|
|
|
|
\renewcommand{\toclevel@appendix}{-1}%
|
|
|
|
\renewcommand{\toclevel@chapter}{-1}%
|
|
|
|
\renewcommand{\toclevel@section}{0}%
|
|
|
|
\renewcommand{\toclevel@subsection}{1}%
|
|
|
|
\renewcommand{\toclevel@subsubsection}{2}%
|
|
|
|
\renewcommand{\toclevel@paragraph}{3}%
|
|
|
|
\renewcommand{\toclevel@subparagraph}{4}%
|
|
|
|
\fi%
|
|
|
|
\makeatother%
|
|
|
|
}
|
|
|
|
|
|
|
|
% Change the chapter command to create appendixes
|
|
|
|
\renewenvironment{appendix}{
|
|
|
|
\@ifundefined{pdfbookmark}{}{\pdfbookmark[-2]{\appendixname}{appendices}}%
|
|
|
|
\let\oldchapter\chapter%
|
|
|
|
\let\chapter\appendixchapter%
|
|
|
|
\let\chaptername\appendixname%
|
|
|
|
\@mainmattertrue%
|
|
|
|
}{%
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Headings
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
% Provides a readable command to set numbering of headings
|
|
|
|
\providecommand{\toclevel@part}{-1}
|
|
|
|
\providecommand{\toclevel@appendix}{0}%
|
|
|
|
\providecommand{\toclevel@chapter}{0}%
|
|
|
|
\providecommand{\toclevel@section}{1}%
|
|
|
|
\providecommand{\toclevel@subsection}{2}%
|
|
|
|
\providecommand{\toclevel@subsubsection}{3}%
|
|
|
|
\providecommand{\toclevel@paragraph}{4}%
|
|
|
|
\providecommand{\toclevel@subparagraph}{5}%
|
|
|
|
|
|
|
|
\providecommand{\numberingdepth}[1]{%
|
|
|
|
\setcounter{secnumdepth}{\csname toclevel@#1\endcsname}%
|
|
|
|
}
|
|
|
|
|
|
|
|
% Redefinition of sectioning command to prevent issues with AMSMath
|
|
|
|
% and allow for greater adjustments of chapter numbering
|
|
|
|
|
|
|
|
\newcommand\chapterfont{}
|
|
|
|
\let\uu@ifstar\@ifstar
|
|
|
|
\renewcommand{\@startsection}[6]{ %
|
|
|
|
\if@noskipsec\leavevmode\fi %
|
|
|
|
\par\@tempskipa #4\relax\@afterindentfalse%
|
|
|
|
\if@nobreak%
|
|
|
|
\everypar{}%
|
|
|
|
\else%
|
|
|
|
\addpenalty\@secpenalty\addvspace\@tempskipa%
|
|
|
|
\fi%
|
|
|
|
\uu@ifstar{%
|
|
|
|
\@ssect{#3}{#4}{#5}{#6}%
|
|
|
|
}{%
|
|
|
|
\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}%
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
\def\@ssect#1#2#3#4#5{%
|
|
|
|
\@tempskipa #3\relax %
|
|
|
|
\begingroup %
|
|
|
|
#4{\@hangfrom{\hskip #1}\interlinepenalty \@M #5\@@par}%
|
|
|
|
\endgroup %
|
|
|
|
\@xsect{#3}%
|
|
|
|
}
|
|
|
|
\def\@sect#1#2#3#4#5#6[#7]#8{
|
|
|
|
\ifnum #2>\c@secnumdepth%
|
|
|
|
%\phantomsection%
|
|
|
|
\let\@svsec\@empty%
|
|
|
|
\else %
|
|
|
|
\refstepcounter{#1}%
|
|
|
|
\protected@edef\@svsec{\protect\@seccntformat{#1}\relax}%
|
|
|
|
\fi %
|
|
|
|
\@tempskipa #5\relax %
|
|
|
|
\begingroup %
|
|
|
|
#6%
|
|
|
|
{\@hangfrom {\hskip #3\relax \@svsec }\interlinepenalty \@M #8 \@@par }%
|
|
|
|
\endgroup%
|
|
|
|
\csname #1mark\endcsname {#7}%
|
|
|
|
\addcontentsline {toc}{#1}{%
|
|
|
|
\ifnum #2>\c@secnumdepth\else%
|
|
|
|
\protect\numberline{\csname the#1\endcsname}%
|
|
|
|
\fi%
|
|
|
|
#7%
|
|
|
|
}%
|
|
|
|
\@xsect{#5}
|
|
|
|
}
|
|
|
|
\def\@xsect#1{%
|
|
|
|
\@tempskipa #1\relax %
|
|
|
|
\par \nobreak \vskip \@tempskipa %
|
|
|
|
\@afterheading %
|
|
|
|
\ignorespaces%
|
|
|
|
}
|
|
|
|
|
|
|
|
% Chapter numbering formats
|
|
|
|
\newcommand{\@seccntformat@part}{%
|
|
|
|
{\partname~\thepart}\hspace{0.5em}%
|
|
|
|
}
|
|
|
|
\newcommand{\@seccntformat@chapter}{%
|
|
|
|
{\thechapter}.\hspace{0.5em}%
|
|
|
|
}
|
|
|
|
\newcommand{\@seccntformat@section}{%
|
|
|
|
{\thesection}\hspace{0.5em}%
|
|
|
|
}
|
|
|
|
\newcommand{\@seccntformat@subsection}{{\thesubsection}\hspace{0.5em}}
|
|
|
|
\newcommand{\@seccntformat@subsubsection}{{\thesubsubsection}\hspace{0.5em}}
|
|
|
|
\newcommand{\@seccntformat@paragraph}{{\theparagraph}\hspace{0.5em}}
|
|
|
|
\newcommand{\@seccntformat@subparagraph}{{\thesubparagraph}\hspace{0.5em}}
|
|
|
|
\renewcommand{\@seccntformat}[1]{%
|
|
|
|
\csname @seccntformat@#1\endcsname%
|
|
|
|
}
|
|
|
|
|
|
|
|
\if@UU@margnum
|
|
|
|
\renewcommand{\@seccntformat}[1]{%
|
|
|
|
\makebox[0mm][r]{\csname @seccntformat@#1\endcsname}%
|
|
|
|
}
|
|
|
|
\fi
|
|
|
|
|
|
|
|
% Part heading
|
|
|
|
\renewcommand{\part}{%
|
|
|
|
\cleardoublepage%
|
|
|
|
\thispagestyle {empty}%
|
|
|
|
\@afterindentfalse%
|
|
|
|
\@UU@chapterafterparttrue%
|
|
|
|
\secdef\@part\@spart%
|
|
|
|
}
|
|
|
|
\renewcommand{\@part}[2][1]{%
|
|
|
|
\edef\@mtarg{\zap@space#2 \@empty}%
|
|
|
|
\vspace*{0.3\textheight}%
|
|
|
|
\edef\pgsdelimiter{\ifx\@empty\@mtarg\else :\fi}%
|
|
|
|
\ifnum \c@secnumdepth >-2\relax %
|
|
|
|
\refstepcounter{part}%
|
|
|
|
\addcontentsline{toc}{part}{\partname~\thepart :~#1}%
|
|
|
|
\else %
|
|
|
|
\addcontentsline {toc}{part}{#1}%
|
|
|
|
\fi %
|
|
|
|
\markboth{}{}%
|
|
|
|
{
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\interlinepenalty \@M%
|
|
|
|
\chapterfont%
|
|
|
|
\LARGE%
|
|
|
|
\ifnum \c@secnumdepth >-2\relax \partname \nobreakspace \thepart\pgsdelimiter \par \fi %
|
|
|
|
#2\par%
|
|
|
|
}%
|
|
|
|
\@xsect{\baselineskip}
|
|
|
|
}
|
|
|
|
|
|
|
|
% Chapter heading
|
|
|
|
\renewcommand\chapter{%
|
|
|
|
\if@openright\cleardoublepage\else\if@UU@chapterafterpart\cleardoublepage\else\clearpage\fi\fi
|
|
|
|
\@UU@chapterafterpartfalse
|
|
|
|
%\markboth{}{}
|
|
|
|
\thispagestyle{UU@chapter}
|
|
|
|
\suppressfloats[t]
|
|
|
|
\@startsection {chapter}{0}{\z@}{\z@}{82pt plus 13pt minus 26pt}{%
|
|
|
|
\chapterfont%
|
|
|
|
\LARGE%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\hyphenpenalty=10000%
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
\renewcommand\@makeschapterhead[1]{\chapter*{#1}}
|
|
|
|
|
|
|
|
% Appendix heading
|
|
|
|
\newcounter{appendix}
|
|
|
|
\def\theappendix{\@Alph\c@appendix}%
|
|
|
|
\def\appendixchapter{%
|
|
|
|
\if@openright\cleardoublepage\else\if@UU@chapterafterpart\cleardoublepage\else\clearpage\fi\fi
|
|
|
|
\@UU@chapterafterpartfalse
|
|
|
|
\thispagestyle{UU@chapter}
|
|
|
|
\suppressfloats[t]
|
|
|
|
\@startsection{appendix}{-2}{\z@}{\z@}{82pt plus 13pt minus 26pt}{%
|
|
|
|
\chapterfont%
|
|
|
|
\LARGE%
|
|
|
|
\UU@RaggedRight
|
|
|
|
Appendix \@Alph\c@appendix.\\
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\renewcommand\section{%
|
|
|
|
\@startsection {section}{1}{\z@}{30pt plus 5pt minus 5pt}{5pt minus 1pt}{%
|
|
|
|
\chapterfont%
|
|
|
|
\Large%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\hyphenpenalty=10000%
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
\renewcommand\subsection{%
|
|
|
|
\@startsection {subsection}{2}{\z@}{25pt plus 5pt minus 3pt}{4pt minus 1pt}{%
|
|
|
|
\chapterfont%
|
|
|
|
\large%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\hyphenpenalty=10000%
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
\renewcommand\subsubsection{%
|
|
|
|
\@startsection {subsubsection}{3}{\z@}{13pt plus 5pt minus 2pt}{1pt minus 1pt}{%
|
|
|
|
\chapterfont%
|
|
|
|
\normalsize%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\hyphenpenalty=10000%
|
|
|
|
\textbf
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
\renewcommand\paragraph{%
|
|
|
|
\@startsection {paragraph}{4}{\z@}{13pt plus 5pt minus 2pt}{1pt minus 1pt}{%
|
|
|
|
\chapterfont%
|
|
|
|
\normalsize%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\hyphenpenalty=10000%
|
|
|
|
\textit
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
\renewcommand\subparagraph{%
|
|
|
|
\@startsection {subparagraph}{5}{\z@}{13pt plus 5pt minus 2pt}{1pt minus 1pt}{%
|
|
|
|
\chapterfont%
|
|
|
|
\normalsize%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\hyphenpenalty=10000%
|
|
|
|
}%
|
|
|
|
}
|
|
|
|
|
|
|
|
%\hyphenation{te-star avsta-vning vi-d binde-streck}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Captions
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
\setlength{\abovecaptionskip}{3pt plus 2pt}
|
|
|
|
\setlength{\belowcaptionskip}{0pt plus 42pt}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Package fixes
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
\AtBeginDocument{%
|
|
|
|
%
|
|
|
|
% Smaller font size in tables
|
|
|
|
\let\otable\table%
|
|
|
|
\def\table{\let\textnormalsize\normalsize\let\normalsize\small\par\otable}%
|
|
|
|
\g@addto@macro\endtable\normalsize%
|
|
|
|
%
|
|
|
|
% Fixes for package caption
|
|
|
|
\@ifpackageloaded{caption}{%
|
|
|
|
\let\captionfont\small%
|
|
|
|
\def\table{\begingroup\captionsetup{labelfont=bf}%
|
|
|
|
\small\par\otable}%
|
|
|
|
\g@addto@macro\endtable\endgroup%
|
|
|
|
\let\ofigure\figure%
|
|
|
|
\def \figure{\begingroup\captionsetup{labelfont=it,textfont=rm}\ofigure}%
|
|
|
|
\g@addto@macro\endfigure\endgroup%
|
|
|
|
}{}%
|
|
|
|
%
|
|
|
|
% Fixes for package natbib
|
|
|
|
\@ifpackageloaded{natbib}{%
|
|
|
|
\def\bibsection{\chapter{\bibname}\sectionmark{References}}%
|
|
|
|
\def\bibfont{\small}%
|
|
|
|
\def\bibpreamble{\UU@RaggedRight\raggedbottom}%
|
|
|
|
}{}%
|
|
|
|
%
|
|
|
|
% Fixes for package amsthm
|
|
|
|
\@ifpackageloaded{amsthm}{%
|
|
|
|
\def\th@definition{%
|
|
|
|
\normalfont %
|
|
|
|
\thm@preskip\baselineskip%
|
|
|
|
\thm@postskip\thm@preskip%
|
|
|
|
}
|
|
|
|
\def\th@remark{%
|
|
|
|
\thm@headfont{\itshape}%
|
|
|
|
\normalfont %
|
|
|
|
\thm@preskip\baselineskip%
|
|
|
|
\thm@postskip\thm@preskip
|
|
|
|
}
|
|
|
|
\def\th@plain{%
|
|
|
|
\thm@preskip\baselineskip%
|
|
|
|
\thm@postskip\thm@preskip%
|
|
|
|
\itshape%
|
|
|
|
}%
|
|
|
|
}{}%
|
|
|
|
%
|
|
|
|
% Fixes for package longtable
|
|
|
|
\@ifpackageloaded{longtable}{%
|
|
|
|
\setlength\LTcapwidth{0.985\textwidth}%
|
|
|
|
\setlength\LTleft\z@%
|
|
|
|
\setlength\LTright\z@%
|
|
|
|
\def\LT@makecaption#1#2#3{%
|
|
|
|
\multicolumn{\LT@cols}{@{}l@{}}{%
|
|
|
|
\parbox{\LTcapwidth}{%
|
|
|
|
\def\@captype{table}%
|
|
|
|
\@makecaption{#2}{#3}}%
|
|
|
|
}%
|
|
|
|
}%
|
|
|
|
\let\olongtable\longtable%
|
|
|
|
\def\longtable{\small\par\olongtable}%
|
|
|
|
\g@addto@macro\endlongtable{\addvspace{0pt plus 13pt}\normalsize}%
|
|
|
|
\let\oLT@array\LT@array%
|
|
|
|
\def\LT@array[#1]#2{%
|
|
|
|
\oLT@array[#1]{#2}%
|
|
|
|
\hline \multicolumn{\LT@cols}{r@{}}{{\continuednextpage}} %
|
|
|
|
\endfoot}%
|
|
|
|
}{}%
|
|
|
|
%
|
|
|
|
% Prevents raggedright from creating bad line breaks
|
|
|
|
\@ifpackageloaded{ragged2e}{
|
|
|
|
\providecommand{\UU@RaggedRight}{\RaggedRight}
|
|
|
|
}{%
|
|
|
|
\providecommand{\UU@RaggedRight}{\raggedright\parfillskip\fill}%
|
|
|
|
}
|
|
|
|
%
|
|
|
|
% Prevents hyperref from breaking table of contents
|
|
|
|
\@ifpackageloaded{hyperref}{
|
|
|
|
\def\toclevel@appendix{0}
|
|
|
|
\def\contentsline#1#2#3#4{%
|
|
|
|
\ifx \\#4\\\csname l@#1\endcsname {#2}{#3}%
|
|
|
|
\else %
|
|
|
|
\ifHy@linktocpage %
|
|
|
|
\csname l@#1\endcsname {#2}{\hyper@linkstart {link}{#4}{#3}\hyper@linkend }%
|
|
|
|
\else%
|
|
|
|
\csname l@#1\endcsname {\hyper@linkstart {link}{#4}{#2}\hyper@linkend }{#3}%
|
|
|
|
\fi%
|
|
|
|
\fi%
|
|
|
|
}
|
|
|
|
}{\providecommand{\phantomsection}{}}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Table of contents
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
% Provides a readable command to set the level of detail in toc
|
|
|
|
\providecommand{\contentsdepth}[1]{%
|
|
|
|
\setcounter{tocdepth}{\csname toclevel@#1\endcsname}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\newlength{\tocskip@part}
|
|
|
|
\setlength{\tocskip@part}{13pt plus 2pt}
|
|
|
|
\newlength{\tocskip@chapter}
|
|
|
|
\setlength{\tocskip@chapter}{8pt minus 1pt}
|
|
|
|
\newlength{\@tempdimd}
|
|
|
|
|
|
|
|
\newcommand\customtocline[5]{%
|
|
|
|
\ifnum \c@tocdepth >#5
|
|
|
|
\setlength\@tempdima{#4}%
|
|
|
|
\setlength\@tempdimb{#3}%
|
|
|
|
\settowidth{\@tempdimc}{~#2}%
|
|
|
|
\setlength{\@tempdimd}{\textwidth}%
|
|
|
|
\parindent \z@%
|
|
|
|
\begingroup%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\setlength{\parfillskip}{-\@tempdimc}%
|
|
|
|
%\advance\leftskip\@tempdima%
|
|
|
|
\advance\rightskip\@tempdimc%
|
|
|
|
\hskip -\leftskip%
|
|
|
|
\advance\leftskip\@tempdimb%
|
|
|
|
#1\nobreak\ %
|
|
|
|
{\tiny\dotfill}\nobreak{}\null%
|
|
|
|
~#2%
|
|
|
|
\par%
|
|
|
|
\endgroup%
|
|
|
|
\fi%
|
|
|
|
}
|
|
|
|
|
|
|
|
\renewcommand*{\numberline}[1]{\@hangfrom{\hb@xt@ \@tempdima {#1\hfil}}}
|
|
|
|
\newcommand*\nonumberline[1]{\hb@xt@ \@tempdima {#1\hfil}}
|
|
|
|
% List of tables TOC line: format of first part
|
|
|
|
\newcommand*\tablenumberline[1]{\hb@xt@ \@tempdima {#1~\hfil}}
|
|
|
|
% List of figures TOC line: format of first part
|
|
|
|
\newcommand*\figurenumberline[1]{\hb@xt@ \@tempdima {#1~\hfil}}
|
|
|
|
\newcommand*\partnumberline[1]{\partname~#1:~}
|
|
|
|
\newcommand*\appendixnumberline[1]{\appendixname~#1:~}
|
|
|
|
\let\chapternumberline\numberline
|
|
|
|
%\newcommand*\chapternumberline[1]{}
|
|
|
|
%{{\small\textsc\chaptername~#1\hfill\null\\\hskip-\leftskip}}
|
|
|
|
\let\stdnumberline\numberline
|
|
|
|
|
|
|
|
\newcommand{\settocnumwidth}[6]{
|
|
|
|
\settowidth{\tocnumindent@chapter}{#1\hspace{0.5em}}
|
|
|
|
\settowidth{\tocnumindent@section}{#1.#2\hspace{0.5em}}
|
|
|
|
\settowidth{\tocnumindent@subsection}{#1.#2.#3\hspace{0.5em}}
|
|
|
|
\settowidth{\tocnumindent@subsubsection}{#1.#2.#3.#4\hspace{0.5em}}
|
|
|
|
\settowidth{\tocnumindent@paragraph}{#1.#2.#3.#4.#5\hspace{0.5em}}
|
|
|
|
\settowidth{\tocnumindent@subparagraph}{#1.#2.#3.#4.#5.#6\hspace{0.5em}}
|
|
|
|
\adjusttocindent
|
|
|
|
}
|
|
|
|
\newcommand{\settocindent}[6]{
|
|
|
|
\setlength{\tocindent@chapter}{#1}
|
|
|
|
\setlength{\tocindent@section}{#2}
|
|
|
|
\setlength{\tocindent@subsection}{#3}
|
|
|
|
\setlength{\tocindent@subsubsection}{#4}
|
|
|
|
\setlength{\tocindent@paragraph}{#5}
|
|
|
|
\setlength{\tocindent@subparagraph}{#6}
|
|
|
|
}
|
|
|
|
\newcommand{\adjusttocindent}{
|
|
|
|
\setlength{\tocindent@section}{\tocindent@chapter}%
|
|
|
|
\ifnum\c@secnumdepthmainmatter>-1\addtolength{\tocindent@section}{\tocnumindent@chapter}%
|
|
|
|
\else\addtolength{\tocindent@section}{\tocindent}\fi%
|
|
|
|
%
|
|
|
|
\setlength{\tocindent@subsection}{\tocindent@section}%
|
|
|
|
\ifnum\c@secnumdepthmainmatter>0\addtolength{\tocindent@subsection}{\tocnumindent@section}%
|
|
|
|
\else\addtolength{\tocindent@subsection}{\tocindent}\fi%
|
|
|
|
%
|
|
|
|
\setlength{\tocindent@subsubsection}{\tocindent@subsection}%
|
|
|
|
\ifnum\c@secnumdepthmainmatter>1\addtolength{\tocindent@subsubsection}{\tocnumindent@subsection}%
|
|
|
|
\else\addtolength{\tocindent@subsubsection}{\tocindent}\fi%
|
|
|
|
%
|
|
|
|
\setlength{\tocindent@paragraph}{\tocindent@subsubsection}%
|
|
|
|
\ifnum\c@secnumdepthmainmatter>2\addtolength{\tocindent@paragraph}{\tocnumindent@subsubsection}%
|
|
|
|
\else\addtolength{\tocindent@paragraph}{\tocindent}\fi%
|
|
|
|
%
|
|
|
|
\setlength{\tocindent@subparagraph}{\tocindent@paragraph}%
|
|
|
|
\ifnum\c@secnumdepthmainmatter>3\addtolength{\tocindent@subparagraph}{\tocnumindent@paragraph}%
|
|
|
|
\else\addtolength{\tocindent@subparagraph}{\tocindent}\fi%
|
|
|
|
}
|
|
|
|
\newlength{\tocnumindent@chapter}
|
|
|
|
\newlength{\tocnumindent@section}
|
|
|
|
\newlength{\tocnumindent@subsection}
|
|
|
|
\newlength{\tocnumindent@subsubsection}
|
|
|
|
\newlength{\tocnumindent@paragraph}
|
|
|
|
\newlength{\tocnumindent@subparagraph}
|
|
|
|
\newlength{\tocindent}
|
|
|
|
\newlength{\tocindent@chapter}
|
|
|
|
\newlength{\tocindent@section}
|
|
|
|
\newlength{\tocindent@subsection}
|
|
|
|
\newlength{\tocindent@subsubsection}
|
|
|
|
\newlength{\tocindent@paragraph}
|
|
|
|
\newlength{\tocindent@subparagraph}
|
|
|
|
|
|
|
|
\setlength{\tocindent}{13pt}
|
|
|
|
%\settocnumindent{15pt}{24pt}{34pt}{44pt}{54pt}{64pt}
|
|
|
|
%\settocnumwidth{10}{10}{5}{3}{3}{3}
|
|
|
|
|
|
|
|
\setlength{\tocindent@chapter}{0pt}
|
|
|
|
% Adjust table of contents indents based on level of numbering
|
|
|
|
\AtBeginDocument{%
|
|
|
|
\settocnumwidth{10}{10}{5}{3}{3}{3}
|
|
|
|
}
|
|
|
|
|
|
|
|
\let\oldtableofcontents\tableofcontents
|
|
|
|
\renewcommand{\tableofcontents}{%
|
|
|
|
\begingroup%
|
|
|
|
\raggedbottom%
|
|
|
|
\cleardoublepage%
|
|
|
|
\oldtableofcontents%
|
|
|
|
\vfill\null%
|
|
|
|
\clearpage%
|
|
|
|
\endgroup%
|
|
|
|
}
|
|
|
|
|
|
|
|
\newcounter{prevtoclvl}
|
|
|
|
\setcounter{prevtoclvl}{-2}
|
|
|
|
\newcommand{\@nopagebreaktoc}[1]{%
|
|
|
|
\ifnum\c@prevtoclvl<#1%
|
|
|
|
\nopagebreak[3]%
|
|
|
|
\fi%
|
|
|
|
\setcounter{prevtoclvl}{#1}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\renewcommand*\l@chapter[2]{%
|
|
|
|
\@nopagebreaktoc{0}%
|
|
|
|
%\renewcommand{\numberline}{\chapternumberline}%
|
|
|
|
\vskip\tocskip@chapter%
|
|
|
|
\customtocline{#1}{#2}{\tocindent@chapter}{\tocnumindent@chapter}{-1}%
|
|
|
|
%\renewcommand{\numberline}{\stdnumberline}%
|
|
|
|
}
|
|
|
|
\renewcommand*\l@section[2]{\@nopagebreaktoc{1}\customtocline{#1}{#2}{\tocindent@section}{\tocnumindent@section}{0}}
|
|
|
|
\renewcommand*\l@subsection[2]{\@nopagebreaktoc{2}\customtocline{#1}{#2}{\tocindent@subsection}{\tocnumindent@subsection}{1}}
|
|
|
|
\renewcommand*\l@subsubsection[2]{\@nopagebreaktoc{4}\customtocline{#1}{#2}{\tocindent@subsubsection}{\tocnumindent@subsubsection}{2}}
|
|
|
|
\renewcommand*\l@paragraph[2]{\@nopagebreaktoc{4}\customtocline{#1}{#2}{\tocindent@paragraph}{\tocnumindent@paragraph}{3}}
|
|
|
|
\renewcommand*\l@subparagraph[2]{\nopagebreak[1]\@nopagebreaktoc{5}\customtocline{#1}{#2}{\tocindent@subparagraph}{\tocnumindent@subparagraph}{4}}
|
|
|
|
\setcounter{tocdepth}{2}
|
|
|
|
|
|
|
|
\newcommand*\l@appendix[2]{%
|
|
|
|
\@nopagebreaktoc{0}
|
|
|
|
\renewcommand{\numberline}{\appendixnumberline}%
|
|
|
|
\vskip\tocskip@chapter%
|
|
|
|
\customtocline{#1}{#2}{\tocindent@chapter}{\tocnumindent@chapter}{-1}%
|
|
|
|
\renewcommand{\numberline}{\stdnumberline}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\renewcommand*\l@part[2]{%
|
|
|
|
\@nopagebreaktoc{-1}%
|
|
|
|
\renewcommand{\numberline}{\partnumberline}%
|
|
|
|
\vskip\tocskip@part%
|
|
|
|
\customtocline{#1}{#2}{\z@}{4em}{-2}%
|
|
|
|
\renewcommand{\numberline}{\stdnumberline}%
|
|
|
|
}
|
|
|
|
|
|
|
|
% Figure TOC number line
|
|
|
|
\renewcommand*\l@figure[2]{%
|
|
|
|
\let\numberline\figurenumberline%
|
|
|
|
\customtocline{#1}{#2}{\z@}{2.2em}{0}%
|
|
|
|
\renewcommand{\numberline}{\stdnumberline}%
|
|
|
|
}
|
|
|
|
% Table TOC number line
|
|
|
|
\renewcommand*\l@table[2]{%
|
|
|
|
\let\numberline\tablenumberline%
|
|
|
|
\customtocline{#1}{#2}{\z@}{2.2em}{0}%
|
|
|
|
\addvspace{0.5\baselineskip plus 0.1\baselineskip}%
|
|
|
|
\renewcommand{\numberline}{\stdnumberline}%
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Basic bibliography
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
\let\oldbib\thebibliography
|
|
|
|
\let\endoldbib\endthebibliography
|
|
|
|
|
|
|
|
\renewenvironment{thebibliography}[1]{%
|
|
|
|
\chapter{\bibname}%
|
|
|
|
\@mkboth {\bibname}{\bibname}%
|
|
|
|
\small%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\raggedbottom%
|
|
|
|
\list{\@biblabel{\@arabic\c@enumiv }}{%
|
|
|
|
\settowidth\labelwidth{\@biblabel{#1}}%
|
|
|
|
\leftmargin\labelwidth %
|
|
|
|
\advance\leftmargin \labelsep %
|
|
|
|
\@openbib@code%
|
|
|
|
\usecounter{enumiv}%
|
|
|
|
\let\p@enumiv\@empty %
|
|
|
|
\renewcommand\theenumiv{\@arabic \c@enumiv }%
|
|
|
|
}%
|
|
|
|
\sloppy %
|
|
|
|
\clubpenalty 4000 %
|
|
|
|
\@clubpenalty \clubpenalty %
|
|
|
|
\widowpenalty 4000%
|
|
|
|
\sfcode `\.\@m%
|
|
|
|
}{%
|
|
|
|
\def \@noitemerr {\@latex@warning {Empty `thebibliography' environment}}%
|
|
|
|
\endlist%
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% List of papers
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
\renewcommand{\bibname}{\refname}
|
|
|
|
\providecommand{\listofpapersname}{List of papers}
|
|
|
|
\providecommand{\continuednextpage}{Continued on next page}
|
|
|
|
\providecommand{\keywordsname}{Keywords}
|
|
|
|
|
|
|
|
\providecommand{\listofpapersintro}[1]{\gdef\@listofpapersintro{#1}}
|
|
|
|
\providecommand{\listofpapersoutro}[1]{\gdef\@listofpapersoutro{#1}}
|
|
|
|
\listofpapersintro{This thesis is based on the following papers, which are referred to in the text by their roman numerals.}%
|
|
|
|
\listofpapersoutro{Reprints were made with permission from the publishers.}
|
|
|
|
|
|
|
|
\providecommand{\pgs@language@swedish}{%
|
|
|
|
\renewcommand{\bibname}{\refname}%
|
|
|
|
\renewcommand{\listofpapersname}{Lista \"over delarbeten}%
|
|
|
|
\listofpapersintro{Denna avhandling \"ar baserad p\r{a} f\"oljande artiklar, vilka i texten h\"anvisas till med romerska siffror.}%
|
|
|
|
\listofpapersoutro{Reproduktion med tillst\aa nd fr\aa n respektive utgivare.}%
|
|
|
|
\renewcommand{\continuednextpage}{Fortsatt p\r{a} n\"a{}sta sida}%
|
|
|
|
\renewcommand{\keywordsname}{Nyckelord}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\providecommand{\pgs@language@english}{%
|
|
|
|
\renewcommand{\bibname}{\refname}%
|
|
|
|
\renewcommand{\listofpapersname}{List of papers}%
|
|
|
|
\listofpapersintro{This thesis is based on the following papers, which are referred to in the text by their Roman numerals.}%
|
|
|
|
\listofpapersoutro{Reprints were made with permission from the publishers.}%
|
|
|
|
\renewcommand{\continuednextpage}{Continued on next page}%
|
|
|
|
\renewcommand{\keywordsname}{Keywords}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\AtBeginDocument{%
|
|
|
|
\@ifpackageloaded{babel}{%
|
|
|
|
\addto\captionsswedish{%
|
|
|
|
\pgs@language@swedish
|
|
|
|
}%
|
|
|
|
\addto\captionsenglish{%
|
|
|
|
\pgs@language@english
|
|
|
|
}%
|
|
|
|
}{}%
|
|
|
|
\@ifpackageloaded{polyglossia}{%
|
|
|
|
\renewcommand{\xpg@hook@setlanguage}{\csname pgs@language@\languagename \endcsname}
|
|
|
|
\xpg@hook@setlanguage%
|
|
|
|
}{}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\newcounter{listofpapersc}
|
|
|
|
% changed from uppercase Roman to lowercase roman to work better with small-caps
|
|
|
|
% small-caps are defined in cleveref commands in main document
|
|
|
|
\renewcommand{\thelistofpapersc}{\roman{listofpapersc}}
|
|
|
|
\newenvironment{listofpapers}{%
|
|
|
|
\cleardoublepage%
|
|
|
|
\@ifundefined{pdfbookmark}{}{\pdfbookmark[0]{\listofpapersname}{lop}}%
|
|
|
|
\chapter*{\listofpapersname}%
|
|
|
|
\noindent {\@listofpapersintro}\vspace{1\baselineskip}%
|
|
|
|
\setcounter{listofpapersc}{0}%
|
|
|
|
\begin{list}{\Roman{listofpapersc}}{%
|
|
|
|
\def\@currentlabel{\Roman{listofpapersc}}%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
% default penalty for undesirable hyphenation is 50 (this setting is LuaTeX specific)
|
|
|
|
% https://tex.stackexchange.com/a/586405
|
|
|
|
% \hyphenpenalty=10% changed from 10000 to 10 caused no appreciable difference
|
|
|
|
\usecounter{listofpapersc}%
|
|
|
|
\setlength{\leftmargin}{2.5em}%
|
|
|
|
\setlength{\labelsep}{1em}%
|
|
|
|
\setlength{\itemsep}{1em plus 0.2em minus 0.2em}%
|
|
|
|
\setlength{\parsep}{0mm}%
|
|
|
|
\setlength{\topsep}{0mm}}%
|
|
|
|
}{%
|
|
|
|
\end{list}\nopagebreak%
|
|
|
|
\vspace{1\baselineskip}\noindent {\@listofpapersoutro}%
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% List of other publications
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
\providecommand{\listofcontributionsname}{Other publications}
|
|
|
|
\providecommand{\listofcontributionsintro}[1]{\gdef\@listofcontributionsintro{#1}}
|
|
|
|
\providecommand{\listofcontributionsoutro}[1]{\gdef\@listofcontributionsoutro{#1}}
|
|
|
|
\listofcontributionsintro{Other publications or contributions, not included in the thesis, but referred to in the summary.}%
|
|
|
|
\listofcontributionsoutro{Contributions listed above.}
|
|
|
|
|
|
|
|
\providecommand{\pgs@language@swedish}{%
|
|
|
|
\renewcommand{\listofcontributionsname}{Lista \"over andra bidrag}%
|
|
|
|
\listofcontributionsintro{Andra bidrag.}%
|
|
|
|
\listofcontributionsoutro{Bidrag listade ovan.}%
|
|
|
|
\renewcommand{\continuednextpage}{Fortsatt p\r{a} n\"a{}sta sida}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\providecommand{\pgs@language@english}{%
|
|
|
|
% \renewcommand{\listofcontributionsname}{List of contributions}%
|
|
|
|
% \listofcontributionsintro{Other papers or contributions, not included in the thesis, but referred to in the summary.}%
|
|
|
|
% \listofcontributionsoutro{Contributions listed above.}%
|
|
|
|
\renewcommand{\continuednextpage}{Continued on next page}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\AtBeginDocument{%
|
|
|
|
\@ifpackageloaded{babel}{%
|
|
|
|
\addto\captionsswedish{%
|
|
|
|
\pgs@language@swedish
|
|
|
|
}%
|
|
|
|
\addto\captionsenglish{%
|
|
|
|
\pgs@language@english
|
|
|
|
}%
|
|
|
|
}{}%
|
|
|
|
\@ifpackageloaded{polyglossia}{%
|
|
|
|
\renewcommand{\xpg@hook@setlanguage}{\csname pgs@language@\languagename \endcsname}
|
|
|
|
\xpg@hook@setlanguage%
|
|
|
|
}{}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\newcounter{listofcontributionsc}
|
|
|
|
\renewcommand{\thelistofcontributionsc}{\arabic{listofcontributionsc}}
|
|
|
|
\newenvironment{listofcontributions}{%
|
|
|
|
% \clearpage%
|
|
|
|
\@ifundefined{pdfbookmark}{}{\pdfbookmark[0]{\listofcontributionsname}{loc}}%
|
|
|
|
\chapter*{\listofcontributionsname}%
|
|
|
|
\noindent {\@listofcontributionsintro}\vspace{1\baselineskip}%
|
|
|
|
\setcounter{listofcontributionsc}{0}%
|
|
|
|
\begin{list}{\arabic{listofcontributionsc}}{%
|
|
|
|
\def\@currentlabel{\arabic{listofcontributionsc}}%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\usecounter{listofcontributionsc}%
|
|
|
|
\setlength{\leftmargin}{2.5em}%
|
|
|
|
\setlength{\labelsep}{1em}%
|
|
|
|
\setlength{\itemsep}{1em plus 0.2em minus 0.2em}%
|
|
|
|
\setlength{\parsep}{0mm}%
|
|
|
|
\setlength{\topsep}{0mm}}%
|
|
|
|
}{%
|
|
|
|
\end{list}\nopagebreak%
|
|
|
|
\vspace{1\baselineskip}\noindent {\@listofcontributionsoutro}%
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Author's contributions (CRediT)
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
% https://credit.niso.org
|
|
|
|
|
|
|
|
% Other possible headers for this section (from what I have seen in other theses):
|
|
|
|
% + Summary of contributions
|
|
|
|
% + Contributions
|
|
|
|
% + Notes on my contributions
|
|
|
|
% + Author contributions
|
|
|
|
% + Main contributions per paper
|
|
|
|
\providecommand{\authorscontributionsname}{Author's contributions}
|
|
|
|
\providecommand{\authorscontributionsintro}[1]{\gdef\@authorscontributionsintro{#1}}
|
|
|
|
\providecommand{\authorscontributionsoutro}[1]{\gdef\@authorscontributionsoutro{#1}}
|
|
|
|
\authorscontributionsintro{Author's contributions to the papers included in the thesis, given using CRediT taxonomy.}%
|
|
|
|
\authorscontributionsoutro{}
|
|
|
|
|
|
|
|
\newcounter{authorscontributionsc}
|
|
|
|
\renewcommand{\theauthorscontributionsc}{\roman{authorscontributionsc}}
|
|
|
|
\newenvironment{authorscontributions}{%
|
|
|
|
% \clearpage%
|
|
|
|
\@ifundefined{pdfbookmark}{}{\pdfbookmark[0]{\authorscontributionsname}{loc}}%
|
|
|
|
\chapter*{\authorscontributionsname}%
|
|
|
|
\noindent {\@authorscontributionsintro}\vspace{1\baselineskip}%
|
|
|
|
\setcounter{authorscontributionsc}{0}%
|
|
|
|
\begin{description}{\Roman{authorscontributionsc}}{%
|
|
|
|
\def\@currentlabel{\Roman{authorscontributionsc}}%
|
|
|
|
\UU@RaggedRight%
|
|
|
|
\usecounter{authorscontributionsc}%
|
|
|
|
\setlength{\leftmargin}{2.5em}%
|
|
|
|
\setlength{\labelsep}{1em}%
|
|
|
|
\setlength{\itemsep}{1em plus 0.2em minus 0.2em}%
|
|
|
|
\setlength{\parsep}{0mm}%
|
|
|
|
\setlength{\topsep}{0mm}}%
|
|
|
|
}{%
|
|
|
|
\end{description}\nopagebreak%
|
|
|
|
\vspace{3\baselineskip}\noindent {\footnotesize\@authorscontributionsoutro}%
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Dummy pages
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
\providecommand{\keywordsname}[1]{Keywords}
|
|
|
|
\providecommand{\authorshort}[1]{\gdef\@authorshort{#1}}
|
|
|
|
\providecommand{\address}[1]{\gdef\@address{#1}}
|
|
|
|
\providecommand{\publisher}[1]{\gdef\@publisher{#1}}
|
|
|
|
\providecommand{\subtitle}[1]{\gdef\@subtitle{#1}}
|
|
|
|
\providecommand{\series}[1]{\gdef\@series{#1}}
|
|
|
|
\providecommand{\serialnumber}[1]{\gdef\@serialnumber{#1}}
|
|
|
|
\providecommand{\pagecount}[1]{\write\@auxout{\string\gdef\string\@pagecount{#1}}\gdef\@pagecount{#1}\gdef\pagecount##1{}}
|
|
|
|
\providecommand{\URN}[1]{\gdef\@URN{#1}}
|
|
|
|
\providecommand{\ISBN}[1]{\gdef\@ISBN{#1}}
|
|
|
|
\providecommand{\ISSN}[1]{\gdef\@ISSN{#1}}
|
|
|
|
\providecommand{\keywords}[1]{\gdef\@keywords{#1}}
|
|
|
|
\providecommand{\titlepagelogo}[1]{\gdef\@titlepagelogo{#1}}%
|
|
|
|
\let\@publisher\relax
|
|
|
|
\let\@series\relax
|
|
|
|
\let\@serialnumber\relax
|
|
|
|
\let\@authorshort\relax
|
|
|
|
\let\@address\relax
|
|
|
|
\let\@titlepagelogo\relax
|
|
|
|
\providecommand{\@pagecount}{??}
|
|
|
|
\let\@keywords\relax
|
|
|
|
\let\@ISSN\relax
|
|
|
|
\let\@ISBN\relax
|
|
|
|
\let\@URN\relax
|
|
|
|
|
|
|
|
\title{Title Page Dummy}
|
|
|
|
\providecommand{\@subtitle}{This Page will be Replaced before Printing}
|
|
|
|
\author{ }
|
|
|
|
\titlepagelogo{assets/images/UU_logo_sv_42}
|
|
|
|
\providecommand{\makehalftitle}{%
|
|
|
|
\begin{center}%
|
|
|
|
\ifx\@publisher\relax\ifx\@series\relax Half Title Dummy Page\par \fi\fi%
|
|
|
|
\MakeUppercase{\@publisher}\par%
|
|
|
|
\@series\par%
|
|
|
|
\@serialnumber\par%
|
|
|
|
\end{center}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\renewenvironment{titlepage}{%
|
|
|
|
\cleardoublepage%
|
|
|
|
}{%
|
|
|
|
\clearpage%
|
|
|
|
}
|
|
|
|
|
|
|
|
\renewcommand{\maketitle}{%
|
|
|
|
\providecommand{\titlepagelogo}{assets/images/UU_logo_sv_42}%
|
|
|
|
\begin {titlepage}%
|
|
|
|
\def\first##1{##1}%
|
|
|
|
\def\last##1{##1}%
|
|
|
|
\def\I##1{##1}%
|
|
|
|
\vspace*{40mm}%
|
|
|
|
\begin{center}%
|
|
|
|
{\Large \@author\par}%
|
|
|
|
\vspace{6mm}%
|
|
|
|
\Huge{\@title}\par%
|
|
|
|
\vspace{6mm}%
|
|
|
|
{\fontsize{14}{16}\fontshape{it}\selectfont \@subtitle}%
|
|
|
|
\end{center}%
|
|
|
|
\begin{figure}[b]%
|
|
|
|
\begin{center}%
|
|
|
|
\immediate\openin0 =\@titlepagelogo\space%
|
|
|
|
\ifeof 0\relax\null%
|
|
|
|
%\ClassWarning{UUThesisTemplate warning: Image \@titlepagelogo does not exist, placeholder used.}\null
|
|
|
|
\framebox(120,120)[c]{Title page logo}%
|
|
|
|
\else%
|
|
|
|
\ifx\includegraphics\undefined%
|
|
|
|
\framebox(120,120)[c]{Title page logo}%
|
|
|
|
\else%
|
|
|
|
\includegraphics{\@titlepagelogo}%
|
|
|
|
\fi%
|
|
|
|
\fi%
|
|
|
|
\immediate\closein0%
|
|
|
|
\end{center}%
|
|
|
|
\end{figure}%
|
|
|
|
\end{titlepage}%
|
|
|
|
\global \let \title \relax %
|
|
|
|
\global \let \author \relax %
|
|
|
|
\global \let \and \relax%
|
|
|
|
}
|
|
|
|
|
|
|
|
\newcommand{\dedicationfont}[1]{\gdef\@dedicationfont{#1}}
|
|
|
|
\newcommand{\@dedicationfont}{\textit}
|
|
|
|
\newcommand{\dedication}[1]{%
|
|
|
|
\cleardoublepage%
|
|
|
|
\vspace*{\stretch{3}}%
|
|
|
|
\begin{flushright}%
|
|
|
|
{\@dedicationfont\Large\selectfont\emph{#1}}%
|
|
|
|
\end{flushright}%
|
|
|
|
\vspace*{\stretch{1}}%
|
|
|
|
}
|
|
|
|
|
|
|
|
\providecommand{\abstracthead}{}
|
|
|
|
\providecommand{\abstractfoot}{}
|
|
|
|
\providecommand{\abstractsection}{\vskip\baselineskip\noindent\textbf{Abstract}\par\noindent\ignorespaces}
|
|
|
|
\providecommand{\abstractpreamble}{\clearpage\thispagestyle{empty}}
|
|
|
|
\providecommand{\abstractfont}{\fontsize{9}{11}\fontshape{rm}\selectfont}
|
|
|
|
|
|
|
|
\newenvironment{abstract}{%
|
|
|
|
\abstractfont\abstractpreamble %
|
|
|
|
\abstracthead%
|
|
|
|
\abstractsection %
|
|
|
|
}{%
|
|
|
|
\abstractfoot%
|
|
|
|
}
|
|
|
|
|
|
|
|
\providecommand{\abstractdummy}[1]{\gdef\@abstractdummy{#1}}
|
|
|
|
\abstractdummy{\clearpage\vspace*{\stretch{1}}\hfill Abstract Dummy Page. \hfill\vspace*{\stretch{1}}\clearpage}
|
|
|
|
|
|
|
|
\newcommand{\frontmatterCS}{\maketitle\@abstractdummy}
|
|
|
|
|
|
|
|
\AtEndDocument{
|
|
|
|
\pagecount{\the\c@page}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Index
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
\newcommand{\UU@theindex}{
|
|
|
|
\clearpage%
|
|
|
|
\if@twocolumn%
|
|
|
|
\@restonecolfalse %
|
|
|
|
\else %
|
|
|
|
\@restonecoltrue %
|
|
|
|
\fi %
|
|
|
|
\twocolumn%
|
|
|
|
\chapter{\indexname}%
|
|
|
|
\parindent\z@%
|
|
|
|
\parskip\z@ \@plus .3\p@ %
|
|
|
|
\relax %
|
|
|
|
\columnseprule \z@ %
|
|
|
|
\columnsep 35\p@ %
|
|
|
|
\let \item \@idxitem %
|
|
|
|
}%
|
|
|
|
|
|
|
|
\AtBeginDocument{%
|
|
|
|
\let\theindex\UU@theindex%
|
|
|
|
\@ifpackageloaded{makeidx}{%
|
|
|
|
\renewcommand{\printindex}{\@input {\jobname .ind}}%
|
|
|
|
}{}%
|
|
|
|
\@ifpackageloaded{multind}{%
|
|
|
|
\renewcommand{\printindex}[2]{%
|
|
|
|
{%
|
|
|
|
\def\indexname{#2}%
|
|
|
|
\@input{#1.ind}%
|
|
|
|
}%
|
|
|
|
}%
|
|
|
|
}{}%
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% ============================================
|
|
|
|
% Compability and short-hands
|
|
|
|
% ============================================
|
|
|
|
|
|
|
|
\newenvironment{definitionlist}[1][]{
|
|
|
|
\@afterindenttrue\par\parindent -1em\advance\leftskip-\parindent\renewcommand{\item}[1]{\par{\it #1 ##1} -- \ignorespaces}
|
|
|
|
}{\par}
|
|
|
|
|
|
|
|
\newenvironment{definitionlist-indent}[1][]{
|
|
|
|
\leftskip 1cm\begin{definitionlist}[#1]
|
|
|
|
}{\end{definitionlist}}
|
|
|
|
|
|
|
|
\newcommand{\code}[1]{{\small\texttt{#1}}}
|
|
|
|
\newcommand\listheading[1]{%
|
|
|
|
\if@noskipsec\leavevmode\fi %
|
|
|
|
\par\@tempskipa 13pt \@plus 2pt \@minus 3pt\relax\@afterindentfalse%
|
|
|
|
\if@nobreak%
|
|
|
|
\everypar{}%
|
|
|
|
\else%
|
|
|
|
\addpenalty\@secpenalty\addvspace\@tempskipa%
|
|
|
|
\fi%
|
|
|
|
\noindent\textit{#1}%
|
|
|
|
}
|