Riepilogo
Questa lezione insegna a scrivere un documento fra più autori senza perdere lavoro né confondere le versioni. Spiega perché lo scambio di versioni per posta elettronica fallisce e perché un sorgente in testo semplice permette di confrontare e unire le modifiche riga per riga; presenta Overleaf come editor condiviso in linea, con l’invito a un progetto, la modifica simultanea, i commenti, la revisione delle modifiche, la cronologia con le sue versioni etichettate, la scelta di LuaLaTeX e il caricamento di un progetto locale; insegna il flusso minimo di Git in un progetto di LaTeX, con il suo file .gitignore, la scrittura di una frase per riga e la risoluzione di un conflitto in un file .tex, con output reali di un repository di prova; descrive l’integrazione di Overleaf con Git e la sua sincronizzazione con GitHub; raccoglie le convenzioni che un gruppo deve concordare; e termina con latexdiff, che produce un PDF con le modifiche fra due versioni evidenziate.
Obiettivi di apprendimento
- Spiegare perché un sorgente in testo semplice permette di confrontare e unire il lavoro di più autori, e perché un file di un elaboratore di testi non lo permette allo stesso modo.
- Condividere un progetto di Overleaf con il permesso adeguato, commentare, rivedere con la revisione delle modifiche e recuperare una versione precedente dalla cronologia.
- Gestire un progetto di LaTeX con Git: inizializzare il repository, registrare commit, leggere la cronologia e le differenze, e sincronizzarlo con un remoto.
- Scrivere un
.gitignoreche escluda i file ausiliari senza escludere ciò di cui il documento ha bisogno. - Prevedere quando due modifiche simultanee producono un conflitto, e risolverlo in un file
.texverificando poi che il documento compili e dica ciò che deve dire. - Concordare in gruppo un preambolo, un database bibliografico, una suddivisione in file e una convenzione per le etichette, e produrre con latexdiff un PDF che mostri le modifiche fra due versioni.
Perché è difficile scrivere in più persone
Il modo più comune di scrivere in gruppo è anche il più fragile: un autore invia il file per posta elettronica, un altro lo corregge e lo rimanda con un nome nuovo, e dopo qualche settimana la cartella contiene relazione-finale.docx, relazione-finale-v2.docx e relazione-finale-rivista-ana.docx. Se due autori hanno lavorato contemporaneamente sulla stessa versione, qualcuno deve riportare a mano le modifiche dell’uno nel file dell’altro, e ciò che si dimentica in quel passaggio va perso senza che nessuno se ne accorga. L’elaboratore di testi non aiuta a confrontare, perché il suo file non è testo leggibile, ma un pacchetto compresso che mescola il contenuto con la formattazione; i suoi strumenti di confronto esistono, ma non permettono di unire automaticamente due linee di lavoro indipendenti.
Un sorgente di LaTeX è un’altra cosa: è testo semplice, che qualsiasi programma può leggere riga per riga. Ne seguono due operazioni che con un elaboratore di testi non sono a portata di mano. La prima è la differenza (in inglese, diff): date due versioni di un file, un programma dice esattamente quali righe sono state tolte e quali aggiunte. La seconda è l’unione (in inglese, merge): dati due insiemi di modifiche fatte su una stessa versione, un programma le combina da sé quando riguardano punti diversi del file, e chiede all’autore di intervenire solo quando entrambi hanno toccato lo stesso punto. Ora, perché queste operazioni servano occorre inoltre un’organizzazione: un luogo comune dove si trovi la versione vigente, e un registro di chi ha cambiato che cosa e quando. Questa lezione presenta i due modi di ottenerla che il corso usa: Overleaf, che risolve il problema nel browser, e Git, che lo risolve sul computer di ciascun autore, con Texmaker come editor.
Caricamento del contenuto…