전역 tikz 옵션을 직접 설정하는 것과 '모든 그림' 스타일 내부에서 설정하는 것

전역 tikz 옵션을 직접 설정하는 것과 '모든 그림' 스타일 내부에서 설정하는 것

버전 3.0.1a용 TikZ & PGF 매뉴얼에는 3페이지의 스타일 설명이 나와 있습니다 /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키가 포함되어 있으면 이전 키를 덮어쓰게 되며 이것이 언급된 것입니다.

그러나 한 번만 설정하면 항상 다른 많은 키로 덮어쓰게 됩니다.

관련 정보