Re: Il tormentone della lunghezza di riga

#69276
OldClaudio
Partecipante
    Up
    0
    Down
    ::


    Non veco che cosa ci sia di difficile.
    Però non puoi estrapolare la larghezza dell’alfabeto del Latin Modern da quello del Computer Modern; sono font diversi, non molto ma lo sono. Non puoi nemmeno estrapolare le dimensioni dell’alfabeto a 10pt moltiplicnado per 11/10, perché il font CM e gli LM sono dotati di corpi ottici, quindi con un disegno diverso a seconda del corpo; inoltre in generale i font CM sono fissi a certe dimensioni, mentre gli LM sono scalabili con continuità.

    Quindi il coefficiente alpha d Hogholm non ti interessa per niente; a te interessa la giustezza quindi devi semplicemente usare un codice semplice come quello che ti mostro:`% !TEX encoding = UTF-8 Unicode
    % !TEX TS-program = pdflatex

    \documentclass{article}\errorcontextlines=100

    \newcommand\alfabeto{abcdefghijklmnopqrstuvwxyz}

    \dimendef\ALF\dimen300

    \newcommand\calcolagiustezza[5]{\settowidth\ALF{\fontencoding{#1}\fontfamily{#2}%
    \fontseries{#3}\fontshape{#4}\fontsize{#5}{#5}\selectfont\alfabeto}\the\dimexpr\ALF*66/26}

    \begin{document}

    Con il font Latin Modern, codificato in T1, di serie media, e forma normale di corpo 11pt, la giustezza ottimale vale
    \calcolagiustezza{T1}{eclmr}{m}{n}{11}.

    \end{document}`L’unica cosa poco ortodossa è quella di usare esplicitamente i numeri di registro (un registro lunghezza, in questo caso) mediante un numero, invece che mediante una comune allocazione di registri. Il comando \dimendef serve per usare un nome, invece che il numero 300, ma il tutto è decisamente semplice. Forse l’unica difficoltà è sapere il nome della famiglia, quale la conosce il sistema TeX attraverso i suoi file .fd (font description), ma basta andare a cercare nelle varie cartelle del sistema TeX e si trovano tutti i file .fd che servono.

    Se al posto di eclmr (LM codificati T1) metti cmr (CM codificati OT1) vedrai che ottini valori diversi, poco, ma diversi.

    Inoltre non ti preoccupare troppo; quando ho scritto che il numero ottimale è di 66±6 caratteri, ho stimato un intervallo decente, visto che siamo in prossimità di un ottimo e quindi piccole variazioni sono poco significative. l’intervallo 60—72 sembra quello ottimale, a si tratta di una stima; io non mi scandalizzere se con un dato font si arrivasse a 74 o 75 caratteri; Se guardi che cosa fa il pacchetto layaureo per determinare lle dimensioni del blocco di stampa, vedresi che lì otterresti 74 caratteri.

    Insomma non è difficile; bisogna capire il meccanismo e poi, senza fare i conti a mente, il programmino che ti ho dato calcola la giustezza teoricamante ottimale su cui fai la tara che ritieni giusta a buon senso, senza affidarti ad altre formule.

    Go to top