Ciao a tutti. Non riesco a capire bene quanto spiegato nella guida di listings a proposito delle colonne con formato “fixed” e “flexible”.
The fixed column format ruins the spacing intended by he font designer, while the flexible formats ruin the column alignment (possibly) ntended by the programmer.
1. Quindi nelle colonne “fixed” viene modificato lo spazio tra i caratteri per conservare l’allineamento tra colonne, mentre in quelle “flexible” questo non succede (tutti i caratteri vengono stampati nella loro larghezza naturale). Giusto?
2. La distinzione “fixed” e “flexible” dovrebbe essere dunque irrililevante se si usano font a spaziatura fissa, giusto?
3. Però noto sperimentalmente che questo non è vero: se si usano font Beramono e l’opzione “fixed”, i caratteri appaiono più spaziati (rispetto alla resa predefinita). Perché?
4. La distinzione tra “flexible” e “fullflexible” è che nelle colonne “flexible” si accetta di dilatare o stringere gli spazi bianchi fra le parole per cercare di mantenere (per quanto possibile) l’allineamento, mentre in quello “fullflexible” ciò non accade?
5. Ma davvero è pensabile/consigliabile scrivere codici usando un font non a spaziatura fissa?
6. Che differenza c’è tra scrivere
`columns=flexible`
e
`flexiblecolumns=true`
I codici composti con l’opzione fixed in un tipo di carattere a spaziatura proporzionale sono fra le cose più brutte che abbia mai visto. Fanno venire il mal di mare e sono del tutto illeggibili.
I casi sono due: se si desidera mantenere l’allineamento delle colonne (modello Fortran) si deve adoperare un tipo di carattere a spaziatura fissa; se l’allineamento non ha funzioni sintattiche si può usare ciò che si vuole. A questo punto, meglio dare l’opzione fullflexible in ogni caso e dimenticarsi di tutto il resto.
Il pacchetto listings è davvero buono sotto molti aspetti, ma non può essere la soluzione. La composizione di codice di un linguaggio di programmazione andrebbe passata a un programma esterno, sto pensando a mft che trasforma il codice METAFONT in codice TeX nel modo che chi abbia letto il METAFONTbook conosce: le parole chiave sono in nero, gli indici alle variabili compaiono come indici, le variabili sono scritte in corsivo, eccetera. Il paragone fra ciò che si ottiene con listings dalla stessa sorgente è davvero impietoso.
Ciao
Enrico