다이아몬드의 서쪽 모서리에서 다이아몬드의 동쪽 모서리까지 고리를 만드는 방법은 그림과 같습니다.
수치
암호
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usepackage{amssymb}
\begin{document}
\begin{tikzpicture}[->, >=stealth, auto, semithick,
node distance=3cm,shorten >=2pt,shorten <=2pt,
mynode/.style={fill=white,draw,
diamond,thick,inner sep=5pt}]
\node[mynode] (A) {$1$};
\node[mynode] (B)[right of=A] {$2$};
\node[mynode] (C)[right of=B] {$3$};
\node[mynode] (D)[right of=C] {$4$};
\path[black](A.east) edge[bend left] node{S} (B.west)
(B.west) edge[bend left] node{U} (A.east)
(B.east) edge node{E} (C.west)
(C.east) edge node{S} (D.west)
(B) edge[loop above] node{P} (B)
(B) edge[loop below] node{C} (B)
(C) edge[loop above] node{N} (C);
\end{tikzpicture}
\end{document}
산출
답변1
다음은 세 개의 별도 s를 사용하는 한 가지 방법입니다 \draw
.
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usepackage{amssymb}
\begin{document}
\begin{tikzpicture}[->, >=stealth, auto, semithick,
node distance=3cm,shorten >=2pt,shorten <=2pt,
mynode/.style={fill=white,draw,
diamond,thick,inner sep=5pt}]
\node[mynode] (A) {$1$};
\node[mynode] (B)[right of=A] {$2$};
\node[mynode] (C)[right of=B] {$3$};
\node[mynode] (D)[right of=C] {$4$};
\path[black](A.east) edge[bend left] node{S} (B.west)
(B.west) edge[bend left] node{U} (A.east)
(B.east) edge node{E} (C.west)
(C.east) edge node{S} (D.west);
\draw (B.west) to[out=110,in=70,looseness=3] node{P} (B.east);
\draw (B.west) to[out=-110,in=-70,looseness=3] node[swap]{C} (B.east);
\draw (C.west) to[out=110,in=70,looseness=3] node{N} (C.east);
\end{tikzpicture}
\end{document}
답변2
다음 대신에 라이브러리 arrows.meta
및 bending
및 quotes
를 사용하는 대안 :arc
loop
\documentclass[tikz, border=5mm]{standalone}
\usetikzlibrary{arrows.meta, bending, quotes, shapes.geometric}
\begin{document}
\begin{tikzpicture}[-{Stealth[bend]}, auto, semithick,
node distance=3cm,
shorten >=2pt, shorten <=2pt,
mynode/.style={diamond,draw, thick, minimum size=8mm, inner sep=0pt}
]
\node[mynode] (A) {$1$};
\node[mynode] (B)[right of=A] {$2$};
\node[mynode] (C)[right of=B] {$3$};
\node[mynode] (D)[right of=C] {$4$};
\path[black](A.east) edge[bend left, "S"] (B.west)
(B.west) edge[bend left, "U"] (A.east)
(B.east) edge["E"] (C.west)
(C.east) edge["S"] (D.west);
\draw ([yshift= 2pt] B.west) arc (235:-55:0.7) node[midway,below] {P};
\draw ([yshift=-2pt] B.west) arc (-235:55:0.7) node[midway,above] {C};
\draw (C.west) arc (235:-55:0.7) node[midway,below] {N};
\end{tikzpicture}
\end{document}
arc
반경 결정 시 end angle
다음 관계가 고려되었습니다.
arc
와 는 P
노드 C
1과 2 사이의 굽힘선과 겹치지 않도록 2pt에 대해 수직으로 이동됩니다.