4

I am learning \onslide. I copied the example from the beameruserguide. The last text "Shown on all slides" is transparent after setting \setbeamercovered{transparent}. I don't know why. Could anyone answer this question for me? Thank you.

\documentclass{beamer}
\setbeamercovered{transparent}
\begin{document}
\begin{frame}
Shown on first slide.
\onslide<2-3>
Shown on second and third slide.
\begin{itemize}
\item
Still shown on the second and third slide.
\onslide+<4->
\item
Shown from slide 4 on.
\end{itemize}
Shown from slide 4 on.
\onslide
Shown on all slides.
\end{frame}

\end{document}

1st slide 2nd slide 3rd slide 4th slide I think the text "Shown on all slides" should not be transparent on all slides. If I comment \setbeamercovered{transparent} out, it is not transparent any more. Can anynone tell me the reason.

2
  • 1
    Welcome to TeX-SE! I wonder how one should parse your statement "should not be transparent but is not". If it should not be and is not, what is the problem?
    – user121799
    Jun 5, 2019 at 2:43
  • @marmot Sorry for the cofusion. My problem is that the text "Show on all sildes" should not be transparent. But it is transparent on the 1st and 4th slides. If I comment out \setbeamercovered{transparent}, the text can be shown on all slides. But I need the transparent effect so I can't do this. I don't know why \setbeamercovered{transparent} causes this problem.
    – Keqi Ma
    Jun 5, 2019 at 7:16

2 Answers 2

1
+100

beamer redefines in beamerbasecolor the \reset@color command to allow some color setting to survive grouping. Most importantly it inserts the line

 \pgfsys@color@unstacked{beamer@tempcolor}%

In pdflatex \pgfsys@color@unstacked is defined (in the pgf driver pgfsys-pdftex.def) as

\def\pgfsys@color@unstacked#1{%
    \pdfliteral{\csname\string\color@#1\endcsname}%
}

In the xetex driver of pgf it not defined, so the empty fallback definition is used.

This command is responsable to reset the color after a group:

\documentclass{beamer}
\setbeamercovered{transparent}
\setbeamertemplate{navigation symbols}{}
\makeatletter
% \pgfsys@color@unstacked definition in pdflatex: 
% \pdfliteral {\csname \string \color@ #1\endcsname }
% in xelatex: {}
\def\pgfsys@color@unstacked#1{} %now it fails with pdflatex too

\begin{document}
\begin{frame}[plain]
1A
\onslide<1>
\begingroup
1B
\onslide<2>
2C
\endgroup
2D
\onslide
1-2E
\end{frame}

\end{document} 
-1

The premise of your question

"The last text "Shown on all slides" is transparent after setting \setbeamercovered{transparent}"

is wrong. At least on my computer, the text "Shown on all slides" appears as normal (non-transparent) text on all slides. The option \setbeamercovered{transparent} only has an effect on the text in overlays.

Edit: The compiled pdf on my computer looks different than the screenshot provided by Keqi Ma. I observe the correct behavior using

Document Class: beamer 2015/01/05 3.36

Package: beamerbaseoverlay 2013/12/25 (rcs-revision f6bd5e3805da)

7
  • Thanks for your reply. From the beameruserguide, \onslide+<4-> is mapped to \onslide+<4->. I just wonder why it can affect the text "Shown on all slides" behaving like this.
    – Keqi Ma
    Jun 6, 2019 at 1:09
  • I misunderstood your question the first time around. The text "Shown on all slides" remains non-transparent on all slides, so I cannot reproduce the problem you are talking about. Maybe you can clarify what you mean by "transparent"?
    – StarBug
    Jun 6, 2019 at 9:56
  • in my first picture, "Show on all slides" is transparent. It is not in overlays, I think it should be not transparent. If I comment out \setbeamercovered{transparent}, it is not transparent as expected. So I wonder why \setbeamercovered{transparent} has an effect on "Show on all slides".
    – Keqi Ma
    Jun 6, 2019 at 15:32
  • Very strange. The pdf on my computer looks different than your screenshot. Maybe you have an old buggy version of beamer? Which version of beamerbaseoverlay.sty are you using? (look in the .log file)
    – StarBug
    Jun 6, 2019 at 16:35
  • ("C:\Program Files\MiKTeX 2.9\tex/latex/beamer\beamerbaseoverlay.sty" \beamer@argscount=\count133 \beamer@lastskipcover=\skip44 \beamer@trivlistdepth=\count134 ). I can't find more information in the log file beside this. Could you find some problem?
    – Keqi Ma
    Jun 7, 2019 at 3:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .