summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/context/third/context-notes-zh-cn/src/project.tex
blob: 861c51f17946aafe8df94be41c6d82edecdee6e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
\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