Соавтор без живого курсора
Патчи, общие папки плюс 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 читаются, но их утомительно разрешать, поэтому самое дешевое исправление — социальное: быстрое сообщение «Сегодня я во введении» предотвращает почти все из них. Две привычки письма уменьшают остальные. Сохраняйте по одному предложению в каждой строке исходного текста, чтобы параллельные правки соседних предложений вообще не конфликтовали, и извлекайте их непосредственно перед каждым сеансом написания, чтобы вы всегда редактировали самый последний текст.