Jawaban Diperbarui (10 Feb 2013)
paket rmarkdown : Sekarang ada rmarkdown
paket yang tersedia di github yang berinteraksi dengan Pandoc. Ini termasuk render
fungsi. Dokumentasi membuatnya cukup jelas bagaimana mengkonversi rmarkdown ke pdf di antara berbagai format lainnya. Ini termasuk termasuk format output dalam file rmarkdown atau menjalankan memasok format output ke fungsi rend. Misalnya,
render("input.Rmd", "pdf_document")
Command-line:
Ketika saya menjalankan render
dari command-line (mis., Menggunakan makefile), saya terkadang memiliki masalah dengan pandoc yang tidak ditemukan. Agaknya, itu tidak di jalur pencarian. Jawaban berikut menjelaskan cara menambahkan Pandoc untuk lingkungan R .
Jadi misalnya, di komputer saya yang menjalankan OSX, di mana saya memiliki salinan pandoc melalui RStudio, saya dapat menggunakan yang berikut ini:
Rscript -e "Sys.setenv(RSTUDIO_PANDOC='/Applications/RStudio.app/Contents/MacOS/pandoc');library(rmarkdown); library(utils); render('input.Rmd', 'pdf_document')"
Jawaban Lama (sekitar 2012)
Jadi, sejumlah orang menyarankan bahwa Pandoc adalah jalan yang harus ditempuh. Lihat catatan di bawah tentang pentingnya memiliki Pandoc versi terbaru.
Menggunakan Pandoc
Saya menggunakan perintah berikut untuk mengkonversi R Markdown ke HTML (yaitu, varian dari makefile ini ), di mana RMDFILE
adalah nama file R Markdown tanpa .rmd
komponen (itu juga mengasumsikan bahwa ekstensi itu .rmd
dan tidak .Rmd
).
RMDFILE=example-r-markdown
Rscript -e "require(knitr); require(markdown); knit('$RMDFILE.rmd', '$RMDFILE.md'); markdownToHTML('$RMDFILE.md', '$RMDFILE.html', options=c('use_xhml'))"
dan kemudian perintah ini untuk dikonversi ke pdf
Pandoc -s example-r-markdown.html -o example-r-markdown.pdf
Beberapa catatan tentang ini:
- Saya menghapus referensi dalam file contoh yang mengekspor plot ke imgur ke host gambar.
- Saya menghapus referensi ke gambar yang di-host di imgur. Angka tampaknya harus lokal.
- Opsi dalam
markdownToHTML
fungsi berarti bahwa referensi gambar adalah file dan bukan data yang disimpan dalam file HTML (yaitu, saya dihapus 'base64_images'
dari daftar opsi).
- Output yang dihasilkan tampak seperti ini . Jelas telah membuat dokumen gaya sangat LaTeX berbeda dengan apa yang saya dapatkan jika saya mencetak file HTML ke pdf dari browser.
Mendapatkan Pandoc versi terbaru
Seperti yang disebutkan oleh @daroczig, penting untuk memiliki Pandoc versi terbaru untuk menghasilkan pdf. Di Ubuntu pada 15 Juni 2012, saya terjebak dengan Pandoc versi 1.8.1 di manajer paket, tetapi tampaknya dari log perubahan bahwa untuk dukungan pdf Anda memerlukan setidaknya versi 1.9+ dari Pandoc.
Jadi, saya instal caball-install
. Dan kemudian berlari:
cabal update
cabal install pandoc
Pandoc diinstal di ~/.cabal/bin/pandoc
Jadi, ketika saya menjalankannya pandoc
masih melihat versi lama. Lihat di sini untuk menambahkan jalur .
knit
danmdconvert.sh
). Mungkin sulit untuk melakukan pendekatan umum karena LaTeX terlalu fleksibel; Anda dapat menggunakan semua jenis template untuk pandoc.