Vai al menù, saltando i contenuti (access key "m")
TeX e LaTeX
Breve guida alla creazione di un documento
Struttura di un sorgente in LaTeX
Un sorgente TeX (e quindi anche LaTeX) deve essere scritto usando la codifica ASCII (128 simboli). L'introduzione nel nostro documento di caratteri non compresi nell'ASCII (lettere accentate, ecc...) può essere fatta usando comandi appositi (ad es. \`e per è oppure \'e per é). Vedremo in seguito come inserire direttamente questi caratteri nel sorgente.
% questo è un commento ... % % schema di un sorgente LaTeX % \documentclass[opzioni]{classe} % le classi definiscono le caratteristiche fondamentali del documento, % compresi alcuni comandi aggiuntivi specifici della classe. % Le "Classi Standard di LaTeX" comprendono, ad esempio, la classe % book, article, ... % Esistono poi altre famiglie di classi, come le "KOMA script", % la classe "Memoir" e così via... % Per le classi a disposizione e per le relative opzioni consultate % le guide e i manuali delle classi. % Ecco un esempio: % \documentclass[a4paper,11pt]{book} % la sezione fra \documentclass e \begin{document} è detta preambolo. % Questo è il posto per caricare pacchetti e definire comandi e % ambienti personalizzati \begin{document} % tra \begin{document} e \end{document} c'è invece il corpo del documento % è qua che dovrete scrivere il contenuto del vostro lavoro \end{document}
Salvate il documento con un nome a piacere, ad esempio (prova.tex).
Per compilarlo eseguite: latex prova.tex
oppure pdflatex prova.tex
.
Nel primo caso produrrete un file .dvi, nel secondo un file .pdf.
Spaziatura e caratteri speciali
Inserire più spazi oppure uno o più TAB nel sorgente, è equivalente all'inserire un singolo spazio.
Lasciare una o più righe bianche, fa iniziare un nuovo paragrafo.
Se al posto di uno spazio si mette una tilde, ad es. Mr~Biccari, la r e la B rimarranno sulla stessa riga,
cioè LaTeX non manderà mai a capo lasciando Mr da solo (spazio insecabile).
\\ o \newline manda a capo forzatamente.
\newpage fa cominciare una nuova pagina.
Come ogni linguaggio anche LaTeX ha dei caratteri speciali riservati:
\ { } % $ _ & # ^ ~
Per poter inserire questi simboli in un documento, dovete usare nel sorgente i seguenti comandi:
Riservato | Comando |
\ | \textbackslash |
{ | \{ |
} | \} |
% | \% |
$ | \$ |
_ | \_ |
& | \& |
# | \# |
^ | \textasciicircum |
~ | \textasciitilde |
Nota: al posto degli ultimi due comandi, usando \^{} e \~{} si ottengono i simboli ˆ e ˜.
Spaziature manuali in LaTeX
In modo testo:
[\,] {3/18} < \<SP> ~ <= <SP> < [\quad] {1} < [\qquad] {2}
In modo matematico:
\! {-3/18} < \, {3/18} < (\:) {4/18} < [\;] {5/18} < (\<SP>) (~) < \quad {1} < \qquad {2}
Dove:
Spazi tra parentesi tonde: da non usare mai
Spazi tra parenti quadre: da usare solo in casi molto rari
Altri: possono essere usati, ma con criterio.
Tra parentesi graffe sono riportate le dimensioni rispetto al \quad.
\> è sinonimo di \: ma in LaTeX non va usato.
\linebreak (l'orribile effetto che si ottiene con i word processor e il testo giustificato), \pagebreak
Lo spazio Unicode 32. Spazio visibile: \textvisiblespace. Quotation mark (Unicode 34) , '' (Left Double Quotation Mark, Unicode 8220) e `` (Right Double Quotation Mark, Unicode 8221). Apostrofo verticale (Unicode 39): LaTeX lo trasforma automaticamente in un apostrofo vero ' (Right Single Quotation Mark, Unicode 8217). ` (Left Single Quotation Mark, Unicode 8216) and ' (Right Single Quotation Mark, Unicode 8217). Simboli di primo (come nei minuti) (prime, Unicode 8242) e secondo (double prime, Unicode 8243): $^\prime$ o $'$} e $^{\prime\prime}$ o $''$. Asterisco centrato \textasteriskcentered. Il simbolo di "meno" simile uguale a quello che si ha in ambiente matematico lo si può fare con \textminus. \slash. \textless e \textgreater. \textbackslash. \^{}. \textquoteleft \textbar \textasciitilde \~{} \i e \j, \imath, \jmath Simbolo euro
Scrivere un buon sorgente
Secondo me, uno dei problemi di LaTeX è che finora, come già detto, ancora non sono stati realizzati degli editor
che permettano di leggere il sorgente come se fosse il documento finale (Formattazione da codice sorgente più che da
documento, nessuna anteprima di immagini, tabelle, formule, ecc... a meno di usare Emacs).
Però qualcosa per migliorare la leggibilità del sorgente si può fare. Ecco alcune regole:
- Non usare troppi comandi personalizzati e cercare di tenere i paragrafi più semplici possibile, separandoli con una o meglio due righe bianche.
- Il testo è bene scriverlo senza dare degli "a capo" manuali. Piuttosto usate la funzione "wrap text" del vostro editor. Ci sono alcuni editor, purtroppo pochi che fanno scegliere a quale colonna il testo deve andare a capo. Se non fate così basta cambiare grandezza della finestra e il sorgente diventa pieno di frasi spezzettate su una riga e sull'altra, oppure lo stesso brutto effetto si ha se cambiate una frase, scombussolandovi tutto il resto.
- Gli oggetti mobili (figure, table, ecc...) è bene inserirli tra due paragrafi e non nel mezzo di un paragrafo, separandoli dal resto dal paragrafo precendete e successivo con una o due righe bianche.
- Le note a pie' di pagina, a meno di usi particolari (referimenti bibliografici, testi molto commentati, ecc...) vanno poste alla fine del paragrafo. Quindi date il comando \footnote{...} alla fine del paragrafo su una nuova riga, ma senza lasciare una riga bianca!
- Per quanto riguarda gli oggetti matematici la cosa è più complicata. Prendiamo come esempio un ambiente equation. L'idea ovvia è di lasciare una riga bianca sia prima che dopo per separarlo dal testo circostante. Questo non è però possibile a meno di voler inziare un nuovo capoverso. Infatti LaTeX comincia sempre un nuovo capoverso se sopra a del testo si trova una riga bianca. Se quindi non si vuole far inziare un nuovo capoverso, il vostro ambiente lo potete mettere staccato dal blocco di testo precedente ma attaccato a quello successivo. Se volete visivamente vederlo staccato usate nelle righe vuote il carattere % cosicché non venga percepito da LaTeX il comando di a capo. Ovviamente questo discorso si applica a qualunque ambiente, anche figure e table. Però abbiamo detto che figure e table è meglio metterli tra due capoversi!
Accenti
Caratteri come à, ecc... non si possono scrivere direttamente in TeX. Volendo lo si può fare usando pacchetti appositi (vedi la sezione codifica dei caratteri). Per inserirli senza caricare alcun pacchetto ci sono dei comandi appositi, vedete una guida. È inutile inserire tra graffe l'argomento di quelli tipo \"a, \'a, ecc... mentre è obbligatorio inserire fra graffe \v{z}, ecc...
La grandezza relativa dei caratteri
A volte la gente si lamenta che i pedici e gli apici in LaTeX sono sproporzionati, provate per esempio a scrivere una lettera minuscola con un pedice maiuscolo. In realtà il comportamento di LaTeX è perfettamente corretto. Le dimensioni relative delle varie parti del testo sono studiate e regolate opportunamente, basta guardare qualsiasi libro.
I rapporti delle dimensioni dei caratteri matematici rispetto alla dimensione
del font del testo sono: 1 per il carattare matematico, 0.7 per i pedici/apici, 0.5
per i pedici/apici di secondo livello.
Se proprio volete cambiare questi rapporti, nel preambolo bisogna usare il comando:
\DeclareMathSizes{dim. testo}{dim. matematico}{dim. apice/pedice}{dim. apice/pedice secondo}.
Esempio \DeclareMathSizes{10}{10}{7}{5} è l'impostazione di default e si attiverà se state
usando il corpo 10 nel testo. Ecc...
Overfull
Quando si compila un documento tra i warning più comuni ci sono i cosiddetti overfull. Praticamente TeX non è riuscito a far entrare perfettamente il testo o in generale qualche altro elemento nello spazio assegnatogli. Per esempio immaginate una parola che sborda il limite della colonna del testo. Spesso però questi "errori" tipografici sono impercettibili o quasi ad occhio umano (1pt corrisponde a circa 0.3 mm). Per cambiare la soglia oltre la quale TeX si lamenta usare i seguenti comandi nel preambolo (cambiando 1pt in quello che volete. Però consiglio di non superare 1pt):
\hfuzz=1pt \vfuzz=1pt
Parametri vari
% non spezza i paragrafi tra le pagine: \interlinepenalty 10000 \raggedbottom % questo comando è fortemente consigliato!
LaTeX daemon
Una delle cose da evitare con LaTeX è quella di avere la smania di controllare ripetutamente
l'aspetto del documento per ogni parola che scriviamo. LaTeX è stato pensato affinché lo scrittore
si concentrasse solo sul contenuto. Certo è, però, che leggere una formula matematica scritta in LaTeX
non è affatto semplice appena il livello della stessa è leggermente complicato. Stesso discorso quando si
scorre velocemente il documento per individuare sezioni e sottosezioni: sarebbe molto comodo poterle individuare
in maniera "naturale" cioè vederle scritte in caratteri maggiori del resto del codice. Stesso discorso
ancora con figure e tabelle.
L'unico editor che implementa queste caratteristiche è Emacs, grazie ad AucTeX. Come già detto però
Emacs non è affatto facile da usare se siete alle prime armi (e anche se non lo siete). Più semplice
è dare un'occhiata al documento ogni tanto.
Questo aspetto si ricollega ad un altro, anch'esso abbastanza snervante. Se avete documenti di grandi dimensioni
la compilazione può impiegare anche decine di secondi. Immaginate di scrivere della matematica molto complicata
e avete bisogno di controllare il risultato finale di frequente...
In questo caso Emacs non può certo risolvere i problemi di velocità nella compilazione però, almeno nell'esempio
appena fatto, grazie all'anteprima del codice matematico permette di controllare il risultato del proprio codice
molto velocemente, senza compilare il documento.
Un approccio per venire incontro a tutti questi problemi è quello di cercare di velocizzare la compilazione
del documento. Di sicuro il primo passo banale è quello di compilare solo il capitolo che si sta scrivendo,
commentando l'inclusione degli altri file in cui è diviso il vostro documento di grandi dimensioni. Il secondo
passo, più complicato, è quello di precompilare il preambolo del documento. Questa parte della compilazione
infatti varia raramente ed è quella che richiede più tempo. La precompilazione del preambolo può essere fatta
manualmente ma è un po' ostica.
Per la precompilazione del preambolo e molto altro è nato (sotto Windows) "LaTeX daemon". Scaricatelo, copiate
in C:\Program Files\... Aggiungete alla variabile d'ambiente PATH di Windows C:\...
Lanciate latexdaemon.exe main.tex -dependencies=*.tex
Se mettete anche watch=yes il documento viene ricompilato ad ogni modifica del file principale o delle sue dipendenze
(i file inclusi) velocizzando la compilazione grazie all'uso del preambolo precompilato.
Molte altre caratteristiche. E invece per Linux e Mac. Ci sono poi ne parlerò.
Le righe magiche
Esistono dei commenti particolari, che si possono mettere all'inizio di un sorgente TeX, che vengono interpretati da alcuni editor in modo da specificare alcune caratteristiche del file.
% !TeX encoding = utf8 % !TeX program = pdflatex % !BIB program = biber % !TeX spellcheck = de_DE % !TeX root = filename