노드와 화살표

명명된 노드, 상대 배치, 화살표 팁.

노드와 화살표

거의 모든 TikZ 다이어그램은 두 가지 구성 요소로 축소됩니다. 노드는 위치가 지정된 콘텐츠 조각으로, 일반적으로 레이블이 지정된 상자나 원입니다. 모서리는 두 노드를 연결하는 선 또는 화살표입니다. 노드를 배치하고 결합할 수 있으면 순서도, 파이프라인 및 블록 다이어그램은 모두 다양한 크기에서 동일한 작업이 됩니다. 아래 예에서는 두 개의 명명된 상자를 배치하고 그 사이에 레이블이 지정된 화살표를 그립니다.

\usetikzlibrary{positioning,arrows.meta}
\begin{tikzpicture}
\node[draw] (src) {Source};
\node[draw, right=2cm of src] (dst) {Sink};
\draw[-{Latex}] (src) -- node[above] {edge} (dst);
\end{tikzpicture}

노드 이름 지정 및 배치

\node[draw] (src) {Source};에서 대괄호 옵션은 노드 스타일을 지정하고 draw는 테두리를 그리는 것을 의미하며, 이 없이 부동 텍스트를 얻습니다. (src)는 노드의 이름이고 {Source}는 노드의 내용입니다. 이름은 중요한 부분입니다. 이름을 사용하면 다른 명령이 해당 노드의 좌표를 알지 못한 채 이 노드를 참조할 수 있습니다.

두 번째 노드는 이것이 중요한 이유를 보여줍니다. right=2cm of srcpositioning 라이브러리에서 가져온 것이며 dstsrc의 오른쪽 2cm에 배치하며 경계선 사이를 측정합니다. 라이브러리는 왼쪽=of, 위=of, 아래=of오른쪽=of와 같은 대각선 조합도 제공합니다. 이런 방식으로 다이어그램을 작성하면(기존 노드에 상대적인 각 노드) 텍스트 크기가 변경될 때 레이아웃이 그대로 유지됩니다. \node at (4,2)와 같은 절대 좌표는 여전히 유용하지만 이를 기반으로 작성된 다이어그램은 상자 하나가 커질 때마다 수동으로 번호를 다시 매겨야 합니다.

화살표 그리기

\draw (src) -- (dst);는 명명된 두 노드 사이에 직선을 그리고 TikZ는 중심이 아닌 노드 경계에서 자동으로 선을 시작하고 끝냅니다. [-{Latex}] 옵션은 화살표 끝을 지정합니다. 하이픈 앞에 아무것도 없으면 꼬리 끝이 없음을 의미하고, Latex 이후에는 대상의 arrows.meta 라이브러리에서 실선 화살촉을 선택합니다. {Latex}-{Latex}를 쓰면 양방향 화살표가 나타납니다.

중간 경로 node[above] {edge}는 라인 자체에 부착된 라벨입니다. 경로 내부에 작성된 노드는 기본적으로 경로의 해당 지점(기본적으로 중간)에 배치되며 ’위’는 텍스트가 획에 위치하지 않도록 선 바로 위로 이동합니다. 이는 전환 및 데이터 흐름에 주석을 추가하는 표준 방법입니다.

효과가 있는 습관

작은 다이어그램에서도 모든 노드에 이름을 지정하세요. 이름이 없는 노드는 연결할 수 없으며 작은 다이어그램은 작은 상태로 유지되는 경우가 거의 없습니다. 같은 이유로 절대 좌표보다 ’위치 지정’의 상대 배치를 선호합니다. 모든 TikZ 문은 세미콜론으로 끝납니다. 하나를 생략하는 것은 가장 일반적인 TikZ 오류이며, 메시지는 종종 실제 문제와는 거리가 먼 것을 가리킵니다. 많은 상자를 깔끔한 행과 열로 배열하려면 정렬된 순서도 상자를 계속 진행하세요.

TeX에서 그리기(으)로 돌아가기