如何根据端点自动赋予 dot2tex 边样式?

如何根据端点自动赋予 dot2tex 边样式?

我需要排版图表,但我不想手动放置节点。我使用该dot2texi包自动将图表描述转换为 tikz/pgf 命令。效果很好。

我还想创建beamer幻灯片来说明图形算法(DFS、Prim 等)的作用。因此,我需要突出显示节点,我通过在与 dot2texi 生成的节点相同的位置在背景层上绘制彩色节点来实现。这也有效。

我也需要突出边缘。我的突出显示节点的来源以相同的方式绘制边缘:由于知道它们的端点,因此可以重新绘制它们。这可以在那里起作用,因为边缘是直的。

就我而言,边缘以我不知道(也不想知道)的方式弯曲,因此知道两个端点是不够的。

由于这个 SX 问答。我试过了,这也有效。

但这需要在创建路径时为其命名(与可自行引用的节点不同),在我的例子中,这是自动化的。

目前,我正在利用style点语言的特性:当通过 dot2texi 运行时,它会将我需要的文本放在生成的 tikz 命令中的正确位置。

\documentclass{article}
\usepackage{dot2texi}
\usepackage{tikz}
 \tikzstyle{basevertex} = [circle,
  inner sep=0pt,
  minimum size=.5cm,
  font=\scriptsize]

 \tikzstyle{vertex} = [basevertex, draw]

 \tikzstyle{dotvertex} = [vertex]
\tikzstyle{selected edge} = [draw,line width=5pt,-,red!50]

%% here follows the code from [2]
%%% etc.
\begin{document}
   \begin{tikzpicture}
      \begin{dot2texi}[codeonly, styleonly, tikz]
         graph G {
            rankdir="LR";
            node[style="dotvertex", fontsize=8];
            0 -- 1 -- 3;
            0 -- 2 -- 3 -- 4;
            3 -- 7;
            2 -- 6;
            5 -- 2;
            5 -- 4 [style="name path global=test"];
           }
       \end{dot2texi}
       \begin{pgfonlayer}{background}
          \path[use path=test, selected edge];
       \end{pgfonlayer}
     \end{tikzpicture}
   \end{document}

按照预期给出,

result from above code

我现在正尝试根据路径的端点自动命名/设置路径的样式(我不会排版多图),这样edge(origin)(destination)我就可以引用它们而不必费心在我的点代码中手动命名它们。

相关内容