我正在尝试使用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 的同一张图片的屏幕截图:
因为这个问题不会发生在 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}