Me gustaría usarlo latexmk
en un Makefile, así que leí la sección del manual sobre eso. Sin embargo, el paso de generación de dependencia parece menos que ideal. Específicamente, parece que latexmk
solo puede mostrar las dependencias después de crear completamente un archivo de salida (lo que puede llevar mucho tiempo en mi caso). ¿Hay alguna manera de tener latexmk
solo dependencias de salida para un archivo y no marcar el archivo de salida real como actualizado?
Probé la siguiente regla en mi Makefile, pero parece marcar el archivo de salida como actualizado. También creo que podría ejecutarse varias veces (o pensar que falló) dependiendo de lo que haya en el archivo de registro.
%.d: %.tex
@echo "Generating $@ from $<"
@set -e; \
$(LATEXMK) -M -MF $@ -quiet -pdf \
-pdflatex="echo Generating dependencies from %T" $<
Respuesta1
@tohecz: Tienes razón.
El problema es que las dependencias dependen de manera complicada del contenido detallado del archivo TeX (y de todos los archivos a los que llama, incluidos el archivo de clase y los archivos de estilo). La única manera fácil de determinar las dependencias es ejecutar pdflatex
(o latex
según corresponda) y luego analizar los archivos resultantes (los relevantes son los archivos .fls
, .log
y .aux
). Si el .tex
archivo cambia, tanto la .pdf
información como la de dependencia quedarán desactualizadas simultáneamente.
Por lo tanto, si desea ejecutar pdflatex
para determinar las dependencias, obtendrá un nuevo .pdf
archivo como efecto secundario. Por lo tanto, no tiene sentido intentar actualizar la información de dependencia sin actualizar el .pdf
archivo.