1 Commento

dat2LaTeX – Creare tabelle LaTeX da file di dati in modo automatico

23/6/2013: script e articolo aggiornati!

Ultimamente sto scrivendo moltissime relazioni per l’universita` (i cui impegni mi tengono, purtroppo, un po’ lontano dal blog) e in ogni relazione di argomento scientifico che si rispetti si avra` a che fare con dei dati e delle tabelle da inserire nelle relazioni.

Quando le tabelle sono molte i dati da inserire nelle stesse pure, a un certo punto viene a noia scrivere centinaia, se non migliaia di “&”, di “\hline”, eccetera.

Ora, visto che io ho l’abitudine di salvare i miei dati in files di testo semplice (non li processo mai con fogli di calcolo, a meno di non dover fare analisi piu` che banali) per darli in pasto a qualche programma C++ scritto ad-hoc, ho cercato dei modi “intelligenti” per convertire questi files in tabelle .tex. Ne ho trovati due: il primo l’ho escluso visto che prevede il passaggio da Excel (oltre a non amare moltissimo i prodotti Microsoft mi sembra uno spreco di risorse e di tempo passare attraverso Excel per convertire un file di testo in un altro file di testo) l’altro non sono riuscito a farlo funzionare (almeno non subito e stavo facendo questa cosa di sera, con tutte le buone intenzioni di andarmene a dormire il piu` presto possibile).

Allora mi sono armato del mio fedele Emacs su OSX e ho scritto uno script bash per convertire il file dei dati in un file sorgente .tex da includere nella mia relazione.

E` nato quindi dat2LaTeX e ho deciso di condividerlo con voi perche`, magari, anche qualcun altro puo` aver bisogno di fare questa cosa in modo semplice e veloce senza impazzire.

Lo script prende 5 argomenti:

  1. numero di colonne della tabella
  2. stile delle righe orizzontali (presenti oppure no)
  3. stile delle righe verticali
  4. file di dati da leggere
  5. file .tex da scrivere

Un esempio di generazione di tabella con due colonne con righe orizzontali tra le righe e righe verticali tra le colonne:

dat2LateX.sh 2 '\hline' '{|c|c|}' fileDati.dat fileTex.tex

ora un esempio per una tabella con due colonne senza righe orizzontali:

dat2LateX.sh 2 '' '{|c|c|}' fileDati.dat fileTex.tex

giusto per farvi notare la necessita` di inserire i due singoli apici per dare un argomento vuoto al posto del comando tex \hline. Insomma, non esistono (per ora) controlli sugli argomenti passati: bisogna sempre passarne 5 e devono essere “acconci” a seconda del risultato che si vuole ottenere.

Il file .tex ottenuto cosi` si deve inserire in un documento LateX con questa sintassi:

\begin{table}
\input{fileTex.tex}
\end{table}

Detto cio`, potete scaricare lo script da QUA e dargli i permessi di esecuzione con il comado:

chmod u+rx dat2LateX.sh

Lo script funziona sia su Linux che su OSX.

Aggiornamento del 23/6/2013

Ora lo script si è arricchito di qualche controllo sulle opzioni e di un help. Il link per il download è sempre valido, così come le piccole istruzioni per includere il file .tex nel documento principale. La guida per lo script, però è cambiata e al posto di riscriverla, vi inserisco uno screenshot dell’help che ho inserito.

usage

Un commento su “dat2LaTeX – Creare tabelle LaTeX da file di dati in modo automatico

  1. […] a usare Git. Dunque ho sfruttato il mio progetto personale dat2LaTeX per imparare a usarlo. Ve ne ricordate? dat2LaTeX è uno script bash che serve per trasformare un file di dati in una tabella LaTeX da […]

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: