与不懂 TeX 的人合作

与不懂 TeX 的人合作

对于与那些不如您精通 TeX 的人合作编写 LaTeX 文档,您有什么建议?

举一个示例和潜在问题案例:假设您有一组新命令和样式文件,您使用它们并且通常将它们保存在您自己的个人样式文件中:

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{jhwmath}
\RequirePackage{amsmath}
\RequirePackage{mathtools}
\newcommand{\bvec}{\mathbf}
\DeclarePairedDelimiter\inp{(}{)}
\newcommand{\rdf}[3][\!]{\frac{\rd^{#1} #2}{\rd #3^{#1}}}
% ... etc.

你用它们做什么?你包括样式文件吗?你把它放在文件的前言中吗?你放弃\newcommand's而只写出TeX吗?为什么?

我正在寻找一种有效且高效地与不熟悉 TeX 的人协作的方法,同时尽量减少我自己的 LaTeX 自定义和样式文件选择。对 TeX 协作者有哪些合理的期望,哪些不合理?

答案1

首先,确保你和你的合著者使用相同的 TeX 发行版。假设你的合著者使用某种 Windows 系统:如果你的主计算机是 *nix 机器,并且你使用 TeXLive,那么尽量让你的合著者使用 Windows 版 TeXLive。

其次,确保每个人都使用相同年份的所有乳胶包装。

第三,确保你的合著者使用的文本编辑器能够很好地支持 TeX。换句话说,如果他们使用 Windows,请尽量阻止他们使用notepad

第四,这并不是某人更精通 TeX(你)或更不精通 TeX(你的合著者)的问题,而是健全的资源管理的问题:使用某种版本控制软件,并找到一种让每个人都能平等、即时地访问所有文件的方法,无论是通过共享的 dropbox 文件夹、github 帐户还是其他什么方式。

第五,特别是如果你的合著者是 LaTeX 新手,在让他们看到你的 LaTeX 代码之前,请帮自己一个忙,彻底清理你的 LaTeX 代码:考虑删除所有无用的代码,不要加载不需要的包,在 LaTeX 代码中提供大量的注释和空格(无论如何这都不是一个坏习惯,对吧?!),并为表格和图形等项目提供一些合理的不言自明的模板。

接下来,如果您编写了一些专门的宏,请让合著者能够相当轻松地访问它们,例如使用关键字界面,并提供某种输入健全性检查,以便参数的不正确设置不会导致崩溃,然后引起很多咬牙切齿。如果您的宏需要三个以上的输入,不要指望您的合著者能顺利完成工作。如果您的宏有错误,需要筛选 TeX 的神秘错误消息,请不要将它们强加给您的合著者,除非您想永久终止某些关系。

最后但同样重要的是,向他们提供 (i) 你将要使用的所有重要 LaTeX 软件包的在线用户指南的 URL 列表,以及 (ii) Tobi Oetiker 的LaTeX2e 的简短介绍并且,每当他们感到困惑、恼怒,或两者兼而有之时,一定要反复向他们指出这些文件。

TeXing 快乐!

答案2

你可以使用一个中央共享位置来存储最新版本的软件包jhwmathGithub粘贴箱或者甚至DropBox. 确保它是一个固定的链接,并要求他们在编译新文档时使用更新的版本。

后者(DropBox)的优点是,只需连接互联网,更新的文件就可以在多台计算机上同步;也就是说,只要有更新版本可用,就会下载。目前,共享文件夹为用户提供读写权限。但是,DropBox 的未来更新将包括设置权限,以便“不懂 TeX”的用户不会覆盖您的“懂 TeX 的代码”。

答案3

据我从您提供的代码推断,这次合作可能是针对数学学科的。您需要在 TeX 文件中包括完整的序言。在这样的领域,期望他们拥有足够的 (La)TeX 技能是合理的。否则,您将面临困难,唯一可能的合作方式是通过在 pdf 上标记注释。如果您走这条路,我建议您使用鳄鱼

\def\pfbox % new experimental version (DEK, November 88)
{{\ooalign{\hfil\lower.06ex % a smiley face
 \hbox{$\scriptscriptstyle\frown$}\hfil\crcr
 \hfil\lower.7ex\hbox{\"{}}\hfil\crcr
 \mathhexbox20D}}}
\pfbox
\bye

相关内容