2009-10-08 8 views
7

Il team che lavoro gestisce una vasta raccolta di documentazione tecnica scritta in LaTeX.Come posso creare documenti PDF LaTeX con ANT (o qualche altro sistema di build se si preferisce)?

Attualmente tutta la documentazione che abbiamo è costruita manualmente dagli editori e quindi controllata in un sistema di controllo versione. A volte le persone dimenticano di compilare i loro documenti in modo da avere una situazione in cui i file PDF e .tex sono spesso fuori fase. Sfortunatamente, quando ciò accade, i nostri utenti si ritrovano a leggere vecchie versioni del nostro documento.

Sono riuscito a hackerare un semplice script per creare PDF usando Make - è piuttosto goffo.

Mi chiedevo se c'era un modo migliore per farlo? La maggior parte delle persone nel nostro dipartimento usa Eclipse + Pydev per un progetto Python, il che significa che siamo tutti molto familiari con questo IDE. So che Ant funziona bene con Eclipse, quindi potremmo essere in grado di utilizzare questo strumento per la nostra creazione di documenti?

Quindi qual è il modo migliore per farlo? Spero di non dover imparare tutto ciò che c'è da sapere su un nuovo sistema di build per automatizzare la costruzione di alcuni documenti piuttosto semplici.

+0

Perché fai il check in roba che viene generata automaticamente nel repository? Sembra una pratica insolita. – Ketil

+0

Non verifichiamo nulla che sia stato generato automaticamente. La documentazione è per lo più scritta a mano. –

risposta

7

C'è un esterno Ant task per la generazione di PDF LaTeX, sebbene il sito sia in tedesco.

Per utilizzarlo, scaricare il vaso in una posizione sulla vostra macchina, quindi definire un taskdef come segue:

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

quindi di utilizzarlo, definire un obiettivo come questo:

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

Dove ltx2.file è il file da elaborare.

Questo è un collegamento allo howto page che elenca i parametri. Se hai bisogno di altre opzioni, il mio tedesco è abbastanza passabile da spiegare, forse.

C'è anche un maven plugin for LaTeX, ma non riesco a trovare alcuna documentazione.

+0

Ho visto quel collegamento, sfortunatamente parlo solo inglese. –

+0

Anche il mio tedesco non è eccezionale, ma ho trovato un collegamento alla pagina di howto e pubblicato uno degli esempi. I parametri sono almeno in inglese, quindi potresti essere ok ... –

1

Se si conosce python, this blog post might be interesting

EDIT: Inoltre, presumo che si sta utilizzando un qualche tipo di sistema di controllo versione, e non posso dirlo con certezza, ma io uso git per gestire tutti i miei documenti in lattice e potrebbe essere possibile utilizzare una sorta di hook post-commit per eseguire uno script per ricostruire il documento. Ciò dipenderà dal modo in cui il tuo repository è strutturato ... solo a voce alta, per così dire.

1

Sono andato in grande dettaglio su un gran numero di sistemi di costruzione per lattice in this question, ma è leggermente diverso nel tuo caso. Penso che tu voglia la gomma o il latexmk. Il latex-makefile sembra una buona idea, ma supporta solo la creazione tramite postscript, che potrebbe non essere il processo di creazione.

In generale, è una buona idea mantenere i file generati al di fuori del controllo di versione proprio per questo motivo. Una buona eccezione è quando gli strumenti di compilazione specializzati non sono ampiamente disponibili e la tua situazione sembra simile. Si potrebbe fare di meglio con un hook di commit da compilare automaticamente al momento del commit.

Immagino che dovrei anche sottolineare che commettere qualcosa senza prima costruirlo e controllarlo è un peccato mortale, quindi una soluzione migliore potrebbe essere quella di stamparlo.

0

Maven è un'alternativa migliore come sistema di costruzione rispetto a Ant. Quindi consiglierei un plug-in maven per generare PDF da fonti LaTeX. Dai un'occhiata a mathan-latex-maven-plugin

Problemi correlati