TikZ&PGF 手册 3.0.1a 版在/tikz/every picture
第 125 页的样式描述中指出:
您不应该直接使用来设置选项。例如,如果您想默认
\tikzset
使用线宽,请不要尝试在文档开头说。这不会起作用,因为线宽在许多地方都会改变。相反,说1pt
\tikzset{line width=1pt}
\tikzset{每张图片/.style={线宽=1pt}}
这将会达到预期的效果。
为什么在许多地方改变线宽会影响直接选项,但不会影响样式内的相同选项?
答案1
TikZ 在每个图片。它利用了 TeX 行为不会删除任何内容,只会覆盖。
因此,在设置 TikZ 图片时,它还会设置线宽、默认颜色等,而在初始化结束时它会执行every ...
键。
因此大致如下
\tikzset{ line width = 0.3 pt,
line join = miter,
...,
every picture,
every path,
every node
every label
...
}
(我只是猜测我根本没有检查过的顺序)。
因此,密钥是有顺序的every ...
,如果其中任何一个密钥包含line width
密钥,它将覆盖以前的密钥,这就是所提到的。
但如果只设置一次那么它将总是被许多其他键覆盖。