Documentazione sulla sillabazione

  • Creatore
    Topic
  • #115098
    samiel
    Partecipante
      Up
      0
      Down
      ::


      Domanda banale, ma dove trovo la documentazione su
      tolerance, \hyphenpenalty, pretolerance, \hbadness, \hfuzz, emergencystretch,
      \doublehyphendemerits, \finalhyphendemerits, \exhyphenpenalty, \brokenpenalty,
      \lefthyphenmin, \righthyphenmin,
      insomma su tutto quello che riguarda la sillabazione?
      Quale texdoc o dove altro?
      Grazie
      m

    Visualizzazione 8 filoni di risposte
    • Autore
      Risposte
      • #115099
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Hai tre sorgenti di documentazione:
          1) Il TeXbook, che però o hai in forma cartacea o non puoi trovare in rete, perché Knuth ne vieta la ricompilazione, anche se TeXLive ne contiene il file sorgente. Difficile da leggere però…
          2) Il manuale di Lamport tradotto in italiano nella guida tematica Il LaTeX Reference Manual commentato
          3) la guida generale Introduzione all’arte tipografica con LaTeX, che dedica unintero capitolo a spiegare la sillabazione

          I testi 2 e 3 sono nella sezione documentazione da anni

          Tuttavia quasi tutti i comandi che hai citato più che la sillabazione riguardano la composizione dei capoversi; In questo il testo 3 è più approfondito perché raccoglie più informazioni che nel testo 1 sono distribuite in diversi capitoli. Forse sono una mia interpretazione personale, ma credo di avere capito nele che cosa fa ciascuno di quei parametri nella costruzione dei capoversi. So per certo che il TeX-hyphen team sta cercando di rendere ancora più funzionale la sillabazione; in parte con luatex sa già fare cose che pdftex e xetex non sanno ancora fare (per esempio contare correttamente il numero di caratteri gestiti da \hyphenmin senza contare i self combining characters (per esempio certi accenti dei font OpenType).

          Per altro i nomi della maggior parte di quei comandi sono autoesplicativi quando uno conosce in dettaglio gli algoritmi di composizioni dei capoversi di cui la cesura in fin di riga è slo una componente.

          Argomento complesso, @samiel, direi molto complesso. anche perché bisogna capire bene la differenza fra penalties e demeritis, che giocano ruoli diversi in quegli algoritmi.

        • #115100
          Up
          0
          Down
          ::


          Aggiungo solo un piccolo commento a ciò che @OldClaudio ha già sostanzialmente detto riguardo al fatto che, nei «motori» di tipocomposizione oggi in uso, l’algoritmo per suddividere in righe i capoversi è notevolmente più sofisticato di quello contenuto nel TeX di Knuth: potrebbe interessarti, per esempio, dare un’occhiata al manuale di pdfTeX ([tt]texdoc pdftex[/tt]), sotto «PDFTEX primitives > Fonts» e «PDFTEX primitives > Spacing», dove troverai discussi i raffinamenti microtipografici che pdfTeX mette a disposizione.

          Ciao.


          Gustavo

        • #115101
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Gustavo ha fatto bene a citare la microgiustificazione generata con il pacchetto microtype.
            Va detto che xelatex non va molto d’accordo con microtype, perché usa solo il meccanismo della protrusione e non quello dell’espansione. Tuttavia la presenza di microtype non fa male nemmeno a xelatex; è solo meno efficace.
            LA microgiustificazione prodotta da microtype funziona molto bene con pdflatex; e benino con xelatatex, malgrado entrambi consentano l’espansione dei font.
            La differenza non dipende tanto dai programmi, ma dai font da usare; pdflatex gestisce solo in font Type 1, che sono moltissimi, almeno nella distribuzione TeXLive, ma di fatto ne vengono usati una dozzina o due; Per ogni font, a cominciare da quelli standard, come i CM, i CM-super,e igli LM, devono essere stati predisposti in file di configurazione che usa microtype per funzionare almeglio; per un font che non disponga di tali file, micrtype usa un file di configurazione di default che non necessariamente configura gli allungamenti e accorciamenti di ogni glifo nel modo migliore; Tuttavia non è particolarmente difficile anche per un utente generico, costruirsi da solo un file con configurazioen per un font Type 1, visto che questo contiene solo 256 segni.
            La cosa è molto più difficile per i font Oepntype; ovviamente esistono i file di configurazione per i Latin Modern che sono di default se non se ne specificano altri. Non ho verificato, ma ho il sospetto che per Lualatex questo sia l’unico font che disponga di file di configurazione per microtype, per cui per ogni altro font diverso dai Latin Modern, viene usato il file di configurazione di questi ultimi. Funziona abbastanza bene, ma non così bene come se esistesse un file adatto per il font OpenType in uso. Ecco perché microtype funziona benino con microtype, mentre pdflatex funziona bene.
            Tuttavia, nonostante questi se e ma, microtype dovrebbe venire usato per qualunque documento perché migliora vistosamente l’aspetto delle pagine finali deldocumento composto.

            Per questo motivo sono andato a rivedere i capitoli 25 e 27 della GuidGuIT, per vedere se c’era scritto in modo chiaro quello che @samile avrebbe voluto sapere; ho quindi aggiunto alcune frazi per sottolineare meglio alcuni punti. Non ho caricato la nuova versione della GuidaGuIT al Web master perché la sotituisca alla versione attualmente disponibile nella sezione Documentazione di questo Forum, ma lo farò presto.

          • #115102
            samiel
            Partecipante
              Up
              0
              Down
              ::


              scusate per la tardiva risposta, ma fra lavoro e qualche problema familiare
              ho avuto dei giorni piuttosto convulsi.
              grazie delle risposte e per il continuo impegno di Oldclaudio
              e per la sua attenzione e sensibilità alla richieste degli utenti
              di questo forum, a cominciare dal sottoscritto.
              Peraltro, con LuaTex si possono impostare regole specifiche
              (incompatibili con microtype) del tipo:
              `
              \usepackage{fontspec}
              \protrudechars=2 % or \pdfprotrudechars=2 and
              \adjustspacing=2 % \pdfadjustspacing=2 with luatex < v0.85 \newfontfeature{Microtypography}{protrusion=default;expansion=default} \directlua{fonts.protrusions.setups.default.factor=.5} . . . \babelfont[italian]{rm}[Microtypography,Ligatures=TeX,Numbers={Proportional,OldStyle},RawFeature={+calt}]{}`
              che vedrò di studiare

              m

            • #115103
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                @samil, non so quanto siano incompatibili o se non siano un’alternativa di default che risparmia il caricamento del pacchetto microtype.

                Io ho usato spesso microtype con lulatex e ho sempre ottenuto quasi gli stessi risultati che ottenenvo con pdflatex.
                Il quasi sta a indicare che con gli stessi font, per esempio i Latin Modern (che sono quelli di default con lualatex, mentre con pdflatex bisogna caricare il pacchetto lmodern; ma i disegni dei glifi e i copri ottici sono gli stessi) il risultato è identico. Con altri font il risultato non è identico ma quasi; nel senso che perché microtype funzioni ci vuole per ogni font un file di impostazioni che specifichi per ogni carattere o gruppo di caratteri (per esempio A, À, Á, Â, Ä, …) la protrusione a sinistra e a destra in centesimi di em; per l’espansione invece l’allargamento o restringimento percentuale avviene per passi del 2% della giustezza.

                Purtroppo io non conosco quasi per niente il linguaggio lua, quindi non ho la minima idea di quello che significhi il comando lua che indichi nell’argomento di \directlua, ma posso immaginare che serva ad impostare i parametri di default che hai indicato nelle righe precedenti. Perciò mi viene da pensare che quelle righe dicano: usa il valore 0.02 (2%) per l’expansion, e per tutti i glifi accetta il fattore di protrusione di 0.02em sia a destra sia a sinistra. Non riesco a decifrare il valore 0.5 assegnato tramite \directlua, ma posso pensare che serva a impostare un valore diverso per uno dei due coefficienti di protrusione o espansione.

                Certo ora vado a documentarmi meglio sulla guide che si apre con texdoc luatex; in ogni caso con i comandi lua che si possono trasmettere a lua(la)tex attraverso \directlua, si possono fare cose impensabili con pdflatex e xelatex.

              • #115104
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::

                  @samil, non so quanto siano incompatibili o se non siano un’alternativa di default che risparmia il caricamento del pacchetto microtype.

                  sono incompatibili nel senso che non si può caricare microtype
                  e allo stesso tempo impartire i comandi nativi di LuaTex per la microtipografia,
                  o la compilazione si blocca con un messaggio di errore:
                  `! error: (font expansion): font has been expanded with different expansion step
                  ! ==> Fatal error occurred, no output PDF file produced!`

                  I file di impostazioni per microtype, sono da fare tutti a mano (impresa abbastanza improba),
                  o esiste un qualche sistema o una utility che ne semplifichi la creazione?

                  m

                • #115105
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Sì, si deve fare a mano, ma non sembra così difficile; si prende un altro file predisposto per un altro font, lo si duplica con un altro nome; scegliendo per il nuovo nome il nome costruito col nuovo font; le lettere latine e i segni di interpunzione sono già tutti lì, basta cambiare i numerini che specificano sia la protrusione sinistra e destra di ogni gruppo di glifi, sia lo step di espansione, magari si aggiunge qualche gruppo di glifi che nel font originale non c’erano; ma in un paio d’ore la cosa dovrebbe essere fatta.

                    D’altra parte se vuoi usare microtype con un font specifico e le impostazioni di default non ti piacciono, sai esattamente perché, e quindi hai un’idea precisa di che cosa cambiare.

                  • #115106
                    samiel
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Ho pochi mt-…-cfg. Evidentemente sono pochi i font con un file specifico.
                      Ci sarò un’occhiata, In ogni caso compilando con LuaLatex ottengo risultati migliori
                      che con Xelatex. Un testo di 137 pagine è diventato 135 guadagnando
                      in compattezza e potendo fruire sia della protrusione (possibile anche con Xetex)
                      sia della espansione

                      m

                    • #115107
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Mi pare del tutto ovvio che con lualatex tu ottenga risultati migliori che con xelatex. Qeest’ultimo non dispone della character expansion.

                        Questo è uno dei motivi che mi fa preferire lualatex a xelatex; non è l’unico e non è il più importante. Eppure non uso il linguaggio Lua che lualatex mi offrirebbe.

                        L’unico svantaggio di lualatex rispetto a xelatex è che è un filino più lento, specialmente quando deve ricreare certe sue cache, cosa che capita dopo qualche aggiornamanto del sistema TeX; dipende da che cosa vene aggiornato.

                    Visualizzazione 8 filoni di risposte
                    • Devi essere connesso per rispondere a questo topic.

                    Go to top