逐步边缘高亮(tikz)不适用于模板

逐步边缘高亮(tikz)不适用于模板

我现在正在为我做过的演讲写一篇书面论文,我想重复使用为幻灯片开发的图表。不幸的是,论文提供的模板不知何故与我突出显示边缘和节点的方式不符(警告:不建议将 fancyhdr' 包(scrbook)与 KOMA-Script 类一起使用。)。有没有办法快速解决这个问题(否则我只需将图像剪切为 .pdf 并将它们作为图形输入)?代码适用于 beamer 和文章:

\documentclass{article}
\usepackage{tikz}
\begin{document}
    \newif\ifhighlight
        \tikzset{ 
            highlight/.is if=highlight,
            highlight=false,
            step number/.initial=0
        }
        \pgfkeys{
            /tikz/edgeid/.code={
                \pgfmathparse{ifthenelse(#1<=\pgfkeysvalueof{/tikz/step number},"true","false")}
                \pgfkeys{/tikz/highlight=\pgfmathresult}
                \ifhighlight
                \tikzset{
                    ultra thick, green!80!black
                }
                \fi
            }
        }
    \newcommand{\FTidea}[1]{
            \begin{tikzpicture}[scale=1.6,step number=#1]
            \foreach \pos/\name/\id in {{(0,0)}/A/0,{(1,0)}/B/1,{(2,0)}/C/2,{(3,0)}/D/3,{(0,1)}/E/5,{(1,1)}/F/6,{(2,1)}/G/7,{(3,1)}/H/4}{
                \node (\name) at \pos [circle,draw] {$\name$};}
            \foreach \source/\dest/\weight/\id in {A/B/1/1,C/D/2/3,D/H/1/4,E/F/1/6,F/G/1/7,A/E/2/99,A/F/4/99,B/G/5/99,B/C/3/99,C/E/2/99,H/G/4/99}
                \draw [edgeid=\id][-] (\source) edge node{\weight} (\dest);
            \end{tikzpicture}
        }
\FTidea{0} %obviously called multiple times in the real code
\end{document}

由于我在网上找到了定义 ifhighlight 和 edgeid 的上部代码部分,而且我对 LaTeX 还不熟悉,所以我不确定变量可见性(或参数可见性)是如何工作的,所以我无法重构它来找出哪个部分导致了这个问题(一些人认为它可能是 pgf 的东西或 /tikz/highlight)但常规的 tikz 绘图工作并且删除任何边缘或节点颜色也会清除所有问题。

相关内容