aupa,
me he creado un Makefile para compilar LaTeX de forma más rápida y
eficiente. No soy muy bueno con los Makefiles pero he conseguido lo que
quería. Os lo pongo como attachment por si alguien lo quiere utilizar
y/o proponorme cambios/mejoras.
Básicamente para utilizarlo teneis que tener:
- Un directorio para los archivos fuentes de LaTeX (tex y bib)
- Un directorio donde ubicais vuestras imagenes (dia, fig, png y jpg)
- Un directorio temporal en el que realizar la compilación LaTeX
- Tambien teneis que indicar el nombre del fichero tex principal (en
caso de que haya varios archivos tex) o del unico archivo tex que tengais.
Una vez configurado, ejecutando "make pdf" se acabo el lavar a mano...
Una segunda cosa que os quería pedir es una pregunta. Mi peña de fiestas
de Laudio está buscando hosting para su web y queria saber si me podeis
dar algunas referencias de hosting o donde puedo encontrar comparativas.
Lo de siempre: capacidad, precio, ancho de banda, php, mysql, ¿ruby?,
¿RoR?, ...
Saludos,
zako
# Makefile for LaTeX Compilation
# Released to the Public Domain
#
# Author: Christian Pinedo Zamalloa <christian(dot)pinedo_(at)_ehu(dot)es>
# Date: 2006/04/26
#
# Usage:
#
# * make | make all | make pdf: builds the PDF file.
# * make ps: builds the PS file.
# * make dvi: builds the DVI file.
# * make eps: converts images to EPS format.
# * make src: copies files from SRCDIR to BUILDDIR.
# * make clean: deletes files from build directory.
###########################
### Begin Configuration ###
###########################
# temp directory to build PDF, PS, DVI and EPS files:
BUILDDIR=build
# directory where TEX/BIB files are:
TEXDIR=src
# directory where images (PNG, JPG, FIG or DIA) are:
IMGDIR=img
# the main tex file without path. For example, "main.tex":
MAINTEXFILE=main.tex
#########################
### End Configuration ###
#########################
MAINFILE=$(basename $(MAINTEXFILE))
TEXFILES=$(patsubst $(TEXDIR)/%,%,$(wildcard $(TEXDIR)/*.tex))
BIBFILES=$(patsubst $(TEXDIR)/%,%,$(wildcard $(TEXDIR)/*.bib))
PNGIMAGES=$(patsubst $(IMGDIR)/%,%,$(wildcard $(IMGDIR)/*.png))
JPGIMAGES=$(patsubst $(IMGDIR)/%,%,$(wildcard $(IMGDIR)/*.jpg))
DIAIMAGES=$(patsubst $(IMGDIR)/%,%,$(wildcard $(IMGDIR)/*.dia))
FIGIMAGES=$(patsubst $(IMGDIR)/%,%,$(wildcard $(IMGDIR)/*.fig))
EPSIMAGES= $(patsubst %.png,%.eps,$(PNGIMAGES)) $(patsubst
%.jpg,%.eps,$(JPGIMAGES)) $(patsubst %.dia,%.eps,$(DIAIMAGES)) $(patsubst
%.fig,%.eps,$(FIGIMAGES))
RERUN="(There were undefined references|Rerun to get (cross-references|the
bars) right)"
RERUNBIB="No file.*\.bbl|Citation.*undefined"
all: pdf
pdf: $(BUILDDIR)/$(MAINFILE).pdf
cp $< .
$(BUILDDIR)/$(MAINFILE).pdf: $(BUILDDIR)/$(MAINFILE).ps
ps2pdf $< $@
ps: $(BUILDDIR)/$(MAINFILE).ps
cp $< .
$(BUILDDIR)/$(MAINFILE).ps: $(BUILDDIR)/$(MAINFILE).dvi
cd $(BUILDDIR); dvips -Ppdf -t a4 -o $(MAINFILE).ps $(MAINFILE).dvi
dvi: $(BUILDDIR)/$(MAINFILE).dvi
cp $< .
$(BUILDDIR)/$(MAINFILE).dvi: $(addprefix $(BUILDDIR)/,$(TEXFILES)) $(addprefix
$(BUILDDIR)/,$(BIBFILES)) $(addprefix $(BUILDDIR)/,$(EPSIMAGES))
cd $(BUILDDIR); latex $(MAINFILE); true
egrep -c $(RERUNBIB) $(BUILDDIR)/$(MAINFILE).log && (cd $(BUILDDIR);
bibtex $(MAINFILE); latex $(MAINFILE)); true
egrep $(RERUN) $(BUILDDIR)/$(MAINFILE).log && (cd $(BUILDDIR); latex
$(MAINFILE)); true
egrep $(RERUN) $(BUILDDIR)/$(MAINFILE).log && (cd $(BUILDDIR); latex
$(MAINFILE)); true
src: $(addprefix $(BUILDDIR)/,$(TEXFILES)) $(addprefix $(BUILDDIR)/,$(BIBFILES))
$(BUILDDIR)/%.tex: $(TEXDIR)/%.tex
cp $< $@
$(BUILDDIR)/%.bib: $(TEXDIR)/%.bib
cp $< $@
eps: $(addprefix $(BUILDDIR)/,$(EPSIMAGES))
$(BUILDDIR)/%.eps: $(IMGDIR)/%.dia
dia -e $@ $<
$(BUILDDIR)/%.eps: $(IMGDIR)/%.fig
fig2eps --nogv $<
mv $(addsuffix .eps,$(basename $<)) $@
$(BUILDDIR)/%.eps: $(IMGDIR)/%.png
convert $< $@
$(BUILDDIR)/%.eps: $(IMGDIR)/%.jpg
convert $< $@
clean:
$(RM) $(BUILDDIR)/*