← Back to blog

The article body for this language is not available yet; showing the other language.

Blog & updates

Overleaf TikZ 编译失败?从编译器、日志到 DrawFig 的 5 步排查

2026-05-25

Overleaf 上 tikzpicture 编不过的常见原因:Compiler 选错、超时、子文件缺库、xcolor 冲突。5 步排查清单 + DrawFig 导出再粘贴。

Overleaf TikZ 编译失败?5 步排查清单

在 Overleaf 里一加 tikzpicture 就红,日志又长——搜「overleaf tikz 编译失败」「overleaf undefined control sequence」时,往往同时踩了好几个坑。这篇只讲 Overleaf 环境特有 的检查顺序;报错类型详解见主文。
📌 7 类 TikZ 报错对照: TikZ 编译失败怎么办?

第 1 步:看 Compiler(编译器)

你的代码里有 Compiler 应选
普通 \node\draw pdfLaTeX 或 XeLaTeX(中文多 XeLaTeX)
\usegdlibrarygraphdrawing LuaLaTeX专题说明
Menu → Compiler 改完后点 Recompile,不要只改代码不改编译器。

第 2 步:读 Logs and output files 的第一条真实错误

Overleaf 常把同一错误重复多遍。往下翻到第一个 ! 开头:

第 3 步:单独建一个最小 main.tex 试图

新建文件 tikz-test.tex,只放:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
  \node (A) {A};
  \node (B) [right=of A] {B};
  \draw (A) -- (B);
\end{tikzpicture}
\end{document}
设为 Main document 再编译。若这能过、主项目不能过,问题在模板导言区或子文件没加载库

第 4 步:检查子文件与 \input

很多 Overleaf 项目把图放在 figures/xxx.tex,用 \input 引入。子文件里的 \usetikzlibrary 不会 自动作用到别处——库应写在主文档导言区,或保证每个含 tikzpicture 的文件在被 input 前已加载库。

第 5 步:编译超时与大图

极复杂的 TikZ(上万行、大量 foreach)可能 Timed out。可:
  • standalone 类本地编译出 PDF,再 \includegraphics 上传到 Overleaf
  • DrawFig 出图 → 导出 TikZ,通常比手写循环更短、更易编过

DrawFig + Overleaf 推荐工作流

  1. drawfig.com/editor.html 完成图(AI 或拖拽)
  2. 导出 TikZ,复制代码
  3. Overleaf 新建 figures/my-graph.tex 或放进 tikzpicture
  4. 主文档导言区合并 \usetikzlibrary(与模板 xcolor 顺序一致)
  5. 选对你论文需要的 Compiler,Recompile
这样 Overleaf 上主要做嵌入与排版,而不是在网页里反复试分号、试库名。

延伸阅读(站内专题)


总结

Overleaf TikZ 失败,先改编译器、再读第一条报错、再用最小 tex 隔离;复杂图用 DrawFig 生成再导入,可显著减少在 Overleaf 里试错的时间。