Можно ли использовать Rstudio для перевода из .Rmd в LaTeX напрямую без pandoc?

Воспроизводимый пример (если у вас есть rstudio):

  • Файл | Новый | R Markdown
  • Вяжем в html, сохраняем как test:

knitr

Перейти в рабочий каталог

  • В терминале (с установленным pandoc) введите

    pandoc -s test.md -t латекс -o test.tex

(результаты вставлены сюда)

  • Преобразование в pdf с помощью pdflatex (см. Результат здесь)

Или пропустите этап текс, перейдя непосредственно в .pdf:

pandoc -s test.md -t latex -o test2.pdf

Результаты хорошие, но кажется, что много шагов, учитывая, что трикотаж включает в себя завиток. Он должен иметь возможность напрямую конвертировать из .Rmd в .tex или .pdf. Верно?


person RobinLovelace    schedule 04.01.2013    source источник
comment
Конечно, это возможно. Написал ли что-нибудь такой новый конвертер, который пропускает один или несколько шагов существующего конвейера инструментов? Не уверен, вряд ли.   -  person Dirk Eddelbuettel    schedule 04.01.2013
comment
Спасибо за это - возможно, это просьба к разработчикам RStudio: добавьте кнопку knit в LaTeX, чтобы уменьшить количество скриптов. Кажется совместимым с их философией rstudio.com/training/philosophy.html   -  person RobinLovelace    schedule 04.01.2013


Ответы (2)


Это задокументировано в http://www.rstudio.com/ide/docs/authoring/markdown_custom_rendering; вы должны добавить .Rprofile в свой каталог, например:

options(rstudio.markdownToHTML = 
  function(inputFile, outputFile) {      
    system(paste("pandoc", shQuote(inputFile), "-o", shQuote(outputFile)))
  }
)  

Могут потребоваться некоторые модификации. Жаль, что то же самое не работает со спином из-за ошибки в RStudio.

http://support.rstudio.org/help/discussions/problems/4128-spin-and-rprofile

person Dieter Menne    schedule 04.01.2013
comment
это хороший ответ. Кажется, он делает то, что хотел OP, хотя технически это не без pandoc (например, если кто-то, кто не установил / не смог установить [ed] pandoc, хотел это сделать), скорее это без дополнительного раздражающего ручного вызова pandoc. - person Ben Bolker; 04.01.2013

Для тех, кто сталкивается с этим старым вопросом, теперь (уже давно) есть параметр keep_tex: true, который сохраняет промежуточный файл .tex, созданный Pandoc. Назовите это так в заголовке YAML:

---
output:
  pdf_document:
    keep_tex: true
---
person Robert McDonald    schedule 21.06.2021