为什么 XeLaTeX 无法正确剪辑我的 PSTricks 图表?

为什么 XeLaTeX 无法正确剪辑我的 PSTricks 图表?

下面的截图是由制作的latex-dvips-ps2pdf,剪辑得很好。

在此处输入图片描述

\documentclass{article}
\usepackage{xcolor}
\usepackage{pstricks,pst-func}

\newpsstyle{gridstyle}
{
gridwidth=0.4pt,%default: 0.8pt
gridcolor=red!20,%default: black
griddots=0,%default: 0 
%
gridlabels=3pt,%default: 10pt
gridlabelcolor=blue,%default: black
%
subgriddiv=5,%default: 5
subgridwidth=0.2pt,%default: 0.4pt
subgridcolor=green!20,%default: gray
subgriddots=0%default: 0
}

\psset{style=gridstyle}
\newpsobject{psGrid}{psgrid}{}

\begin{document}
\noindent%
\renewcommand{\pshlabel}[1]{\bfseries\tiny #1}% for x-axis
\renewcommand{\psvlabel}[1]{\bfseries\tiny #1}% for y-axis
\psset{yunit=0.4cm,xunit=0.5cm}
\centering\begin{pspicture*}(-4,-5)(4,15)
    \psGrid
    \psaxes[Dy=2,Dx=2]{<->}(0,0)(-4,-5)(4,15)
    \psset{linewidth=1pt,linecolor=blue}
    \psPolynomial[coeff=-1 0 1,linecolor=red]{-4}{4}    
    \psPolynomial[coeff=-1 0 1,xShift=1,linestyle=dashed]{-4}{4}    
    \rput[rt](3,12){\textcolor{red}{$f(x)$}}
    \rput[lt](2.5,1){\textcolor{blue}{$g(x)$}}  
\end{pspicture*}
\end{document}

但下面的截图xelatex和剪辑做得不好

在此处输入图片描述

为什么 XeLaTeX 无法正确剪辑我的 PSTricks 图表?


最后编辑:更新 Miktex 包后,xelatex 可以正确剪辑图形。

答案1

我可以确认这个问题。在 miktex 中,xetex 根本无法剪辑。即使是像这样的简单示例:

\documentclass{article}
\usepackage{pstricks}

\begin{document}
abc\begin{pspicture*}(1,1)
\psline(-1,-1)(2,2)
\end{pspicture*}abc

\end{document}

我不认为 xdvipdfmx.cfg 的版本是问题所在。Miktex 使用的版本与 CTAN 上的版本相同(版本 0.02(2010/08/02))。此外,miktex ghostscript 也不负责,即使我更改为 gswin32c 也无济于事。

这个问题似乎并不新鲜:我可以在我的旧 miktex 2.7(xdvipdfmx 版本是 0.7.3)中重现它。

答案2

在 TeXLive2010 和 Linux 下运行时我没有发现任何问题xelatex。但是,这是代码的简化版本:

\documentclass{article}
\usepackage{pst-func}

\newpsstyle{gridstyle}{
gridwidth=0.4pt,%default: 0.8pt
gridcolor=red!20,%default: black
griddots=0,%default: 0 
%
gridlabels=0pt,%default: 10pt
gridlabelcolor=blue,%default: black
%
subgriddiv=5,%default: 5
subgridwidth=0.2pt,%default: 0.4pt
subgridcolor=green!20,%default: gray
subgriddots=0%default: 0
}

\begin{document}
\noindent%
\psset{yunit=0.4cm,xunit=0.5cm}
\centering\begin{pspicture*}[showgrid](-4,-5)(4,15)
    \psaxes[Dy=2,Dx=2,labelFontSize=\bfseries\tiny,mathLabel=false]{<->}(0,0)(-4,-5)(4,15)
    \psset{linewidth=1pt,linecolor=blue}
    \psPolynomial[coeff=-1 0 1,linecolor=red]{-4}{4}    
    \psPolynomial[coeff=-1 0 1,xShift=1,linestyle=dashed]{-4}{4}    
    \rput[rt](3,12){\textcolor{red}{$f(x)$}}
    \rput[lt](2.5,1){\textcolor{blue}{$g(x)$}}  
\end{pspicture*}

\end{document}

相关内容