又开始折腾了

今天晚上装了context minimals,按照LiYanrui的教程简单配置了中文字体,主要是被context的惊艳所震撼了,经不住诱惑啊,呵呵~

xetex和luatex(context所使用的tex引擎)都是针对utf8设计的,并且支持本地字体的调用,但是相对于xetex,luatex的设计更加理想化,这导致它现在非常不成熟,不过,xetex的作者也表示过,只要luatex够成熟,就会放弃xetex的开发和维护的。不过也正是luatex的理想化,我用context编译短短的一句英文就花了十多秒,cpu使用率狂飙~

——————————

今天ljl找我说他要退了云云,说是能不能叫我去当个支委。我是无所谓的,开拓一下视野也不错的嘛,一直闷着头干一件事也不见得好。

不过到了研究生的话,这种事情就别再怎么干了。

这几天有点儿失落,粉体的SEM测不了,还得盲目的配溶液烧粉体,还不知道结果怎么样。吴老师说最好能够这个学期做出结果,但是现在自己一点头绪都没有,郁闷──笨鸟先飞,还是要多看多学多想!

xelatex中文字体配置(2)

这篇日志介绍archlinux环境中字体的安装和用xeCJK方式输入中文的相关配置。

—————————————–

字体的安装:

将simsun等字体复制到目录/usr/share/fonts/TTF

在字体所在目录
执行命令:
mkfontdir  生成font.dir
ttmkfdir   为ttc字体生成font.dir
mkfontscale 为simsun.ttc生成font.scale

生成encoding文件:
sudo cp /usr/share/fonts/encodings/encodings.dir ./

以上命令为X.org 字体系统服务

以下命令为xft字体系统服务:

sudo fc-cache -fv   刷新xft字体库

重启X即可。

——————————————-

xelatex+xeCJK配置:

安装xeCJK宏包:

xeCJK宏包可以从这里下载。

宏包的安装可以参考我的上一篇日志

xeCJK配置:

解压缩xeCJK宏包xecjk-2.2.9.zip,并按照目录结构复制到以下目录:
/usr/share/texmf

执行命令:
texhash

在写tex文件时,可以用以下模板:

\documentclass[a4paper]{article}

\usepackage[version=3]{mhchem}
\usepackage{amsmath}

\usepackage{xeCJK}
\CJKlanguage{zh-cn}
\setmainfont{DejaVu Sans}
\setCJKmainfont{AR PL UMing CN}
\setCJKsansfont[BoldFont=AR PL New Kai]{AR PL New Kai}
\setCJKmonofont{DejaVu Sans Mono}
\setCJKfamilyfont{song}{AR PL New Sung}
\setCJKfamilyfont{kai}{AR PL New Kai}
\setCJKfamilyfont{hei}{文泉驿正黑}

把字体改为你自己的系统字体即可。

在正文中更改字体,可以用以下方式:

\CJKfamily{kai} 这样可以输入楷体

还可以更方便一点:

在导言区定义新命令:

\newcommand\kai{\CJKfamily{kai}}

那么,正文中可以这样写了:

\kai 这里可以输入楷体

————————————-

总的来说xelatex输入中文还是很方便的,用zhconfcfg宏包和xeCJK宏包均可,当然还有很多其他的选择了。

xelatex中文字体配置(1)

xelatex中文字体配置:

/usr/share/texmf/tex/latex/local/zhfontcfg 

下创建宏包zhfontcfg.sty

%大概就是放在texmf之类的目录,具体到哪个位置无所谓,因为要执  行texhash命令的。

内容如下:
————————
% xetex/xelatex 字体设定宏包,作者:lyanry (2007.7.24)

\ProvidesPackage{zhfontcfg}
\usepackage{fontspec,xunicode}
\defaultfontfeatures{Mapping=tex-text} %如果没有它,会有一些 tex 特殊字符无法正常使用,比如连字符。

 % 中文断行
\XeTeXlinebreaklocale “zh”
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt

%将系统字体名映射为逻辑字体名称,主要是为了维护的方便
\newcommand\fontnamehei{文泉驿正黑}
\newcommand\fontnamesong{文鼎PL新宋}
\newcommand\fontnamekai{AR PL UKai CN}
\newcommand\fontnamemono{Bitstream Vera Sans Mono}
\newcommand\fontnameroman{Bitstream Vera Serif}

%设置文档正文字体为宋体
\setmainfont{\fontnamesong}
\setsansfont[BoldFont=\fontnamekai]{\fontnamekai}
\setmonofont{\fontnamemono}

%楷体
\newfontinstance\KAI {\fontnamekai}
\newcommand{\kai}[ 1]{{\KAI  #1}}

%黑体
%\newfontinstance\HEI{\fontnamehei}
%\newcommand{\hei}[ 1]{{\HEI # 1}}

%英文
\newfontinstance\ENF{\fontnameroman }
\newcommand{\en}[1 ]{\,{\ENF #1 }\,}
\newcommand{\EN}{\,\ENF\, }

———————–

然后刷新文件:texhash

——————————————-

现在你就可以在xelatex中使用zhfontcfg宏包:

\usepackage{zhfontcfg}

输入中文

\kai{这样可以输入楷体}

—————————————–