The code below defines a command
\board[optional scale factor]{list of triples angle/number/mark}
that draws the circular diagram. The optional argument is the scale factor and defaults to 1.0. The mandatory argument is a comma separated list of triples like 90/1/\cross
(node at 12 o'clock numbered 1 and marked with a cross) or 210/2/
(node at 8 o'clock numbered 2 without mark).
\documentclass{article}
\usepackage{tikz}
% \board[optional scale factor, default 1.0]{list of triples angle/number/mark}
\newcommand\board[2][1.0]{%
\begin{tikzpicture}[baseline={(0,0)},scale=#1]
\draw (0,0) circle (1);
% radial lines at angles 30°, 150° and 270°
\foreach \a in {30, 150, 270}
\draw (\a:0.9) -- (\a:1.1);
% label A/B/C outside of circle at angles 90°, 210° and 330°
\foreach \a/\l in {90/A,210/B,330/C}
\node at (\a:1.4) {\scriptsize$\l$};
% draw game positions
% \a ... angle, \n ... number 1/2/3, \m ... mark
\foreach \a/\n/\m in {#2} {
% node
\node[circle,draw,minimum size=1em,inner sep = 0,fill=white] at (\a:1) {\m};
% number inside of circle
\node at (\a:0.6) {\scriptsize$\n$};
}
\end{tikzpicture}%
}
\newcommand\cross{$\times$}
\begin{document}
\begin{center}
\board[0.8]{90/1/\cross,210/2/,330/3/}\\
\begin{tabular}[t]{@{}c@{}}
\board[0.8]{90/2/,190/1/\cross,230/3/}\\
move
\end{tabular}
\begin{tabular}[t]{@{}c@{}}
\board[0.8]{90/2/,190/1/,230/3/\cross}\\
status
\end{tabular}
\end{center}
\end{document}
To arrange the text and the diagrams as shown in the picture, you can use all the possibilities offered by LaTeX. The \board{...}
commands behave like (big) letters aligned in the center. For additional graphical elements, you can use the approach described in my answer to "How to add arrow in equations and matrix?".
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows} % needed for arrow tip stealth'
\newcommand\tikznode[3][]{%
\tikz[remember picture,baseline=(#2.base)]
\node[minimum size=0pt,inner sep=0pt,#1](#2){#3};%
}
% \board[optional scale factor, default 1.0]{list of triples angle/number/mark}
\newcommand\board[2][1.0]{%
\begin{tikzpicture}[baseline={(0,0)},scale=#1]
\draw (0,0) circle (1);
% radial lines at angles 30°, 150° and 270°
\foreach \a in {30, 150, 270}
\draw (\a:0.9) -- (\a:1.1);
% label A/B/C outside of circle at angles 90°, 210° and 330°
\foreach \a/\l in {90/A,210/B,330/C}
\node at (\a:1.4) {\scriptsize$\l$};
% draw game positions
% \a ... angle, \n ... number 1/2/3, \m ... mark
\foreach \a/\n/\m in {#2} {
% node
\node[circle,draw,minimum size=1em,inner sep = 0,fill=white] at (\a:1) {\m};
% number inside of circle
\node at (\a:0.6) {\scriptsize$\n$};
}
\end{tikzpicture}%
}
\newcommand\cross{$\times$}
\begin{document}
\paragraph{Time 0}\mbox{}\\
\begin{tabular}{@{}p{5em}@{}}
$1=i$ in $A$\\
$2=s$ in $B$\\
$3=s$ in $C$
\end{tabular}
$\longrightarrow$
\tikznode{X}{$[(i,A),(s,B),(s,C)]=X$}
\board[0.9]{90/1/\cross,210/2/,330/3/}
\paragraph{Time 1}\mbox{}\\
\begin{tabular}{@{}p{5em}@{}}
$1=r$ in $B$\\
$2=s$ in $A$\\
$3=i$ in $B$
\end{tabular}
$\longrightarrow$
\tikznode{Y}{$[(r,B),(s,A),(i,B)]=Y$}
\begin{tabular}[t]{@{}c@{}}
\board[0.9]{90/2/,190/1/\cross,230/3/}\\
move
\end{tabular}
\begin{tabular}[t]{@{}c@{}}
\board[0.9]{90/2/,190/1/,230/3/\cross}\\
status
\end{tabular}
\begin{tikzpicture}[remember picture,overlay,>=stealth',shorten <=2pt,shorten >=2pt]
\draw[->] (X) edge[bend left] node[right]{$P_{xy}=p/8$} (Y);
\end{tikzpicture}
\end{document}
C/.default=24mm
:-(. Sorry for that. So it should beC/.default = 24mm,
. Now corrected in my answer. that you can correct you code.\foreach
loops use names of those circles).align*
? Your edit still doesn't make clearer how the overall picture should look like. I suggest that you start from my solution, add by hand what you need, and then add a picture to your question.