如何从 LaTeX 图片生成具有正确尺寸的 postscript 文件?

如何从 LaTeX 图片生成具有正确尺寸的 postscript 文件?

我有一个文档,其中包含使用该picture环境创建的一些图形。现在我需要为每个图形创建一个 PostScript 文件,但如果我只是将它们复制到空白文档中,则每个图形都会占用整整一页。

例如,如果我有

...
\setlength{\unitlength}{1in}
\begin{picture}(3.14,2.71)
  %Draw things
\end{picture}
...

然后我想创建一个 3.14x2.71 英寸的 .PS 文件,其中只包含此绘图。我应该能够将picture上面的环境更改为\includegraphics加载新文件的命令,并让它对输出的文档进行零更改。

从用 LaTeX 绘制的、picture与原始文件具有相同尺寸的 PostScript 文件的最佳方法是什么?

答案1

你应该看看(非常有用)预览包。您可能需要该tightpage选项,如果您希望生成的 eps 具有确切地您需要的尺寸与原来相同\setlength\PreviewBorder{0 pt}

您不需要将picture环境复制到其他空白文档中,您只需要\PreviewEnvironment{picture}在序言中添加一行,以便仅提取图片。

扩展你的例子

\documentclass{article}
\usepackage[active,tightpage]{preview}
\setlength\PreviewBorder{0pt}
\PreviewEnvironment{picture}
\begin{document}
\setlength{\unitlength}{1in}
Text before picture
\begin{picture}(3.14,2.71)
 Contents of picture environment
\end{picture}
\begin{picture}(1.00,1.00)
 Contents of picture environment2
\end{picture}
Text after pictures
\end{document}

使用 pdflatex 编译后,pdf 页面大小精确为 3.14in*2.71in 和 1.00in*1.00in,使用 latex 和 dvips 编译后,ps 页面大小与 pdf 页面大小相同。使用外部工具可以将 pdf 或 ps 转换为 eps,但如果您愿意,可以将其替换tightpagepsfixbb,然后dvips -E -i在 dvi 上运行,以获得一系列 eps 文件,每个文件的大小均正确(名为 jobname.001 jobname.002 等,您必须将其重命名为 jobname.001.eps 等)。

从该行中删除该active选项usepackage意味着文件将像从未加载过预览一样进行编译。

附言:如果您希望\includegraphics盒子与原版非常精确地相同,那么您还应该考虑hiresbb包装选项graphicx。否则尺寸会四舍五入到 1 bp(大点)精度。

答案2

运行ps2eps您制作的 postscript 文件。您将获得一个封装的 postscript,您可以使用 postscript 查看器查看它或通过 嵌入它\includegraphics

答案3

如果你将图像创建为空白的 PDF 页面(没有页码!),则可以使用 pdfcrop修剪空白

相关内容