似乎有很明显的循环结构呀🧐
\documentclass{beamer}
\usepackage{tikz}
\makeatletter
\newcommand{\Letter}[1]{\@Alph{#1}}
\makeatother
\newcommand{\myplot}[1]{
\foreach \i[evaluate=\i as \j using (\i/(1+#1))] in {1,...,#1} {
\node[minimum size=2cm,font=\tiny,align=center] at (\j\linewidth,0) {\Letter{\i}\\(\j,0)};
}
}
\begin{document}
\tikzset{every node/.style={draw,dotted,inner sep=.5cm}}
\begin{frame}
\centering%
\tikz{\myplot{1}}\medskip
\tikz{\myplot{2}}\medskip
\tikz{\myplot{3}}\medskip
\tikz{\myplot{4}}\medskip
\end{frame}
\begin{frame}
\centering%
\foreach \x in {4,...,1}{%
\tikz{\myplot{\x}}\par\medskip
}
\end{frame}
\end{document} 
Edit:
node里的内容通常是写一大段不相同的文字,怎么循环?
也许用clist会挺方便(?)可以自己设计一下syntax(例如\mydraw{C,A,V,X})
我自己写的时候没注意到\centering的重要作用😡,怀疑人生了好一会儿...
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\tikzset{every node/.style={draw,dotted,inner sep=.5pt}}
\ExplSyntaxOn
\NewDocumentCommand{\mydraw}{m}{%
\clist_set:Nn \l_tmpa_clist {#1}
% \clist_use:Nn \l_tmpa_clist {;} \par
\int_set:Nn \l_tmpa_int { \clist_count:N \l_tmpa_clist }
\begin{tikzpicture}
\foreach \i in {1,...,\l_tmpa_int} {%
\def\j{\fpeval{round(\i/(1+\l_tmpa_int),4)}}% texdoc xfp
\node[minimum~size=1.5cm,font=\tiny,align=center] at (\j\textwidth,0) {(\j)\\ \clist_item:Nn \l_tmpa_clist {\i}};
}
\end{tikzpicture}
}
\ExplSyntaxOff
\begin{frame}
\centering%
\mydraw{ahahaha,123456,1aaa2,{some~text,hia\\hiahia},kkk}\medskip
\mydraw{I~am~A,You~are~B,He~is~C}\medskip
\mydraw{C,A,B,F,E,H,G}\medskip
\end{frame}
\end{document} 
























问 如何在beamer的一帧中,水平居中放置n个相似的内容?