You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 18:00:03