先写作,后排版。换言之,内容为重,排版次之。这个道理无需多言,使用 ConTeXt 排版你的个人文档时,这一点尤为重要。因为你需要先用 ConTeXt 写文档,然后用 ConTeXt 排版文档。也就是说,你要将 ConTeXt 的所有宏分成两类,一类是用来写文档的,另一类是用于文档排版的。
写作
以科技论文为例。要写一篇科技论文,考虑的是标题、作者信息、引言、正文、结论、参考文献以及论文摘要这几部分内容的确定,这就是写作。这个过程如果用 ConTeXt 宏来表示,那就是:
\starttext
\title{...} % 标题
\author{...} % 作者信息
\section{...} % 引言
% 引言内容
\section{...} % 正文第一节
% 正文第一节内容
... ... ... % 段落 1
... ... ... % 段落 2
... ... ...
\section{...} % 正文第二节
% 正文第二节内容
... ... ...
\section{...} % 结论
% 结论内容
\placepublications % 生成参考文献
\stoptext
对上述文档内容略做说明:
% 是所有 TeX 的注释符,亦即 % 之后的文本会被 TeX 忽略,也意味着这些文本是可有可无的。
\starttext 与 \stoptext 之间的文本,即是你要写作的内容,也是是 ConTeXt 要排版的内容。
\title{...} 表示文章的标题,将 ... 替换成标题文本即可。
\section{...} 是『章节』中的『节』的标题。节标题后面的内容就是这一节的内容,即『段落』。ConTeXt 用空行对文本进行分段。
\placepublications 用于放置参考文献列表。
可将上述文档内容作为科技论文最基本的写作模板。我们写论文的过程,就是为这个模板填充内容的过程。
现在可以将上述内容保存至一个文本文件,姑且称之为 simplicity.tex,然后尝试编译它:
$ . ~/context/tex/setuptex # 该命令仅在当前终端中执行一次即可
$ context simplicity
结果你会遭遇 \author、\placepublications 等宏未定义的错误。没有关系,我们可以先简单的定义它们,即在 \starttext 之前放置以下代码:
\def\author#1{#1}
\def\placepublications{}
\def 是 TeX 提供的定义其他宏的宏。如果现在就想了解 \def 的一些细节,可以阅读『TeX 的宏 \ 第一集』。
然后即可编译通过。用 pdf 阅读器打开所生成的 simplicity.pdf,看到的应该类似下面图中的结果。请对照 simplicity.te