直接设置全局 tikz 选项与在“每张图片”样式中设置全局 tikz 选项

直接设置全局 tikz 选项与在“每张图片”样式中设置全局 tikz 选项

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密钥,它将覆盖以前的密钥,这就是所提到的。

但如果只设置一次那么它将总是被许多其他键覆盖。

相关内容