Substituir o texto na tabela por meio de sobreposição faz com que a tabela se mova: beamer

Substituir o texto na tabela por meio de sobreposição faz com que a tabela se mova: beamer

Estou usando o beamer e tentando alterar uma palavra em uma tabela por meio de sobreposições. Portanto, "constante" deverá aparecer em alguns slides e "não constante" deverá aparecer em outros slides --- ambos nomesmocaixa. (Esta mesma caixa torna esta pergunta diferente de outras feitas, eu acho.)

Quando faço isso com onslide, o beamer reserva espaço para ambas as palavras, o que não é o que eu quero - isso cria um espaçamento feio entre as tabelas. Porém, quando faço isso apenas, o beamer move a mesa para baixo durante a mudança de palavra. Estou incluindo o que considero ser um exemplo mínimo deste último fenômeno. (O primeiro é padrão.) Observe que se eu eliminar a primeira linha da tabela (aquela acima da linha problemática) e, em vez disso, colocar uma linha abaixo da linha problemática, o problema desaparecerá. (Apenas relatar, caso isso ajude as pessoas a descobrir isso.)

Obrigado!

\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}

Responder1

Como observei em meus comentários, a causa do seu problema é a tabela wude. Você pode fazer isso de duas maneiras:

  • usar fonte menor
  • reduza o tamanho do espaço entre as colunas da tabela.

Parece que o uso de \setlength\tabcolsep{3pt}dará resultado satisfatório:

\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}

Termo aditivo: Além da possível solução acima, mencionemos mais uma:

  • largura de texto do quadro ampliada localmente.

Isto também pode ser alcançado de maneira diferente. Uma possibilidade é usar o pacote ˛changepage and its macroAdjustwidth`. Neste caso o código é

\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}

informação relacionada