#### 两个功能
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{中文}}`。
你好jjgod
在这篇文章的下面找到你的名字(同一个人?)但是中文的链接是错误的。搜了一下,找到这里。冒昧打扰。
(http://www.maxdesign.com.au/presentation/checklist.htm)
不知道你还有没有那篇译文,方便共享?我重新弄了一篇,地址如下,请指教。
http://hi.baidu.com/webworker/blog/item/38c652afbca26afbfaed5015.html