Restablecer el contador de nombres de vértices en tkz-berge

Restablecer el contador de nombres de vértices en tkz-berge

Tengo el siguiente gráfico construido con tkz-bergela biblioteca. En la configuración actual, los nodos/vértices se numeran automáticamente y comienzan con el índice 0. Me pregunto cómo restablecer el contador para comenzar con 1.

\documentclass{article}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{tkz-berge}
\begin{document}
\begin{tikzpicture}
\begin{tikzpicture}
\GraphInit[vstyle=Normal]
\SetUpVertex[Math,Lpos=-180,LabelOut]
\SetVertexNormal[FillColor=red,OuterSep=0pt]
\grEmptyPath[form=2,x=0,y=0,RA=2,rotation=90,prefix=u,Math]{5}
\SetUpVertex[Lpos=0]
\SetVertexNormal[FillColor=blue]
\grEmptyPath[form=2,x=6,y=0,RA=2,rotation=90,prefix=v,Math]{4}
\Edges(u4,v3,u3,v2,u1)
\Edges(u3,v3,u0,v0,u2,v1)
\end{tikzpicture}
\end{tikzpicture}
\end{document}

Figura 1

Respuesta1

El contador de nodos se utiliza en todo el código para tkz-bergecalcular posiciones y generar nombres de nodos internos, por lo que cuando cambia el contador todo tipo de cosas se estropean. Sin embargo, puede renovar (es decir, modificar) el comando de impresión del nodo de nivel inferior \write@mathque llama \Vertex(definido por el paquete tkz-graph, que se carga con tkz-berge) con la etiqueta del nodo como uno de los argumentos. Al usarlo, \pgfmathtruncatemacropuede agregar 1 al contador de nodos, almacenar el resultado en una macro e imprimir esa macro en la etiqueta en lugar del contador mismo. Tenga en cuenta que \pgfmathtruncatemacrodebe usarse en lugar de \pgfmathsetmacropara evitar agregar .0en la etiqueta.

MWE:

\documentclass{article}
\usepackage{tkz-berge}
\makeatletter
\renewcommand*{\write@math}[3]{%
            \pgfmathtruncatemacro{\printindex}{#3+1}
            \Vertex[x = #1,y = #2,%
                    L = \cmdGR@cl@prefix\grMathSep{\printindex}]{\cmdGR@cl@prefix#3}}
\makeatother
\begin{document}
\begin{tikzpicture}
\GraphInit[vstyle=Normal]
\SetUpVertex[Math,Lpos=-180,LabelOut]
\SetVertexNormal[FillColor=red,OuterSep=0pt]
\grEmptyPath[form=2,x=0,y=0,RA=2,rotation=90,prefix=u,Math]{5}
\SetUpVertex[Lpos=0]
\SetVertexNormal[FillColor=blue]
\grEmptyPath[form=2,x=6,y=0,RA=2,rotation=90,prefix=v,Math]{4}
\Edges(u4,v3,u3,v2,u1)
\Edges(u3,v3,u0,v0,u2,v1)
\end{tikzpicture}
\end{document}

Resultado:

ingrese la descripción de la imagen aquí

información relacionada