顶点 tkz-berge 外的文本

顶点 tkz-berge 外的文本

我刚刚开始使用这个tkz-berge软件包,我正在尝试绘制一个网络流问题,到目前为止我有这个:

\documentclass[a4paper,oneside,article]{memoir}
\usepackage{tikz}
\usetikzlibrary{arrows,%
    petri,%
    topaths}%
\usepackage{tkz-berge}

\begin{document}

\chapter*{Network Flow Problem}
\begin{tikzpicture}[scale=0.75,transform shape]

    \Vertex{3}
    \Vertex[x=0,y=-3]{1}
    \Vertex[x=2,y=-1.5]{2}
    \Vertex[x=4,y=-1]{5}
    \Vertex[x=4,y=-3]{4}
    \Vertex[x=6,y=-1.5]{8}
    \Vertex[x=8,y=0]{6}
    \Vertex[x=8,y=-3]{7}    

    \tikzstyle{EdgeStyle}=[post,dotted]
    \Edge[label=0](1)(3)
    \Edge[label=1](3)(6)
    \Edge[label=1](6)(8)
    \Edge[label=3](2)(1)
    \Edge[label=0](8)(7)

    \tikzstyle{EdgeStyle}=[post]
    \Edge[label=0](3)(2)
    \Edge[label=2](2)(5)
    \Edge[label=2](5)(4)
    \Edge[label=3](8)(5)
    \Edge[label=1](4)(1)
    \Edge[label=4](7)(4)
    \Edge[label=1](7)(6)
\end{tikzpicture}
\end{document}

它看起来正是我想要的样子,但我需要获取它旁边每个节点的容量,即b_{3} = 2 NW of vertex 3,我一直在阅读文档,但找不到任何内容。

那么可以做到吗?如果可以,怎么做?提前致谢

祝好 Steffen

PS 如果有人对使用什么包来绘制这样的图表有更好的想法,我们非常欢迎您的建议。

答案1

似乎该tkz-berge包没有规定每个节点有两个标签。但可以使用tikz命令添加更多标签,例如使用命令

\extralabel[optional distance]{angle}{new label}{node name}

定义为

\newcommand\extralabel[4][0mm]{\node[label={[label distance=#1]#2:#3}] at (#4){};}

在您的代码中:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,%
    petri,%
    topaths}%
\usepackage{tkz-berge}
\begin{document}

\newcommand\extralabel[4][0mm]{\node[label={[label distance=#1]#2:#3}] at (#4){};}
\begin{tikzpicture}[scale=0.75,transform shape]

    \Vertex{3}            \extralabel  {45}{$b_{3}=2$}{3}
    \Vertex[x=0,y=-3]{1}  \extralabel{-135}{$b_{1}=0$}{1}
    \Vertex[x=2,y=-1.5]{2}\extralabel[1mm]{-90}{$b_{2}=0$}{2}
    \Vertex[x=4,y=-1]{5}
    \Vertex[x=4,y=-3]{4}
    \Vertex[x=6,y=-1.5]{8}
    \Vertex[x=8,y=0]{6}
    \Vertex[x=8,y=-3]{7}    

    \tikzstyle{EdgeStyle}=[post,dotted]
    \Edge[label=0](1)(3)
    \Edge[label=1](3)(6)
    \Edge[label=1](6)(8)
    \Edge[label=3](2)(1)
    \Edge[label=0](8)(7)

    \tikzstyle{EdgeStyle}=[post]
    \Edge[label=0](3)(2)
    \Edge[label=2](2)(5)
    \Edge[label=2](5)(4)
    \Edge[label=3](8)(5)
    \Edge[label=1](4)(1)
    \Edge[label=4](7)(4)
    \Edge[label=1](7)(6)
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容