![Cómo mostrar filas de círculos de colores aleatorios](https://rvso.com/image/420059/C%C3%B3mo%20mostrar%20filas%20de%20c%C3%ADrculos%20de%20colores%20aleatorios.png)
Me gustaría tener 5 filas de círculos de colores al azar. Aquí está mi MWE:
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\setbeamersize{text margin left=10mm,text margin right=5mm}
\setbeamertemplate{frametitle}[default][center]
\usepackage{tikz}
\newcommand{\tikzcircle}[2][red,fill=red]{\tikz[baseline=-0.5ex]\draw[#1,radius=#2] (0,0) circle ;}%
\begin{document}
\begin{frame}{The counting problem}
\foreach \x in {1,2,...,100} {\tikzcircle{2pt}}
\end{frame}
\end{document}
No estoy seguro de cómo elegir los colores al azar o cómo hacer que los círculos se ajusten para que llenen el espacio que normalmente llenaría el texto.
Si es posible, sería fantástico si pudiera elegir colores al azar con reemplazo de un conjunto cuyo tamaño pueda especificar. Por ejemplo, elija los colores al azar y reemplácelos de un conjunto de 10 colores.
Respuesta1
Puedes empezar con algo como esto. El código para \randomcolor
fue tomado deGenere colores aleatorios de una manera que funcione tanto con pdflatex como con lualatex
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\setbeamersize{text margin left=10mm,text margin right=5mm}
\setbeamertemplate{frametitle}[default][center]
\usepackage{tikz}
\newcommand{\randomcolor}{%
\pgfmathsetmacro{\R}{random(0,10000)/10000}%
\pgfmathsetmacro{\G}{random(0,10000)/10000}%
\pgfmathsetmacro{\B}{random(0,10000)/10000}%
\definecolor{randomcolor}{rgb}{\R,\G,\B}%
}
\newcommand{\tikzcircle}[1]{\randomcolor\tikz[baseline=-0.5ex]{\fill[randomcolor,radius=#1]circle;}}%
\pgfmathsetseed{\number\pdfrandomseed} % seed for random generator
\begin{document}
\begin{frame}{The counting problem}
\foreach \j in {1,2,...,5} {\foreach \i in {1,2,...,10} {\tikzcircle{.05\textwidth}}\\}
\end{frame}
\end{document}
Actualización: colores limitados
El siguiente código muestra una alternativa para seleccionar colores de un conjunto limitado. El conjunto se define en una TikZ
matriz y el color se selecciona con un índice aleatorio.
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\setbeamersize{text margin left=10mm,text margin right=5mm}
\setbeamertemplate{frametitle}[default][center]
\usepackage{tikz}
\def\mycolors{{"red","green","blue","brown","pink","violet","orange","cyan","yellow"}}
\newcommand{\tikzcircle}[1]{%
\pgfmathsetmacro{\mycolorindex}{random(0,8)}%
\pgfmathsetmacro{\mycolor}{array(\mycolors,\mycolorindex)}%
\tikz[baseline=-0.5ex]{\fill[\mycolor,radius=#1]circle;}}%
\pgfmathsetseed{\number\pdfrandomseed} % seed for random generator
\begin{document}
\begin{frame}{The counting problem}
\foreach \j in {1,2,...,5}{\foreach \i in {1,2,...,10}{\tikzcircle{.05\textwidth}}\\}
\end{frame}
\end{document}
Respuesta2
Intenta jugar con los parámetros del generador de números aleatorios, manteniendo la misma semilla.
Por ejemplo
\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\setbeamersize{text margin left=10mm,text margin right=5mm}
\setbeamertemplate{frametitle}[default][center]
\usepackage{tikz}
\newcommand{\randomcolor}{%
\pgfmathsetmacro{\R}{random(0,1)/2}%
\pgfmathsetmacro{\G}{random(0,1)/2}%
\pgfmathsetmacro{\B}{random(0,1)/1}%
\definecolor{randomcolor}{rgb}{\R,\G,\B}%
}
\newcommand{\tikzcircle}[1]{\randomcolor\tikz[baseline=-0.5ex]{\fill[randomcolor,radius=#1]circle;}}%
%\pgfmathsetseed{\number\pdfrandomseed} % seed for random generator
\begin{document}
\begin{frame}{The counting problem}
\foreach \j in {1,2,...,5}{\foreach \i in {1,2,...,10}{\noindent\tikzcircle{.05\textwidth}}\\}
\end{frame}
\end{document}
producirá 2x2x2 = 8 colores diferentes. (R= 0 o 0,5, etc.)