Советы по совместному редактированию документа LaTeX - PullRequest
9 голосов
/ 12 февраля 2009

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

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

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

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

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

Ответы [ 2 ]

11 голосов
/ 12 февраля 2009

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

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

\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 найдет ее.

8 голосов
/ 12 февраля 2009

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

Что касается комментариев друг к другу в текстовом источнике, я считаю, что лучше сделать так, чтобы они появлялись в документе 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.

...