3

I want to display the following table with some animation.enter image description here

Like when i transitioning from one row to the next, I want the row color to change so that a hovering effect is created. Only the selected row will be colored at a time.

Also how do I position the table at a particular coordinate point on the slide?

\documentclass{beamer}
\usepackage{color, colortbl}
\definecolor{background}{rgb}{0.84,0.92,0.95}
\begin{document}
\begin{frame}
\setbeamercovered{dynamic}
\begin{tabular}{|c|c|c|c|}

        \hline
        J & K & $Q_{n}$ & $\overline{Q_{n}}$ \\
        \hline
        \onslide<1> {\rowcolor{background}}
        \onslide<1->{0} &  \onslide<1->{0} &  \onslide<1->{0} &  \onslide<1->{0} \\
        \hline
        \onslide<2> {\rowcolor{background}}
        \onslide<2->{0} &  \onslide<2->{1} &  \onslide<2->{0} &  \onslide<2->{0} \\
        \hline
        \onslide<3> {\rowcolor{background}}
        \onslide<3->{1} &  \onslide<3->{0} &  \onslide<3->{0} &  \onslide<3->{0} \\
        \hline
        \onslide<4> {\rowcolor{background}}
        \onslide<4->{1} &  \onslide<4->{1} &  \onslide<4->{0} &  \onslide<4->{0} \\
        \hline
    \end{tabular}
\end{frame}
\end{document}

2 Answers2

3

Based on https://tex.stackexchange.com/a/133001/36296

\documentclass[xcolor=table]{beamer}

\definecolor{background}{rgb}{0.84,0.92,0.95}

\makeatletter
\def\rowcolor{\noalign{\ifnum0=`}\fi\bmr@rowcolor}
\newcommand<>{\bmr@rowcolor}{%
    \alt#1%
        {\global\let\CT@do@color\CT@@do@color\@ifnextchar[\CT@rowa\CT@rowb}% 
        {\ifnum0=`{\fi}\@gooble@rowcolor}% 
}

\newcommand{\@gooble@rowcolor}[2][]{\@gooble@rowcolor@}
\newcommand{\@gooble@rowcolor@}[1][]{\@gooble@rowcolor@@}
\newcommand{\@gooble@rowcolor@@}[1][]{\ignorespaces}
\makeatother

\begin{document}
\begin{frame}
\setbeamercovered{dynamic}
\begin{tabular}{|c|c|c|c|}
    \hline
  J & K & $Q_{n}$ & $\overline{Q_{n}}$ \\
  \hline
    \rowcolor<1>{background} \onslide<1->{0} &  \onslide<1->{0} &  \onslide<1->{0} &  \onslide<1->{0} \\
  \hline
  \rowcolor<2>{background}
  \onslide<2->{0} &  \onslide<2->{1} &  \onslide<2->{0} &  \onslide<2->{0} \\
    \hline
    \rowcolor<3>{background}        
    \onslide<3->{1} &  \onslide<3->{0} &  \onslide<3->{0} &  \onslide<3->{0} \\
    \hline
    \rowcolor<4>{background}
    \onslide<4->{1} &  \onslide<4->{1} &  \onslide<4->{0} &  \onslide<4->{0} \\
    \hline
    \end{tabular}
\end{frame}
\end{document}
2

For information, if instead of {tabular}, you use {NiceTabular} of nicematrix (with the key color-inside) and its built-in command \rowcolor (instead of the command \rowcolor provided by colortbl), you have directly the expected output (but you need several compilations).

\documentclass{beamer}
\usepackage{nicematrix}
\definecolor{background}{rgb}{0.84,0.92,0.95}
\begin{document}
\begin{frame}
\setbeamercovered{dynamic}
\begin{NiceTabular}{|c|c|c|c|}[color-inside]
        \hline
        J & K & $Q_{n}$ & $\overline{Q_{n}}$ \\
        \hline
        \onslide<1> {\rowcolor{background}}
        \onslide<1->{0} &  \onslide<1->{0} &  \onslide<1->{0} &  \onslide<1->{0} \\
        \hline
        \onslide<2> {\rowcolor{background}}
        \onslide<2->{0} &  \onslide<2->{1} &  \onslide<2->{0} &  \onslide<2->{0} \\
        \hline
        \onslide<3> {\rowcolor{background}}
        \onslide<3->{1} &  \onslide<3->{0} &  \onslide<3->{0} &  \onslide<3->{0} \\
        \hline
        \onslide<4> {\rowcolor{background}}
        \onslide<4->{1} &  \onslide<4->{1} &  \onslide<4->{0} &  \onslide<4->{0} \\
        \hline
    \end{NiceTabular}
\end{frame}
\end{document}
F. Pantigny
  • 40,250