Reemplazar texto en la tabla mediante superposición hace que la tabla se mueva: beamer

Reemplazar texto en la tabla mediante superposición hace que la tabla se mueva: beamer

Estoy usando Beamer e intento cambiar una palabra en una tabla mediante superposiciones. Por lo tanto, "constante" debería aparecer en algunas diapositivas y "no constante" debería aparecer en otras diapositivas, tanto en lamismocaja. (Creo que este mismo cuadro hace que esta pregunta sea diferente de otras).

Cuando lo hago con onslide, el proyector reserva espacio para ambas palabras, lo cual no es lo que quiero; genera un espacio feo entre las tablas. Sin embargo, cuando lo hago con only, el proyector mueve la mesa hacia abajo durante el cambio de palabra. Incluyo lo que creo que es un ejemplo mínimo de este último fenómeno. (Lo primero es estándar). Tenga en cuenta que si elimino la primera fila de la tabla (la que está encima de mi línea problemática) y en su lugar coloco una fila debajo de la línea problemática, el problema desaparece. (Solo informe en caso de que ayude a la gente a resolver esto).

¡Gracias!

\documentclass[xcolor=table]{beamer}
\usetheme{Frankfurt}
\usecolortheme{crane}
\begin{document}
\begin{frame}[t]{Test}
\onslide<2->{
\begin{center}
\begin{tabular}{| c || c c c c |}
\hline
& P4 & \onslide<1->{P3} &\onslide<1->{P2} & \onslide<1->{P1} \\ \hline
\only<6>{\cellcolor{yellow}}  Cognition 1 & \only<6>
{\cellcolor{yellow}} $(a,c_{*})$ & \only<6>{\cellcolor{yellow}}
\onslide<1->{Constant} & \only<6>{\cellcolor{yellow}} \onslide<1-
{Constant} & \only<6>{\cellcolor{yellow}} \onslide<1->{Constant} \\
\only<5>{\cellcolor{yellow}} \only<1-7>{Cognition 2}\only<8>
{\alert{Cognition 3}}\only<9->{\alert{Cognition 4}} & \only<5>
{\cellcolor{yellow}} $(a,c_{*})$ & \only<5>{\cellcolor{yellow}} 
\onslide<1->{$(a,b_{*})$} & \only<5>{\cellcolor{yellow}} \only<1-7,9>
{Constant}% 
\only<8>{\alert{Non-Constant}} & \only<5>{\cellcolor{yellow}} 
\only<1-8>{Constant}%
\only<9->{\alert{Non-Constant}} \\
\hline
\end{tabular}   
\end{center}
}
\end{frame}
\end{document}

Respuesta1

Como señalé en mis comentarios, la causa de su problema es la mesa vacía. Puedes compartirlo de dos maneras:

  • usar fuente más pequeña
  • Reducir el tamaño del espacio entre las columnas de la tabla.

Parece que el uso de \setlength\tabcolsep{3pt}dará resultados satisfactorios:

\documentclass[xcolor=table]{beamer}
%\usetheme{Frankfurt}
%\usecolortheme{crane}
\begin{document}
\begin{frame}[t]{Test}
\onslide<2->{
\begin{center}\setlength\tabcolsep{3pt}
\begin{tabular}{| c || c c c c |}
\hline
& P4 & \onslide<1->{P3} &\onslide<1->{P2} & \onslide<1->{P1} \\ \hline
\only<6>{\cellcolor{yellow}}  Cognition 1 & \only<6>
{\cellcolor{yellow}} $(a,c_{*})$ & \only<6>{\cellcolor{yellow}}
\onslide<1->{Constant} & \only<6>{\cellcolor{yellow}} \onslide<1-
{Constant} & \only<6>{\cellcolor{yellow}} \onslide<1->{Constant} \\
\only<5>{\cellcolor{yellow}} \only<1-7>{Cognition 2}\only<8>
{\alert{Cognition 3}}\only<9->{\alert{Cognition 4}} & \only<5>
{\cellcolor{yellow}} $(a,c_{*})$ & \only<5>{\cellcolor{yellow}}
\onslide<1->{$(a,b_{*})$} & \only<5>{\cellcolor{yellow}} \only<1-7,9>
{Constant}%
\only<8>{\alert{Non-Constant}} & \only<5>{\cellcolor{yellow}}
\only<1-8>{Constant}%
\only<9->{\alert{Non-Constant}} \\
\hline
\end{tabular}
\end{center}
}
\end{frame}
\end{document}

Apéndice: Además de la posible solución anterior, mencionemos una más:

  • Ancho del marco del texto ampliado localmente.

Esto también se puede lograr de diferentes maneras. Una posibilidad es utilizar el paquete ˛cambiar página and its macroajustar ancho`. En este caso el código es

\documentclass[xcolor=table]{beamer}
%\usetheme{Frankfurt}
%\usecolortheme{crane}

\usepackage{changepage}

\begin{document}
\begin{frame}[t]{Test}
\onslide<2->{

\begin{adjustwidth}{-1em}{-1em}
\begin{center}
\begin{tabular}{| c || c c c c |}
\hline
& P4 & \onslide<1->{P3} &\onslide<1->{P2} & \onslide<1->{P1} \\ \hline
\only<6>{\cellcolor{yellow}}  Cognition 1 & \only<6>
{\cellcolor{yellow}} $(a,c_{*})$ & \only<6>{\cellcolor{yellow}}
\onslide<1->{Constant} & \only<6>{\cellcolor{yellow}} \onslide<1-
{Constant} & \only<6>{\cellcolor{yellow}} \onslide<1->{Constant} \\
\only<5>{\cellcolor{yellow}} \only<1-7>{Cognition 2}\only<8>
{\alert{Cognition 3}}\only<9->{\alert{Cognition 4}} & \only<5>
{\cellcolor{yellow}} $(a,c_{*})$ & \only<5>{\cellcolor{yellow}}
\onslide<1->{$(a,b_{*})$} & \only<5>{\cellcolor{yellow}} \only<1-7,9>
{Constant}%
\only<8>{\alert{Non-Constant}} & \only<5>{\cellcolor{yellow}}
\only<1-8>{Constant}%
\only<9->{\alert{Non-Constant}} \\
\hline
\end{tabular}
\end{center}
\end{adjustwidth}
}
\end{frame}
\end{document}

información relacionada