- Questo topic ha 9 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 15 anni, 8 mesi fa da
Teodoro Studita.
-
CreatoreTopic
-
22 Dicembre 2010 alle 22:37 #53954::
Sto tentando di allestire un’edizione critica parallela e i primi risultati sono incoraggianti, tuttavia ho una serie di problemi, tra cui il più evidente è un esorbitante numero di Overfull \hbox nel testo greco, mentre non ne ho nessuno (per ora) in quello italiano.
Volendo evitare per quanto possibile di spezzare le parole, quali sono i “trucchi” che posso usare per evitare, o almeno minimizzare il problema?
-
CreatoreTopic
-
AutoreRisposte
-
-
23 Dicembre 2010 alle 10:18 #53955::
Sto tentando di allestire un’edizione critica parallela e i primi risultati sono incoraggianti, tuttavia ho una serie di problemi, tra cui il più evidente è un esorbitante numero di Overfull \hbox nel testo greco, mentre non ne ho nessuno (per ora) in quello italiano.
Volendo evitare per quanto possibile di spezzare le parole, quali sono i “trucchi” che posso usare per evitare, o almeno minimizzare il problema?L’unico modo per evitare la sillabazione e ottenere un’impaginazione decente è ricorrere al testo sbandierato (\raggedright).
Ciao
Enrico
-
23 Dicembre 2010 alle 10:43 #53956::
Suvvia, se Word riesce a giustificare più o meno decentemente, vuoi che LaTeX non abbia un sistema per farlo? Ad esempio, non si può rilassare un minimo la spaziatura per guadagnare un margine di almeno 4 o 5 punti? Già così risolverei una buona fetta del problema, e il resto lo sillabo e buonanotte…
-
23 Dicembre 2010 alle 10:47 #53957::
Suvvia, se Word riesce a giustificare più o meno decentemente, vuoi che LaTeX non abbia un sistema per farlo? Ad esempio, non si può rilassare un minimo la spaziatura per guadagnare un margine di almeno 4 o 5 punti? Già così risolverei una buona fetta del problema, e il resto lo sillabo e buonanotte…
Parti da un assunto sbagliato: che la giustificazione possa essere “più o meno decente”. Anni di documenti con impaginazione orribile rischiano di danneggiare il senso estetico; ma ti assicuro che la “giustificazione più o meno decente di Word” mi fa correre i brividi lungo la spina dorsale.
Senza un vero esempio è impossibile giudicare.
Ciao
Enrico
-
23 Dicembre 2010 alle 11:19 #53958::
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!
-
23 Dicembre 2010 alle 11:37 #53959::
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
-
23 Dicembre 2010 alle 11:38 #53960::
3 em per \emergencystretch è una schioppettata, per non dire una cannonata in senso distruttivo. Se accetti una composizione con quel valore, allora vuol dire che accetti qualunque cosa. Per comporre male ti basterebbe per il testo greco scrivere semplicemente la dichiarazione \sloppy; come dice la parola, si tratta di una composizione fatta in modo “approssimativo”,; eppure nemmeno \sloppy imposta 3 em di allargamento di emergenza dello spazio interparola..Se metti \tolerance-9999 metti la massima sloppyness minore di infinito specificabile al motore di composizione; la dichiarazione \sloppy la pone pari a 10000 che per TeX vuol dire “infinito”. Non dico che 9999 sia un buon valore, ma certamente non così brutto come 10000. Poi puoi mettere valori inferiori, ovviamente.
La composizione di un capoverso TeX la fa eventualmente in tre tempi:
1) compone senza sillabare e verifica se la bruttezza complessiva sia inferiore al valore di tolleranza fissato da \pretolerance;
2) se la bruttezza è superiore a \pretolerance ci riporva sillabando e vede se la bruttezza è inferiore a ‘tolerance;
3) se non fosse così compone come può lasciando sforare una o più righe fuori dalla giustezza.
-
23 Dicembre 2010 alle 11:58 #53961::
Grazie ragazzi per il fin troppo esaustivo commento. È di certo utile sapere in che modo funzionano questi comandi per poterli usare. Allora, diciamo che da niubbo per il momento mi accontento della “schioppettata”, ma mi appaiono comunque una marea di messaggi di Underfull \hbox nelal console. Come si può fare per farli fuori?
Abbiate pietà di me!
-
23 Dicembre 2010 alle 14:17 #53962::
Underfull vbox o undefull hbox?Puoi curare o l’una o l’altra scrivendo nel preambolo
`
\hbadness=10000
\vbadness=10000
`e non avrai più messaggio di bruttezza e di scatole troppo vuote.
Ma se è così che devi comportarti, allora vuol dire che la composizione è prorpio brutta, ma proprio brutta brutta 😕
-
23 Dicembre 2010 alle 18:57 #53963::
Grazie mille, ho inserito nel preambolo le due righe e i messaggi infestanti sono spariti.
Trovo particolarmente utile tutto quello che mi avete detto e sicuramente in un momento successivo cercherò di migliorare anche l’aspetto estetico sotto il profilo tipografico.
Per il momento mi accontento di farlo funzionare alla meno peggio. Ho ancora un po’ di domande, e se stasera la mia esperta di LaTex non riesce a farmi progredire vi delizierò nuovamente con altre “niubbate”
Grassssssiiiiieeeeee 😀 😀 😀
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.