Re: Problema da niubbo

#53959
Up
0
Down
::

Può essere vero, ma non voglio diventare un feticista della tipografia ideale. Dopo un’oretta di peregrinazioni nautiche ho apparentemente risolto inserendo solo nel testo greco la stringa
\setlength{\emergencystretch}{3em}

Tuttavia ho visto che sembrano esistere altri comandi per risolvere il problema, nella fattispecie \pretolerance e \tolerance.
In quali casi si possono usare e cosa comporta il loro uso?
Grazie per la pazienza!

Il metodo con \emergencystretch è certamente meno peggio che giochicchiare con \tolerance. I registri \pretolerance e \tolerance contengono limiti alla “bruttezza” delle righe, una misura di quanto la riga sia stiracchiata.

L’algoritmo per suddividere in righe un capoverso è piuttosto complesso. Dapprima TeX ci prova senza ricorrere alla sillabazione; se trova un modo di dividere in righe che rispetta per ciascuna il limite imposto con \pretolerance, lo adotta e produce il capoverso. Altrimenti riprova tenendo in considerazione la sillabazione e produce il capoverso se trova un modo per stare sotto la \tolerance. Altrimenti, ma solo se il parametro dimensionale \emergencystretch è non nullo, ripete la prova fingendo che gli spazi tra parole in ciascuna riga siano ridotti in modo che la riga stia dentro alla giustezza meno \emergencystretch; se trova un modo per stare dentro alla \tolerance produce il capoverso.

Se nulla di tutto questo funziona, produce ugualmente il capoverso con righe Overfull o Underfull e avvisa.

Giocare con i valori di \pretolerance e \tolerance è pericoloso, perché non c’è solo questa misura da tener presente, in quanto il capoverso viene anche valutato “globalmente” in modo da tenere al minimo i cosiddetti “demeriti”. Può allora succedere che i demeriti siano minimizzati con una riga bruttissima e le altre quasi decenti e il risultato (che però darà un messaggio di Underfull \hbox) sarà terribile. Il terzo passaggio con \emergencystretch è stato introdotto in TeX versione 3 proprio per ovviare all’inconveniente. Ma va gestito con molta cura.

Perché rifiutare a priori il testo sbandierato?

Ciao
Enrico

Go to top