使用 \pstMarkAngle 与 XeLaTeX 时出现冲突错误

使用 \pstMarkAngle 与 XeLaTeX 时出现冲突错误

我正在尝试制作一个带有标记角度的 pspicture,因此我使用了 pstricks 扩展 pst-eucl。这是一个最小示例:(我在 Windows 7 上将 MikTeX 9.25 与 TeXmaker 一起使用)

\documentclass[12pt,a4paper]{report}

%\usepackage[latin1]{inputenc}
%\usepackage[francais]{babel}
%\usepackage[T1]{fontenc}

\usepackage{fontspec} 
\usepackage{xunicode}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\usepackage{pstricks}
\usepackage{pstricks-add}
\usepackage{pst-tools,pst-plot,pst-eucl}

\usepackage{graphicx}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\begin{document}
  \begin{center}
       \resizebox{0.8\linewidth}{!}{
            \begin{pspicture}(-1,-1)(6,6)
                \psset{nodesep=-1cm}
                \psset{PointName=none, PointSymbol=none}
                \pstGeonode[PosAngle=90](0,1){A}(5,2){B}(0,4){C}(5,3){D}(2,5){E}(4,0){F}
                \pstLineAB{A}{B}
                \pstLineAB{C}{D}
                \pstLineAB{E}{F}
                \pstInterLL{C}{D}{E}{F}{G}
                \pstInterLL{A}{B}{E}{F}{H}
                \uput[135](C){\Large $(d_1)$} \uput[135](A){\Large $(d_2)$} \uput[45](E){\Large $(d_3)$}
                \pstMarkAngle[fillstyle=solid, fillcolor=gray,  MarkAngleRadius=.5]{H}{G}{D}{}
                \pstMarkAngle[fillstyle=solid, fillcolor=gray, MarkAngleRadius=.7]{G}{H}{A}{}
            \end{pspicture}                 
       }
  \end{center}

\结束{文档}

似乎 pstricks 和 XeLaTeX 之间存在某种冲突。使用时\pstMarkAngle我收到错误消息:

MikTeX GPL Ghostscript 9.25:无法恢复的错误,退出代码 1

这会减慢编译速度,但不会破坏编译。最后,编译器会宣布没有错误。这很不方便,因为加载包含\pstMarkAngle编译的多个 pspictures 需要更长的时间。

LaTeX使用而不是 时,问题似乎不会发生XeLaTeX。但对我来说,改为LaTeX并不是理想的解决方案。

有人知道哪里出了问题吗?我搜索了解决方案但没有成功,任何帮助我都会很感激。非常感谢。

答案1

使用最新的 TeXLive 2019 没有问题:

\documentclass[12pt,a4paper]{report}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{fontspec} 
\usepackage{pst-tools,pst-plot,pst-eucl}
\usepackage{pstricks-add}

\usepackage{graphicx}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\begin{document}
\begin{center}
\resizebox{0.8\linewidth}{!}{%
    \begin{pspicture}(-1,-1)(6,6)
        \psset{nodesep=-1cm}
        \psset{PointName=none, PointSymbol=none}
        \pstGeonode[PosAngle=90](0,1){A}(5,2){B}(0,4){C}(5,3){D}(2,5){E}(4,0){F}
        \pstInterLL{C}{D}{E}{F}{G}
        \pstInterLL{A}{B}{E}{F}{H}
        \uput[135](C){\Large $(d_1)$} \uput[135](A){\Large $(d_2)$} \uput[45](E){\Large $(d_3)$}
        \pstMarkAngle[fillstyle=solid, fillcolor=gray,  MarkAngleRadius=.5]{H}{G}{D}{}
        \pstMarkAngle[fillstyle=solid, fillcolor=gray, MarkAngleRadius=.7]{G}{H}{A}{}
        \pstLineAB{A}{B}
        \pstLineAB{C}{D}
        \pstLineAB{E}{F}
    \end{pspicture}%
}
\end{center}

\end{document}

在此处输入图片描述

对于 MikTeX,在 Windows 的 cmd 命令窗口中尝试执行以下操作:

xelatex --no-pdf <file>
xdvipdfmx -dNoSafer -vv <file>.xdv

它应该创建一个文档,并且在终端输出中你会看到问题是什么。

相关内容