Что конкретно делает R CMD Sweave --pdf? - PullRequest
10 голосов
/ 18 ноября 2011

Я заметил это в изменениях R 2.14:

R CMD Sweave теперь имеет опцию --pdf для создания PDF-версии обработанного документа Sweave.

Попробовав это, я заметил, что он не только запускал pdfLaTeX на полученном тексте, но также правильно включал ссылки на bibTeX и впоследствии очищался.Похоже, очень и очень хороший способ использовать Sweave сейчас (не говоря уже о том, как легко теперь реализовать всю подпрограмму в редакторах).

Но что именно сейчас работает?Я не мог найти больше деталей об этом.Кажется, Sweave -> pdflatex -> bibtex -> pdflatex -> pdflatex хотя бы?

Ответы [ 3 ]

10 голосов
/ 18 ноября 2011

Спасибо за вопрос. Я задавался вопросом о коде, стоящем за этим «автоматическим» процессом.

R CMD Sweave --pdf в конечном итоге вызывает tools::texi2dvi, что:

Запустите [s] latex и bibtex, пока не будут разрешены все перекрестные ссылки, и создайте [s] файл dvi или PDF.

(подробности см. Здесь texi2dvi) .

Вот цепочка событий, запускаемых с помощью R CMD Sweave --pdf вызова:

  • Исходный файл rcmdfn.c содержит код, который указывает R CMD Sweave на запуск от utils:::.Sweave() --args" до Rterm.exe.

  • Если установлено --pdf, utils:::.Sweave() вызывает tools::texi2pdf() для обработки файла Sweave.

  • texi2pdf() по очереди звонит tools::texi2dvi().

  • Наконец, texi2dvi() просматривает среду, чтобы узнать, какие инструменты доступны для нее, и выполняет работу, описанную в файле справки, указанном выше.

0 голосов
/ 07 марта 2012

Я не знаю много о внутренней отделке, но я знаю, что версия RStudio для разработки позволит вам выбирать между knitr и Sweave, а также между pdflatex и xelatex и дает bibtex как вариант.

0 голосов
/ 18 ноября 2011

Вы можете попытаться выполнить преобразование из Rnw в pdf вручную и посмотреть, сколько раз необходимо выполнить соответствующие шаги, чтобы получить тот же результат, что и R CMD Sweave.

...