Ich habe mit der Bibliothek folgenden Graphen erstellt tkz-berge
. In den aktuellen Einstellungen werden die Knoten/Eckpunkte automatisch nummeriert, beginnend mit dem Index 0. Ich frage mich, wie ich den Zähler zurücksetzen kann, um mit 1 zu beginnen?
\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}
Antwort1
Der Knotenzähler wird im gesamten Code von verwendet, tkz-berge
um Positionen zu berechnen und interne Knotennamen zu generieren. Wenn Sie also den Zähler ändern, bricht alles Mögliche zusammen. Sie können jedoch den Befehl zum Drucken von Knoten auf niedrigerer Ebene erneuern (d. h. ändern), \write@math
der \Vertex
(definiert durch das Paket tkz-graph
, das von geladen wird tkz-berge
) mit der Knotenbezeichnung als einem der Argumente aufruft. Mit \pgfmathtruncatemacro
können Sie 1 zum Knotenzähler hinzufügen, das Ergebnis in einem Makro speichern und dieses Makro in der Bezeichnung statt im Zähler selbst drucken. Beachten Sie, dass \pgfmathtruncatemacro
anstelle von verwendet werden sollte, um das Hinzufügen in der Bezeichnung \pgfmathsetmacro
zu vermeiden ..0
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}
Ergebnis: