对于我的 latex 文档,我有想要包含的 tga 格式的图像文件。我想将它们转换为 pdf,这样 latex 就可以缩放它们而不会降低精度。
到目前为止,我只是用 Inkscape 完成了这项工作,但对于许多图片来说,这可能需要大量工作。有什么可以让 Latex 自动完成这项工作吗?或者有没有办法在我的命令行中执行此操作,而不需要像 Inkscape 这样的 GUI?
请注意:我有 Linux。
答案1
“Truevision TGA,通常称为 TARGA,是一种光栅图形文件格式 [...]”
备注:PDF 格式可以包含光栅图像和矢量图像。例如,扫描程序通常提供 PDF 作为输出格式,但这些 PDF 仅包含扫描的光栅图像。这只是为了方便那些更熟悉 PDF 查看器而不是图像程序的用户。此外,将多幅图像作为页面放入 PDF 文件也更容易。
如果您想要矢量数据,则需要矢量化和好的程序来完成它。免费软件工具的示例:potrace
用于单色图像。但为了获得良好的结果,您通常需要调整矢量化过程的参数。
如果您只想包含.tga
带有 pdflatex 的文件,那么包epstopdf
有帮助:
\usepackage{graphicx}
\usepackage{epstopdf}
\epstopdfDeclareGraphicsRule{.tga}{png}{.png}{%
convert #1 \OutputFile
}
\AppendGraphicsExtensions{.tga}
然后<file>.tga
自动转换并包含为。这里使用了的<file>-tga-converted-to.png
转换程序。convert
ImageMagick
编辑:运行外部程序需要一定的权限。TeX Live 中默认启用受限 shell 逃逸。但支持的程序列表不包括convert
。因此--shell-escape
pdflatex 需要选项。
完整示例
假设.tga
文件名为foobar.tga
:
\documentclass{article}
\usepackage{graphicx}
\usepackage{epstopdf}
\epstopdfDeclareGraphicsRule{.tga}{png}{.png}{%
convert #1 \OutputFile
}
\AppendGraphicsExtensions{.tga}
\begin{document}
\includegraphics{foobar}
\end{document}
并且pdflatex
需要用选项--shell-escape
(TeX Live)调用;MiKTeX 也用作--enable-write18
同义词。
PS 如果只有一个.tga
文件只需转换一次,那么在命令行上转换它会更容易,例如:
convert foobar.tga foobar.png
交互式图像程序也可以读取 TGA 文件并导出 PNG 文件。