我一直在评估 ConTeXt 作为技术文档制作平台的实力。它似乎具有一些难以与 LaTeX 匹敌的强大功能,例如内置的 XML 和 HTML 支持、面向项目的特性以及对程序化文档发布的更无缝支持。
正如许多人指出的那样,这些文档在许多情况下都是十多年前的,这让人对该项目的发展前景产生了怀疑。虽然 LaTeX 开发活动似乎一直很活跃,而且这些论坛也支持它,但 ConTeXt 世界却相对沉寂。
评估一个开源软件项目的健康状况可能很困难,但我很感激任何关于 ConTeXt 的现状、开发活动、用户群状态、商业采用、可用的商业服务(培训、咨询等)或任何其他项目进展指标的评论。
提前感谢您的观察。
答案1
作为一个去年才开始使用 ConTeXt 并有类似担忧的人,我想回答这个问题。以下内容更多的是从用户的角度,而不是对商业潜力的评估。
正如许多人指出的那样,很多文件都是十多年的历史了……
确实,关于ConTeXt 维基内容不完整或有点过时。不过,我发现许多已发布的手册大多非常出色。
- 这参考手册非常棒(看起来像是 2013 年更新的)
- 虽然本身不是 ConTeXt,Metafun 手册对我来说是一个启示
- 这出版物和单位手册是相对较新的特定于软件包的文档的很好例子
除了核心手册之外,还有一些我发现非常有用的教程式出版物:
- 这显示数学教程可能比较老,但仍然完全适用
- 教程从 csv 文件创建表格是另一个例子
正如 Henri Menke 在评论中指出的那样,还有不少我最初错过的好手册:ConTeXt MKIV:一次旅行,ConTeXt 之外的字体,ConTeXt Lua 文档,仍在继续,持续,以及命令参考。
总体而言,我发现 ConTeXt 的标准化程度更高,弥补了文档量较少的缺陷。熟悉某些环境的工作方式使我能够对其他环境做出猜测——这是我在 LaTeX 中从未学会的。
尽管 LaTeX 开发活动似乎持续不断……
据我所知,LaTeX 的大部分开发活动与软件包有关,而不是与 LaTeX 核心有关。正如本文中讨论的那样问题,ConTeXt 需要更少的软件包来完成工作,并且许多核心功能都是内置的。我认为竞争软件包数量的减少是积极的而不是消极的。
话虽如此,正如 Aditya 在评论中指出的那样,上下文测试版目前处于持续发展。还有汉斯·哈根最近问关于新版本的功能请求。
虽然这些论坛上似乎一直存在着支持的声音,但 ConTeXt 世界却相对沉默
如果您指的是 StackExchange,我猜我看到的有关 TeX/LaTeX 的问题中至少有一半是“在 Tikz 中帮我画这个”,所以我不确定是否应该直接比较问题的数量。话虽如此,我在这里或在邮件列表中提出的几乎每一个问题都在 24 小时内得到了答复。这里有许多知识渊博的成员,邮件列表提供了更多成员的访问权限,包括非常积极参与的 ConTeXt 开发人员。
总结一下:
社区的状况可能比其他任何事情都更能满足您的需求。您是否正在寻找尚未找到的具体内容?
答案2
我正在回答上一个答案的评论中详细阐述的问题:
ConTeXt 在编写技术文档方面具有一些非常引人注目的特性,中型公司使用它可能会比使用 DITA 等流行平台走得更远、更快,同时不会面临同样的破产风险。但要推荐它,人们需要知道它不会中断业务连续性,并且有资源可用(人员配备、强大的文档、培训等)。我正在尝试评估这些特性
我不知道您提到的其他类似 DITA 的平台,因此无法直接比较。但我补充一下您主要担心的“中断业务连续性”。
ConTeXt 是一款相当成熟的软件(它始于 20 世纪 90 年代初),但如果您计划将其用于长期项目,则需要注意一些事项。
偶尔,context beta 会出现错误,导致简单文件无法编译。通常,这是一个简单的打包问题,几个小时后就会修复。
它具有很高的巴士因子。大部分代码由一名核心开发人员维护,另外有 4-5 名开发人员定期贡献补丁和测试。
话虽如此,使用以下方法“冻结”项目的 ConTeXt 版本相对容易:ConTeXt 独立版顾名思义,它是 context 的独立版本,所有代码和二进制文件都存储在一个目录中。(这类似于虚拟环境在 Python 中,如果您使用过它)。然后,您可以使用专用的上下文独立安装来进行长期项目。也就是说,不要更新它,您的项目就不会中断!如果新版本具有您真正想要使用的功能,那么您可以安装新版本(在不同的目录中!),测试它,如果它有效,则切换到新版本。始终保留旧版本,以防您在新版本中遇到一些意外的错误。ConTeXt 独立版大约 300MB(大部分空间都被字体占用了),因此拥有多个版本并不是什么大问题。
您看到的文档中的许多分裂都是由于 MkIV 造成的。当 LuaTeX 开始开发时(大约 10-12 年前),ConTeXt 将其大部分后端代码移至 Lua。这使得代码更快且更易于维护(对于小型文档,luatex 版本仍然比 pdftex 版本慢,因为解析和加载 opentype 字体比解析和加载 type1 字体需要更多时间)。在此过程中,一些界面发生了变化。未来不太可能发生如此剧烈的变化。
最后,ConTeXt 是一款开源软件。因此,即使万一出现开发停止的情况,您仍然可以使用它。仅仅因为某些东西没有被积极开发并不意味着它不再可用。