Come dice Lorenzo, l’arte è arte e non ci sono due persone che la pensino alla stessa maniera.
Cerco di essere asettico.
Prendo un libro a caso nella mia raccolta di libri di matematica, americano, C.R. Wylie Jr, Advanced Engineering Mathematics, Mac-Graw-Hill Book Co. New York 1960; un po’ vecchiotto, ma rappresenta lo “stile” americano di 50 anni fa, quando le mode, se c’erano, erano strettamente nazionali; non ho trovato un solo sistema con le graffe, ma li ho trovati a pacchetto con un solo numero per l’intero sistema. Questo implica che nell’impaginazione nessun sistema può essere tanto grande da dover essere spezzato in fondo pagina. In effetti i sistemi riportati non sono mai formati da più di tre righe/equazioni, e l’impaginazione non ne soffre.
I Italia, quasi sempre, per non dire sempre, i sistemi sono raccolti da una graffa a sinistra e numerati come un’unica entità; anche questi non possono essere spezzati a fine pagina.
incolonnare le colonne con un ambiente align o un ambiente gather permette non solo di numerare le singole equazioni, ma volendo, anche di spezzare un lungo sistema a fondo pagina. Potendo è sempre preferibile non farlo, ma se il sistema contiene una dozzina di equazioni che a loro volta contengono delle sottoespressioni fratte con le frazioni \frac o \dfrac, l’intero sistema potrebbe essere più lungo di una pagina e lo si dovrebbe poter spezzare. Infine, sempre con la possibilità di spezzare amsmath permette di creare sistemi individuati da un solo numero, ma che contiene l’identificazione do ogni singola riga, così da poter commentare nel testo facendo riferimento alla singola espressione: basta usare subsystem.
Nei miei libri ho sempre usato un mio ambiente eqnsystem (sistema di equazioni) in cui potevo gestire la numerazione complessiva e la numerazione parziale; l’avevo scritto prima che nascesse LaTeX2e, quindi non avevo potuto fare altro che usare l’ambiente di LaTeX209 eqnarray, che, come tutti sanno, non ha la spaziatura corretta a cavallo dell’operatore di relazione su cui eseguire l’incolonnamento, e quindi avevo corretto anche quel dettaglio. In ogni caso avevo omesso la graffa e avevo consentito la divisione per un eventuale fine pagina; in effetti avevo anche lunghi sistemi con frazioni, sommatorie e integrali che mi superavano la lunghezza di una pagina.
Quando poi ho dovuto passare alle seconde o terze edizioni, disponendo di LaTeX2e e amsmath ho ridefinito il miei eqnsystem usando i comandi a disposizione, e obbligandomi alla revisione per togliere il secondo & di incolonnamento che gli ambienti di amsmath non vogliono.
La mia è stata una soluzione dettata dalla necessità di scrivere “quella” matematica.
Fin qui credo che possiamo essere tutti d’accordo.
Ora veniamo alla pulizia del codice, che è una specialità di LaTeX e csi consegue usando correttamente, in un proprio file .sty, le definizioni necessarie, come propone Francesco. Ora messe quelle definizioni, generate per un’altra necessità particolare, in un proprio file .sty, il file sorgente del proprio documento si mantiene semplice e pulita, con codice chiaro e senza accrocchi.
Accrocchi che, fuori del proprio file .sty, talvolta bisogna usare lo stesso, per esempio quando bisogna spezzare una lunga equazione fra più righe e la graffa di aperura sta nella prima riga, mentre la graffa di chiusura sta nell’ultima riga, e le due graffe devono essere grandi nello stesso modo; \forse usare \bil\{, o \Bigl\{ o \biggl\{ o \Bigg;\{ è un modo pulito di fare le cose? e se nemmeno la più grande delle graffe (aperta o chiusa) è grande abbastanza? Se si vuole mantenere il codice pulito, bisogna definirsi nel proprio .sty opportune macro che rendano automatica la determinazione della grandezza di tali large delimiters, e poi usarle in pulito nel file sorgente del documento.
Concludendo, anche \newcoomand, \renewcoomand, \newenvironment, \renewenvironment sono comandi “puilti” ma quello che si mette dentro alle graffe che racchiudono le definizioni, può essere più o meno pulito o sporco, a seconda delle necessità. La macro servono appunto per nascondere nel file .sty le soluzioni magiche e di alta acrobazia, come gli accrocchi più immondi per trovare il modo di comporre cose strane o difficili.
Allora io non chiederò a quelli della AMS di creare dei comandi per una varietà di sistemi graffati; la American Mathematical Society, potrebbe chiedermi: “Ma a che cosa ti servono?” Come noto, gli americani non sono molto propensi a mettersi nei panni degli altri popoli; singole persone lo fanno, ma la mentalità generale è quella di dire, “noi siamo noi, e gli altri si adattino a noi.”
Ciao
Claudio