传统的文档,是由文字构成。现代化的文档,嵌入了符号、图、表、甚至音、视频等等许多媒体形式。为了容易理解起见,我们暂且先考虑只由文字构成的文档。但是下面的叙述也可以简单推广到其它文档对象。
文档的内容,实际上就是文字字符本身!往往就是指文字的语义(音、形、义)。而每个文字,都有其表现形式,例如,仿宋体、黑体、1号字、6号字等等。文档的结构,就是句、段、节、章、顺序等等关于内容的组织。内容和表现形式应该是可以分离的。同样,文档的结构,也应该是一个独立的属性。(需要说明的是,笔者的观点是,把文档的形式和结构等,都作为内容的扩展来理解。这当然是从研究角度的需求。本文不准备这样采信。)
文档之美,首先在于内容之美。例如,金庸的武侠小说,不管用什么字体、字号,连载还是单行本,其给用户的总体感受,应该没有什么变化。小说想传递给读者的信息,应该是通过内容就能够做到了。当然,结构必须正确。设想把金大侠的小说的章节次序打乱了来看?
文档之美,还可以体现在形式之美上。设想金大侠的小说每一段文字换一种字体或字号试试?形式之美的另外一种体现是:“大道至简”的符号表达!谁也不能否认爱因斯坦相对论的那个代表性公式E=mc^2的美。“大道至简”体现了我们古人微言大义的理念。有时候形式能够达到内容所达不到的效果。例如,现代派的表达“我 恨 透 了 这厮”确实与“我恨透了这厮”有不一样的效果。这也就是为什么有个诺奖获得者提倡“数学之美”一说。另外一个例子,数学上,不同的形式往往也约定俗成地代表了不同的内容,d表示一般的变量,粗体d就表示向量了。
那为什么说结构也是文档不可缺少的要素呢?我们都有这样的体验,昏昏欲睡地听着领导在大会上做着报告,“.…..下面,我谈第三大点……接下来我来谈谈第 (二)点……第3个方面就是要加强对文档的正确理解…….”等等。事实上,如果换成表达“……3.2.3 加强对文档的正确理解”,我们应该很容易知道领导已经开讲第3大点了,而且进入了第2小点的第3个方面。这里,“3.2.3”既是内容,又是形式,同时也体现了结构。但是,其内容随结构变化,如果这之前插入一个方面内容,那么“……3.2.3 加强对文档的正确理解”就应该调整为“……3.2.4 加强对文档的正确理解”;如果这之前插入一小点,那么“……3.2.3 加强对文档的正确理解”就应该调整为“……3.3.3 加强对文档的正确理解”……,以此类推。另外形式上,“3.2.3”也可以成为“三(二)3”。
好了,做了这么多的准备工作,我们回到LaTeX和Word的主题上来。
Word的所见所得把用户宠成了将文档的内容、形式和结构混为一谈。
首先是文档内容和形式的混淆。初级的Word用户是不区分统领标题中的“3.2.3”和正文中的“3.2.3”,他们往往硬打出标题中的“3.2.3”。实际上,正文中的“3.2.3”不管拷贝粘贴到哪里,其意义都是不变的。而标题中的“3.2.3”将随结构变化而变化。在中英混合的文档中,虽然中文是统一的比如说是宋体字,但是,夹杂其中的英文字体,很多情况下是不一致的。由于中文和英文的区别足够地大,所以,这一缺点被掩盖掉了。设想一个等价的纯英文的文档,间或地夹杂着不一种字体,读起来会有什么感受?
其次,忽略对文档结构的应用。有多少Word用户注意到了文档的段落、章、节?他们只是很满足于达到视觉上的段落、章、节效果,而实际上,他们往往都是用 “正文”模式通过随心所欲地变换字体、大小来达到结构上的效果。所以,也就不能够很容易让相同的结构保持相同的形式。例如,你可以看到第一点的标题是黑体 4号字,到了第四点的标题,就成了加粗的黑体4号字了,因为用户忘记了标题结构的表现形式。
所以,Word允许用户把文档的内容、形式和结构混为一谈。直接的例子是:你能在word文档中找到正文中所有楷体斜体的4号字“我们”,并把它们替换成黑体小4号字“我们”?不能!因为这些形式信息被混在了内容之中了。想要把一个格式文本的内容拷贝到另外一个文档场景下?对不起,请将源格式和文字内容一起拷贝!
我们来看LaTeX的解决方案:用户被迫用plain text文本把文档的内容书写出来,并且有文档结构方面描述手段。文档的表现形式,除了默认地由编译程序处理外,特别的形式效果都必须显式地用命令描述出来。所以,最终的.dvi, .ps, .pdf文档只是用户文档的一种外在表示皮肤,LaTeX源文档才是其内在内容、形式和结构的描述实体。例如,LaTeX源代码section {文档的内容、形式和结构}中,{}中是文档的内容,其结构信息由命令section 根据上下文确定,并用合适的节的符号带领内容的统一的表示形式,出现在最终文档中。
所以我很反对把word文档通过Adobe的工具直接转换成pdf文件,我把后者称为fake pdf文件,因为这样的pdf文件还不如word文件本身,与把word拍成照片没有什么两样。我有许多次评阅人家的论文,看到那种为满足投递要求而不得不把word转换成pdf的文章,而当这样的文章充斥着大块的符号公式时,我都会对作者提这样的建议:这么好的结果(假定它们都是正确的)为什么不用最好的形式来表达呢?事实上,学习使用LaTeX来表达这样好的结果,并不比做出这些结果困难多少。因为只要花时间,LaTeX总是学得会的,而论文的好结果不一定花时间就出得来的。
不可忽视的一个事实是,实际上Word是提供把内容、形式和结构区分的功能的,只是用户学会了一种抵达目的地的方法后,会认为另外一种更正确的方法太 “难”而不去学习使用了,反正我到目的地了。你会发现有许多Word“高级”用户反而把一切自动功能全部取消,所有效果一律硬打出来。事实上,当你发现 Word默认的自动功能与你的预期效果不一致时,很多情况下是你正在错误地使用Word。而这时,用户的选择往往是关闭Word的自动功能,而不是 debug你文档的写法。
其实,正确地使用所见所得的编辑工具,也可以达到几乎和用命令描述编辑工具一样的效果,但是使用难度增加了:决不会像乱用Word一样“方便”了!就如同使用命令描述编辑工具一样“难学”。呜呼,人之初,性本惰?!
我们留下了一个小小的重要问题:为什么把文档的内容、形式和结构等区分出来是有价值的并值得推荐和鼓励的?且听下回分解。