使用透明包和 Pdflatex 制作一颗发光的星星

使用透明包和 Pdflatex 制作一颗发光的星星

考虑以下代码:

\documentclass{book}
\textheight 8.5in \textwidth 5.75in 
\usepackage{xcolor}
%\usepackage{transparent}


\definecolor{darkpurple}{RGB}{48, 25, 52}

\usepackage{tikz}
\usetikzlibrary{fadings, calc}
\tikzfading[name=dim fade, inner color=transparent!40, outer color=transparent!100]
\tikzfading[name=bright fade, right color=transparent!100, left color=transparent!100, middle color=transparent!0]
\tikzfading[name=long bright fade, right color=transparent!100, left color=transparent!0]

\newcommand{\glowstar}[3][.5]{\fill[white,path fading=dim fade](#2)circle[radius=#1*.6];
    \foreach \t in {0,60,120}{
    \fill[rotate around={\t:(#2)}, white,path fading=bright fade]($(#2)-(.9*#1,0)$)--($(#2)-(0,.05*#1)$)--($(#2)+(.9*#1,0)$)--($(#2)+(0,.02*#1)$)--cycle;
    \fill[rotate around={\t:(#2)}, white,path fading=long bright fade]($(#2)-(.5*#1,0)$)--($(#2)-(0,.04*#1)$)--($(#2)+(.5*#1,0)$)--($(#2)+(0,.04*#1)$)--cycle;
    }
    \foreach \l [count=\n from 0] in {#3}{
        \fill[rotate around={\n*90:(#2)}, white,path fading=bright fade]($(#2)-(\l*#1,0)$)--($(#2)-(.4,.06*#1)$)--($(#2)+(.4,.06*#1)$)--cycle;
     }        
    \fill[white] (#2)circle[radius=#1*.13];
    }

\begin{document}
\thispagestyle{empty}
\begin{center}
\begin{tikzpicture}
\fill[darkpurple] rectangle (8,6);
\glowstar[1.8]{4,3}{1,1,1,1}% length of left,bottom,right,top
\end{tikzpicture}
\end{center}
\end{document}

产生了我想要的结果:

在此处输入图片描述

transparent但是,我想将其用于需要包并进行编译的文档pdflatex

但是,当我使用 运行上述代码时\usepackage{transparent},会产生以下内容:

在此处输入图片描述

问题:如何在调用transparent包并进行编译时生成第一个输出pdflatex

谢谢。

答案1

我猜你正在使用旧版本transparent。你可以在手册历史记录部分看到,pgf(TikZ)兼容性是在2018年添加的:

[2018/11/18 v1.3] • 添加了与 pgf 兼容的代码,请参阅 https://github.com/ho-tex/transparent/issues/1

该链接提供了 u-fischer 的补丁:

\documentclass{article}
\usepackage{tikz}
\usepackage{transparent}

\makeatletter
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pgfutil@addpdfresource@extgs\endcsname\relax
\else
  \AtBeginDocument{%
    % \pgf@sys@addpdfresource@extgs@plain{%
    \pgfutil@addpdfresource@extgs{%
      \TRP@list
    }%
  }%
  \let\TRP@addresource\relax
\fi
\makeatother

\begin{document}
Hello \texttransparent{.3}{World}
\begin{tikzpicture}
\filldraw[opacity=.5] (0,0) rectangle (1,1);
\end{tikzpicture}
\makeatletter
\end{document}

我没有办法测试这个,而且它也应该是不需要的。-升级并更新您的 LaTeX 安装。

相关内容