[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 239.   LaTeX: caratteri

In generale, LaTeX eredita la gestione dei caratteri da stampa del linguaggio TeX puro e semplice. In questo senso, valgono praticamente le stesse regole per ottenere le lettere accentate e gli altri simboli speciali, con la differenza che è possibile istruire LaTeX in modo che accetti la codifica ISO 8859-1, con le istruzioni seguenti, da inserire nel preambolo, come già descritto nel capitolo 236.


\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

Anche con LaTeX funzionano i legati in modo automatico, inoltre si definiscono i contesti matematici nello stesso modo di TeX.

La differenza importante di LaTeX sta nella definizione di una veste grafica complessiva e nel modo di fare riferimento ai caratteri da stampa, che avviene attraverso comandi differenti, con comportamenti diversi rispetto a TeX.

Negli esempi, salvo indicazione diversa, si suppone di utilizzare nel preambolo i comandi necessari all'utilizzo della codifica ISO 8859-1:

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}

239.1   Caratteri che hanno un significato speciale

Alcuni simboli (caratteri) usati nel sorgente hanno necessariamente un significato speciale, nel senso che non si traducono nel segno corrispondente nella composizione. Questo problema esiste già con TeX, ma LaTeX offre delle alternative leggermente diverse nel modo di ottenere i simboli mancanti nella composizione. La tabella 239.1 riepiloga i simboli che hanno un significato speciale nel sorgente LaTeX, con l'indicazione del codice necessario per ottenere i segni corrispondenti nella composizione.

Tabella 239.1. Elenco dei caratteri che hanno significati particolari.

Carattere speciale Utilizzo normale Trasformazione per l'uso letterale

\

Prefisso di un comando o di un simbolo di controllo.

\textbackslash

{

}

Apre e chiude un gruppo.

\{

\}

%

Inizia un commento fino alla fine della riga.

\%

&

Tabulazione orizzontale.

\&

~

Spazio non interrompibile.

\textasciitilde

$

Inizia e conclude un contesto matematico.

\$

^

Apice, in un contesto matematico.

\textasciicircum

_

(trattino basso)

Pedice, in un contesto matematico.

\_{}

#

Definisce la collocazione di un parametro.

\#

<SP>

Uno o più spazi vengono ridotti a uno solo.

\<SP>

[

]

Alle volte, le parentesi quadre delimitano un'opzione e non vengono inserite nella composizione.

{[}

{]}

Per quanto riguarda gli accenti ottenuti sovrapponendo il simbolo alla lettera successiva, il funzionamento è uguale a quello di TeX, come descritto nelle sezioni 231.2 e 235.3.

239.2   Corpi uniformi

Lo scopo principale di LaTeX è quello di impostare una veste grafica uniforme, dove, tra le altre cose si specificano inizialmente i corpi e gli stili dei caratteri da stampa da usare nei vari contesti. In particolare, con il comando iniziale \documentclass è possibile indicare la dimensione normale del testo, attraverso un'opzione (come 11pt), a cui si adegua proporzionalmente tutto il resto (capitolo 236).

Alcuni comandi definiscono il corpo del carattere in base a delle definizioni relative:

{\Huge testo}

 

\begin{Huge}testo\end{Huge}

il corpo più grande della serie;

{\huge testo}

 

\begin{huge}testo\end{huge}

{\LARGE testo}

 

\begin{LARGE}testo\end{LARGE}

{\Large testo}

 

\begin{Large}testo\end{Large}

{\large testo}

 

\begin{large}testo\end{large}

{\normalsize testo}

 

\begin{normalsize}testo\end{normalsize}

la dimensione normale del testo;

{\small testo}

 

\begin{small}testo\end{small}

{\footnotesize testo}

 

\begin{footnotesize}testo\end{footnotesize}

{\scriptsize testo}

 

\begin{scriptsize}testo\end{scriptsize}

{\tiny testo}

 

\begin{tiny}testo\end{tiny}

il corpo più piccolo nell'ambito della veste grafica scelta.

In condizioni normali, questi comandi non vengono usati direttamente da chi scrive un documento in LaTeX; tuttavia, se c'è la necessità di ingrandire o di rimpicciolire il testo, con questi c'è la certezza di rimanere nelle dimensioni standard usate dallo stile prescelto:


Questo è un testo normale, che può diventare più {\large grande}
o più {\small piccolo}, a seconda delle esigenze.

corpi standard

239.3   Caratteri da stampa

A differenza di TeX, i comandi di LaTeX che definiscono lo stile del carattere sono cumulabili. Per esempio, la definizione di un testo in corsivo può essere cumulata con quella del neretto, per ottenere un neretto corsivo.

Le caratteristiche principali di un carattere sono lo stile, la serie e il corpo. Lo stile e la serie possono essere definite utilizzando istruzioni del tipo seguente:

  1. \stile_serie_a{testo}

  2. {\stile_serie_b testo}

  3. \begin{stile_serie_b}...\end{stile_serie_b}

I nomi delle istruzioni cambiano a seconda che si utilizzi un modo oppure l'altro. Per esempio, per scrivere un testo in corsivo, si possono utilizzare questi tre modi.


\textit{Testo in corsivo}

{\itshape Testo in corsivo}

\begin{itshape}Testo in corsivo\end{itshape}

Tutte le forme consentono di cumulare gli effetti; per esempio, si può scrivere \textit{\textbf{testo}}, {\itshape\bfseries testo}, oppure \begin{itshape}\begin{bfseries}testo\end{bfseries}\end{itshape} per ottenere un neretto corsivo.

La tabella seguente elenca i comandi che possono essere usati in un contesto normale (non matematico):

\textrm{testo}

 

{\rmfamily testo}

 

\begin{rmfamily}testo\end{rmfamily}

tondo;

\textsf{testo}

 

{\sffamily testo}

 

\begin{sffamily}testo\end{sffamily}

lineare;

\texttt{testo}

 

{\ttfamily testo}

 

\begin{ttfamily}testo\end{ttfamily}

dattilografico;

\textbf{testo}

 

{\bfseries testo}

 

\begin{bfseries}testo\end{bfseries}

neretto;

\textup{testo}

 

{\upshape testo}

 

\begin{upshape}testo\end{upshape}

normale, in contrapposizione al neretto;

\textit{testo}

 

{\itshape testo}

 

\begin{itshape}testo\end{itshape}

corsivo;

\textsl{testo}

 

{\slshape testo}

 

\begin{slshape}testo\end{slshape}

inclinato;

\textsc{testo}

 

{\scshape testo}

 

\begin{scshape}testo\end{scshape}

maiuscoletto;

\textnormal{testo}

 

{\normalfont testo}

 

\begin{normalfont}testo\end{normalfont}

testo normale.

La tabella successiva riguarda invece il contesto matematico:

\mathnormal{testo}

testo matematico normale;

\mathrm{testo}

tondo;

\mathbf{testo}

neretto;

\mathsf{testo}

lineare;

\mathtt{testo}

dattilografico;

\mathit{testo}

corsivo;

\mathcal{testo}

calligrafico;

\mathsc{testo}

maiuscoletto.

A titolo di esempio, la tabella 239.5 consente di confrontare le varianti seriali dello stile normale di scrittura.

Tabella 239.5. Combinazioni a coppie di serie per il testo normale.

combinazioni a coppie di serie e forme.

Oltre allo stile e alla serie del carattere può essere definito il corpo, con i comandi già mostrati nella sezione precedente, oppure in modo diretto, nel caso si debba andare al di fuori della veste grafica preimpostata. In tal caso, si usano dei comandi nella forma:

\fontsize{corpo}{distanza_tra_le_righe}\selectfont

Per esempio, per ottenere un corpo di 5 mm, con un'altezza della riga di 6 mm (il 120 % del corpo), si può usare il comando \fontsize{5mm}{6mm}\selectfont:


Questo è un testo normale; {\fontsize{5mm}{6mm}\selectfont questo
carattere ha un corpo particolare}; qui il testo torna a essere normale.

controllo diretto del corpo del carattere

239.3.1   Enfatizzazione

Quando non ha importanza stabilire esattamente l'aspetto di un carattere, ma si vuole semplicemente enfatizzarlo rispetto al contesto in cui si trova, si può usare il comando \emph. L'esempio seguente mostra cosa accade quando in una situazione in cui il carattere è corsivo si usa questo comando:


\begin{itshape}Bla bla bla bla bla bla \emph{testo enfatizzato} bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla...\end{itshape}

enfatizzazione

239.4   Definizione dettagliata del carattere da stampa

Generalmente, i comandi già descritti a proposito della definizione del carattere da stampa sono più che sufficienti per l'utente normale di LaTeX; eventualmente, sono disponibili anche altri comandi più dettagliati, che si prestano particolarmente per la realizzazione di macro particolari. Questi comandi hanno in comune la necessità di usare alla fine il comando \selectfont per attuare le modifiche al carattere da stampa. La tabella seguente elenca i comandi che riguardano la definizione dettagliata del carattere da stampa (appare anche \fontsize che è già stato descritto nella sezione precedente):

\fontencoding{OT1|T1|altra_codifica}

definisce la codifica del carattere (T1 rappresenta la codifica ISO 8859-1);

\fontfamily{cmr|cmss|cmtt|altro_stile}

definisce lo stile del carattere (cmr sta per Computer modern roman, cmss è il Computer modern sans serifs, cmtt è il Computer modern typewriter text);

\fontseries{m|b|c|bc|bx|altra_serie}

definisce la serie del carattere (m sta per Medium, b sta per Bold, c sta per Condensed, bc sta per Bold condensed e bx sta per Bold extended);

\fontshape{n|it|sl|sc|ui|ol}

definisce una variante della serie del carattere (n sta per Normal, it sta per Italic, sl sta per Slanted, sc sta per Small caps, ui sta per Upright italic e ol sta per Outline, ma naturalmente non tutti i tipi di carattere hanno a disposizione tutte le varianti possibili);

\fontsize{corpo}{altezza_riga}

definisce il corpo del carattere e l'altezza della riga;

\selectfont

abilita le modifiche fatte in precedenza al carattere (tipo, stile e dimensione);

\usefont{codifica}{stile}{forma}

definisce simultaneamente tutte le caratteristiche del carattere, escluso il corpo e la distanza tra le righe, senza nemmeno bisogno di \selectfont per attivare la scelta fatta.

A proposito del comando \usefont, si osservi che il secondo argomento si riferisce alle sigle utilizzabili con il comando \fontseries, mentre il terzo argomento richiede una sigla riferita al comando \fontshape. La suddivisione delle varianti seriali in questi due gruppi deriva dall'organizzazione di LaTeX riguardo alla cumulabilità tra stili. In pratica, le varianti seriali di \fontseries non sono cumulabili tra di loro; per esempio, per ottenere un carattere stretto e neretto è già prevista una voce unica: bc. Lo stesso ragionamento vale per le varianti seriali di \fontshape, mentre una variante di \fontseries è cumulabile con una variante di \fontshape.

Viene mostrato un esempio completo, in cui si può notare anche l'uso delle lettere accentate, a seguito della selezione della codifica T1:


\documentclass{article}
\usepackage[italian]{babel}
%\usepackage[latin1]{inputenc}
%\usepackage[T1]{fontenc}
\frenchspacing
\pagestyle{empty}
\setlength{\textwidth}{14cm}
\begin{document}

Questo \`e un testo normale;
{\fontencoding{T1}\fontfamily{cmss}\fontseries{n}\fontshape{it}
\fontsize{5mm}{7mm}\selectfont questo è invece un carattere senza
grazie, chiaro, corsivo, con un corpo di 5 mm, in una riga alta 7 mm.}
Questo \`e di nuovo un carattere normale. \usefont{T1}{cmss}{n}{it}
Questo è ancora un carattere senza grazie, chiaro, corsivo, con un corpo
normale. \fontsize{5mm}{7mm}\selectfont Qui il carattere si ingrandisce
di nuovo. \normalfont Qui si ritorna a un carattere di stile e serie
normale, ma la dimensione rimane inalterata.

\end{document}

controllo dettagliato del carattere da stampa

239.5   Linee e cornicette attorno al testo

Per LaTeX vale lo stesso problema di TeX a proposito della sottolineatura, nel senso che non fa parte dello stile e della serie del carattere. Tuttavia, LaTeX facilita anche altre forme di evidenziamento analoghe:

\underline{testo}

mette una linea sotto al testo;

$\overline{\hbox{testo}}$

mette una linea sopra al testo;

\frame{testo}

racchiude il testo in un rettangolo;

\fbox{testo}

racchiude il testo in un rettangolo, lasciando un po' di spazio.

In tutti i casi, il testo evidenziato si trova inserito in una scatola orizzontale, che come tale non può essere spezzata, creando eventualmente dei problemi di impaginazione.

Si osservi che il comando \overline è fatto per l'ambito matematico. Nella tabella, la sintassi mostra il modo corretto per poterlo utilizzare in un contesto normale, con l'aggiunta del comando \hbox, allo scopo di comporre il testo sopralineato in un contesto normale.

Segue un esempio riepilogativo di queste forme di evidenziamento del testo:


Qui inizia un testo normale, in cui questa \underline{parola} appare
sottolineata; ma è possibile anche sopralineare $\overline{\hbox{questa
piccola frase}}$, così come si possono creare delle \frame{cornicette
schiacciate}, oppure \fbox{un po' più distanziate} dal testo.

sottolineature, sopralineature e cornicette

239.6   Spostamento verticale del testo

A volte può essere necessario lo spostamento verticale di alcuni caratteri rispetto alla base della riga. Per fare questo si usa il comando \raisebox, con cui si delimita il testo da spostare, specificando di quanto questo debba essere alzato (per abbassarlo si possono usare valori negativi):

\raisebox{spostamento_verticale}{testo}

Si osservi l'esempio seguente in cui si gioca con la parola «ciao»:


c\raisebox{1mm}{i}\raisebox{2mm}{a}\raisebox{1mm}{o}
c\raisebox{-1mm}{i}\raisebox{-2mm}{a}\raisebox{-1mm}{o}

esempio di spostamento verticale del testo

Appunti di informatica libera 2003.01.01 --- Copyright © 2000-2003 Daniele Giacomini -- daniele @ swlibero.org

Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome latex_caratteri.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]