\path (a) edge [edge, loop left] node {$1_a$} (a)
경로의 시작과 끝이 모두 노드 근처에 있지만 노드 텍스트와 노드 내용이 겹치는 부분이 없도록 경로를 조정하려면 어떻게 해야 합니까 ? 엣지 스타일로 사용하려고 했는데 shorten
엣지 한쪽에만 효과가 있는 것 같습니다.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary {calc}
\usetikzlibrary {automata}
\usetikzlibrary {positioning}
\usetikzlibrary {fit}
\begin{document}
\tikzset{edge/.style={
thin,
black,
->,
shorten >=8pt,
shorten <=8pt }
}
\tikzset{node-element/.style={
inner sep=1.5mm,
minimum size=1cm,
}
}
\begin{tikzpicture}[scale=1.5]
\coordinate (a) at (0,0);
\coordinate (b) at (2,0);
\coordinate (c) at (1,2);
\node [node-element] at (a) {a};
\node [node-element] at (b) {b};
\node [node-element] at (c) {c};
\draw[edge, bend left] (a) to node[above, pos=0.5] {$f$} (b);
\draw[edge, bend left] (b) to node[below, pos=0.5] {$f^{-1}$} (a);
\draw[edge] (c) to node[left, pos=0.5] {$h$} (a);
\draw[edge] (c) to node[right, pos=0.5] {$h^{-1}$} (b);
\path (a) edge [edge, loop left] node {$1_a$} (a)
(b) edge [edge, loop right] node {$1_b$} (b);
\end{tikzpicture}
\end{document}
답변1
a
, 을 크기가 0인 좌표가 아닌 노드 이름으로 b
정의 하여 해결되었습니다 .c
\documentclass[tikz]{standalone}
\begin{document}
\tikzset{
edge/.style={
thin,
black,
% ->,
% shorten >=8pt,
% shorten <=8pt
},
node-element/.style={
% inner sep=1.5mm,
% minimum size=1cm,
}
}
\begin{tikzpicture}[scale=1.5]
\node [node-element] (a) at (0,0) {a};
\node [node-element] (b) at (2,0) {b};
\node [node-element] (c) at (1,2) {c};
\draw[edge, bend left] (a) to node[above, pos=0.5] {$f$} (b);
\draw[edge, bend left] (b) to node[below, pos=0.5] {$f^{-1}$} (a);
\draw[edge] (c) to node[left, pos=0.5] {$h$} (a);
\draw[edge] (c) to node[right, pos=0.5] {$h^{-1}$} (b);
\path (a) edge [edge, loop left] node {$1_a$} ()
(b) edge [edge, loop right] node {$1_b$} ();
\end{tikzpicture}
\end{document}