← 返回博客列表

博客与动态

TikZ 云形、菱形、right=of 报错?缺少 tikzlibrary 对照表与修复

2026-05-23

「tikz 云形 编译错误」「right=of 未定义」多半是未 \usetikzlibrary。附形状/功能与库名对照表,链到 TikZ 编译失败总指南。

TikZ 云形、菱形、right=of 报错?缺少 tikzlibrary 对照表

复制了一段「能跑」的 TikZ 代码,自己却报:
! Package pgf Error: Unknown shape 'cloud' ...
Undefined control sequence 出现在 right=of A。中文搜索里「tikz 云形 报错」「tikzlibrary 没加载」非常集中——TikZ 主包不会自动带上所有形状和语法,必须手动 \usetikzlibrary{...}
📌 7 类编译问题总表: TikZ 编译失败怎么办?

常用功能 → 该加载的库

你要用的功能 / 键值 需要加载
cloud, burst 等符号形状 shapes.symbols
diamond, trapezium, regular polygon shapes.geometric
chamfered rectangle shapes.misc
right=of A, below=of B positioning
($(A)!0.5!(B)$) 坐标运算 calc
arrows.meta 箭头 arrows.meta
折线拐角 rounded corners 等(部分版本) 查文档,常已含在 tikz 核心

推荐「论文图」一次性加载

\usepackage{tikz}
\usetikzlibrary{
  positioning,
  calc,
  arrows.meta,
  shapes.geometric,
  shapes.symbols,
  shapes.misc
}

最小示例:云形节点

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.symbols}  % 必须
\begin{document}
\begin{tikzpicture}
  \node[cloud, draw] at (0,0) {云};
\end{tikzpicture}
\end{document}
去掉 \usetikzlibrary{shapes.symbols} 就会报 Unknown shape 'cloud'

和 graphdrawing 的区别

自动布局(graphdrawing\usegdlibrary)是另一类问题,需要 LuaLaTeX,见专题:usegdlibrary 报错与 LuaLaTeX

DrawFig 推荐

DrawFig 里选云形、菱形、箭头等是点选操作导出 TikZ 时会在代码里带上常用 \usetikzlibrary 提示。你合并进论文导言区后,少背这张对照表。 若导出代码与期刊模板已有库重复,保留一份、删掉重复 \usepackage 即可。

总结