无法与 XeLaTex 一起使用 pgf-blur 两次

无法与 XeLaTex 一起使用 pgf-blur 两次

下面的代码

\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 制作。此版本还修复了一些其他错误。

相关内容