
Soy nuevo en TikZ (y LaTeX) y estoy intentando crear un gráfico con nodos.
Estuve leyendo el manual y creé un gráfico usando el mismo método en la imagen. Ahora me gustaría etiquetar mis bordes, pero cuando intento etiquetarlos como lo hacen en el manual, no funciona.
Mi código está debajo. ¡¡Por favor ayuda!!
\begin{tikzpicture}
[node/.style = {circle,draw}]
\node[node] (B) {B};
\node[node] (A) [below of=B, xshift = -20mm] {A}
edge [-] {1} (B); % would like to label this edge "1"
\node[node] (C) [below of=B] {C}
edge [-] {1} (A); % would like to label this edge "1"
\node[node] (D) [below of=C] {D}
edge [-] {1} (A); % would like to label this edge "1"
\node[node] (E) [below of=B, xshift = 20mm] {E}
edge [-] {1} (B) % would like to label this edge "1"
edge [-] {1} (C) % would like to label this edge "1"
edge [-] {1} (D); % would like to label this edge "1"
\end{tikzpicture}
Respuesta1
Una forma es utilizar la quotes
biblioteca. (Si usa el babel
paquete, también necesita cargar la babel
biblioteca).
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}[node/.style = {circle,draw}]
\node[node] (B) {B};
\node[node] (A) [below of=B, xshift = -20mm] {A}
edge [-,"1"] (B); % would like to label this edge "1"
\node[node] (C) [below of=B] {C}
edge [-,"1"] (A); % would like to label this edge "1"
\node[node] (D) [below of=C] {D}
edge [-,"1"] (A); % would like to label this edge "1"
\node[node] (E) [below of=B, xshift = 20mm] {E}
edge [-,"1"] (B) % would like to label this edge "1"
edge [-,"1"] (C) % would like to label this edge "1"
edge [-,"1"] (D); % would like to label this edge "1"
\end{tikzpicture}
\end{document}
Respuesta2
Con el uso de las bibliotecas TikZ automata
y , los nodos y las rutas se dibujan por separado; en el posicionamiento de los nodos se utiliza la sintaxis determinada en positioning
la biblioteca:quotes
positioning
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{automata,
positioning,
quotes}
\begin{document}
\begin{tikzpicture}[
node distance = 15mm, on grid,
every state/.style={semithick, minimum size=1em, inner sep=2pt},
every edge/.append style = {-},
every edge quotes/.append style = {auto, font=\footnotesize, inner sep=2pt}
]
\begin{scope}[nodes={state}]
\node (C) {C};
\node (A) [ left=of C] {A};
\node (B) [above=of C] {B};
\node (E) [right=of C] {E};
\node (D) [below=of C] {D};
\end{scope}
%
\path (A) edge ["1"] (B)
(B) edge ["1"] (E)
(E) edge ["1"] (D)
(D) edge ["1"] (A)
%
(A) edge ["1"] (C)
(C) edge ["1"] (E);
\end{tikzpicture}
\end{document}