Add real files (no links)

Signed-off-by: Riccardo Finotello <riccardo.finotello@gmail.com>
This commit is contained in:
2020-08-31 10:26:36 +02:00
parent 4c6756bf74
commit 2565b24263
7 changed files with 530 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
name: Compile LaTeX Thesis name: Build PDFLaTeX
on: [push] on: [push]
jobs: jobs:
build_latex: build_latex:
@@ -10,3 +10,14 @@ jobs:
uses: xu-cheng/latex-action@v2 uses: xu-cheng/latex-action@v2
with: with:
root_file: thesis.tex root_file: thesis.tex
- name: Upload PDF file
uses: actions/upload-artifact@v2
with:
name: thesis
path: thesis.pdf
- name: Download PDF file
uses: actions/download-artifact@v2
with:
name: thesis

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "latex-commons"]
path = latex-commons
url = git@github.com:thesfinox/latex-commons.git

View File

@@ -1,5 +1,7 @@
# Ph.D. Thesis # Ph.D. Thesis
![Build PDFLaTeX](https://github.com/thesfinox/phd-thesis/workflows/Build%20PDFLaTeX/badge.svg)
This project contains the LaTeX code of my Ph.D. defence thesis. This project contains the LaTeX code of my Ph.D. defence thesis.
The LaTeX file compiles using PDFLaTeX as backend. The LaTeX file compiles using PDFLaTeX as backend.

View File

@@ -1 +0,0 @@
latex-commons/packages/debug.sty

21
debug.sty Normal file
View File

@@ -0,0 +1,21 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{debug}[2020/06/10 Debug package]
\RequirePackage{xparse} %----------- improved \newcommand
\RequirePackage{marginnote} %------- use margin note in floats
\RequirePackage[usenames,
dvipsnames,
svgnames,
table]{xcolor} %---- provide colours
\ProcessOptions\relax
\newcounter{draftcommentcnt}
\NewDocumentCommand{\draftcomment}{s O{red} m}{%
\def\margnote{\IfBooleanTF{#1}{\marginnote}{\marginpar}}%
\stepcounter{draftcommentcnt}%
\textcolor{#2}{#3}%
\margnote{\textcolor{#2}{$\Leftarrow$ \arabic{draftcommentcnt}}}%
}
% vim: ft=tex

Submodule latex-commons deleted from 71c71c0e05

View File

@@ -1 +0,0 @@
latex-commons/packages/sciencestuff.sty

249
sciencestuff.sty Normal file
View File

@@ -0,0 +1,249 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{sciencestuff}[2020/04/08 Science related stuff]
\RequirePackage{amsmath} %--------------------- math mode
\RequirePackage{amssymb} %--------------------- math symbols
\RequirePackage{amsfonts} %-------------------- math fonts
\RequirePackage{mathtools} %------------------- mathematical tools
\RequirePackage{mathrsfs} %-------------------- better cal
\RequirePackage{slashed} %--------------------- slashed characters
\RequirePackage{tensor} %---------------------- write tensors
\RequirePackage{listings} %-------------------- code sections
\RequirePackage[amsmath,
hyperref,
framed]{ntheorem} %------------ improved theorem envoronment
\RequirePackage{dsfont} %---------------------- improved math set symbols
\RequirePackage{upgreek} %--------------------- better Greek alphabet
\RequirePackage{physics} %--------------------- full physics-related commands
\RequirePackage{siunitx} %--------------------- SI units formatting
\RequirePackage{graphicx} %-------------------- images and figures
\RequirePackage{ifthen} %---------------------- conditionals
\RequirePackage[sort&compress,
english]{cleveref} %----------- nicer citations and references
\RequirePackage[compat=1.1.0]{tikz-feynman} %-- Feynman diagrams
\ProcessOptions\relax
%---- prepare packages
\tikzfeynmanset{/tikzfeynman/warn luatex=false}
\lstset{%
language=Python,
tabsize=4,
morecomment=[l]{\#},
basicstyle=\ttfamily\small,
showstringspaces=false,
captionpos=b,
breaklines=true
}
\lstset{escapeinside={(*@}{@*)}}
\lstdefinestyle{boxed}{frame=single, numbers=left}
%---- numbering (number equations, figures and tables within section)
\numberwithin{equation}{section}
\numberwithin{figure}{section}
\numberwithin{table}{section}
%---- remap greek letters
\renewcommand{\alpha}{\upalpha}
\renewcommand{\beta}{\upbeta}
\renewcommand{\gamma}{\upgamma}
\renewcommand{\delta}{\updelta}
\renewcommand{\epsilon}{\upepsilon}
\renewcommand{\zeta}{\upzeta}
\renewcommand{\eta}{\upeta}
\renewcommand{\theta}{\uptheta}
\renewcommand{\iota}{\upiota}
\renewcommand{\kappa}{\upkappa}
\renewcommand{\lambda}{\uplambda}
\renewcommand{\mu}{\upmu}
\renewcommand{\nu}{\upnu}
\renewcommand{\xi}{\upxi}
\renewcommand{\pi}{\uppi}
\renewcommand{\rho}{\uprho}
\renewcommand{\sigma}{\upsigma}
\renewcommand{\tau}{\uptau}
\renewcommand{\upsilon}{\upupsilon}
\renewcommand{\phi}{\upphi}
\renewcommand{\chi}{\upchi}
\renewcommand{\psi}{\uppsi}
\renewcommand{\omega}{\upomega}
\renewcommand{\varepsilon}{\upvarepsilon}
\renewcommand{\vartheta}{\upvartheta}
\renewcommand{\varpi}{\upvarpi}
\renewcommand{\varphi}{\upvarphi}
\renewcommand{\Gamma}{\Upgamma}
\renewcommand{\Delta}{\Updelta}
\renewcommand{\Theta}{\Uptheta}
\renewcommand{\Lambda}{\Uplambda}
\renewcommand{\Xi}{\Upxi}
\renewcommand{\Pi}{\Uppi}
\renewcommand{\Sigma}{\Upsigma}
\renewcommand{\Upsilon}{\Upupsilon}
\renewcommand{\Phi}{\Upphi}
\renewcommand{\Psi}{\Uppsi}
\renewcommand{\Omega}{\Upomega}
%---- numerical sets
\providecommand{\1}{\ensuremath{\mathds{1}}}
\providecommand{\N}{\ensuremath{\mathds{N}}}
\providecommand{\Q}{\ensuremath{\mathds{Q}}}
\providecommand{\R}{\ensuremath{\mathds{R}}}
\providecommand{\Z}{\ensuremath{\mathds{Z}}}
\providecommand{\C}{\ensuremath{\mathds{C}}}
%---- calligraphic letters
\providecommand{\cA}{\ensuremath{\mathcal{A}}}
\providecommand{\cB}{\ensuremath{\mathcal{B}}}
\providecommand{\cC}{\ensuremath{\mathcal{C}}}
\providecommand{\cD}{\ensuremath{\mathcal{D}}}
\providecommand{\cE}{\ensuremath{\mathcal{E}}}
\providecommand{\cF}{\ensuremath{\mathcal{F}}}
\providecommand{\cG}{\ensuremath{\mathcal{G}}}
\providecommand{\cH}{\ensuremath{\mathcal{H}}}
\providecommand{\cI}{\ensuremath{\mathcal{I}}}
\providecommand{\cJ}{\ensuremath{\mathcal{J}}}
\providecommand{\cK}{\ensuremath{\mathcal{K}}}
\providecommand{\cL}{\ensuremath{\mathcal{L}}}
\providecommand{\cM}{\ensuremath{\mathcal{M}}}
\providecommand{\cN}{\ensuremath{\mathcal{N}}}
\providecommand{\cO}{\ensuremath{\mathcal{O}}}
\providecommand{\cP}{\ensuremath{\mathcal{P}}}
\providecommand{\cQ}{\ensuremath{\mathcal{Q}}}
\providecommand{\cR}{\ensuremath{\mathcal{R}}}
\providecommand{\cS}{\ensuremath{\mathcal{S}}}
\providecommand{\cT}{\ensuremath{\mathcal{T}}}
\providecommand{\cU}{\ensuremath{\mathcal{U}}}
\providecommand{\cV}{\ensuremath{\mathcal{V}}}
\providecommand{\cW}{\ensuremath{\mathcal{W}}}
\providecommand{\cX}{\ensuremath{\mathcal{X}}}
\providecommand{\cY}{\ensuremath{\mathcal{Y}}}
\providecommand{\cZ}{\ensuremath{\mathcal{Z}}}
\providecommand{\ccA}{\ensuremath{\mathscr{A}}}
\providecommand{\ccB}{\ensuremath{\mathscr{B}}}
\providecommand{\ccC}{\ensuremath{\mathscr{C}}}
\providecommand{\ccD}{\ensuremath{\mathscr{D}}}
\providecommand{\ccE}{\ensuremath{\mathscr{E}}}
\providecommand{\ccF}{\ensuremath{\mathscr{F}}}
\providecommand{\ccG}{\ensuremath{\mathscr{G}}}
\providecommand{\ccH}{\ensuremath{\mathscr{H}}}
\providecommand{\ccI}{\ensuremath{\mathscr{I}}}
\providecommand{\ccJ}{\ensuremath{\mathscr{J}}}
\providecommand{\ccK}{\ensuremath{\mathscr{K}}}
\providecommand{\ccL}{\ensuremath{\mathscr{L}}}
\providecommand{\ccM}{\ensuremath{\mathscr{M}}}
\providecommand{\ccN}{\ensuremath{\mathscr{N}}}
\providecommand{\ccO}{\ensuremath{\mathscr{O}}}
\providecommand{\ccP}{\ensuremath{\mathscr{P}}}
\providecommand{\ccQ}{\ensuremath{\mathscr{Q}}}
\providecommand{\ccR}{\ensuremath{\mathscr{R}}}
\providecommand{\ccS}{\ensuremath{\mathscr{S}}}
\providecommand{\ccT}{\ensuremath{\mathscr{T}}}
\providecommand{\ccU}{\ensuremath{\mathscr{U}}}
\providecommand{\ccV}{\ensuremath{\mathscr{V}}}
\providecommand{\ccW}{\ensuremath{\mathscr{W}}}
\providecommand{\ccX}{\ensuremath{\mathscr{X}}}
\providecommand{\ccY}{\ensuremath{\mathscr{Y}}}
\providecommand{\ccZ}{\ensuremath{\mathscr{Z}}}
%---- roman letters
\providecommand{\rA}{\ensuremath{\mathrm{A}}}
\providecommand{\rB}{\ensuremath{\mathrm{B}}}
\providecommand{\rC}{\ensuremath{\mathrm{C}}}
\providecommand{\rD}{\ensuremath{\mathrm{D}}}
\providecommand{\rE}{\ensuremath{\mathrm{E}}}
\providecommand{\rF}{\ensuremath{\mathrm{F}}}
\providecommand{\rG}{\ensuremath{\mathrm{G}}}
\providecommand{\rH}{\ensuremath{\mathrm{H}}}
\providecommand{\rI}{\ensuremath{\mathrm{I}}}
\providecommand{\rJ}{\ensuremath{\mathrm{J}}}
\providecommand{\rK}{\ensuremath{\mathrm{K}}}
\providecommand{\rL}{\ensuremath{\mathrm{L}}}
\providecommand{\rM}{\ensuremath{\mathrm{M}}}
\providecommand{\rN}{\ensuremath{\mathrm{N}}}
\providecommand{\rO}{\ensuremath{\mathrm{O}}}
\providecommand{\rP}{\ensuremath{\mathrm{P}}}
\providecommand{\rQ}{\ensuremath{\mathrm{Q}}}
\providecommand{\rR}{\ensuremath{\mathrm{R}}}
\providecommand{\rS}{\ensuremath{\mathrm{S}}}
\providecommand{\rT}{\ensuremath{\mathrm{T}}}
\providecommand{\rU}{\ensuremath{\mathrm{U}}}
\providecommand{\rV}{\ensuremath{\mathrm{V}}}
\providecommand{\rW}{\ensuremath{\mathrm{W}}}
\providecommand{\rX}{\ensuremath{\mathrm{X}}}
\providecommand{\rY}{\ensuremath{\mathrm{Y}}}
\providecommand{\rZ}{\ensuremath{\mathrm{Z}}}
%---- frak letters
\providecommand{\fA}{\ensuremath{\mathfrak{A}}}
\providecommand{\fB}{\ensuremath{\mathfrak{B}}}
\providecommand{\fC}{\ensuremath{\mathfrak{C}}}
\providecommand{\fD}{\ensuremath{\mathfrak{D}}}
\providecommand{\fE}{\ensuremath{\mathfrak{E}}}
\providecommand{\fF}{\ensuremath{\mathfrak{F}}}
\providecommand{\fG}{\ensuremath{\mathfrak{G}}}
\providecommand{\fH}{\ensuremath{\mathfrak{H}}}
\providecommand{\fI}{\ensuremath{\mathfrak{I}}}
\providecommand{\fJ}{\ensuremath{\mathfrak{J}}}
\providecommand{\fK}{\ensuremath{\mathfrak{K}}}
\providecommand{\fL}{\ensuremath{\mathfrak{L}}}
\providecommand{\fM}{\ensuremath{\mathfrak{M}}}
\providecommand{\fN}{\ensuremath{\mathfrak{N}}}
\providecommand{\fO}{\ensuremath{\mathfrak{O}}}
\providecommand{\fP}{\ensuremath{\mathfrak{P}}}
\providecommand{\fQ}{\ensuremath{\mathfrak{Q}}}
\providecommand{\fR}{\ensuremath{\mathfrak{R}}}
\providecommand{\fS}{\ensuremath{\mathfrak{S}}}
\providecommand{\fT}{\ensuremath{\mathfrak{T}}}
\providecommand{\fU}{\ensuremath{\mathfrak{U}}}
\providecommand{\fV}{\ensuremath{\mathfrak{V}}}
\providecommand{\fW}{\ensuremath{\mathfrak{W}}}
\providecommand{\fX}{\ensuremath{\mathfrak{X}}}
\providecommand{\fY}{\ensuremath{\mathfrak{Y}}}
\providecommand{\fZ}{\ensuremath{\mathfrak{Z}}}
%---- groups
\providecommand{\O}[1]{\ensuremath{\mathrm{O}(#1)}}
\providecommand{\SO}[1]{\ensuremath{\mathrm{SO}(#1)}}
\providecommand{\U}[1]{\ensuremath{\mathrm{U}(#1)}}
\providecommand{\SU}[1]{\ensuremath{\mathrm{SU}(#1)}}
\providecommand{\SL}[2]{\ensuremath{\mathrm{SL}_{#1}(#2)}}
\providecommand{\GL}[2]{\ensuremath{\mathrm{GL}_{#1}(#2)}}
%---- inline partial derivatives (use $\ipd{s}$ for $\partial_s$)
\providecommand{\ipd}[1]{\partial_{#1}}
%---- metric (use $\dss[n]{s}$ for $\mathrm{d}s^n$, [n] is optional)
\providecommand{\dss}[2][1]{\ifthenelse{\equal{#1}{1}}
{\dd{#2}}
{\dd{#2^{#1}}}
}
%---- integrals, sums and products
\providecommand{\zeroinfint}[1]{\int\limits_0^{+\infty} \dd{#1}}
\providecommand{\infzeroint}[1]{\int\limits_{-\infty}^0 \dd{#1}}
\providecommand{\infinfint}[1]{\int\limits_{-\infty}^{+\infty} \dd{#1}}
\providecommand{\finiteint}[3]{\int\limits_{#2}^{#3} \dd{#1}}
\providecommand{\zeroinfsum}[1]{\sum\limits_{#1 = 0}^{+\infty}}
\providecommand{\infzerosum}[1]{\sum\limits_{#1 = -\infty}^0}
\providecommand{\infinfsum}[1]{\sum\limits_{#1 = -\infty}^{+\infty}}
\providecommand{\finitesum}[3]{\sum\limits_{#1 = #2}^{#3}}
\providecommand{\zeroinfprod}[1]{\prod\limits_{#1 = 0}^{+\infty}}
\providecommand{\infzeroprod}[1]{\prod\limits_{#1 = -\infty}^0}
\providecommand{\infinfprod}[1]{\prod\limits_{#1 = -\infty}^{+\infty}}
\providecommand{\finiteprod}[3]{\prod\limits_{#1 = #2}^{#3}}
% vim: ft=tex

View File

@@ -1 +0,0 @@
latex-commons/classes/thesis.cls

246
thesis.cls Normal file
View File

@@ -0,0 +1,246 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{thesis}[2020/06/10 Book style thesis]
\LoadClass{article}
%---- packages
\RequirePackage{textcomp} %--------------------- companion fonts
\RequirePackage[utf8]{inputenc} %--------------- support for UTF-8 characters
\RequirePackage[T1]{fontenc} %------------------ main fonts for pdfLaTeX
\RequirePackage{lmodern} %---------------------- better fonts
\RequirePackage{textcomp} %--------------------- companion fonts
\RequirePackage{geometry} %--------------------- manipulate page geometry
\RequirePackage{graphicx} %--------------------- pictures and figures
\RequirePackage{subcaption} %------------------- better captioning and subfigures
\RequirePackage{caption} %---------------------- better captions
\RequirePackage{enumitem} %--------------------- better item in enumerations
\RequirePackage{float} %------------------------ manage floating objects
\RequirePackage{xspace} %----------------------- insert correct space
\RequirePackage{xparse} %----------------------- improved \newcommand
\RequirePackage[multiple]{footmisc} %----------- better footer
\RequirePackage{marginnote} %------------------- use margin note in floats
\RequirePackage{booktabs} %--------------------- nice tables
\RequirePackage{makecell} %--------------------- custom cells in tabular
\RequirePackage{multicol} %--------------------- multi-column environment
\RequirePackage{multirow} %--------------------- multi-row environment
\RequirePackage{framed} %----------------------- better frames
\RequirePackage{mdframed} %--------------------- better frames
\RequirePackage{hyperref} %--------------------- load hyperref
\RequirePackage[all]{hypcap} %------------------ adjust anchor of captions
\RequirePackage[usenames,
dvipsnames,
svgnames,
table]{xcolor} %---------------- colours
\RequirePackage{fancyhdr} %--------------------- fancy layout
\RequirePackage{authblk} %---------------------- manage multiple authors
\RequirePackage{setspace} %--------------------- set custom spacing
\RequirePackage{titlesec} %--------------------- custom title section
\RequirePackage{changepage} %------------------- change page layout
\RequirePackage{lastpage} %--------------------- reference to last page
\RequirePackage[type={CC},
modifier={by-nc-nd},
version={4.0}]{doclicense} %- licence
\RequirePackage[nottoc]{tocbibind} %------------ put bibliography in TOC
\RequirePackage[backend=biber,
citestyle=numeric-comp,
sorting=none,
sortcites=true,
style=ieee,
maxnames=3]{biblatex} %--------- bibliography backend
\RequirePackage{bookmark} %--------------------- hyperref and links
%---- pass options to class
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
%---- end options
\ProcessOptions\relax
%---- numbers and style
\pagenumbering{arabic}
\pagestyle{fancy}
\titleformat{\part}
[display]
{\centering\normalfont\Huge\scshape}
{\vfill
\partname~\thepart}
{0pt}
{\vspace{3pt}
\Huge
}
%---- space
\newlength{\blockskip}
\setlength\blockskip{1em}
\newlength{\sepwidth}
\setlength\sepwidth{1pt}
\setlength\parskip{1em}
%---- metadata
\makeatletter
\providecommand*{\author}[1]{\def\@author{#1}}
\providecommand*{\title}[1]{\def\@title{#1}}
\providecommand*{\advisor}[1]{\def\@advisor{#1}}
\providecommand*{\institution}[1]{\def\@institution{#1}}
\providecommand*{\school}[1]{\def\@school{#1}}
\providecommand*{\specialisation}[1]{\def\@specialisation{#1}}
\providecommand*{\logo}[1]{\def\@logo{#1}}
\providecommand{\theauthor}{\@author}
\providecommand{\thetitle}{\@title}
\providecommand{\theadvisor}{\@advisor}
\providecommand{\theinstitution}{\@institution}
\providecommand{\thespecialisation}{\@specialisation}
\providecommand{\theschool}{\@school}
\providecommand{\thelogo}{\@logo}
\makeatother
\hypersetup
{%
pdftitle={\thetitle},
pdfsubject={Thesis},
pdfauthor={\theauthor},
pdfkeywords={thesis, graduation, doctoral, phd},
pdfstartview={FitH},
pdfcreator={XeLaTeX},
pdfproducer={XeLaTeX},
pdflang={en-GB},
pdfpagemode={UseOutlines},
bookmarksopen={true},
bookmarksnumbered={true},
hidelinks,
linktocpage,
colorlinks={true},
linkcolor={blue},
urlcolor={blue},
filecolor={blue},
runcolor={blue},
menucolor={blue},
citecolor={red}
}
%---- titlepage
\newcommand{\maketitlepage}
{%
\thispagestyle{empty}
\begin{center}
{\Large \theinstitution} \\
{\Large \bf \theschool} \\
\end{center}
\hrulefill
\vspace{4\blockskip}
\begin{center}
\includegraphics[width=\textwidth]{\thelogo}
\end{center}
\vfill
{\Large \bf \thetitle}
\vspace{4\blockskip}
{\Large \bf \theauthor}
}
\newcommand{\makefrontespice}
{%
\thispagestyle{plain}
\begin{center}
{\Large \theinstitution} \\
{\Large \bf \theschool} \\
\end{center}
\hrulefill
\begin{center}
{\Large \bf \thespecialisation}
\end{center}
\vspace{8\blockskip}
\begin{center}
{\Large \bf \thetitle}
\end{center}
\vfill
{\Large \bf \theauthor}
\vspace{4\blockskip}
{\Large \bf Advisor: \theadvisor}
}
\newcommand{\cleardoubleplainpage}
{%
\clearpage{\thispagestyle{plain}\cleardoublepage}
}
\newcommand{\plaintoc}
{%
\thispagestyle{plain}
\renewcommand*{\contentsname}{\Huge Table of Contents}
\tableofcontents
\cleardoubleplainpage{}
}
%---- abstract
\newenvironment{abstractpage}
{%
\thispagestyle{plain}
\noindent {\Large \sc Abstract} \\
\rule{0.99\textwidth}{\sepwidth}
}
{%
\vfill
}
%---- acknowledgements
\newenvironment{acknowledgmentspage}
{%
\thispagestyle{plain}
\noindent {\Large \sc Acknowledgements} \\
\rule{0.99\textwidth}{\sepwidth}
}
{%
\vspace{\parskip}
\raggedleft\theauthor
\vfill
}
%---- part and sections
\newcommand{\thesispart}[1]
{%
\cleardoubleplainpage{}
\thispagestyle{plain}
\part{#1}
\vfill
\cleardoubleplainpage{}
}
\newcommand{\outline}[1]
{%
\thispagestyle{plain}
\section*{#1}
\addcontentsline{toc}{section}{#1}
}
% vim: ft=tex