[Freepublish] MetaPost => Postscript
Evgenij M. Baldin
=?iso-8859-1?q?E=2EM=2EBaldin_=CE=C1_inp=2Ensk=2Esu?=
Чт Июл 31 15:49:05 MSD 2003
Добрый день
On Thu, 31 Jul 2003, Pyatnitskich Evgeniy wrote:
> Возможно ли конвертировать файл, генерированный
> MetaPost, скажем, в eps? Похоже, что это PostScript,
> только он ущербный какой-то.
Создаёте tex-файл со стандартным заголовком, добавляете туда:
\DeclareGraphicsRule{*}{eps}{*}{}
\begin{document}
\thispagestyle{empty}
\includegraphics{<готовый файл после mpost>.<номер>}
\end{document}
Далее говорите на него:
latex <tex-файл>
dvips -E -o <eps-файл> <tex-файл>
и удаляете tex-файл
Я для своих нужд сделал Makefile и фактически забыл об этой
проблеме. Что-то вроде:
---------------------------------
sections := <перечисляются .mp файлы без расширения>
mpost_files := $(foreach section,$(sections),$(section).mp)
mpost_pictures := $(foreach section,$(sections),$(wildcard $(section).*.eps))
mpost_make := $(foreach section,$(sections),mpost $(section).mp ;)
#временный файл
tmp_file := tmp_file
all:
$(mpost_make)
all_pictures: $(mpost_pictures)
$(mpost_make)
mpost:
$(mpost_make)
%.eps: %
cat <стандартный заголовок>.tex > $(tmp_file).tex
echo "\DeclareGraphicsRule{*}{eps}{*}{}">>$(tmp_file).tex
echo "\begin{document}">> $(tmp_file).tex
echo "\thispagestyle{empty}">> $(tmp_file).tex
echo "\includegraphics{$<}">> $(tmp_file).tex
echo "\end{document}">> $(tmp_file).tex
latex $(tmp_file)
dvips -E -o $@ $(tmp_file)
rm $(tmp_file).*
clean:
rm *~ *.log *.mpx
rm $(tmp_file).*
%.1: %.mp
mpost $<
%.2: %.mp
mpost $<
и т.д. - до максимального числа картинок в файле.
%.50: %.mp
mpost $<
--------------------------------------------
<стандартный заголовок>.tex - всё что до \begin{documents}
make <имя mp файла>.<номер картинки>.eps - делает нужную картинку, если
исходик поменялся.
make all_pictures - пересобирает всё, что изменилось
Может быть кто улучшит?
С уважением
Евгений
--
Budker Institute of Nuclear Physics
e-mail: E.M.Baldin(at)inp.nsk.su
WWW: http://www.inp.nsk.su/~baldin
Подробная информация о списке рассылки Freepublish