【发布时间】:2018-03-10 18:00:46
【问题描述】:
我在rmd 文件中有以下代码,该文件利用tikz 绘制图表:
---
title: "TestNonTufteLua"
author: "Me"
output:
pdf_document :
latex_engine: lualatex
---
Prove tikz works:
```{r tikTest1, engine = "tikz"}
\usetikzlibrary{shapes}
\begin{tikzpicture}
\node[ellipse, draw=black, align = center] (Data) {Data $y_{n}$};
\end{tikzpicture}
```
Then, when you set `eval = TRUE` in the below code, it will not work.
```{r tikTest2, eval = FALSE, engine = "tikz"}
\usetikzlibrary{graphs, graphdrawing}
\usegdlibrary{layered}
\tikz [gr/.style={gray!50}, font=\bfseries]
\graph [layered layout] {
% A and F are horizontally aligned if you also set weight=0.5 for A -- C.
A -- [minimum layers=2] C -- F,
{ [nodes=gr, edges=gr] A -- B -- { E, D -- F } }
};
```
在第二个块中更改为eval=TRUE 时,我得到以下信息
错误:
从第 24-29 行退出 (testNonTufteLua.Rmd) 错误:正在运行 '.\tikz36747a021b22.tex' 上的 'texi2dvi' 失败
LaTeX 错误:rarygraphdrawing.code.tex:22: Package pgf Error: You 需要运行 LuaTeX 才能使用图形绘制库。
使用 RStudio 中的 knit 按钮或使用 render("testNonTufteLua.Rmd", output_format = pdf_document(keep_tex = TRUE, latex_engine = "lualatex") 时会出现此错误。我还尝试过设置options(tikzDefaultEngine = "luatex") 来让tikzDevice 正确处理它,但它仍然无法正常工作。即使可以加载tikz-shapes 库并且文档的其余部分似乎是用lualatex 编译的,我似乎也无法让graphdrawing 库工作。感谢您的帮助!
【问题讨论】:
标签: knitr r-markdown tikz tikzdevice