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]
jobs:
build_latex:
@@ -10,3 +10,14 @@ jobs:
uses: xu-cheng/latex-action@v2
with:
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
![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.
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