% tipo di documento
\documentclass[a4paper, twoside, openright]{report}
% codifica caratteri
\usepackage[utf8]{inputenc}
% encoding del testo
\usepackage[T1]{fontenc}
% dimensione dei margini
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=3cm,right=3cm]{geometry}
% dimensione del font
\usepackage[fontsize=12pt]{scrextend}
% lingua del testo
\usepackage[english,italian]{babel}
% lingua per la bibliografia
\usepackage[fixlanguage]{babelbib}
% package per generare testo fittizio. Potrebbe essere
% utile nel controllare quanto un capitolo potrebbe essere
% grande e quindi quanto occupa nella pagina
\usepackage{lipsum}
% per ruotare le immagini
\usepackage{rotating}
% per modificare l'header delle pagine
\usepackage{fancyhdr}
% per allineare in modo giustificato
\usepackage{ragged2e}
\justifying
% uso delle immagini
\usepackage{graphicx}
\usepackage{float}
% uso dei colori
\usepackage[dvipsnames, table]{xcolor}
% uso dei listing per il codice
\usepackage{listings}
% per inserire gli hyperlinks tra i vari elementi del testo
\usepackage[colorlinks=true, allcolors=black]{hyperref}
% diversi tipi di sottolineature
\usepackage[normalem]{ulem}
% package e comando per creare pagine vuote
\usepackage{afterpage}
\newcommand\blankpage{%
\null
\thispagestyle{empty}%
\addtocounter{page}{-1}%
\newpage
}
% package per creare comandi personalizzati
\usepackage{xpatch}
% package helper per le liste puntate
\usepackage{enumitem}
% package per l'utilizzo dei colori
% package per l'highlighting del codice
\usepackage{minted}
% package per gestire le caption
\usepackage{caption}
\usepackage{subcaption}
% per gestire tabelle su più pagine
\usepackage{longtable}
% per combinare le righe di una tabella
\usepackage{multirow}
% per creare i tree di directory
\usepackage{dirtree}
% per le icone a fianco dei titoli di sezione
\usepackage{etoolbox}
\newcommand{\icon}[1]{\includegraphics[height=12pt]{#1}}
\robustify{\icon}
% -----------------------------------------------------------------
% Modifica lo stile dell'header
\pagestyle{fancy}
\fancyhf{}
\lhead{\rightmark}
\rhead{\textbf{\thepage}}
\fancyfoot{}
\setlength{\headheight}{15pt}
% Rimuove il numero di pagina all'inizio dei capitoli
\fancypagestyle{plain}{
\fancyfoot{}
\fancyhead{}
\renewcommand{\headrulewidth}{0pt}
}
% comandi per cambiare temporaneamente la lingua
% abstract in inglese, al fine di cambiarne il titolo
\xpretocmd{\abstract}{\selectlanguage{english}}{}{}
\xapptocmd{\endabstract}{\selectlanguage{italian}}{}{}
% formattazione e highlight del codice
\usemintedstyle{manni}
\setminted[typescript]{
framesep=2mm,
baselinestretch=1.2,
fontsize=\ttfamily\footnotesize,
linenos
}
% rimozione del prefix per le tabelle
\captionsetup[table]{labelformat=empty}
% environment per impostare il codice in piu' pagine
\newenvironment{code}{\captionsetup{type=listing}}{}
% -----------------------------------------------------------------
\begin{document}
\include{contents/TitlePage}
\afterpage{\blankpage}
\include{contents/CoolQuote}
\afterpage{\blankpage}
\include{contents/Abstract}
\afterpage{\blankpage}
\include{contents/ResponsabilityDeclaration}
\tableofcontents
\include{contents/SampleChapter}
\bibliographystyle{plain}
\bibliography{Bibliography}
\afterpage{\blankpage}
\include{contents/Thanks}
\end{document}
% -----------------------------------------------------------------