2025-01-15 00:09:58 +01:00
|
|
|
\documentclass[12pt, oneside]{article}
|
|
|
|
|
|
|
|
|
|
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%
|
|
|
|
|
%% Load Packages %%
|
|
|
|
|
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%
|
|
|
|
|
|
|
|
|
|
\usepackage[
|
|
|
|
|
top=2cm,
|
|
|
|
|
bottom=2cm,
|
|
|
|
|
left=2cm,
|
|
|
|
|
right=2cm,
|
|
|
|
|
headheight=20pt,
|
|
|
|
|
centering
|
|
|
|
|
]{geometry}
|
|
|
|
|
\geometry{a4paper}
|
|
|
|
|
|
|
|
|
|
\usepackage[utf8]{inputenc} %% use UTF-8, maybe not needed since 2018
|
|
|
|
|
\usepackage[italian,main=english]{babel} %% language
|
|
|
|
|
|
|
|
|
|
\pagestyle{headings}
|
|
|
|
|
|
|
|
|
|
\usepackage{scrlayer-scrpage}
|
|
|
|
|
\usepackage{csquotes} %% correct language also for citations
|
|
|
|
|
|
|
|
|
|
\ifoot[]{}
|
|
|
|
|
\cfoot[]{}
|
|
|
|
|
\ofoot[\pagemark]{\pagemark}
|
|
|
|
|
\pagestyle{scrplain}
|
|
|
|
|
|
|
|
|
|
\usepackage[
|
|
|
|
|
backend=biber,
|
|
|
|
|
style=numeric,
|
|
|
|
|
sorting=ynt
|
|
|
|
|
]{biblatex} %% for citations
|
|
|
|
|
\addbibresource{document.bib}
|
|
|
|
|
|
|
|
|
|
\usepackage{import} %% specify path for import
|
|
|
|
|
|
|
|
|
|
%% math packages
|
|
|
|
|
\usepackage{graphicx} %% for pictures
|
|
|
|
|
\usepackage{float}
|
|
|
|
|
\usepackage{amssymb} %% math symbols
|
|
|
|
|
\usepackage{amsmath} %% math matrix etc
|
|
|
|
|
\usepackage{listings} %% code block
|
|
|
|
|
\usepackage{tabularray} %% better tables
|
|
|
|
|
\usepackage{booktabs} %% rules for tables
|
|
|
|
|
\usepackage{mathrsfs}
|
|
|
|
|
\usepackage{mathtools}
|
|
|
|
|
\usepackage{algorithm} %% for algorithms
|
|
|
|
|
\usepackage{algpseudocode} %% loads algorithmicx
|
|
|
|
|
\usepackage{amsthm}
|
|
|
|
|
\usepackage{thmtools} %% theorems
|
|
|
|
|
\usepackage{syntax} %% BNF
|
|
|
|
|
\usepackage{semantic} %% semantics
|
|
|
|
|
|
|
|
|
|
%% plot packages
|
|
|
|
|
\usepackage{pgfplots} %% plots used with \begin{tikzpicture}
|
|
|
|
|
\usepackage{tikz} %% for pictures
|
|
|
|
|
\usetikzlibrary{trees,chains,shadows.blur,fit}
|
|
|
|
|
\pgfplotsset{width=10cm,compat=newest}
|
|
|
|
|
|
|
|
|
|
%% design packages
|
|
|
|
|
\usepackage{enumitem} %% for lists and enumerating
|
|
|
|
|
\usepackage{color}
|
|
|
|
|
\usepackage{xcolor,colortbl} % xcolor for defining colors, colortbl for table colors
|
|
|
|
|
\usepackage{makecell} %% for multiple lines in cell of table
|
|
|
|
|
\usepackage{cancel}
|
|
|
|
|
\usepackage{pgfornament} %% ornaments
|
|
|
|
|
|
|
|
|
|
%% load last
|
2025-01-16 23:48:23 +01:00
|
|
|
\usepackage{hyperref} %% links for table of contents, load last
|
2025-01-15 00:09:58 +01:00
|
|
|
\usepackage{bookmark} %% for better table of contents
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%
|
|
|
|
|
%% Configuration of the packages %%
|
|
|
|
|
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%
|
|
|
|
|
|
|
|
|
|
%% \linespread{1}
|
|
|
|
|
\raggedbottom %% spaces if page is empty % chktex 1
|
|
|
|
|
|
|
|
|
|
%% set max table of contents recursion to subsection (3->subsubsecition)
|
|
|
|
|
\setcounter{tocdepth}{3}
|
|
|
|
|
\setcounter{secnumdepth}{3}
|
|
|
|
|
|
|
|
|
|
%% use bar instead of arrow for vectors
|
|
|
|
|
\renewcommand{\vec}[1]{\bar{#1}}
|
|
|
|
|
%% easy norm
|
|
|
|
|
\newcommand{\norm}[1]{\left\lvert#1\right\rvert}
|
|
|
|
|
|
|
|
|
|
% argmin and argmax
|
|
|
|
|
\DeclareMathOperator*{\argmax}{argmax}
|
|
|
|
|
\DeclareMathOperator*{\argmin}{argmin}
|
|
|
|
|
|
|
|
|
|
%% itemize use less vertical space (use olditemize for default behaviour)
|
|
|
|
|
\let\olditemize=\itemize%% old itemize
|
|
|
|
|
\let\endolditemize=\enditemize%% old end itemize
|
|
|
|
|
\renewenvironment{itemize}{\olditemize\itemsep-0.2em}{\endolditemize}
|
|
|
|
|
|
|
|
|
|
%% items in itemize emph+box
|
|
|
|
|
%% usage: \ieb{Class:} for simple item
|
|
|
|
|
%% \ieb[4cm]{Class:} for specific size of box
|
|
|
|
|
\newcommand{\ieb}[2][2cm]{
|
|
|
|
|
\makebox[#1][l]{\emph{#2}}
|
|
|
|
|
} %% TODO: replace with description environment (? maybe)
|
|
|
|
|
|
|
|
|
|
% less vertical space around align & align*
|
|
|
|
|
\newcommand{\zerodisplayskips}{
|
|
|
|
|
\setlength{\abovedisplayskip}{0pt}
|
|
|
|
|
\setlength{\belowdisplayskip}{0pt}
|
|
|
|
|
\setlength{\abovedisplayshortskip}{0pt}
|
|
|
|
|
\setlength{\belowdisplayshortskip}{0pt}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
% make dotfill use all the space available
|
|
|
|
|
\renewcommand{\dotfill}{
|
|
|
|
|
\leavevmode\cleaders\hbox to 1.00em{\hss .\hss }\hfill\kern0pt } % chktex 1 chktex 26
|
|
|
|
|
|
|
|
|
|
\setlength{\fboxsep}{-\fboxrule} % for debugging
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%% PACKAGE algorithm
|
|
|
|
|
\floatname{algorithm}{Algorithm}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%% PACKAGE tabularray
|
|
|
|
|
\UseTblrLibrary{amsmath}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%% PACKAGE color
|
|
|
|
|
\definecolor{red}{rgb}{1, 0.1, 0.1}
|
|
|
|
|
\definecolor{lightgreen}{rgb}{0.55, 0.87, 0.47}
|
|
|
|
|
\definecolor{gray}{rgb}{0.3, 0.3, 0.3}
|
|
|
|
|
\newcommand{\lgt}{\cellcolor{lightgreen}} %% light green in tables
|
|
|
|
|
\newcommand{\gry}{\textcolor{gray}} %% gray text
|
|
|
|
|
\newcommand{\rd}{\textcolor{red}} %% red text
|
|
|
|
|
|
|
|
|
|
%% PACKAGE minipage
|
|
|
|
|
\newcommand{\thend}[1]{\begin{center}
|
|
|
|
|
\begin{minipage}[c][1em][c]{#1}
|
|
|
|
|
\dotfill{}
|
|
|
|
|
\end{minipage}
|
|
|
|
|
\end{center}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%% PACKAGE thmtools
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%% ......................................................................... %%
|
|
|
|
|
%% local changes
|
|
|
|
|
% \setcounter{secnumdepth}{0}
|
|
|
|
|
|
|
|
|
|
\newcommand{\defeq}{\vcentcolon=}
|
|
|
|
|
|
|
|
|
|
\lstdefinelanguage{miniimp}{
|
|
|
|
|
keywords={if, then, else, skip, while, do, for, rand},
|
|
|
|
|
keywordstyle=\color{blue}\bfseries,
|
|
|
|
|
identifierstyle=\color{black},
|
|
|
|
|
sensitive=false,
|
|
|
|
|
morecomment=[s]{(*}{*)}, % chktex 9
|
|
|
|
|
commentstyle=\color{gray}\ttfamily,
|
|
|
|
|
stringstyle=\color{red}\ttfamily,
|
|
|
|
|
escapeinside={£}{£},
|
|
|
|
|
numbers=left,
|
|
|
|
|
stepnumber=1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
\lstset{
|
|
|
|
|
language=miniimp,
|
|
|
|
|
extendedchars=true,
|
|
|
|
|
basicstyle=\footnotesize\ttfamily,
|
|
|
|
|
showstringspaces=false,
|
|
|
|
|
showspaces=false,
|
|
|
|
|
tabsize=2,
|
|
|
|
|
breaklines=true,
|
|
|
|
|
showtabs=false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%
|
|
|
|
|
|
2025-01-17 00:46:51 +01:00
|
|
|
\title{
|
|
|
|
|
\normalfont\normalsize
|
|
|
|
|
\textsc{University of Pisa}\\
|
|
|
|
|
\vspace{25pt}
|
|
|
|
|
\rule{\linewidth}{0.5pt}\\
|
|
|
|
|
\vspace{20pt}
|
|
|
|
|
{\huge Languages, Compilers and Interpreters Project}\\
|
|
|
|
|
\vspace{12pt}
|
|
|
|
|
\rule{\linewidth}{2pt}\\
|
|
|
|
|
\vspace{12pt}
|
|
|
|
|
}
|
2025-01-15 00:09:58 +01:00
|
|
|
\author{
|
|
|
|
|
Elvis Rossi
|
|
|
|
|
}
|
|
|
|
|
\date{\today}
|
|
|
|
|
|
|
|
|
|
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%
|
|
|
|
|
|
|
|
|
|
\begin{document}
|
|
|
|
|
|
2025-01-17 00:46:51 +01:00
|
|
|
\maketitle
|
|
|
|
|
|
2025-01-15 00:09:58 +01:00
|
|
|
\input{report}
|
|
|
|
|
|
|
|
|
|
\end{document}
|
|
|
|
|
|
|
|
|
|
%% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %%
|
|
|
|
|
|
|
|
|
|
%%% Local Variables:
|
|
|
|
|
%%% TeX-command-extra-options: "-shell-escape"
|
|
|
|
|
%%% End:
|