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)/*

Responder a