Table of Contents
一、我们是如何通过文章表达思想的?
写文章是为了把我们思想表达出来。而我们是怎样通过文字把思想表达出来的呢?
- 一是通过字词句本身的意思。
- 二是通过文本的结构化信息,也就是字词句之间相对的层级属性对比。例如,我们通过标题、段落、引用等结构化信息来表达信息之间的逻辑联系等。
严格说来,此二者是缺一不可的。一个没有结构化信息的文本其实是说明,这段文本的结构是扁平的,并不代表真的没有结构化信息。
二、表达文本结构化信息的方法
为表达文本的结构化信息,可以有两种方法:
- 第一是通过字符本身的形态、位置变化,例如加大字号、加粗等等,让人通过文字以外的视觉刺激"脑补"标题、段落、引用等metadata。
- 第二是让所有字符形态不变,但给不同结构的文本做上标记(Markup),直接指出不同文本的段落、标题、引用等属性。
字符本身的形态、位置变化我们都很熟悉了,在手写文档时都会自然地缩进、重启一行等。电脑软件对这一习惯的模拟,产生了WPS、WORD等软件。值得指出的是,早期DOS下的WPS也要在文本里手动输入标签,但这种标签是为了控制文档的排版,从而还是通过字符本身的形态和位置来体现结构化信息。Word里面有"样式"功能,但"样式"代表的是一揽子的排版信息,所以仍然是通过字符本身的形态和位置来体现结构化信息。
给文本加标记来体现结构化信息,代表性的自然是LaTeX啦。另外严格遵循内容与格式相分离的HTML标记也可归为此类。
总结一下:计算机储存的文本,包括字词句本身,以及附加其上的标签。前者无需赘言,而对于后者:
- WPS和Word储存的标签是描述字符的形态与相对位置,并通过自身软件翻译展示出来,这样人在阅读时就能轻松得到文本的结构化信息,但对于计算机来说,要得到这段文本的结构化信息就麻烦很多,当然并非不可能。
- LaTeX之类存储的标签则是直接指出文本的结构化信息,这样,人在直接阅读LaTeX文档时非常麻烦,但计算机则很容易。
三、“版式标签”与“结构标签”的区别:“所见即所得” vs “所想即所得”
对于一份"所见即所得"的Word文档而言,它储存的是字词句及表征其排版信息的标签,在通常的展示环境下(例如用Word软件打开之)人很容易读出文本信息。
但由于其排版标签并非完全通用,当换一个展示环境时,往往容易出现展示效果混乱,让人脑补结构化信息吃力。所以,当我们直接把Word文档内容直接复制粘贴到校内或WordPress的可视化编辑器上,往往还少不了再来一番加粗、分段……
更重要的是,根据排版标签,计算机很难进行文本操作、分析(本菜鸟还未尝用VBA直接操作过Word文档)。想想现今引领时尚风潮的XML、XBRL、Semantic Web,这显然不fashion了。
而对于"所想即所得"的LaTeX文档或内容与表现严格分离的HTML文档来说,其对计算机当然是友好的。同时,只要我们约定不同结构文本的展示方式(例如CSS),并以各种解析阅读器加以实现,那它们对人也是无比友好的。只是我们在撰写或直接阅读这类文档时吃力了点(其实如果随便写篇文章也要手动插入HTML标签,那简直是噩梦)。
四、Markdown的中出
我有点觉得Markdown就是简化了的结构标签(与LaTeX、HTML这类Markup规则相对)。它既对计算机友好:直接指出文本的结构信息,便于计算机解析操作,同时换一个展示环境也依然能完美展示(只要约定好结构与表现的对应关系,并用解析器实现即可);同时对人也很友好:撰写和直接阅读也并不吃力,当然,如果能用解析器以传统文档的形式展示出来则效果更佳。
所以,打开一个纯文本编辑器,用Markdown的规则写作吧。在Wordpress上已有各种Markdown插件把你的文档完美展示出来。校内上呢?这样看着不也挺好么。