tikz "디렉토리" 또는 키 그룹을 선언하는 방법

tikz "디렉토리" 또는 키 그룹을 선언하는 방법

아래 mwe에서는 key 를 선언 하고 사용이 작동하도록 /tikz/my key/radius설정했습니다 ./tikz/my keymy key={radius=50pt}

이는 일반적인 패턴입니다(예: ) decorate, decoration={lots of options here}.

편집: 플래그를 찾고 있으므로 .is directory쓰기 /tikz/my key/.is directory/tikz/my key/.code={\pgfkeys{/tikz/my key/.cd,#1}}.

/tikz/my key으로 설정을 시도했지만 /tikz/my key/.is family이는 노드의 다음 옵션 모두에 영향을 미칩니다. 예를 들어 단지 로 대신 debug my key에 다시 사랑하려고 시도합니다 ./tikz/my key/debug my key/tikz/debug my key

.is family하위 키 목록을 허용하도록 키를 설정하지만 .cd다른 옵션에는 적용되지 않는 것과 유사한 키 핸들러가 있습니까 ?

\documentclass{article}
\usepackage{tikz}
\begin{document}

\tikzset{
  %/tikz/my key/.is family,
  /tikz/my key/.code={
    \tikzset{%
      my key/.cd,%
      #1%
    }
  },
  /tikz/my key/radius/.initial=10pt,
  /tikz/my key/radius/.default=10pt,
}

\tikzset{
  debug my key/.style={
    my key/radius/.show value,
  }
}

\tikz\node[my key={radius=50pt}, debug my key] {};

\end{document}

답변1

코드 내에서 \pgfkeys를 사용할 수 있습니다. (질문을 올바르게 이해했다면 -- 왜 원하는지/필요한지 잘 모르겠습니다 .is family.)

\documentclass{article}
\usepackage{tikz}
\begin{document}

\tikzset{
  /tikz/my key/.is family,
  /tikz/my key/.code={
    \pgfkeys{/tikz/my key/.cd,#1}
    }
  ,
  /tikz/my key/radius/.initial=10pt,
  /tikz/my key/radius/.default=10pt,
}

\tikzset{
  debug my key/.style={
    my key/radius/.show value,
  }
}

\tikz\node[my key={radius=50pt}, debug my key, line width=2pt,draw] {blblblb };

\end{document}

그런데: pgfmodules장식.code.tex를 보면 거기에서도 이런 방식으로 수행되었는지 확인할 수 있습니다.

 /pgf/decoration/.code={\pgfkeys{/pgf/decoration/.cd,#1}},

관련 정보