\tikzset을 사용하여 코드 블록을 설정하는 방법

\tikzset을 사용하여 코드 블록을 설정하는 방법

저는 항상 반복해서 다시 작성해야 하는 고정된 TikZ 코드 블록을 사용하여 많은 반복 작업을 수행하고 있는 자신을 발견했습니다. 내 질문은 단일 인수 내에 TikZ 실행 가능 명령 블록(스타일뿐만 아니라)을 만들고 해당 인수를 스타일로 호출하는 것이 가능하다는 것입니다.

이걸 고려하세요:

\usepackage{tikz}
\usetikzlibrary{calc}
\begin{tikzpicture}
\coordinate [label = below:A](A) at (0, 0);
\coordinate [label = above:B](B) at (3, 3);
\draw (A) -- (B);
\draw [|-|, thin] ($(A)! 8mm !90:(B)$)  -- node [sloped, midway, fill = white]{$3$cm}
($(B)! -8mm !90:(A)$);%This is too long and It would awesome to abstract it
\end{tikzpicture}

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

내가 알고 싶은 것은 다음과 같은 것이 있는지입니다.

\tikzset{
dimension line/.code arg={from#1to#2value#3}
    draw the dimension line between (A) and (B),
    add a node in the middle with blah style and blau value
}

그래서 사용하는 것은

\draw[dimension line=from A to B value 3cm] (A)--(B);

동일한 출력이 생성됩니다. 그러면 최소한의 노력으로 작업을 수행하고 추상화가 가능해집니다. 이 예제는 TikZ에서 코드 블록을 생성하는 방법을 이해하기에 충분히 간단하다고 생각합니다. 감사합니다.

답변1

이것은 실제 답변보다 긴 설명입니다.

모든 tikz-dimline예제에서는 데카르트 좌표를 사용하지만 명명된 좌표를 사용할 수도 있습니다.

\documentclass[border=2mm,tikz]{standalone}
\usepackage{tikz-dimline}

\begin{document}
\begin{tikzpicture}

\draw[red] (0,0) coordinate (A) -- (45:3) coordinate (B);
\dimline[color=blue]{([shift={(-3mm,3mm)}]A)}{([shift={(-3mm,3mm)}]B)}{3cm};
\end{tikzpicture}
\end{document}

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

어쨌든, 나는 마침내 내가 찾던 질문을 찾았습니다.

TikZ에서 장식으로 선의 치수 그리기

관련 정보