Blogdown не может отобразить блок tikz в моем документе Rmd - PullRequest
1 голос
/ 19 марта 2019

Этот вопрос очень тесно связан с этим вопросом , однако применяются следующие различия:

  • ОС: Unix CentOS в контейнере Docker (изображениеcentos) с хостом Windows.
  • Ошибка: Концептуально та же ошибка, но исправление, которое работало в Windows, здесь не работает, и сообщение об ошибке такжеразные.

Я создал проект, используя шаблон Hugo-Xmin .В RStudio, после создания проекта в blogdown, он создал несколько предопределенных постов, я редактирую это:

/content/post/2015-07-23-r-rmarkdown.Rmd

Я изменил этот файл, добавив этот фрагмент в конец файла:

This is a tikz picture:

```{r, echo=FALSE, engine='tikz', out.width='90%', fig.ext=if (knitr:::is_latex_output()) 'pdf' else 'png', fig.cap='Some caption.'}
\begin{tikzpicture}[scale=.7]
\draw [fill=gray!30,very thick] (0,-1) rectangle (5,1);
\draw [very thick] (5, 0) -- (13,0);
\node [below] at (2,-1) {\large Hello};
\node [below, align=center] at (0,-1) {\large Two\\ lines};
\end{tikzpicture}
```

Не удалось обработать сообщение

Мой рабочий каталог - папка проекта, я запускаю оттуда, в консоли R, команду:

blogdown::build_site()

И получаем это:

> blogdown::build_site()
Rendering content/_index.Rmarkdown
running: bash  -c "cd ../..;
find . -not -path '*/exampleSite/*' \\( -name '*.html' -o -name '*.css' \\) | xargs wc -l"
Rendering content/post/2015-07-23-r-rmarkdown.Rmd
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013)
 restricted \write18 enabled.
entering extended mode
! LaTeX Error: File `preview.sty' not found.

! Emergency stop.
<read *>

Quitting from lines 49-55 (2015-07-23-r-rmarkdown.Rmd)
Error: Failed to compile tikz2b145b766cfa.tex. See https://yihui.name/tinytex/r/#debugging for debugging tips. See tikz2b145b766cfa.log for more info.
Execution halted
Error in render_page(f) :
  Failed to render 'content/post/2015-07-23-r-rmarkdown.Rmd'

Важно Обратите внимание, что я перешел по ссылке справки и добавил в начале файла этот фрагмент:

```{r, include=FALSE}
options(tinytex.verbose = TRUE)
```

Вывод Iсообщалось выше, это вывод, который я получаю, когда этот фрагмент находится на месте.


Устранение неполадок 1

Проверяя файл tikz2b145b766cfa.log (как указано в сообщении об ошибке), я вижуследующая ошибка:

This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013) (format=pdflatex 2019.3.18)  18 MAR 2019 21:12
entering extended mode
 restricted \write18 enabled.
 %&-line parsing enabled.
**tikz2b145b766cfa.tex
(./tikz2b145b766cfa.tex
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, ru
ssian, ukrainian, bulgarian, loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
\c@subsubsection=\count82
\c@paragraph=\count83
\c@subparagraph=\count84
\c@figure=\count85
\c@table=\count86
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
\@input{preview.aux}
\openout2 = `preview.aux'.

No file preview.tex.

! LaTeX Error: File `preview.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name:
! Emergency stop.
<read *>

l.4 \usepackage
               {amsmath}^^M
Here is how much of TeX's memory you used:
 200 strings out of 494820
 2171 string characters out of 3178049
 47774 words of memory out of 3000000
 3480 multiletter control sequences out of 15000+200000
 3640 words of font info for 14 fonts, out of 3000000 for 9000
 198 hyphenation exceptions out of 8191
 23i,0n,17p,164b,36s stack positions out of 5000i,500n,10000p,200000b,50000s

!  ==> Fatal error occurred, no output PDF file produced!

Важно знать, что я установил в систему CentOS множество пакетов и программного обеспечения:

yum install texlive*

И:

install.packages("devtools")
remotes::install_github('yihui/knitr')
install.packages(c('magick', 'pdftools'))

В R.

Устранение неполадок 2

Как советовали, я установил: tinytex.Это удалось.После этого после запуска build_site() мне всегда предлагали пропустить библиотеку, которую я должен был установить.Через 30 минут я получил это сообщение:

> blogdown::build_site()
Rendering content/_index.Rmarkdown
running: bash  -c "cd ../..;
find . -not -path '*/exampleSite/*' \\( -name '*.html' -o -name '*.css' \\) | xargs wc -l"
Rendering content/post/2015-07-23-r-rmarkdown.Rmd
hugo: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by hugo)
hugo: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by hugo)

С этим я, к сожалению, борюсь, так как libstdc++-4.8.5-36.el7.x86_64 уже установлен, и я не уверен, как исправить GLIBCXX_3.4.20 и GLIBCXX_3.4.21.Попытка yum install на них не работает.

1 Ответ

1 голос
/ 19 марта 2019

Я не знаю, почему ваш TeX Live не смог найти preview.sty, но я уверен, что TinyTeX будет работать автоматически:

# first make sure all your R packages are up-to-date, then
tinytex::install_tinytex()
...