How to avoid "! LaTeX Error: Environment axis undefined" when using include_tikz with pgfplots?

How to avoid "! LaTeX Error: Environment axis undefined" when using include_tikz with pgfplots?

我已经成功地在 R/exams .Rmd 文件中包含了几个用 TikZ 制作的图形。当我尝试使用 include_tikz()pgfplots 下包含一个图时,不会发生同样的情况。每当包含 \begin {axis}\end {axis} 时,请注意错误“!LaTeX 错误:环境轴未定义”。

在 RStudio 控制台中出现图例:“This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format = pdflatex) restricted \ write18 enabled.entering extended mode”,甚至在 TexStudio write-18 中启用。当我包含 pgfplots 以外的其他 TikZ 图时,会出现 None 这些消息。

在 TexMaker 或 TexStudio 中 运行 时,任何 TikZ 图形都可以工作,这表明这不是缺少 LaTeX 库或包的问题。

我包含了我的一部分代码,改编自 https://www.latex4technics.com/?note=1HCT:

```{r datos1, echo = FALSE, results = "hide"}

library(exams)
typ <- match_exams_device()

image01<-'
         \begin{tikzpicture}
         \begin{axis}[legend pos=south east]
         \addlegendimage{empty legend}
         \addplot {sqrt(x)}; 
         \addplot {ln(x)}; 
         \addlegendentry{\hspace{-.6cm}\textbf{A title}}
         \addlegendentry{$\sqrt{x}$}
         \addlegendentry{$\ln{x}$}
         \end{axis}
         \end{tikzpicture}
         '
```

```{r grafica01, echo = FALSE, results = "asis"}
include_tikz(image01, name = "grafiko1", markup = 
"markdown",format = typ,library = c("arrows"),packages = 
"booktabs",width = "7cm",header = "\usepackage{/home/r- 
exams/Documentos/NuevoRStudio/Rmarkdowns/
Esqueleto/exercises/schoice/ 
LaboratorioTikZ/3dplot}")
```

答案就在您的问题标题中。您需要包含 pgfplots 包:

include_tikz(image01, packages = "pgfplots", ...)

不需要您问题中调用的其他 packageslibraryheader 参数。

原因是,对于 include_tikz(),您只需使用 {tikzpicture} 代码,而在您链接的完整 .tex 文件中,您还拥有:

\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
...
\end{tikzpicture}
\end{document}

注意第二行的\usepackge{pgfplots}