Замена текста в таблице с помощью наложения приводит к перемещению таблицы: beamer

Замена текста в таблице с помощью наложения приводит к перемещению таблицы: beamer

Я использую Beamer и пытаюсь изменить слово в таблице с помощью наложений. Итак, "constant" должно появиться на некоторых слайдах, а "non-constant" должно появиться на других слайдах --- оба втакой же(Я думаю, что именно это поле отличает этот вопрос от других.)

Когда я делаю это с onslide, beamer оставляет место для обоих слов, что мне не нужно — получается некрасивый интервал между таблицами. Однако, когда я делаю это только с помощью beamer, он перемещает таблицу вниз во время смены слов. Я включаю то, что, по моему мнению, является минимальным примером этого последнего явления. (Первое — стандартное.) Обратите внимание, что если я уберу первую строку таблицы (ту, что над моей проблемной строкой) и вместо этого вставлю строку под проблемной строкой, проблема исчезнет. (Просто сообщаю, вдруг это поможет людям разобраться.)

Спасибо!

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

решение1

Как я отметил в своих комментариях, причина вашей проблемы в таблице wude. Вы можете сделать это двумя способами:

  • использовать меньший шрифт
  • уменьшить размер пространства между столбцами таблицы.

Похоже, что использование \setlength\tabcolsep{3pt}даст удовлетворительный результат:

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

Приложение: Помимо вышеперечисленных возможных решений, упомянем еще одно:

  • локально увеличенная ширина текста рамки.

Этого можно достичь и другим способом. Одна из возможностей — использовать пакет ˛changepage and its macroadjustwidth`. В этом случае код будет

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

Связанный контент