Se usi questo template per scrivere la tua tesi, citalo!
:smiling_face_with_three_hearts: Sto correggendo refusi e sintassi per
la documentazione online, quindi
se hai suggerimenti lasciameli per favore. Il modo più facile per farlo
è annotare sulla costa sx del sito di cattolicadown
, infatti dovresti
vedere un plug-in (una piccola linguetta), si chiama hypothes, serve
appunto per annotare pagine web, lasciami un commento se puoi.
Settimanalmente li rivedo e aggiorno.
DOI
citation
@misc{niccolo_salvini_2023_7995487,
author = {Niccolò Salvini},
title = {{`cattolicadown` RMarkdown to LaTeX thesis template
for UCSC}},
month = jun,
year = 2023,
publisher = {Zenodo},
version = {1.0},
doi = {10.5281/zenodo.7995487},
url = {https://doi.org/10.5281/zenodo.7995487}
}
Un modello per scrivere una tesi dell'Università Cattolica del Sacro Cuore (per tutte le sedi) in R Markdown. Il modello utilizza il pacchetto bookdown R insieme a OxThesis LaTeX template, oltre a molte ispirazioni da thesisdown e oxforddown .
NOTA: se hai utilizzato questo modello per scrivere la tua tesi, mandami due righe al niccolo.salvini@unicatt.it cosicchè lo aggiunga qua e possa essere di esempio!
-
R packages
rmarkdown
,bookdown
,tidyverse
,kableExtra
, ehere
-
Installazione LaTeX
-
Opzione 1: Usa TinyTeX (a minimal LaTeX installation intended for use with R Markdown)
- development version di TinyTex currently required. Da R esegui
remotes::install_github('yihui/tinytex') tinytex::install_tinytex()
- Quindi installa i pacchetti LaTeX usati da
cattolicadown
(lo spazio su disco occupato da TinyTex con i pacchetti richiesti installati è di circa 280 Mb)
pacchetti_mancanti <- c( "appendix", "babel-english", "babel-greek", "babel-latin", "biber", "biblatex", "caption", "cbfonts-fd", "colortbl", "csquotes", "enumitem", "environ", "eso-pic", "fancyhdr", "greek-fontenc", "grfext", "hyphen-greek", "hyphen-latin", "lineno", "logreq", "makecell", "microtype", "minitoc", "multirow", "notoccite", "oberdiek", "pdflscape", "pdfpages", "quotchap", "soul", "tabu", "threeparttable", "threeparttablex", "titlesec", "tocbibind", "trimspaces", "ulem", "units", "utopia", "varwidth", "wrapfig", "fvextra", "xurl" ) tinytex::tlmgr_install(pacchetti_mancanti)
-
Option 2: Usa una distro casuale di LaTeX
- Mac: download ed installazione MacTeX da tug.org/mactex/ (~4 gigs)
- Windows: download ed installazione MikTex da miktex.org
-
-
Se su Mac
- Strumenti per sviluppatori da riga di comando. Se non li hai già
installati, il tuo Mac probabilmente ti chiederà automaticamente
di installarli. Altrimenti, puoi installarli aprendo un
terminale ed eseguendo
xcode-select --install
- Strumenti per sviluppatori da riga di comando. Se non li hai già
installati, il tuo Mac probabilmente ti chiederà automaticamente
di installarli. Altrimenti, puoi installarli aprendo un
terminale ed eseguendo
- clicca sul pulsante verde Use this template
- crea la tua repository della tesi (come se tu la mettessi su drive)
- successivamente apri un progetto R clonando la Repo (questo passaggio ti sarà più chiaro nella documentazione)
- apri cattolicadown.Rproj in RStudio e sei pronto a scrivere!
Leggi il capitolo
'How-to'
per comprendere lo scheletro di cattolicadown
e come fare le cose di
base come costruire la tua tesi.
Riguardo l'utilizzo di R Markdown e sintassi, e in generale in
cattolicadown
in particolare, leggere i capitoli dedicati a questo
(Nozioni di base su R
Markdown,
Citazioni, riferimenti incrociati e
collaborazione e
Tabelle).
Vedi anche le risorse generali e ufficiali di R Markdown R Markdown: The Definitive Guide e il R Markdown Cookbook.
Sto aggiornando i video tutorial - Ho notato di seguito che devono ancora essere aggiornati, ma sono ancora informativi e ho cancellato quelli che non si applicano più. Non sono a cura mia, ma sto pianificando di metterli!
- Part 1: Building the entire thesis
- Part 2: Building a single chapter
- (old but informative) Part 3: Understanding the file structure
- (old but informative) Part 4: A walk-through example of creating your thesis
Part 5: The content included in index.Rmd (or: why the introduction chapter is special)- (old but informative) Part 6: Adjusting the order of chapters
- (old but informative) Part 7: _bookdown.yml: Adjusting build settings
Part 8: Makefile: Adjusting build settings- (old but informative) Part 9: The LaTeX templates
la tesi dhe compili tramite questo strumento ha questa geometria: - margine sinitro: 4cm - margine destro: 3cm - margine basso: 3cm - margine alto: 3cm
E' "twoside", nel senso che nelle pagine dispari il margine sinitro è
4cm e il destro 3cm, nelle pari invece è il dx che è 4cm e il sx 3cm. Se
vuoi intervenire nella formattazione generale cambia il parametro a
page-layout: nobind
in index.Rmd
per margini a:
- margine sinitro: 3.1cm
- margine destro: 3.1cm
- margine basso: 2.7cm
- margine alto: 2.5cm
- aggiorna l'intestazione YAML (quella in alto tra '---') in index.Rmd con il tuo nome, scuola, ecc.
- scrivi i singoli capitoli come file .Rmd nella cartella principale (root dir)
- scrivere i preliminari i.e. prelims, tutto cioò che viene prima del della vera e propria tesi (abstract, ringraziamenti, abbreviazioni) e l'ultimo argomento (appendici) regolando i file .Rmd nella cartella front-and-back-matter/
I files .Rmd che non si desidera siano inclusi nel corpo del testo devono avere nomi di file che iniziano con un trattino basso (ad es. front-and-back-matter/_abstract.Rmd e front- e-back-matter/_acknowledgements.Rmd). (In alternativa, specifica manualmente in _bookdown.yml quali file devono essere uniti nel corpo del testo.)
- builda l'intera tesi aprendo index.Rmd e facendo clic sul pulsante 'knit'.
- I file di tesi generati vengono salvati nella cartella docs/
- Per scegliere i formati di output, vai all'inizio dell'intestazione
YAML di index.Rmd e modifica la riga
thesis_formats <- "pdf";
nel formato desiderato (le opzioni sono "pdf", "bs4", "gitbook" e "parola") - Puoi creare più formati contemporaneamente con, ad esempio,
thesis_formats <- c("pdf", "bs4", "word")
- Se vuoi personalizzare la funzione build, modifica in scripts_and_filters/knit-functions.R
knit: (function(input, ...) {
thesis_formats <- "pdf";
...
Quando crei l'intera tesi in PDF, Latex genera un intero gruppo di file ausiliari: questi vengono automaticamente rimossi al termine del processo di creazione dalla funzione di unione personalizzata che viene utilizzata quando fai knit index.Rmd.
Per modificare il modo in cui viene eseguita questa rimozione, modifica
scripts_and_filters/knit-functions.R. La riga
file.remove(list.files(pattern = "*\\.(log|mtc\\d*|maf|aux|bcf|lof|lot|out|toc)$"))
all'interno di if ( "pdf" %in% output_format){
è quello che rimuove i
files dopo la generazione dell'output PDF.
knit: (function(input, ...) {
thesis_formats <- "bs4";
...
- NOTA: l'output del libro
bs4
richiede i pacchetti R
downlit
ebslib
(installali coninstall.packages
) - NOTA: per distribuire un libro BS4 su GitHub Pages, ci deve essere
un file .nojekyll nella cartella docs/, altrimenti GitHub fa
della magia nera ottenendo che alcuni (random) percorsi di file non
funzionino. Questo file è generato automaticamente dalla funzione
knit
cattolicadown
.
knit: (function(input, ...) {
thesis_formats <- "gitbook";
...
- NOTA: per distribuire un libro Gitbook su GitHub Pages, ci deve
essere un file .nojekyll nella cartella docs/, altrimenti
GitHub fa della magia nera ottenendo che alcuni (random) percorsi di
file non funzionino. Questo file è generato automaticamente dalla
funzione knit
cattolicadown
.
knit: (function(input, ...) {
thesis_formats <- "word";
...
- Nota che l'output di Word non ha nessun template dietro e molte cose
non funzionano (ad es. rotazione dell'immagine, correzioni di
evidenziazione). Incoraggio le richieste pull che ottimizzano
l'output di Word, ad es. utilizzando gli strumenti del pacchetto
officer
.. Ti consiglio al limite di compilare in PDF e convertire in word con servizi online.
Per knit-are un singolo capitolo senza compilare l'intera tesi:
- aprire il file .Rmd di un capitolo
- aggiungi un'intestazione YAML specificando i formati di output (ad
es.
bookdown::word_document2
per un documento di Word che potresti voler caricare su Google Docs per il feedback dei collaboratori) - fare clic sul pulsante
knit
(il file di output viene quindi salvato nella cartella principale) output, ad es. utilizzando gli strumenti del pacchetto
Come mostrato nelle intestazioni YAML dei capitoli di esempio, per generare un singolo capitolo in PDF, utilizzare ad esempio:
output:
bookdown::pdf_document2:
template: templates/brief_template.tex
citation_package: biblatex
documentclass: book
bibliography: references.bib
Il file templates/brief_template.tex formatta il capitolo nello stile OxThesis ma senza includere la parte iniziale (indice, abstract, ecc.).
NOTA: Il percorso bibliografico nelle intestazioni YAML dei singoli capitoli deve essere identico a quello in index.Rmd - altrimenti il percorso bibliografico dei singoli capitoli potrebbe sovrascrivere il percorso in index.Rmd e causare problemi al knit dell'intera tesi.
- per le cose comuni che potresti voler fare nella tua tesi, leggi il contenuto di esempio
- il capitolo 'Customizzazioni ed estensioni' (contiene suggerimenti su come includere pagine PDF da una composizione pubblicata articolo nella tua tesi e molto altro!
under dev
-
non usare i trattini bassi (_) nel frontespizio di YAML o nelle etichette dei pezzi di codice. di codice! (I trattini bassi hanno un significato speciale in LaTeX, quindi è probabile che si ottenga un errore. è probabile che si verifichi un errore, cfr. https://yihui.org/en/2018/03/space-pain/)
- cattivo YAML:
bibliography: bib_final.bib
- buono YAML:
bibliography: bib-final.bib
- cattivo chunk label:
{r my_plot}
- buono chunk label:
{r my-plot}
- cattivo YAML:
- al momento solo l'output PDF e HTML è stato correttamente implementato; Potrei migliorare l'output di Word più avanti.
Enjoy!