Giter VIP home page Giter VIP logo

unibo-tesi-template's Introduction

Unibo Tesi

Build Status Commitizen friendly made-with-latex made-for-VSCode License

Template LaTeX per una tesi per l'Università di Bologna, Dipartimento di Informatica - Scienza e Ingegneria.

Tutorial

Utilizzare il bottone Use this template per generare un nuovo repository per realizzare la propria tesi di laurea.

Use this template explaination

Per l'utilizzo, si consiglia di utilizzare una versione recente di TeXLive (2018+), di MikTeX o di MacTeX (non testato) e di avere installato un Java Runtime Environment con versione compresa tra 5 e 10 (testato OpenJDK 8).

Inoltre, si consiglia di installare Python 3.x e il pacchetto pygments per permettere l'evidenziazione del codice.

Vedere la sezione Dettagli tecnici per ulteriori dettagli.

Consigli

Linguaggio

  • Evitare sempre commenti non oggettivi/superficiali/informali (o sono supportati da citazioni o non si mettono). Ad esempio: banale, semplice, facile, difficile, molto, troppo, poco, impossibile.
  • Concisione: Non scrivere frasi più lunghe di due righe.
  • Evitare l'abuso di grassetto e corsivo.
  • il corsivo è per l'enfasi, di conseguenza si consiglia di utilizzarlo per evidenziare una parola. Usare \emph{} anziché \textit{}: \emph{} capisce da solo come mettere in evidenza in modo diverso in casi diversi (non sempre in corsivo).
  • il grassetto è per una maggiore enfasi e, nella maggior parte dei casi, dovrebbe essere evitato. Nel caso si intenda utilizzarlo, usare \strong{} anziché \textbf{}.

Inglesismi

  • Se le tesi è in italiano è bene scrivere in italiano e limitare l'uso dell'inglese il più possibile.
  • Usa un termine inglese se questo si ripete ma spiegalo una sola volta.
  • Un acronimo in inglese rimane in inglese.
  • La prima volta in assoluto che il termine compare scrivilo in corsivo.

Capitoli, Sezioni e Paragrafi

  • La classe è di tipo libro e, come tale, ha una gerarchia di questo tipo:
    1. \frontmatter, \mainmatter e \backmatter (per distinguere le numerazioni)
    2. \chapter
    3. \section
    4. \subsection
    5. \subsubsection
  • Usare i riferimenti di Latex e le label per fare riferimento a capitoli/sezioni/sottosezioni/immagini:
    • \Cref{} capisce automaticamente che tipo di cosa si sta riferendo, aggiungendola prima del numero.
    • \Vref{} aggiunge anche la pagina oltre al tipo.
    • Non usare il vecchio \ref{} specificando a mano cosa è cosa.
    • Usare Cref e Vref e non le varianti minuscole cref e vref.
    • Quando si descrive un argomento è bene averlo già introdotto: se non indispensabili, evitare dunque le forword reference (riferimento a capitoli/sezioni/sottosezioni che appaiono dopo essere referenziati).
  • Non creare sezioni con singola sottosezione, o capitoli con un singola sezione.
  • C'è differenza tra . e . a capo: . a capo si usa per cambiare discorso.
  • Evitare di disperdere le informazioni: definizione, dettagli e implicazioni stanno nello stesso paragrafo.

Citazioni

  • Non citare Wikipedia, ma sfruttarla insieme a Google Scholar per trovare le citazioni a paper/libri.
  • Non copiare testi troppo lunghi, è meglio riassumerli ed elaborarli.
  • Non copiare traduzioni troppo lunghe, è meglio riassumerle ed elaborarle.
  • Esplicita la parte di testo copiata inserendola tra virgolette e aggiungi la citazione finale.
    • il pacchetto csquotes offre alcuni comandi utili per virgolettare il testo.
    • usa \cite{} per citare il riferimento dalla bibliografia e usa ~ invece dello spazio per mantenerla sulla stessa riga del testo citato.

Figure

  • Se una figura è copiata/rielaborata indica la sorgente.
  • Utilizzare figure in formato vettoriale: PostScript (.eps), PDF, SVG.
  • in caso di screenshot, attenzione alle dimensioni (in MB) della figura.

Punteggiatura, elenchi e coerenza

  • No punti nei titoli.
  • Non E' ma È (È = Alt + 0200 su Windows, tastiera italiana).
  • Elenchi puntati iniziano con Maiuscola, finiscono con ; o con . (l'importante è usare la stessa convenzione).
    • Di solito si usa ; per terminare frasi di senso non compiuto, e . per terminare frasi di senso compiuto.
  • No ..., sì "etc.".
  • È vietato riprodurre il logo dell'Ateneo di Bologna su qualunque parte dell'elaborato;
  • il file non dovrà superare i 30Mb;
  • pagine di 32-35 righe, ciascuna di 65-70 caratteri di tipo prestabilito (Times New Roman, Arial, Courier o Helvetica);
  • lunghezza dell’elaborato compresa fra le 50.000 e le 100.000 battute (spazi inclusi);
  • corpo del testo di 12 o 13 punti (le note vanno in corpo 10);
  • margini destro-sinistro e superiore-inferiore di 2,5 cm;
  • interlinea 1,5 cm;
  • frontespizio conforme al fac-simile;
  • figure e tavole in formato UNI (A4 e A3);
  • il file deve essere nominato nel modo: cognome_nome_tesi;
  • formato PDF.

Dettagli tecnici

Il template è pensato per essere usato con il motore LuaLaTeX e non il "tradizionale" pdfLaTeX che ho già utilizzato in passato anche nella mia tesi di laurea triennale.

Inoltre, per semplificare il processo di sviluppo del documento, si intende supportare arara come build tool e VisualStudio Code come ambiente di lavoro, grazie all'ausilio del plugin LaTeX Workshop. Il template risulta comunque compilabile anche manualmente o su Overleaf; importante è utilizzare il motore LuaLaTeX (o al limite XeLaTeX, ma non pdfLaTeX!).

Il template utilizza la classe scrbook (alternativa della collezione KOMA-script della classe book) e definisce una dimensione del testo di 12pt, con margini identici di 2,5cm e interlinea con scartamento 1,5.

Il font utilizzato è il Latin Modern OpenType in tutte le varianti.

Il PDF generato è conforme allo standard PDF/A-1b.

La bibliografia è gestita tramite backend biber e pacchetto biblatex; il database biblio.bib può essere editato a mano o con strumenti come JabRef.

Lo stile scelto per la biblografia è quello IEEE.

Riferimenti

Per la realizzazione del template sono state molto utili, oltre a questi ultimi anni di utilizzo di LaTeX per la stesura di numerosi documenti, le guide fornite dal GuIT.

In particolare, segnalo:

Licenza

Il codice del documento è stato personalmente realizzato dal sottoscritto Niccolò Maltoni interpretando le norme relazionali del Dipartimento di Informatica, Scienza e Ingegneria dell'Università di Bologna pubblicate sul sito e cercando di allinearle agli standard tipografici italiani appresi con la lettura parziale del materiale linkato sopra.

Il codice realizzato è inteso come un prodotto personale indipendente dall'Università di Bologna; per quanto io intenda utilizzare questo documento per la mia tesi di laurea magistrale, in nessun modo mi ritengo responsabile della produzione di documenti non validi a un utilizzo ufficiale di qualsiasi tipo tramite l'impiego di questo template.

Il codice è fornito sotto licenza Apache License, Version 2.0 in accordo al file LICENSE incluso in questo repository.

unibo-tesi-template's People

Contributors

niccomlt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

unibo-tesi-template's Issues

Consider improvements from Giovanni Ciatto's template

Giovanni Ciatto is mantaining a thesis template similar to this one on GitHub at gciatto-unibo/thesis-template.

Consider including some useful ideas from his project:

  • move away template logic from main.tex to a .sty file (like thesis-style.sty);
  • include chapters that are usually present directly in template:
    • Abstract
    • Introduction
    • State of the Art
    • Design
    • Implementation
    • Validation
    • Conclusions
  • document each chapter a little;
  • introduce better the integrations with PlantUML diagrams and listings/minted code listings.
  • consider if his frontspiece front.tex is better than the standard one generate by frontespizio package.

Don't use KOMA-script book with fancyhdr

Class scrbook Warning: Usage of package `fancyhdr' together
(scrbook)              with a KOMA-Script class is not recommended.
(scrbook)              I'd suggest to use 
(scrbook)              package `scrlayer' or `scrlayer-scrpage', because
(scrbook)              they support KOMA-Script classes.
(scrbook)              With `fancyhdr' several features of class `scrbook'
(scrbook)              like options `headsepline', `footsepline' or command
(scrbook)              `\MakeMarkcase' and the commands `\setkomafont' and
(scrbook)              `\addtokomafont' for the page style elements need
(scrbook)              explicite user intervention to work.
(scrbook)              Nevertheless, using requested
(scrbook)              package `fancyhdr' on input line 128.

Encourage usage of \emph, \strong and \enquotes

As suggested in many typesetting guides, semantic specifications should be used instead of styling ones.

So, as documented for example on StackExchange, encourage the usage of:

  • \emph in place of \textit;
  • \strong in place of \textbf;
  • \enquotes in place of using the quotation marks.

These commands bring semantic meaning with them and should be preferred to simply mark something as bold or italic.

Don't use KOMA-script book with tocbibind

Class scrbook Warning: Usage of package `tocbibind' together
(scrbook)              with a KOMA-Script class is not recommended.
(scrbook)              I'd suggest to use options like `listof=totoc'
(scrbook)              or `bibliography=totoc', or commands like
(scrbook)              `\setuptoc{toc}{totoc}' instead of this package,
(scrbook)              because it breaks several KOMA-Script features of
(scrbook)              the list of figures, list of tables, bibliography,
(scrbook)              index and the running head.
(scrbook)              Nevertheless, using requested
(scrbook)              package `tocbibind' on input line 164.

Float and listings packages are incompatible with KOMA-script book class

Class scrbook Warning: \float@addtolists detected!
(scrbook)              Implementation of \float@addtolist became
(scrbook)              deprecated in KOMA-Script v3.01 2008/11/14 and
(scrbook)              has been replaced by several more flexible
(scrbook)              features of package `tocbasic`.
(scrbook)              Since Version 3.12 support for deprecated
(scrbook)              \float@addtolist interface has been
(scrbook)              restricted to only some of the KOMA-Script
(scrbook)              features and been removed from others.
(scrbook)              Loading of package `scrhack' may help to
(scrbook)              avoid this warning, if you are using a
(scrbook)              a package that still implements the
(scrbook)              deprecated \float@addtolist interface .

Warning with Biblatex and Polyglossia

Package biblatex Warning: Package 'polyglossia' detected.
(biblatex)                Please note that biblatex's polyglossia
(biblatex)                interface has some rough edges.
(biblatex)                Language variants are not picked up correctly.
(biblatex)                You can disable this warning by defining the macro
(biblatex)                '\blx@nowarnpolyglossia' in the preamble.

Problem with Overleaf import

When i try to compile on Overleaf it generates this error:

Package frontespizio Warning: Missing file output-frn.pdf.

Frontespizio isn't updating

Hi, thank you a lot for this template, it's really useful but i've got a problem...
I'm trying to edit the frontespizio but i can't, i tried on visual studio and i edited it once and now i can't anymore (my repository if you want to try build it with the recipe: mega, arara isn't working with minted) and i tried to upload the file on overleaf but i get the template frontespizio and not the one i wrote (https://www.overleaf.com/read/kfdhkrrkftyz)
(The file tesi-frn.pdf is genereted correctly but seems that is not linked with tesi.pdf)
I have no clue why this isn't working anymore
Waiting for a response, good Evening

Biblatex warning with IEEE

Package biblatex Warning: File 'english-ieee.lbx' not found!
(biblatex)                Ignoring mapping 'english' -> 'english-ieee'.

Package biblatex Info: Trying to load language 'english'...
Package biblatex Info: ... file 'english.lbx' found.
(/usr/local/texlive/2018/texmf-dist/tex/latex/biblatex/lbx/english.lbx
File: english.lbx 2018/11/02 v3.12 biblatex localization (PK/MW)
)
Package biblatex Warning: File 'italian-ieee.lbx' not found!
(biblatex)                Ignoring mapping 'italian' -> 'italian-ieee'.

Package biblatex Info: Trying to load language 'italian'...
Package biblatex Info: ... file 'italian.lbx' found.
(/usr/local/texlive/2018/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
File: italian.lbx 2018/11/02 v3.12 biblatex localization (PK/MW)
) (/compile/output.aux

Introduce a way to customize page

KOMA-script classes are known to be incompatible with fancyhdr package (see #4), which seems to be the de-facto standard choice in many LaTeX guides and forum answers.
KOMA-script classes offer scrlayer to provide control of ‘background’ and ‘foreground’ layers for a page style description.

This template should let the user apply these customizations in some ways.

  1. a possible solution would be the usage of a fancyhdr-to-scrlayer adapter like scrlayer-fancyhdr; this solution seems to be still experimental right now.
  2. another solution is to use scrpage: in particular, there are two packages:
    • scrpage2, now deprecated, incorporates a set of predefined, configurable page styles and is designed to ease integration into documents using the KOMA-Script suite.
    • scrlayer-scrpage is a official package of the KOMA-script bundle that let the user define and manage page styles by controlling page headers and footers like scrpage2.

Consider adding a template for slides

Hello
I thank you very kindly for this awesome template for thesis.
It would be fantastic to also have a template for presentation that align to the same style.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.