据我了解,TikZ 中的基本单位长度是 1cm,例如
\draw (0,0) -- (1,0);
画一条长度为 1cm 的线。我想要做的是重新定义该长度,以便文档中的所有绘图都是不同的大小。如何使用 ConTeXt 来实现这一点?
答案1
x
您可以使用、y
和键独立设置 TikZ 中 X、Y 甚至 Z 坐标的单位长度z
:
\begin{tikzpicture}[x=2cm,y=1.5cm]
...
参见pgfmanual
第 249 页第 22.2 节XY 和 XYZ 坐标系。
请注意,TikZ 实际上没有单位长度,而是使用向量。因此,上述键也接受(a,b)
坐标(必须用 括起来{ }
才能隐藏,
)。X 和 Y 单位向量不需要彼此正交。上述代码是 的简短版本[x={(2cm,0cm)},y={(0cm,1.5cm)}]
。
您也可以使用提到的选项scale
,但我更喜欢上述选项。一个区别是,具有明确单位的坐标也会使用 进行缩放scale
。例如,当设置为(2cm,2)
时,两个方向的坐标均为 3 厘米,但设置为 时。scale=1.5
(2cm,3cm)
x=1.5cm,y=1.5cm
使用向量的一个问题是,即使对于 XY(无 Z)正交坐标系的默认设置,您也无法访问有效单位长度。我个人需要将其用于我的tikz-timing
包。您需要为此使用 PGF 代码:\pgfpointxy{1}{1}
将为您提供 X 和 Y 单位长度和\pgf@x
。\pgf@y
但请注意,这些长度寄存器将被下一个 PGF 或 TikZ 命令覆盖。