Modificare localmente lo spazio interparola con microtype

  • Creatore
    Topic
  • #117237
    Up
    0
    Down
    ::


    Quando si impaginano libri su formati ridotti (per esempio 14cmX21cm), può capitare con una certa frequenza che alcune righe non siano ben riempite e producano un Overfull \hbox che non si può eliminare semplicemente aggiungendo un punto di sillabazione manuale o riformulando il discorso (per esempio perché l’autore non vuole/può).
    In questi casi, chi lavora con InDesign, per esempio, non fa altro che evidenziare il capoverso e modificare gli spazi (non so di preciso se agisca solo sugli spazi interparola o vada a modificare anche tracking, espansione, ecc.). Spesso, si ottiene il risultato voluto senza percepire differenze sostanziali.
    Ora, con (pdf)LaTeX si possono modificare gli spazi interparola definendosi un semplice comando (ne ho fatto uno con un argomento ma può essere esteso a tre facilmente).
    `
    \documentclass{book}

    \newcommand{\setspacing}[1]{\spaceskip=#1\fontdimen2\font plus #1\fontdimen3\font minus #1\fontdimen4\font}

    \newcommand{\extext}{Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet\par}
    \begin{document}

    \extext

    {\setspacing{1.1}\extext }
    {\setspacing{1.2}\extext }
    {\setspacing{1.3}\extext }
    {\setspacing{1.4}\extext }
    {\setspacing{1.5}\extext }
    {\setspacing{1.6}\extext }

    \end{document}

    `

    Funziona bene. Ma mi chiedevo se esiste un modo altrettanto semplice usando comandi di microtype e con pdfLaTeX. Preciso questo perché con XeLaTeX e LuaLaTeX il problema non si pone, in quanto fontspec prevede di default i comandi necessari. Pare che \SetExtraSpacing sia pensato per questo, ma non riesco a capirne il meccanismo e non si trovano esempi in rete.

    Ciao
    Ivan

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


        Io mi regolo in un altro modo Lascio che LaTeX faccia il suo lavoro, ma gli specifico localmente valori di tolerance maggiori di quelli di default; così`{\tolerance = 1000 Lorem ipsum…. \par}`Ovviamente ono ci scrivo dentro Lorem ipsum e quel che segue, ma il testo che fa i capricci; In questo modo posso aggiustare il valore1000 come voglio, arrivando fino a 9999 (oltre per LaTeX, da 10000 in poi si tratta di una tolleranza “infinita”) Quel particolare capoverso potrebbe avere qualche cesura in più ma scegliendo il valore più piccolo di \tolerance che eviti gli overful hbox, il risultato e generalmente ben accettabile; Volendo si può lavorare anche con \looseness-N, dove N di solito basta che valga 1; In questo modo il capoverso viene nella sua interezza allungato di una riga, a meno che la bruttezza del capoverso non peggiori troppo; il capoverso, dunque, deve essere sufficientemente lungo per poter ottenere dei buoni risultati.

        Il tuo metodo di moltiplicare localmente i parametri del font in uso con il comando che hi definiti, che ne specifica lo spazio interparola e il suo allungamento e accorciamento, funziona bene e non fa il tracking: i migliori book designer, come per esempio Robert Bringhurst dicono che chi fa il tracking per giustificare le righe, deve essere punito come un ladro di pecore; l’espressione viene dai tempi in cui l’abigeato in Inghilterra e nel domini di Sua Maestà Britannica veniva punito con l’impiccagione.

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

    Go to top