将图像从 DVI 转换为 EPS 时出现意外结果

将图像从 DVI 转换为 EPS 时出现意外结果

这个问题是紧接着上一个问题的,但它是独立的,可以独立存在。

先前的问题是当图形具有非零原点时,pst-plot 图形在页面上的偏移量

该问题与将 dvi 转换为 ps 以及随后将该 ps 纳入 latex 有关。

例如:

1)下面的代码通过 latex 运行并产生 dvi 输出。

\documentclass[pstricks,border=2mm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pst-plot}

\begin{document}

\readdata{\OPA}{transferCharacteristics.txt}
\readdata{\OPB}{transferCharacteristics2.txt}
\readdata{\OPC}{transferCharacteristics3.txt}
\readdata{\OPD}{transferCharacteristics4.txt}

\pslegend[lt]{\black\rule[1ex]{2em}{1pt} & 10~V\\
\red\rule[1ex]{2em}{1pt} & 30~V\\
\green\rule[1ex]{2em}{1pt} & 50~V\\
\blue\rule[1ex]{2em}{1pt} & 70~V}

\psset{llx=-1.5cm,lly=-1cm, xAxisLabel={$V_{\mathrm{BE}}$ [V]}, xAxisLabelPos={c,-0.3in}, yAxisLabel={$I_\mathrm{C}$ [A]}, yAxisLabelPos={-0.5in,c},ury=0.0cm,urx=0cm}

\begin{psgraph}[axesstyle=axes,xticksize=0 0.20,yticksize=0 0.30, subticks=0, Dx=0.1, Dy=0.02, Oy=0, Ox=0.5](0.5,0)(0.5,0)(0.801,0.201){6cm}{5cm}
\listplot[linecolor=black,linewidth=1pt]{\OPA}
\listplot[linecolor=red,linewidth=1pt]{\OPB}
\listplot[linecolor=green,linewidth=1pt]{\OPC} 
\listplot[linecolor=blue,linewidth=1pt]{\OPD}
\end{psgraph}

\end{document}

2)DVIPS 用于将 dvi 输出转换为 postscript,使用

dvips -o test.ps test.dvi 

在命令行中。在 Okular 或类似程序中查看 test.ps 类似于

http://www.iceamplifiers.co.uk/randomstuff/DVIPSweird/test.png

有很多空白(实际上是透明的),图像是上下颠倒的,而且是镜像的。在我看来,这幅图像应该是这样的

http://www.iceamplifiers.co.uk/randomstuff/DVIPSweird/test.png
(来源:iceamplifiers.co.uk

这是通过将 dvi 转换为 ps(以上!)然后将 ps 转换为 pdf,然后将 pdf 转换为 png(用于网络使用)生成的。

毫不奇怪,在 latex 文档中使用 ps 不会产生预期的结果。同样毫不奇怪,在 pdflatex 文档中使用由 ps 生成的 pdf 可以正常工作。

我并不太担心使用 latex 而不是 pdflatex 或反之亦然,但我想知道 ps 到 pdf 的转换阶段如何设法在 pdf 文件中获得正确的图片,以及如何使 ps 文件看起来像 pdf。

所有文件均可从http://www.iceamplifiers.co.uk/randomstuff/DVIPSweird/

答案1

查看 dvi 输出毫无意义。它无法显示旋转,有时也无法显示正确的图像大小。使用总是应该颠倒并裁剪的 pdf 输出。

latex <file>
dvips -o <file>.ps <file>
ps2pdf -dAutoRotatePages=/None <file>.ps

不过,最简单的方法是运行xelatex,它会在后台进行转换过程。但它需要 ghostscript 版本不低于 9.10

相关内容