# tkz-graph: \Edges works but not \Edge

Using the tkz-graph package, I am able to use the \Edges command but not the \Edge command. When I try to use the \Edge command commented out below, I get the following error:

Paragraph ended before \tikz@cc@parse@factor was complete.


The command appears in exactly this format in the tkz-graph manual.

\documentclass[]{scrartcl}
\usepackage[utf8]{inputenc}
%\usepackage[upright]{fourier}
% you can change the line above

\usepackage{tkz-graph}
\usetikzlibrary{calc}
\usetikzlibrary{arrows}
\thispagestyle{empty}
\begin{document}

\SetVertexNormal[Shape = circle, , LineWidth  = 1pt]
\SetUpEdge[lw  = 1.0pt , color = black ]
\begin{center}
\begin{tikzpicture}

\Vertex[ x = 1 , y = -2 ]{$x_1$}
\Vertex[ x = 3 , y = 0 ]{$x_2$}
\Vertex[ x = 5 , y = -2 ]{$x_3$}
\Vertex[ x = 4 , y = -4 ]{$x_4$}

\tikzset{VertexStyle/.style = {draw , shape = rectangle, line width = 1pt}}
\Vertex[ x = 8 , y = -2 ]{$S$}
\Vertex[ x = 2 , y = -4 ]{$T$}

\tikzset{>=latex} % Set the arrowhead type!
\tikzset{EdgeStyle/.style = {->, thick, line width = 2pt}}
\tikzset{LabelStyle/.style = {color = black}}

%\Edge($S$)($x_2$) % !! FAILS !!
\Edges($S$,$x_2$) % !! WORKS !!
\end{tikzpicture}
\end{center}

\end{document}

• Welcome! You do not seem to be using tikz-graph but tkz-graph. I've edited, but could you clarify this? tkz is built on tikz, but it is separate. tikz-graphs is a tag for graphs in the mathematical sense, using TikZ's graph syntax and/or layout algorithms. – cfr Apr 3 '17 at 1:51
• I completely missed the tkz / tikz difference! Yes, I am definitely using tkz-graph, but I had been searching on tikz-graphs. – James Watson Apr 3 '17 at 2:12

Defining a vertex is different than defining the label. The vertex, to my understanding (which isn't authoritative given the documentation is in French) should be text. You are putting the $signs around it as if you are trying to put the label of the vertex (which is different) into math mode. That's the error but I don't know why it works with \Edges. The label of the vertex is handled by L= in the options for the vertex. See the revised code below. \documentclass[]{scrartcl} \usepackage[utf8]{inputenc} %\usepackage[upright]{fourier} % you can change the line above \usepackage{tkz-graph} \usetikzlibrary{calc} \usetikzlibrary{arrows} \thispagestyle{empty} \begin{document} \SetVertexNormal[Shape = circle, , LineWidth = 1pt] \SetUpEdge[lw = 1.0pt , color = black ] \begin{center} \begin{tikzpicture} \Vertex[x=1,y=-2]{$x_1$} \Vertex[x=3, y=0, L=$x_2$]{A} \Vertex[x=5 , y = -2 ]{$x_3$} \Vertex[x=4,y=-4 ]{$x_4$} \tikzset{VertexStyle/.style = {draw , shape = rectangle, line width = 1pt}} \Vertex[x=8,y=-2,L=$S$]{S} \Vertex[x=2,y=-4]{$T$} \tikzset{>=latex} % Set the arrowhead type! \tikzset{EdgeStyle/.style = {->, thick, line width = 2pt}} \tikzset{LabelStyle/.style = {color = black}} \Edge(S)(A) %\Edges($S$,$x_2$) % !! WORKS !! \end{tikzpicture} \end{center} \end{document}  Here's the output running in Gummi: Notice that the vertex you were calling$x_2$is now called A and the label is implemented with L=$x_2\$ in the option for the vertex. The section on labels is page 21 in the documentation where a Google Translate for the sentence beginning section 5.1 is "The next option allows you to define a label, this one can be in text mode or in math mode"