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

Macro

In LaTeX la sintassi di una macro si compone di backslash \ seguito da un nome e da eventuali argomenti tra parentesi graffe.

Le macro possono accettare opzioni facoltative che ne modificano il comportamento. Le opzioni devono essere inserite prima dell’argomento e tra parentesi quadre []. Come esempio consideriamo la macro \framebox[][]{} che incornicia un testo:

Questo è un semplice \framebox{testo incorniciato}

Questo è lo stesso \framebox[120pt]{testo incorniciato}
a 120 pt di larghezza

Che produce:

Ambienti

In LaTeX oltre alla macro esiste un secondo elemento molto espressivo del linguaggio: l’ambiente. Un ambiente inizia con \begin{nome-ambiente} e termina con \end{nome-ambiente}. All’interno il codice si riferirà alla definizione di un specifico oggetto.

Per esempio, per costruire un elenco numerato si fa ricorso all’ambiente enumerate:

\begin{enumerate}
\item prima riga
\item seconda riga
\item terza riga
\end{enumerate}

Anche gli ambienti possono avere argomenti e/o opzioni. Queste informazioni vanno scritte con graffe per i primi o con quadre per le seconde, al seguito della macro di apertura. Come esempio inseriamo una tabella tramite l’ambiente tabular. L’argomento obbligatorio definisce gli allineamenti per ciascuna colonna della tabella con i codici: l per “a sinistra” (left), r per “a destra” (right), e c per “al centro”:

\begin{tabular}{lcr}
prima cella a sinistra & seconda cella centrata & terza cella a destra \\
1 & 2 & 3\\
4 & 5 & 6
\end{tabular}

Macro e ambienti possono anche comprendere una variante chiamata versione asteriscata poiché al nome si aggiunge un asterisco per produrne la versione alternativa.

Un esempio è l’ambiente equation che compone in display il codice matematico numerandolo in automatico . Il pacchetto amsmath aggiunge la variante asteriscata che per così dire spegne proprio la numerazione:

% ambiente standard: numerazione si
\begin{equation}
f(x) = \frac{x^2 + 1}{x^2 - 1}
\end{equation}

% ambiente asteriscato: numerazione no
\begin{equation*}
f(x) = \frac{x^2 + 1}{x^2 - 1}
\end{equation*}

Spazi e ritorni a capo

Uno spazio è solo un simbolo di separazione tra parole. Non decide l’effettiva distanza tra queste nel testo composto che sarà invece assegnata dal compositore secondo i criteri di leggibilità propri della tipografia.

Nel sorgente gli spazi e i ritorni a capo hanno una particolare interpretazione da parte del compositore secondo queste regole:

  1. gli spazi a inizio riga sono ignorati
  2. più di un carattere spazio è interpretato come un solo carattere spazio
  3. lo spazio dopo una macro senza argomento o senza altro separatore è ignorato
  4. un ritorno a capo singolo è interpretato come uno spazio
  5. più di un ritorno a capo è interpretato come separazione tra due capoversi

Questi capoversi differenti nel codice danno identico risultato in composizione:

Ecco un testo molto simpatico per capire come
sono interpretati in \LaTeX{} sia gli spazi che
i ritorni a capo.

Ecco un testo                   molto simpatico
    per capire come sono interpretati in \LaTeX{}
      sia   gli   spazi
        che
          i ritorni a capo.

Anche i caratteri di tabulazione possono essere utilizzati con lo stesso significato di uno spazio ma normalmente non si usano.

Capita spesso di digitare per errore due spazi tra due parole anziché uno. Mentre per i Word Processor essi saranno tutti significativi, per LaTeX non farà differenza. E ancora, se nei Word Processor siamo abituati (forse male) a spostare il testo sulla riga aggiungendo caratteri spazio, in LaTeX ciò non funzionerà e dovremo usare altri mezzi.

In LaTeX capita invece di fare l’errore contrario: eliminare invece che aggiungere spazio. Ciò avviene quando scriviamo una macro senza argomenti come \LaTeX che produce il logo caratteristico.

Lo spazio dopo la macro verrà ignorato come da regola 3 così tra il logo e la parola successiva non ci sarà separazione. Ecco la soluzione:

% lo spazio dopo la macro senza argomenti non ha effetto:
Usiamo \LaTeX per migliorare i nostri documenti.

% rimedio 1: coppia di graffe:
Usiamo \LaTeX{} per migliorare...

% rimedio 2: backslash + spazio:
Usiamo \LaTeX\ per migliorare...

Anche i ritorni a capo — se singoli — sono semplici separatori di parole, l’ultima della riga precedente con la prima di quella successiva, perciò si è liberi di formattare il testo di un capoverso su un’unica riga oppure di spezzarlo su più righe consecutive.

Per le righe molto lunghe solitamente gli editor mostrano il testo come se fosse su più righe per evitare di dover scorrere in orizzontale la finestra di visualizzazione, una modalità detta di word wrapping.

Se un sorgente è sottoposto al controllo di versione di git tutte le modifiche sono tracciate e visibili con una colorazione rosso/verde. Questo confronto tra versioni funziona bene se le righe sono corte, diciamo di una lunghezza non superiore a 80 caratteri. Così conviene spezzare a questa lunghezza il capoverso con dei ritorni a capo singoli, operazione che certi editor fanno in automatico.

Se si inseriscono più di due ritorni a capo allora il testo successivo diventa un nuovo capoverso. L’aspetto del testo in LaTeX è perciò una sequenza di righe di testo consecutive separate da righe vuote.

Commenti

I commenti sono una particolare categoria sintattica e sono gestiti con un carattere dedicato: il simbolo di percentuale %. Quando il compositore legge un carattere di percento lo ignora assieme a tutti i caratteri che lo seguono fino alla fine della riga.

I commenti sono importanti per fare annotazioni nel sorgente e generalmente per:

  • inserire le righe magiche a inizio file che istruiscono in vari modi gli editor compatibili
  • descrivere idee su come proseguire o migliorare il testo di un capitolo
  • inserire un segnaposto a indicare il punto il cui si è arrivati nella revisione del testo
  • inserire informazioni di data e ora per poter valutare il tempo impiegato nella redazione del documento
  • eliminare dal documento finale una parte di contenuto senza cancellarla dal sorgente
  • evitare che a fine riga venga inserito uno spazio spurio

Non esiste il commento multiriga ma se lo si vuole ad ogni inizio riga va inserito un %. Poco male, gli editor più evoluti lo fanno in automatico oppure rendono immediata l’operazione tramite funzionalità come il cursore multiplo così che è sufficiente una sola battuta del carattere % per inserirlo a capo di un numero qualsiasi di righe.

In alternativa esiste il pacchetto comment di Victor Eijkhout che esclude/include una porzione di testo con l’omonimo ambiente.