所以,我最近遇到了一些麻烦pst-optexp
。我的草图似乎存在一些编译问题,因为它无法正确显示元素。我当前的代码是
\documentclass{standalone}
\usepackage{pstricks-add}
\usepackage{pst-optexp}
\let\clipbox\relax
\begin{document}
\begin{pspicture}[showgrid](0,-0.3)(9,2.3)
\pnode(1.8,1){A}\pnode(4.5,1){B}\pnode(7,1){C}\pnode(8,1){D}
\begin{optexp}
\optbox[position=start, labeloffset=0](A)(B){Fonte}
\lens[n=1.3, lensradius=-1 -1, lensheight=1](A)(B)
\lens[n=2, lensradius=2 2, lensheight=2](B)(C)
\pinhole[position=end, innerheight=0, outerheight=1.5](B)(D)
\drawwidebeam[beamwidth=0.3,fillstyle=solid, fillcolor=green!40](A){2-3}(D)
\end{optexp}
\end{pspicture}
\end{document}
此代码产生以下结果(在 Overleaf v2 上使用 XeLaTeX 编译时):
如果我删除optexp
环境,即使用以下代码:
\documentclass{standalone}
\usepackage{pstricks-add}
\usepackage{pst-optexp}
\let\clipbox\relax
\begin{document}
\begin{pspicture}[showgrid](0,-0.3)(9,2.3)
\pnode(1.8,1){A}\pnode(4.5,1){B}\pnode(7,1){C}\pnode(8,1){D}
\optbox[position=start, labeloffset=0](A)(B){Fonte}
\lens[n=1.3, lensradius=-1 -1, lensheight=1](A)(B)
\lens[n=2, lensradius=2 2, lensheight=2](B)(C)
\pinhole[position=end, innerheight=0, outerheight=1.5](B)(D)
\drawwidebeam[beamwidth=0.3,fillstyle=solid, fillcolor=green!40](A){2-3}(D)
\end{pspicture}
\end{document}
我在其他 PSTricks 图表上也遇到过类似的问题,这些问题在放入文档的某些页面时似乎可以编译,但在其他地方却无法编译。我该如何解决这个问题?
如果这是一个已知问题或类似问题,我很抱歉,我已经在网上搜索了很长时间,但就是找不到解决方案。另外,如果这篇文章中存在不良风格问题,请告诉我,到目前为止,我在这里问了几个问题。
答案1
pst-optexp
无法与 配合使用xelatex
。使用latex->dvips->ps2pdf
或打包auto-pst-pdf
和pdflatex --shell-escape <file>
:
\documentclass{article}
\usepackage{auto-pst-pdf}
\usepackage{pst-optexp}
\begin{document}
\begin{pspicture}[showgrid](0,-0.3)(9,2.3)
\pnodes(1.8,1){A}(4.5,1){B}(7,1){C}(8,1){D}
\begin{optexp}
\optbox[position=start, labeloffset=0](A)(B){Fonte}
\lens[n=1.3, lensradius=-1 -1, lensheight=1](A)(B)
\lens[n=2, lensradius=2 2, lensheight=2](B)(C)
\pinhole[position=end, innerheight=0, outerheight=1.5](B)(D)
\drawwidebeam[beamwidth=0.3,fillstyle=solid, fillcolor=green!40](A){2-3}(D)
\end{optexp}
\end{pspicture}
\end{document}