stretchtext 是 Ted Nelson 在 1967 年 4 月提出的概念,是超文本的一种形式。是最容易理解的一种超文本形式。读者可以根据需要不断「拉伸」文本来展示更多的细节。Nelson 在当时如此描述:
Stretchtext Is an extremely simple but powerful form of hypertext. It Is probably the easiest possible hypertext to understand. It would be hard for a reader of stretchtext to become confused.(伸缩文本是一种极其简单却强大的超文本形式,可能是最易于理解的超文本类型。阅读伸缩文本的读者很难感到困惑。)
从概念上来讲, 超链接和 stretchtext 很像,通过打开目标文档来获得更详细的解释。不过关键差异在于 stretchtext 会原地展开,融入到原来的文本之中,用户并没有离开当前文档(上下文没有被破坏)。超链接则会跳转到第二个文档,原来的文档就看不到了。如果万维网采用 stretchtext,浏览器的实现也会相当地不同,我们阅读超文本的体验也会有很大的不同功能。不过很可惜, stretchtext 并没有被万维网和浏览器所采用。
大纲(Outline)也和 stretchtext 类似,可以逐层展开列表来获得更多的细节。不过也有不同,会将详细文本替换掉当前的文本节点。
在代码编辑器 VS Code 中,展开函数的功能实际上就和 stretchtext 的交互很接近了。当我们点击一个函数的时候,会直接在函数的下方展开该函数的实现。
在视觉化笔记中, 在不同的缩放层级下展示不同细节的内容,这也可以看作是一种 stretchtext。Nelson 在 1967 年提出的文档中,他提到了「缩放」的表述,他如此写道:
在一个方面,它似乎比普通文本更容易写:作者不必决定哪些细节要 “包含” 和 “省略”,而只需为话题和细节分配属性(或 “精细度”?),从而决定它们将在多大的放大倍数下被看到。