You can adapt this answer to How to make beamer overlays with Tikz node:
\tikzset{onslide/.code args={<#1>#2}{%
\only<#1>{\pgfkeysalso{#2}} % \pgfkeysalso doesn't change the path
}}
\tikzset{alt/.code args={<#1>#2#3}{%
\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
}}
\tikzset{temporal/.code args={<#1>#2#3#4}{%
\temporal<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}{\pgfkeysalso{#4}} % \pgfkeysalso doesn't change the path
}}
This allows you to put for instance temporal=<overlay specification>{before}{during}{after}
in the keyval list anywhere in a TikZ command. onslide
works the same way with \only
and I included \alt
to round out the set.
Here is the complete code:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows}
\usepackage{xcolor}
\definecolor{uablue}{RGB}{0,61,100}
\colorlet{uablue100}{uablue}
\colorlet{uablue75} {uablue!75!white}
\colorlet{uablue50} {uablue!50!white}
\colorlet{uablue25} {uablue!25!white}
\colorlet{uablue10} {uablue!10!white}
\colorlet{uablue5} {uablue!5!white}
\definecolor{uared}{RGB}{126,0,47}
\colorlet{uared100}{uared}
\colorlet{uared75} {uared!75!white}
\colorlet{uared50} {uared!50!white}
\colorlet{uared25} {uared!25!white}
\colorlet{uared10} {uared!10!white}
\colorlet{uared5} {uared!5!white}
\tikzset{onslide/.code args={<#1>#2}{%
\only<#1>{\pgfkeysalso{#2}} % \pgfkeysalso doesn't change the path
}}
\tikzset{alt/.code args={<#1>#2#3}{%
\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
}}
\tikzset{temporal/.code args={<#1>#2#3#4}{%
\temporal<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}{\pgfkeysalso{#4}} % \pgfkeysalso doesn't change the path
}}
\begin{document}
\begin{frame}<1>[label=overview]
\frametitle{Overview}
\begin{figure}
\centering
\tikzstyle{block} = [rectangle, draw, fill=uablue25,
text width=4em, text centered, rounded corners, minimum height=2em, line width=1pt ]
\tikzstyle{line} = [line width=1pt, -triangle 45]
\tikzstyle{alert} = [text=uared100, fill=uared25, draw=uared100]
\tikzstyle{dim} = [text=uablue25, fill=uablue5, draw=uablue25]
\begin{tikzpicture}[node distance=1.5cm, auto]
% Place nodes
\node [block,onslide=<2->{dim}] (client) {Web Client};
\node [block,onslide=<2->{dim}] (python) [right of=client, node distance=3cm] {Python Service};
\node [block,onslide=<2->{dim}] (wavefront) [right of=python, node distance=3cm] {Wavefront};
\node [block,onslide=<2->{dim}] (AMCL) [above of=wavefront] {AMCL};
\node [block,temporal=<2>{}{alert}{dim}] (VFH) [below of=wavefront] {VFH};
\node [block,onslide=<2->{dim}] (laser) [above right=0.5cm and 1.2cm of AMCL] {Laser};
\node [block,onslide=<2->{dim}] (dash7) [right of=AMCL, node distance=3cm] {DASH7};
\node [block,onslide=<2->{dim},temporal=<3>{}{alert}{dim}] (robot) [right of=wavefront, node distance=3cm] {Robot};
% Draw edges
\draw [line] (client.east) -> (python.west);
\draw [line] (python) -> (client);
\draw [line] (python) -- (wavefront);
\draw [line] (AMCL) -- (wavefront);
\draw [line] (AMCL) edge[out=180,in=90] (python);
\draw [line] (python) edge[out=270,in=180] (VFH);
\draw [line] (wavefront) -- (VFH);
\draw [line] (laser) -> (AMCL);
\draw [line] (dash7) -> (AMCL);
\draw [line] (robot) -> (AMCL);
\draw [line] (VFH) edge[out=0,in=270] (robot);
\end{tikzpicture}
\end{figure}
\end{frame}
\begin{frame}{Introductory stuff}
\begin{itemize}[<+->]
\item Stuff
\item Stuff
\item Stuff
\item Stuff
\end{itemize}
\end{frame}
\againframe<2>{overview}
\begin{frame}{Stuff about VFH}
\begin{itemize}[<+->]
\item Stuff
\item Stuff
\item Stuff
\item Stuff
\item Stuff
\end{itemize}
\end{frame}
\againframe<3>{overview}
\begin{frame}{Stuff about Robot}
\begin{itemize}[<+->]
\item Stuff
\item Stuff
\item Stuff
\end{itemize}
\end{frame}
\end{document}
You can use a TikZ \node
and control the opacity using vopacity=`:
\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\begin{itemize}
\item First item.
\item Second item.
\item Third item.
\tikz\node[opacity=0.2,align=left,inner xsep=0pt]
{%
\parbox[t]{\linewidth}{%
\item Fourth item.
\item Fifth item.
\item Sixth item.}%
};
\end{itemize}
\end{frame}
\end{document}
Best Answer
You can use
\alert{foo}
to highlight a short portion of text. For longer paragraphs thealertenv
environment is more apt (though\alert{}
does not complain when fed an argument containing a new paragraph); use it as followsThe MWE
yields