有朋友问到 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 看看,效果如图:
可见中文使用了宋体,英文使用了 Minion Pro,正是我们需要的效果。