Фон
Я пытаюсь сделать документ rmarkdown, который отображается с помощью render()
. Вызов render
имеет два элемента, которые параметризуются:
- Я хотел бы, чтобы пользователь мог указать pdf или html.
Прямо с помощью
output_format()
. - Я также хотел бы передать параметр в документ, чтобы указать, являются ли таблицы (с использованием пакета
kableExtra
) латекс или html.
Это файл rmarkdown, называемый test.Rmd
---
title: "Title"
author: "Zzz Zzzzzz"
params:
table_format:
value
---
```{r setup}
knitr::opts_chunk$set(echo = FALSE)
library(knitr)
library(kableExtra)
options(knitr.table.format = params$table_format)
```
## Test table
```{r cars}
if (params$table_format == "latex"){
kable(iris[1:100,], booktabs = T) %>%
kable_styling(latex_options = c("scale_down"))
}
if (params$table_format == "html"){
kable(iris[1:100,]) %>%
kable_styling(bootstrap_options = c("striped", "hover")) %>%
scroll_box(width = "500px", height = "600px")
}
params$table_format
```
Теперь вот два вызова для визуализации файла:
rmarkdown::render("test.Rmd", output_format = "pdf_document", params = list(
table_format = "latex"
))
rmarkdown::render("test.Rmd", output_format = "html_document", params = list(
table_format = "html"
))
Проблема
Теперь, если я открою новый сеанс rstudio, я могу запускать обе render
вызовы без проблем. Создается файл .pdf или .html. Однако, если я попытаюсь снова запустить рендеринг .pdf, я получаю следующую ошибку:
"C:/Program Files/RStudio/bin/pandoc/pandoc" + RTS -K512m -RTS test.utf8.md - в латекс - от уценки + autolink_bare_uris + ascii_identifiers + tex_math_single_backslash --output test.pdf --template "C:\Users\salbers\R\win-library\3.4\rmarkdown\rmd\latex\default-1.17.0.2.tex" -highlight-style tango --latex-engine pdflatex - переменная графика = да - переменная "geometry: margin = 1in"! Undefined контроль последовательность. \begin {tabular} {rrrrl}\toprule Sepal.Length и Sepal.Width и Pet... l.267\end {tabular}}
pandoc.exe: ошибка при создании PDF-ошибки: преобразование документа pandoc Ошибка с ошибкой 43 Кроме того: Предупреждающее сообщение: команда запуска '' C:/Program Files/RStudio/bin/pandoc/pandoc "+ RTS -K512m -RTS test.utf8.md - в латекс - от уценки + autolink_bare_uris + ascii_identifiers + tex_math_single_backslash --output test.pdf --template "C:\Users\salbers\R\win-library\3.4\rmarkdown\rmd\latex\default-1.17.0.2.tex" -highlight-style tango --latex-engine pdflatex - переменная графика = да - переменная "geometry: margin = 1in" 'имеет статус 43
Html-рендеринг работает отлично снова и снова. Если я закрою rstudio, тогда запустите проект, рендеринг для PDF тоже будет работать отлично.
Вопрос
- Может ли кто-нибудь сказать мне, почему мой документ pdf rindingdown не может быть представлен дважды в одном сеансе rstudio?
- Аналогично, почему rstudio приходится закрывать между визуализацией?