Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Formattazione del testo

Oltre che scrittori se siamo noi a comporre il testo ne siamo anche un po’ i tipografi. Documento dopo documento si può acquisire competenza in questo campo specialmente se lo strumento software che usiamo ci aiuta per esempio scoraggiando abitudini sbagliate.

LaTeX può renderci più consapevoli dei valori della tipografia sopratutto perché gli esperti sanno costruire macro che sfruttano correttamente le innumerevoli capacità compositive del sistema.

Così ci approcciamo alle prossime pagine sulla formattazione del testo in LaTeX ricordando che applicarla correttamente è anche una questione di coerenza tipografica. Di conseguenza faremo cenno a considerazioni di stile già prodotte dai maestri.

Evidenziare testo con \emph{}

L’occasione più comune per evidenziare un testo è l’introduzione nel brano di un nuovo concetto. In LaTeX lo si fa con una l’apposita macro \emph{} che accetta come argomento il testo che interessa evidenziare.

Per esempio:

Lo scrittore decide \emph{se} e \emph{cosa} evidenziare
della propria prosa. A ben vedere evidenziare è al tempo
stesso sia un significato semantico sia uno stile tipografico.

Lo \emph{stile tipografico} comunica al lettore informazioni
di contenuto che fanno parte della comprensione del testo.

Interessante è notare l’effetto di annidare la macro per evidenziare testo all’interno di uno già in evidenza. La macro \emph{} tiene conto del contesto:

Con \emph{totale fiducia della \emph{qualità} tipografica}.

Le macro per il testo

Il gruppo di macro per il testo iniziano tutte con \text a cui segue una coppia di caratteri. Da usare con cognizione di causa, in elenco sono:

  • \texttt{}: testo monospaziato, tt sta per teletype e ricorda la telescrivente. Si utilizza per comporre un codice come un nome di una funzione di un linguaggio di programmazione
  • \textit{}: testo in corsivo it sta per italics
  • \textsc{}: testo in maiscoletto, sc sta per small caps, si utilizza per comporre i nomi nei frontespizi ed è molto elegante
  • \textbf{}: testo in grassetto, bf sta per bold face
  • \textsl{}: testo inclinato, sl sta per slanted
  • \textrm{}: testo in tondo, rm sta per roman, è lo stile principale che si usa per comporre un testo
  • \textsf{}: testo senza grazie, sf sta per sans serif

Note

Nel testo è bene non mescolare troppi stili differenti.

Incisi

Un inciso aggiunge un’informazione secondaria, un chiarimento o il punto di vista di chi parla. Deve avere automia sintattica e essere necessariamente non troppo lungo. L’inciso può essere messo tra parentesi tonde oppure per dargli maggiore enfasi tra trattini lunghi che in LaTeX si formano con tre trattini ---.

In Lua --- il linguaggio di programmazione disponibile
in Lua\LaTeX{} --- è possibile svolgere calcoli con
alta precisione grazie alla libreria \texttt{math}.

Sezionamento del testo

La suddivisione di un testo è annidata: un capitolo può essere suddiviso in sezioni e a sua volta una sezione può essere suddivisa in unità più piccole. Ancora, una sezione può appartenere solamente a una unità del livello superiore.

Non tutti i testi sono strutturati in capitoli o in sezioni: il sezionamento dipende dal tipo di documento:

  • un libro è diviso in parti o solamente in capitoli con prologo e unità conclusive
  • un articolo è diviso a partire da sezioni
  • un report è diviso in capitoli senza distinzioni

In LaTeX il sezionamento non può che essere demandato alla classe che deve definire apposite macro. Le classi standard book, article e report hanno macro a cui passare come argomento il titolo dell’unità e come opzione il corrispondente titolo breve usato per comporre le testatine e il sommario, così da evitare mancanza di spazio sulla riga.

Per esempio, la sintassi per l’introduzione di un nuovo capitolo è

\chapter[Titolo breve]{Titolo completo}

Questo l’elenco sovrapposto delle macro di sezionamento delle classi standard:

  • livelli per documenti molto strutturati come i libri:
    • \part{}: inizia una parte del testo
    • \chapter{}: inizia un capitolo
    • livelli per documenti mediamente strutturati come gli articoli
      • \section{}: inizia una sezione
      • \subsection{}: inizia una sotto sezione
      • \subsubsection{}: inizia una sotto-sotto sezione
      • \paragraph{}: inizia un paragrafo
      • \subparagraph{}: inizia un sotto paragrafo, l’unità più piccola della suddivisione

Note

se ti interessa la documentazione delle classi standard di LaTeX apri una finestra di terminale e digita il comando texdoc classes. Nel documento visualizzato a schermo dopo pochi attimi trovi anche tutto il codice che implementa le classi

Riferimenti incrociati

Dopo aver definito una qualsiasi unità del documento puoi etichettarla con un codice per poi poterla richiamare ovunque nel documento. Il codice di etichetta è libero ma conviene dividerlo in due parti: l’indicazione del livello e una sigla inerente al titolo. Per esempio:

% inizio un nuovo capitolo
\chapter{La pedagogia secondo Maria Montessori}
\label{chapter:montessori}

Gli editor per LaTeX leggono tutte le etichette dei riferimenti dai sorgenti aiutando l’utente con il loro inserimento automatico.

La macro \label{} deve essere inserita subito dopo l’oggetto che si intende riferire, non solo per capitoli o sezioni ma anche per tabelle, figure, formule matematiche, teoremi, lemmi, eccetera.

Per stampare il riferimento a un oggetto si usano due macro principali a cui va passata l’etichetta dell’oggetto: \ref{} stampa il numero dell’oggetto e \pageref{} stampa il numero della pagina in cui si trova.

Per citare il capitolo precendente si può usare il codice:

Nel capitolo~\ref{chapter:montessori} che inizia nella
pagina~\pageref{chapter:montessori} abbiamo delineato...

Nel codice noterai i simboli ~ tra parola e macro. Questo particolare carattere inserisce uno spazio insecabile. Ciò vuol dire che LaTeX non potrà considerare quello spazio come possibile punto di cesura a fine riga e ciò evita quelle situazioni dove il numero dell’oggetto o della pagina va alla riga successiva.

Se nel tuo documento PDF al posto dei riferimenti compare un doppio punto interrogativo ?? significa che il riferimento non è stato trovato: possono esserci due casi:

  • un errore di digitazione del riferimento o la non corretta definizione dell’etichetta. Correggi i codici del riferimento o inserisci \label{} dopo la macro di sezionamento
  • non sono ancora stati generati i file ausiliari con i dati necessari. Compila una seconda volta il sorgente

I riferimenti incrociati funzionano infatti con iterazioni successive: immagina che in una sezione ci sia un riferimento a una sezione successiva. Alla prima compilazione non è possibile conoscere né il numero né la pagina effettiva di quella specifica sezione che sarà composta più tardi nel processo. Nelle compilazioni successive LaTeX giunto ai riferimenti può leggere i file ausiliari frutto della compilazione precedente dove sono riportati i dati.

Se sono attivi i link, i riferimenti nel documento PDF finale diventano aree su cui si può fare clic con il mouse per spostarsi su un dato capitolo o sezione e funziona anche con il sommario. Per il manoscritto stampato su carta i link si perderanno ma per il documento digitali saranno utilissimi per il lettore.

Elenco delle macro per i riferimenti incrociati:

  • \label{tipo-oggetto:sigla}: genera un riferimento all’oggetto che sia un capitolo una sezione, una tabella o una figura
  • \ref{tipo-oggetto:sigla}: stampa il numero dell’oggetto, per esempio 1.2.3 per la sotto sezione 3 della sezione 2 del capitolo 1
  • \pageref{tipo-oggetto:sigla}: stampa il numero di pagina dell’oggetto

Oggetti mobili

I contenuti vengono letti in sequenza dal compositore, testi, titoli, figure, tabelle, eccetera, e sistemati uno dopo l’altro a riempire la pagina. Consideriamo tuttavia le figure fuori testo.

Questi oggetti sono chiamati oggetti mobili perchè LaTeX li sposta rispetto al loro punto d’inserimento nel sorgente relativamente al resto dei contenuti, in una posizione sulla pagina in alto, a tutta pagina al centro o in basso.

Se il testo non potesse “girare” attorno agli oggetti mobili, poiché questi spesso hanno dimensioni notevoli, si creerebbero spazi vuoti a fondo pagina.

Un buon posizionamento degli oggetti fuori testo offre loro importanza nei confronti della lettura e porta equilibrio visivo sulla pagina.

Spesso all’utente non piace come LaTeX sistema gli oggetti mobili. A ben vedere si tratta di equilibrio tra quantità di testo e oggetti fuori testo. Con un po’ di esercizio in sede di revisione finale del documento, spostando il punto nel codice dell’oggetto o agendo sui parametri di posizionamento, è possibile imparare a bilanciare le parti.

Le opzioni di posizionamento da usare con parsimonia, semplificando un po’, si danno tra quadre con le lettere: t per la posizione top sulla pagina, b bottom per il fondo, p page per il centro pagina tutta dedicata all’oggetto mobile e h here a indicare una posizione li dove è inserito il codice dell’oggetto compatibilmente con lo spazio disponibile.

Per ciascun tipo, ma se ne possono creare altri, abbiamo un ambiente: table per le taelle e figure per le figure. Così è possibile creare sommari separati e coerenza tipografica.

Oggetto mobile table

All’interno dell’ambiente table ci sono queste macro in ordine (la didascalia va posta sopra la tabella):

  1. \centering: centra la tabella nella pagina senza aggiungere spazi verticali come invece farebbe l’ambiente center
  2. \caption{}: compone la didascalia completa di numerazione
  3. \label{} raccoglie la numerazione appena generata per i riferimenti all’oggetto
  4. la tabella che si può costruire con l’ambiente tabular con i filetti orizzontali di booktabs o includere un oggetto tabella da altra fonte

Quì di seguito un esempio di una tabella dedotta dal libro del maestro calligrafo Ernesto Casciato dal titolo “Calligrafia: evoluzione e futuro della bellezza scritta” edito nel 2021:

% nel preambolo:
% filetti orizzontali per tabular con la giusta spaziatura verticale
% macro: \toprule, \midrule, \bottomrule 
\usepackage{booktabs}
% nel corpo del documento
\begin{table}
\centering
\caption{Alcuni antichi stili scrittori dell'area mediterranea}
\label{tabCalligraphyAncientStyles}
\begin{tabular}{lcl}
\toprule
Stile                  & Età                   & Testimonianza \\
\midrule
Capitalis Monumentalis & \textsc{i} secolo     & Monumenti romani\\
Onciale                & \textsc{iv} secolo    & Testi monastici\\
Textura gotica         & \textsc{xi} secolo    & Libri universitari \\
Cancelleresca          & \textsc{xvi} secolo   & Primo trattato di calligrafia\\
Corsiva inglese        & \textsc{xviii} secolo & Testi coloniali\\
\bottomrule
\end{tabular}
\end{table}

Oggetto mobile figure

Per l’ambiente flottante figure la didascalia va posta sotto la figura. Al suo interno abbiamo questa sequenza di macro:

  1. \centering: centra l’immagine nella pagina senza aggiungere spazi verticali come invece farebbe l’ambiente center
  2. \includegraphics[]{} include l’immagine preferibilmente nel formato vettoriale come il PDF
  3. \caption{}: compone la didascalia completa di numerazione
  4. \label{} raccoglie la numerazione appena generata per i riferimenti all’oggetto

Anche qui un esempio di codice da un documento reale — una relazione tecnica — suddiviso tra caricamento dei pacchetti necessari e ambiente figure.

% carica il pacchetto per importare immagini
\usepackage{graphicx}
% nel corpo del documento
\begin{figure}
\centering
\includegraphics[width=0.62\textwidth]{image/sezmodel}
\caption{Rendering solido del modello strutturale
dell'edificio visto in sezione verticale trasversale.}
\label{figSezModel}
\end{figure}

Indici (o sommari)

Gli indici (o sommari) si generano in automatico con queste macro:

  • \tableofcontents: genera l’indice delle unità che compongono il documento così come definite dalle macro di sezionamento
  • \listoffigures: genera l’indice delle figure fuori testo che fanno capo agli ambienti figure se dotati di comandi \caption
  • \listoftables: genera l’indice delle tabelle fuori testo che fanno capo agli ambienti table se dotati di comandi \caption

Indice analitico

Normalmente posizionato alla fine del documento l’indice analitico è l’elenco delle parole già marcate nel testo con i numeri di pagina a fianco.

L’indice può essere specifico e allora si parla di indice dei nomi, indice dei luoghi, eccetera.

In LaTeX la composizione di un indice analitico può essere automatizzata da pacchetti come imakeidx.

Elenchi

Queste strutture sono grosso modo di due tipi: non numerati e numerati. Corrispondentemente in LaTeX ci sono gli ambienti itemize e enumerate. All’interno di questi ambienti si inseriscono i vari punti con la macro \item.

In questo esempio è mostrata anche la possibiità di creare sottoelenchi combinando i due ambienti:

% nel preambolo:
% \GuIT stampa il logo GuIT
\usepackage{guit}
% nel corpo del documento
\begin{itemize}
\item studiare la Guida \GuIT;
\item iscriversi al gruppo;
\item studiare i pacchetti \LaTeX{} di uso comune
\item studiare \textsf{enumitem} che consente di
personalizzare gli elenchi.
\end{itemize}