Bookdown не отображает изображение в выходной pdf - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь включить изображение в пример файла index.rmd, который поставляется с пакетом bookdown в RStudio. (Новый проект -> Проект книги с использованием bookdown) Затем я просто добавил следующий код в блок кода R.

```{r} 
knitr::include_graphics("png_logo.png")
```

Запуск фрагмента кода самостоятельно приводит к ожидаемому результату (показан рисунок). Однако, если я использую следующую команду в терминале: bookdown::render_book("index.Rmd", "bookdown::pdf_book") создается pdf-файл, который не содержит изображения, но содержит пробел.

Я открыл пустой файл .rmd, вставилкусок кода и использовал кнопку вязания, чтобы проверить, была ли это глобальная проблема. Тем не менее, при соединении тестового файла был получен ожидаемый результат

---
title: "Untitled"
output:
  pdf_document: default
---
# simple test file

```{r}
knitr::include_graphics("png_logo.png")
```

. Это наводит меня на мысль, что это проблема, связанная с бухгалтерским учетом. Включение соответствующего кода LaTeX \includegraphics{png_logo.png} привело к тому же пустому месту в PDF-файле, созданном из книги, но отлично работает с трикотажным файлом .rmd.

Я обнаружил похожую проблему в SO ( knitr :: include_graphicsв bookdown не рендерит изображение ) и убедился, что ни имя файла, ни путь к файлу не содержат пробелов. TinyTex и пакет tinytex установлены. Никакой другой дистрибутив LaTeX не установлен (хотя MikTeX был установлен ранее).

Помощь будет принята с благодарностью!

Редактировать:

Попытка команды bookdown::render_book("index.Rmd", "bookdown::pdf_book") на другом компьютере каким-либо образом не отобразит изображение.

Я опробовал bookdown::render_book("index.Rmd", "bookdown::gitbook") и bookdown::render_book("index.Rmd", "bookdown::pdf_document2"), и оба дали ожидаемый результат.

Однако использование любого временного решения не применимо к моему сценарию использования, поскольку я пытаюсь использовать шаблон отчета, созданный коллегой. Таким образом, моя цель - запустить bookdown::render_book("index.Rmd", "bookdown::pdf_book"). Помощь все равно будет принята с благодарностью!

1 Ответ

0 голосов
/ 10 ноября 2019

Я столкнулся с той же проблемой. Наконец-то кажется, что работает одно решение: измените latex_engine на pdflatex вместо xelatex. Он находится в файле _output.yml.

bookdown::pdf_book:
  latex_engine: pdflatex

Редактировать : Похоже, что xelatex необходимо обновить, теперь он снова работает после запуска

tinytex::tlmgr_update()
...