Skip to content

Commit abb40e6

Browse files
- The \glox and \gloxspacing commands have been removed
- The glossary and acronyms entries and usage have been improved - The code handling and management have been enhanced - Minor enhancements and improvements
1 parent 1373d0c commit abb40e6

File tree

10 files changed

+87
-44
lines changed

10 files changed

+87
-44
lines changed

README.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ Rispetto alla versione originale, sono state apportate alcune modifiche, tra cui
3434

3535
Qui puoi vedere un esempio del [PDF generato](res/thesis_template.pdf).
3636

37+
> [!NOTE]
38+
> Se devi stampare la tesi, assicurati di rimuovere il colore dal documento decommentando la riga `\hypersetup{draft}` in `config/thesis_config.tex`, in modo da rimuovere i link e il colore dai riferimenti.
39+
3740
## Utilizzo
3841

3942
Dopo aver scaricato la repo, nel percorso [```thesis/files```](https://github.com/giovannifil-64/unipd-thesis-template/tree/main/thesis/files) troverete i file in LaTeX della tesi. Per copiarla su Overleaf va compressa la cartella ```files``` e caricare il file ```.zip``` ottenuto.
@@ -46,11 +49,16 @@ Dopo aver scaricato la repo, nel percorso [```thesis/files```](https://github.co
4649
4750
> [!NOTE]
4851
>
49-
> - Per far apparire il Glossario e la lista degli Acronimi e abbreviazioni occorre citare almeno un termine con ```\gls{termineg}``` (dove ```g``` è una convenzione interna). Questo farà apparire il termine in forma estesa, ad esempio ```\gls{sdkg}``` apparirà come "_Software Development Kit_".
50-
> - Per far anche apparire la sigla, occorre utilizzare ```\gls{termine}```, quindi non con la ```g```. Ad esempio ```\gls{sdk}``` apparirà come "_Software Development Kit (SDK)_".
51-
> - Per inserire una g a pedice, occorre utilizzare ```\gls{termineg}\glox```, in questo modo apparirà come "_Software Development Kit<sub>g</sub>_".
52-
> In caso vi sia la presenza di un carattere dopo la g, come un punto o una virgola, occorre utilizzare ```\gls{termineg}\glox\gloxspacing```, in questo modo vi sarà il giusto spazio tra la g a pedice e il carattere.
53-
> - Per inserire un termine nel Glossario, bisogna aggiungere la voce nel file ```references/glossary_acronyms.tex```, seguendo la struttura già presente.
52+
> - Per far apparire il Glossario e la lista degli Acronimi e abbreviazioni occorre citare almeno un termine all'interno del documento. Per farlo si può utilizzare la sintassi ```\gls{termine}```.
53+
> Ad esempio:
54+
> ```latex
55+
> Lorem \gls{sdkg} ispum dolor
56+
> ```
57+
> il termine apparirà come "_Software Development Kit (SDK)<sub>G</sub>_".
58+
> Nei successivi utilizzi, il termine apparirà come "_Software Development Kit<sub>G</sub>_".
59+
> se invece si vuole che il termine appaia sempre con la sigla, si può utilizzare la sintassi ```\gls{sdkg}``` (l'utilizzo di g è una convenzione per indicare che il termine è un acronimo).
60+
> Per inserire un termine nel Glossario, bisogna aggiungere la voce nel file ```references/glossary_acronyms.tex```, seguendo la struttura già presente.
61+
>
5462
> In caso di dubbi, si può consultare il Capitolo 7 di questo template, che mostra alcuni esempi di utilizzo.
5563
5664
### latexmk
@@ -61,7 +69,7 @@ Successivamente, è possibile compilare il documento tramite il comando `latexmk
6169
6270
## PDF/A
6371
64-
Il template è predisposto per la generazione di un file PDF/A-1A. Per le immagini si raccomanda di usare **sempre** un file _jpeg_, in modo da non avere problemi con la trasparenza per la validazione.
72+
Il template è predisposto per la generazione di un file PDF/A-1A. Per le immagini si raccomanda di usare **sempre** un file _jpeg_ o _jpg_, in modo da non avere problemi con la trasparenza per la validazione.
6573
6674
Al momento sono presenti due warning:
6775

res/thesis_template.pdf

2.1 KB
Binary file not shown.

thesis/README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ Il template è strutturato nel seguente modo:
1414
│   ├── 2_processes.tex
1515
│ └── ...
1616
17+
├── code/
18+
│   ├── example.py
19+
│ └── ...
20+
1721
├── config/
1822
│   ├── packages.tex
1923
│   ├── thesis_config.tex
@@ -42,6 +46,7 @@ Questi sono i documenti più importanti:
4246
- `bibliografia.tex`: la struttura automatica della bibliografia. Non è necessario modificare nulla qui
4347
- `glossary_entries.tex:` dove si inseriscono le definizioni del glossario, seguendo la sintassi dei termini di esempio.
4448
- `webliography.bib`: dove si inserisce il contenuto effettivo della sitografia. In genere si tratta di link a siti web, articoli online, ecc. È possibile utilizzare lo stesso file di bibliografia, ma è consigliabile tenerli separati per una maggiore chiarezza. Se non si ha bisogno di una sitografia, è rimuovere il riferimento a questo file in `thesis.tex`
49+
- `code/`: contiene tutti i file di codice che si vogliono includere nella tesi. Si possono importare direttamente nel documento con `\inputminted{python}{code/example.py}`.
4550
- `config/`
4651
- `variables.tex`: è il primo file da consultare.
4752
Definisce tutte le variabili che verranno utilizzate per riempire automaticamente alcuni contenuti del documento, come il titolo, il vostro nome, il vostro professore, ecc.
@@ -66,7 +71,7 @@ Vi si trovano già alcuni capitoli di esempio, che hanno lo scopo di mostrare co
6671
Utilizzate nomi di file che riflettano il contenuto del capitolo, evitando di chiamarli `capitolo-03.tex`.
6772

6873
> [!IMPORTANT]
69-
> Quando si creano, si cancellano o si modificano file, è necessario modificarne il riferimento dentro `thesis.tex` per riflettere i cambiamenti.
74+
> Quando si creano, si cancellano o si modificano file dei capitoli, è necessario aggiornare il file `thesis.tex` per includere i nuovi file o rimuovere i vecchi.
7075
7176
- `latexmkrc`: file di configurazione per latexmk, lo strumento usato per compilare il documento. Non dovrebbe essere necessario modificare nulla qui.
7277
- `output.xmpdata`: Contiene i metadati della tesi, come titolo, autore, parole chiave ecc. Dovete modificarlo in base alla vostra tesi, non accetta le variabili definite in `config/variables.tex`.

thesis/files/chapters/1_introduction.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ \section{Organizzazione del testo}
4545
Riguardo la stesura del testo, relativamente al documento sono state adottate le seguenti convenzioni tipografiche:
4646
\begin{itemize}
4747
\item gli acronimi, le abbreviazioni e i termini ambigui o di uso non comune menzionati vengono definiti nel glossario, situato alla fine del presente documento;
48-
\item per la prima occorrenza dei termini riportati nel glossario viene utilizzata la seguente nomenclatura: \textit{parola}\glox\gloxspacing;
48+
\item per la prima occorrenza dei termini riportati nel glossario viene utilizzata la seguente nomenclatura: \gls{apig};
4949
\item i termini in lingua straniera o facenti parti del gergo tecnico sono evidenziati con il carattere \textit{corsivo}.
5050
\end{itemize}
5151

thesis/files/chapters/6_verify_validate.tex

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,10 @@ \chapter{Verifica e validazione}
1010

1111
\lipsum[1-2]
1212

13+
% Esempio di come importare un file contenente codice
1314
Lorem ipsum:
1415
\begin{listing}[H]
15-
\begin{minted}{python}
16-
def recur_fibo(n):
17-
if n <= 1:
18-
return n
19-
else:
20-
return(recur_fibo(n-1) + recur_fibo(n-2))
21-
nterms = 10
22-
if nterms <= 0:
23-
print("Plese enter a positive integer")
24-
else:
25-
print("Fibonacci sequence:")
26-
for i in range(nterms):
27-
print(recur_fibo(i))
28-
\end{minted}
16+
\inputminted{python}{code/example.py}
2917
\caption{Fibonacci recursive}
3018
\label{listing:py_fibo}
3119
\end{listing}

thesis/files/chapters/7_conclusions.tex

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,33 @@ \chapter{Conclusioni}
22
\label{chap:conclusioni}
33

44
\section{Consuntivo finale}
5-
Ipsum
5+
Esempio di aggiunta di un termine con glossario e acronimo:\\
6+
Lorem \gls{sdk} ispum dolor.
7+
8+
Nel successivo utilizzo, apparirà solo l'acronimo:\\
9+
Lorem \gls{sdk}.
10+
11+
Nel caso si voglia invece mettere solo il termine per esteso, si può usare:\\
12+
Lorem \gls{sdkg}.
613

714
\section{Raggiungimento degli obiettivi}
8-
Sit amet
15+
Esempio di termine con solo acronimo\\
16+
Lorem \gls{tsa}, ipsum dolor sit amet
17+
18+
termine costruito senza acronimo:
19+
Lorem \gls{TermineSenzaAcronimo}, ipsum dolor sit amet
920

1021
\section{Conoscenze acquisite}
22+
Lorem Ipsum dolor Lorem \gls{api}
1123

12-
For applying a subscripting G:\\
13-
Lorem \gls{sdkg}\glox ispum dolor.\\
14-
If the G is followed by a punctuation, such as a "." like in this example, you need to use \textit{gloxspacing}\\
15-
Lorem \gls{sdk}\glox\gloxspacing.\\
16-
Otherwise...\\
17-
Lorem \gls{sdkg}\glox.\\
18-
The "." is not placed in the correct place.\\
19-
Lorem Ipsum dolor \gls{sdkg}\glox\gloxspacing, sit amet.\\
20-
Lorem \gls{apig}
24+
Lorem Ipsum dolor Lorem \gls{apig}
25+
26+
Si può consultare il file \textit{glossary\_acronyms.tex} per alcuni esempi.
2127

2228
\section{Valutazione personale}
23-
Lorem \gls{umlg}\glox\gloxspacing, ipsum dolor sit amet
29+
2430

2531
\section{Valutazione personale}
26-
Lorem Ipsum dolor Lorem \gls{sdk}
32+
2733

2834
\newpage

thesis/files/code/example.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
def recur_fibo(n):
2+
if n <= 1:
3+
return n
4+
else:
5+
return(recur_fibo(n-1) + recur_fibo(n-2))
6+
nterms = 10
7+
if nterms <= 0:
8+
print("Plese enter a positive integer")
9+
else:
10+
print("Fibonacci sequence:")
11+
for i in range(nterms):
12+
print(recur_fibo(i))

thesis/files/config/packages.tex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@
3030
\usepackage{lipsum}
3131
\usepackage{setspace}
3232
\usepackage{titlesec}
33-
\usepackage{minted} % https://it.overleaf.com/learn/latex/Code_Highlighting_with_minted
33+
\usepackage[cachedir=minted-caches]{minted} % https://it.overleaf.com/learn/latex/Code_Highlighting_with_minted
3434
\usepackage{xcolor}
3535
\usepackage{csquotes} % gestisce automaticamente i caratteri (")
3636
\usepackage{etoolbox}
3737
\usepackage[bottom]{footmisc}
38+
\usepackage{zref-totpages}

thesis/files/config/thesis_config.tex

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,16 @@
55
% Define custom colors
66
\definecolor{hyperColor}{HTML}{0B3EE3}
77
\definecolor{tableGray}{HTML}{F5F5F7}
8+
\definecolor{veryPeri}{HTML}{6667ab}
89

910
% Set line height
1011
\linespread{1.5}
1112

1213
% Custom hyphenation rules
1314
\hyphenation {
14-
e-sem-pio
15-
ex-am-ple
15+
data-base
16+
al-go-rithms
17+
soft-ware
1618
}
1719

1820
% Images path
@@ -29,10 +31,7 @@
2931
\addtolength{\topmargin}{-2.45pt}
3032

3133
% Add a subscript G to a glossary entry
32-
\newcommand{\glox}{\textsubscript{\textbf{\textit{G }}}}
33-
34-
% If the subscript G is followed by a punctuation character, or anything else, you need to use \gloxspacing to prevent rendering issues, where the characters collide. Example in Chapter 7
35-
\newcommand{\gloxspacing}{\hspace{-0.3em}}
34+
\newcommand{\glox}{\textsubscript{\textbf{\textit{G}}}}
3635

3736
% Improvements the paragraph command
3837
\titleformat{\paragraph}
@@ -96,13 +95,25 @@
9695
\endgroup
9796
}
9897

98+
% Adds a blank page while increasing the page number
99+
\newcommand\blankpagewithnumber{
100+
\clearpage
101+
\thispagestyle{plain} % Use plain page style to keep the page number
102+
\null
103+
\clearpage
104+
}
105+
99106
% Increase page numbering
100107
\newcommand\increasepagenumbering{
101108
\addtocounter{page}{+1}
102109
}
103110

104111
% Make glossaries and bibliography
105112
\makeglossaries
113+
% Redefine the format for the glossary entries to be italic
114+
\renewcommand*{\glstextformat}[1]{\textit{#1}\glox}
115+
%\glsaddall
116+
106117
\bibliography{references/bibliography}
107118
\defbibheading{bibliography} {
108119
\cleardoublepage
@@ -155,4 +166,15 @@
155166
font=small,
156167
format=hang,
157168
labelfont=bf
158-
}
169+
}
170+
171+
% When draft mode is on, the hyperlinks are removed. Useful when printing the document. To enable/disable, uncomment/comment the command
172+
% \hypersetup{draft}
173+
174+
% prevents cleaning up the cache at the end of the run (needed to keep the unused caches, generated by other editions)
175+
\makeatletter
176+
\renewcommand*{\minted@cleancache}{}
177+
\makeatother
178+
179+
% Break lines in code blocks whe using inputminted
180+
\setminted{breaklines}

thesis/files/references/glossary_acronyms.tex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22
\newacronym{api}{API}{Application Program Interface}
33
\newacronym{sdk}{SDK}{Software Development Kit}
44
\newacronym{uml}{UML}{Unified Modeling Language}
5+
\newacronym{tsa}{TSA}{Termine solo acronimo}
56

67
% Glossary
78
\newglossaryentry{apig}{
89
name={API},
910
text={Application Program Interface},
1011
sort=api,
11-
description={In computer science, an API is a set of procedures available to programmers, typically grouped to form a toolkit for a specific task within a program. Its purpose is to provide an abstraction, usually between hardware and the programmer or between low-level and high-level software, simplifying the programming process}
12+
description={In informatics, an API is a set of procedures available to programmers, typically grouped to form a toolkit for a specific task within a program. Its purpose is to provide an abstraction, usually between hardware and the programmer or between low-level and high-level software, simplifying the programming process}
1213
}
1314

1415
\newglossaryentry{sdkg}{

0 commit comments

Comments
 (0)