Оновлений відповідь (10 лютого 2013 р.)
Пакет rmarkdown : Тепер rmarkdown
на github доступний пакет, який взаємодіє з Pandoc. Він включає render
функцію. У документації чітко зрозуміло, як перетворити rmarkdown в pdf серед ряду інших форматів. Це включає включення вихідних форматів у файл rmarkdown або запуску, що надає вихідний формат функції rend. Наприклад,
render("input.Rmd", "pdf_document")
Командний рядок:
Коли я запускаю render
з командного рядка (наприклад, за допомогою makefile), іноді виникають проблеми з тим, що pandoc не знайдено. Імовірно, це не на шляху пошуку. Наступна відповідь пояснює, як додати pandoc до середовища R .
Так, наприклад, на моєму комп'ютері під керуванням OSX, де у мене є копія pandoc через RStudio, я можу використовувати наступне:
Rscript -e "Sys.setenv(RSTUDIO_PANDOC='/Applications/RStudio.app/Contents/MacOS/pandoc');library(rmarkdown); library(utils); render('input.Rmd', 'pdf_document')"
Стара відповідь (близько 2012 р.)
Так, ряд людей припустив, що Пандок - це шлях. Див. Примітки нижче про важливість наявності оновленої версії Pandoc.
Використання Pandoc
Я використовував наступну команду для перетворення R Markdown в HTML (тобто варіант цього makefile ), де RMDFILE
назва файлу R Markdown без .rmd
компонента (він також передбачає, що розширення є, .rmd
а не .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'))"
а потім цю команду для перетворення в pdf
Pandoc -s example-r-markdown.html -o example-r-markdown.pdf
Кілька записок про це:
- Я видалив посилання з файлу прикладу, який експортує сюжети в imgur для зображень хосту.
- Я видалив посилання на зображення, розміщене в imgur. Мабуть, цифри повинні бути локальними.
- Параметри цієї
markdownToHTML
функції означали, що посилання на зображення - на файли, а не на дані, що зберігаються у файлі HTML (тобто я видалено'base64_images'
зі списку параметрів).
- Результуючий вихідний сигнал виглядав як це . Він чітко створив документ у стилі LaTeX на відміну від того, що я отримую, якщо надрукую HTML-файл у форматі pdf із браузера.
Отримання оновленої версії Pandoc
Як згадував @daroczig, для виведення pdfs важливо мати сучасну версію Pandoc. На Ubuntu станом на 15 червня 2012 року я застряг із версією 1.8.1 Pandoc у менеджері пакунків, але це здається з журналу змін що для підтримки pdf вам потрібна принаймні версія 1.9+ Pandoc.
Таким чином, я встановив caball-install
. А потім побіг:
cabal update
cabal install pandoc
Pandoc був встановлений в ~/.cabal/bin/pandoc
Таким чином, коли я запустив pandoc
його, все ще бачилася стара версія. Дивіться тут, щоб додати до шляху .
knit
таmdconvert.sh
). Можливо, важко придумати загальний підхід, оскільки LaTeX занадто гнучкий; ви можете використовувати всі види шаблонів для pandoc.