Dare forma ai testi: TEX
Patrizia Carnesecchi
20 ottobre 2002
Sommario
In questo breve lavoro1 sono raccolte informazioni d’ingresso all’uso di TEX
in riferimento all’ambiente Windows-32bit: di che si tratta; come orientarsi
per apprendere gli elementi essenziali del LATEX 2ε ; dove cercare altri materiali
(estensioni del linguaggio, fonts, programmi di utilità, guide); il software fondamentale e quello accessorio; alcune utili procedure di trasformazione; alcuni
esempi.2
Disegni tratti da lavori di Donald Knuth, il creatore di TEX
1
realizzato con TEX
Nota per la visione con Acrobat Reader: il testo colorato corrisponde a links interni o esterni
al documento; per migliorare il funzionamento dei collegamenti interni selezionare la modalità di
visualizzazione “pagina singola”.
2
2
Indice
1 Che
1.1
1.2
1.3
1.4
cos’è?
Il programma . . . . . . . .
A chi serve . . . . . . . . . .
Struttura di un file sorgente
La compilazione . . . . . . .
.
.
.
.
3
3
4
4
5
2 Come attrezzarsi
2.1 Prima di tutto la conoscenza . . . . . . . . . . . . . . . . . . . . . . .
Riferimenti . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Software per utenti di Windows-32 bit . . . . . . . . . . . . . . . . .
7
7
7
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Trasformazioni
3.1 Conversione di immagini . . . . . . .
3.1.1 Da Bitmapped a EPS . . . . .
3.1.2 Da EPS a PDF . . . . . . . .
3.1.3 Da EPS a Bitmapped . . . . .
3.2 Modifica delle immagini di tipo EPS
3.3 Tabelle: da Excel a LATEX . . . . . .
3.4 Fare un libretto . . . . . . . . . . . .
3.5 Da TEX a HTML . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
11
11
13
13
14
14
15
Appendice
A.1 Esempio: un esercizio di fisica . . . . . . . . . . . . . . . . . . . . . .
A.2 Un grafico con GnuPlot . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Indici delle figure e delle tavole . . . . . . . . . . . . . . . . . . . . .
16
16
19
21
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
1
Che cos’è?
1.1
Il programma
TEX è un eccellente sistema per la composizione di qualsiasi tipo di documento, sia esso pensato per la stampa, per la visione su schermo o per la proiezione; i
risultati ottenibili sono di gran lunga superiori a quelli dati dai tradizionali elaboratori di testo come è subito evidente se si devono introdurre formule matematiche
e in generale per i lavori dalla struttura complessa: è come avere a disposizione un
esperto tipografo.
Da sempre è utilizzato in ambiente universitario soprattutto scientifico, ma non
solo, per la grande versatilità e potenza; per la scuola secondaria forse è anche troppo
(prima o poi però capita a tutti di scontrarsi con l’inadeguatezza del proprio elaboratore di testi) ma . . . chi non vorrebbe provare una Ferrari per lo meno una volta?
Rispetto alla Ferrari TEX ha un indubbio vantaggio: è gratuito e soprattutto è “open
source” (cioè il codice sorgente è aperto, a disposizione per eventuali modifiche3 ).
Creato alla fine degli anni ’70 da Donald Knuth del C.E.R.N., TEX consiste in
una raccolta di circa trecento istruzioni di basso livello che permettono un controllo
molto fine dell’aspetto del documento.
Come ogni linguaggio di basso livello, però TEX è scomodo da usare: per questo
motivo sono stati introdotti linguaggi di livello più alto che forniscono una conveniente interfaccia con esso; fra questi il più conosciuto e utilizzato è sicuramente il
LATEX1.3 , sviluppato verso la fine degli anni ’80 da Leslie Lamport e successivamente perfezionato e arricchito (la versione attuale è il LATEX 2ε , risalente al 1994, ma
aggiornata annualmente).
Benché TEX sia stato sviluppato in ambiente Unix, è, come i suoi prodotti, praticamente indipendente dalla piattaforma; attualmente sono disponibili distribuzioni
per i principali sistemi operativi, in particolare per MS-Windows4 . TEX non è un
elaboratore di testi, ma un formattatore: si compongono uno o più sorgenti (files
di testo contenenti anche le necessarie istruzioni di formattazione) e se ne effettua
la compilazione ottenendo cosı̀ il “prodotto finito”. Anche se questo modo di procedere può sembrare assai poco conveniente, superate le inevitabili difficoltà iniziali,
lo sviluppo di un documento del tipo di quelli ottenibili con MS-Word può essere
addirittura più facile con TEX5 che con Word e simili perché ci si deve soltanto concentrare sui contenuti (dopo un po’ anche le istruzioni di formattazione si “sentono”
come contenuti): tutto il resto, e molto bene, lo fa il programma.
3
il tutto nei limiti della licenza d’uso, la G.P.L. (General Public License, mantenuta dal progetto
G.N.U.): http://www.gnu.org/home.it.html.
4
la distribuzione per MS-Windows, MikTeX (vedi tav.2, pag.8), ha pressoché raggiunto la
completezza di TeTeX, la distribuzione per Linux.
5
purché si accettino gli standards precostituiti, cioè se si lascia libero il “tipografo” TEX di
utilizzare i suoi modelli.
4
1.2
A chi serve
A chi deve utilizzare simboli di varia natura (in primo luogo matematici)6 e a chi,
in generale, deve sviluppare documenti complessi: i riferimenti (a paragrafi, equazioni, figure, . . . ) vengono gestiti automaticamente dal programma e si possono inserire
facilmente oggetti (equazioni, tabelle, figure, . . . ), note a piè di pagina e a margine,
indici (generale, analitico, delle figure, delle tabelle, . . . ), glossari, bibliografie.
A chi non vuol perdere tempo con l’impaginazione.
A chi ha bisogno di ottenere risultati non standard: si possono ridefinire comandi e parametri o definirne di nuovi, si possono codificare nuovi stili e perfino nuovi
simboli.
A chi vuole che i suoi documenti siano adatti alla consultazione su schermo e
contemporaneamente alla stampa di qualità, siano portabili (cioè leggibili dai principali sistemi operativi), non contengano sporcizia e siano indipendenti dal software
proprietario7 .
1.3
Struttura di un file sorgente
Un file LATEX 2ε ha la seguente tipica struttura:
\documentclass[...]{...}
... ... ... ... ...
... ... ... ... ...
-
Preambolo
-
Corpo del testo
\begin{document}
... ... ... ... ...
... ... ... ... ...
\end{document}
La prima parte è il preambolo: contiene tutte le istruzioni8 a carattere generale,
a partire dalla dichiarazione dello stile del documento9 . La seconda parte contiene
invece il testo vero e proprio con istruzioni “locali” di formattazione.
Nel caso di documenti lunghi si preferisce utilizzare più files: in questo caso il file
principale avrà la struttura ricordata sopra mentre gli altri conterranno solo frammenti del testo (senza preambolo) e saranno richiamati dal file principale con una
istruzione opportuna come, ad es., \input{<nome.file>}. Benché i sorgenti LATEX
6
sono disponibili gratuitamente almeno 2013 simboli distinti, vedi http://www.ctan.org/
tex-archive/info/symbols/comprehensive/
7
un fuori tema: gli irriducibili del WYSIWYG (what you see is what you get: cioè si vede
subito ciò che verrà stampato), possono scaricare gratuitamente da INTERNET la suite per ufficio
OpenOffice.org, ottima alternativa a MS-Office, http://www.openoffice.org/
8
le istruzioni iniziano sempre con il simbolo \ e contengono spesso argomenti obbligatori da
includere in parentesi graffe, {· · ·}, e argomenti opzionali da includere in parentesi quadre, [· · ·].
9
Esistono cinque stili o classi standard: article, report, book, letter, slides (vedi [1], pag.7).
5
siano semplici files di testo, si è soliti dar loro una estensione particolare per facilitarne l’identificazione, tipicamente .tex o .ltx.
Per informazioni ulteriori sul LATEX 2ε si rimanda al validissimo manuale disponibile in rete (vedi [1] a pag.7); qui basterà osservare che sia la stesura dei sorgenti
che la successiva compilazione risultano molto semplificate mediante l’uso di specifici
elaboratori di testo che forniscono dei veri e propri ambienti integrati di sviluppo
(ad esempio TeXnicCenter, vedi tav. 2).
1.4
La compilazione
Sviluppati i sorgenti, si può effettuare la compilazione che, in presenza di riferimenti incrociati, dovrà essere ripetuta più di una volta (di solito 2, 3 se si deve
introdurre un indice analitico): il compilatore stesso avverte quando è necessario
ripetere il procedimento. Si ottengono cosı̀ i “prodotti finiti” in formati praticamente indipendenti dalla piattaforma. Durante la compilazione vengono generati alcuni
files di servizio (con estensioni .log, .aux, .toc, .lof, .lot . . . ) che successivamente si
possono cancellare.
Sono disponibili diversi compilatori; se non si hanno particolari esigenze, come, ad es. scrivere da destra a sinistra, si utilizzerà il programma latex.exe o il
programma pdf(la)tex.exe a seconda del formato desiderato per il documento (vedi
tav. 1). L’inserimento di poche, semplici istruzioni nel preambolo (ed eventualmente
nel testo) permette di creare sorgenti LATEX-PdfLATEX compatibili che possono essere
compilati con l’uno o l’altro programma. Ad esempio con le seguenti istruzioni nel
preambolo
\ifx\pdfoutput\undefined
\usepackage[dvips]{graphicx}
\else
\usepackage[pdftex]{graphicx}
\DeclareGraphicsExtensions{.png,.jpg,.pdf}
\fi
si possono includere nel documento figure nel formato EPS (Encapsulated Postscript), quasi esclusivo per LATEX , o in uno dei formati PNG, JPG o PDF riconosciuti
da Pdflatex: basterà poi utilizzare il comando \includegraphics{<nomefile>} in
cui <nomefile> è il nome del file contenente la figura privato dell’estensione. Con
le seguenti istruzioni, sempre nel preambolo,
\ifx\pdfoutput\undefined
\else
\usepackage{hyperref}
\fi
si richiede invece l’uso dell’estensione10 hyperref per inserire links ipertestuali nei
10
il linguaggio di base è completato da estensioni analoghe alle unit del Pascal (vedi [1] e [4] a
pag.7)
6
files PDF ottenuti con Pdflatex.
DVI
Device Independent. E’ un formato di stampa che può anche essere visualizzato su schermo. Ha il grande vantaggio di occupare
poco spazio su disco ma, come nel caso dell’ HTML, le immagini
rimangono in files separati. Questo formato si ottiene mediante la
compilazione con Latex.
PS
PostScript. E’ il formato di stampa più comunemente utilizzato.
Si ottiene mediante il programma Dvips che trasforma i files DVI
in files PS, dei quali è possibile ottenere una visione su schermo di
ottima qualità mediante GSview.
PDF
Portable Document Format. E’ un formato piuttosto comodo sia
per la diffusione dello specifico interprete, Acrobat Reader, sia perché si presta alla produzione di documenti adatti alla visione su
schermo; rispetto ai due precedenti formati si ha però una qualità
di stampa leggermente inferiore e inoltre possono mancare caratteri particolari. Si ottiene o per trasformazione dal formato DVI per
mezzo di DVIpdfm o direttamente eseguendo la compilazione con
Pdflatex.
Tavola 1: Formati Finali
7
2
Come attrezzarsi
2.1
Prima di tutto la conoscenza
Esistono molte pubblicazioni su TEX e LATEX 2ε ; è inoltre possibile reperire materiali interessanti in INTERNET. Qui mi limito ad alcuni riferimenti essenziali: [1]
costituisce un ottimo manuale introduttivo che può essere scaricato liberamente dal
WEB, mentre [2] rimane insuperabile per un approfondimento11 ; [3] e [4] sono due
links molto utili da cui partire per trovare nuove estensioni, nuovi fonts, programmi
di utilità, guide.
Riferimenti
[1] T.Oetiker, H.Partl, I.Hyna e E.Schlegl. Una (mica tanto) breve introduzione
a LATEX 2ε , Versione 3.15, 14 agosto 2000: http://theory.uwinnipeg.ca/
scripts/CTAN/info/lshort/italian/.
Questo manuale permette di acquisire rapidamente e facilmente una conoscenza
del LATEX 2ε sufficiente a coprire le normali esigenze.
[2] M.Goossens, F.Mittelbach e A.Samarin. The LATEX Companion, AddisonWesley, Reading, Massachusetts, 1994, ISBN 0- 201-54199-8.
[3] The Comprehensive TeX Archive Network : http://www.ctan.org/
[4] The TEX Catalogue on line:
Catalogue/catalogue.html
11
http://www.ctan.org/tex-archive/help/
L’aggiornamento del cap.8◦ , “Higher Mathematics” è disponibile presso [3]
8
2.2
Software per utenti di Windows-32 bit
Esistono molti programmi utili, alcuni dei quali indispensabili o quasi (tav.2),
altri accessori (tav.3) per i quali la scelta non è univoca; qui mi limito ad indicare
software gratuito (con l’eccezione di Mayura Draw che è shareware) e semplice da
usare.
MikTeX
Distribuzione di TEX per Windows
(TEX, e-TEX, pdfTEX, Omega: compilatori; Yap: visualizzatore DVI; dvipdfm e dvips: conversione dal formato
DVI al formato PDF e al formato PS; Metafont e Metapost: elaborazione di fonts e di diagrammi; MakeIndex
e BibTEX : composizione di indici analitici e di bibliografie; estensioni standard del LATEX; molti programmi di
utilità; documentazione piuttosto ricca).
TeXnicCenter
Ambiente integrato di sviluppo (vedi fig. 1): elaboratore
di testi specifico per la stesura di sorgenti LATEX 2ε (l’inclusione delle principali istruzioni può avvenire in modo
semiautomatico selezionando la voce da appositi menù o
addirittura cliccando su un pulsante), permette di chiamare i programmi per la compilazione e utilità varie e
fornisce una guida in linea del linguaggio LATEX 2ε .
GhostScript
Interprete per il formato PostScript, permette anche di
effettuare alcune operazioni sui files, in particolare la
conversione delle immagini dal formato EPS a vari altri
formati.
GSview
Interfaccia grafica per GhostScript, è utilizzato soprattutto per la visione e la stampa di files nei formati PS,
EPS.
Acrobat Reader Per la visione e la stampa di files in formato PDF.
n.b.: i programmi elencati si possono scaricare gratuitamente da INTERNET (vedi [4])
Tavola 2: Software fondamentale
9
Figura 1: L’IDE (ambiente integrato di sviluppo) di TeXnicCenter
10
LaTable
Genera automaticamente il codice LATEX 2ε per le tabelle,
fornendo una interfaccia grafica:
http://g32.org
TeXaide
Equation editor, genera il codice per equazioni e formule:
http://www.dessci.com/features/tafform.stm
JpicEdt1.3.1
Applicazione Java, fornisce una interfaccia grafica per
realizzare disegni nell’ambiente “picture”:
http://trashx.ensea.fr/jpicedt/en/
GnuPlot3.7
Per fare grafici, vedi [4]
MayuraDraw
Shareware. Per la realizzazione/modificazione di disegni
in formato vettoriale e successiva esportazione nei formati
EPS e PDF:
http://www.mayura.com
The Gimp
Per la trasformazione/conversione delle immagini:
http://www.gimp.org/~tml/gimp/win32/
TtH
Da TEX ad HTML, vedi [4]
Tavola 3: Software Accessorio
11
3
Trasformazioni
3.1
Conversione di immagini
Le immagini possono essere di due tipi: bitmapped o vettoriali. Quelle del primo tipo sono ottenute punto per punto mentre quelle del secondo tipo mediante la
composizione di figure (linee, cerchi, triangoli, . . . ): questo fa sı̀ che possano essere
ingrandite arbitrariamente senza mostrare alcun effetto di “pixellizzazione” tipico
invece delle bitmapped (vengono ingranditi anche i quadretti, vedi fig. 2), i formati
vettoriali sono dunque preferibili per l’inserimento in documenti di testo.
La scelta del formato dell’immagine dipende anche dal formato scelto per il documento che stiamo producendo12 : mentre nel formato DVI possono essere incluse sia
immagini di tipo bitmapped (BMP, GIF, PNG, JPG, TIF, . . . ) che EPS (Encapsulated PostScript), per il formato PS servono immagini di tipo EPS; per il formato
PDF, invece, le immagini devono essere in uno dei formati PNG, JPG o PDF. Potrà
quindi essere necessario effettuare conversioni, tenendo anche presenti le caratteristiche delle immagini a disposizione. Qui basterà ricordare che i formati EPS e PDF
sono di tipo vettoriale e che, nel caso si abbiano pochi colori (fino a 256), la resa delle
immagini è migliore nei formati GIF e PNG che non nel formato JPG, viceversa se
ne hanno molti (come nelle foto).
(a) Vettoriale
(b) Bitmapped
Figura 2: I due tipi di immagini.
3.1.1
Da Bitmapped a EPS
Conviene utilizzare “The Gimp”13 , ponendo uguale a zero l’offset per x e y (per
facilitare un’eventuale successiva conversione ad altri formati, vedi § 3.1.2 e § 3.1.3),
come nella figura 3.
3.1.2
Da EPS a PDF
Il formato PDF può essere ottenuto, tra l’altro, per conversione dal formato EPS.
Poiché nella conversione dal formato EPS le dimensioni dell’immagine si conservano,
12
13
vedi tav.1
vedi pag.10
12
Figura 3: La conversione al formato EPS con “The Gimp”
questa risulta conveniente qualora si voglia effettuare una doppia compilazione con
LATEX e con pdfLATEX anche quando l’immagine originale non è di tipo vettoriale.
Da considerare inoltre il fatto che il formato PDF tende ad occupare poco spazio.
I confini di un’immagine in formato EPS sono segnati tramite la cosiddetta Bounding
Box che fornisce, in pixel14 , le coordinate dell’estremo inferiore sinistro e dell’estremo
superiore destro dell’immagine15 . In un file EPS l’istruzione relativa alla Bounding
Box si trova in una delle prime righe del codice, come si può osservare aprendolo
con un qualsiasi editor di testo. Ad esempio, per il file relativo alla fig. 3, si ha:
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner
%%Title: C:\localtexmf\Progetti\introduzione\eps.eps
%%CreationDate: Sat May 05 17:23:39 2001
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%Pages: 1
%%BoundingBox: 0 0 85 84
%%EndComments
%%BeginProlog
% Use own dictionary to avoid conflicts
10 dict begin
%%EndProlog
%%Page: 1 1
% Translate for offset
1
inch.
1 pixel = 72
l’origine delle coordinate è posta nell’estremo inferiore sinistro della pagina e gli assi x e y sono
rispettivamente orientati verso destra, l’asse x, verso l’alto, l’asse y.
14
15
13
0.000028 0.000028 translate
% Translate to begin of first scanline
0.000000 83.760000 translate
84.240000 -83.760000 scale
% Image geometry
351 349 8
% Transformation matrix
[ 351 0 0 349 0 0 ]
... ... ... ... ... ... ... ...
Nelle immagini in formato PDF la Bounding Box è sostituita dalla MediaBox,
definita con un sistema di coordinate diverso. Se vogliamo che l’immagine venga
effettivamente inclusa nel documento, la conversione deve “tagliarla” correttamente,
cioè deve definire adeguatamente la MediaBox.
Procedimento di conversione tramite GSview . Si deve disporre di un’immagine EPS
avente la Bounding Box con le prime due coordinate nulle, come nell’esempio del
codice precedente; si apre tale immagine con GSview e, dal menù “Carta” si uguagliano le dimensioni della pagina a quelle della Bounding Box dell’immagine. Fatto
questo, si seleziona la voce “Converti . . . ” nel menù “File”, scegliendo poi la periferica pdfwrite e salvando l’immagine nel nuovo formato (conviene selezionare la
massima risoluzione).
Procedimento di conversione tramite epstopdf.exe. MikTeX mette a disposizione,
nella directory “../texmf/miktex/bin”, il programma epstopdf.exe 16 che effettua
la conversione calcolando automaticamente la MediaBox. La qualità dell’immagine
ottenuta può però essere leggermente inferiore che nel caso precedente ed il file è
generalmente un po’ più esteso.
3.1.3
Da EPS a Bitmapped
Può essere effettuata tramite GSview. Utilizzando il drive opportuno (vedi Guida di GSview) si possono ottenere immagini nei formati BMP, JPG e PNG. Per non
avere bordi indesiderati nell’immagine, conviene, come nel caso precedente, partire
da un’immagine EPS avente la Bounding Box con le prime due coordinate nulle
uguagliando dal menù “Carta” di GSview le dimensioni della pagina a quelle della
Bounding Box dell’immagine.
3.2
Modifica delle immagini di tipo EPS
Mi limito ad indicare un metodo. Per prima cosa si converte il file al formato
AI (Adobe Illustrator) utilizzando a questo scopo ps2ai.ps di Ghostscript17 . Suc16
comando: epstopdf <nome file>
accessibile direttamente tramite GSview 4.0 dal menù “Modifica/Converti in formato
vettoriale...”
17
14
cessivamente si apre il file AI ottenuto in un editor d’immagini vettoriali (ad es.
MayuraDraw, vedi tav.3); si esporta infine al formato EPS l’immagine modificata.
Questo procedimento può portare ad una perdita d’informazione sul testo eventualmente contenuto nell’immagine e può non funzionare del tutto con immagini
ottenute per conversione da bitmapped.
3.3
Tabelle: da Excel a LATEX
Fare tabelle con LATEX è complesso (vedi [1] e [2]) a pag.7), specialmente se i
valori di alcune celle sono calcolati; esiste però una macro (“Excel-to-LATEX”, vedi
[4] a pag.7) che, caricata in Excel, permette di convertire tabelle preparate con il
foglio elettronico in un file contenente il relativo codice LATEX conservando anche i
principali elementi di formattazione (grassetto, corsivo, linee, celle unite, . . . ): basta
selezionare la tabella e “cliccare” sul pulsante generato dalla macro nella barra degli
strumenti di Excel.
3.4
Fare un libretto
Ogni distribuzione di TEX fornisce strumenti per modificare l’impaginazione di un documento; a questo proposito conviene consultare la documentazione contenuta nella
cartella “· · ·\doc\psutils.
Nel seguito è descritto un metodo per ottenere un libretto
da un documento compilato come file di stampa (.ps) in formato A4 fronte-retro
(\documentclass[· · · ,A4,twoside]{· · ·}).
• Dal prompt di MS-DOS si chiama la cartella contenente il file da trasformare,
sia “file.ps.
• Si digita il comando:
“psbook file.ps out.ps,
ottenendo il file “out.ps con le pagine riordinate.
• Si digita il comando:
“pstops 4:[email protected](21.6cm,0)[email protected](21.6cm,13.8cm) out.ps p1.ps18 ,
ottenendo il file “p1.ps con le pagine anteriori.
• Si digita il comando:
“pstops 4:[email protected](21.6cm,0)[email protected](21.6cm,13.8cm) out.ps p2.ps,
ottenendo il file “p2.ps con le pagine posteriori.
18
@0.75 è la scala, mentre i valori tra parentesi sono gli offsets per x e y: tali valori devono essere
adattati al layout del documento
15
• Si procede quindi alla stampa utilizzando GSview (se non si possiede una
stampante postscript).
Osservazione. Poiché digitare comandi complessi in modalità MS-DOS è scomodo,
sarà opportuno utilizzare un file batch (file di testo con estensione .bat, si manda in
esecuzione con un doppio click), come il seguente:
REM
REM
Il file da trasformare deve essere stato
copiato come FILE.PS
@echo off
pause
@echo on
psbook file.ps out.ps
pstops 4:[email protected](21.6cm,0)[email protected](21.6cm,13.8cm) out.ps p1.ps
pstops 4:[email protected](21.6cm,0)[email protected](21.6cm,13.8cm) out.ps p2.ps
@echo off
pause
3.5
Da TEX a HTML
Esistono vari programmi adatti allo scopo, gratuiti o no.
Il programma TtH, TEX to Html, (vedi [4], pag. 7), freeware, è molto semplice
da utilizzare e permette una buona resa delle formule matematiche inserite in righe separate; per quanto riguarda le immagini, potrà essere necessario convertirle
preliminarmente a uno dei formati PNG, GIF o JPG.
16
Appendice
A.1
Esempio: un esercizio di fisica
Figura 4: Esempio di testo con formule formattato con TEX
17
La figura 4 mostra un esempio di documento di testo realizzato con TEX . Come si vede, il risultato è buono; da notare, in particolare, come le formule vengano
inserite armonicamente senza modificare l’interlinea.
Nel seguito è riportato il sorgente di tale documentoa1 . Ad una prima occhiata può
sembrare piuttosto complesso; in realtà non è cosı̀, anche perché quasi tutte le istruzioni sono state inserite “cliccando” su appositi tasti in TeXnicCenter (vedi fig.1). Le
prime 6 righe costituiscono il preambolo: oltre alla dichiarazione di stile del documento (1◦ riga) è richiesto l’uso di alcune estensionia2 (inputenc per l’uso delle lettere
accentate, babel per il supporto della linguaa3 , geometry per il controllo dei margini,
graphicx per poter inserire immagini, fancyhdr per personalizzare l’intestazione e il
piè di paginaa4 ). Per quanto riguarda il resto del listato solo alcune osservazioni:
le parti matematiche all’interno dei paragrafi sono inserite tra $ e $, le formule da
evidenziare in linee separate tra \[ e \], le formule numerate nell’ambiente equation
(tra \begin(equation) e \end(equation)). Per chi trovasse insopportabilmente
scomoda la sequenza di istruzioni necessarie per le formule esistono programmi (di
solito non gratuiti) che forniscono un’interfaccia grafica tipo “Equation editor” di
MS-Worda5
Sorgente del documento di fig. 4
6
\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[ italian ]{babel}
\usepackage[width=15cm, headsep=22pt, nofoot, vscale=0.88]{geometry}
\usepackage[dvips]{graphicx}
\usepackage{fancyhdr}
8
\begin{document}
2
4
10
12
14
16
18
20
\pagestyle{fancy}
\fancyhead[LO,LE]{Classe 5SC − esercizio proposto in classe il 3/04/01}
\fancyfoot[CO,CE]{}
\noindent
Il circuito di figura è chiuso con una piccola asta metallica di massa
$m=3,0\;g$ che può scorrere senza attrito sui fili sottostanti ; il tratto
di asta inserito nel circuito è lungo $\ ell =10\;cm$. Il circuito inoltre è
alimentato con la tensione $V 0=1,0\;V$, contiene una resistenza
$R=10\;\Omega$ ed è immerso in un campo magnetico uniforme d’intensità
$B=1,0\;T$ (vedi figura). L’asta è inizialmente ferma.\\
a1
la numerazione delle linee è aggiunta per una più facile lettura
vedi note a pag. 5
a3
generazione automatica di stringhe e sillabazione
a4
righe 11, 12, 13
a5
vedi, ad es. la tav. 3 e http://www.loria.fr/services/tex/
a2
18
22
24
26
28
30
32
34
36
38
40
42
Discuti il moto della sbarretta e calcola lo spazio da essa percorso
nell ’ intervallo di tempo in cui la sua velocità passa dal valore iniziale 0
a metà del suo valore limite , $ v {lim}$ (si ritiene di poter trascurare
la resistenza delle altre parti del circuito ).
\begin{center}
\includegraphics[ scale=0.7]{immagini/circuito}
\end{center}
\noindent
Nel circuito fluisce una corrente $i $ come rappresentato in figura : la sbarretta
sente dunque una forza verso destra
$\overrightarrow{F}=i\overrightarrow{\ell}\wedge \overrightarrow{B}$
(con $|\overrightarrow{F}|=i\ell B$) e comincia a muoversi di moto
accelerato .\\ Il moto della sbarretta provoca una variazione del flusso di
$\overrightarrow{B}$ concatenato con il circuito :
$\Delta \Phi B=B\cdot \ell\cdot v\Delta t$ e quindi una forza
elettromotrice indotta ( legge di Faraday−Neumann) $\mathcal{E}=−B \ell v$.
Istante per istante si hanno quindi le seguenti relazioni :
\[
F=i \ell B \qquad F=ma \qquad V 0−B \ell v=Ri\
\]
Da cui:
44
46
48
\begin{equation}
ma=\frac{B \ell}{R}\;(V 0−B \ell v)\quad \Longrightarrow \quad
\frac{dv}{dt}=\frac{B \ell}{mR}\;(V 0−B \ell v)
\label{relaz}
\end{equation}
50
52
54
\noindent
Dall’ultima relazione scritta risulta chiaro che la velocità della
sbarretta cresce sempre più lentamente fino al valore limite
$v {lim}=\frac{V 0}{B \ell}=10\;m/s$ per il quale infatti risulta
$\frac{dv}{dt}=0$ (analogia con il moto in un mezzo viscoso).\\
56
58
60
62
64
66
\noindent
Nel seguito , dopo aver determinato la legge della velocità e l ’ istante
$\tilde{t}$ in cui è $v=\frac{1}{2}v {lim}$, calcoleremo lo spazio richiesto .
\[
\textrm{Dalla (\ref{relaz}):}\quad \int 0ˆt
\frac{\frac{dv}{dt}}{(V 0−B \ell v)}dt\;=
\int 0ˆt\frac{B \ell}{mR}dt
\quad \Longrightarrow \quad
\ln \ left (\frac{V 0−B \ell v}{V 0}\right)=
−\frac{Bˆ2 \ellˆ2}{mR}t
19
68
70
72
74
76
78
80
82
84
86
\]
La legge della velocità è dunque:
\[
v(t)=\frac{V 0}{B \ell}
\ left (1− eˆ{−\frac{Bˆ2 \ellˆ2}{mR}t}\right)
\]
e:
\[
\ tilde {t}=\tau \cdot \ln{2}=2,1\;s \;
\footnote{da $v(t)=\frac{1}{2}v {lim}$; $\tau \cdot \ln{2}$ è il
tempo di dimezzamento caratteristico del decadimento esponenziale.},
\qquad \textrm{con}\quad \tau=\frac{mR}{Bˆ2 \ellˆ2}= 3,0\;s
\ \textrm{(costante di tempo)} .
\]
Dunque:
\[
s(\ tilde {t})=\int {0}ˆ{\tilde{t}}v(t)dt=
\frac{V 0mR}{Bˆ3 \ellˆ3}
\ left (\ln{2}+\frac{1}{2}\right)= 36\;m \ (!!!)
\]
\vspace{0.5cm}
88
\end{document}
A.2
Un grafico con GnuPlot
GnuPlota6 è un programma gratuito per la rappresentazione grafica di dati e/o
di funzioni piuttosto comodo da usare. Per informazioni si può visitare http:
//www.gnuplot.org/.
Con GnuPlot si possono ottenere grafici in vari formati, in particolare PS e EPS.
Vediamo un esempio. I dati devono essere registrati in un file di testo, sia:
#dati.dat
#rotolamento di una pallina su una guida inclinata
#spazio (m) tempo medio(s)
incertezza sul tempo(s)
5.00
3.87
0.06
4.00
3.42
0.11
3.00
2.91
0.09
2.00
2.56
0.03
1.00
1.79
0.04
a6
vedi pag.10
20
Si può quindi procedere con le necessarie istruzionia7 ; per comodità conviene includere queste in un file di testo e chiedere quindi a GnuPlot di caricarlo con il comando
load "nomefile":
# nomefile
f(x)=a*x**2
a=0.3;
fit f(x) ’dati.dat’ using 2:1 via a
set key 3.5,2 title "s(t) = A t^2"
set title "Rotolamento di una pallina \n su una guida inclinata \n (con fit)"
set pointsize 1.5
set xlabel ’tempo, {/Italics t}(s)’
set ylabel ’Distanza, x(m)’
plot ’esp_n◦ 5.dat’ u 2:1:3 title ’misure’ with xerrorbars pt 3, f(x)
Gnuplot ci farà vedere un grafico. Adesso si danno, in sequenza, le seguenti istruzioni:
set out "grafico.eps"
set terminal postscript eps enhanced color
replot
"Helvetica" 14
Il risultato è il grafico della figura 5, contenuto nel file grafico.eps.
Rotolamento di una pallina
su una guida inclinata
(con fit)
5.5
5
4.5
Distanza, x(m)
4
3.5
3
2.5
s(t) = A t2
misure
f(x)
2
1.5
1
1.5
2
2.5
3
3.5
tempo, t(s)
Figura 5: Grafico ottenuto con GnuPlot
a7
GnuPlot permette anche di fare calcoli tra colonne di dati
4
21
A.3
Indici delle figure e delle tavole
Elenco delle figure
1
2
3
4
5
L’IDE (ambiente integrato di sviluppo) di TeXnicCenter
I due tipi di immagini. . . . . . . . . . . . . . . . . . . .
La conversione al formato EPS con “The Gimp” . . . . .
Esempio di testo con formule formattato con TEX . . . .
Grafico ottenuto con GnuPlot . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
11
12
16
20
Elenco delle tavole
1
2
3
Formati Finali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Software fondamentale . . . . . . . . . . . . . . . . . . . . . . 8
Software Accessorio . . . . . . . . . . . . . . . . . . . . . . . . . 10
Scarica

Dare forma ai testi: TEX