2009-10-08 8 views
7

El equipo para el que trabajo maneja una gran colección de documentación técnica que está escrita en LaTeX.¿Cómo puedo crear documentos PDF LaTeX con ANT (o algún otro sistema de compilación si lo prefiere)?

Actualmente toda la documentación que tenemos es construida manualmente por los editores y luego ingresada en un sistema de control de versiones. A veces las personas olvidan compilar sus documentos, por lo que tenemos una situación en la que los archivos PDF y .tex a menudo están desfasados. Lamentablemente, cuando esto sucede, nuestros usuarios se encuentran leyendo versiones antiguas de nuestro documento.

He logrado hackear una secuencia de comandos simple para construir archivos PDF utilizando Make - es bastante torpe.

Me preguntaba si había una mejor manera de hacerlo. La mayoría de las personas en nuestro departamento usan Eclipse + Pydev para un proyecto de Python, lo que significa que todos estamos muy familiarizados con este IDE. Sé que Ant juega muy bien con Eclipse, así que ¿podríamos usar esta herramienta para construir nuestro doc?

Entonces, ¿cuál es la mejor manera de hacerlo? Espero no tener que aprender todo lo que hay que saber sobre un nuevo sistema de construcción para automatizar la construcción de algunos documentos bastante simples.

+0

¿Por qué registra cosas que se generan automáticamente en el repositorio? Eso parece una práctica inusual. – Ketil

+0

No registramos nada que se haya generado automáticamente. La documentación es en su mayoría escrita a mano. –

Respuesta

7

Hay un Ant task externo para la generación de PDF LaTeX, aunque el sitio está en alemán.

Para usarlo, descarga el frasco a un lugar en el equipo, a continuación, definir un taskdef de la siguiente manera:

<taskdef name="latex" classname="de.dokutransdata.antlatex.LaTeX" 
    classpath="/path/to/ant/lib/ant_latex.jar"/> 

Luego de usarlo, definir un objetivo de la siguiente manera:

<target name="doLaTeX"> 
    <latex 
    latexfile="${ltx2.file}" 
    verbose="on" 
    clean="on" 
    pdftex="off" 
    workingDir="${basedir}" 
    /> 
</target> 

Donde ltx2.file es el archivo para procesar.

Este es un enlace al howto page que enumera los parámetros. Si necesita más opciones, mi alemán es lo suficientemente aceptable como para explicarlo, tal vez. También hay un maven plugin for LaTeX, pero no puedo encontrar ninguna documentación.

+0

Vi ese enlace, desafortunadamente solo hablo inglés. –

+0

Mi alemán tampoco es bueno, pero encontré un enlace a la página de howto y publiqué uno de los ejemplos. Los parámetros son al menos en inglés, así que puede estar bien ... –

1

Si conoces a pitón, this blog post might be interesting

EDITAR: Además, yo supongo que está utilizando algún tipo de sistema de control de versiones, y no puedo decir con certeza, pero usar Git para gestionar todos mis documentos de látex, y podría ser posible utilizar algún tipo de gancho post-commit para ejecutar un script para reconstruir el documento. Esto dependerá de cómo esté estructurado su repositorio ... solo de pensar en voz alta, por así decirlo.

1

He entrado en gran detalle sobre una gran cantidad de sistemas de construcción para látex en this question, pero es un poco diferente en su caso. Creo que quieres goma o latexmk. El archivo de látex parece una buena idea, pero solo admite la construcción a través de postscript, que podría no ser su proceso de compilación.

En general, es una buena idea mantener los archivos generados fuera del control de versiones por esta razón. Una buena excepción es cuando las herramientas especializadas de compilación no están ampliamente disponibles, y su situación suena similar. Puede hacer mejor con un commit-hook para compilar automáticamente en commit.

Supongo que también debo señalar que cometer algo sin primero construirlo y verificarlo es un pecado mortal, por lo que una mejor solución podría ser eliminarlo.

0

Maven es una mejor alternativa que el sistema de compilación en comparación con Ant. Así que recomendaría un maven-plugin para generar PDF a partir de fuentes LaTeX. Eche un vistazo a mathan-latex-maven-plugin

Cuestiones relacionadas