pgf-blur 和 beamer(以及 poppler)的丑陋瑕疵

pgf-blur 和 beamer(以及 poppler)的丑陋瑕疵

我正在尝试使用pgf-模糊包。这是一个最小的工作示例:

\documentclass{beamer}

\usepackage{tikz}
\usetikzlibrary{shadows.blur}

\begin{document}

\begin{frame}
\begin{tikzpicture}
\node[minimum height=1cm, minimum width=3cm,
  rounded corners, fill=red!30, blur shadow] {};
\end{tikzpicture}
\end{frame}

\end{document}

不幸的是,当我尝试使用任何基于 poppler 的渲染器(如 xpdf、evince、okular、impressive)展示幻灯片时,我在边框处,尤其是角落处,看到了非常丑陋的瑕疵。它看起来是这样的:

文物

有趣的是,如果我在 中执行相同的操作,问题就会消失\documentclass{article}。以下是没有使用 beamer 的同一张图片的屏幕截图:

使用 \documentclass{article} 呈现

因为这个问题不会发生在 mupdf 上,所以这可能只是 libpoppler 中的一个错误。但是,libpoppler 如此普遍,我需要找到一种方法来解决它。这个错误在没有 beamer 的情况下消失,这让我希望有办法解决这个问题,但我不知道 beamer 可能做了什么导致这个瑕疵。如果有 pgf-blur 的替代品,我也很乐意。

答案1

这是一个解决方法:

\documentclass{beamer}

\usepackage{tikz}
\usetikzlibrary{shadows.blur}
\tikzset{
  my blur shadow layer/.style={
    preaction={fill=black,fill opacity=.025,transform canvas={xshift=#1,yshift=-1*#1}},
  },
  my blur shadow/.style={
    my blur shadow layer/.list={.3pt,.6pt,...,2.7pt},
  },
}
\begin{document}

\begin{frame}
\begin{tikzpicture}
\node[minimum height=1cm, minimum width=3cm,
  rounded corners, fill=red!30,
  blur shadow,
  ] {};
\node[minimum height=1cm, minimum width=3cm,
  rounded corners, fill=orange!30,
  my blur shadow,
  ] at (0, -1.2){};
\end{tikzpicture}
\end{frame}

\end{document}

在此处输入图片描述

相关内容