目前,只有 ConTeXt Minimals (ConTEXt最小包)提供了最新的 ConTeXt 版本,而且可以与系统内其它 TeX 发行版和睦相处
ConTeXt Minimals 通过脚本安装,安装脚本会下载安装文件到当前目录。为了避免混乱,有必要手动为 ConTeXt Minimals 创建目录
export CTXDIR=/opt/context mkdir -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/context source $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