Easy peasy ๐ squeezy:
RMarkdown
Easy peasy ๐ squeezy:
RMarkdown
Come prima cosa, appare questo:
--- title: "Esempio di File di testo" author: "Ottavia M. Epifania" date: "5/3/2022" output: html_document ---
Questo รจ lโheader YAML ed รจ dove andiamo a definire il tipo di file che vogliamo, il titolo, lโautore, la data.
Per compilare il file si puรฒ premere sul tasto knit oppure si puรฒ usare la combo di tasti shift + ctrl + k
(per chi ha il Mac shift + cmd + k
)
Siccome nel nostro header abbiamo output: html_document
(il default), il file compilato sarร un file html
Visual
Source
Create un nuovo file
Date un titolo a scelta
Cliccate “knit”!
ADAVANCED
Si puรฒ scegliere il tipo di file da compilare cambiando da output: html_document
a output: pdf_document
(Questa operazione si puรฒ svolgere anche cliccando sulla freccina accanto a knit e selezionando “Knit to PDF”)
Nel caso abbiate seguito la seconda strada, viene modificato lo YAML del file:
--- title: "Esempio di File di testo" author: "Ottavia M. Epifania" date: "5/3/2022" output: pdf_document: default html_document: default ---
Ma non preoccupatevi, รจ la stessa cosa!
Se non viene modificato troppo il default, si puรฒ saltellare tra html e pdf piรน volte!
Nello YAML andiamo ad indicare varie specifiche del nostro file (che vedremo in seguito).
Per ora, aggiungiamo un sottotitolo:
--- title: "Esempio di File di testo" subititle: "Ecco il sottotitolo" author: "Ottavia M. Epifania" date: "5/3/2022" output: pdf_document: default html_document: default ---
La data non sta molto bene: Provate a toglierla!
--- title: "Esempio di File di testo" subititle: "Ecco il sottotitolo" author: "Ottavia M. Epifania" date: "" output: pdf_document: default html_document: default ---
Sono i titoli delle sezioni, sottosezioni e dei paragrafi
# Header 1 ## Header 2 ### Header 3 #### Header 4
Titolo di una sezione
Titolo di una sottosezione
Titolo della sotto-sottosezione (seriously)
Titolo del paragrafo
# Header 1 Brividi brividi brividiiiiiii
Anche tutti gli altri header funzionano cosรฌ, ad eccezione di #### Header 4
#### Titolo di un paragrafo Testo del paragrafo molto importante
Per aggiungere i numeri delle sezioni, basta aggiungere allo YAML: number_sections: true
:
--- title: "Esempio di File" subtitle: Sottotitolo date: "5/3/2022" author: Ottavia M. Epifania output: pdf_document: number_sections: true ---
(fate attenzione allโindentazione)
Per aggiungere lโindice, bisogna modificare lo YAML, aggiungendo lโelemento toc
(Table Of Contents)
--- output: pdf_document: number_sections: true toc: true ---
con lโargomento toc_depth
si puรฒ specificare il livello di profonditร dellโindice.
Con toc_depth: 1
vengono riportati solo i titoli delle sezioni (Header 1), con toc_depth: 2
i titoli delle sezioni e sottosezioni (Header 1 e 2, default) e via discorrendo.
ADAVANCED
toc: true
)YAML:
--- output: pdf_document: number_sections: true toc: true toc_depth: 1 linestretch: 1.5 geometry: margin=1in ---
*Corsivo* **Grassetto** ***Corsetto*** \textcolor{red}{Parola colorata (PDF)} <span style="color:red">Parola colorata (HTML)</span>
Corsivo
Grassetto
Corsetto
Parola colorata (PDF)
Parola colorata (HTML)
ADAVANCED
Molto semplicemente, si fa precedere il testo da >
:
Una canzone de "La rappresentante di lista", presentata a Sanremo 2022 > Come stai bambina? Dove vai stasera? Che paura intorno ร la fine del mondo. Sopra la rovina sono una regina Ma-ma-ma Ma non so cosa salvare
Unordered list
- Chimica - Ciao Ciao - Brividi - Domenica
Ordered list
1. Brividi 2. La canzone di Elisa 3. Gianni Morandi 4. Non mi ricordo
Basta mettere tre spazi sullโelenco che si vuole annidare:
- Un elenco - Voce del secondo elenco - altra voce del secondo elenco - Seconda voce del primo elenco
Nulla di piรน semplice:
Con i piedi[^1] [^1]: ciao ciao Un sacco di testo nel mio file
[Parola](url-della-pagina) [Chimica](https://www.youtube.com/watch?v=2rsteQ4OdLE)
ADAVANCED
Markdown
style vs.ย RMarkdown
PT. IMarkdown
![Caption](percorso-alla-figura)
RMarkdown
```{r, fig.cap = "Caption", fig.align="center", out.width="50%"} knitr::include_graphics(path = "percorso-alla-figura") ```
fig.align
(cambia lโallineamento della figura), out.width
(cambia la dimensione dellโimmagine modificandone la larghezza, lโaltezza si adatta automaticamente)
Markdown
style vs.ย RMarkdown
PT. IIMarkdown
๐ Piรน immmediato
๐ Si “autoaggiusta” al file (non sempre in modo ottimale)
๐ฅน Per cambiare qualcosa bisogna ricorrere a HTML
RMarkdown
๐ Permette di cambiare comodamente posizionamento e dimensioni dellโimmagine
๐ข Richiede un poโ di scrittura in piรน
In Word o simili siamo abituati a mettere “a mano” le figure, magari anche la bibliografia \(\rightarrow\) si mette tutto nel file di testo
In RMarkdown
, le immagini, la bibliografia, gli eventuali dati e i risultati delle analisi devono essere importati allโinterno del file
Lโimportazione รจ basata sui “percorsi” (le directory) dei file.
Fondamentalmente in due modi:
Se volessi importare unโimmagine nel mio documento chiamata “immagine.png” contenuta nella cartella “vignettes” dovrei scrivere:
```{r, fig.cap = "Caption", fig.align="center", out.width="50%"} knitr::include_graphics(path = "vignettes/immagine.png") ```
(Funziona anche usando il codice ![Caption](vignettes/immagine.png)
)
img
e la cartella bibliografia
img
Markdown
, una con il codice RMarkdown
ADVANCED
output: pdf_document: keep_tex: yes number_sections: true toc: true toc_depth: 1 linestretch: 1.5 geometry: margin=1in bibliography: biblio.bib
Ecco fatto, messa la bibliografia!
Ovviamente, il file biblio.bib
va creato ex-novo.
Se si usa questo codice, la bibliografia deve essere nella stessa cartella del file che stiamo creando. Se invece รจ in una sottocarella bibliography: bibliografia/biblio.bib
.bib
.bib
รจ lโestensione del file. Sia R
sia LaTeX
riconoscono i file .bib
come file di bibliografia.
BibTex
:La citazione risulta essere:
``` @article{epifania2021implicit, title={Implicit social cognition through the years: The Implicit Association Test at age 21.}, author={Epifania, Ottavia M and Anselmi, Pasquale and Robusto, Egidio}, journal={Psychology of Consciousness: Theory, Research, and Practice}, year={2021}, doi={https://doi.org/10.1037/cns0000305}, publisher={Educational Publishing Foundation} } ```
La copiaincolliamo in un documento vuoto (il blocco note va benissimo)
Salviamo il documento con un nome a scelta (e.g., biblio
) ma soprattutto ricordando lโestensione .bib
โ epifania2021implicit
รจ la “chiave” che ci permette di citare lโarticolo nel testo
In fondo al file # Bibiografia
.bib
che contenga questi due articoli su Google Scholar:
bibliografia
creata in precedenzaADVANCED
Le equazioni vengono risconosciute dal simbolo $
.
Inline equation
$3 +2 =5$
risulta in \(3+2=5\), sulla stessa riga del testo che si sta scrivendo
Equation
Per scrivere le equazioni come blocchi di testo a parte, si usa il doppio dollaro. $$3 +2 =5$$
diventa \[3+2=5\] (anche se lo scrivo sulla stessa riga!)
Per inserire le lettere greche, basta scrivere la lettera greca che si desidera in caratteri latini allโinterno dei dollari, preceduta da \
.
Piรน semplicente, se vogliamo \(\delta\), non dobbiamo far altro che scrivere $\delta$
Se si vogliono le lettere greche maiuscolo, si mette in maiuscolo la prima lettera latina, per cui $\Delta$
risulta in \(\Delta\)
$\frac{num}{den}$
permette di scrivere le frazioni ($\frac{2}{3}$
\(\rightarrow\) \(\frac{2}{3}\))
$\sqrt{numero}$
รจ la radice quadrata ($\sqrt{4}$
\(\rightarrow\) \(\sqrt{4}\))
A questa pagina trovate una lista esaustiva dei simboli matematici
Con RMarkdown
base (quello che stiamo usando noi), si puรฒ usando LaTeX
bookdown
ci permette di fare cross-references alle equazioni, alle figure (generate da codice) e alle tabelle:
install.packages("bookdown")
E modifichiamo lโoutput nello YAML in:
output: bookdown::pdf_document2: keep_tex: yes number_sections: yes toc: yes toc_depth: [...]
Il comando nel testo:
Nella breve lezione su LaTeX vedremo come usare al meglio e soprattutto in modo flessibile le cross-references
La tabella deve essere generata dal codice di R
Unfortunately, stargazer
e bookdown
non si parlano. A questa pagina discutono di come integrare i due pacchetti ma non funziona
Usiamo kable
:
```{r cars-table} knitr::kable(mtcars[1:5, ], caption = "Questo รจ un dataset") ```
Per richiamare nel testo \@ref(tab:cars-table)
.
Funziona solo con la funzione base plot
:
```{r speed-dist, fig.cap="Grafico mpg-cilindrata"} par(mar = c(4, 4, .2, .1)) plot(mtcars$mpg ~ mtcars$cyl) # a boxplot ```
Per richiamrla nel testo \@ref(fig:speed-dist)
Molto semplicemente:
\begin{equation} \bar{X} = \frac{\sum_{i=1}^n X_i}{n} (\#eq:media) \end{equation}
Per richiamarla nel testo \@ref(eq:mean)