返回初识 ConText MKIV 命令语句

命令语句的认识

ConTeXt 的所有命令语句都以 \ 开头,随后跟着英文单词作为命令行来编辑样式。命令语句分为三种形式,直接命令,参数命令和对称包围命令语句。
1. 直接命令
直接命令形式为:\something,不需要进一步通过参数(也没有参数选项)来调整细节。
比如\par代表换行,\page代表换页。
2. 参数命令
参数命令语句后面跟着一个或多个中括号 [ ](根据命令语句而不同), 每个中括号 [ ] 内包含一组或者多组参数对,以 参数名=参数值 这种成对的方式出现在中括号内。每对参数可选,根据需要设置。大部分常见形式为:\something[key1=value1,key2=value2….]{content}。
比如\framed[width = 3cm, height = 1cm]{我是文本框}。我们在中括号 [ ] 内给 frame 设置宽度,高度,文字对齐方式,边框样式,文本内容颜色等等一些样式特征,在大括号 { } 内输入文字内容。这样就可以画出一个宽 3 cm,高 1 cm 的长方形,里面带有文字:“我是文本框”
3. 对称包围命令
对称命令成对出现,形式为\startXXX, \stopXXX, 组合在一起把被格式化的内容包围,通常应用在长文本内容上。
比如
\starttext Hello World! …… \stoptext
比如
\startitemize[n,broad,packed] \item ....................... \item ....................... \stopitemize
比如
\startnarrower[2*left,right] ............................. \stopnarrower

命令语句的可用参数

ConTeXt 支持的命令语句和语句参数在ConTeXt commands.pdf内可以查看,使用 Ctrl+F 可以快速查找命令语句。
以上图中的命令语句为例,\setupitems可以有两组参数。 第一组上方显示 1, 从下面的段落中看到 1 代表 NAME,表示可以对特定名字的 items 进行编辑。第一组下方显示 OPT, 表示 optional, 非必要参数,没有特殊要求的话可以省略不写。结合 1 对应 NAME,在这里表示如果指定 NAME,那么后面的参数只对指定 NAME 的 items 生效,如果不指定,对后续所有使用的 items 生效。 第二组参数上方显示 2, 可以使用段落中 2 对应的所有键值对。每条参数值对根据需要使用,带下划线的值表示默认值。(比如如果不设置 align 的话,默认 align = middle。)

命令语句的使用

在 ConTeXt 中,每个文档都以\starttext开头,以\stoptext结尾。两个命令中包含文档文本内容。ConTeXt 只会在结果文件里显示这组命令中的文本。

比如执行下面这段代码文件,我们可以得到一个显示 Hello, world! 的PDF文件。
\starttext Hello, world! \stoptext
现在试着写两行文字,第一行文字加粗,第二行保持正常但居中显示。这时候我们就需要一些直接命令行的帮助了。(\bold代表加粗,\par代表换行,\midaligned代表居中)
\starttext \bold{Hello, world!}\par \midaligned{Hello, world!} \stoptext
现在我们再试下带参数的命令,我想要一个宽 3 厘米,高 2 厘米的文本框,绿色背景,黄色框线,文字显示为蓝色。
\starttext \framed[width=3cm,height=2cm,background=color,backgroundcolor=green, framecolor=yellow,foregroundcolor=blue] {Hello, world!} \stoptext
边框颜色似乎不明显,来加粗一下。
\starttext \framed[width=3cm,height=2cm,background=color,backgroundcolor=green, framecolor=yellow,rulethickness=5pt,foregroundcolor=blue] {Hello, world!} \stoptext
可以发现通过使用不同的参数设置,我们可以组合出各样的结果,来达到我们想要的结果。

命令参数中的继承

在命令手册中,常常可以看到类似下面的参数。1 的对应值为 inherits:\setupframed,表示\framed的参数可选项完全继承\setupframed。对于\setupframed可以使用的参数对,\framed命令同样可以使用。
还有些命令参数可以指定继承同类型的样式,结合父母的特性和自己的额外新特性。 比如\definehead,第一个参数是名字,允许我们定义一个新的 head 并命名。第二个参数为 SECTION,可选参数,可以继承某个 SECTION 的特征,第三组参数的参数可用项继承自\setuphead,也就是可以使用\setuphead支持的所有参数对。 当 2 和 3 结合,表示我们可以定义一个新的 head,它继承 2 的特征,同时在3中可以指定新的特征。
©2024 All Rights 石家庄市友文信息技术有限责任公司冀ICP备2023031763号