Re: Aumentare la sillabazione in XeTeX

#84413
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    No, in rete non trovi traccia di questa opzione, perché mi sono sbagliato a scriverla; si tratta di [tt]babelshorhands[/tt]

    I risultati che hai ottenuto con 03.jpeg mi sembrano eccellenti, ma non ti so spiegare bene perché.

    1) Non hai cambaito il valore di \pretolerance; il che vuol dire che la divisione di quel capoverso viene fatta al sendo giro, visto che la \pretolerance serve per mettere un limite alla “bruttezza” complessiva del capoverso privo di cesure.

    2) Hai aumentato molto la \tolerance, il valore che viene controllato al secondo giro quando l’algoritmo controlla la bruttezza del capoverso con le cesure

    3) Contemporaneamente hai aumentato abbastanza la \hyphenpenalty che aumenta la bruttezza del capoverso all’aumentare del numero delle cesure.

    Potresti tracciare il comportamento del motore di composizione come viene indicato nel TeXbook, oppure come esemplificato nella Guida GuIT, nel capitolo dove si parla di costruzione delle pagine. È spiegato lì perché l’algoritmo dei capoversi e quello delle pagine sono simili, anche se la formula per la bruttezza è diversa, ovviamente, per i capoversi e per le pagine (per queste ultime si parla di costo, invece che di bruttezza, e il significato è simile; i nomi sono diversi perché le formule con el quali sono calcolati sono diverse).

    Non so quanto ti sia famiglare la matematica e quanto tu conosca di minimizzazione di un funzionale; concettualmente non si tratta di cose difficili; sono i metodi matematici difficili da gestire, specialmente quando il funzionale (in parole povere la funzione matematica che dipende dai parametri che si vogliono scegliere per rendere minima la funzione) non dipende in modo “continuo” dai parametri; In questo caso, quello del capoverso, il funzionale “bruttezza” dpende in modo non lineare dalle perfomance macroscopiche della divisione, come la bruttezza delle singole righe, le penalità, se ciascuna riga sia stata compressa o espansa (a livello di spazi interparola), ma poi dipendi in modo discreto dala lunghezza delle parole o dei monconi di parola prodotti dalla divisione in sillabe. Devo dire che Knuth, matematico, ha creato un algoritmo efficientissimo dal punto di vista dei tempi di calcolo, ma questo algoritmo è descritto solo nel volume B di Computers and Typesettin (il volume A è il TeXbook) e per capirlo bisogna avere competenze che anch’io, che ho gestito programmi di ottimizzazione per certi problemi di ricerca durante i miei quasi 50 anni di attività accademica ho difficoltà a capire. Invece non è difficile capire il funzionali da minimizzare, in particolare quello della bruttezza.

    Ora i parametri che hai modificato hanno influito sul capoverso nel modo che ho descritto sopra; però ho anche il sospetto che forse, e ripeto forse, può essere che con xelatex l’apostrofo non sia gestito bene; nel terzo esempio hai que-st’ultimo, quando probabilmente quest’ul-timo sarebbe andato meglio; non è facile dirlo con certezza, ma mi viene questo sospetto; nella composizione con pdflatex hai infatti proprio quest’ul-timo.

    La sillabazione xelatex e quella di pdlatex, in italiano, non differiscono per neinte con i pattern fatti di lettere, ma differiscono molto con i pattern che contengono l’apostrofo; con i font che può gestire pdflatex l’apice singolo, l’apostrofo e la virgoletta alta semplice chiusa sono lo stesso segno; con xelatex sono almeno due segni diversi a causa della codifica utf8. Vedrò se succede anche a me.

    Ciao
    Claudio

    Go to top