%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Contents: Things you need to know % Translated by Onofrio de Bari % $Id: things.tex,v 1.27 2000/05/16 19:10:07 guild Exp $ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Cosa \`e necessario sapere} \begin{intro} Nella prima parte di questo capitolo sar\`a offerta una breve visione d'insieme relativamente alla filosofia e alla storia del \LaTeXe. La seconda parte del capitolo si sofferma invece sulle strutture basilari di un documento \LaTeX{}. Dopo aver letto questo capitolo, si dovrebbe avere una conoscenza di base sul funzionamento del \LaTeX{}; procedendo nella lettura, questo aiuter\`a a integrare tutte le nuove informazioni in una visione generale d'insieme. \end{intro} \section{Il nome del gioco} \subsection{\TeX} \TeX{} \`e un programma realizzato da \index{Knuth, Donald E.}Donald E. Knuth \cite{texbook}, ed \`e concepito per la composizione di testo e formule matematiche. Knuth inizi\`o a scrivere il motore di tipocomposizione \TeX{} nel 1977 allo scopo di esplorare le potenzalit\`a dell'equipaggiamento digitale di stampa che stava iniziando a prendere piede nel campo dell'editoria a quel tempo, in particolare con la speranza di poter far regredire la tendenza al deterioramento della qualit\`a tipografica che constatava affliggere i suoi libri ed articoli. Il \TeX{} per come \`e usato oggi \`e stato pubblicato nel 1982, con alcuni piccoli miglioramenti aggiunti nel 1989 per perfezionare il supporto dei caratteri a 8 bit e di pi\`u lingue. Il \TeX{} \`e rinomato per essere estremamente stabile, eseguibile su diversi tipi di computer e virtualmente privo di bug. Il numero di versione del \TeX{} converge a $\pi$ ed attualmente \`e $3.14159$. \TeX{} si pronuncia ``Tech'', con un ``ch'' come nella parola tedesca ``Ach'' o in quella scozzese ``Loch''. In un ambiente ASCII, \TeX{} diventa \texttt{TeX}. \subsection{\LaTeX} Il \LaTeX{} \`e un pacchetto di macro che permette agli autori di impaginare e stampare il loro lavoro ai pi\`u elevati livelli di qualit\`a tipografica, servendosi di un \emph{layout} professionale predefinito. Il \LaTeX{} fu originariamente scritto da \index{Lamport, Leslie}Leslie Lamport~\cite{manual}; esso si serve del \TeX{} come motore di tipocomposizione. Nel 1994 il pacchetto \LaTeX{} \`e stato aggiornato dal team \index{LaTeX3@\LaTeX 3}\LaTeX 3, guidato da \index{Mittelbach, Frank}Frank Mittelbach, al fine di includere alcuni miglioramenti da lungo tempo richiesti e allo scopo di riunire tutte le versioni con \emph{patch} che si erano raccolte sin dalla pubblicazione di \index{LaTeX 2.09@\LaTeX{} 2.09}\LaTeX{} 2.09 qualche anno prima. Per distinguere la nuova versione da quella antica, essa \`e chiamata \index{LaTeX 2e@\LaTeXe}\LaTeXe; questa documentazione tratta il \LaTeXe. \LaTeX{} si pronuncia ``Latech\ndt{Si tratta della tipica pronuncia italiana.}''. Se si fa riferimento a \LaTeX{} in un ambiente \texttt{ASCII}, si scriver\`a \texttt{LaTeX}. \LaTeXe{} si pronuncia ``Latech due e'' e si scrive \texttt{LaTeX2e}. La figura~\ref{components} in alto % on page \pageref{components} mostra come \TeX{} e \LaTeXe{} operano congiuntamente. Questa figura \`e tratta da \texttt{wots.tex} di Kees van der Laan. \begin{figure}[btp] \begin{lined}{0.8\textwidth} \begin{center} \input{kees.fig} \end{center} \end{lined} \caption{Componenti di un sistema \TeX} \label{components} \end{figure} \section{Concetti basilari} \subsection{L'autore, il grafico editoriale e il tipografo} Per pubblicare qualcosa, gli autori consegnano il loro manoscritto dattilografato a una casa editrice. Uno dei grafici editoriali stabilisce quindi il \emph{layout} del documento (la larghezza delle colonne, i \emph{font}, lo spazio prima e dopo le intestazioni,\ldots). Il grafico editoriale riporta quindi le proprie istruzioni nel manoscritto e lo consegna al tipografo, che impagina il libro in base a queste istruzioni. Un grafico editoriale in carne e ossa cerca di scoprire cosa aveva in mente l'autore durante la realizzazione del manoscritto; egli stabilisce i titoli dei capitoli, le citazioni, gli esempi, le formule, etc.\ basandosi sulla sua competenza professionale e sui contenuti del manoscritto. In un ambiente \LaTeX{}, \LaTeX{} impersona il ruolo del grafico editoriale e si serve di \TeX{} come tipografo, ma \LaTeX{} \`e ``solo'' un programma e necessita di conseguenza di maggiore assistenza; l'autore deve quindi fornire informazioni aggiuntive che descrivono la struttura logica del documento. Queste informazioni sono inserite nel testo come ``comandi \LaTeX{}''. Questo modo di agire \`e abbastanza differente dall'approccio \wi{WYSIWYG}\footnote{``What You See Is What You Get'', ci\`o che vedi è ci\`o che ottieni.} che hanno la maggior parte degli attuali \emph{word processor} come \emph{MS Word} o \emph{Corel WordPerfect}; con queste applicazioni, gli autori specificano il \emph{layout} del documento interattivamente durante la digitazione del testo al computer e, strada facendo, possono osservare sullo schermo come apparir\`a l'opera finita quando sar\`a stampata. Quando si usa \LaTeX{}, non \`e normalmente possibile osservare l'output definitivo mentre si digita il testo, ma esso pu\`o essere visualizzato preventivamente sullo schermo dopo aver elaborato il file con \LaTeX; le correzioni saranno poi effettuate prima di inviare materialmente il documento alla stampante. \subsection{Il progetto del \emph{layout}} Il design tipografico richiede abilit\`a. Gli autori inesperti commettono spesso gravi errori di formattazione poich\'e ritengono che l'impostazione di un libro sia per la maggior parte una questione di estetica---``Se un documento appare bello esteticamente, allora \`e ben progettato''. Poich\'e per\`o un documento deve esser letto e non esposto in una pinacoteca, la leggibilit\`a e la comprensibilit\`a sono di maggiore importanza rispetto al suo aspetto gradevole. Esempi: \begin{itemize} \item La dimensione dei \emph{font} e la numerazione dei titoli sono state scelte per rendere chiara al lettore la struttura dei capitoli e delle sezioni. \item La lunghezza delle righe deve essere abbastanza ridotta da non affaticare gli occhi di chi legge, e al contempo sufficientemente abbondante in modo da riempire la pagina con un bell'aspetto. \end{itemize} Con i sistemi \wi{WYSIWYG}, gli autori creano frequentemente documenti gradevoli sotto il profilo estetico ma con una struttura molto ridotta o incoerente. Il \LaTeX{} mette al riparo da tali errori di formattazione obbligando l'autore a dichiarare la struttura \emph{logica} del proprio documento, scegliendo successivamente il \emph{layout} pi\`u appropriato. \subsection{Vantaggi e svantaggi} Quando la gente del mondo \wi{WYSIWYG} incontra gli utenti di \LaTeX{}, si finisce a discutere spesso su ``i \wi{vantaggi di \LaTeX{}} nei confronti di un normale \emph{word processor}'' o viceversa. La migliore cosa da fare quando una tale diatriba ha inizio \`e mantenere un'impostazione misurata, poich\'e tali discussioni sfuggono spesso di mano, ma talvolta non ci si pu\`o sottrarre\ldots \medskip\noindent Ecco qui alcuni argomenti. I principali vantaggi di \LaTeX{} sui normali \emph{word processor} sono i seguenti: \begin{itemize} \item Sono reperibili dei \emph{layout} realizzati in maniera professionale, che fanno realmente apparire un documento come se fosse stato ``stampato''. \item La composizione tipografica di formule matematiche \`e supportata in maniera comoda. \item L'utente deve solo imparare pochi comandi facili da comprendere che specificano la struttura logica di un documento; egli non avr\`a mai bisogno di aggiustare alla meglio l'effettivo \emph{layout} del documento. \item Persino strutture complesse come le note a pi\`e di pagina, i riferimenti, gli indici e le bibliografie possono essere generate con facilit\`a. \item Esistono diversi pacchetti aggiuntivi gratuiti per molti compiti tipografici non direttamente supportati dal \LaTeX. Sono reperibili ad esempio dei pacchetti per includere grafici \textsc{PostScript} o per comporre bibliografie conformi a precisi standard. Molti di questi pacchetti aggiuntivi sono descritti in \companion. \item Il \LaTeX{} incoraggia gli autori a scrivere documenti ben strutturati, poich\'e \`e questo il modo in cui \LaTeX{} opera---specificando la struttura. \item Il \TeX, il motore di tipocomposizione di \LaTeXe, \`e gratuito e altamente portabile; il sistema, di conseguenza, \`e eseguibile su quasi tutte le piattaforme hardware disponibili. % % Add examples ... % \end{itemize} \medskip \noindent Il \LaTeX{} ha anche alcuni svantaggi, ma credo che sia difficile per me trovarne di rilevanti, sebbene sia sicuro che altre persone potrebbero elencarne a centinaia \texttt{;-)} \begin{itemize} \item Il \LaTeX{} non lavora bene per la gente che ha venduto la propria anima\ldots \item Sebbene alcuni parametri possano essere ritoccati nell'ambito del \emph{layout} predefinito di un documento, l'impostazione di un \emph{layout} interamente nuovo \`e complicata e richiede molto tempo\footnote{Ci sono voci secondo cui questo \`e uno degli elementi chiave che saranno affrontati dal prossimo sistema \LaTeX 3.}\index{LaTeX3@\LaTeX 3}. \item \`E molto difficile scrivere documenti non strutturati e disomogenei. \item Il tuo criceto potrebbe, a dispetto di alcuni incoraggianti primi passi, non essere mai capace di comprendere appieno il concetto di ``logical markup''. \end{itemize} \section{I file di input di \LaTeX} L'input per \LaTeX{} \`e un file di testo in \texttt{ASCII} puro. Pu\`o essere creato con qualunque \emph{editor} di testi e contiene il testo del documento cos\`{\i} come i comandi che comunicano al \LaTeX{} come impostare il testo. \subsection{Spazi} I caratteri di ``spazio interparola'' come lo spazio vuoto o il carattere di tabulazione sono trattati indifferentemente come ``\wi{spazio}'' da \LaTeX{}. \emph{Pi\`u caratteri consecutivi} di \wi{spazio interparola} sono considerati come \emph{uno} ``spazio''. Lo spazio interparola all'inizio di una riga viene generalmente ignorato, e una sola interruzione di riga \`e trattata come uno ``spazio interparola''. \index{spazio interparola!all'inizio di una riga} Una riga vuota tra due righe di testo delimita la fine di un paragrafo. \emph{Pi\`u} righe vuote sono considerate alla stessa maniera di \emph{una} riga vuota. Il testo in basso \`e un esempio. Nella parte sinistra vi \`e il testo del file di input, e a destra \`e visualizzato l'output formattato. \begin{example} Non ha importanza se immetti uno o tanti spazi dopo una parola. Una riga vuota fa iniziare un nuovo paragrafo. \end{example} \subsection{Caratteri speciali} I seguenti simboli sono \wi{caratteri riservati} che hanno un significato speciale in \LaTeX{} o non sono disponibili in tutti i \emph{font}; quando vengono immessi nel testo, normalmente non vengono stampati, ma costringono il \LaTeX{} ad operare in maniera indesiderata. \begin{code} \verb.$ & % # _ { } ~ ^ \ . %$ \end{code} Come potrete osservare, questi caratteri possono essere usati nei vostri documenti tutti allo stesso modo facendoli precedere da un \emph{backslash}: \begin{example} \$ \& \% \# \_ \{ \} \end{example} Gli altri simboli e molti altri ancora possono essere stampati con comandi speciali nelle formule matematiche o come accenti. Il carattere \emph{backslash} $\backslash$ \emph{non} pu\`o essere immesso aggiungendo un altro \emph{backslash} davanti ad esso(\verb|\\|): questa sequenza si usa per le interruzioni di riga\footnote{Provate il comando \$\ci{backslash}\$ invece; esso produce un `$\backslash$'.}. \subsection{Comandi \LaTeX} I \wi{comandi} \LaTeX{} sono \emph{case sensitive} e accettano uno dei due seguenti formati: \begin{itemize} \item Iniziano con un \emph{\wi{\emph{backslash}}} \verb|\| e poi hanno un nome che consiste di sole lettere; i nomi dei comandi terminano con uno spazio, un numero o un altro carattere `non lettera'. \item Sono costituiti da un \emph{backslash} ed esattamente da un % numerical or carattere speciale. \end{itemize} % % \\* doesn't comply ! % % % Can \3 be a valid command ? (jacoboni) % \label{whitespace} Il \LaTeX{} ignora lo spazio dopo i comandi. Se volete ottenere uno \index{spazio interparola!dopo i comandi}spazio dopo un comando, dovete inserire \verb|{}| e un carattere di spazio o un comando speciale di spaziatura dopo il nome del comando. Le \verb|{}| impediscono a \LaTeX{} di divorare tutto lo spazio dopo il nome del comando. \begin{example} Ho letto che Knuth divide la gente che lavora con il \TeX{} in \TeX{}nici e \TeX perti.\\ Data odierna: \today. \end{example} Alcuni comandi necessitano di un \wi{parametro} che deve essere fornito tra \wi{parentesi graffe}~\verb|{ }| dopo il nome del comando. Alcuni comandi accettano \wi{parametri opzionali} che si aggiungono dopo il nome del comando tra \wi{parentesi quadre}~\verb|[ ]|. I prossimi esempi si servono di alcuni comandi \LaTeX. Non vi preoccupate, saranno spiegati in seguito. \begin{example} Puoi \textsl{appoggiarti} a me! \end{example} \begin{example} Per favore, inizia una nuova riga proprio qui!\newline Grazie! \end{example} \subsection{Commenti} \index{commenti} Quando il \LaTeX{} incontra un carattere \verb|%| durante l'elaborazione di un file di input, ignora il resto della riga attuale, l'interruzione di riga, e tutti gli spazi bianchi all'inizio della riga successiva. Questo pu\`o essere usato per scrivere commenti nel file di input, che non saranno mostrati nella versione stampata. \begin{example} Ecco un % stupido % Meglio: istruttivo <---- esempio: Supercal% ifragilist% ichespiralidoso \end{example} Il carattere \verb|%| pu\`o anche essere usato per dividere lunghe righe di input in cui non sono permessi spazi bianchi o interruzioni di riga. Per commenti pi\`u lunghi si dovrebbe usare l'ambiente \ei{comment} fornito dal pacchetto \pai{verbatim}. \begin{example} Ecco un altro \begin{comment} piuttosto stupido, ma utile \end{comment} esempio per includere commenti nel vostro documento. \end{example} \section{Struttura del file di input} Quando il \LaTeXe{} elabora un file di input, si aspetta di seguire una certa \wi{struttura}. Ogni file di input deve di conseguenza iniziare con un comando \begin{code} \verb|\documentclass{...}| \end{code} Questo specifica che tipo di documento si ha intenzione di scrivere. Si possono, oltre a questo, includere comandi che influenzano lo stile dell'intero documento, o si possono caricare \wi{pacchetti} che aggiungono nuove caratteristiche al sistema \LaTeX. Per caricare un tale pacchetto si usa il comando \begin{code} \verb|\usepackage{...}| \end{code} Quando tutto il lavoro di preparazione sar\`a compiuto\footnote{L'area tra \texttt{\bs documentclass} e \texttt{\bs begin$\mathtt{\{}$document$\mathtt{\}}$} \`e chiamata \emph{\wi{preambolo}}.}, si inizier\`a con il corpo del testo con il comando \begin{code} \verb|\begin{document}| \end{code} Si immette ora il testo combinato ad alcuni utili comandi \LaTeX. Al termine del documento si aggiunge il comando \begin{code} \verb|\end{document}| \end{code} che dice a \LaTeX{} che il documento \`e finito; tutto ci\`o che segue questo comando sar\`a ignorato da \LaTeX. La figura~\ref{mini} mostra i contenuti di un file \LaTeXe{} di lunghezza minima. Un \wi{file di input} un po' pi\`u complicato \`e fornito nella figura~\ref{document}. \begin{figure}[!hbp] \begin{lined}{6cm} \begin{verbatim} \documentclass{article} \begin{document} Piccolo \`e bello. \end{document} \end{verbatim} \end{lined} \caption{Un file \LaTeX{} di lunghezza minima.} \label{mini} \end{figure} \begin{figure}[!bp] \begin{lined}{10cm} \begin{verbatim} \documentclass[a4paper,11pt]{article} \usepackage{latexsym} \author{H.~Partl} \title{Minimalismo} \frenchspacing \begin{document} \maketitle \tableofcontents \section{Start} Bene, qui inizia il mio grazioso articolo. \section{End} \ldots{} e qui finisce. \end{document} \end{verbatim} \end{lined} \caption{Un realistico esempio di articolo di giornale.} \label{document} \end{figure} \section{Il \emph{layout} del documento} \subsection {Classi di documento}\label{sec:documentclass} La prima informazione che il \LaTeX{} richiede quando elabora un file di input \`e il tipo di documento che l'autore desidera realizzare; questo si specifica con il comando \ci{documentclass}. \begin{command} \ci{documentclass}\verb|[|\emph{opzioni}\verb|]{|\emph{classe}\verb|}| \end{command} \indent Qui \emph{classe} specifica il tipo di documento da realizzare. La tabella~\ref{documentclasses} elenca le classi di documento descritte in questa introduzione. La distribuzione \LaTeXe{} fornisce classi aggiuntive per altri documenti, comprese lettere e lucidi. Il parametro \emph{\wi{opzioni}} adatta il comportamento della classe del documento; le opzioni devono essere separate da virgole. Le opzioni pi\`u comuni per le classi di documento standard sono elencate nella tabella~\ref{options}. \begin{table}[!bp] \caption{Classi di documento.} \label{documentclasses} \begin{lined}{12cm} \begin{description} \item [\normalfont\texttt{article}] per articoli in riviste scientifiche, presentazioni, brevi relazioni, documentazione di programmi, inviti,\ldots \index{article, classe} \item [\normalfont\texttt{report}] per relazioni pi\`u lunghe contenenti diversi capitoli, piccoli libri, tesine,\ldots \index{report, classe} \item [\normalfont\texttt{book}] per libri veri e propri \index{book, classe} \item [\normalfont\texttt{slides}] per lucidi. La classe usa grosse lettere sans serif. Potreste prendere in considerazione l'uso di Foil\TeX{}\footnote{% \url{CTAN:/tex-archive/macros/latex/packages/supported/foiltex}} al suo posto. \index{slides, classe}\index{foiltex} \end{description} \end{lined} \end{table} \begin{table}[!bp] \caption{Opzioni delle classi di documento.} \label{options} \begin{lined}{12cm} \begin{flushleft} \begin{description} \item[\normalfont\texttt{10pt}, \texttt{11pt}, \texttt{12pt}] \quad Imposta la dimensione del \emph{font} principale nel documento; se non \`e specificata, si assume \texttt{10pt}. \index{dimensione dei font nel documento}\index{dimensione base dei font} \item[\normalfont\texttt{a4paper}, \texttt{letterpaper},\ldots] \quad Definisce le dimensioni del foglio. La dimensione predefinita \`e \texttt{letterpaper}. Oltre a questa possono essere specificate \texttt{a5paper}, \texttt{b5paper}, \texttt{executivepaper}, e \texttt{legalpaper}. \index{foglio legal} \index{dimensioni carta}\index{foglio A4}\index{foglio letter} \index{foglio A5}\index{foglio B5}\index{foglio executive} \item[\normalfont\texttt{fleqn}] \quad Compone le formule visualizzate allineandole a sinistra invece che centrandole. \item[\normalfont\texttt{leqno}] \quad Dispone la numerazione delle formule sulla sinistra invece che sulla destra. \item[\normalfont\texttt{titlepage}, \texttt{notitlepage}] \quad Specfica se dopo il \wi{titolo del documento} debba avere inizio o no una nuova pagina. La classe \texttt{article} non d\`a inizio a una nuova pagina per impostazione predefinita, mentre \texttt{report} e \texttt{book} agiscono in questo modo. \index{titolo} \item[\normalfont\texttt{twocolumn}] \quad D\`a istruzioni a \LaTeX{} di impaginare il documento in \wi{due colonne}. \item[\normalfont\texttt{twoside, oneside}] \quad Specifica se deve essere generato un output a doppia o singola facciata. Le classi \texttt{article} e \texttt{report} sono \wi{a singola facciata} e la classe \texttt{book} \`e \wi{a doppia facciata} per impostazione predefinita. Va notato che quest'opzione riguarda solo lo stile del documento; l'opzione \texttt{twoside} \emph{non} comunica alla stampante usata che l'output di stampa debba effettivamente essere a due facciate. \item[\normalfont\texttt{openright, openany}] \quad Fa iniziare i capitoli solo nella pagina destra o nella successiva pagina a disposizione. Questa opzione non funziona con la classe \texttt{article}, poich\'e questa non contiene informazioni riguardo ai capitoli. La classe \texttt{report} fa iniziare in maniera predefinita i capitoli sulla prossima pagina a disposizione e la classe \texttt{book} li fa iniziare sulle pagine destre. \end{description} \end{flushleft} \end{lined} \end{table} Esempio: un file di input per un documento \LaTeX{} potrebbe iniziare con la riga \begin{code} \ci{documentclass}\verb|[11pt,twoside,a4paper]{article}| \end{code} che ordina a \LaTeX{} a impaginare il documento come \emph{articolo} con una dimensione del \emph{font} di base pari a \emph{undici punti}, e a realizzare un \emph{layout} adeguato alla stampa \emph{in due facciate} in \emph{formato A4}. \pagebreak[2] \subsection{I pacchetti} \index{pacchetto} Non appena si scriveranno dei documenti, si scoprir\`a probabilmente che ci sono alcuni settori in cui il \LaTeX{} di base non pu\`o risolvere il problema. Se si vuole includere \wi{grafica}, \wi{testo a colori} o codice sorgente da un file nel documento, bisogner\`a estendere le capacit\`a del \LaTeX; le estensioni sono dette pacchetti. I pacchetti si attivano col comando \begin{command} \ci{usepackage}\verb|[|\emph{opzioni}\verb|]{|\emph{package}\verb|}| \end{command} \noindent dove \emph{package} \`e il nome del pacchetto e \emph{opzioni} \`e una lista di parole chiave che danno l'avvio a speciali caratteristiche del pacchetto. Alcuni pacchetti sono inclusi nella distribuzione base di \LaTeXe{} (consultare la tabella~\ref{packages}); altri sono forniti a parte. Si possono reperire maggiori informazioni sui pacchetti installati nel sistema nella \guide. La prima fonte di informazione relativamente ai pacchetti \LaTeX{} \`e \companion; esso contiene le descrizioni di centinaia di pacchetti assieme a informazioni su come scrivere le proprie estensioni al \LaTeXe. \begin{table}[!hbp] \caption{Alcuni pacchetti distribuiti con \LaTeX.} \label{packages} \begin{lined}{11cm} \begin{description} \item[\normalfont\pai{doc}] Permette la documentazione di programmi \LaTeX.\\ Descritto in \texttt{doc.dtx}\footnote{Questo file dovrebbe essere installato nel sistema, e si dovrebbe poter ottenere un file \texttt{dvi} digitando \texttt{latex doc.dtx} in una directory in cui si hanno i permessi di scrittura; lo stesso vale per tutti gli altri file citati in questa tabella.} e in \companion. \item[\normalfont\pai{exscale}] Fornisce versioni ridimensionate del \emph{font} dell'estensione math.\\ Descritto in \texttt{ltexscale.dtx}. \item[\normalfont\pai{fontenc}] Specifica quale \wi{codifica dei \emph{font}} \LaTeX{} dovrebbe usare.\\ Descritto in \texttt{ltoutenc.dtx}. \item[\normalfont\pai{ifthen}] Fornisce comandi nella forma\\ `se\ldots{} allora fai\ldots{} altrimenti fai\ldots'\\ Descritto in \texttt{ifthen.dtx} e \companion. \item[\normalfont\pai{latexsym}] Per accedere al \emph{font} ``symbol'' di \LaTeX{} si dovrebbe usare il pacchetto \texttt{latexsym}. Descritto in \texttt{latexsym.dtx} e in \companion. \item[\normalfont\pai{makeidx}] Fornisce comandi per realizzare indici. Descritto nel paragrafo~\ref{sec:indexing} e in \companion. \item[\normalfont\pai{syntonly}] Analizza un documento senza impaginarlo. \item[\normalfont\pai{inputenc}] Permette di specificare una codifica di input come ASCII, ISO Latin-1, ISO Latin-2, tabelle di codici 437/850 IBM, Apple Macintosh, Next, ANSI-Windows o una definita dall'utente. Descritto in \texttt{inputenc.dtx}. \end{description} \end{lined} \end{table} \section{I file con cui si ha a che fare} Quando si lavorer\`a con il \LaTeX{} ci si trover\`a presto in un labirinto di file con varie \wi{estensioni} e probabilmente disorientati. In basso \`e riportata una lista relativa ai vari \wi{tipi di file} in cui ci si pu\`o imbattere lavorando con il \TeX{}. Va notato che questa tabella non si pretende di fornire una lista esaustiva di estensioni; se qualcuno pensa che non sia presente un tipo che ritiene importante, scriva pure due righe. \begin{description} \item[\wi{.tex}] Input file di \LaTeX{} o \TeX{}. Da compilare con \texttt{latex}. \item[\wi{.sty}] Pacchetto di macro di \LaTeX{}. Questo \`e un file che si pu\`o caricare nel documento \LaTeX{} con il comando \ci{usepackage}. \item[\wi{.dtx}] Documented \TeX{}. \`E questo il principale formato di distribuzione per i file di stile del \LaTeX{}. Se si compila un file .dtx si ottiene del codice macro documentato relativo al pacchetto \LaTeX{} contenuto nel file .dtx. \item[\wi{.ins}] \`E il file di installazione per i file contenuti nel corrispondente file .dtx. Se si scarica un pacchetto \LaTeX{} da Internet, si otterr\`a normalmente un file .dtx e un file .ins; sul file .ins si esegue \LaTeX{} per decomprimere il file .dtx. \item[\wi{.cls}] I file delle classi definiscono come apparir\`a il documento; sono caricati con il comando \ci{documentclass}. \end{description} Quando si eseguir\`a \LaTeX{} sul file di input saranno creati i seguenti file: \begin{description} \item[\wi{.dvi}] File \emph{device independent}. Questo \`e il principale risultato dell'esecuzione di \LaTeX{}. Si pu\`o visualizzarne il contenuto con un programma di visualizzazione DVI o \`e possibile inviarlo alla stampante con \texttt{dvips} o un'applicazione simile. \item[\wi{.log}] Fornisce un resoconto dettagliato di cosa \`e avvenuto durante l'ultima esecuzione del compilatore. \item[\wi{.toc}] Conserva tutti i titoli dei paragrafi. Viene letto nella successiva esecuzione del compilatore ed \`e usato per realizzare l'indice. \item[\wi{.lof}] Questo \`e simile al .toc ma riguarda la lista delle figure. \item[\wi{.lot}] Analogamente per la lista delle tabelle. \item[\wi{.aux}] Un altro file che trasporta informazioni da un'esecuzione all'altra del compilatore; tra le altre cose, il file .aux \`e usato per conservare le informazioni associate ai riferimenti incrociati. \item[\wi{.idx}] \`E presente se il documento contiene un indice analitico. Il \LaTeX{} memorizza tutte le parole che vanno nell'indice analitico in questo file. Questo file deve essere elaborato con \texttt{makeindex}; fare riferimento al paragrafo \ref{sec:indexing} a pagina \pageref{sec:indexing} per altre informazioni sulla realizzazione di indici analitici. \item[\wi{.ind}] \`E il file .idx gi\`a elaborato, pronto ad essere incluso nel documento al prossimo ciclo di compilazione. \item[\wi{.ilg}] Un \emph{logfile} che fornisce un resoconto su ci\`o che \`e stato compiuto da \texttt{makeindex}. \end{description} % Package Info pointer % % \subsection{Stili di una pagina} Il \LaTeX{} accetta tre combinazioni predefinite di \wi{intestazione}/\wi{pi\`e di pagina}---i cosiddetti \wi{stili di pagina}. Il parametro \emph{stile} del comando \index{stile di pagina!plain@\texttt{plain}}\index{plain@\texttt{plain}} \index{stile di pagina!headings@\texttt{headings}}\index{headings@texttt{headings}} \index{stile di pagina!empty@\texttt{empty}}\index{empty@\texttt{empty}} \begin{command} \ci{pagestyle}\verb|{|\emph{stile}\verb|}| \end{command} \noindent definisce quale stile sar\`a utilizzato. La tabella~\ref{pagestyle} elenca gli stili di pagina predefiniti. \begin{table}[!hbp] \caption{Gli stili di pagina predefiniti del \LaTeX.} \label{pagestyle} \begin{lined}{12cm} \begin{description} \item[\normalfont\texttt{plain}] stampa i numeri di pagina nella parte inferiore della stessa, al centro del pi\`e di pagina. Questo \`e lo stile di pagina predefinito. \item[\normalfont\texttt{headings}] stampa il titolo del capitolo corrente e il numero di pagina sulla intestazione di ciascuna pagina, mentre il pi\`e di pagina rimane vuoto (\`e questo lo stile usato in questo documento). \item[\normalfont\texttt{empty}] imposta la intestazione e il pi\`e di pagina in modo che non vi sia stampato nulla. \end{description} \end{lined} \end{table} \`E possibile cambiare lo stile di pagina della pagina corrente con il comando \begin{command} \ci{thispagestyle}\verb|{|\emph{stile}\verb|}| \end{command} In \companion{} e nel paragrafo~\ref{sec:fancy} a pagina~\pageref{sec:fancy} \`e spiegato come si possono realizzare le proprie impostazioni di intestazione e pi\`e di pagina. % % Pointer to the Fancy headings Package description ! % % % Add Info on page-numbering, ... % \pagenumbering \section{Documenti di grandi dimensioni} Se si lavora su grossi documenti, si potrebbe voler dividere il file di input in diverse parti; il \LaTeX{} ha due comandi che vengono in aiuto a tal fine. \begin{command} \ci{include}\verb|{|\emph{nomefile}\verb|}| \end{command} \noindent Questo comando si usa nel corpo del documento per inserire i contenuti di un altro \emph{file} di nome \emph{nomefile.tex}; va notato che \LaTeX{} far\`a iniziare una nuova pagina prima di elaborare i contenuti di \emph{nomefile.tex}. Il secondo comando pu\`o essere usato nel preambolo; esso fa in modo che \LaTeX{} consideri in input solo alcuni dei file di \verb|\include|. \begin{command} \ci{includeonly}\verb|{|\emph{nomefile}\verb|,|\emph{nomefile}% \verb|,|\ldots\verb|}| \end{command} Una volta che questo comando \`e eseguito nel preambolo del documento, saranno eseguiti i comandi \ci{include} solo per i nomi di file che sono elencati nell'argomento del comando \ci{includeonly}; si noti che non ci devono essere spazi tra i nomi dei file e le virgole. Il comando \ci{include} inizia l'impaginazione del testo, che viene incluso in una nuova pagina. Questo \`e d'aiuto quando si usa \ci{includeonly}, poich\'e le interruzioni di pagina non si sposteranno, persino se alcuni dei file inclusi fossero omessi. Ci\`o potrebbe talvolta non risultare gradito: in tal caso si potr\`a usare il comando \begin{command} \ci{input}\verb|{|\emph{filename}\verb|}| \end{command} \noindent che includer\`a semplicemente il file specificato; niente di pi\`u, niente di meno. Per far s\`{\i} che \LaTeX{} controlli velocemente il documento potrete usare il pacchetto \pai{syntonly}; questo fa s\`{\i} che \LaTeX{} scorra il documento controllando solo la sintassi e l'uso corretto dei comandi, ma senza fornire come output un file DVI. Poich\'e \LaTeX{} viene eseguito pi\`u velocemente in questa modalit\`a, si potr\`a risparmiare del tempo prezioso; l'uso \`e molto semplice: \begin{verbatim} \usepackage{syntonly} \syntaxonly \end{verbatim} Quando si vorr\`a realizzare l'impaginazione vera e propria, baster\`a commentare la seconda riga (facendola precedere da un simbolo di percentuale). %%% Local Variables: %%% mode: latex %%% TeX-master: "lshort2e" %%% End: