Questa repository é un template Github per documenti di tesi di laurea triennale standard provvisti dall'Universitá degli Studi di Trento. Tutti i file appartenenti a questo progetto sono originariamente disponibili sul sito InfoStudenti, ma sono stati modificati e modernizzati estensivamente.
Il numero massimo di facciate é 30. Sono inclusi nel conteggio:
- indice
- sommario
- capitoli
E sono esclusi:
- frontespizio
- ringraziamenti
- allegati
Nessun software specifico é necessario per utilizzare questa repository su Linux o MacOS, mentre su Windows occorre installare Git Bash (che dovrebbe essere già installato in ogni caso per clonare questa repository).
Si consiglia Visual Studio Code o VSCodium per lavorare sui file. Alcune impostazioni dell'editor e integrazioni sono incluse in questa repository.
La struttura di questa repository può essere riassunta come segue:
📁 bin # Eseguibili necessari
📁 build # Output dei PDF
📂 src # Codice sorgente
📂 chapters # Capitoli
📂 figures # Grafiche e immagini
📂 sections # Macrosezioni del documento
📘 index.tex # Corpo principale del testo
📘 config.tex # Configurazione di librerie
📘 _preamble.tex # Definisce l'inizio del documento
📘 _postamble.tex # Definisce bibliografia e allegati
📚 biblio.bib # File di specifica della bibliografia
📄 make # Script di compilazione
⚙️ Tectonic.toml # Backend service configuration file
Spiegazione approfondita:
bin
: gli eseguibili necessari al progetto vengono scaricati in questa cartella dallo script di compilazione (ad esempio Tectonic)build
: i file PDF compilati e altri file temporanei (log del compilatore etc.) vengono generati in questa cartellasrc
: contiene codice sorgente e in generale, file usati per creare il documento finalechapters
: contiene i vari capitoli e altri file di contenuti testuali del documentofigures
: contiene file di contenuti grafici (immagini, grafiche vettoriali, etc.)sections
: contiene la struttura delle macrosezioni del documento, come definite nel template originale fornito dall'Università. Generalmente non necessita di modificheindex.tex
: contiene la definizione del corpo principale del testo. Ogni capitolo da inserire nel documento finale va incluso/importato in questo fileconfig.tex
: contiene altre librerie definite dall'utente e la relativa configurazione. Viene automaticamente importato da_preamble.tex
e compilato nel PDF finale_preamble.tex
(non necessita di modifiche): questo file importa le librerie LaTeX necessarie, aggiunge la pagina iniziale, i ringraziamenti (opzionali) e l'indice. Chiama\begin{document}
_postamble.tex
(non necessita di modifiche): questo file aggiunge bibliografia e allegati. Chiama\end{document}
make
: script di compilazione e varie utility per gestire il progetto (ad esempio scaricare Tectonic, creare le cartelle ed eseguire comandi) creato con makeshTectonic.toml
: file di configurazione per Tectonic (vedi documentazione ufficiale). Generalmente non necessita di modifiche
Sono riportate di seguito alcune procedure comuni per aggiungere contenuti al documento.
Aggiungere un nuovo capitolo
- Creare un file LaTeX nella cartella
chapters
(ad esempiocapitolo4.tex
) - Importare il file in
index.tex
(ad esempio con\input{chapters/capitolo4.tex}
)
Inserire un'immagine, grafica o figura
Per attivare TikZ,
pgfplots
o altre librerie basta definirle inconfig.tex
- Grafica LaTeX:
- Grafica vettoriale o SVG: vedi articolo "How to include an SVG image in LaTeX"
- PDF (vedi anche documentazione della libreria
graphicx
in inglese o italiano):- Inserire il file nella cartella
figures
(ad esempioimage.pdf
) - Importare il file usando
graphicx
, che é già incluso e attivo nel progetto (ad esempio con\includegraphics{figures/image.pdf}
)
- Inserire il file nella cartella
- Immagine raster (PNG, JPEG, etc.): uguale a PDF usando
graphicx
In generale per graphicx
si consiglia di avvolgere \includegraphics
in un blocco LaTeX per le figure, per controllarne il posizionamento rispetto al testo (vedi documentazione per altri esempi):
\begin{figure}[h]
\centering
\includegraphics[height = 0.3, width = 0.6]{figures/image.pdf}
\end{figure}
Aggiungere un riferimento alla bibliografia
Occorre solo modificare il file biblio.bib
(la bibliografia viene generata automaticamente). Vedi documentazione per altri esempi e specifica del file.
Ad esempio data la bibliografia:
@article{donoho,
author = {Donoho D. L.},
title = {Compressed Sensing},
journal = {IEEE Trans. Inf. Theory},
volume = {52},
number = {4},
pages = {1289-1306},
year = {2006}
}
é possibile inserire una citazione nel testo con il comando \cite
:
\cite{donoho}
Occorre innanzitutto creare una repository personale usando questa come template (vedi documentazione di Github). La repository personale può quindi essere clonata in locale tramite Git (Git Bash su Windows), ad esempio:
$ git clone --recursive https://github.com/username/repository
Aprendo la cartella del progetto con Visual Studio Code, alcune estensioni vengono raccomandate per una migliore esperienza di sviluppo/scrittura. É fortemente consigliato installarle.
É possibile entrare in una modalità di compilazione continua, che rigenera il PDF ogni volta che un file viene modificato e salvato, tramite uno dei seguenti metodi:
- usare il pulsante " 👁 Sviluppo" nella barra nel lato inferiore della finestra
- eseguire la task "Sviluppo PDF" manualmente da Visual Studio Code
- eseguire
./make watch
nel terminale integrato nell'editor
Per compilare singolarmente il progetto in un file PDF é possibile:
- usare il pulsante " ▷ Compila" nella barra nel lato inferiore della finestra
- eseguire la task "Genera PDF" manualmente da Visual Studio Code
- eseguire
./make
nel terminale integrato nell'editor
Tectonic non supporta immagini EPS
Questo comportamento é voluto dagli autori di Tectonic (vedi issue su Github). Si consiglia in ogni caso di utilizzare strumenti più moderni, descritti nella sezione "Editing del testo".
É possibile comunque convertire immagini da EPS a PDF usando i seguenti parametri per il programma GhostScript:
-sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dEPSCrop -o immagine.pdf immagine.eps
oppure importandole in programmi di grafica vettoriale come Inkscape ed esportando come PDF/Latex.
Package titlesec Error: Entered in horizontal mode.
Il pacchetto titlesec
potrebbe dare errore di layout solo con alcuni font alternativi se non viene utilizzato il comando \include*
(della libreria newclude
) per importare i file.
\include*{chapters/capitolo1}
\include*{chapters/capitolo2}
\include*{chapters/capitolo3}
In alternativa, dopo ogni \include{chapters/...}
deve essere inserita una riga vuota, nella seguente maniera:
\input{chapters/capitolo1}
\input{chapters/capitolo2}
\input{chapters/capitolo3}