Советы по совместному редактированию документа LaTeX

StackOverflow https://stackoverflow.com/questions/539791

  •  22-08-2019
  •  | 
  •  

Вопрос

Моя настройка по умолчанию — поместить исходный текст в репозиторий Subversion и вставлять примечания друг к другу в качестве комментариев в источнике при внесении изменений в контент других людей.Все это кажется довольно неоптимальным, особенно когда возникают конфликты подрывных действий, когда все, что вам говорит, это «эти две версии этого огромного абзаца находятся в конфликте».

Я придумал несколько трюков, но уверен, что есть гораздо лучшие идеи (или лучшие версии моих идей).

Для совместной работы над кодом см. этот вопрос:

Как вы сотрудничаете с другими программистами в режиме реального времени?

(Некоторые из этих ответов применимы и к совместной работе над документами LaTeX.)

Это было полезно?

Решение

Всегда заканчивайте каждое предложение новой строкой. Никогда переформатировать абзацы.Эти правила не только сводят к минимуму ложные конфликты, но и упрощают редактирование совместно отредактированной статьи.

Для комментариев автора я использую комментарии на полях:

\long\def\authornote#1{%
        \leavevmode\unskip\raisebox{-3.5pt}{\rlap{$\scriptstyle\diamond$}}%
        \marginpar{\raggedright\hbadness=10000
        \def\baselinestretch{0.8}\tiny
        \it #1\par}}
\newcommand{\simon}[1]{\authornote{SLPJ: #1}}
\newcommand{\norman}[1]{\authornote{NR: #1}}
\newcommand{\john}[1]{\authornote{JD: #1}}

Мы помещаем их на поля, потому что часто мы готовим статью со строгими ограничениями по длине и хотим, чтобы примечания на полях не меняли длину статьи.Примечания на полях затем отключаются с помощью

\long\def\authornote#1{\relax}

Я также изобрел nbibtex инструмент (теперь в Debian!), чтобы вы могли использовать разные файлы .bib от ваших соавторов без необходимости согласовывать произвольные ключи BibTeX. nbibtex работает как BibTeX, за исключением того, что он использует ключевые слова из полей автора, названия и других полей.Файл BibTeX каждого автора может быть разным, но если статья есть, nbibtex найдет это.

Другие советы

Чтобы смягчить проблему бесполезных конфликтов подрывной деятельности, вы можете принять соглашение о переводе строки в конце предложений.(Это также облегчает перестановку, закомментирование или комментирование на, предложения.)

Что касается комментариев друг к другу в исходном тексте, я считаю, что лучше сделать так, чтобы они отображались в PDF-документе, но иметь возможность отключить их для окончательной версии.Я использую макрос "kibitz" для этого.Чтобы использовать его, поместите следующее в верхней части документа:

\newcount\Comments  % 0 suppresses notes to selves in text
\Comments=1   % TODO: set to 0 for final version

\documentclass{article}   % or whatever your documentclass

% for comments
\usepackage{color}
\definecolor{darkgreen}{rgb}{0,0.5,0}
\definecolor{purple}{rgb}{1,0,1}
% \kibitz{color}{comment} inserts a colored comment in the text
\newcommand{\kibitz}[2]{\ifnum\Comments=1\textcolor{#1}{#2}\fi}
% add yourself here:
\newcommand{\alice}[1]{\kibitz{red}      {[ALC: #1]}}
\newcommand{\bob}[1]  {\kibitz{purple}   {[BOB: #1]}}
\newcommand{\carol}[1]{\kibitz{cyan}     {[CAR: #1]}}
\newcommand{\deb}[1]  {\kibitz{darkgreen}{[DEB: #1]}}
\newcommand{\evan}[1] {\kibitz{blue}     {[EVN: #1]}}

Тогда Алиса, например, может просто воткнуть что-то вроде \alice{Bob must've added the previous sentence which is obviously false.} и он будет отображаться красным в PDF-файле, пока Comments установлено на 1.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top