Finezze sulla sillabazione

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


      Considerate questo (quasi) ECM:
      `\documentclass[a4paper]{article}
      \usepackage{fontspec}
      \usepackage[italian]{babel}
      \usepackage[a4paper,left=3.5cm,right=2.5cm,top=3cm,bottom=3cm,heightrounded]{geometry}

      \frenchspacing
      \usepackage{microtype}

      %\pretolerance=-1 % (if positive, try to break a paragraph into lines without
      % inserting discretionary hyphens and without exceeding its badness; 10000 turns off hyphenation)
      \tolerance=10 % allows as much whitespace as possible to avoid underfull/overfull lines – default 200
      %\emergencystretch=0.1pt % allows at most specified some extra whitespace per line.
      \hyphenpenalty=10 % 10000 disables hyphens completly – default 50
      %\exhyphenpenalty=50 % allows using hyphens which were already present.

      \usepackage{graphicx}
      \usepackage{wrapfig}
      \usepackage{tabularx}
      \usepackage{array}
      \usepackage{multicol} % per righe multicolonna
      \usepackage{multirow} % per colonne multiriga
      \usepackage{booktabs} % per toprule midrule e bottomrule
      \usepackage{ragged2e} % per sillabare nelle tabelle

      \begin{document}

      \noindent\resizebox{\columnwidth}{!}{
      %\footnotesize
      \begin{tabular}{p{0.02\columnwidth}p{0.08\columnwidth}>{\RaggedRight}p{0.28\columnwidth}>{\RaggedRight}p{%
      0.40\columnwidth}p{0.22\columnwidth}}
      \toprule
      \multicolumn{5}{c}{\bfseries Coalizioni anti-napoleoniche} \\
      \midrule
      1 & 1973-79 & Austria, Prussia, Regno Unito, Spagna, Regno di Sardegna
      & Contro l'offensiva francese in Savoia e in Belgio.
      Vittoria a Valmy e occupazione dei Paesi Bassi.
      Cessione di Venezia all'Austria (1). Campagna d’Italia (2)
      & (1) Trattato di Campoformio e (2) Pace di Parigi \\
      \midrule
      2 & 1798-1802 & Regno Unito, Austria, Russia, Svezia, Regno di Napoli e Impero ottomano
      & Contro gli attacchi francesi ad Austria ed Egitto. Sconfitta di Abukir.
      Vittoria di Marengo. La Francia ottiene la sponda occidentale del Reno e la
      Repubblica Cisalpina (1).
      La Francia restituisce l'Egitto alla Turchia (2)
      & (1) Pace di Lunéville e (2) Pace di Amiens \\
      \midrule
      3 & 1805 & Regno Unito, Austria, Svezia, Russia e Regno di Napoli
      & Sconfitta a Trafalgar. Vittorie di Ulm e Austerlitz.
      Accrescimento del controllo napoleonico in Europa
      & Pace di Presburgo \\
      \midrule
      4 & 1806-07 & Regno Unito, Prussia, Russia, Svezia e Sassonia
      & Vittorie di Eylaau, Jena e Auerstädt. Occupazione della Germania.
      Accordo con la Russia sulle zone di reciproca influenza.
      Invasione di Spagna e Portogallo (1807-08)
      & Trattato di Tilsit \\
      \midrule
      5 & 1808-09 & Impero austriaco e Regno Unito (attiva durante la guerra in Spagna)
      & Vittoria di Wagram. Giuseppe Bonaparte re di Spagna
      & Pace di Schönbrunn \\
      \midrule
      6 & 1813-14 & Russia, Prussia, Austria, Regno Unito, Svezia
      & Battaglia di Lipsia. Abdicazione di Napoleone. Elba
      & Trattato di Fontainbleau \\
      \midrule
      7 & 1815 & Regno Unito, Russia, Prussia, Austria, Svezia, Paesi Bassi, Regno di Sardegna, Spagna, Portogallo, Stati tedeschi
      & Cento giorni. Waterloo. Seconda abdicazione di Napoleone. Sant'Elena
      & Trattato di Parigi \\
      \bottomrule
      \end{tabular}}

      \noindent\resizebox{\columnwidth}{!}{
      %\footnotesize
      \begin{tabular}{p{0.02\columnwidth}p{0.08\columnwidth}p{0.28\columnwidth}p{%
      0.40\columnwidth}p{0.22\columnwidth}}
      \toprule
      \multicolumn{5}{c}{\bfseries Coalizioni anti-napoleoniche} \\
      \midrule
      1 & 1973-79 & Austria, Prussia, Regno Unito, Spagna, Regno di Sardegna
      & Contro l'offensiva francese in Savoia e in Belgio.
      Vittoria a Valmy e occupazione dei Paesi Bassi.
      Cessione di Venezia all'Austria (1). Campagna d’Italia (2)
      & (1) Trattato di Campoformio e (2) Pace di Parigi \\
      \midrule
      2 & 1798-1802 & Regno Unito, Austria, Russia, Svezia, Regno di Napoli e Impero
      ottomano
      & Contro gli attacchi francesi ad Austria ed Egitto. Sconfitta di Abukir.
      Vittoria di Marengo. La Francia ottiene la sponda occidentale del Reno e la
      Repubblica Cisalpina (1).
      La Francia restituisce l'Egitto alla Turchia (2)
      & (1) Pace di Lunéville e (2) Pace di Amiens \\
      \midrule
      3 & 1805 & Regno Unito, Austria, Svezia, Russia e Regno di Napoli
      & Sconfitta a Trafalgar. Vittorie di Ulm e Austerlitz.
      Accrescimento del controllo napoleonico in Europa
      & Pace di Presburgo \\
      \midrule
      4 & 1806-07 & Regno Unito, Prussia, Russia, Svezia e Sassonia
      & Vittorie di Eylaau, Jena e Auerstädt. Occupazione della Germania.
      Accordo con la Russia sulle zone di reciproca influenza.
      Invasione di Spagna e Portogallo (1807-08)
      & Trattato di Tilsit \\
      \midrule
      5 & 1808-09 & Impero austriaco e Regno Unito (attiva durante la guerra in
      Spagna)
      & Vittoria di Wagram. Giuseppe Bonaparte re di Spagna
      & Pace di Schönbrunn \\
      \midrule
      6 & 1813-14 & Russia, Prussia, Austria, Regno Unito, Svezia
      & Battaglia di Lipsia. Abdicazione di Napoleone. Elba
      & Trattato di Fontainbleau \\
      \midrule
      7 & 1815 & Regno Unito, Russia, Prussia, Austria, Svezia, Paesi Bassi, Regno di
      Sardegna, Spagna, Portogallo, Stati tedeschi
      & Cento giorni. Waterloo. Seconda abdicazione di Napoleone. Sant'Elena
      & Trattato di Parigi \\
      \bottomrule
      \end{tabular}}`
      Nella prima tabella alla sezione 5 |Giuseppe| manda a capo |Bonaparte|.
      Nella seconda sillaba fino a |Bonapar-|
      Questo significa che, anche nel primo caso, spazio per qualche sillaba ce n’è, ma non viene utilizzato.
      Ho modificato i parametri per la sillabazione, ma senza esito.
      C’è una ragione per cui allineando a sinistra la sillabazione viene parzialmente inibita?
      Ci sono parametri più corretti per aumentare la sillabazione?
      Grazie
      m

    Visualizzazione 6 filoni di risposte
    • Autore
      Risposte
      • #122582
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Samiel hai fatto un bell’esempio che mette in luce anche come microtyoe influisca sulla cesura.
          Dove microtype interviene cioè deve ridurre gli spazi interparola ricorre sia alla protruzone sia all’espansione positiva o negativa dei caratteri al fine di omogeneizzare gli spazi interparola su tutte le righe si un capoverso, non su una sola riga.
          Questo è il motivo per il quale, con allineamento a sinistra, non deve preoccuparsi di rendere le righe con la spaziatura omogenea, Nel rpimo caso manda una sillaba in più a capo per rendere più piene, ma con spaziatura omogenea tutto il cpoverso.

          I parametri di cesura in italiano riguardano solo il numero di lettere del primo e dell’ultimo moncone della parola che subisce la parola; che io ricordi non ci sono altri parametri; o meglio esiste una enorme penalità per applicare la cesura sull’ultima parola dell’ultima riga del capoverso. Prove a ricomporre senza microtype e vedi che cosa succede.

          Ricorda sempre che il processo di dividere il testo di un capoverso (inizialmente formante una sola riga, in tante righe quante occorrono e sceglie i punti di cesura in modo che rendano minima la bruttezza dell’insieme di righe. Compito molto complesso, ma che solo il matematico Knuth riusciva a impostare matematicamente in modo di trovare il minimo di una espressione matematica che dipende in modo discreto sulla posizione delle possibili cesure. La cosa è raccontata in modo migliore di come io l’ho scritto qui, ma non con la precione con cui Knuth stesso nel sua TeXbook, nella GuidaGuIT, che certamente hai già scaricato dalla sezione documentazione di questo forum.
          Ti ringrazio di avere esposto questo comportamento apparentemente strano; è stato utile anche per me per capire il problema di interferenza fra l’algoritmo di cesura e le protrusione ed espansione di microtype.

        • #122583
          samiel
          Partecipante
            Up
            0
            Down
            ::


            Vero, non ci avevo pensato. Microtype produce cesure a volte differenti.
            Tuttavia, a proposito del caso specifico che citavo, sia con sia senza microtype si riproduce il caso di Giuseppe Bonaparte: col testo giustificato addirittura mi mette |Bonapar-| e col testo allineato a sinistra fa andare a capo tutta la parola pur avendo a disposizione un ampio spazio dove potrebbero stare alcune sillabe 🙁

            PS
            Ho anche il TexBook originale e in effetti ho visto le pagine rilevanti

            m

          • #122584
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Ho compilato il tuo esempio (a cui ho aggiunto \end{document}; piccolissima dimenticanza; ma ho inserito la riga magica per comporre con LuaLaTeX, visto che carichi fontspec} e ho ottenuto un risultato simile al tuo per il quale lamenti che la cesura con la composizione in bandiera lascia troppo spazio a destra.

              È vero, anche se a me le cesure avvengono in modo diverso da come vengono a te. Non importa.

              Allora sono andato a rivedere la documentazione di ragged2e e ho trovato la causa di questo comportamento “strano”. Basta reimpostare
              `\setlength{\RaggedRightRightskip}{0pt plus 1em}
              ` per avere meno spazio bianco a destra. di default il valore di questo spazio è di 0pt plus 2em; riducendo l’allungamento aa 1 em si ottiene una considerevole riduzione dello spazio bianco.

              Quindi la mia ipotesi di spiegare quel fenomeno che lamentavi con l’intervento di microtype non era sbagliata, ma non era la causa principale. La causa vera è l’impostazione di right skip.

              Il comando che ti ho scritto sopra messo nel preambolo subito dopo la chiamata a ragged2e, vale per tutti gli ambienti composti nel documento con la dichiarazione \RaggedRight o dentro l’ambiente flushleft. Se invece lo vuoi applicare solo ad una particolare composizione del documento dovresti poterlo mettere dento un gruppo che contenga anche quel particolare testo composto in bandiera.

              Non si finisce mai di imparare; ti ringrazio che mi hai dato lo stimolo per andare più a fondo della cosa; l’ho imparato anch’io.

            • #122585
              samiel
              Partecipante
                Up
                0
                Down
                ::

                Ho compilato il tuo esempio (a cui ho aggiunto \end{document};

                Ops, errore di copia/incolla!

                Avevo provato, ma inutilmente, a inserire anche
                `\hyphenation{Bo-na-par-te}`
                Giusto ieri avevo dato un’occhiata alla documentazione di ragged2e, ma come sempre gli occhi inesperti non colgono quello che vedono occhi esperti…
                In realtà col parametro che tu suggerisci, ovvero riducendo i 2em di default a 1em, Bonaparte (caso unico: che a Latex siano antipatici Napoleone & famiglia?) continua ad andare a capo, ma diminuendolo di più ancora a 0.6em finalmente anche Bonaparte viene sillabato! Il risultato finale è una composizione allineata a sinistra molto compatta, quasi giustificata; ma a volte appare come un testo malissimo giustificato…
                Adesso vedo se, da un punto di vista estetico, conviene l’una o l’altra opzione.

                Grazie, anch’io, come sempre, ho appreso una finezza nuova
                m

              • #122586
                Federico Minghetti
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Per impedire la sillabazione di una particolare parola: occorre racchiuderla in {} con \mbox{} .

                • #122587
                  samiel
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Grazie, ma non era quello il mio problema 🙂
                    m

                  • #122588
                    OldClaudio
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Benvenuto nel Forum.

                      FMinghetti” post=123179Per impedire la sillabazione di una particolare parola: occorre racchiuderla in {} con \mbox{} .

                      Hai provato a racchiudere una parola dentro {} e constatando che cosa succede? Prova e vedrai che non succede niente.

                      Per impedire la cesura o si inscatoa, per esempio con \mbox, oppure si mette la parola indivisa nell’argomento di \hyphenation{} mettendo questo comando preferibilmente nel preambolo, perché \hyphenatio crea una lista da dividere in modo personalizzato o da non dividere che vale per l’intero documento.

                      Tutti o quasi abbiamo fatto un primo intervento sbagliato; ma invece di sentirci male, l’errore costituisce un buono stimolo andare a vedere nella sezione Documentazione del forum quante guide lunghe o brevi, più o meno avanzate, più o meno dotate di indici generali e/o analitici dove è facile cercare un argomento specifico e documentarsi a fondo su quell’argomento, senza perder tempo a leggere centinaia di pagine per trovare ciò che interessa. Gli indici suddetti sono “iperlinkati” con le pagine a cui si riferisce ciascun argomento indicizzato, per cui è semplicissimo navigare nel documento pdf ci ciascuna guida.
                      Ti conviene scaricare sul tuo elaboratore, magari su una chiavetta esterna sufficientemente capace, le guide che ti interessano, così da poterle consultare anche quando non sei in rete.

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

                  Go to top