这是我的 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}
给了我这个:
使用 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}