pdfLaTeX 和 auto-pst-pdf 的编译问题

pdfLaTeX 和 auto-pst-pdf 的编译问题

我在文档中使用了大量 png/jpg 图像,因此我决定使用pdfLaTeX。这种方法的主要问题是技巧不直接支持。因为我找到了一个包(自动 pst pdf) 应该可以解决这个问题,所以我尝试了一下。但是我发现了一个问题。

我们来看一个简单的例子:

\documentclass[12pt,a4paper]{report}

\usepackage[pdf]{pstricks}
\usepackage[on]{auto-pst-pdf}

\begin{document}

This is a test file
\newline
\newline
\begin{pspicture}(-5.25,-5.25)(5.25,5.25)
  \pscircle*[linecolor=cyan]{5}
  \psgrid[subgriddiv=0,gridcolor=lightgray,gridlabels=0pt]
  \Huge\sffamily\bfseries
  \rput(-4.5,4.5){A} \rput(4.5,4.5){B}
  \rput(-4.5,-4.5){C}\rput(4.5,-4.5){D}
  \rput(0,0){auto-pst-pdf}
  \rmfamily
  \rput(0,-3.8){PSTricks}
  \rput(0,3.8){\LaTeX}
\end{pspicture}

\end{document}

如果我们尝试在其文件夹中编译此文件(输出文件夹= build):

pdflatex -shell-escape -output-directory=build test.tex

一切运行正常,生成的 PDF 被移动到result。现在,让我们假设我们有一个具有以下结构的文件夹:

-- root (Makefile)
 |___ src (tex files)
 |___ build (everything generated by pdfLaTeX)

如果我们从根文件夹调用 make,则会执行以下命令:

pdflatex -shell-escape -output-directory=build src/test.tex

尽管唯一的区别是 tex 文件的位置,但这不起作用:临时图像文件(dvi、ps、pdf)未经编译,并且生成的文档不会获得其图形。

我曾尝试使用一些 auto-pst-pdf 选项:

\usepackage[on,
            latex={-out-directory=. -jobname=test-pics test.tex},
            dvips={-o test-pics.ps test-pics.dvi},
            pspdf={-dAutoRotatePages=/None test-pics.ps test-pics.pdf},
            crop=off
           ]{auto-pst-pdf}

但到目前为止,这种方法不起作用,我不知道这是否是正确的方法。有人遇到过类似的问题吗?如果有,你是如何解决的?

答案1

您从 开始pdflatexroot所以这是当前目录。auto-pst-pdf首先将调用latex --jobname=test-autopp test来生成test-autopp.dvi带有图片的 。第一步将失败,因为latex显然无法test在当前目录中找到root,并且不知道应该在 中查找scr

你应该总是pdflatex从主文件的目录开始。其他一切都可能让人相当困惑。

答案2

插入到你的序言中:

\graphicspath{{./}{./src/}{./build/}}

相关内容