Alex Fink 和我有一种非线性的书面语言,联合国教科文组织。然而,由于加载每个图像需要花费大量时间,因此在 Google Docs 中维护其语法文档变得过于麻烦 — — 而且为嵌入 gdocs 而创建的图像实际上无法以良好的方式组合和导出。
UNLWS 主要由各种字形— 它们基本上是具有指定绑定点(词汇表中的小蓝色圆圈)的小块矢量图片 — 并且它们都在这些绑定点处使用各种方法(主要是简单的线条)相互连接,就像图形一样(如树状图,而不是条形图)。
有些字形也有内部结构,例如可变的线或弧长、样条曲率、线段距离等,有些字形有未用线绘制的绑定(例如文章)。
一般来说,只要字形连接正确并遵循一些连接规则(例如,避免交叉、尽可能制作平滑或直线、放松图形),结果就是合法的。
但是,也存在非图形组件,例如环绕或划分文本部分的饰框,以及某些字形必须彼此靠近并以特定的方向或距离放置在彼此之间的情况。
在某些情况下,我们还想提示图形包如何使布局更美观,例如诗歌(请注意中心和侧面的饰纹)或故事(请注意三种变体的黑色虚线分界线)。有关一些更简单的示例,请参阅我们的便笺。
理想情况下,我们希望能够使用支持此功能的合理图形库在 *TeX 中编写它,例如能够:
- 定义可重复使用的字形(带变量)
- 告诉包在哪个绑定点连接哪些字形,并让它弄清楚如何进行必要的图形松弛等,至少得到一个合理的结果
- 可选地提示包如何进行布局
- 在各个位置添加带有对齐/捕捉功能的英文文本(UNLWS 本身没有此功能,但对于文档很有用)
- 导出为标准矢量格式,例如用于打印海报或衬衫
有什么好方法可以做到这一点?
我故意用一种开放式的方式来表达,因为我不知道什么是合适的方法或软件包集(或者 LaTeX 是否合适)。我可以想象,部分问题(例如图形松弛)已经由 TikZ 等软件包解决了(即将在 2011 年添加类似 GraphViz neato 的支持?),但我对它们一点也不熟悉。
(FWIW:我们俩都是程序员。我以前几乎从未使用过 *TeX;亚历克斯是一名数学家,因此经常使用 TeX,并且以前也曾将 Asymptote 用于其他用途。)