Ich brauche eine Zellfärbung (oder einen Hervorhebungseffekt) in einer Zelle einer Tabelle inbeamer
nach einem Klick (ich meine, ich habe vor, in diesem Rahmen über etwas zu sprechen, und ich werde am Ende meines Vortrags nur eine Zahl in einer Zelle hervorheben), und ich habe viele Befehle wie \onslide<>
, \only<>
, \visible<>
, und neue Befehle ausprobiert \colorbox
, aber keiner von ihnen hat funktioniert. Schließlich bin ich auf einige gestoßen\rowcolor<>{colorname}
Codes und ich habe versucht, diese Codes (ohne die Newcommand-Struktur vollständig zu kennen) für die Zellfärbung mit In-Out-Effekten anzuordnen, aber da stimmt etwas nicht, also habe ich einen solchen Fehler erhalten
Falsch platziert \noalign
.
Was ist das Problem damit?
\documentclass[xcolor=table]{beamer}
\rowcolors{1}{gray!30}{gray!10}
\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
\makeatletter
\def\cellcolor{\noalign{\ifnum0=`}\fi\bmr@cellcolor}
\newcommand<>{\bmr@cellcolor}{%
\alt#1%
{\global\let\CT@do@color\CT@@do@color\@ifnextchar[\CT@rowa\CT@rowb}%
{\ifnum0=`{\fi}\@gooble@cellcolor}%
}
\newcommand{\@gooble@cellcolor}[2][]{\@gooble@cellcolor@}
\newcommand{\@gooble@cellcolor@}[1][]{\@gooble@cellcolor@@}
\newcommand{\@gooble@cellcolor@@}[1][]{\ignorespaces}
\makeatother
\begin{document}
\begin{frame}{The MWE}%
\only<2>{\rowcolors{1}{blue!30}{blue!10}}
\only<1,3>{\rowcolors{1}{gray!30}{gray!10}}
\begin{center}
\begin{tabular}{cc}
A & B \\
A & B \\
A & B \\
\rowcolor<4>{green} C & D \\
\rowcolor<4,5>{yellow} E & F \\
\rowcolor<4-6>{green} G & H \\
\rowcolor<6>{red} Y & S \\
A & B \
\end{tabular}
\end{center}
\par
\visible<1>{Testing default row colouring ... \\}
\visible<2,3>{Testing change of default colors ...\\}
\visible<4-6>{Testing in-out of custom colors ...\\ (caution: The order of defaults colors can change)\\}
\vfill
\scriptsize{
Based of answer of Martin Scharrer
\url{https://tex.stackexchange.com/questions/18427/why-cant-i-wrap-rowcolor-in-only-beamer}}
\end{frame}
\begin{frame}{Cell Coloring with In-out Effects}
\begin{center}
\begin{tabular}{cc}
A & B \\
C & \cellcolor<3>{green} C \\
D & E \\
F & G \
\end{tabular}
\end{center}
\end{frame}
\end{document}
Antwort1
Löschen Sie den \noalign
Befehl aus der Definition von \cellcolor
:
\documentclass[xcolor=table]{beamer}
\rowcolors{1}{gray!30}{gray!10}
\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
\makeatletter
\def\cellcolor{{\ifnum0=`}\fi\bmr@cellcolor}
\newcommand<>{\bmr@cellcolor}{%
\alt#1%
{\global\let\CT@do@color\CT@@do@color\@ifnextchar[\CT@rowa\CT@rowb}%
{\ifnum0=`{\fi}\@gooble@cellcolor}%
}
\newcommand{\@gooble@cellcolor}[2][]{\@gooble@cellcolor@}
\newcommand{\@gooble@cellcolor@}[1][]{\@gooble@cellcolor@@}
\newcommand{\@gooble@cellcolor@@}[1][]{\ignorespaces}
\makeatother
\begin{document}
\begin{frame}{The MWE}%
\only<2>{\rowcolors{1}{blue!30}{blue!10}}
\only<1,3>{\rowcolors{1}{gray!30}{gray!10}}
\begin{center}
\begin{tabular}{cc}
A & B \\
A & B \\
A & B \\
\rowcolor<4>{green} C & D \\
\rowcolor<4,5>{yellow} E & F \\
\rowcolor<4-6>{green} G & H \\
\rowcolor<6>{red} Y & S \\
A & B \\
\end{tabular}
\end{center}
\par
\visible<1>{Testing default row colouring ... \\}
\visible<2,3>{Testing change of default colors ...\\}
\visible<4-6>{Testing in-out of custom colors ...\\ (caution: The order of defaults colors can change)\\}
\vfill
\scriptsize{
Based of answer of Martin Scharrer
\url{http://tex.stackexchange.com/questions/18427/why-cant-i-wrap-rowcolor-in-only-beamer}}
\end{frame}
\begin{frame}{Cell Coloring with In-out Effects}
\begin{center}
\begin{tabular}{cc}
A & B \\
C & \cellcolor<3>{green} C \\
D & E \\
F & G \\
\end{tabular}
\end{center}
\end{frame}
\end{document}