如何多次在 LuaLaTeX 中包含 EPS 并每次运行 postscript 代码?

如何多次在 LuaLaTeX 中包含 EPS 并每次运行 postscript 代码?

啊霍伊,

我有一个.eps文件,它会进行一些随机数计算,以便每次执行时看起来都不同。

现在我想将其多次包含到 LuaLaTeX 文档中,并且每次包含时都应运行 postscript 代码以使每次包含看起来不同。

但事实上,当我多次查看文件时,每个包含的内容看起来都一样\includegraphics.eps

使用新的 LuaLaTeX 运行时它看起来有所不同,但我希望.eps同一文档中的每个实例看起来都不同。

(怎样)才能实现这一点?

我现在有一个使用 TikZ 的解决方案,但我仍然感兴趣它是否可以用于 EPS。

以下是有问题的 EPS 文件:

%!PS
%%Title: Random dots
%%Pages: 1
%%BoundingBox: 0 0 283 283
%%HiResBoundingBox: 0.000000 0.000000 283.000000 283.000000
%% Page:     1    1

% Copyleft Public Domain

% Save the PostScript environment
save

% Initialise random generator seed
realtime srand

% define dot drawing
/DOT {
  rand 283 mod rand 283 mod
  rand 300 mod 50 div 4 add
  0 360 arc fill
} def

% for loop: Start, step, max.
0 1 40
{
  % for loop pushes the loop variable on the stack, remove it.
  pop
  % Draw dot.
  DOT
} for

% Restore the PostScript environment
restore
showpage

%%Trailer
%%EOF

问候!

答案1

您可以更改两个图形之间的后缀,这将强制进行新的转换:

\documentclass[a4paper]{article}
\usepackage{graphicx}
\begin{document}
\epstopdfsetup{suffix=-\SourceExt-converted-to-1} 
\fbox{\includegraphics[width=5cm]{dots.eps}}

\bigskip


\epstopdfsetup{suffix=-\SourceExt-converted-to-2} 
\fbox{\includegraphics[width=5cm]{dots.eps}}

\end{document}

在此处输入图片描述

相关内容