我的默认设置是将tex源放在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中显示为红色,因为long Comments
设置为1.