搜「tikz undefined control sequence draw」多半是上一行少分号。本文用最小示例说明原因、排查步骤,并推荐 DrawFig 可视化出图避免语法陷阱。
\draw 明明写对了?
! Undefined control sequence.
l.42 \draw (A) -- (B);
很多人会去改第 42 行的 \draw,真正的问题往往在第 41 行末尾少了一个分号 ;。这是百度上「tikz undefined control sequence draw」「tikz 少分号」类搜索里最高频的一类。
📌 完整 7 类报错总览: TikZ 编译失败怎么办?7 类高频报错排查与 DrawFig 替代方案
\node、\draw、\path 等命令通常要以 ; 结束一条路径或一个节点声明。TeX 是按行连续读入的:若上一句没结束,下一行的 \draw 会被当成「还在上一句里的非法 token」,于是报 Undefined control sequence,行号却指向 \draw 那一行。
\begin{tikzpicture}
\node (A) {A} % ← 少了分号
\draw (A) circle (5pt); % 报错常出现在这一行
\end{tikzpicture}
\begin{tikzpicture}
\node (A) {A}; % ← 必须有分号
\draw (A) circle (5pt);
\end{tikzpicture}
; 结尾(% 注释行除外)。\node + 一条 \draw,确认环境没问题后再加回复杂代码。tikzpicture 内容再编译,缩小到具体哪一句缺分号。\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node (A) at (0,0) {A};
\draw (A) circle (3pt);
\end{tikzpicture}
\end{document}
| 现象 | 可能不是分号,而是 |
|---|---|
报 \end{tikzpicture} 未定义 |
同上,或环境没闭合 |
报 right=of 相关 |
缺 \usetikzlibrary{positioning} → 见 缺少 tikzlibrary 专题 |
| 整篇 Overleaf 红一片 | 先看 Overleaf TikZ 编译失败排查 |
\draw …;。定稿后 导出 → TikZ,再贴进论文做一次编译即可,把「分号笔误」从日常编辑里拿掉。
推荐流程: 画布编辑 → 导出 TikZ → standalone 试编译 → 并入主文档。
;。\draw 改。