
아래 mwe에서는 key 를 선언 하고 사용이 작동하도록 /tikz/my key/radius
설정했습니다 ./tikz/my key
my 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}},