Tikzpictures не отображаются в gitbook, хотя они отображаются в pdf_book

Я использую bookdown, чтобы печатать заметки из некоторых математических курсов. Я хочу вставить tikzpictures в свою книгу, и хотя они отлично отображаются при использовании render_book("index.Rmd", "pdf_book"), они вообще не отображаются ни в одном браузере (я пробовал Chrome, Firefox и даже Internet Explorer), когда я использую render_book("index.Rmd", "gitbook"). Аналогично при использовании preview_chapter вместо render_book.

Вот код, который можно использовать для рендеринга моего изображения Tikz:

\def\firstcircle{(0:-0.5cm) circle (1.5cm)}
\def\secondcircle{(0:0.4cm) circle (0.5cm)}

\colorlet{circle edge}{blue!50}
\colorlet{circle area}{blue!20}

\tikzset{filled/.style={fill=circle area, draw=circle edge, thick},
    outline/.style={draw=circle edge, thick}}

\begin{figure}
\centering
\begin{tikzpicture}
    \begin{scope}
        \clip \firstcircle;
        \secondcircle;
    \end{scope}
    \draw[outline] \firstcircle node {$B$};
    \draw[outline] \secondcircle node {$A$};
\end{tikzpicture}
\caption{$A$ as a subset of $B$}
\end{figure}

Когда я использую pdf_book, это красиво. Если я использую gitbook, он просто не появляется. Я пытался сделать что-то похожее на то, что описано в этом вопросе здесь т. е. используя тот же фрагмент, но заменяя этот код своим кодом (хотя я центрировал свой), например:

```{r, echo=FALSE, engine='tikz', out.width='90%', fig.ext='pdf', fig.align='center', fig.cap='Some caption.'}
\def\firstcircle{(0:-0.5cm) circle (1.5cm)}
\def\secondcircle{(0:0.4cm) circle (0.5cm)}

\colorlet{circle edge}{blue!50}
\colorlet{circle area}{blue!20}

\tikzset{filled/.style={fill=circle area, draw=circle edge, thick},
    outline/.style={draw=circle edge, thick}}

\begin{tikzpicture}
    \begin{scope}
        \clip \firstcircle;
        \secondcircle;
    \end{scope}
    \draw[outline] \firstcircle node {$B$};
    \draw[outline] \secondcircle node {$A$};
\end{tikzpicture}
```

когда я это делаю, он снова прекрасно отображается в pdfbook, и на самом деле я продвигаюсь дальше в gitbook (появляется подпись к рисунку и появляется символ «неработающая ссылка на изображение», я пробовал в разных браузерах, как уже упоминалось), но все еще нет изображения.

Любые идеи о том, как я могу заставить это работать?


person Julian    schedule 25.07.2019    source источник


Ответы (1)


С помощью fig.ext='pdf' вы создаете PDF-файл, который ваш браузер не может включить. Вместо этого вы можете использовать что-то вроде fig.ext=if(knitr:::is_latex_output()) 'pdf' else 'png' для использования вывода PDF вместе с выводом LaTeX и PNG для всех остальных случаев. В качестве альтернативы вы можете полностью удалить fig.ext и использовать значения по умолчанию. Учитывая одно из этих изменений, ваш пример работает для меня как с выводом HTML/Gitbook, так и с PDF/LaTeX.

person Ralf Stubner    schedule 29.07.2019