LINUX.ORG.RU

latex + asymptote makefile


0

0

Подкиньте плз makefile для сборки латеховых документов с картинками из асимптоты.

Скажем есть у меня дира в которой накиданы .asy файлы и латеховый файл mainfile.tex

Нужно откомпилить все измененные asy файлы:

asy -inlinetex somefile.asy

после выполнения этой команды появляются файлы somefile_.tex и somefile.eps. (mainfile.tex зависит от файлов *_.tex)

после чего выполнить latex mainfile.tex

anonymous

вот народ ленивый пошёл ж) даже маны курить не хотят... в общем что-то вроде:

SRC= mainfile.tex ASY= somefile.asy

TRG= ${SRC:.tex=.dvi} TMP= ${ASY:.asy=.tex}

all: ${TMP} ${TRG}

.SUFFIXES: .tex .dvi .asy

.tex.dvi: ${SRC} latex $< latex $<

.asy.tex: ${ASY} asy -inlinetex $<

PS: не проверял, но имхо работать должно

beastie ★★★★★
()

фак, форматирование... ж(

вот народ ленивый пошёл ж) даже маны курить не хотят... в общем что-то вроде:

SRC= mainfile.tex
ASY= somefile.asy

TRG= ${SRC:.tex=.dvi}
TMP= ${ASY:.asy=.tex}

all: ${TMP} ${TRG}

.SUFFIXES: .tex .dvi .asy

.tex.dvi: ${SRC}
        latex $<
        latex $<

.asy.tex: ${ASY}
        asy -inlinetex $<

PS: не проверял, но имхо работать должно

beastie ★★★★★
()
Ответ на: комментарий от beastie

сейчас у меня так:

MAIN		= test
SOURCES		= $(wildcard ./*.tex)
FIGURES	= $(patsubst %.asy,%.eps,$(wildcard ./*.asy))

all: dvi

dvi: ${MAIN}.dvi
pdf: ${MAIN}.pdf
ps: ${MAIN}.ps

${MAIN}.dvi : ${SOURCES} ${FIGURES}
	latex ${MAIN}
	@while ( grep "Rerun to get cross-references"	\
		${MAIN}.log > /dev/null ); do		\
		echo '** Re-running LaTeX **';		\
		latex ${MAIN};				\
	done

${MAIN}.ps : ${MAIN}.dvi
	dvips ${MAIN}.dvi -o ${MAIN}.ps

${MAIN}.pdf : ${MAIN}.dvi
	dvipdf ${MAIN}.dvi ${MAIN}.pdf

clean:
	rm -f ./*_.tex
	rm -f ./*.eps
	rm -f ./*_.pre
	rm -f ./*.aux
	rm -f ./*.log

%.eps : %.asy
	asy -inlinetex $?

Но он каждый раз заново выполняет asy, хотя файлы не изменяются

anonymous
()
Ответ на: комментарий от anonymous

все разобрался :)

вот запостишь вопрос на лоре, и все сам тутже разрулишь ;)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.