auto-pst-pdf 和 minted 包之间有冲突吗?

auto-pst-pdf 和 minted 包之间有冲突吗?

我尝试使用 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-plotpst-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}

相关内容