我想在 R markdown 中使用 circuitikz 包和 r-exams 生成电路图片。我已经在 header-includes 中包含了 circuitikz 包,使用时成功knit
但是在执行时exams2pdf
,这是我得到的错误,,
LaTeX Error: Environment tikzpicture undefined.
执行exam2moodle
或exam2html
没有错误,但它不包括电路图像
任何替代解决方案?
额外的 LaTeX 包不能包含在练习本身中(例如,忽略 YAML 标头),原因有两个:
练习仅针对某些界面(尤其是exams2pdf
和exams2nops
)使用 LaTeX 进行处理,但不适用于大多数其他界面。在后一种情况下,添加更多的 LaTeX 包并不简单。
即使使用exams2pdf
或exams2nops
练习只是最终处理的 LaTeX 文档的片段。因此,个人练习对整个 LaTeX 文档的控制相对较少。(因此,YAML 标头不用于个人练习。)
另见相关讨论:
在 R/exams 练习中包含 TikZ 图形时,了解该练习应该使用哪些接口非常重要。需要一些额外的努力才能使练习对所有exams2xyz
接口都可行。工作示例包括在:
这两个都依赖于include_tikz()
包中的函数。这通过 LaTeX 预处理 TikZ 代码,并根据用于 R 图形块的图形格式以及通过match_exams_device()
.
或者,您也可以通过 LaTeX 代码并确保在 LaTeX 模板中加载了必要的 TikZ 包。其中exams2pdf
有一个template =
论点,最好从复制和修改包附带的模板之一开始。请参阅第 3 节vignette("exams", package = "exams")
,exams_skeleton(write = "exams2pdf", ...)
应该可以帮助您开始。您可以通过参数exams2nops
传递必要的 LaTeX 代码header =
,然后将其插入使用的模板中exams2nops
。