sabato 17 ottobre 2009

Guida introduttiva alla creazione di Makefile per compilare documenti LaTeX

Per scrivere i miei documenti LaTeX uso un semplice editor di testo e per compilare il documento finale uso il terminale. I comandi da eseguire per compilare un documento devono spesso essere ripetuti più volte e qualche volta trovo di difficile memorizzazione la giusta sequenza delle operazioni. Per semplificarmi la vita ho quindi deciso di rivolgermi a make:
make è una utility usata con i sistemi operativi della famiglia UNIX che automatizza il processo di conversione dei file da una forma ad un'altra, risolvendo le dipendenze e invocando programmi esterni per il lavoro necessario. [...] Esso usa file chiamati "makefiles" per determinare il grafo delle dipendenze per un particolare output, e gli script necessari per la compilazione da passare alla shell.
(http://it.wikipedia.org/wiki/Make)
I Makefile sono estremamente diffusi nell'ambito della programmazione, la maggioranza dei software open-source sfrutta i Makefile per automatizzare la compilazione del programma. La mia idea di utilizzarli anche per compilare documenti LaTeX è tutt'altro che originale, su Internet, infatti, è possibile recuperare numeri sorgenti LaTeX con allegato un Makefile. Esistono dei programmi (essenzialmente degli script) che permettono di compilare correttamente un documento LaTeX con un solo comando, ma preferisco di gran lunga scrivermi da solo un Makefile perché è estremamente flessibile (con cambiamenti minimi può essere adattato a documenti diversi) e perché oltre alla compilazione automatizza anche altri processi come la conversione di immagini nei formati corretti per l'inclusione nel documento finale o la cancellazione dei file temporanei generati nella creazione di quest'ultimo.

Su Internet si trovano numerose guide che spiegano come realizzare Makefile per compilare programmi, ma poco e niente si trova più specificamente per i documenti LaTeX (sebbene il funzionamento di make sia indipendente dall'utilizzo, suppongo che un utente LaTeX non abbia necessariamente le conoscenze necessarie per comprendere una guida rivolta a un programmatore). Per questo motivo già da un po' di tempo (come segnalai sul forum del Gruppo Utilizzatori Italiani di TeX) ho pubblicato una breve guida al riguardo. Il manuale, in formato PDF, lo potete trovare all'indirizzo http://www.guitex.org/home/images/doc/GuideGuIT/guidamake.pdf, mentre i sorgenti si trovano all'indirizzo https://github.com/GuITeX/guidamakefilelatex/tarball/master.

Mi sono concentrato più sui contenuti che sulla forma, infatti in una delle ultime riletture ho trovato svariati errori ortografici, se ne individuate altri segnalate pure. I Makefile che sono illustrati sono relativamente semplici (date le mie conoscenze basilari sull'argomento), ma se ne possono realizzare di molto molto più complessi. Anche in questo caso, se avete consigli, suggerimenti su come ampliare e migliorare la guida siete i benvenuti. La guida è rilasciata con licenza CC-BY, quindi chiunque può modificarlo, adattarlo alle proprie esigenze, ampliarlo (mi farebbe piacere conoscere le modifiche apportate, specie se di ampliamento), a patto di citarne l'autore (cioè io :D).

Avevo intenzione di aggiungere alla guida delle brevi appendici di cui trovate i titoli (provvisori) nel file make.tex dell'archivio, per questo momento però non ho la possibilità di scrivere nulla a riguardo, se mi sarà possibile lo farò fra un po' di tempo. Tempo trovato :-)

2 commenti:

  1. Ottimo lavoro, complimenti!

    RispondiElimina
  2. Il lavoro non è completo ed è migliorabile, però mi fa piacere che possa già risultare a utile a qualcuno :)
    Ciao!

    RispondiElimina

I commenti inseriti vengono lasciati dall'autore degli stessi accettandone ogni eventuale responsabilità civile e penale.
Il curatore del blog si riserva la possibilità di eliminare messaggi contenenti frasi offensive o spam.