[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