Pandoc
Pandoc è un convertitore di documenti. Può convertire da un numero di formati di markup diversi a molti altri formati, come .doc
, .pdf
ecc.
Pandoc è uno strumento da riga di comando senza GUI. È un software indipendente, separato da R. Tuttavia, viene fornito in bundle con R Studio perché rmarkdown
si basa su di esso per la conversione dei documenti.
Pandoc non solo converte i documenti, ma aggiunge anche funzionalità al linguaggio di markdown di base per consentirgli di supportare output più complessi.
R Markdown
R Markdown si basa sul markdown:
Markdown (linguaggio di markup)
Markdown è un linguaggio di markup leggero con sintassi di formattazione del testo semplice progettato in modo che possa essere convertito in HTML e molti altri formati. Un file markdown è un file di testo normale a cui in genere viene assegnata l'estensione .md
.
Come altri linguaggi di markup come HTML e Latex, è completamente indipendente da R.
Non esiste uno standard Markdown chiaramente definito. Ciò ha portato alla frammentazione poiché diversi fornitori scrivono le proprie varianti del linguaggio per correggere i difetti o aggiungere funzionalità mancanti.
Markdown (pacchetto R)
markdown
è un pacchetto R che converte i .Rmd
file in HTML. È il predecessore di rmarkdown
, che offre molte più funzionalità. Non è più consigliato per l'uso.
R Markdown (linguaggio di markup)
R Markdown è un'estensione della sintassi del markdown. I file R Markdown sono file di testo normale che in genere hanno l'estensione file .Rmd
. Sono scritti utilizzando un'estensione della sintassi markdown che consente di incorporare il codice R in un modo che può essere eseguito successivamente.
Poiché si prevede che vengano elaborati dal rmarkdown
pacchetto, è possibile utilizzare la sintassi markdown Pandoc come parte di un file markdown R. Questa è un'estensione della sintassi originale del markdown che fornisce funzionalità aggiuntive come HTML / Latex non elaborato e tabelle.
R Markdown (pacchetto)
Il pacchetto R rmarkdown
è una libreria che elabora e converte i .Rmd
file in un numero di formati diversi.
La funzione principale è rmarkdown::render
che si trova sulle spalle di Pandoc . Questa funzione esegue il rendering del file di input nel formato di output specificato utilizzando pandoc. Se l'input richiede il lavoro a maglia, knitr::knit
viene chiamato prima di pandoc.
Lo scopo del pacchetto RMarkdown è semplicemente quello di fornire impostazioni predefinite ragionevolmente buone e un'interfaccia R-friendly per personalizzare le opzioni Pandoc. .
I metadati YAML visualizzati nella parte superiore dei file RMarkdown servono specificamente per passare le opzioni rmarkdown::render
, per guidare il processo di compilazione.
Nota che RMarkdown si occupa solo della sintassi del markdown. Se vuoi convertire un file .Rhtml
o .Rnw
, dovresti usare le comode funzioni integrate in Knitr
, come knitr::knit2html
eknitr:knit2pdf
Knitr
Knitr prende un documento di testo semplice con codice incorporato, esegue il codice e "unisce" i risultati nel documento.
Ad esempio, converte
La funzione principale è knitr::knit
e per impostazione predefinita questo esaminerà il documento di input e proverà a indovinare di che tipo è: Rnw, Rmd ecc.
Questa funzione principale svolge tre ruoli: - Un parser sorgente, che esamina il documento di input e rileva quali parti sono codice che l'utente desidera essere valutato. - Un analizzatore di codice, che valuta questo codice - Un renderizzatore di output, che riscrive i risultati della valutazione nel documento in un formato che è interpretabile dal tipo di output grezzo. Ad esempio, se il file di input è un .Rmd
, il rendering dell'output contrassegna l'output della valutazione del codice in .md
formato.
Conversione tra formati di documenti
Knitr non converte tra i formati di documento, come la conversione di un file .md
in un file .html
. Tuttavia, fornisce alcune funzioni utili per aiutarti a utilizzare altre librerie per farlo. Se stai usando il rmarkdown
pacchetto, dovresti ignorare questa funzionalità perché è stata sostituita da rmarkdown::render
.
Un esempio è knitr:knit2pdf
che: 'Knit il documento di input Rnw o Rrst e compilare in PDF usando texi2pdf o rst2pdf'.
Una potenziale fonte di confusione è knitr::knit2html
, che "è una comoda funzione per collegare la sorgente di markdown di input e chiamare markdown::markdownToHTML
per convertire il risultato in HTML". Questa è ora una funzionalità legacy perché il markdown
pacchetto è stato sostituito dal rmarkdown
pacchetto. Vedi questa nota .
Bookdown
Il pacchetto bookdown si basa su R Markdown ed eredita la semplicità della sintassi Markdown, così come la possibilità di più tipi di formati di output (PDF / HTML / Word /…).
Offre funzionalità come output HTML multipagina, numerazione e riferimenti incrociati di figure / tabelle / sezioni / equazioni, inserimento di parti / appendici e importato lo stile GitBook ( https://www.gitbook.com ) per creare HTML elegante e accattivante pagine del libro.