「tikz usegdlibrary 报错」「graphdrawing 编译失败」因 pdfLaTeX 不支持图布局引擎。说明 Overleaf 切换 LuaLaTeX 与不用自动布局的替代方案。
! Undefined control sequence.
l.xx \usegdlibrary{layered}
或 \usetikzlibrary{graphdrawing} 相关。百度上「tikz usegdlibrary 报错」「graphdrawing 需要 lualatex」几乎都指向同一件事:图自动布局引擎只跑在 LuaTeX 上,用默认 pdfLaTeX 编不过。
📌 全部 TikZ 编译坑: TikZ 编译失败 7 类排查
\usetikzlibrary{graphs, graphdrawing}
\usegdlibrary{layered, force, circular}
并在 tikzpicture 里用 自动布局(如 layout=layered、layout=force),就必须用 LuaLaTeX 编译。
lualatex main.tex
\node at (x,y) 或 positioning 的 right=of(需 positioning 库)。\includegraphics 插图(主文仍可用 pdfLaTeX)。usegdlibrary。| 误区 | 事实 |
|---|---|
| 「装了最新 TeX Live 就能用」 | 引擎不对照样报错 |
| 「XeLaTeX 也行」 | graphdrawing 要的是 LuaLaTeX,不是 XeLaTeX |
| 「报错在 usegdlibrary 这一行」 | 根因是编译器,不是拼写 |