关于 epstopdf 命令行选项的问题

关于 epstopdf 命令行选项的问题

我在 Windows 上运行,我想知道 pdflatex 内部使用哪些命令行选项将 eps 转换为 pdf 文件?(注意:为了运行 pdflatex,我下载了 MikTex,并将其用作前端。)

一旦 MikTex 运行,它就会下载“epstopdf”包(?)以及命令行工具。然后我链接两个命令行实用程序 eps2eps,然后链接 epstopdf 来生成文件。

即 eps2eps file1.eps file2.eps epstopdf file2.eps

(我需要运行 eps2eps 来解决缺少边界框的问题。)

内容正确,但 pdf 页面大小被裁剪为图形大小。

当 pdflatex 生成文件时,中间文件(xx-converted-to.pdf)的 pdf 页面大小是正常页面大小(8x11 或其他)。

确保这一点清楚 - 这是一个关于 epstopdf 可执行文件的问题,而不是如何使用 pdflatex。我希望这里有人有专业知识来解释 pdflatex 如何使用其他可执行文件来生成中间 pdf。

谢谢。

答案1

在我的系统(TeX Live 2013)中,该epstopdf包运行以下命令:

repstopdf --outfile=xx-converted-to.pdf xx.eps

如果您在命令行中运行该命令,并使用附加选项--debug,您可以看到 epstopdf 在调用 ghostscript 时所做的事情。不幸的是,它实际上创建了原始 eps 的修改版本,并gs在其上运行,然后删除它(即使有--debug!),所以我不能肯定地说它里面有什么。但仔细查看后epstopdf.pl我发现它会更改页面大小以匹配边界框:

print $OUT "%%BoundingBox: 0 0 $width $height$/";
print $OUT "<< /PageSize [$width $height] >> setpagedevice$/";    

因此我看不到任何具有较大页面尺寸的中间 pdf:我对 epstopdf(程序或包)的所有使用都只生成一个大小等于原始 eps 的 pdf。

生成的 pdf 文件的大小需要与 eps 文件的大小相同:pdflatex 需要尺寸信息以确保正确的间距和位置。

相关内容