我想与一位熟悉 LaTeX 的人合作撰写一篇论文,要求他们使用 LyX 对我来说是不合适的,但我真的不喜欢深入研究原始 LaTeX 代码。我们能不能通过某种方式互动,让我可以在 LyX 中查看他的更改,而他可以在原始 LaTeX 中查看我的更改?理想情况下,他甚至不知道我在使用 LyX(或者至少不会妨碍他)。
注意:我对 LaTeX 非常不熟悉,而且我不太了解 LyX 如何与 LaTeX 交互。我通常只使用默认设置,并且喜欢它格式化内容的方式,而不需要深入研究或尝试添加高级自定义。我真的不知道文件是什么以及它如何与文件.layout
交互(或者文件之间的区别是什么),但我有很多时间,我愿意学习。我宁愿读一本有深入解释的书(如果这本书写得很好),也不愿读一本只提供说明的“入门”教程。.cls
.sty
.cls
.sty
如果有必要,我愿意编写自己的.layout
文件,但我希望首先我必须学到很多东西。
答案1
工匠依靠的是他们多年使用的专业工具。他们不喜欢被要求放弃自己的工具,这是有原因的。但当两个人合作时,能够在需要时适应其他专业工具也是专业精神的标志。
这是我使用 LyX 和 LaTeX 协作处理多个文档的经验:论文、资助提案、教学练习表……有一点很突出:在所有成功的合作中,使用的工具是作为写作主要推动力的作者最熟悉的工具。
首先要明白的是,LyX 不是 LaTeX 编辑器。您无法从合作者那里收到 LaTeX 文件,使用 LyX 编辑它,然后再将 LaTeX 文件发回给他们。LyX 可以导入 LaTeX 文件,但导入功能并不完善。它可以输出复杂且高质量的最佳质量 LaTeX 文档,但它不是为往返设计的。
我将为寻求与 LaTeX 用户合作的 LyX 用户介绍三种可能的替代方案。
- 使用 LyX!
- 使用 LaTeX!
- 两者同时使用!
长话短说,对于你来说,我的建议是学习 LaTeX 实际上是一种好事并且 LyX 仍可在此过程中为您提供帮助,但我想解决 LyX 用户经常出现的更普遍的协作问题。第一项更为完善,因为我对此最有经验,但希望我的回答可以通过评论和其他答案来完成。
使用 LyX!
我曾与一些之前从未使用过 LyX 的合作者成功合作过。合作者接受使用 LyX 的原因有很多。他们可能出于好奇,可能接受让主要作者做决定,也可能让自己信服。
学习 LyX 很容易(用于编辑已设置好的文档),但需要好奇心和开放的心态。至少需要一名合作者具有足够的经验,能够将文档设置为所需的格式,并帮助其他人修复偶尔出现的编译问题。新手可能会觉得界面有点奇怪,但最近几个版本已经努力消除了一些奇怪之处。必须告诉他们,如果 LyX 崩溃,它总是能够进行紧急保存。这可以让他们少受一点惊吓。
我只使用过 LyX 和 git 进行版本控制。短期内不可能像在 ShareLatex 中那样同时编辑文档,因此必须告诉每个人经常同步,而 lyx 文件格式可以很好地处理非重叠合并。
有一次,文章的一部分已经用 LaTeX 写好了,所以 LyX 专家进行了转换。如果合作者想用 LaTeX 写出他们的主要贡献,而只用 LyX 进行小改动,那么这个工作流程会很有效。请注意,从 LaTeX 转换为 LyX 很容易。
有一次情况有些不同:在一份有五位合作者的资助提案中,我们从 Google Documents 切换到 LyX 而不是 LaTeX,以获得更专业的外观。这为我们提供了对参考书目的良好支持,同时保持了使用变更跟踪和注释的类似工作流程。
如果你需要说服某人,一些论据可能会派上用场。首先,重要的是不要将 LyX 描述为 LaTeX 编辑器,这会导致很多混淆。以下是一些可以让人们想要使用它的功能,尤其是在协作环境中。
- 内嵌注释和变更跟踪(建议变更、审查和修改变更、对提议或拒绝的变更进行评论......)
- 书目管理器(在数据库中查找文章,轻松查看与引文相对应的文章,提前查看根据 \cite 命令的特定变体引文将如何出现,查看文章是否缺失或重复......)
- 自动编译(处理所有编译阶段,自动包包含,自动特殊字符编码,无临时文件污染......)
- 语义编辑(根据文档的结构进行编辑和显示;继承了 LaTeX 的哲学和结构;无需追逐
{
;}
复制粘贴时考虑到语义;易于重新排序段落、项目和章节;轻松编辑数学公式;在编译前发现拼写错误;使用可自定义的键盘快捷键执行语义操作......) - 大纲视图(通过各种目录查看和浏览文档)
- 数学宏(输入带有 LaTeX 名称的标准数学宏;通过分别说明其在 LaTeX 中的编译方式和在 LyX 中的外观来定义自定义宏;此外,每个人都倾向于使用自己的一组宏:完成会提醒您其他人的宏,LyX 会显示它们的含义和参数数量......)
- 可发现性(界面向您展示您不知道的需要的 LaTeX 功能和命令,并提醒您那些您很少使用的功能和命令;此外,LyX 试图推动您使用最标准的 LaTeX,人们也可能会惊讶地学到一些关于 LaTeX 的知识...)
- 可扩展性(您可以为自定义命令定义自定义插入和宏;如果需要,可以返回输入原始 LaTeX)
你说你对 LaTeX 不熟悉,但 LyX 的专业知识需要对 LaTeX 有很好的了解。因此,我的建议是学习 LaTeX。
使用 LaTeX!
合作者可能不愿意使用 LyX。如上所述,他们出于许多原因想要使用自己的工具。例如,他们可能已经投入精力学习一些对他们的工作至关重要的高级专业 LaTeX,或者多年来凭借积累的自定义宏和样式文件开发了自己的方言。他们可能只是对自己的工作流程总体上感到满意。
你可以问他们他们的工作流程是什么。例如,他们肯定有自己的专业工具或方法:传达评论和建议更改、自动处理编译、管理文档的参考书目、轻松编辑 LaTeX、记住命令和宏……他们肯定会很乐意教给你这些。
此外,虽然 LyX 无法直接帮你编辑 LaTeX 文件,但你仍然可以使用它来学习 LaTeX。为此,你可以在打开代码预览面板的情况下在 LyX 中编写代码。
另一件需要知道的事情是,LyX 可以作为 LaTeX 的数学编辑器。您可以通过将 LaTeX 复制粘贴到文档中来编辑 LyX 中的数学,然后使用代码预览面板将输出重新转换为 LaTeX。顺便说一下,LyX 的工作方式比非数学效果更好。
两者同时使用!
一个自然的想法是将 LyX 和 LaTeX 在每个文件的基础上混合使用。文档被分成子文档,每个子文档要么是 .tex 文件,要么是 .lyx 文件,具体取决于指定的主要贡献者。
从技术层面上看,这种方法效果很好。最简单的方法是将 .lyx 文件作为主文档。您可以设置一个 Makefile,它将调用lyx
以直接生成 .tex 或 pdf。这样,合作者甚至不需要打开 LyX 进行编译。
在实践中,我们发现在最后冲刺阶段文档的演变使得我们不得不 100% 切换到 LyX。因此,这是进入 LyX 的良好途径。如果文档的划分更加严格,例如书籍章节,它也可以一直工作到最后。