Vai al contenuto
Topos Uranos

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

  1. 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.
  2. Condividere un progetto di Overleaf con il permesso adeguato, commentare, rivedere con la revisione delle modifiche e recuperare una versione precedente dalla cronologia.
  3. Gestire un progetto di LaTeX con Git: inizializzare il repository, registrare commit, leggere la cronologia e le differenze, e sincronizzarlo con un remoto.
  4. Scrivere un .gitignore che escluda i file ausiliari senza escludere ciò di cui il documento ha bisogno.
  5. Prevedere quando due modifiche simultanee producono un conflitto, e risolverlo in un file .tex verificando poi che il documento compili e dica ciò che deve dire.
  6. 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.