我最近开始对 LaTeX 产生兴趣,以便撰写报告。到目前为止,我一直在使用 Microsoft Word,但对用户无法接触到程序中较为抽象的方面感到有些不满。Word 是一种 GUI,很少考虑希望自定义和自动化程序各个方面的高级用户。当然,VBA 提供了此功能,但它太低级和晦涩,无法与 TeX 相比。事实上,VBA 不仅用于文字处理,而且是一种更广泛的语言,可以涵盖大多数 Microsoft Office 应用程序。
进入 TeX。我发现了一个更加用户友好的编程界面,相当高级,而且绝对可定制。此外,还有很多机会可以从头开始开发“环境”。我绝对可以看到这种界面提供的强大功能和灵活性。我最喜欢的功能之一是能够编译程序并让它自动更新基本上所有内容,从书目参考到图像,我相信还有很多其他内容。
但有一个警告。TeX 不能替代常规 Microsoft Word,主要原因如下。它不向用户提供进入“非开发人员”模式的选项。也就是说,只需单击、移动内容,直接将文本输入最终产品,而无需浏览实际代码。
因此,TeX 可以做到 Word 做不到的事情,而 Word 可以做到 TeX 做不到的事情。LaTeX 社区考虑过这个问题吗?如果能设计出某种来回切换的环境,让普通用户和高级用户都能使用该程序,那么它可能会彻底打败 MS Word。实际上,即使是高级用户也可以从某种 GUI 界面中受益,尤其是如果它包含“宏录制”类型的实用程序,可以让人们查看通过进行某种更改而生成的代码。
我知道这并不像听起来那么容易,但我认为这绝对是社区应该考虑的事情。有人听说过 LaTeX 社区在这方面做出的努力吗?
答案1
答案2
问题在于 GUI 需要一个表现良好的源。
举个例子,想象一个按钮加粗/取消加粗按钮:应该处理 LaTeX 源的 GUI 可以被编程为\textbf
在使用按钮时添加和删除。但如果源实际使用{\bfseries ...}
? 或者\myspecialfont[Some options]{Text}
? 或者\startbold Text \stopbold
? 无论 GUI 有多好:总会有它无法处理的情况,您只需查看 xii.tex (https://ctan.org/pkg/xii) 来理解这一点。
这对于 word 来说也是如此:您可以解压 docx 并操作 xml 文件(我曾经用这种方法删除了一个错误的分页符)。但是如果您不小心,您可能会破坏文档,并且 word-GUI 将无法再打开它。
因此通常只有一个方向是可行的:您可以从 GUI(例如 Lyx)开始,导出代码并添加低级内容,但随后您无法返回到 GUI。