Tikz: 동일한 \draw 명령 내에서 선 스타일을 변경할 수 있습니까?

Tikz: 동일한 \draw 명령 내에서 선 스타일을 변경할 수 있습니까?

동일한 명령으로 tikz 그림의 선 스타일을 변경할 수 있습니까 \draw?

나는 다음과 같은 것을 찾고 있습니다 :

\documentclass[tikz]{standalone}
\begin{document}
    \begin{tikzpicture}
        \draw[style1] (0,0) -- ++(1,0)  **CHANGE STYLE** -- ++(1,0);
    \end{tikzpicture}
\end{document}

주된 동기는 긴 명령을 계속하면서 상대 좌표를 잃고 싶지 않다는 것입니다 \draw.

답변1

동일한 경로 내에 여러 선 스타일을 사용할 수 없습니다. 옵션을 변경하기 위해 경로의 거의 모든 곳에 대괄호를 삽입할 수 있지만 대부분의 경우 전체 경로에 영향을 미칩니다.

한 가지 방법은 edge실제로 별도의 경로라는 점에서 노드와 유사한 작업을 사용하는 것입니다.

\draw[style1] (0,0) -- ++(1,0) edge[style2] ++(1,0);

이는 직선과 기본 곡선에 적합합니다(try bend leftin angleout angle옵션 style2).

coordinateJens Polz의 답변에 추가하여 다음 대신 작업을 사용하는 것이 좋습니다 node. 이를 사용하면 빈 노드 내용을 제공할 필요가 없으며 경로에 공백도 생기지 않습니다.

\draw[style1] (0,0) -- ++( 1,0) coordinate (x);
\draw[style2] (x)   -- ++( 0,1) coordinate (x);
\draw[style3] (x)   -- ++(-1,0);

이 임시 좌표에 동일한 이름을 다시 사용할 수 있습니다.

답변2

플롯 명령 내에서 스타일을 변경할 수 있는지 확실하지 않으므로 귀하의 질문에 대한 답변을 직접 듣고 싶습니다. 그러나 상대 좌표를 잃지 않으려면 다음을 수행할 수 있습니다. 플로팅 명령의 마지막 좌표에 노드를 배치하고 이름을 지정하면 상대 좌표를 잃지 않고 다음 명령에서 이를 호출할 수 있습니다.

\documentclass[tikz]{standalone}

\begin{document}

\begin{tikzpicture}
  \draw[thick] (0,1) -- ++ (1,0) -- ++ (4,2) -- ++ (1,1) node(A)[inner sep=0]{};
  \draw[thick, dashed] (A) -- ++ (-2,0) -- ++ (0,-2) node(B)[inner sep=0]{};
  \draw[thick] (B) -- ++ (2,0);
\end{tikzpicture}  
\end{document}

관련 정보