R bookdown, fontawesome5, рендеринг не удался, но файл отлично вписывается в RStudio - PullRequest
0 голосов
/ 24 июня 2018

Испытываю странную проблему ... используя MacTeX 2018, текущие версии всех пакетов, R и RStudio ditto ... Я могу очень хорошо связать файл, содержащий значки fontawesome5 в RStudio, однако, render () не работает, и мне нужно использовать render в make-файле для автоматизации процесса сборки ... render () запускает вызов latexmk, который вызывает tlmgr для уже существующих шрифтов, который затем останавливается с ошибкой "файл не найден" ... любые предложения было бы очень кстати, волосы успешно выдернуты из-за этого ... заранее спасибо!

Ниже приведен минимальный файл, необходимый для репликации (далее debug.Rmd):

---
output:
  bookdown::pdf_document2:
    toc: no
    latex_engine: lualatex
header-includes:
   - \usepackage{fontawesome5}
---

-   \faIcon{phone}

Если вы удалите \faIcon{phone}, он хорошо отрисовывается и, конечно, также хорошо встраивается в RStudio.

Вот сообщение об ошибке (информация о сеансе следует)

 Rscript -e 'rmarkdown::render("debug.Rmd",bookdown::pdf_document2(toc = FALSE))'


processing file: debug.Rmd
  |.................................................................| 100%
  ordinary text without R code


output file: debug.knit.md

/usr/local/bin/pandoc +RTS -K512m -RTS debug.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output debug.tex --template /Users/jracine/Library/R/rmarkdown/rmd/latex/default-1.17.0.2.tex --number-sections --highlight-style tango --pdf-engine pdflatex --variable graphics=yes --variable 'geometry:margin=1in' --variable 'compact-title:yes' --variable tables=yes --standalone
tlmgr search --file --global '/fa5free0solid[.](tfm|afm|mf|otf)'
Trying to automatically install missing LaTeX packages...
tlmgr install fontawesome5
tlmgr: package repository http://ctan.mirror.colo-serv.net/systems/texlive/tlnet (verified)
tlmgr install: package already present: fontawesome5
tlmgr path add
tlmgr search --file --global '/fa5free0solid[.](tfm|afm|mf|otf)'

Output created: debug.pdf
Error in tools::file_path_as_absolute(output_file) :
  file 'debug.pdf' does not exist
Calls: <Anonymous> -> <Anonymous>
Execution halted

Информация о сеансе:

Session info ------------------------------------------------------------------
 setting  value
 version  R version 3.5.0 (2018-04-23)
 system   x86_64, darwin17.5.0
 ui       X11
 language (EN)
 collate  en_CA.UTF-8
 tz       America/Toronto
 date     2018-06-24

Packages ----------------------------------------------------------------------
 package   * version date       source
 backports   1.1.2   2017-12-13 CRAN (R 3.5.0)
 base64enc   0.1-3   2015-07-28 CRAN (R 3.5.0)
 bookdown    0.7.13  2018-06-18 Github (rstudio/bookdown@dda5f5a)
 digest      0.6.15  2018-01-28 CRAN (R 3.5.0)
 evaluate    0.10.1  2017-06-24 CRAN (R 3.5.0)
 glue        1.2.0   2017-10-29 CRAN (R 3.5.0)
 graphics  * 3.5.0   2018-04-23 local
 grDevices * 3.5.0   2018-04-23 local
 highr       0.7     2018-06-09 CRAN (R 3.5.0)
 htmltools   0.3.6   2017-04-28 CRAN (R 3.5.0)
 jsonlite    1.5     2017-06-01 CRAN (R 3.5.0)
 knitr       1.20.6  2018-06-22 Github (yihui/knitr@2b3e617)
 magrittr    1.5     2014-11-22 CRAN (R 3.5.0)
 markdown    0.8     2017-04-20 CRAN (R 3.5.0)
 methods   * 3.5.0   2018-04-23 local
 mime        0.5     2016-07-07 CRAN (R 3.5.0)
 Rcpp        0.12.17 2018-05-18 CRAN (R 3.5.0)
 rmarkdown   1.10.2  2018-06-22 Github (rstudio/rmarkdown@1f5b299)
 rprojroot   1.3-2   2018-01-03 CRAN (R 3.5.0)
 stats     * 3.5.0   2018-04-23 local
 stringi     1.2.3   2018-06-12 CRAN (R 3.5.0)
 stringr     1.3.1   2018-05-10 CRAN (R 3.5.0)
 tinytex     0.5     2018-04-16 CRAN (R 3.5.0)
 tools       3.5.0   2018-04-23 local
 utils     * 3.5.0   2018-04-23 local
 xfun        0.2.5   2018-06-22 Github (yihui/xfun@b75336c)
 yaml        2.1.19  2018-05-01 CRAN (R 3.5.0)
> rmarkdown::pandoc_version()
[1] ‘2.2.1’
> system('pdflatex --version')
pdfTeX 3.14159265-2.6-1.40.19 (TeX Live 2018)
kpathsea version 6.3.0
Copyright 2018 Han The Thanh (pdfTeX) et al.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.34; using libpng 1.6.34
Compiled with zlib 1.2.11; using zlib 1.2.11
Compiled with xpdf version 4.00

1 Ответ

0 голосов
/ 24 июня 2018

Ваш Makefile неправильный. Когда вы звоните

Rscript -e 'rmarkdown::render("debug.Rmd",bookdown::pdf_document2(toc = FALSE))'

вы по существу переопределили настройки в ваших метаданных YAML (например, latex_engine) с помощью bookdown::pdf_document2(toc = FALSE), который имеет значение по умолчанию latex_engine = 'pdflatex'. Вот почему ваш промежуточный вывод .tex был скомпилирован с pdflatex вместо lualatex.

Либо звоните

Rscript -e 'rmarkdown::render("debug.Rmd")'

, если bookdown::pdf_document2 - единственный выходной формат, который вам нужен, или позвоните

Rscript -e 'rmarkdown::render("debug.Rmd", "bookdown::pdf_document2")'

если в YAML установлено несколько форматов вывода.

Для второго аргумента rmarkdown::render() (например, выходного формата) вам редко требуется форма функции выходного формата, которая возвращает выходной формат (например, bookdown::pdf_document2(...)). В большинстве случаев я считаю, что по умолчанию (NULL, что означает первый формат, установленный в YAML) или символьная строка (имя формата, установленного в YAML) должны соответствовать вашим требованиям.

...