Pandoc
Pandoc adalah pengubah dokumen. Itu dapat mengonversi dari sejumlah format markup yang berbeda ke banyak format lain, seperti .doc
, .pdf
dll.
Pandoc adalah alat baris perintah tanpa GUI. Ini adalah perangkat lunak independen, terpisah dari R. Namun, ini dibundel dengan R Studio karena rmarkdown
bergantung padanya untuk konversi dokumen.
Pandoc tidak hanya mengonversi dokumen, tetapi juga menambahkan fungsionalitas di atas bahasa penurunan harga dasar untuk memungkinkannya mendukung keluaran yang lebih kompleks.
R penurunan harga
R Markdown didasarkan pada penurunan harga:
Markdown (bahasa markup)
Markdown adalah bahasa markup ringan dengan sintaks pemformatan teks biasa yang dirancang agar dapat dikonversi ke HTML dan banyak format lainnya. File penurunan harga adalah file teks biasa yang biasanya diberi ekstensi .md
.
Seperti bahasa markup lainnya seperti HTML dan Latex, ini sepenuhnya independen dari R.
Tidak ada standar penurunan harga yang didefinisikan dengan jelas. Hal ini menyebabkan fragmentasi karena vendor yang berbeda menulis varian bahasa mereka sendiri untuk memperbaiki kekurangan atau menambahkan fitur yang hilang.
Penurunan harga (paket R)
markdown
adalah paket R yang mengubah .Rmd
file menjadi HTML. Ini adalah pendahulu rmarkdown
, yang menawarkan lebih banyak fungsionalitas. Ini tidak lagi direkomendasikan untuk digunakan.
R Markdown (bahasa markup)
R Markdown adalah perpanjangan dari sintaks penurunan harga. File penurunan harga adalah file teks biasa yang biasanya memiliki ekstensi file .Rmd
. Mereka ditulis menggunakan ekstensi sintaks penurunan harga yang memungkinkan kode R untuk disematkan di dalamnya dengan cara yang nantinya dapat dieksekusi.
Karena mereka diharapkan untuk diproses oleh rmarkdown
paket, dimungkinkan untuk menggunakan sintaks penurunan harga Pandoc sebagai bagian dari file penurunan harga R. Ini adalah ekstensi dari sintaks penurunan harga asli yang menyediakan fungsionalitas tambahan seperti HTML / Lateks mentah dan tabel.
R Markdown (paket)
Paket R rmarkdown
adalah pustaka yang memproses dan mengonversi .Rmd
file ke dalam beberapa format berbeda.
Fungsi intinya adalah rmarkdown::render
yang berdiri di atas bahu pandoc . Fungsi ini membuat file masukan ke format keluaran yang ditentukan menggunakan pandoc. Jika input membutuhkan rajutan maka knitr::knit
dipanggil sebelum pandoc.
Tujuan paket RMarkdown hanyalah untuk memberikan default yang cukup baik dan antarmuka R-friendly untuk menyesuaikan opsi Pandoc. .
Metadata YAML yang terlihat di bagian atas file RMarkdown secara khusus untuk meneruskan opsi rmarkdown::render
, untuk memandu proses build.
Perhatikan bahwa RMarkdown hanya berurusan dengan sintaks penurunan harga. Jika Anda ingin mengonversi file .Rhtml
atau .Rnw
, Anda harus menggunakan fungsi praktis yang ada di dalamnya Knitr
, seperti knitr::knit2html
danknitr:knit2pdf
Knitr
Knitr mengambil dokumen teks biasa dengan kode yang disematkan, mengeksekusi kode dan 'merajut' hasilnya kembali ke dalam dokumen.
Misalnya, itu mengubah
Fungsi inti adalah knitr::knit
dan secara default ini akan melihat dokumen masukan dan mencoba menebak jenisnya - Rnw, Rmd dll.
Fungsi inti ini melakukan tiga peran: - Parser sumber, yang melihat dokumen masukan dan mendeteksi bagian mana yang merupakan kode yang ingin dievaluasi oleh pengguna. - Penilai kode, yang mengevaluasi kode ini - Penyaji keluaran, yang menulis hasil evaluasi kembali ke dokumen dalam format yang dapat diinterpretasikan oleh jenis keluaran mentah. Misalnya, jika file input adalah .Rmd
, render output menandai output evaluasi kode dalam .md
format.
Mengonversi antar format dokumen
Knitr tidak mengkonversi antara format dokumen - seperti mengubah a .md
menjadi .html
. Namun, ia menyediakan beberapa fungsi kemudahan untuk membantu Anda menggunakan pustaka lain untuk melakukan ini. Jika Anda menggunakan rmarkdown
paket tersebut, Anda harus mengabaikan fungsionalitas ini karena telah digantikan oleh rmarkdown::render
.
Contohnya adalah knitr:knit2pdf
yang akan: 'Merajut dokumen input Rnw atau Rrst, dan mengkompilasi ke PDF menggunakan texi2pdf atau rst2pdf'.
Sumber kebingungan potensial adalah knitr::knit2html
, yang "merupakan fungsi praktis untuk merajut sumber penurunan harga input dan memanggil markdown::markdownToHTML
untuk mengonversi hasilnya ke HTML." Ini sekarang fungsionalitas lama karena markdown
paket telah digantikan oleh rmarkdown
paket. Lihat catatan ini .
Bookdown
Paket bookdown dibangun di atas R Markdown, dan mewarisi kesederhanaan sintaks Markdown, serta kemungkinan beberapa jenis format output (PDF / HTML / Word /…).
Ini menawarkan fitur-fitur seperti output HTML multi-halaman, penomoran dan referensi silang angka / tabel / bagian / persamaan, memasukkan bagian / lampiran, dan mengimpor gaya GitBook ( https://www.gitbook.com ) untuk membuat HTML yang elegan dan menarik halaman buku.
knitr_opts
(saya selalu lupa apa namanya), atau melalui argumen pandoc khusus, atau melalui file ubi tambahan, atau kustom template pandoc ... Terkadang terasa agak sulit, terutama saat Anda menambahkan LaTeX ke rantai.pandoc
langkah menengah , lebih sedikit sihir, lebih sedikit kebingungan. Kurva pembelajaran LaTeX yang sangat curam. Menurut pendapat saya, Rmarkdown sangat bagus bila Anda puas dengan barang bawaan yang sederhana. Tetapi begitu Anda harus menyesuaikannya, kerumitan meningkat dengan cepat.