Tikzpictures 未在 gitbook 中呈现,即使它们出现在 pdf_book

Tikzpictures not rendering in gitbook, even though they appear in 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 它就不会出现。我试图做一些与这个问题 here 中描述的类似的事情,即使用相同的块,但用我的代码替换该代码(尽管我确实以我的代码为中心),如下所示:

```{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 中更进一步(出现图形标题并出现 "broken image link" 符号,我试过跨浏览器,如上所述)但仍然没有图像。

关于如何让它工作的任何想法?

fig.ext='pdf' 您正在创建一个您的浏览器无法包含的 PDF 文件。相反,您可以使用 fig.ext=if(knitr:::is_latex_output()) 'pdf' else 'png' 之类的东西将 PDF 输出与 LaTeX 和 PNG 输出一起用于所有其他情况。或者,您可以完全删除 fig.ext 并使用默认值。鉴于这些更改之一,您的示例对我来说适用于 HTML/Gitbook 和 PDF/LaTeX 输出。