\startcomponent project \environment doc-env \product ctxnotes \chapter{大文档项目} 对于规模比较大的文档项目而言,采用 \TEX\ 的优越性要高于 WYSIWYG 的字处理器 (MS Word)。众人谓之曰字处理器使用起来比较方便,实际这只不过表面现象,在其背后是文档更新方面的困难——难以进行多人协同撰写与版本维护。本章主要介绍 \CONTEXT\ 所提供的文档项目管理功能,探讨如何在文档项目中布置版本控制系统,建立一种比较稳定的大文档项目撰写模式。 \section{项目的部署} 一个 \TeX\ 文档项目,通常可以将文档结构分为:环境、宏、文档主体内容。这样划分的意图就是让文档的样式与内容分离开。环境,主要用于定制版面样式。宏,主要是封装一些排版命令,实现一些特定的排版功能。在 \CONTEXT\ 中,环境或宏可以由一份或多份专门的环境文件来定义,环境文件的格式如下: \startniceTEX \startenvironment 环境文件名 ... 环境内容 ... \stopenvironment \stopniceTEX 如果不对文档的主体内容进行划分的话,那么它就与普通的 \CONTEXT\ 文档无异,只是多了加载环境文件的命令: \startniceTEX \environment 环境文档名 ... ... ... \starttext ... 文档内容 \stoptext \stopniceTEX 如果对文档的主体内容细分下去,可以有封面、前言、正文章节、附录、封底等。文档结构划分的深浅程度,这个主要由用户来把握,主要视文档的规模而定。对于 \CONTEXT\ 而言,文档的主体内容实际上只有产品 (product) 与 组件 (component) 这两种划分\footnote{事实上还有比产品更高层的结构,就是项目 (project),不过我们写文档一般用不到它,如果是出版期刊杂志倒是有可能用到它。}\;。对于产品与组件之间的关系,这在产品文档中便可以直观地看到,譬如: \startniceTEX \startproduct 产品文档名 \environment 环境文档名 \component 组件文档 1 \component 组件文档 2 ... ... ... \stopproduct \stopniceTEX 产品文档将环境与组件的信息都记录了下来,因此当我们在使用 \CONTEXT\ 编译一个文档项目时,只需要编译产品文档即可。 组件文档的格式如下: \startniceTEX \startcomponent 组件文档名 \environment 环境文档名 \product 所属产品名 ... 组件内容 ... \stopcomponent \stopniceTEX 也可以直接编译组件文档,因为在组件文档中已经记录了所使用的环境文档信息;在撰写文档的过程中,推荐使用编译组件文档的方式来查看排版效果。 \section{更多阅读……} 如果上述内容有误或者你认为讲述的不够细致,那么请阅读以下文档: \startitemize \item “\CONTEXT\ 文稿的物理结构”:\crlf \hbox{\tt http://garfileo.is-programmer.com/2011/1/12/project-structure.23773.html} \stopitemize 我计划今年年底将这些外部文档归整到这份文档中。 \stopcomponent