pdfoutput=1 无法用 auto-pst-pdf 替代 pdflatex

pdfoutput=1 无法用 auto-pst-pdf 替代 pdflatex

人们经常提到 latex 和 pdflatex 是同一个程序,但对变量 \pdfoutput 的默认值不同(前者为 0,后者为 1);参见latex 和 pdflatex 有什么实际区别?。因此,强制执行 pdflatex 的一个常见建议是将 \pdfoutput=1 放在序言的前 5 行内(例如http://arxiv.org/help/submit_tex#pdflatex)。对于使用 auto-pst-pdf 的第一个示例,此操作失败https://www.tug.org/PSTricks/main.cgi?file=pdf/pdfoutput

\documentclass[12pt]{article}

\usepackage{pstricks}
\usepackage{auto-pst-pdf}

\pagestyle{empty}

\begin{document}

\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}

% removed by poster: \includegraphics{foo}% can be foo.jpg or foo.png

\end{document}

编译得很好

$ pdflatex -shell-escape minimal.tex

并得到所需的minimal.pdf。添加

\pdfoutput=1

之前(或之后\begindocumentclass[12pt]{article}

$ latex -shell-escape minimal.tex

甚至

$ pdflatex -shell-escape minimal.tex

失败,No pages of output并且

-------------------------------------------------
auto-pst-pdf: Auxiliary LaTeX compilation
-------------------------------------------------
This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012)
entering extended mode

Package auto-pst-pdf Warning: 
    Creation of minimal-autopp.dvi failed.
This warning occured on input line 124.


Package auto-pst-pdf Warning: 
    Could not create minimal-pics.pdf. Auxiliary files not deleted.
This warning occured on input line 124.

-------------------------------------------------
auto-pst-pdf: End auxiliary LaTeX compilation
-------------------------------------------------

无论哪种情况,相应的日志文件 minimal-autopp.log 都会显示

Package ifplatform Warning: 
shell escape is disabled, so I can only detect \ifwindows.

)
\c@app@runs=\count111

! Package auto-pst-pdf Error: 
"shell escape" (or "write18") is not enabled:
auto-pst-pdf will not work!
.

See the auto-pst-pdf package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.134         Or turn off auto-pst-pdf.}
                                    %
You need to run LaTeX with the equivalent of "pdflatex -shell-escape"
Or turn off auto-pst-pdf.

因此,生成 minimal-pics.pdf 的辅助 pdflatex 进程现在似乎缺少该选项-shell-escape

PS:将选项 [crop=off] 添加到 auto-pst-pdf,如下所示auto-pst-pdf 问题没有改变任何东西(并且我猜如果那是问题的话它一开始就不应该起作用)。

答案1

shell-escape功能无法在源文件中激活。当文件打开时,您无法修改 shell 转义功能,为时已晚。这是一种安全的行为,否则可能会执行任何不安全的操作。

相关内容