我尝试使用 pdfLaTeX 引擎创建一个文档,其中包含由 PSTricks 生成的图形,并利用了该包auto-pst-pdf
。一切都很顺利,直到我使用 minted 软件包;一旦包含这个软件包,auto-pst-pdf
就无法创建-autopp.dvi
文件和随后的-pics.pdf
文件。无论是否包含,软件包的一切minted
似乎都正常auto-pst-pdf
,所以在我看来后者与前者存在一些冲突。有人知道这是怎么回事吗?
非常感谢您的关注和帮助。
我按照 texlearner 的建议在下面附加了一个 MWE:
\documentclass[12pt]{memoir}
\usepackage{pstricks}
\usepackage{auto-pst-pdf}
%\usepackage{minted}
\pagestyle{empty}
\begin{document}
\begin{postscript}
\psset{fillstyle=solid}
\psscalebox{0.75}{%
\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{postscript}
\end{document}
使用 WinEdt 6.0 和 MikTeX 2.9,只要包含minted
被注释,pdflatex
就会-shell-escape
生成相应的一页长的 PDF。一旦minted
被有效包含,就不会创建 PDF。
Herbert 提供了一个答案(见下文),解决了相关问题minted
。不过,我发现一些基于 PSTricks 的包与基础包一起包含 pstricks
。作为 MWE,我建议使用以下代码:
\documentclass[12pt]{memoir}
\usepackage{ifpdf}
\ifpdf
\usepackage{minted}
\usemintedstyle{friendly}
\newminted{latex}{linenos=true,mathescape}
\else
\usepackage{pstricks,pst-blur,pst-circ,pst-grad,pst-node,
pst-gantt,pst-eucl,pst-3d,pst-solides3d,pst-lens,
pst-coxeterp,pst-coxcoor,pst-rubans,pst-eps,
pst-dbicons,pst-light3d,pst-tree,pst-sigsys,
pst-text,pst-slpe}
\usepackage{pstricks-add,pst-optexp,pst-optic,pst-plot,pst-3dplot}
\fi
\usepackage{auto-pst-pdf}
\newcommand{\pstricksplot}{%
\begin{postscript}
\psset{fillstyle=solid}
\psscalebox{0.75}{%
\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{postscript}
}
\pagestyle{empty}
\begin{document}
\pstricksplot
A few lines with minted:
\begin{latexcode}
\psplot[linecolor=#1,plotstyle=curve,
linewidth=1.25\pslinewidth,linestyle=#2,
plotpoints=10000]{#3}{#4}{1 div x #5\space mul #6\space add}
% Parameter 5 is the resonance frequency $\omega_0=\frac{1}{\sqrt{LC}}\,\cdot$
% Parameter 6 is the time constant $\tau=RC\,.$
\end{latexcode}
The same PSTricks code as above the ``minted'' lines.
\pstricksplot
\end{document}
现在,奇怪的行为与包含任何软件包有关pstricks-add
,,,,。为了强调这一点,我将基于 PSTricks 的软件包分为两组:如果我注释相应的行,则一切正常;但如果有效地包含它们,则文档末尾上方的命令pst-optexp
不会pst-optic
导致PDF 中出现图形。我大量使用图形,而 PSTricks 已被证明最方便满足我的需求,因此我包含了所有这些 pst 软件包。pst-plot
pst-3dplot
\pstricksplot
非常感谢您的帮助和关注。
答案1
请按如下方式使用:
\documentclass[12pt]{memoir}
\usepackage{ifpdf}
\usepackage{auto-pst-pdf}
\ifpdf
\usepackage{minted}
\usemintedstyle{friendly}
\newminted{latex}{linenos=true,mathescape}
\else
\usepackage{pstricks-add}
\fi
\pagestyle{empty}
\begin{document}
\begin{postscript}
\psset{fillstyle=solid}
\psscalebox{0.75}{%
\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{postscript}
and now the minted part:
\ifpdf
\begin{latexcode}
\psplot[linecolor=#1,plotstyle=curve,
linewidth=1.25\pslinewidth,linestyle=#2,
plotpoints=10000]{#3}{#4}{1 div x #5\space mul #6\space add}
% Parameter 5 is the resonance frequency $\omega_0=\frac{1}{\sqrt{LC}}\,\cdot$
% Parameter 6 is the time constant $\tau=RC\,.$
\end{latexcode}
\fi
\end{document}
答案2
我希望你正在使用 Windows 7,在 ctan.org 上的 minted 软件包用户手册中http://www.ctan.org/tex-archive/macros/latex/contrib/minted,在 Windows 7 上存在已知问题,其解决方法也包含在手册中。如何在 Windows 7 上安装语法高亮包?
如果您需要有关 minted 软件包的支持,请尝试联系http://code.google.com/p/minted/issues/list
我确信 auto-pst-pdf 与 minted 没有任何冲突。请检查 minted 包。
顺便说一下,您还可以在使用 pdflatex 引擎时通过在 pstricks 中提供选项 [pdf] 自动包含 auto-pst-pdf,如下所示 \usepackage[pdf]{pstricks}