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


Capitolo 231.   TeX: caratteri

In condizioni normali, il testo scritto nel sorgente viene riprodotto nello stesso modo nella composizione finale, dopo essere stato reimpaginato opportunamente. Tuttavia, alcuni simboli hanno significati speciali, per cui si devono usare simboli di controllo al loro posto, inoltre le lettere accentate e altri caratteri che non fanno parte dell'ASCII standard non possono essere usati direttamente, per cui servono altri simboli o parole di controllo per generarli.

A fianco di questo problema, nasce poi l'esigenza di poter scrivere utilizzando stili, forme e corpi differenti.

231.1   Caratteri speciali

Come è già stato descritto nella tabella 230.1, alcuni caratteri hanno un significato speciale e non producono il simbolo corrispondente in fase di composizione. Per porre rimedio a questo problema e alla mancanza di altri caratteri, si usano generalmente delle sequenze di controllo. Tuttavia, dal momento che si distinguono due contesti di composizione differenti (quello normale e quello matematico), certi caratteri o certe sequenze di controllo esistono solo nella modalità matematica.

In generale, salvo altra indicazione, si fa sempre riferimento alla modalità di composizione normale, per cui un carattere o una sequenza di controllo che può apparire solo in modalità matematica, viene mostrata generalmente delimitandola tra due simboli $. Per esempio, quando si afferma che le parentesi graffe si ottengono con le istruzioni $\{$ e $\}$, è chiaro che in modalità matematica non serve più la delimitazione con i simboli $.

La tabella 231.1 riepiloga le sequenze di controllo per i caratteri speciali disponibili.(1)

Tabella 231.1. Elenco delle sequenze di controllo necessarie a ottenere i caratteri speciali che non richiedono la sovrapposizione di accenti.

tabella caratteri speciali TeX

231.2   Accenti

TeX ha la capacità di collocare un accento sopra ogni simbolo, anche se ciò che si ottiene può non avere senso per qualunque lingua. Questa apposizione di accenti si ottiene con sequenze di controllo che precedono la lettera da accentare. Quando si tratta di simboli di controllo, la lettera successiva può essere unita alla sequenza, mentre quando si tratta di parole di controllo occorre lasciare uno spazio di sicurezza. Per esempio, si scrive \`o per ottenere la lettera «ò», mentre si scrive \c c per ottenere la lettera ç.(2) La tabella 231.2 riepiloga le sequenze di controllo necessarie a ottenere tutti gli accenti disponibili, usando la lettera «o» come esempio.

Tabella 231.2. Elenco delle sequenze di controllo necessarie a ottenere le lettere accentate.

tabella caratteri speciali TeX

Il fatto che TeX aggiunga l'accento sopra un simbolo, significa che occorre poi provvedere a eliminare il puntino sopra le lettere «i» e «j» minuscole. Pertanto, per scrivere la lettera «ì», occorre usare l'istruzione \`\i.

231.3   Apici, trattini e legati automatici

TeX ha una gestione estetica particolare per alcuni caratteri. Purtroppo mette a disposizione solo virgolette alte, che vanno usate opportunamente a coppia, nella forma `testo' e ``testo''. Si osservi l'esempio seguente e in che modo TeX lo traduce tipograficamente:

"virgolette doppie normali" \par
`virgolette singole, aperte e chiuse' \par
``virgolette doppie, aperte e chiuse'' \par

virgolette con TeX

Evidentemente, è bene non usare le virgolette doppie normali ("), a meno che ci sia una ragione precisa per farlo.

TeX è in grado di gestire tre lunghezze differenti per il trattino o la lineetta orizzontale.(3) Questi si ottengono con il trattino normale, ovvero il segno meno, usato ripetutamente. In pratica, - genera un trattino corto; -- genera un trattino medio e --- genera un trattino lungo. Questo tipo di automatismo può creare dei problemi quando il trattino deve assumere proprio il significato di un segno meno e non è molto bella l'idea di usare due trattini per ottenere una lineetta media. In questo caso, si usa preferibilmente la sequenza $-$, dal momento che nella modalità matematica questo comportamento non ha luogo. Si osservi l'esempio:


Trattino corto: - \par
Trattino medio: -- \par
Trattino lungo: --- \par
Segno meno: $-$ \par

trattini con TeX

Per motivi estetici, la tradizione tipografica richiede che alcuni accoppiamenti di lettere vengano legati assieme. Si tratta dell'unione della lettera «f» con «i», «l» e «f». TeX rispetta questa tradizione, ma solo nella modalità normale, perché in modalità matematica le esigenze sono differenti. Si osservi l'esempio:


ff fi fl ffi ffl \par
$ff fi fl ffi ffl$ \par

legato con TeX

231.4   Istruzioni alternative per generare simboli particolari

Alcune tastiere non consentono di utilizzare facilmente alcuni simboli che per TeX sono invece importanti. In particolare, ci possono essere difficoltà a ottenere un apostrofo corrispondente all'accento grave. Quando l'intento è solo quello di scrivere degli apici, singoli o doppi, si possono usare le parole di controllo \lq e \rq per aprire e chiudere rispettivamente. Per esempio,


\lq\lq ciao\rq\rq

racchiude tra apici doppi la parola «ciao». Tuttavia, questo sistema non può sostituire i simboli di controllo usati per ottenere l'accento grave e acuto. Per ovviare all'inconveniente, si può leggere il codice delle macro standard di TeX per scopre un metodo alternativo, oppure si può usare l'istruzione \show in modalità interattiva:


\def\`#1{{\accent18 #1}}
\def\'#1{{\accent19 #1}}
\def\v#1{{\accent20 #1}}
\def\u#1{{\accent21 #1}}
\def\=#1{{\accent22 #1}}
\def\^#1{{\accent94 #1}}
\def\.#1{{\accent95 #1}}
\def\H#1{{\accent"7D #1}}
\def\~#1{{\accent"7E #1}}
\def\"#1{{\accent"7F #1}}

In pratica, è sufficiente definire una parola di controllo alternativa alle sequenze che non si possono riprodurre facilmente. Ecco un esempio concreto per gli accenti grave a acuto:


\def\graveaccent#1{{\accent18 #1}}
\def\acuteaccent#1{{\accent19 #1}}

In questo modo, al posto di \`e si potrà scrivere \graveaccent{e}, anche se ciò richiede una digitazione un po' lunga.

Per quanto riguarda le parentesi quadre, queste possono essere rappresentate con la coppia \lbrack e \rbrack per rappresentare rispettivamente la parentesi aperta e quella chiusa. Per le parentesi graffe le cose si complicano: per inserirle nel testo come simboli tipografici, si possono usare le istruzioni $\lbrace$ e $\rbrace$, che come si vede richiedono un contesto matematico, come già avveniva con $\{$ e $\}$, ma questo significa anche che non c'è un'alternativa alle parentesi graffe usate nelle istruzioni con finalità differenti, salvo la possibilità di usare \bgroup e \egroup quando si tratta di raggruppamenti.

Tabella 231.3. Alternative ad alcune sequenze di controllo che possono creare difficoltà con tastiere incomplete.

Sequenza normale Alternativa
` \lq
' \rq
\` {\accent 18 x}
\' {\accent 19 x}
[ \lbrack
] \rbrack
$\{$ $\lbrace$
$\}$ $\rbrace$

231.5   Caratteri da stampa standard

In condizioni normali, TeX mette a disposizione un carattere tondo con grazie. È possibile cambiare il gruppo stilistico e la forma del carattere con comandi generici, che non fanno riferimento a un nome preciso, ma a un aspetto di massima. Questi comandi hanno effetto dal momento in cui vengono inseriti, fino a quando ne viene incontrato un altro, oppure fino alla fine del raggruppamento in cui si trovano. Si tratta di parole di controllo di due sole lettere, elencate brevemente nella tabella 231.4.

Tabella 231.4. Selezione standard del tipo di carattere.

Sequenza Nome Significato Nome corrispondente
\rm roman tondo cmr10
\bf boldface neretto cmbx10
\it italic corsivo cmti10
\sl slanted inclinato cmsl10
\tt typewriter dattilografico cmtt10

È importante osservare che l'uso di queste parole di controllo non va a sommarsi con le precedenti, cambiando il gruppo stilistico e la forma simultaneamente. In pratica, in condizioni normali, non si può ottenere un neretto-corsivo o un neretto-inclinato combinando i comandi relativi. Si osservi l'esempio che segue:


Testo iniziale, \bf testo in neretto, \it testo in corsivo, \sl testo
inclinato, \tt testo dattilografico, \rm testo tondo normale.
L'uso delle parentesi graffe {\it consente di circoscrivere} l'effetto
dei comandi che intervengono sul tipo di carattere.

tipi di carattere

Prima di proseguire sull'argomento è il caso di osservare un problema che si presenta nel momento in cui si utilizza un carattere inclinato o corsivo: lo spostamento verso destra può creare degli inconvenienti, quando si incontra con un testo non inclinato. In caso di necessità si può aggiungere un piccolo spazio, inteso come correzione del corsivo, con il simbolo di controllo \/, che rappresenta simbolicamente il concetto. Si osservi l'esempio seguente:


(testo normale tra parentesi tonde che finisce con una lettera l) \par
({\it testo corsivo tra parentesi tonde che finisce con una lettera l}) \par
({\it testo corsivo con correzione dopo la lettera l}\/) \par

correzione del corsivo

Le parole di controllo \rm, \it, \sl, \bf e \tt sono delle piccole macro standard di TeX. Infatti, le informazioni sui caratteri da stampa sono contenute in file particolari che possono essere utilizzati con l'istruzione seguente:

\font\nome=carattere

In pratica, in questo modo si dichiara una parola di controllo a cui si attribuisce il carattere indicato a destra. Il nome del carattere corrisponde solitamente alla prima parte del nome del file che lo contiene (la radice che rimane togliendo l'estensione) e si può esprimere usando indifferentemente lettere maiuscole o minuscole. Nell'esempio seguente, si dichiara un carattere tondo senza grazie, corrispondente al nome cmss10:


\font\sans=cmss10
\sans Ecco un testo senza grazie, scritto con il carattere
``Computer Modern Sans Serif'' da 10 punti.

selezione di un carattere da stampa particolare

Il carattere da stampa che si seleziona in questo modo ha già un corpo stabilito. In questo caso si tratta di un carattere da 10 punti. Per cambiare corpo, si può cambiare carattere, oppure si può ingrandire e ridurre espressamente, intervenendo nell'istruzione di dichiarazione:

\font\nome=carattere scaled n

Il numero n che si indica alla fine esprime un rapporto in millesimi dell'adattamento che si vuole ottenere. Per esempio,


\font\sans=cmss10 scaled 1200

richiede espressamente di abbinare alla parola di controllo \sans il carattere cmss10 al 120 %, cioè ingrandito di un quinto in più.


\font\sans=cmss10 scaled 1200
\sans Ecco un testo senza grazie, scritto con il carattere
``Computer Modern Sans Serif'' da 10 punti, ingrandito al 120 \%.

carattere ingrandito

Naturalmente, con lo stesso criterio si può anche ridurre un carattere, sempre tenendo presente che 1 000 rappresenta la dimensione di partenza. Tuttavia, in generale non si usa questa forma, sostituendo il numero con un'istruzione apposita, che può essere utile a livello mnemonico:

\font\nome=carattere scaled \magstep n

In questo caso, il numero n può andare da zero a cinque, dove zero corrisponde al corpo attuale, mentre valori maggiori rappresentano piccoli incrementi percentuali. A ogni modo si può verificare facilmente cosa succede, con il codice TeX seguente:


\newcount\ingrandimento
\ingrandimento=\magstep 1
\font\sans=cmss10 scaled \magstep 1
\sans Ecco un testo senza grazie, scritto con il carattere
``Computer Modern Sans Serif'' da 10 punti, ingrandito al \the\ingrandimento{}
per mille.

carattere ingrandito

A questo punto si pone il problema di comprendere l'utilità di usare un carattere da stampa adatto alla dimensione del corpo che interessa. In pratica, se il carattere corrispondente alla sigla cmr5 è fatto per un corpo da cinque punti, quando serve un corpo da 12 sarà bene usare il carattere cmr12, se disponibile, invece di ingrandire il primo 2,4 volte (240 %). Si osservi l'esempio seguente, in cui si mettono a confronto diversi caratteri di piccole dimensioni che vengono ingranditi tutti in modo da avere un corpo finale di 12 punti:


\font\cinque=cmr5 scaled 2400
\cinque Il carattere cmr5 ingrandito al 240 \% \par
\font\sei=cmr6 scaled 2000
\sei Il carattere cmr6 ingrandito al 200 \% \par
\font\sette=cmr7 scaled 1714
\sette Il carattere cmr7 ingrandito al 171,4 \% \par
\font\otto=cmr8 scaled 1500
\otto Il carattere cmr8 ingrandito al 150 \% \par
\font\nove=cmr9 scaled 1333
\nove Il carattere cmr9 ingrandito al 133 \% \par
\font\dieci=cmr10 scaled 1200
\dieci Il carattere cmr10 ingrandito al 120 \% \par
\font\normale=cmr12
\normale Il carattere cmr12 senza ingrandimenti \par

carattere ingrandito in modo non opportuno

Tabella 231.5. Nomi dei caratteri da stampa standard a disposizione (Computer Modern).

Sigla Denominazione originale Corpo
cmbsy10 Computer Modern Bold Symbols 10 punti
cmbx5, cmbx6, cmbx7, cmbx8, cmbx9, cmbx10, cmbx12 Computer Modern Bold Extended Roman 5, 6, 7, 8, 9, 10 e 12 punti
cmbxsl10 Computer Modern Bold Extended Slanted Roman 10 punti
cmcsc10 Computer Modern Caps and Small Caps 10 punti
cmdunh10 Computer Modern Dunhill Roman 10 punti
cmex9, cmex10 Computer Modern Math Extension 9 e 10 punti
cmff10 Computer Modern Funny Roman 10 punti
cmfi10 Computer Modern Funny Italic 10 punti
cmfib8 Computer Modern Fibonacci Font 8 punti
cminch Computer Modern Inch-High Sans Serif Bold Extended Caps and Digits 1 pollice
cmitt10 Computer Modern Italic Typewriter Text 10 punti
cmmi5, cmmi6, cmmi7, cmmi8, cmmi9, cmmi10, cmmi12 Computer Modern Math Italic 5, 6, 7, 8, 9, 10 e 12 punti
cmr5, cmr6, cmr7, cmr8, cmr9, cmr10, cmr12, cmr17 Computer Modern Roman 5, 6, 7, 8, 9, 10, 12 e 17 punti
cmsl8, cmsl9, cmsl10, cmsl12 Computer Modern Slanted Roman 8, 9, 10 e 12 punti
cmsltt10 Computer Modern Slanted Typewriter Text 10 punti
cmss8, cmss9, cmss10, cmss12, cmss17 Computer Modern Sans Serif 8, 9, 10, 12 e 17 punti
cmssbx10 Computer Modern Sans Serif Bold Extended 10 punti
cmssdc10 Computer Modern Sans Serif Demibold Condensed 10 punti
cmssi8, cmssi9, cmssi10, cmssi12, cmssi17 Computer Modern Slanted Sans Serif 8, 9, 10, 12 e 17 punti
cmssq8 Computer Modern Sans Serif Quotation Style 8 punti
cmssqi8 Computer Modern Sans Serif Quotation Style Slanted 8 punti
cmsy5, cmsy6, cmsy7, cmsy8, cmsy9, cmsy10 Computer Modern Math Symbols 5, 6, 7, 8, 9 e 10 punti
cmtcsc10 Computer Modern Typewriter Caps and Small Caps 10 punti
cmtex8, cmtex9 Computer Modern TeX Extended ASCII characters 8 e 9 punti
cmti7, cmti8, cmti9, cmti10, cmti12 Computer Modern Text Italic 7, 8, 9, 10 e 12 punti
cmtt8, cmtt9, cmtt10, cmtt12 Computer Modern Typewriter Text 8, 9, 10 e 12 punti
cmu10 Computer Modern Unslanted Italic 10 punti
cmvtt10 Computer Modern Variable-width Typewriter Text 10 punti

A fianco delle parole di controllo generiche per la selezione del carattere da stampa, esistono altre parole di controllo standard che contengono anche l'informazione sulla dimensione. Si tratta dell'elenco riportato nella tabella 231.6. Ciò permette di non utilizzare una definizione dettagliata del carattere quando quello che serve cambiare è solo la dimensione (entro i limiti normali già previsti).

Tabella 231.6. Parole di controllo per la selezione di un carattere da stampa generico, con l'indicazione della dimensione.

Parola di controllo Effetto
\tenrm Tondo, 10 punti.
\sevenrm Tondo, sette punti.
\fiverm Tondo, cinque punti.
\tenit Corsivo, 10 punti.
\tenbf Neretto, 10 punti.
\sevenbf Neretto, sette punti.
\fivebf Neretto, cinque punti.
\tentt Dattilografico, 10 punti.
\tensl Inclinato, 10 punti.
\teni Corsivo matematico, 10 punti.
\seveni Corsivo matematico, sette punti.
\fivei Corsivo matematico, cinque punti.
\tensy Simboli matematici, 10 punti.
\sevensy Simboli matematici, sette punti.
\fivesy Simboli matematici, cinque punti.
\tenex Estensione ai simboli matematici, 10 punti.

231.6   Sottolineatura

La gestione della sottolineatura con TeX è separata da quella che riguarda la forma e la dimensione dei caratteri. Si tratta solo di una linea orizzontale che viene collocata al di sotto del testo, a una distanza che varia in funzione delle caratteristiche del testo, che si ottiene con la macro \underbar:

\underbar{testo_da_sottolineare}

La linea con cui si ottiene questa sottolineatura crea implicitamente una scatola orizzontale (capitolo 233) che non può essere suddivisa in più righe. Si osservi l'esempio seguente:


Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla.

Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
\underbar{bla bla bla bla bla bla bla bla bla bla bla bla} bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla.

Dal momento che il testo sottolineato è molto lungo e si trova verso la fine di una riga, TeX non può separarlo e si crea un problema estetico molto spiacevole:

carattere ingrandito in modo non opportuno

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

1) Leggendo la tabella, è il caso di osservare che in condizioni normali, la sequenza di controllo \$ genera il simbolo del dollaro, mentre se il testo è in corsivo, si ottiene il simbolo della sterlina inglese.

2) Si osservi che in questo caso non si può usare un raggruppamento vuoto al posto dello spazio, perché l'accento risulterebbe spostato rispetto al centro della lettera.

3) Nella lingua italiana sono sufficienti due tipi di trattini.


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

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