Archive for November 2006

xcp.py 的一个简单例子

有朋友问到 xcp.py 究竟怎么用,是我不对,说了半天连个例子都没举出来,光看两句介绍当然无法理解。我自己记性也不好,怕以后忘了,现在赶紧写下来:

\documentclass{article}

\usepackage{fontspec}

% 定义英文字体,更换为你希望使用的
\setromanfont{Minion Pro}

% 定义中文字体,可将 SimSun 更换为你希望使用的字体
\newfontinstance{\zhfont}{SimSun}
\newcommand{\zh}[1]{{\zhfont #1}}

% 设置中文断行,必备
\XeTeXlinebreaklocale “zh” 
\XeTeXlinebreakskip = 0pt plus 1pt 

\begin{document}

TeX 提供了一套功能强大并且十分灵活的排版语言,它多达 900 
多条指令,并且 TeX 有宏功能,用户可以不断地定义自己适用的
新命令来扩展 TeX 系统的功能。许多人利用 TeX 提供的宏定义
功能对 TeX 进行了二次开发,其中比较著名的有美国数学学会推
荐的非常适合于数学家使用的 AMS-TeX 以及适合于一般文章、报
告、书籍的 LaTeX 系统。

\end{document}

将此文件存为 foo.tex,对它

python xcp.py foo.tex > foo.out.tex
xelatex foo.out.tex
mv foo.out.pdf foo.pdf

就可以得到你需要的 PDF 啦。如果你有兴趣,还可以看看 foo.out.tex 是什么样子的:

\documentclass{article}

\usepackage{fontspec}

% 定义英文字体,更换为你希望使用的
\setromanfont{Minion Pro}

% 定义中文字体,可将 SimSun 更换为你希望使用的字体
\newfontinstance{\zhfont}{SimSun}
\newcommand{\zh}[1]{{\zhfont #1}}

% 设置中文断行,必备
\XeTeXlinebreaklocale “zh” 
\XeTeXlinebreakskip = 0pt plus 1pt 

\begin{document}

TeX \zh{提供了一套功能强大并且十分灵活的排版语言,它多达} 900 
\zh{多条指令,并且} TeX \zh{有宏功能,用户可以不断地定义自己适用的%
新命令来扩展} TeX \zh{系统的功能。许多人利用} TeX \zh{提供的宏定义%
功能对} TeX \zh{进行了二次开发,其中比较著名的有美国数学学会推%
荐的非常适合于数学家使用的} AMS-TeX \zh{以及适合于一般文章、报%
告、书籍的} LaTeX \zh{系统。}

\end{document}

可见导言区都没有修改,只是对正文区进行了预处理。

我们可以打开 PDF 看看,效果如图:

PDF produced

可见中文使用了宋体,英文使用了 Minion Pro,正是我们需要的效果。

TextMate 真是个有趣的编辑器

虽然很贵,但在 2.0 出来以后买一个也不错。

要是 Vim for Mac 能够好用点该多好…

好吧,写点什么

恩,还是得写点什么,在懒惰已经成为习惯,找借口找上瘾了的时候,看到勤奋的 midi 同学 blog 更新之快,我就不由得惭愧啊。

距离上次写 blog 又是两个月了,这两个月发生了什么事呢?

  1. 推研的事情终于尘埃落定,如无意外,明年这个时候我就该在中科院研究生院上课了。未必是最好的结果,也未必是最坏的,还是非常感谢不少朋友和老师的无私帮助。感谢我的父母。
  2. 买了一台 MacBook Pro,我和 lukhnos 这么说:新机器到手的时候,真有点手足无措的感觉。有种打开了一个憧憬已久的世界时,突然不知道该干什么的感觉。但也只是一阵子,这一阵子之后,我又给自己的 Mac 学习计划开了一个长长的单子——用 lighttpd 的作者 Jan 的话来说:hey … that’s why we are hackers :)
  3. 申请了水木社区 的 TeX 版斑竹,欢迎大家多支持。
  4. 下周又是一堆考试,还有恐怖的 12 分钟长跑,所以,你可以预料到… 下次更新时间不定!