宏:MS Word 与 TeX 及其相关产品

宏:MS Word 与 TeX 及其相关产品

这是我怎样才能让我不懂 TeX 的同事改用 LaTeX?

为了更好地展示 TeX 及其同类软件的强大功能并击败竞争对手(例如 MS Word、Open Office),我需要涵盖所有基础。特别是,我知道 MS Word 提供了编写宏的可能性,可以自动执行一些重复性任务。

我对 Word 宏及其功能几乎一无所知。当然,我打算做功课并评估它们的潜力(或缺乏潜力 :p );但是,现在,我很想知道您的想法。

如果你熟悉 Word 宏和 TeX 及其相关工具,请告诉我您对前者用于排版文档时的比较优势和局限性的看法。

答案1

我不是这方面的专家,但这是我的看法:

MS Office 和其他 Microsoft 产品(Internet Explorer 等)都公开了用于脚本编写的 API。您可以从嵌入到文档中的 Office 宏(用 VBA - Visual Basic for Applications 编写)使用此 API;或者使用 JScript(MS 的 JavaScript 方言)或 VBScript 编写的单独脚本文件。这里是您可以执行的操作的一个示例。

本质上,Office 中所有点击即可完成的操作都可以自动化。每个按钮和功能都有其对应的 API 函数。与 (PDF)TeX 相比,一个巨大的优势是,你可以使用“合适的”编程语言,尽管 LuaTeX 也提供了一种编程语言。VBA 比宏编程更容易学习。另一方面,如果你在 CTAN 上查看,可能有人已经为 TeX 编写了你需要的东西。没有“CMSWAN” :)

我不同意 Steven Segletes 的观点;TeX 在放置数字时也有点异想天开。使用 Word 功能自动生成 TOC/LOF/LOT/编号的人被认为是 Office 奇才——也许就像我们被周围的人视为 TeX 极客一样。我确实知道 Office 奇才。我还认为,浏览 Word API 的文档和浏览 LaTeX 包及其手册以实现您想要的内容同样耗时,也同样有趣。

例子:我收到了数百个 Word 文档,它们组成了一本书。每个文件对应一个小节,文件名是该小节第一页的页码。章节有自己的编号文件夹。因此,如果你想查找某些内容,你必须打开章节文件夹,打开该章节的目录,查找标题的页码,然后打开该文件。所以我编写了一个脚本,打开每个文件,读取第一个段落(应该是标题),并编写一个新的目录,其中的标题与文件有超链接。

但是我见过 Excel 表只需单击按钮即可下载数据库、访问 Web API、创建 3D 图等,所有这些都是通过大量 VBA 完成的。

答案2

这是一个评论,而不是一个确切的答案,因为marczellm 的 回答总结得很好。

答案3

这与宏无关,但 word 的“跟踪更改”功能确实很棒。据我所知,tex 没有什么可比的,至少当您使用标准 tex 编辑器(如 vim、emacs、texshop 等)时 - 尽管可以使用 patch 和 git 等来制作与 word 的跟踪更改功能类似的功能。

当然,潜在的“问题”在于 tex 处理的“平面”文件没有自然的方式对版本之间所做的更改进行编码。

相关内容