Співавтор без живого курсору
Патчі, спільні папки плюс Git і володіння окремими файлами розділів.
Співавтор без живого курсору
Спільне редагування в режимі реального часу, коли ви спостерігаєте за рухом курсору співавтора, є моделлю, яку продають хмарні редактори. Без нього пишеться багато хороших робіт. Коли автори працюють локально, асинхронна співпраця, побудована на Git, є надійною схемою: кожна особа редагує на власному комп’ютері, а зміни об’єднуються свідомо, а не символ за символом. Він вимагає трохи більше координації та компенсує це роботою в автономному режимі, повною історією та відсутністю залежності від будь-якого сервера.
Git як основа
Стандартне налаштування — це спільне сховище, зазвичай на GitHub, з якого всі завантажують і надсилають. Кожен автор працює в сеансах: витягує останній стан, записує, фіксує, надсилає. Оскільки LaTeX — це звичайний текст, Git автоматично об’єднує паралельні зміни в різні частини паперу, а налаштування займає кілька хвилин. Помістіть статтю на GitHub це покриває. Якщо один із співавторів не може або не хоче використовувати хост Git, патчі заповнюють прогалину: git format-patch перетворює коміти на невеликі файли, які можна надіслати електронною поштою, а одержувач застосовує їх за допомогою git am, зберігаючи авторство та історію недоторканими. Це старий робочий процес, і він досі працює всюди, де працює електронна пошта.
Гібрид також працює, коли співавтор наполягає на синхронізованій папці: збережіть спільну копію в Dropbox або Syncthing для зручності, але дозвольте одній особі підтримувати історію Git і виконувати злиття. Не спрямовуйте живі перевірки Git двох людей на одну синхронізовану папку, оскільки конфлікти синхронізації всередині каталогу .git пошкоджують сховища.
Розділіть документ на файл
Злиття стають рідкісними, коли люди рідко торкаються одного файлу. Розділіть рукопис, щоб кожен розділ або розділ жив у власному файлі, отриманому з тонкого main.tex за допомогою \input{chapters/methods}. Механіки знаходяться в Розділити документ на файли. Потім призначте право власності: кожен співавтор створює чернетки у своїх власних файлах, а один інтегратор обробляє преамбулу, об’єднання та остаточне читання для узгодженості нотації та тону. Це відображає те, як команди програмного забезпечення не наступають одна на одну, і це працює з тих самих причин.
Що насправді йде не так
Режим невдачі, якого слід уникати, полягає в тому, що двоє людей редагують один і той же абзац в той самий проміжок часу. Git позначатиме це як конфлікт, а конфлікти LaTeX легко читати, але їх важко вирішувати, тому найдешевшим виправленням є соціальне: швидке повідомлення «Я сьогодні на вступі» запобігає майже всім із них. Дві звички писати зменшують решту. Зберігайте одне речення на вихідний рядок, щоб паралельні редагування сусідніх речень взагалі не стикалися, і витягуйте безпосередньо перед кожним сеансом написання, щоб ви завжди редагували останній текст.