tikz & pgf 手册 (3.1.5b) 笔记

1167
Tik Z& pgf 手册 (3.1.5b) 笔记 2020 7 2 TikZ & pgf 是什么? 在手册的 Introduction 部分提到:TikZ is a recursive acronym in the tradition of gnu is not unixand means TikZ ist kein Zeichenprogramm, which translates to TikZ is not a drawing program, cautioning the reader as to what to expect. 为什么说 TikZ 不是画图 程序呢?我是这样理解的,打个比方,有的单位能自己设计产品,也能自己生产产品;有的单位只 是“设计方”,只能自己设计产品,要依赖“生产方”才能得到实际的产品;TikZ 只是“设计方”, 必须借助其他的编译程序,如 X Ǝ T E X, TikZ 代码变成其他格式的文件,如 PDF 文件,然后再 PDF 阅读器才能看到图形,所以说 TikZ 不是画图程序。 pgf 是“portable graphics format”的简写。 TikZ & pgf 能做什么? 这个问题不好回答,简单地说,TikZ 主要用于图形方面的工作;而 pgf 了用在图形方面外,还有其它的用处,例如它的数学引擎和 key 机制可以单独使用。很多其它宏 包都用到 TikZ 或者 pgf. TikZ 也在不断更新,新近的版本中增加了一些有趣的内容,例如制作 SVG 动画。在将来 TikZ 应该还会有更多新内容。 TikZ 能画什么图形? 你可以翻看手册,查看各种例子,就能初步、大概地有个答案。科技资料中那些 主要使用点、线构图的图形一般都可以用 TikZ 画出来,利用线条和色彩作装饰的图形也可以画, 表格、阵列形式的内容也可以画,能画什么图形还得看使用者自己的创意。 T E X 的数值计算能力对 TikZ 的绘图潜力影响很大,在介绍 pgf 的数学引擎时作者提到:“Cur- rently, the mathematical algorithms are all implemented in T E X. This poses some intriguing programming challenges as T E X is a language for typesetting, rather than for general mathemat- ics, and as with any programming language, there is a trade-off between accuracy and effciency.详细情况可参考手册的“数学引擎”,“fpu 库”,“fixedpointarithmetic 库”。 这个笔记适合谁? 这个笔记只适合那些懒得读英文的初学者随便翻一翻。这个材料是我在学习 TikZ 时做的笔记,不是翻译 (我不懂翻译),只涉及我感兴趣并且能看懂的内容。我只是 TikZ& pgf 初级学习者、使用者,学到的也很有限,所以读者不必把这个笔记看得太认真。 这个笔记有错误吗? 当然有,我不保证笔记内容准确、正确、易于理解。如果这个笔记能帮到你,那我 挺高兴;如果帮不到你,就把它放在一边。总之,遇到任何问题,都建议初学者先去读手册原文, 再考虑其他办法。如果你有 TikZ& pgf 方面的问题,可以去 QQ (91940767) 问一下,我从群 友们那里学到不少知识。也可以去网站 http://www.latexstudio.net 的问答栏提问。

Upload: others

Post on 18-Apr-2022

39 views

Category:

Documents


0 download

TRANSCRIPT

2020 7 2
TikZ & pgf Introduction TikZ is a recursive acronym in the tradition of“gnu is not unix”and means“TikZ ist kein Zeichenprogramm”, which translates to“TikZ is not a drawing program”, cautioning the reader as to what to expect. TikZ “”“”TikZ “” XTEX, TikZ PDF PDF TikZ
pgf “portable graphics format”
TikZ & pgf TikZ pgf key TikZ pgf. TikZ SVG TikZ
TikZ TikZ
TEX TikZ pgf “Cur- rently, the mathematical algorithms are all implemented in TEX. This poses some intriguing programming challenges as TEX is a language for typesetting, rather than for general mathemat- ics, and as with any programming language, there is a trade-off between accuracy and efficiency.” “”“fpu ”“fixedpointarithmetic ”
TikZ () TikZ & pgf
TikZ & pgf QQ (91940767) http://www.latexstudio.net
TikZ & pgf QQ 91940767 http://www.latexstudio.net TikZ & pgf Manual “”——
TikZ & pgf tcolorbox tcolorbox
tcolorbox TikZ & pgf tcolorbox TikZ & pgf tcolorbox tcolorbox /tcb/listing engine=minted, XLATEX
--shell-escape -8bit( minted ) QQ (91940767),
http://www.latexstudio.net

10 Supported Formats 29 10.1 LATEX, Plain TEX, ConTEXt . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10.1.1 LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 10.1.2 Plain TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 10.1.3 ConTEXt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 10.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 10.2.2 PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 10.2.3 PostScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 10.2.4 SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 10.2.5 DVI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
11 Design Principles 32
12 Package, Environments, Scopes, and Styles 33 12.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 12.2 picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
12.2.1 picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 12.2.2 picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 12.2.3 Handling Catcodes and the Babel Package . . . . . . . . . . . . . . . . . . . . . . 36 12.2.4 Adding a Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
12.3 scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 12.3.1 scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 12.3.2 scope —scopes . . . . . . . . . . . . . . . . . . . . . . . . . . 37 12.3.3 scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 12.3.4 scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
12.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 12.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 12.4.2 style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
12.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 12.5.1 \begin{tikzpicture} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 12.5.2 \end{tikzpicture} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 12.5.3 \begin{scope} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 12.5.4 \end{scope} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 12.5.5 \begin{pgfpicture} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 12.5.6 \end{pgfpicture} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 12.5.7 pgfscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 12.5.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4
13 52 13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 13.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
13.2.1 Canvas, XYZ, and Polar Coordinate Systems . . . . . . . . . . . . . . . . . . . . 53 13.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 13.2.3 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 13.2.4 tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 13.2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
13.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 13.3.1 perpendicular . . . . . . . . . . . . . . . . . . 60 13.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
13.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 13.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 13.4.2 —— . . . . . . . . . . . . . . . . . . . . . 69 13.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
13.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 13.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 13.5.2 () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 13.5.3 — . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 13.5.4 — . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 13.5.5 — . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
13.6 TikZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 13.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
14 81 14.1 Move-To . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 14.2 Line-To . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
14.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 14.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
14.3 Curve-To . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 14.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 14.5 Rounding Corners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 14.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 14.7 Arc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 14.8 Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 14.9 Parabola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 14.10 Sine Cosine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 14.11 SVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 14.12 Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 14.13 To Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5
14.13.1 to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 14.14 Foreach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 14.15 Let . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 14.16 Scoping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 14.17 Node and Edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 14.18 Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 14.19 Pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 14.20 Attribute Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 14.21 PGF-Extra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 14.22 TikZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 14.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
14.23.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 14.23.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
15 Actions on Paths 113 15.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 15.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 15.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
15.3.1 Graphic Parameters: Line Width, Line Cap, and Line Join . . . . . . . . . . . . 114 15.3.2 Graphic Parameters: Dash Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . 116 15.3.3 Graphic Parameters: . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 15.3.4 Graphic Parameters: Double Lines and Bordered Lines . . . . . . . . . . . . . . 118
15.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 15.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
15.5.1 Graphic Parameters: Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . 120 15.5.2 Graphic Parameters: . . . . . . . . . . . . . . . . . . . . . . 120 15.5.3 Graphic Parameters: . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
15.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 15.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 15.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 15.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 15.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 15.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 15.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
16 Arrows 131 16.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 16.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 16.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
16.3.1 “” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6
16.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 16.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 16.3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 16.3.5 Reversing, Halving, Swapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 16.3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 16.3.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 16.3.8 Bending and Flexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
16.4 Arrow Tip Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 16.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 16.4.2 Specifying Paddings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 16.4.3 Specifying the Line End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 16.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 16.4.5 Scoping of Arrow Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
16.5 Reference: Arrow Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
17 Nodes and Edges 148 17.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 17.2 Nodes and Their Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
17.2.1 Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 17.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 17.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
17.3 Multi-Part Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 17.4 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
17.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 17.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 17.4.3 . . . . . . . . . . . . . . . . . . . . . 158 17.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
17.5 Positioning Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 17.5.1 anchor node . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 17.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 17.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 17.5.4 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
17.6 Fitting Nodes to a Set of Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 17.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 17.8 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 17.9 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.10 label pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
17.10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.10.2 label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 17.10.3 The Pin Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
7
17.10.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 17.11 Connecting Nodes: Using Nodes as Coordinates . . . . . . . . . . . . . . . . . . . . . . 179 17.12 Connecting Nodes: edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
17.12.1 edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 17.12.2 Edges : Quotes Syntax . . . . . . . . . . . . . . . . . . . . . . . . 182 17.12.3 edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
17.13 Referencing Nodes Outside the Current Picture . . . . . . . . . . . . . . . . . . . . . . 186 17.13.1 Referencing a Node in a Different Picture . . . . . . . . . . . . . . . . . . . . . . 186 17.13.2 Current Page Node—— . . . . . . . . . . . . . . . . . . . . . . . 187
17.14 Late Code and Late Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 17.15 TikZ node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
18 Pics: Small Pictures on Paths 199 18.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 18.2 The Pic Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
18.2.1 pic type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 18.2.2 pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 18.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 18.2.4 pic code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 18.2.5 pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 18.2.6 pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 18.2.7 pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 18.2.8 pic node . . . . . . . . . . . . . . . . . . . . . 202 18.2.9 pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 18.2.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
18.3 pic type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
19 205 19.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 19.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
19.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 19.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 19.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 19.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 19.2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 19.2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
19.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 19.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 19.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 19.3.3 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
8
19.3.4 tries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 19.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 19.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 19.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
19.6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 19.6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 19.6.3 . . . . . . . . . . . . . . . . . . . . . . . . . 229 19.6.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 19.6.5 node (text) . . . . . . . . . . . . . . . . . . . . 231
19.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 19.7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 19.7.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 19.7.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
19.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 19.9 Online Placement Strategies . . . . . . . . . . . . . . . . . . . . . . . 239
19.9.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 19.9.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 19.9.3 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 19.9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 19.9.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 19.9.6 Online Placement Strategies . . . . . . . . . . . . . . . . . . . . . . . . 263
19.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 19.10.1 graphs.standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 19.10.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 19.10.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
20 281 20.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 20.2 Matrices are Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 20.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
20.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 20.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 20.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
20.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 20.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 20.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
21 288 21.1 Child . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 21.2 Child Paths and Child Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
9
21.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 21.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 21.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
21.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 21.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 21.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 21.5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
21.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 21.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
21.7.1 node child . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 21.7.2 every child . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 21.7.3 edge from parent . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
22 308 22.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 22.2 plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 22.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 22.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 22.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 22.6 gnuplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 22.7 plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 22.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
23 323 23.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 23.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 23.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 23.4 ——fading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
23.4.1 fading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 23.4.2 fading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 23.4.3 Fading a Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
23.5 Transparency Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
24 334 24.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 24.2 decorate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 24.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 24.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
24.4.1 . . . . . . . . . . . . . . . . . . . . . . 339 24.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10
25.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 25.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
25.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 25.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 25.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
25.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 25.5 PDF Reference 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 25.6 TikZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
26 370 26.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 26.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
26.2.1 Animate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 26.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 26.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 26.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 26.2.5 ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 26.2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 26.2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 26.2.8 Scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
26.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 26.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 26.3.2 myself . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 26.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 26.3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 26.3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
26.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 26.4.1 Animating Color, Opacity, and Visibility . . . . . . . . . . . . . . . . . . . . . . . 383 26.4.2 Animating Paths and their Rendering . . . . . . . . . . . . . . . . . . . . . . . . 385 26.4.3 : Relative Transformations . . . . . . . . . . . . . . . . . . . . . . . . . 388 26.4.4 Animating Transformations: Positioning . . . . . . . . . . . . . . . . . . . . . . . 391 26.4.5 Animating Transformations: Views . . . . . . . . . . . . . . . . . . . . . . . . . . 393
26.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 26.5.1 Before and After the Timeline: Value Filling . . . . . . . . . . . . . . . . . . . . 393 26.5.2 Beginning and Ending Timelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 26.5.3 Repeating Timelines and Accumulation . . . . . . . . . . . . . . . . . . . . . . . 396
11
26.5.4 Smoothing and Jumping Timelines . . . . . . . . . . . . . . . . . . . . . . . . . . 397 26.6 Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 26.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
27 402
28 402
29 402
30 402
31 402
32 402
33 402
34 402
35 402
36 402
37 402
38 402
39 402
40.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 40.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
40.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
42 409
43 409
44 409
45 409
12
46 Bézier 409 46.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 46.2 “” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 46.3 \pgf@bbox@curveto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
47 411
48 411
49 411
50 Circuits 411 50.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
50.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 50.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 50.1.3 Symbol Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 50.1.4 Annotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
50.2 circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 50.2.1 Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 50.2.2 symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 50.2.3 symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 50.2.4 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 50.2.5 annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 50.2.6 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 50.2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
50.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 50.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 50.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 50.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 50.3.4 US . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 50.3.5 IEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
50.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 50.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 50.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 50.4.3 Symbols: Basic Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 50.4.4 Symbols: Diodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 50.4.5 Symbols: Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 50.4.6 Symbols: Measurement devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 50.4.7 Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 50.4.8 Annotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 50.4.9 EE-Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
13
51 Decoration 449 51.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 51.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
51.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 51.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
51.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 51.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 51.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
51.5.1 decorations.markings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 51.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 51.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
51.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 51.6.1 text along path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 51.6.2 text effects along path . . . . . . . . . . . . . . . . . . . . . . . . 474
51.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
54 fadings 484
55 fit 484
56 488 56.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 56.2 PGF TikZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 56.3 fp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
56.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 56.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 56.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 56.3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 56.3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 56.3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 56.3.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
57 496 57.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 57.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 57.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
14
57.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 57.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 57.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 57.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 57.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 57.4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
57.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 57.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 57.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 57.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
58 Lindenmayer System 527 58.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
58.1.1 L-S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 58.2 L-S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
58.2.1 PGF L-S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 58.2.2 TikZ L-S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
59 math 535 59.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 59.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 59.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 59.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 59.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540 59.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 59.7 \tikzmath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
60 matrix 544 60.1 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 60.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 60.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
61 547
62 547
63 547 63.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 63.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 63.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
15
64 550 64.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 64.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 64.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 64.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 64.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 64.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
65 556
66 556 66.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 66.2 Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 66.3 Comb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559 66.4 Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560 66.5 Gapped . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561 66.6 Mark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
67 Plot Mark 564
68 565
69 565
70 shadings 565
71 shadows 569 71.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 71.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 71.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
71.3.1 Drop Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570 71.3.2 Copy Shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
71.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
72 573
73 Spy 573 73.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 73.2 spy scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575 73.3 spy scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575 73.4 spy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578 73.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
16
74 topaths 579 74.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 74.2 Move-To . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 74.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 74.4 Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583 74.5 curve to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
75 through 585
77 trees 586 77.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 77.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
78 589
79 Views Library 589
80 590 80.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591 80.2 visualization Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
81 591 81.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591 81.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592 81.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 81.4 visualizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 81.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594 81.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 81.7 . . . . . . . . . . . . . . . . . . . . . . . . . 598 81.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
82 599 82.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 82.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599 82.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600 82.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602 82.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604 82.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
17
83 607 83.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607 83.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
83.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608 83.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 83.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609 83.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610 83.2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 83.2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613 83.2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 83.2.8 . . . . . . . . . . . . . . . . . . . . . . . . . . 615
83.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616 83.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 83.3.2 Scientific Axis Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 83.3.3 School Book Axis Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619 83.3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
83.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622 83.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622 83.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622 83.4.3 . . . . . . . . . . . . . . . . . . . . . . . . 623 83.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . 624 83.4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625 83.4.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628 83.4.7 style node Style . . . . . . . . . . . . . . . . . . . . . . 628 83.4.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 83.4.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631 83.4.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 83.4.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632 83.4.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634 83.4.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637 83.4.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
83.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637 83.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638 83.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641 83.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646 83.5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648 83.5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651 83.5.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653 83.5.7 key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
18
84 658 84.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658 84.2 Style Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658 84.3 Legends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 84.4 Style Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
84.4.1 Style Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 84.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 84.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
84.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666 84.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668 84.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669 84.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
84.8.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671 84.8.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
84.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676 84.9.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 84.9.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681 84.9.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683 84.9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685 84.9.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687 84.9.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688 84.9.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689 84.9.8 . . . . . . . . . . . . . . . . . . . . . . . . 690 84.9.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691 84.9.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
85 Visualizers 697 85.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697 85.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
85.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697 85.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698 85.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
85.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 85.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 85.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705
85.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
86 706 86.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 86.2 Scientific Polar Axis System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
19
86.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
87 711
88 Key Management 711 88.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711 88.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712 88.3 \pgfkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
88.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716 88.3.2 key-value “” . . . . . . . . . . . . . . . . . . . 716 88.3.3 \pgfkeys@@normal . . . . . . . . . . . . . . . . . . . . . . . . . . . 718 88.3.4 \pgfkeys@case@one . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721 88.3.5 \pgfkeys@case@two . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722 88.3.6 \pgfkeys@case@three . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
88.4 \pgfkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729 88.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731 88.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732 88.7 \def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733 88.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734 88.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740 88.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740 88.11 \pgfkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742 88.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745 88.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
88.13.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747 88.13.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748 88.13.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749 88.13.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752 88.13.5 Defining Value-, Macro-, If- and Choice-Keys . . . . . . . . . . . . . . . . . . . . 755 88.13.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759 88.13.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761 88.13.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766 88.13.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
88.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768 88.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
88.15.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772 88.15.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787 88.15.3 Filter: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
20
88.15.4 filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
89 foreach 800 89.1 commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801 89.2 foreach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801 89.3 list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802 89.4 list . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 89.5 {list} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 89.6 foreach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 89.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803 89.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805 89.9 ungrouped foreach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807
90 809
91 809
93 810 93.1 Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815 93.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815
94 816
95.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822 95.1.2 “”“” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825
95.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826 95.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
95.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 95.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832 95.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 95.3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833 95.3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836 95.3.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 95.3.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 95.3.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838
21
96 840 96.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 96.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840 96.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 96.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842
97 843 97.1 \pgfmathdeclarefunction . . . . . . . . . . . . . . . . . . . . . . . . . . . 847 97.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
97.2.1 ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847 97.2.2 pow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849 97.2.3 sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851 97.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852 97.2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854 97.2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 97.2.7 (fpu ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858 97.2.8 (fpu ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863 97.2.9 (fpu ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863 97.2.10 fpu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867 97.2.11 fpu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870
98 870 98.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870 98.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876
99 Object-Oriented Programming 880 99.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880 99.2 class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880 99.3 Compute MRO using C3 algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883 99.4 method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888 99.5 attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892
99.5.1 attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892 99.5.2 attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897
99.6 object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899 99.6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901 99.6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902 99.6.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 99.6.4 object handle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903 99.6.5 object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903
99.7 Garbage collector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904 99.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905
22
100 basic layer 909 100.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 100.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909 100.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 100.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
101 910 101.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
101.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910 101.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910
101.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911 101.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911 101.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912 101.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912
101.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912 101.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912 101.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915 101.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
101.4 Object Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920 101.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920 101.4.2 identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
101.5 Resource Description Framework Annotations (RDFa) . . . . . . . . . . . . . . . . . . 922 101.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922
102 923 102.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 102.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923 102.3 XY- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924 102.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926 102.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927
102.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927 102.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928 102.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 102.5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 102.5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930 102.5.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
102.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 932 102.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933
23
103 934 103.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934 103.2 Move-To . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935 103.3 Line-To . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936 103.4 Curve-To . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937 103.5 Close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939 103.6 Arc, Ellipse, Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940 103.7 Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945 103.8 Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946 103.9 Parabola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946 103.10 Sine Cosine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947 103.11 Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 103.12 Rounded Corners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948 103.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
104 952 104.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952 104.2 Decoration Automata . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
104.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952 104.2.2 segmentstate . . . . . . . . . . . . . . . . . . . . . . . . . . 954
104.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955 104.4 {pgfdecoration} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965 104.5 Meta-Decorations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970
104.5.1 Meta-Decorations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970 104.5.2 Meta-decorations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972 104.5.3 {pgfmetadecoration} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972
105 972 105.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972 105.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
105.2.1 Line Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974 105.2.2 Caps Joins . . . . . . . . . . . . . . . . . . . . . . . . . 974 105.2.3 Dashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975 105.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975 105.2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975 105.2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976
105.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976 105.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977
105.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 105.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978
24
105.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978 105.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978 105.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978
106 978 106.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978 106.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979 106.3 PGF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979 106.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980 106.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
106.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986 106.5.2 True–False . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986 106.5.3 setup code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987 106.5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987
107 Nodes and Shapes 995 107.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995
107.1.1 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995 107.1.2 Anchors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995 107.1.3 shape “”Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 107.1.4 Node Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996
107.2 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 107.2.1 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996 107.2.2 Multi-Part Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998 107.2.3 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001
107.3 Anchors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 107.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004 107.3.2 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006
107.4 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006 107.5 shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
107.5.1 shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008 107.5.2 Normal Anchors Saved Anchors . . . . . . . . . . . . . . . . . . . . . . . . . 1008 107.5.3 shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009 107.5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018 107.5.5 rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020 107.5.6 \pgfdeclareshape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026 107.5.7 \pgfmultipartnode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
107.6 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045 107.7 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047 107.8 node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048
25
108 1049 108.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049 108.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049 108.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050 108.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052 108.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053
109 1054 109.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054 109.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
109.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055 109.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055 109.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 109.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 109.2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
109.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063 109.3.1 View Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
109.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065 109.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066 109.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066 109.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068 109.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068 109.4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069 109.4.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070 109.4.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071
110 Patterns 1073 110.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073 110.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074 110.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078
111 1078 111.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078 111.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078 111.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079 111.4 “” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080
112 1081
26
113 Plots 1081 113.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081 113.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
113.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1082 113.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084
113.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088 113.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
114 1098 114.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1098 114.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 114.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 114.4 pgfonlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101
114.4.1 \pgfonlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101 114.4.2 \endpgfonlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1102 114.4.3 pgfpicture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1102
115 1104 115.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
115.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105 115.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105
115.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105 115.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106 115.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106
115.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111 115.4 type 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113
116 1118 116.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1118 116.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119 116.3 Fading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119 116.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1121
117 Animations 1122 117.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122 117.2 Animating an Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122
117.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122 117.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124 117.2.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125
117.3 Animating Color, Opacity, Visibility, and Staging . . . . . . . . . . . . . . . . . . . . . 1126 117.4 Animating Paths and their Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127
27
117.5 Animating Transformations and Views . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128 117.6 Commands for Specifying Timing: Beginnings and Endings . . . . . . . . . . . . . . . . 1129 117.7 Commands for Specifying Timing: Repeats . . . . . . . . . . . . . . . . . . . . . . . . . 1130
118 1130
119 1132 119.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132 119.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133 119.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133 119.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134
120 1134 120.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134 120.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135
121 1135 121.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1135 121.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 121.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 121.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138 121.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139 121.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140 121.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141 121.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1142 121.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 121.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 121.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 121.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 121.13 Object Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 121.14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1150 121.15 “” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151 121.16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151 121.17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151 121.18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1152
122 1152 122.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1152 122.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153 122.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1153 122.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154
28
A 1154 A.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154 A.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155 A.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166
10 SUPPORTED FORMATS 29
10.1.1 LATEX
\usepackage{pgf} \usepackage{tikz}
latex/pgf .sty generic/pgf
10.1.2 Plain TEX
Plain TEX
\pgfpicture content \endpgfpicture
10.1.3 ConTEXt
\startpgfpicture content \stoppgfpicture
10.2
TEX 2 .dvi (device-independent file) .dvi PostScript
• .tex latex−−−→.dvi dvips−−−→.ps ps2pdf−−−−→.pdf • .tex tex−−→.dvi dvipdfm−−−−→.pdf • .tex latex−−−→.dvi tex4ht−−−−→.html • .tex pdftex−−−−→.pdf • .tex pdflatex−−−−−→.pdf
10.2.1
LATEX pgf graphics pgf \pgfsysdriver dvips,
\def\pgfsysdriver{pgfsys-dvips.def}
\def\pgfsysdriver{pgfsys-pdftex.def}
10.2.2 PDF pgfsys-pdftex.def pdfTEX pgfsys-common-pdf.def.
pgfsys-dvipdfm.def (la)textodvipdfm pgfsys-common-pdf.def. pgf
1. LATEX graphics masking. 2. plainTEX
pgfsys-xetex.def xe(la)tex→xdvipdfmx
pgfsys-vtex.def vtex pgfsys-common-postscript.def. vtex PDF Postscript pgf
1. LATEX graphics masking. 2. plainTEX 3. (Shading), dvips 4. 5.
10 SUPPORTED FORMATS 31
10.2.3 PostScript
pgfsys-dvips.def (la)textodvips pgfsys-common-postscript.def. pgf
1. LATEX graphics masking. 2. plainTEX 3. (Shading), pdf 4. Ghostscript 5. pdftex
pgfsys-textures.def textures pgfsys-common-postscript.def.
10.2.4 SVG pgfsys-dvisvgm.def DVI SVG graphics (?) LATEX tikz dvisvgm pgf beamer dvisvgm.
\documentclass[dvisvgm]{minimal} \usepackage{tikz} \begin{document} Hello \tikz [baseline] \fill [fill=blue!80!black] (0,.75ex)
circle[radius=.75ex];→
pgfsys-tex4ht.def tex4ht. pgfsys-common-svg.def. tex4ht .dvi .html HTML pgf SVG
1. LATEX graphics 2. plainTEX 3. 4. pgfpicture SVG 5. Unlike for other output formats, the bounding box of a picture “really crops”the picture.
11 DESIGN PRINCIPLES 32
6. 7. (Shading), pdf
pgfpicture \special tex4ht \jobname-xxx.svg ( xxx) pgfpicture SVG PostScript/PDF imaging model and the processing model SVG SVG
/pgf/tex4ht node/escape=boolean (default false) false SVG (), subscripts and superscripts (but not subsubscripts), HTML • • $\alpha$, node[/pgf/tex4ht node/escape=true] {text} pgf HTML text,
/pgf/tex4ht node/css=filename (default \jobname) CSS node tex4ht node/escape=true
/pgf/tex4ht node/class=class name (default foreignobject) node tex4ht node/escape=true
/pgf/tex4ht node/id=id name (default \jobname picturenumber-nodenumber) node id, tex4ht node/escape=true
10.2.5 DVI pgfsys-dvi.def texr4ht.
11 Design Principles
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 33
5. node
6. tree
7. graph
12 Package, Environments, Scopes, and Styles
12.1
\usepackage{tikz} % LATEX \input tikz.tex % plain TEX \usemodule[tikz] % ConTEXt . TikZ pgf, pgffor . LATEX , pgf . plain TEX ConTEXt dvipdfm, pgf . , tikz.tex
\def\pgfsysdriver{pgfsys-dvipdfm.def}
pgf.sty, pgffor.sty, tikz.code.tex pgf, TikZ tex/generic/pgf
\usetikzlibrary{list of libraries} TikZ libraries. libraries
\usetikzlibrary[list of libraries]
list of libraries library tikzlibrarylibrary.code.tex pgflibrarylibrary.code.tex library ( pgf ) ( TEX )
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 34
12.2 picture
12.2.1 picture
TikZ {tikzpicture} LATEX
\begin{tikzpicture}animations spec[options] environment content
\end{tikzpicture} TikZ \path \tikzset \pgfpathmovetooptions (picture) animations (animation command) environment content \nullfont pgf pgf (bounding box) (picture box) pgf bounding box bounding box bounding box ( ) bounding box /tikz/use as bounding boxÕ P. 123
/tikz/baseline=dimension or coordinate or default (default 0pt)
xx xx xx\tikz{ \draw[line width=6pt](0,0)circle(10pt);
}xx
y = value (value) • dimension • coordinate coordinate coordinate coordinate node
Hello world Hello \tikz[baseline=(X.base)] \node [cross out,draw] (X) {world};
Top align: Top align: \tikz[baseline=(current bounding box.north)] \draw (0,0) rectangle (1cm,1ex);
baseline=default
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 35
code {tikzpicture} code
X
\begin{tikzpicture}[execute at begin picture=% { \draw (0,0) rectangle (2,2); }] \node at (1,1) {\large X};
\end{tikzpicture}
/tikz/execute at end picture=code (no default) code {tikzpicture} code
X
\begin{pgfonlayer}{background} \path[fill=red!30,rounded corners] (current bounding box.south west) rectangle (current bounding box.north east);
\end{pgfonlayer} }] \node at (0,0) {X}; \node at (2,1) {Y};
\end{tikzpicture}
\tikzset{every picture/.style={draw=red,semithick,execute at end picture={...}}}
\tikzpicture[options] environment contents \endtikzpicture plain TeX
\starttikzpicture[options] environment contents \stoptikzpicture ConTeXt
12.2.2 picture
\tikzanimations spec[options]{path command} {tikzpicture} {path command}{path command} ()
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 36
12.2.3 Handling Catcodes and the Babel Package
TikZ 12 babelTikZ babel () babel {tikzpicture} node
12.2.4 Adding a Background
12.3 scope
{tikzpicture} {scope} scope {scope} {tikzpicture} scope “” TEX ( TEX )
12.3.1 scope
\end{scope} options environment contents (clip- ping path) [options]
/tikz/name=scope name (no default) {scope} (animations) high-level
/tikz/every scope (style, initially empty) {tikzpicture} {tikzpicture} {scope} {tikzpicture}
\tikzset{every scope/.style={...}}
{tikzpicture} {scope}
/tikz/execute at begin scope=code (no default) code {scope} {scope} {scope} {scope}
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 37
\begin{tikzpicture} \begin{scope}[execute at begin scope={%
\def\aaaa{2pt} \draw (1,1) circle (\aaaa); \edef\aaaa{\aaaa + 2pt}
}] \draw (0,0)--(1,1); \begin{scope}[shift={(0,-1)}]
\draw (1,0)--(2,1); \end{scope}
\end{scope} \end{tikzpicture}
/tikz/execute at end scope=code (no default) code {scope} {scope} {scope} {scope}
\scopeanimations spec[options] environment contents \endscope
Plain TeX {scope} \startscopeanimations spec[options] environment contents \stopscope
ConTeXt {scope}
TikZ Library scopes \usetikzlibrary{scopes} % LaTeX and plain TeX \usetikzlibrary[scopes] % ConTeXt
scopeÕ P. 36
tikz picture () {scope} “–––––”
{[options] environment contents
}
{[options] \begin{scope}[options] } \end{scope}
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 38
\begin{tikzpicture} { [ultra thick]
} {[green]
} \end{tikzpicture}
\tikz{{ [red] \draw (0,0)--(1,1); }}
} \end{tikzpicture}
1
2 \begin{tikzpicture} \draw (0,0)--(1,0); {[red]
\draw (0,0) circle (1cm); \foreach \i in {1,2} \node at (0,\i) {\i}; {[green,yshift=0.5cm] \draw (0,0)--(1,1); }
} \end{tikzpicture}
\foreach {scope} \tikzmath{} {scope}
12.3.3 scope
\scopedanimations spec[options]path command \tikz {tikzpicture} {scope} [options] path command path command
12.3.4 scopes
\path (path) (graphic options) scope scope
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 39
\tikz \draw (0,0) -- (1,1) {[rounded corners, red] -- (2,0) -- (3,1)} -- (3,0) -- (2,1);
rounded corners red \draw draw=black black red scope “{[...]”“--”
\tikz \draw (0,0) -- (1,1) { -- (2,0) -- (3,1) } -- (3,0) -- (2,1);
TikZ { \tikz@beginscope, } \tikz@endscope.
12.4
12.4.1
TikZ (options) key, () key-value lists. \tikzset
\tikzset{options} \pgfkeys optionsoptions“”(key=value) pgfkeys (key=value) 1. key key ( / ) 2. /tikz/key key 3. /pgf/key key 4. key color=key 5. key (dash) arrows=key 6. key shape shape=key 7. /tikz /pgf \tikzset
\tikzoption{name}[default value]{code} TikZ /tikz name () default value [default value] code name=value value code \tikzset. tikz.code.tex.
% [default value] \pgfkeysdef{/tikz/name}{code}% \pgfkeyssetvalue{/tikz/name/.@def}{default value} % [default value]
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 40
\pgfkeysdef{/tikz/name}{code}% \pgfkeyssetvalue{/tikz/name/.@def}{\pgfkeysvaluerequired}
\pgfkeysdefÕ P. 734, \pgfkeyssetvalueÕ P. 712. • \pgfkeysdefÕ P. 734 :
– \csname pgfk@full key name/.@cmd\endcsname – \csname pgfk@full key name/.@body\endcsname “\tikzoption{name}...” \pgfkeysvalueofÕ P. 714{full key name} name \pgfkeysvalueof \csname pgfk@full key name\endcsname.
• \pgfkeysdefÕ P. 734 code group “”
12.4.2 style
pgfkeys style () style
help lines
\tikz[help lines]{ \draw (0,0)--(2,0); \fill (0,0.5) rectangle (2,1);
}
\tikzset{help lines/.style={color=gray,line width=0.2pt}}
style \tikzset ( \pgfkeys) (handler) /.style
key/.style={values}
\tikzset
}
my style
}
/.append style “”
\tikz[my style/.style={rounded corners, draw=red, fill=green}]{ \filldraw [my style/.append style={line width=4pt, fill=none}, my
style]→
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 41
/.append style /.style /.style \filldraw
rounded corners, draw=red, fill=green, line width=4pt, fill=none
/.prefix style /.style /.style={value} value #1
pgfkeys style /.default
/tikz/style={key-value list} \tikzset{style={key-value list}} \tikzset{key-value list}.
A \tikz\node[style={draw=red,fill=green,line width=1mm}]{A};
12.5
\def\tikzpicture{% \begingroup%
\tikz@startup@env% \tikz@collect@scope@anims\tikz@picture}%
\tikz@switchoff@shorthands% \fi% \expandafter\tikz@atbegin@picture% \tikz@lib@scope@check%
1. \begingroup
2. \tikz@startup@env, “;”,“;”,“:”,“|”,“,”,“<”, “>”,“"”,“'”,“-”,“=”,“.”,“$” 12
3. \tikz@collect@scope@anims,
}%
4. \tikz@picture[options], (a) \pgfpicture pgf (b)
\let\tikz@atbegin@picture=\pgfutil@empty% \let\tikz@atend@picture=\pgfutil@empty% \let\tikz@transform=\relax%
(c) \def\tikz@time{.5} (d) \tikz@installcommands, \path, \draw, \scope (e) \scope[every picture,options], \scope \tikz@scope@env, {scope} {tikzpicture} {scope} {scope} {tikzpicture} options \scope
(f)
\iftikz@handle@active@code% \tikz@switchoff@shorthands%
%...... \let\tikz@atbegin@picture=\pgfutil@empty
\tikz@atbegin@picture execute at begin picture
12.5.2 \end{tikzpicture}
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 43
\global\let\pgf@trimleft@final@smuggle=\pgf@trimleft% \global\let\pgf@trimright@final@smuggle=\pgf@trimright% \global\let\pgf@remember@smuggle=\ifpgfrememberpicturepositiononpage% \pgf@remember@layerlist@globally \endscope% \let\pgf@baseline=\pgf@shift@baseline@smuggle% \let\pgf@trimleft=\pgf@trimleft@final@smuggle% \let\pgf@trimright=\pgf@trimright@final@smuggle% \let\ifpgfrememberpicturepositiononpage=\pgf@remember@smuggle% \pgf@restore@layerlist@from@global
\endpgfpicture\endgroup}%
\tikzoption{execute at end picture}{\expandafter\def\expandafter \tikz@atend@picture\expandafter{\tikz@atend@picture#1}}%→
%...... \let\tikz@atend@picture=\pgfutil@empty
2.
pgfcorescopes.code.tex \pgf@remember@layerlist@globally pgfcorelayers.code.tex \pgf@layerlist, \pgfsetlayersÕ P. 1099.
3. \endscope, \tikzpicture \scope. 4.
\let\pgf@baseline=\pgf@shift@baseline@smuggle% \let\pgf@trimleft=\pgf@trimleft@final@smuggle% \let\pgf@trimright=\pgf@trimright@final@smuggle% \let\ifpgfrememberpicturepositiononpage=\pgf@remember@smuggle%
5. \pgf@restore@layerlist@from@global, pgfcorescopes.code.tex 6. \endpgfpicture, \tikzpicture \pgfpicture.
7. \endgroup, \tikzpicture \begingroup.
12.5.3 \begin{scope}
\begin{scope} \scope. \tikz@installcommands \scope \tikz@scope@env,
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 44
\def\tikz@scope@env{% \pgfscope% \begingroup% \let\tikz@atbegin@scope=\pgfutil@empty% \let\tikz@atend@scope=\pgfutil@empty% \let\tikz@options=\pgfutil@empty% \tikz@clear@rdf@options% \let\tikz@mode=\pgfutil@empty% \let\tikz@id@name=\pgfutil@empty% \tikz@transparency@groupfalse% \tikzset{every scope/.try}% \tikz@collect@scope@anims\tikz@scope@opt%
}% \def\tikz@scope@opt[#1]{%
[\tikz@transparency@group@options]\tikz@blend@group\fi%→
\tikz@is@nodefalse% \tikz@call@id@hook% \pgfidscope%
}%
• \tikz@atbegin@scope /tikz/execute at begin scopeÕ P. 36,
• \tikz@atend@scope /tikz/execute at end scopeÕ P. 37,
• \tikz@options \tikz@addoption
}}%→
\tikz@options, \tikz@options \tikz@addoption, draw opacity
\tikzoption{draw opacity}{\tikz@addoption{\pgfsetstrokeopacity{#1}}}%
12 PACKAGE, ENVIRONMENTS, SCOPES, AND STYLES 45
draw opacity=0.5 pgf \pgfsetstrokeopacity{0.5} \tikz@options
\tikz@options \tikz@addoption “”