【问题标题】:Tips for collaboratively editing a LaTeX document [closed]协作编辑 LaTeX 文档的提示 [关闭]
【发布时间】:2010-10-07 02:09:02
【问题描述】:

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

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

有关代码协作,请参阅以下问题:

How do you collaborate with other coders in real time?

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

【问题讨论】:

  • 更重要的问题:如何让您的合著者使用 Subversion? :)

标签: svn latex collaboration


【解决方案1】:

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

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

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

【讨论】:

  • 聪明!谢谢诺曼! Margin cmets 是个好主意,尽管有时它们会变得过于拥挤。在你的方式和我的方式之间切换可能是两全其美的选择。此外,nbibtex 听起来很棒。我很高兴能尝试一下。再次感谢!
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2018-06-02
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多