光束器中的半透明图形(pdflatex)

光束器中的半透明图形(pdflatex),latex,pdflatex,beamer,Latex,Pdflatex,Beamer,我正试图使用覆盖图来避免为每张幻灯片创建不同的图像。覆盖层适用于我包含的任何文本,但不适用于图形。例如: \setbeamercovered{dynamic} \begin{figure}\resizebox{10.0cm}{!}{ \includegraphics{problem-a.pdf} Test A \pause \includegraphics{problem-b.pdf} Test B

我正试图使用覆盖图来避免为每张幻灯片创建不同的图像。覆盖层适用于我包含的任何文本,但不适用于图形。例如:

\setbeamercovered{dynamic}
\begin{figure}\resizebox{10.0cm}{!}{
        \includegraphics{problem-a.pdf}
        Test A
        \pause
        \includegraphics{problem-b.pdf}
        Test B
        \pause
        \includegraphics{problem-c.pdf}
        Test C
}\end{figure}

文本“测试B”和“测试C”中的结果在第一张幻灯片上被着色,但与“问题B”和“问题C”相对应的数字没有着色。

我做了类似的操作,如下所示:

\begin{figure}
                \includegraphics<1->{problem-a.pdf}
                \onslide<1->{Test A}                    
                \includegraphics<2->{problem-b.pdf}
                \onslide<1->{Test B}
                \includegraphics<3->{problem-c.pdf}
                \onslide<1->{Test C}
\end{figure}
\begin{figure}
\includegraphics{problem-a.pdf}
\onslide{Test A}
\includegraphics{problem-b.pdf}
\onslide{Test B}
\includegraphics{problem-c.pdf}
\onslide{Test C}
\结束{图}

也许它对您很有用

对于任何偶然发现这一点的人,到目前为止,我发现最好的方法是使用tikz并设置自定义透明度模式:

\gdef\transparent@value{100}
\newcommand{\getbeamertrans}{
    \transparent@value/100
}
\newcommand{\set@transparent}[1]{\gdef\transparent@value{#1}}
\def\opaquenessCustom#1{%
\only<1->{%
  \beamer@actions{%
    \set@transparent{#1}%
    \expandafter\xdef\csname beamer@oldcolorhook%
    \the\beamer@coveringdepth\endcsname{\beamer@colorhook}%
    \expandafter\xdef\csname beamer@oldpgfextension%
    \the\beamer@coveringdepth\endcsname{\beamer@pgfextension}%
    {\globalcolorstrue\colorlet{beamer@freeze\the\beamer@coveringdepth}{bg}}%
    \xdef\beamer@colorhook{!#1!beamer@freeze%
      \the\beamer@coveringdepth\beamer@colorhook}%
    \gdef\beamer@pgfextension{!#1opaque}%
    \color{.}%
  }%
  {%
    \set@transparent{100}%
    \xdef\beamer@colorhook{\csname beamer@oldcolorhook%
      \the\beamer@coveringdepth\endcsname}%
    \xdef\beamer@pgfextension{\csname beamer@oldpgfextension%
      \the\beamer@coveringdepth\endcsname}%
    \color{.}%
  }}%
}%
\define@key{beamer@mixin}{transparent}[15]{%
    \def\beamer@uncoverbeforeactions{\ignorespaces\opaquenessCustom{#1}}%
    \def\beamer@uncoverafteractions{\ignorespaces\opaquenessCustom{#1}}%
}
\newcommand{\BeamerGraphic}[1]{%
    \begin{tikzpicture}%
        {\node[opacity=\getbeamertrans] {\includegraphics{#1}};}%
    \end{tikzpicture}%
}
\gdef\transparent@value{100}
\新命令{\getbeamertrans}{
\transparent@value/100
}
\纽科曼{\set@transparent}[1] {\gdef\transparent@value{#1}}
\定义\opaquencesscustom#1{%
\只有{%
\beamer@actions{%
\set@transparent{#1}%
\expandafter\xdef\csnamebeamer@oldcolorhook%
\\beamer@coveringdepth\endcsname{\beamer@colorhook}%
\expandafter\xdef\csnamebeamer@oldpgfextension%
\\beamer@coveringdepth\endcsname{\beamer@pgfextension}%
{\globalcolorstrue\colorlet{beamer@freeze\\beamer@coveringdepth}{bg}}}%
\xdef\beamer@colorhook{!#1!beamer@freeze%
\\beamer@coveringdepth\beamer@colorhook}%
\gdef\beamer@pgfextension{!#1opaque}%
\颜色{.}%
}%
{%
\set@transparent{100}%
\xdef\beamer@colorhook{\csnamebeamer@oldcolorhook%
\\beamer@coveringdepth\endcsname}%
\xdef\beamer@pgfextension{\csnamebeamer@oldpgfextension%
\\beamer@coveringdepth\endcsname}%
\颜色{.}%
}}%
}%
\define@key{beamer@mixin}{透明}[15]{%
\def\beamer@uncoverbeforeactions{\ignorespaces\opaquencesscustom{{1}}}%
\def\beamer@uncoverafteractions{\ignorespaces\opaquencesscustom{{1}}}%
}
\新命令{\BeamerGraphic}[1]{%
\开始{tikzpicture}%
{\node[opacity=\getbeamertrans]{\includegraphics{{1};}%
\结束{tikzpicture}%
}

您可以在此找到有关在pdflatex中使用导入图形的更多信息。
查看第12章:“叠加两个导入的图形”。

另一种方法可以是暂时用半透明形状覆盖图像:

\documentclass{beamer}
\usepackage{tikz}
\setbeamercovered{dynamic}

\begin{document}

\begin{frame}

\begin{figure}
    \includegraphics[width=2cm,page=1]{example-image-duck}
    Test A
    \pause
    \begin{tikzpicture}
    \node[anchor=south west,inner sep=0] (B) at (4,0) {\includegraphics[width=2cm,page=2]{example-image-duck}};
    \only<1>{%
        \fill [draw=none, fill=white, fill opacity=0.7] (B.north west) -- (B.north east) -- (B.south east) -- (B.south west) -- (B.north west) -- cycle;
    }
    \end{tikzpicture}
    Test B
    \pause  
     \begin{tikzpicture}
        \node[anchor=south west,inner sep=0] (B) at (4,0) {\includegraphics[width=2cm,page=3]{example-image-duck}};
        \only<1-2>{%
            \fill [draw=none, fill=white, fill opacity=0.7] (B.north west) -- (B.north east) -- (B.south east) -- (B.south west) -- (B.north west) -- cycle;
        }
     \end{tikzpicture}  
    Test C
\end{figure}
\end{frame}

\end{document}
\documentclass{beamer}
\usepackage{tikz}
\setbeamercovered{dynamic}
\开始{document}
\开始{frame}
\开始{图}
\includegraphics[宽度=2cm,页面=1]{示例图像鸭}
测试A
\停顿
\开始{tikzpicture}
\节点[anchor=south west,内部sep=0](B)位于(4,0){\includegraphics[width=2cm,page=2]{示例图像duck};
\只有{%
\填充[绘制=无,填充=白色,填充不透明度=0.7](B.西北)--(B.东北)--(B.东南)--(B.西南)--(B.西北)--循环;
}
\结束{tikzpicture}
测试B
\停顿
\开始{tikzpicture}
\节点[anchor=south west,内部sep=0](B)位于(4,0){\includegraphics[width=2cm,page=3]{示例图像duck};
\只有{%
\填充[绘制=无,填充=白色,填充不透明度=0.7](B.西北)--(B.东北)--(B.东南)--(B.西南)--(B.西北)--循环;
}
\结束{tikzpicture}
测试C
\结束{图}
\结束{帧}
\结束{document}

我意识到这是一个老问题,但我无法让它起作用。。。你包括哪些软件包?@greschd:根据我的记录:subfigure、tikz、textcomp你包含的图形是PDF,你可以在外部编辑它们(使用inkscape、adobe的东西?)或将它们转换为位图(使用ghostscript、incscape等),然后编辑并包含它们(使用paint、paint.net、gimp等)这仅适用于实心背景,即使有渐变(或其他自定义)背景,也可以调整不透明度