9

我的默认设置是将 tex 源代码放在 subversion 存储库中,并在更改其他人的内容时将注释作为注释插入到源代码中。这一切都感觉不太理想,尤其是当存在颠覆冲突时,它告诉你的只是“这个巨大段落的这两个版本存在冲突”。

我想出了一些技巧,但我确信那里有更好的想法(或我的想法的更好版本)。

要在代码上进行协作,请参阅以下问题:

您如何与其他编码人员实时协作?

(其中一些答案也适用于 LaTeX 文档的协作。)

4

2 回答 2

13

始终以换行符结束每个句子。永远不要重新格式化段落。这些规则不仅可以最大限度地减少虚假冲突,还可以使您的协作编辑的论文更容易修改。

对于作者评论,我使用边缘评论:

\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就会找到。

于 2009-02-12T03:13:23.647 回答
10

为了减轻无用的颠覆冲突问题,您可以在句子末尾采用换行符的约定。(这也使得重新排列或注释掉,或评论句子更容易。)

至于文本源中的相互评论,我发现最好让它们出现在 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 可以粘贴类似的东西,只要将 long设置为 1 \alice{Bob must've added the previous sentence which is obviously false.},它就会在 pdf 中显示为红色。Comments

于 2009-02-12T02:45:29.860 回答