我使用了很多PSTricks
基于 的图形。由于在 上生成图形需要很长的编译时间XeLaTeX
,因此我pdfLaTeX
首先使用auto-pst-pdf
包。在稍后的运行中,也就是说,一旦生成了图形,我就可以使用选项off
来使用 发出的已经存在的 pdf 文件auto-pst-pdf
,但这只在 上有效pdfLaTeX
。我尝试过在 上使用\savepicture
和命令,但我没有得到图形。\usepicture
XeLaTeX
我的问题是:auto-pst-pdf
在编译时,使用生成的文件和图形进行自动化操作XeLaTeX
,实现自动化的“好”方法是什么?我知道我可以拆分auto-pst-pdf
生成的文件并单独保存图形,但我问的是在“手动调整”方面更有效的方法。
答案1
我们必须重写 pst-pdf 和 auto-pst-pdf 才能使它们与 xelatex 一起使用,因为它们对使用 latex/dvips 创建图像的编译方法做了很多假设,而且不能将 latex/dvips 与普通 xelatex 文档一起使用,因为它无法处理字体。
但是您可以使用 tikz/pgf 的外部库:
\documentclass[]{scrartcl}
\usepackage{pstricks}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzset{external/system call={xelatex --jobname="\image"
"\texsource"}}
\tikzexternalize
\begin{document}
%\tikzset{external/force remake} %uncomment if the images should be remade
\begin{tikzpicture}
\node{\begin{pspicture}(-5,-3)(5,8)
\psline(0,1)(2,3)
\end{pspicture}};
\end{tikzpicture}
\begin{tikzpicture}
\node{\begin{pspicture}(-5,-5)(5,5)
\psline(-4,-4)(-4,4)
\psframe[linestyle=none,fillstyle=vlines](-4,-4)(-4.75,4)
\end{pspicture}};
\end{tikzpicture}
\end{document}
答案2
auto-pst-pdf
与 一起使用是没有意义的xelatex
。xelatex
总是xdvi->xdvipdfmx
无论有没有都会走这条路线auto-pst-pdf
。当然,auto-pst-pdf
它本身无法处理xelatex
。
pst2pdf
或者使用TeXLive 和 MikTeX 的脚本:
pst2pdf <file.tex> -x
(-x 代表 xetex)或者不创建新图像
pst2pdf <file.tex> -x --noImages
<file>-pst.tex|pdf
是将所有图像保存在单页上的 TeX|PDF 文件。并且ist 是使用环境的<file>-pdf.tex|pdf
TeX/PDF 文件。\includegraphics
pspicture