我正在尝试使用 ConTeXt 设置一个基本文档,但甚至在开始时都遇到了困难。
首先,我尝试了ConTeXt wiki:中文。我尝试了该页面上的示例代码:
\enableregime[utf]
\usemodule[chi-00]
\starttext
你好!
\stoptext
编译时没有错误,但显示一个空文档。
接下来,我尝试根据我对汉语拼音:
\usemodule[chinese]
\usemodule[chi-simplified]
\defineunicodefont [SimChi] [SimplifiedChinese] [chinese]
\definefontsynonym [SimChiLiShuRegular] [gbls] [encoding=gbk]
\definefontsynonym [SimChiLiShuSlanted] [gbls] [encoding=gbk]
\definefontsynonym [SimChiLiShuItalic] [gbls] [encoding=gbk]
\definefontsynonym [SimChiLiShuBold] [gbls] [encoding=gbk]
\definefontsynonym [SimChiLiShuBoldSlanted] [gbls] [encoding=gbk]
\definefontsynonym [SimChiLiShuBoldItalic] [gbls] [encoding=gbk]
\starttext
\completecontent
\chapter{你好}
你好
\endtext
我不确定这段代码适用于哪个编译器:
context test.tex
编译器抱怨的是\defineunicodefont
“未定义的控制序列”。- 使用时
texexec --xtx test.tex
,编译器抱怨\setupunicodefont
“未定义的控制序列”。
最后,我忽略了所有关于使用中文的文档,并尝试按照以下方法构建一个最小的工作文档ConTeXt wiki:XeTeX 中的字体有了这个,我终于有了一些可以编译的代码(至少可以用texexec --xtx test.tex
):
\mainlanguage[chinese]
\definetypeface[Song][rm][Xserif][Adobe Song Std]
\definetypeface[Heiti][ss][Xsans][Adobe Heiti Std]
\definefont[TitleFont][Song]
\setupbodyfont[Song, 12 pt]
\setuphead[chapter][number=yes, style=Heiti]
\starttext
\chapter{你好}
你好
\stoptext
这段代码编译通过,并且显示中文,但是我很快发现了一些问题:
\mainlanguage
设置为[chinese]
,但文档使用英文标题(例如“Contents”),而不是中文标题(例如“目录”),并且使用西式章节编号(例如“1, 1.1”),而不是中文编号(例如“第一章”),以及所有其他在汉语拼音和ConTeXt 最新版 1999/7 中文文档。- 编译时,它会在任何地方放置换行符,因此所有句子都会超出页面范围。
如何在 ConTeXt 中创建基本的中文文档(最好使用 OpenType 字体)?是否有类似ctex
或xecjk
可用于 ConTeXt 的工具?
答案1
这是 ConTeXt mkiv 的基本中文文档。您可以使用“context test.tex”编译它(当然,您需要有 STFangSong 字体)。我不懂中文,但据我所知,数字和章节标题看起来像中文。
\setscript[hanzi]
\starttypescript [serif] [stfangsong]
\definefontsynonym [Serif] [name:stfangsong][features=chinese]
\stoptypescript
\starttypescript [stfangsong]
\definetypeface [stfangsong] [rm] [serif] [stfangsong] [default]
\stoptypescript
\setuppagenumber [numberconversion=cn]
\definestructureconversionset [chinese] [numbers] [cn]
\setupheads [sectionconversionset=chinese]
\define[2]\ChineseChapter
{第#1章 #2}
\setuphead [chapter] [command=\ChineseChapter]
\setupbodyfont [stfangsong,12pt]
\mainlanguage[cn]
\setuppagenumbering[state=start]
\starttext
\startchapter[title={你好}]
你好!
\stopchapter
\completecontent[criterium=all]
\stoptext