
Для моего документа latex у меня есть файлы изображений в формате tga, которые я хотел бы включить. Я хочу преобразовать их в pdf, чтобы latex мог масштабировать их без потери точности.
К настоящему моменту я сделал это только с помощью inkscape, но для многих изображений это может быть большой работой. Есть ли что-то, что позволит latex делать это автоматически? Или есть способ сделать это в моей командной строке, без GUI, как inkscape?
Обратите внимание: у меня 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 ограниченный выход из оболочки включен по умолчанию. Но список поддерживаемых программ не включает 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
как синоним.
P.S. Если есть только один .tga
файл, который нужно преобразовать только один раз, то проще преобразовать его в командной строке, например:
convert foobar.tga foobar.png
Также подойдет интерактивная программа для работы с изображениями, которая может читать файлы TGA и экспортировать файлы PNG.