Saltar al contenido
Topos Uranos

Resumen

Esta clase enseña a escribir un documento entre varios autores sin perder trabajo ni confundir versiones. Explica por qué el intercambio de versiones por correo fracasa y por qué una fuente en texto plano permite comparar y unir cambios línea por línea; presenta Overleaf como editor compartido en línea, con la invitación a un proyecto, la edición simultánea, los comentarios, el control de cambios, el historial con sus versiones etiquetadas, la elección de LuaLaTeX y la subida de un proyecto local; enseña el flujo mínimo de Git en un proyecto de LaTeX, con su archivo .gitignore, la escritura de una oración por línea y la resolución de un conflicto en un archivo .tex, con salidas reales de un repositorio de prueba; describe la integración de Overleaf con Git y su sincronización con GitHub; reúne las convenciones que un equipo debe acordar; y termina con latexdiff, que produce un PDF con los cambios marcados entre dos versiones.

Objetivos de aprendizaje

  1. Explicar por qué una fuente en texto plano permite comparar y unir el trabajo de varios autores, y por qué un archivo de un procesador de textos no lo permite del mismo modo.
  2. Compartir un proyecto de Overleaf con el permiso adecuado, comentar, revisar con control de cambios y recuperar una versión anterior desde el historial.
  3. Llevar un proyecto de LaTeX con Git: iniciar el repositorio, confirmar cambios, leer el historial y las diferencias, y sincronizarlo con un remoto.
  4. Escribir un .gitignore que excluya los archivos auxiliares sin excluir lo que el documento necesita.
  5. Predecir cuándo dos cambios simultáneos producen un conflicto, y resolverlo en un archivo .tex comprobando después que el documento compila y dice lo que debe decir.
  6. Acordar en equipo un preámbulo, una base bibliográfica, una división en archivos y una convención de etiquetas, y producir con latexdiff un PDF que muestre los cambios entre dos versiones.

Por qué es difícil escribir entre varios

La manera más común de escribir en equipo es también la más frágil: un autor envía el archivo por correo, otro lo corrige y lo devuelve con un nombre nuevo, y al cabo de unas semanas la carpeta contiene informe-final.docx, informe-final-v2.docx e informe-final-revisado-ana.docx. Si dos autores trabajaron a la vez sobre la misma versión, alguien debe trasladar a mano los cambios de uno al archivo del otro, y lo que se olvida en ese traslado se pierde sin que nadie lo advierta. El procesador de textos no ayuda a comparar, porque su archivo no es texto legible, sino un paquete comprimido que mezcla el contenido con el formato; sus herramientas de comparación existen, pero no permiten unir de manera automática dos líneas de trabajo independientes.

Una fuente de LaTeX es otra cosa: es texto plano, que cualquier programa puede leer línea por línea. De ello se siguen dos operaciones que con un procesador de textos no están a mano. La primera es la diferencia (en inglés, diff): dadas dos versiones de un archivo, un programa dice exactamente qué líneas se quitaron y cuáles se añadieron. La segunda es la unión (en inglés, merge): dados dos conjuntos de cambios hechos sobre una misma versión, un programa los combina por sí mismo cuando afectan a lugares distintos del archivo, y solo pide intervenir al autor cuando ambos tocaron el mismo lugar. Ahora bien, para que estas operaciones sirvan hace falta, además, una organización: un lugar común donde esté la versión vigente, y un registro de quién cambió qué y cuándo. Esta clase presenta las dos maneras de conseguirla que el curso usa: Overleaf, que resuelve el problema en el navegador, y Git, que lo resuelve en el computador de cada autor, con Texmaker como editor.