グローバル tikz オプションを直接設定するか、「すべての画像」スタイル内で設定するか

グローバル tikz オプションを直接設定するか、「すべての画像」スタイル内で設定するか

TikZ & PGF マニュアル バージョン 3.0.1a の/tikz/every picture125 ページのスタイルの説明には、次のように記載されています。

を直接オプション設定に使用しないでください\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キーが含まれている場合は、以前のキーが上書きされます。これが説明されている内容です。

ただし、一度だけ設定すると、他の多くのキーによって常に上書きされます。

関連情報