在Quarto的TikZ中使用includegraphics报错:文件未找到
Quarto中TikZ调用同目录图片报错的解决方法
在Quarto的TikZ代码块里用\includegraphics插入同目录的figTest.png时,编译会弹出找不到文件的错误:
LaTeX Warning: File `figTest.png' not found on input line 7. ! Package luatex.def Error: File `figTest.png' not found: using draft setting.
用户的测试代码如下:
--- title: "A tikz test" pdf-engine: lualatex keep-tex: true filters: - diagram diagram: engine: tikz: execpath: lualatex header-includes: \usepackage{graphicx} format: pdf: include-in-header: - text: | \usepackage{graphicx} \usepackage{tikz} --- ## Test section See @fig-test below. ::: {#fig-test} ```tikz \begin{tikzpicture} \node (orig) at (0, 0) {\includegraphics{figTest.png}}; \end{tikzpicture}
A test figure
:::
### 解决方法 问题出在diagram滤镜处理TikZ时,会在系统临时目录执行编译,默认不会读取原Quarto文件所在目录的图片。有两种解决方式: - **指定图片绝对路径** 把`\includegraphics{figTest.png}`替换成图片的完整绝对路径,示例: ```tikz \begin{tikzpicture} \node (orig) at (0, 0) {\includegraphics{/Users/xxx/your-project/figTest.png}}; \end{tikzpicture}
- 设置TikZ编译的工作目录
在YAML配置的diagram.engine.tikz下添加cwd: .,指定编译时使用当前Quarto文件所在目录作为工作目录,修改后的YAML部分:diagram: engine: tikz: execpath: lualatex header-includes: \usepackage{graphicx} cwd: .
注意事项
运行该示例前需要先安装diagram扩展,执行以下命令:
quarto install extension pandoc-ext/diagram
内容的提问来源于stack exchange,提问作者mistral
相关产品推荐
相关产品推荐

