
tikZ로 완전한 그래프를 그리고 싶습니다. 처음에는 노드에, 그 다음에는 첫 번째 노드의 라인을 다른 노드에 연결하고, 두 번째 노드의 라인을 나머지 노드에 연결하는 식으로 진행됩니다. 이 모든 단계는 foreach-loop와 함께 작동하며 각 단일 도면은 비머 기능 \visible<..>을 사용하여 단계별로 나타나야 합니다. 내 아이디어는 전역 LaTeX 카운터를 사용하여 모든 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}
답변1
슬라이드가 여러 번 "실행"되기 때문에 항상 슬라이드를 하나 더 삽입하는 값으로 카운터를 늘립니다. 클래스 beamer
에는 이러한 상황에 대한 명령이 있습니다 \resetcounteronoverlays
. 이 명령을 사용하면 문제가 해결됩니다.
\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}
그러나 어쨌든 나는 이것을 다르게 그릴 것입니다.
\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}