tikz定位方法

2021年11月23日

参见 pgfmanual.pdf chapter 13.

数值坐标

(x:y) polar coordinates. (30:1cm) 根据当前位置定位,角度为30度,长度为1cm。0度为正右,90度为正上。

(x,y) 在x-y坐标系的绝对位置。

+(x,y) 在x-y坐标系,基于当前位置添加偏移量计算出新坐标。

++(x,y) 在x-y坐标系,基于当前位置添加偏移量计算出新坐标,设新坐标为当前位置。

命名坐标

坐标可以被给与名称。tikz内置了一些命名坐标,用户也可以自己给一个坐标命名。

内置命名坐标

(current subpath start)

使用at命令

\node at (current page.center) { ... };

\node at (p |- q) { ... };

node定位在p的垂直线和q的水平线的交界处。

可以用.语法修改锚点

\node at (p |- q.north) { ... };

node定位在p的垂直线和q的北边的水平线的交界处。

可以用option里的anchor修改node本身的锚点。

\node[anchor=south] at (p |- q.north) { ... };

先计算p的垂直线和q的北边的水平线的交界处,这个交界处定位node本身的南边。(默认是定位node的中心)

-|同理。

使用option

绝对定位加偏移

\draw[red, overlay]([shift={(-.1,.1)}]a.north west) rectangle ([shift={(.1,-.1)}]a.south east);

\node[right=of tr, anchor=south, yshift=0.3cm] (ex) {hunk header};

\usetikzlibrary{positioning}
\node[right=2cm of tr]

计算

需要calc library。

\draw ($(parser)!0.5!(c2)$) |-(c3);

pgfmanual.pdf chapter 17.5.3 Advanced Placement Options