
tengo el siguiente código.
\begin{tikzpicture}
[auto,
vertex/.style={circle,draw=black!100,fill=black!100,thick,inner sep=0pt,minimum size=1mm}]
\node (v1) at ( 1,1) [vertex,label=left:$v_1$] {};
\node (v2) at ( 0,0) [vertex,label=left:$v_2$] {};
\node (v3) at ( 2,0) [vertex,label=right:$v_3$] {};
\draw [-] (v1) to (v2);
\draw [-] (v2) to (v3);
\draw [-] (v1) to (v3);
\draw [-] [loop below] (v1) to (v1);
\end{tikzpicture}
Ahora esto dibuja muy bien mi gráfico con tres vértices. Mi problema es que quiero dar nombres a los bordes v_1v_2,v_2v_3,v_1v_3,v_1v_1 como e_1,e_2,e_3,e_4 respectivamente. Estos nombres deben colocarse cerca de los bordes. Además, quiero que TikZ coloque los nombres de estos bordes automáticamente sin molestarse entre sí y sin que yo especifique las posiciones. Cuál es la mejor manera de lograr esto? Creo que auto se usa para esto, pero no estoy seguro de cómo.
Respuesta1
¿Algo como esto?
\documentclass[tikz]{standalone}
\usetikzlibrary{automata}
\begin{document}
\begin{tikzpicture}[auto, vertex/.style={circle,draw=black!100,fill=black!100, thick,
inner sep=0pt,minimum size=1mm}]
\node (v1) at ( 1,1) [vertex,label=left:$v_1$] {};
\node (v2) at ( 0,0) [vertex,label=left:$v_2$] {};
\node (v3) at ( 2,0) [vertex,label=right:$v_3$] {};
\draw [-] (v1) --node[inner sep=0pt,swap]{$e_1$} (v2);
\draw [-] (v2) --node[inner sep=2pt,swap]{$e_2$} (v3);
\draw [-] (v1) --node[inner sep=0pt]{$e_3$} (v3);
\draw [-] [loop below] (v1) to node[inner sep=0pt]{$e_4$} (v1);
\end{tikzpicture}
\end{document}