코드 및 스타일 태그를 사용하여 새 TikZ 키 생성

코드 및 스타일 태그를 사용하여 새 TikZ 키 생성

TikZ 키 정의 내에서 복잡한 계산을 수행하고 싶다고 가정해 보겠습니다. 이를 수행하는 데 권장되는 방법은 무엇입니까?

매뉴얼을 읽고 다른 질문을 파헤쳐 보면 해결책이 다음과 같을 것이라고 믿게 되었습니다.

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\tikzset{mykey/.style args={#1,#2,#3}{mykey/.code={%
      % perform complicated calculation involving #1, #2 and #3 here
      \def\x{5}
    },
    scale=\x
}}

\begin{tikzpicture}[mykey={1,2,3}]
  \draw[->] (0,0) -- (1,0);
\end{tikzpicture}

\end{document}

그러나 이것은 작동하지 않습니다.

! Undefined control sequence.
<argument> \x 

이 작업을 올바르게 수행하려면 어떻게 해야 합니까?

답변1

다음은 이를 수행하는 방법의 예입니다.

\documentclass[varwidth,border=10]{standalone}
\usepackage{tikz}

\begin{document}

\tikzset{
  mykey/.code args={#1,#2,#3}{
    % perform complicated calculation involving #1, #2 and #3 here
    % for example
    \pgfmathparse{(#2-#1)*#3}
    \pgfkeysalso{/tikz/scale=\pgfmathresult}
  }
}

\begin{tikzpicture}
  \draw[->, mykey={1,2,3}] (0,0) -- (1,0);
  \draw[->, thick, red] (0,0) -- (1,0);
\end{tikzpicture}

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보