Contadores LaTeX en TikZ foreach-loop con proyector

Contadores LaTeX en TikZ foreach-loop con proyector

Quiero dibujar un gráfico completo con tikZ. Primero los nodos, luego las líneas del primer nodo a los demás, luego las líneas del segundo nodo a los restantes y así sucesivamente. Todos estos pasos funcionan con bucles foreach y cada dibujo debe aparecer paso a paso con la función de proyector \visible<..>. Mi idea era utilizar un contador LaTeX global para contar todos los pasos en todos los bucles foreach.

\documentclass[10pt,ngerman]{beamer}
\usepackage{tikz}
\newcounter{steps}
\begin{document}

\begin{frame}{Complete Graph}
    \begin{tikzpicture}[
        kreis/.style={circle, draw, minimum size=1.5cm},
        ]

        \foreach [count=\i] \letter in {A,...,F}{%
%           \stepcounter{steps}
            \visible<\thesteps->{%
                \node [kreis] (\letter) at (\i*60+30:2.5) {\huge{\letter}};
                }
            }
           \end{tikzpicture}
    \end{frame}
\end{document}

El MWE se compila, pero cuando elimino el comentario, texmaker se ejecuta en un bucle sin fin. ¿Por qué? ingrese la descripción de la imagen aquí

Respuesta1

Siempre aumenta el contador a un valor en el que se inserta una diapositiva más porque la diapositiva se "ejecuta" varias veces. La beamerclase tiene un comando para tales situaciones \resetcounteronoverlays. El uso de este comando soluciona su problema.

\documentclass[10pt,ngerman]{beamer}
\usepackage{tikz}
\newcounter{steps}
\resetcounteronoverlays{steps}
\begin{document}

\begin{frame}{Complete Graph}
    \begin{tikzpicture}[
        kreis/.style={circle, draw, minimum size=1.5cm},
        ]

        \foreach [count=\i] \letter in {A,...,F}{%
           \stepcounter{steps}
            \visible<\thesteps->{%
                \node [kreis] (\letter) at (\i*60+30:2.5) {\huge{\letter}};
                }
            }
           \end{tikzpicture}
    \end{frame}
\end{document}

Sin embargo, yo dibujaría esto de otra manera.

\documentclass[10pt,ngerman]{beamer}
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}

\begin{frame}{Complete Graph}
    \begin{tikzpicture}[
        kreis/.style={circle, draw, minimum size=1.5cm},
        ]

        \foreach [count=\i] \letter in {A,...,F}{%
           {%
               \node[visible on=<\i->] [kreis] (\letter) at (\i*60+30:2.5) {\huge{\letter}};
                }
            }
     \end{tikzpicture}
\end{frame}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada