
Me acabo de topar con estopublicación de blog sobrerubber
y estaba pensando: "¿No es eso exactamente lo que latexmk
hace?". Entonces, ahora me pregunto: ¿no es así? ¿O hay alguna diferencia?
Respuesta1
Parece que el caucho tiene las siguientes características que latexmk no ofrece (¿todavía?):
- Gomaanaliza el archivo de registro de LaTeX, lo filtra e imprime solo mensajes "relevantes" (advertencias, errores). Rubber siempre ejecuta LaTeX en unmodo no interactivo, mientras que latexmk parece requerir configuraciones o conmutadores adicionales.
- Con goma puedes teneropciones de configuración como comentarios en el código fuente de LaTeX; latexmk requiere archivos de configuración auxiliares.
- Lo más importante es que el caucho le permite especificar los valores correctos deTEXINPUTS, BIBINPUTS, BSTINPUTS, etc.para cada documento utilizando las opciones de configuración antes mencionadas; latexmk parece esperar que estas variables de entorno ya estén definidas adecuadamente.
Por supuesto, muchos de estos problemas se pueden solucionar con algunos scripts contenedores y archivos auxiliares. Y, obviamente, hay muchas características del látex que el caucho no ofrece.
Respuesta2
Una ventaja importante de latexmk sobre el caucho es que latexmk detecta archivos dependientes de manera mucho más confiable. Lo mejor que he podido entender es que Rubber determina los archivos dependientes analizando el archivo tex, buscando \input
y macros. Pero si estas macros están ocultas dentro de otra macro, Rubber no detecta los archivos dependientes correctamente. Por ejemplo, si tienes\include
\includegraphics
\newcommand\try[1]{\input{#1}}
\try{sub}
Rubber no detecta que sub.tex
es un archivo dependiente. Por lo tanto, si el archivo sub.tex
cambia, Rubber no detectará que es necesario ejecutar la compilación nuevamente.
En cambio, Latexmk analiza el archivo de registro y utiliza la -recorder
opción ( pdf
) latex
para determinar los archivos dependientes.
Respuesta3
Latexmk también ofrece una función de vista previa automática, que vuelve a compilar (inteligentemente) el pdf tan pronto como se guarda el texto.
También hay funciones más avanzadas, como una estrecha integración con archivos MAKE, por ejemplo.