TikZ
TikZ 作为 LaTeX 绘图宏包的特点、优势与适用场景说明
#status / evergreen
#type / resource
[!info] related notes LaTeX
TikZ
TikZ(通常读作 “ticks”)是 LaTeX 生态中最强大、最著名的绘图宏包。它的全称是一个有趣的递归缩写:“TikZ ist kein Zeichenprogramm”(德语,意思是“TikZ 不是一个绘图程序”)。
这句玩笑话点出了它的核心本质:它是用代码来“编程绘图”,而不是用鼠标拖拽。
核心特点与优势
-
绝对的像素级控制力 在 TikZ 中,图表的每一个元素(节点、连线、大括号、文本)都由坐标和几何指令精确控制。你可以使用数学公式、循环语句(For-loops)甚至条件判断来批量生成复杂的图形结构。这对于画严谨的系统架构图、神经网络拓扑图或时序图来说,是无可匹敌的。
-
与学术论文的完美融合 如果你用 LaTeX 写论文,TikZ 生成的图表是原生编译进 PDF 的。这意味着:图表中的字体、字号会和你的正文完全一致;图表永远是最高质量的纯矢量图,无论放大多少倍都不会模糊。
-
纯文本,利于版本控制 因为图表本身就是一段代码,你可以像管理前端项目代码一样,用 Git 来管理你的图表修改历史。
一个直观的代码对比
如果你想画一个简单的圆,并在中间写上文字,TikZ 的逻辑是这样的:
\begin{tikzpicture}
% 在坐标 (0,0) 画一个半径 1cm 的圆
\draw (0,0) circle (1cm);
% 在坐标 (0,0) 放置一个文本节点
\node at (0,0) {核心};
\end{tikzpicture}
真实的痛点(Candor)
虽然 TikZ 画出来的图极具学术美感,但它的学习曲线非常陡峭。它的官方手册有上千页厚,语法相当冗长。
- 对于习惯在本地构建知识库沉淀原子化笔记、或者在日常开发中需要快速画图的人来说,TikZ 显得太“重”了。在这些场景下,像 Mermaid 这种轻量级、开箱即用的标记语言往往效率更高。
- 如果你目前正在用 Word + Zotero 的工作流撰写论文,为了画一张图而强行引入 LaTeX 和 TikZ 环境,会带来巨大的额外心智负担。
总结建议
TikZ 是学术界排版神坛上的圣物。如果你的论文被要求必须交 LaTeX 源码,或者你追求极度严谨的排版强迫症,它值得你花几天时间去死磕。