[Makefile] LaTeX

Fermé
trinity666 Messages postés 127 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 17 août 2011 - 16 févr. 2006 à 14:48
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 - 21 mai 2009 à 21:52
bonjour

voici mon makefile je ne comprends pas pkoi les fichiers .dvi sont effaces automatiquement

LIB=eps
FIG2DEV=$(shell which fig2dev)
DVIPS=$(shell which dvips)
FLAGDVI=-o
FIG=$(shell ls *.fig)
TEX=$(shell ls *.tex)
EPS=$(FIG:.fig=.eps)
DVI=$(TEX:.tex=.dvi)
PS=$(DVI:.dvi=.ps)
DVIFLAGS=$(-t -a4 -o)
LATEX=$(shell which latex)

.SUFFIXES:
.SUFFIXES:.ps .aux .eps .dvi .fig .tex

all: compile

compile: $(EPS) $(PS)


.fig.eps:
fig2dev -Leps $< $@



# $(FIG2DEV) -L$(LIB) $(FIG) $(EPS)

#$(DVI:.tex=.dvi): $(TEX)
# latex $(TEX)


.tex.dvi:
-latex $< $*.dvi


.dvi.ps:
$(DVIPS) $< $*.ps

clean:
-/bin/rm -f *.dvi *.aux *.log *.eps *.bak *~ core


veryclean:clean
-rm -f *.ps



merci par avance de votre aide

2 réponses

mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
17 févr. 2006 à 09:43
Je te propose d'utiliser plutôt ce makefile (bourrin, mais bon, il marche :p) :

#BASE=/cygdrive/c/texmf/miktex/bin/

BASE=/usr/bin/

LATEX2DVI=${BASE}latex
MKIDX=${BASE}makeindex
DVI2PS=${BASE}dvips
PS2PDF=${BASE}ps2pdf
BIBTEX=${BASE}bibtex
PDFLATEX=${BASE}pdflatex
MAIN=note


%.dvi: %.tex %.bib *.tex
    ${MKIDX} ${MAIN}.tex
    ${LATEX2DVI} ${MAIN}.tex
    ${BIBTEX} ${MAIN}
    ${BIBTEX} ${MAIN}
    ${LATEX2DVI} ${MAIN}.tex
    ${BIBTEX} ${MAIN}
    ${LATEX2DVI} ${MAIN}.tex

%.ps: %.dvi
    ${DVI2PS} ${MAIN}.dvi -o ${MAIN}.ps


%.pdf: *.bib *.tex
    ${MKIDX} ${MAIN}.tex
    ${PDFLATEX} ${MAIN}.tex
    ${BIBTEX} ${MAIN}
    ${BIBTEX} ${MAIN}
    ${PDFLATEX} ${MAIN}.tex
    ${BIBTEX} ${MAIN}
    ${PDFLATEX} ${MAIN}.tex
    #${PS2PDF} ${MAIN}.ps

all: ${MAIN}.pdf
    @echo "OK"

view: all
    kpdf ${MAIN}.pdf &

clean:
    rm -f ${MAIN}.pdf ${MAIN}.ps ${MAIN}.dvi ${MAIN}.ilg ${MAIN}.ind ${MAIN}.log  ${MAIN}.blg ${MAIN}.bbl    ${MAIN}.aux  ${MAIN}.text.flc *~


distclean: clean
    rm -f ${MAIN.pdf} ./.pdf
    @echo "OK."
0
thephoenix1 Messages postés 315 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 18 novembre 2009 16
20 mai 2009 à 13:42
Merci.
Heu..........quel fichier dois je editer? ou alors, je fais un copier coller de tout ça et j'enregistre le fichier ou? avec quel nom?

Merci pour le conseil !
0
mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
21 mai 2009 à 21:52
La solution que je te propose s'affranchit d'un environnement latex (comprendre : tu rédiges ton fichier tex avec un éditeur ordinaire, par exemple vim, emacs ou ce que tu veux).

Elle consiste à copier coller le code que je t'ai indiqué dans un fichier nommé "Makefile". Il faut simplement remplacer la balise :
MAIN=note

... par "MAIN=pouet" si par exemple ton fichier latex s'appelle pouet.tex.

Pour compiler tu ouvres une console dans ce répertoire et tu tapes simplement :
make

Bonne chance
0