人们经常提到 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 转义功能,为时已晚。这是一种安全的行为,否则可能会执行任何不安全的操作。