XeTeX Chinese Preprocessor 0.2

#### 两个功能

1. 使用 Python 来对 XeTeX 文档进行处理,进行自动的中文与英文字体的切换。
2. 消除两行连续的中文之间多余的空格。

#### 如何获取

从下面的地址下载:

[http://xcp.googlecode.com/svn/trunk/xcp.py](http://xcp.googlecode.com/svn/trunk/xcp.py)

可以到 [http://code.google.com/p/xcp/](http://code.google.com/p/xcp/) 查看相关信息和提交 Issues。

#### 使用方法

现在这个版本应该可以处理任何包含中文的 XeTeX 文档了。使用方法很简单,在文档的导言区加上:

\usepackage{fontspec}

\setromanfont{Garamond Premier Pro} % 此处指定英文字体

\newfontinstance\zhfont{SimSun} % 此处指定中文字体
\newcommand{\zh}[1]{{\zhfont #1}}

然后调用:

python xcp.py foo.tex > bar.tex

编译得到的 bar.tex 即可。

#### 几点说明

1. 默认接受 UTF-8 格式的文档,如果你使用了其他编码,可以修改 xcp.py 第 5 行的 encoding=’utf-8′ 为你使用的编码,在 [http://docs.python.org/lib/standard-encodings.html](http://docs.python.org/lib/standard-encodings.html) 可以找到 Python 支持的所有编码。

2. 默认在 `\begin{document}` 之后才开始处理,到 `\end{document}` 结束处理,所以记住把 `\title{}` 之类放在这中间,其中的汉字才能被处理。如果你用的不是 LaTeX 而是 ConTeXt,可以相应的改成 `\starttext` 和 `\stoptext`。

3. 需要 Python 2.4。并建议把文件格式转换为 Unix 的。

4. 如果需要避免它处理部分代码,则可以使用 `@{}` 标记,这样 `{}` 中间的内容都不会被处理。比如 `@{中文}` 将被转换为 `{中文}`,而不是 `{\zh{中文}}`。

Author: Jiang Jiang

A software engineer from China, working on some OS for a fruit company. Interested in typography and science fiction.

One thought on “XeTeX Chinese Preprocessor 0.2”

Leave a Reply

Your email address will not be published. Required fields are marked *