目前,只有 ConTeXt Minimals (ConTEXt最小包)提供了最新的 ConTeXt 版本,而且可以与系统内其它 TeX 发行版和睦相处
ConTeXt Minimals 通过脚本安装,安装脚本会下载安装文件到当前目录。为了避免混乱,有必要手动为 ConTeXt Minimals 创建目录
export CTXDIR=/opt/contextmkdir -p $CTXDIR cd $CTXDIR
使用 rsync 下载 ConTeXt Minimals 的安装脚本:
rsync -ptv rsync://contextgarden.net/minimals/setup/linux/first-setup.sh .
执行安装脚本[64](第一次安装可能会等待较长时间)
./first-setup.sh
下载完所有文件后,安装脚本会自动配置 ConTeXt Minimals [65]
新建一个 ctx 文件,内容如下:
export CTEXDIR=/opt/contextsource $CTEXDIR/tex/setuptex $CTEXDIR/tex
export OSFONTDIR="/usr/share/fonts/adobe"
![]()
| 这里的目录为 ConTeXt Minimals 安装目录 | |
ConTeXt 需要设置一些环境变量才能正常工作,使用 setuptex 脚本 |
|
OSFONTDIR 为字体路径变量,设置为系统中字体的实际路径,见“字体设置”一节
|
执行 source ctx 命令,设置好需要的环境变量,ConTeXt 工作环境便准备就绪
新建一个 a.tex 文件,内容如下:
% a.tex %这里是注释 \starttext %正文开始 Hello World. %正文内容 \stoptext %正文结束
执行 context a.tex 命令,会得到 a.pdf 文件
![]() |
提示 |
|---|---|
执行 context --purge 命令清除中间文件。但保留中间文件可以提高编译速度 |
下面是一个包含中文的 chinese.tex 文件
\usetypescriptfile[zhfonts] %加载打印字体配置文件(typescript)zhfonts.tex\usetypescript[myscript] %使用打印字体配置文件中定义打印字体的脚本myscript\setupbodyfont[myfont,rm,11pt] %设置正文字体 \setupindenting[always,2em,first] %设置中文缩进格式(首行缩进两字) \setupheads[indentnext=yes] %每节的首段也要缩进 \setupinterlinespace[big] %设置行距(big=1.5倍) \setupwhitespace[medium] %设置段间距[small, medium, big] \definepapersize[SCREEN][width=21cm,height=29.7cm] %设置页面尺寸 \setuppapersize[SCREEN][SCREEN] %纸张尺寸,通常和页面尺寸相同。(除非在印刷用纸上实现多页排版) \starttext 世界,你好! \stoptext
打印字体配置文件(typescript) 文件是一个 TeX 文件,要求与 chinese.tex 文件在同一目录,或者位于 ConTeXt Minimals 可以检索到的某个目录中[66]
新建一个打印字体配置文件(typescript),名为 zhfonts.tex,内容如下:
% engine=luatex
% \ctxlua{fonts.collections.trace = true}
\let\synchronizetext\relax
\synchronizemathfontsfalse
\spaceskip .25em plus .25em \relax
\definefontfeature[zh][mode=node,script=hang,lang=zhs]
\starttypescript [serif] [zhfont]
\definefontsynonym
[ZhSerif][name:AdobeSongStd-Light][features=zh]
\definefontsynonym
[ZhSerifBold][name:AdobeHeitiStd-Regular][features=zh]
\definefontsynonym
[ZhSerifItalic][name:AdobeKaitiStd-Regular][features=zh]
\definefontsynonym
[ZhSerifBoldItalic][name:AdobeHeitiStd-Regular][features=zh]
\definefontfallback
[WesternSerif][name:TeXGyrePagella-Regular][0x0000-0x0400][force=yes]
\definefontfallback
[WesternSerifBold][name:TeXGyrePagella-Bold][0x0000-0x0400][force=yes]
\definefontfallback
[WesternSerifItalic][name:TeXGyrePagella-Italic][0x0000-0x0400][force=yes]
\definefontfallback
[WesternSerifBoldItalic][name:TeXGyrePagella-BoldItalic][0x0000-0x0400][force=yes]
\definefontsynonym
[Serif][ZhSerif][fallbacks=WesternSerif]
\definefontsynonym
[SerifBold][ZhSerifBold][fallbacks=WesternSerifBold]
\definefontsynonym
[SerifItalic][ZhSerifItalic][fallbacks=WesternSerifItalic]
\definefontsynonym
[SerifBoldItalic][ZhSerifBoldItalic][fallbacks=WesternSerifBoldItalic]
\stoptypescript
\starttypescript [sans][zhfont]
\definefontsynonym
[ZhSans][name:AdobeKaitiStd-Regular][features=zh]
\definefontsynonym
[ZhSansBold][name:AdobeHeitiStd-Regular][features=zh]
\definefontsynonym
[ZhSansItalic][name:AdobeKaitiStd-Regular][features=zh]
\definefontsynonym
[ZhSansBoldItalic][name:AdobeHeitiStd-Regular][features=zh]
\definefontfallback
[WesternSans][name:TeXGyreAdventor-Regular][0x0000-0x0400][force=yes]
\definefontfallback
[WesternSansBold][name:TeXGyreAdventor-Bold][0x0000-0x0400][force=yes]
\definefontfallback
[WesternSansItalic][name:TeXGyreAdventor-Italic][0x0000-0x0400][force=yes]
\definefontfallback
[WesternSansBoldItalic][name:TeXGyreAdventor-BoldItalic][0x0000-0x0400][force=yes]
\definefontsynonym
[Sans][ZhSans][fallbacks=WesternSans]
\definefontsynonym
[SansBold][ZhSansBold][fallbacks=WesternSansBold]
\definefontsynonym
[SansItalic][ZhSansItalic][fallbacks=WesternSansItalic]
\definefontsynonym
[SansBoldItalic][ZhSansBoldItalic][fallbacks=WesternSansBoldItalic]
\stoptypescript
\starttypescript [mono][zhfont]
\definefontsynonym
[ZhMono][name:AdobeFangsongStd-Regular][features=zh]
\definefontsynonym
[ZhMonoBold][name:AdobeHeitiStd-Regular][features=zh]
\definefontsynonym
[ZhMonoItalic][name:AdobeFangsongStd-Regular][features=zh]
\definefontsynonym
[ZhMonoBoldItalic][name:AdobeHeitiStd-Regular][features=zh]
\definefontfallback
[WesternMono][name:TeXGyreCursor-Regular][0x0000-0x0400][force=yes]
\definefontfallback
[WesternMonoBold][name:TeXGyreCursor-Bold][0x0000-0x0400][force=yes]
\definefontfallback
[WesternMonoItalic][name:TeXGyreCursor-Italic][0x0000-0x0400][force=yes]
\definefontfallback
[WesternMonoBoldItalic][name:TeXGyreCursor-BoldItalic][0x0000-0x0400][force=yes]
\definefontsynonym
[Mono][ZhMono][fallbacks=WesternMono]
\definefontsynonym
[MonoBold][ZhMonoBold][fallbacks=WesternMonoBold]
\definefontsynonym
[MonoItalic][ZhMonoItalic][fallbacks=WesternMonoItalic]
\definefontsynonym
[MonoBoldItalic][ZhMonoBoldItalic][fallbacks=WesternMonoBoldItalic]
\stoptypescript
\starttypescript[myscript]
\definetypeface[myfont][rm][serif][zhfont]
\definetypeface[myfont][ss][sans][zhfont]
\definetypeface[myfont][tt][mono][zhfont]
\stoptypescript
下载中文字体[67],安装,并设置 OSFONTDIR 变量:
export OSFONTDIR="/usr/share/fonts/adobe"![]()
中文字体的安装路径,建议写入
ctx 文件[68]
|
执行以下命令刷新文档数据库:
context --generate
最后,使用 chinese.tex 文件生成 PDF
context chinese.tex