下面的代码
\documentclass{article}
%\def\pgfsysdriver{pgfsys-dvipdfmx.def} %this line does not matter
\usepackage{tikz}\usetikzlibrary{shadows.blur}
\begin{document}
\begin{tikzpicture}
\draw[blur shadow](-2,0)circle(1);
\draw[blur shadow](0,0)rectangle(3,2);
\end{tikzpicture}
\end{document}
导致
只有 XeLaTeX 会产生这种情况。使用 LaTeX 和 LuaLaTeX 都没有问题。有什么办法可以解决这个问题吗?
答案1
也可以看看https://tex.stackexchange.com/a/445321/2388
\documentclass{report}
\usepackage{tikz}
\usetikzlibrary{shadows.blur}
\makeatletter
\newcounter{shadowblurcount}
\tikzset{
/tikz/render blur shadow/.code={
\stepcounter{shadowblurcount}%
\pgfbs@savebb
\pgfsyssoftpath@getcurrentpath{\pgfbs@input@path}%
\pgfbs@compute@shadow@bbox
\pgfbs@process@rounding{\pgfbs@input@path}{\pgfbs@fadepath}%
\pgfbs@apply@canvas@transform
\colorlet{pstb@shadow@color}{white!\pgfbs@opacity!black}%
\pgfdeclarefading{shadowfading\the\c@shadowblurcount}{\pgfbs@paint@fading}%
\pgfsetfillcolor{black}%
\pgfsetfading{shadowfading\the\c@shadowblurcount}%
{\pgftransformshift{\pgfpoint{\pgfbs@midx}{\pgfbs@midy}}}%
\pgfbs@usebbox{fill}%
\pgfbs@restorebb
},
}
\makeatother
\begin{document}
\thispagestyle{empty}
\begin{tikzpicture}
\draw[blur shadow](-2,0)circle(1);
\draw[blur shadow](0,0)rectangle(3,2);
\end{tikzpicture}
\end{document}
答案2
这不是 pgf 中的错误,而是 pgf-blur 中的错误。我在这里找到了一个可用的版本:http://bazaar.launchpad.net/~tex-sx/tex-sx/development/files由 Andrew Stacey 制作。此版本还修复了一些其他错误。