[Tex/LaTex] Correct dynamic transparencies of blocks in beamer using \pause and \onslide

beamerblockpausetransparency

I'm using beamer with Antibes theme and \setbeamercovered{dynamic} option.
I would like to have a block whose text is shown in two different frames. Here is my first try:

\documentclass{beamer} %[handout]
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage[utf8x]{inputenc}
\usetheme{Antibes}
\setbeamercovered{dynamic}

\begin{document}
\begin{frame}
First text. \pause
\begin{block}{Title}
    Second text. \pause
    Third text.
\end{block}
\pause
Fourth text.
\end{frame}
\end{document}

which produces this ugly result:

ex1

The second try was with \onslide. With the same preamble:

\begin{document}
\begin{frame}
First text. \pause
\begin{block}{Title}
    Second text.
    \onslide<3->{Third text.}
\end{block}
\pause[4]
Fourth text.
\end{frame}
\end{document}

which now produces

ex2

This last result is quite good, exept for the fact that the "Third text" is too much greyed out! The text is there, but the transparency is even stronger than the "Fourth text", which comes later in the exposition.

Third try: I tried substituting the \pause[4] with another \onslide, but this solution isn't perfect too. The "Third text" and "Fourth text" are now both too much greyed out with respect to the "Second text".

How to obtain the perfect result?

Note that, when the "Second text" shows up, from that frame on everything gets its correct transparency level, in all the three solutions I tested.

Best Answer

One option: using \onslide almost ecerywhere (except for the first \pause, which could aslo be replaced for a convenient \onslide); notice also that you can avoid manual numbering:

\documentclass{beamer} %[handout]
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage[utf8x]{inputenc}
\usetheme{Antibes}
\setbeamercovered{dynamic}

\begin{document}
\begin{frame}
First text. \pause
\begin{block}{Title}
    Second text.
    \onslide<+(1)->{Third text.}
    \onslide<+(1)->{Fourth text.}
    \onslide<+(1)->{Fifth text.}
\end{block}
\onslide<+(1)->{Sixth text.}
\end{frame}
\end{document}

The result:

enter image description here

Related Question