Pull to refresh

Оптимизация векторной графики для LaTeX'a.

Reading time 1 min
Views 4.6K
Зачем нужна оптимизация: eps и pdf файлы сохраненные векторным редактором не всегда полностью совместимы с LaTeX'ом. Кроме того, уменьшение их размера положительно сказывается на размере документа и скорости работы просмотрщика dvi.

Кроме собственно векторного редактора, нам понадобятся eps2eps и epstopdf. Эти две утилиты существуют и в Windows, и в Linux, и в Mac OS. В Windows они есть в составе MiKTeX. В Linux и Mac OS, насколько мне известно, они так же приходят с TeX'ом.

Весь процесс выглядит следующим образом. Создаем изображение в редакторе и сохраняем в eps. Прогоняем его через eps2eps и уже этот оптимизированный файл — через epstopdf. Оптимизированные eps и pdf подаем LaTeX'у (на самом деле pdfTeX'у). Напомню, что при компиляции \includegraphics{your_image} в dvi — автоматически используется your_image.eps, в pdf — your_image.pdf.


Формат eps2eps:
eps2eps -dNOCACHE input.eps output.eps

Параметр -dNOCACHE переводит шрифты в кривые. Без него шрифты будут битмапами.



Примечания: Имя выходного файла должно отличаться от входного, иначе получим пустой eps файл. Проверить результат, особенно качество шрифтов, никогда не помешает. Полезно сохранять исходный eps, текст после обработки редактировать уже не получиться.


Формат epstopdf:
epstopdf input.eps
Получаем input.pdf.


Чтобы не делать каждый раз все вручную, я написал небольшой скрипт под Windows:
@echo off

for /f "delims=." %%a in ('dir /b *.eps') do eps2eps -dNOCACHE %%a.eps %%a.prep_tmp
del /Q *.eps
ren *.prep_tmp *.eps

for %%a in (*.eps) do epstopdf %%a


Все eps файлы в текущей директории обрабатываются eps2eps, и создаются их pdf версии. Осторожно, оригинальные eps перезаписываются! Делайте копии!
Tags:
Hubs:
+4
Comments 0
Comments Leave a comment

Articles