我第一次看到之後,就躍躍欲試,但沒想到照著說明文件輸入程式,竟然無法輸出文件!
檢查之後才發現原來是生成 .dvi 文件的時候,發生了問題。再追查下去,發現竟然是 pst-diffraction.tex 檔案有問題!
先寫個簡單的測試檔:
\documentclass{article} \usepackage{pst-diffraction} \begin{document} f=2.5, $\lambda=632\,\mbox{nm}$ \begin{pspicture}*(-3.5,-3.5)(3.5,3.5) \psdiffractionRectangle[f=2.5, lambda=632] \end{pspicture} \begin{pspicture}*(-4.5,-2.5)(4.5,4.5) \psdiffractionRectangle[IIID,f=2.5] \end{pspicture} \end{document}編譯後,會發現可以生成檔案,但無法開啟。 這個問題很容易修正,先找到安裝的 pst-diffraction.tex 檔案位置。
我使用 Ubuntu 12.04, 檔案位置是:
/usr/local/texlive/2013/texmf-dist/tex/generic/pst-diffraction/pst-diffraction.tex
編輯這個檔案,找到其中三行:
\psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED ... (省略) ... \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED ... (省略) ... \psk@ThreeDplot@zMax dup \tx@ScreenCoor pop /zScale ED
在 dup 的前方,加入 \space 命令
\psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED ... (省略) ... \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED ... (省略) ... \psk@ThreeDplot@zMax\space dup \tx@ScreenCoor pop /zScale ED
OK! 修改好之後,再測試剛才的檔案,編譯成功,而且也可以順利開啟檔案了。
沒有留言:
張貼留言