pgf-blur 使用不同节点大小和 XeLaTeX 的阴影故障

pgf-blur 使用不同节点大小和 XeLaTeX 的阴影故障

这是我的 MWE:

% !TeX program = XeLaTeX
\documentclass[9pt]{beamer}  

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

\tikzstyle{blurredShadow} = [rectangle, thick, draw=none, minimum width=1.5cm, minimum height=0.5cm, fill=green!50, blur shadow={shadow opacity=40}]

\begin{document}

\begin{frame}
\begin{center}
\begin{tikzpicture}[node distance=2cm]
tikzstyle{every node}=[font=\scriptsize]

\node (one) {Blabla};
\node (two) [right of=one]{
  \begin{tabular}{c}
        Blabla \\
        \& Blublu \\
    \end{tabular}
    };

\begin{scope}[on background layer]
\node [blurredShadow, above of=one, yshift=-2cm] { };
\node [blurredShadow, above of=two, yshift=-2cm, minimum height=1.5cm] { };
\end{scope}

\end{tikzpicture}

\end{center}
\end{frame}

\end{document}

给了我这个:

pgf-模糊故障

使用 pdfLaTeX 编译时不会出现此故障。但是,我需要使用 XeLaTex,因为我需要使用 fontspec 包。

Linux 64 位 Ubuntu 16.04。Tex 版本:TeX 3.14159265(TeX Live 2015/Debian)

下列解决方案类似的问题对我来说不起作用:通过设置定义驱动程序\def\pgfsysdriver{pgfsys-dvipdfmx.def}

有人知道解决办法吗?

答案1

作为临时的解决方法,您可以将高度和宽度传递给样式。

\documentclass[9pt]{beamer}  

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

\tikzset{blurredShadow/.style 2 args={rectangle, thick, draw=none, minimum
width=#1, minimum height=#2, fill=green!50, blur shadow={shadow
opacity=40}}}

\begin{document}

\begin{frame}
\begin{center}
\begin{tikzpicture}[node distance=2cm]
tikzstyle{every node}=[font=\scriptsize]

\node (one) {Blabla};
\node (two) [right of=one]{
  \begin{tabular}{c}
        Blabla \\
        \& Blublu \\
    \end{tabular}
    };

\begin{scope}[on background layer]
\node [blurredShadow={1.5cm}{1.5cm}, above of=two, yshift=-2cm] { };
\node [blurredShadow={1.5cm}{0.5cm}, above of=one, yshift=-2cm] { };
\end{scope}

\end{tikzpicture}
\end{center}
\end{frame}
\end{document}

相关内容