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", ...)
不需要您问题中调用的其他 packages
、library
和 header
参数。
原因是,对于 include_tikz()
,您只需使用 {tikzpicture}
代码,而在您链接的完整 .tex 文件中,您还拥有:
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
...
\end{tikzpicture}
\end{document}
注意第二行的\usepackge{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", ...)
不需要您问题中调用的其他 packages
、library
和 header
参数。
原因是,对于 include_tikz()
,您只需使用 {tikzpicture}
代码,而在您链接的完整 .tex 文件中,您还拥有:
\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
...
\end{tikzpicture}
\end{document}
注意第二行的\usepackge{pgfplots}
!