Robitex's Blog

Ideas in the web

Cucinare tabelle numeriche con verbatim


Impaginare lunghissime tabelle numeriche? Impossibile, ma…

Alcuni programmi forniscono in output un file in formato rtf, contenenti lunghissime tabelle numeriche che arrivano a centinaia di pagine. La soluzione più semplice per stampare questo particolare tipo di documento è elaborarlo con MS Word o Writer di OpenOffice.org.

Se tuttavia il numero delle pagine potesse essere fortemente ridotto con semplici accorgimenti d’impaginazione si incorrerebbe immediatamente in alcuni problemi nel metterli in pratica.

Per loro natura i word processor devono visualizzare a schermo il risultato dell’impaginazione quindi se devono occuparsi d’impaginare all’istante un’enorme tabella numerica con layout a più colonne per pagina, magari anche diverso per le pagine dispari e per quelle pari, cadono rendendo di fatto impossibile perseguire il proprio obiettivo.

E qui che LaTeX entra in scena, essendo appunto un compositore di testi asincrono, basta copiare l’enorme tabella in un foglio di calcolo, aggiungere una colonna con i due \\ di fine riga, esportare il tutto nel formato CSV con il carattere & come simbolo di separazione tra i campi, ed aggiungere i comandi LaTeX necessari in un veloce file di testo che darà il file pdf finale.

Ma, vi voglio descrivere una seconda procedura che ho messo a punto or ora: si tratta di esportare la tabella come se fosse testo normale, con l’incolonnamento reso da caratteri spazio che compensano la diversa lunghezza del testo nelle celle, per poi comporre il tutto con un font monospaziato tramite l’ambiente verbatim.

La procedura è più semplice della precedente, anche se si perde la possibilità automatica di ripetere la prima riga di descrizione ad ogni cambio di colonna.

Occorrente

Procedimento

Rilassatevi un po’, magari al pensiero di un buon caffè che non avreste potuto gustare nella necessità di stampare ed impaginare un documento di 650 pagine fronte retro.

Dunque, nel quieto clima autunnale, aprite il file sorgente con la megatabella, in OpenOffice.org (oppure in Word), selezionate la tabella come sapete fare voi e copiatela negli appunti (CTRL+C).

Aprite anche una sessione di Calc, il foglio di calcolo di OpenOffice.org, e date un comando Incolla speciale… (CTRL+Maiusc+V), scegliendo l’opzione “Testo non formattato”.

Special Paste in OpenOffice.org Calc

Incolla speciale in OpenOffice.org Calc

Nel dialogo “Importazione testo…”, selezionate la prima colonna e, tenendo premuto il tasto Shift, selezionate anche l’ultima. In questo modo tutte le colonne saranno selezionate. Assegnatele il tipo Testo e date l’ok.

In questo modo si evita il problema del punto decimale che viene interpretato come separatore di un valore temporale (ore.minuti anziché parteintera.partedecimale), ma se la vostra tabella non comporta questo problema, fate pure direttamente il CTRL+V in Calc.

Import taxt dialog...

Il dialogo Importa testo

A questo punto salvate il file e subito dopo date un “Salva con nome…” per esportarlo in CSV (Comma Separated Values). Scegliete infatti tale formato nel dialogo e spuntate l’opzione “Modifica impostazioni filtro” che appare se appunto selezionate il formato di salvataggio CSV.

Save dialog

State per salvare un nuovo file...

Eventualmente, scegliete l’opzione “Mantiene il formato corrente” se Calc ve lo chiedesse in alternativa a “Salva in formato ODF”, premendo il corrispondente pulsante, e nell’ultimo dialogo attivate la miracolosa opzione “Ampiezza colonna fissa”

Last step

Ultimo passo per la creazione del file

Avete appena prodotto il file di testo giustamente incolonnato con caratteri spazio pronto per essere composto con LaTeX.

Se il risultato non fosse perfetto e di vostro gradimento, ritornate a Calc ed aggiustate la larghezza delle colonne per riesportate il tutto, infatti il testo monospaziato a tabella è ottenuto tenendo conto della larghezza delle colonne del foglio di calcolo, e questa è l’unica eventuale scocciaturina.

Il risultato aperto con l'editor Scite

Il risultato aperto con l'editor Scite

Ultimo passo: cottura della tabella

Aggiunto un \begin{verbatim} come prima riga del file testo esportato e un \end{verbatim} come ultima riga, scrivete in un sorgente .tex il codice seguente (be è solo un esempio…), ed a questo punto, mettete a cuocere il file a fuoco lento con pdflatex (lento si fa per dire naturalmente).

\documentclass[a4paper]{article}
% Seleziona un font monospaziato adatto
\usepackage{inconsolata}

% setta il margine di pagina
\usepackage[margin=10mm]{geometry}

% elimina testatine e piè di pagina
\pagestyle{empty}

\begin{document}
% riduzione dimensione del font
\footnotesize
% impaginazione standard su due colonne
\twocolumn

% inserisce il contenuto del file CSV
\input{carichi}
\end{document}

Vi troverete con il pdf finale pronto per essere servito (intanto ecco il pdf finale che ho ottenuto per illustrarvi i vari passaggi condito a dovere, scaricatelo è un esempio di 9,8 KB!).

Buon Appetito!

2 risposte a “Cucinare tabelle numeriche con verbatim

  1. Miriana Colucci 02/03/2012 alle 14:03

    COME SI FA A SCARICARLO?

    BY MIRIANA

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: