TransWikia.com

Beamer pause and grey not in order

TeX - LaTeX Asked by alittleboy on April 24, 2021

I have a slide that is produced by the following codes:

begin{frame}[plain]
begin{itemize}
item Current work 0
item Future works 1
item Future works 2
begin{center}
includegraphics[scale=0.35]{xxx.pdf}
end{center}
end{itemize}
end{frame}

Now I want to display the first item “Current work 0” and the graphics xxx.pdf at the same time, while grey out the two “Future works”. Then on the next slide I want to display the two “Future works” items and grey out “Current works” and the graphics. Is there any way to achieve that?

2 Answers

The following MWE provides hidecontent[<transparency>]{<stuff>} that hides <stuff> with a white transparent box. Optional transparency is set as <transparency> (provided by Heiko's transparent package); default is 0.25 or 25%:

enter image description here

documentclass{beamer}% http://ctan.org/pkg/beamer
usepackage{transparent}% http://ctan.org/pkg/transparent
setbeamercovered{transparent}
newcommand{hidecontent}[2][0.25]{{% hidecontent[<transparency>]{<stuff>}
  setbox9=hbox{#2}% Store <stuff> in box9 to obtain height/width
  transparent{#1}ooalign{usebox9crcolor{white}rule{wd9}{ht9}cr}}}
begin{document}
begin{frame}[plain]
  begin{itemize}
    item<1> Current work 0
    item<2> Future works 1
    item<2> Future works 2
    begin{center}
      mbox{only<1>{includegraphics[scale=0.35]{example-image-a.pdf}}}%
      mbox{only<2>{hidecontent{includegraphics[scale=0.35]{example-image-a.pdf}}}}%
    end{center}
  end{itemize}
end{frame}
end{document}

beamer doesn't adequately handle hiding of graphics, hence the use of hidecontent. This works well with rectangular content. Other content (textual, for example), is best dealt with by beamer itself.

Correct answer by Werner on April 24, 2021

I can suggest a less complicated way than what Werner proposed. It consists in one include and no change to your code, but you have to download a custom style that remedy to your problem.

  1. Download fixpauseincludegraphics.sty and place it into the same folder as your .tex file.

  2. Include the package with usepackage{fixpauseincludegraphics}.

  3. (optional) Check out this post to understand how it works - long story short, this solution consists in an overloading of includegraphics to redraw the pictures using tikz to change the opacity according to the beamer transparency state.

Answered by Jealie on April 24, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP