带有 PSTricks 图形的 TeX 文件无法编译

带有 PSTricks 图形的 TeX 文件无法编译

考虑以下文件,它是该文件的修改版本核磁共振-DWR-v2-ps2pdf.texhttp://gratisupload.dk/vis/698163(它包含的字符比我允许在这里输入的字符要多。)

我已尝试清理代码(并且已将部分注释转换成丹麦语)。

我的问题是我无法使用

latex filename.tex
dvips -T 35cm,21cm -o filename.ps filename.dvi
ps2pdf filename.ps

但我不知道为什么。没有创建 DVI 文件,但我不知道为什么会这样。

更新

现在我甚至无法编译原始文件。也许我升级到 TeX Live 2013 时出了什么问题。

更新 2

也许我应该尝试将其放入环境\rputpspicture

答案1

通过禁用\rput(4,-8){},我可以使用以下结果进行编译。请注意,您的代码可能包含一些不需要的空格,例如 之后的空格\rput(x,y){

在此处输入图片描述

\documentclass[12pt,landscape]{article}

% other code goes here. it is removed just to bypass the constraint of 40000 characters.

\begin{figure}
 \centering
 \psset{unit=0.9}
  %\rput(4,-8){%
  \begin{pspicture}(-24.4,-2)(8.5,15.8)
    \rput(-8.5,15.5){\Huge Kernkraftwerk mit Druckwasserreaktor}
%----------------------------------------------------------------------------
    \Reaktorgebaeude
    \Maschinenhaus
    \Kuehlturm
%----------------------------------------------------------------------------
%----------- Strommast und Verbindung der Leitung zum Traformator -----------
%----------------------------------------------------------------------------
    \rput(-6,10){\Strommast}
    \psbezier(ATL)(-4.8,10.5)(-7,11)(SML2)
    \psbezier(ATM)(-3.5,11.2)(-4.5,11.5)(SMR1)
    \psbezier(ATR)(-2.5,11.2)(-3.5,11.5)(SMR2)
%----------------------------------------------------------------------------
%------------------------------ Beschriftungen ------------------------------
%----------------------------------------------------------------------------
    \rput(-7,8.2){Maschinenhaus}
    \rput(-19,10){Reaktorgeb{\"a}ude}
    \rput(-23.0,5){\shortstack[c]{%
      \scriptsize Reaktor-\strut\\[-0.5ex]
      \scriptsize druck-\strut\\[-0.5ex]
      \scriptsize gef{\"a}{\ss}\strut}}
    \rput(-18.95,2.3){\shortstack[c]{
      \scriptsize Brenn-\strut\\[-0.5ex]
      \scriptsize elemente\strut}
    }
    \psline(-20.4,2.5)(-19.65,2.5)
    \rput(-21.0,7.8){\scriptsize Steuerst{\"a}be}
    \rput(-19,7.25){\scriptsize Druckhalter}
    \rput(-17.0,7.8){\scriptsize Dampferzeuger}
    \rput(-17.0,0.5){\scriptsize Hauptk{\"u}hlkreis}
    \rput(-13.3,7.8){\scriptsize Wasserdampf}
    \rput(-13,3.3){\scriptsize Speisewasser}
    \rput(-8.75,6.5){\scriptsize Turbine}
    \rput(-4.5,6.5){\scriptsize Generator}
    \rput(-1.95,9){\shortstack[c]{%
      \scriptsize Trans-\strut\\[-0.5ex]
      \scriptsize formator\strut}
    }
    \rput(-4.9,13.5){\scriptsize Strommast}
    \rput(-5.75,4.4){\scriptsize Kondensator}
    \rput(4,-0.4){\scriptsize K{\"u}hlturm}
    \rput[r](1.3,2.5){\scriptsize Spr{\"u}hwasser}
    \uput{2pt}[110](0,1){\scriptsize Luft}
    \rput(4,5.5){\scriptsize Feuchte, warme Luft}
    \uput{4pt}[90](-0.25,3.6){\scriptsize K{\"u}hlwasser}
  \end{pspicture}
  %}
\end{figure}

\end{document}

笔记:

  • 将每个键值单独放在一行中是安全的。最后一项中多余的逗号不是拼写错误。每行都使用逗号也是安全的。

    \pscustom
    [
      fillstyle=solid,
      fillcolor=blue!30,
      opacity=0.35,
      linestyle=none,
      linearc=0.3,
    ]
    

    或者

    \psset
    {
      plotpoints=1000,
      linewidth=1.2pt,
      linecolor=Kuehlturmwasser,
    }
    

    或者

    \pcline
    [
      linewidth=0.5pt,
      arrowscale=1,
      arrowinset=0.04,
      arrowsize=0.08,
      arrowlength=1.4,
      linecolor=white,
    ]
    

    或者

    \usepackage
    {
      pst-grad,
      pst-slpe,
      pst-blur,
      pst-eucl,
      pstricks-add,
    }
    

    或者

    \documentclass
    [
      pstricks,
      border=12pt,
    ]
    

    或者

    \pstVerb
    {
      /x a def
      /y b def
    }%<--- but this comment is necessary when `\pstVerb` is specified in `pspicture` or `\rput` or `\rnode`, etc.
    
  • 按照我的经验,当您使用pscustom以下方法时,将每个 PSTricks 图形命令分隔在各自的行中是安全的。控制字(例如\closepath)将占用后面的空格,因此它们后面不再需要加上%来删除空格。

    \pscustom
    [
       ...
    ]{
      \psline(O1)(O2)
      \pstArcnOAB{O0}{O2}{U5}
      \psline(U5)(U4)
      \psline(U1)(U2)
      \pstArcnOAB{O0}{U2}{O5}
      \psline(O5)(O4)
      \closepath
    }
    
  • \pstVerbpspicture在和其他图形对象中贡献一个空白。始终放在%其右花括号之后}。以下给出了良好做法。

    \pstVerb
    {
       ...
    }%
    
  • \rput根据我的经验,和中的空格\rnode是“危险的”。务必%删除不需要的空格。以下是良好做法。

    \rput(2,2){%
      ...
    }
    

    或者

    \rnode{A}{%
      ...
    }
    

相关内容