我正在尝试制作一个带有标记角度的 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
它应该创建一个文档,并且在终端输出中你会看到问题是什么。