Carissimi,
Lorenzo dice una cosa importantissima: una cosa è facile o difficile per una data persona, non è facile o difficile per tutti.
Lucio sta cercando di imparare LaTeX leggendo tutto quello che può leggere; se vuole leggere cose più difficili dell’arte di Lorenzo può consultare L’introduzione all’arte della composizione tipografica con LaTeX (vedi sito GuIT).
Sono due approcci diversi, forse complementari, una persona può trovarsi meglio con uno dei due testi, un’altra con l’altro testo.
Il fatto è, a mio parere, che LaTeX non è né facile né difficile: è complesso. Lo è perché richiede innanzi tutto un approccio diverso al modo di scrivere: pesare al contenuto, senza pensare alla forma, come invece si fa quando si usa Word o OpenOffice.Questi ti permettono di scrivere subito una lettera commerciale senza sapere nulal di composizione; si usano anche come semplici macchine da scrivere; quando vuoi fare qualcosina di meglio, bisogna che ti metti a leggere la documentazione, che più sovente di quanto si immagini è incomprensibile, e lo è maggiormente in italiano, al punto che io preferisco leggerla in inglese…
Lucio, invece, cerca alle sue prime armi di occuparsi della forma; Il suo problema del crop impostato sulla mailing list e sul forum (sezione TeX e LaTeX) è un problema difficile, ma lui si è scontrato subito con un problema difficile, perché si occupa anche di stampare professionalmente creando le imposizioni sui fogli che formeranno le segnature.
L’altro problema che ha proposto alla mailing list è un problema di disegno grafico della pagina. Altro problema difficile, che non tutti i LaTeXiani anche esperti hanno difficoltà a risolvere; non esistono soluzioni precostituite in pacchetti già pronti. Ma anche il disegno grafico è una cosa difficile, e quindi è difficile trovare delle soluzioni facili a problemi difficili.
Lucio espone la sua idea di comandi incoerenti in LaTeX; Ha ragione: l’asterisco appeso a molti comandi ne cambia il significato in modo incoerente, vale a dire che non produce lo stesso effetto qualunque sia il comando a cui viene appeso. Ha ragione, non ci avevo mai pensato. Ma ho sempre trovato importante leggere la documentazione di ciascun pacchetto e quindi so che \polygon e \polygon* del pacchetto pict2e si comportano come \circle e \circle* (quindi sono coerenti nell’uso dell’asterisco), ma quando scrivo \chapter e \chapter* ho un comportamanto dell’asterisco diverso, per altro spiegato benissimo nel manuale di Lamport, e in tutte le guide dalla ShortGuide a LaTeX per l’impaziente, eccetera. e per gli ambienti? table e table* sono due cose diverse che richiedono anche due sintassi diverse. L’incoerenza cresce ancora, ma è tutto spiegato nelle guide. D’altra parte è logico che funzionando come interruttore logico (asterisco presente, asterisco assente) l’asterisco cambi una sola proprietà del comando: se ci riferiamo ad un comando di disegno, l’asterisco cambia una proprietà grafica; se ci riferiamo ad un ambiente di sezionamento, l’asterisco inverte una proprietà di numerazione ed indicizzazione; se ci riferiamo ad un ambiente per comporre oggetti flottanti, l’asterisco cambia la propietà relativa a quale giustezza fa riferimento quando si compone a due colonne(una colonna o testo completo?) Se uno entra nella logica giusta, l’asterisco non è più incoerente e la memoria non è più un fattore determinante.
Ma la complessità di LaTeX è dovuta anche al fatto che le sue componenti, migliaia di contributi di autori con background di programmazione da elevato a nullo, sono tutte open source; l’incoerenza è quindi in un certo senso naturale, e sarebbe troppo difficile avere un coordinatore a livello mondiale che si occupi di rendere coerenti tutti i pacchetti. Io stesso ho molto peccato in questo senso, sia per la presunzione di caricare su CTAN miei pacchetti che ritengo utili, ma di cui non ho controllato il corretto funzionamento insieme a tutti gli altri pacchetti esistenti, sia per la mia povertà di arte programmatoria.
Un aspetto che io non ho rispettato è stato quello di usare un “name space” particolare; risultato: alcuni miei comandi sono in conflitto non solo con comandi di altri pacchetti, ma anche con alcuni comandi base del linguaggio TeX.
Come fa allora un principiante a imparare LaTeX? deve andare per gradi e non affrontare problemi difficili prima di aver imparato a risolvere problemi facili. Non serve a leggere un manuale, anche solo di una cinquantina di pagine, e poi pensare di conoscere tutta la complessità di LaTeX. Anche in un simile manuale si affrontano prima i problemi della composizione del testo, poi quelli della matematica , poi quelli della creazione di nuove macro, poi il disegno grafico, Quest’ultimo, per altro è raramente trattato, perché richiede una professionalità molto elevata, per non fare le porcherie che si possono fare tanto facilmente con i word processor. Ma si possono leggere le documentazioni di quei pacchetti che consentono di alterare il disegno della pagina o di creare disegni particolari (vedi per esempio il pacchetto geometry, o le classi memoir e quelle della collezione komaSCR). Non consentiranno di fare tutto, ma consentono di fare molto, e, grazie ai loro vincoli, consentono di non fare cose troppo brutte.
Per chi mi legge: uso LaTeX dal 1986; il mio primo uso, prima ancora di scrivere un qualunque documento, è stato quello di modificare le testatine della classe book. In retrospettiva ritengo di avere fatto un grosso errore ad affrontare un problema così difficile, prima di avere composto alcuni documenti degni di questo nome.