1. Vedran Miletić
  2. beamer
  3. Issues
Issue #139 open

Stop increasing transparency for list environments

created an issue


with \setbeamercovered{transparent} the transparency is increased for each new level of list environments (itemize, enumerate, and description). If a picture is used as background, some items might appear (partially) inverted, because the transparency is only simulated. To fix this, I've created a patch, which adds an additional option for \setbeamercovered. This option stops the transparency to increase after a given level.

It works for my purpose, and since I didn't test it beyond that, I consider this feature experimental!

Some remarks on the attached patch: the patch is against version 3.10 of beamer. I hope it is useful. I'm not sure about line 300 in the original of beamerbaseoverlay.sty (\gdef\beamer@pgfextension{!##2opaque}). Since I couldn't figure out what this line does, the patch may cause trouble somewhere.

Bye, Mike

Comments (3)

  1. mike_km reporter


    here is an MWE. I included the patched version of \beamer@startcovered, so you can view the result without applying the patch.

    The blue box simulates a background image. Without the patch, item 2.1.1 appears to be partially inverted.

    Uncomment line 66 to use the patch. You can change the number assigned to maxdepth. 0 is not recommended and 3 or higher will lead to the same result as without the patch. Only 1 and 2 will change the transparency in the example.

    Bye, Mike

    % patched version of \beamer@startcovered
      \global\advance\beamer@coveringdepth by 1\relax%
            \expandafter\xdef\csname beamer@oldcolorhook%
            \expandafter\xdef\csname beamer@oldpgfextension%
    % don't know what this is used for,
            \xdef\beamer@colorhook{\csname beamer@oldcolorhook%
            \xdef\beamer@pgfextension{\csname beamer@oldpgfextension%
      \ifnum\beamer@slideinframe<\beamer@minimum%ok, at beginning
        \advance\beamer@minimum by-\beamer@slideinframe%
        \advance\beamer@slideinframe by-\beamer@minimum%
    %%%%% without using the patch
    %%%%% with patch used
    % ``background image''
    \setbeamertemplate{background canvas}{\color{blue!30!white}%
    \item Item 1
        \item Item 1.1
            \item Item 1.1.1
            \item Item 1.1.2
        \item Item 1.2
            \item Item 1.2.1
            \item Item 1.2.2
    \item Item 2
        \item Item 2.1
            \item Item 2.1.1
            \item Item 2.1.2
        \item Item 2.2
            \item Item 2.2.1
            \item Item 2.2.2
  2. Log in to comment