![tkz-graph:\Edges 有效,但 \Edge 无效](https://linux22.com/image/352422/tkz-graph%EF%BC%9A%5CEdges%20%E6%9C%89%E6%95%88%EF%BC%8C%E4%BD%86%20%5CEdge%20%E6%97%A0%E6%95%88.png)
使用该tkz-graph
包,我可以使用命令\Edges
,但不能使用\Edge
命令。当我尝试使用\Edge
下面注释掉的命令时,出现以下错误:
Paragraph ended before \tikz@cc@parse@factor was complete.
该命令的格式正是如此tkz-graph
手动的。
\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}
答案1
定义顶点不同于定义标签。根据我的理解(由于文档是法语,因此并不具有权威性),顶点应该是文本。您在其周围放置了 $ 符号,就好像您试图将顶点的标签(不同)置于数学模式中一样。这是错误,但我不知道它为什么适用于 \Edges。顶点的标签由顶点选项中的 L= 处理。请参阅下面的修订代码。
\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}
请注意,您之前调用的顶点 $x_2$ 现在称为 A,并且标签在顶点选项中使用 L=$x_2$ 实现。标签部分位于文档的第 21 页,其中第 5.1 节开头的句子的 Google 翻译为“下一个选项允许您定义标签,该标签可以采用文本模式或数学模式”