整整弄了三天。写了份《Ubuntu 9.04 环境下 TeX 中文化配置》,呕心之作。内容都在文档里面了。

主要内容包括:

这是我使用的 xeCJK 模板。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Name: XeTeX + xeCJK日常使用模板
% Author: Lox Freeman
% Email: xiaohanyu1988@gmail.com
%
% 本文档可以自由转载、修改,希望能给广大 TeXer 的中文之路提供一些方便。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\documentclass[a4paper, 12pt, titlepage]{article}

%%%%%%%%%%%%%%%%%%%%%%%%% xeCJK相关宏包 %%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{xltxtra, fontspec, xunicode}

\usepackage[slantfont, boldfont, CJKaddspaces, CJKchecksingle]{xeCJK}
\CJKsetecglue{\hskip 0.15em plus 0.05em minus 0.05em}
% slanfont: 允许斜体
% boldfont: 允许粗体
% CJKnormalspaces: 仅忽略汉字之间的空白,但保留中英文之间的空白。
% CJKchecksingle: 避免单个汉字单独占一行。
% CJKaddspaces: [备选] 忽略汉字之间的空白,并且自动在中英文转换时插入空白。

\CJKlanguage{zh-cn}                % 中文标点特殊处理
\XeTeXlinebreaklocale "zh"         % 针对中文进行断行
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt
                                   % 给予 TeX 断行一定自由度
%%%%%%%%%%%%%%%%%%%%%%%%% xeCJK %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%% 日常所用宏包、通通放在一起 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 什么常用的宏包都可以放这里。下面是我常用的宏包,每个都给出了简要注释
\usepackage[top=2.5cm, bottom=3cm, left=2cm, right=2cm]{geometry}

                                   % 控制页边距
\usepackage{enumerate}             % 控制项目列表
\usepackage{multicol}              % 多栏显示

\usepackage[%
    pdfstartview=FitH,%
    CJKbookmarks=true,%
    bookmarks=true,%
    bookmarksnumbered=true,%
    bookmarksopen=true,%
    colorlinks=true,%
    citecolor=blue,%
    linkcolor=blue,%
    anchorcolor=green,%
    urlcolor=blue%
]{hyperref}

\usepackage{titlesec}              % 控制标题
\usepackage{titletoc}              % 控制目录
\usepackage{type1cm}               % 控制字体大小
\usepackage{indentfirst}           %
 首行缩进,用  \noindent 取消某段缩进
\usepackage{bbding}                % 一些特殊符号
\usepackage{cite}                  % 支持引用
\usepackage{color,xcolor}          % 支持彩色文本、底色、文本框等
\usepackage{latexsym}              % LaTeX 一些特殊符号宏包
\usepackage{amsmath}               % AMS LaTeX 宏包
\usepackage{bm}                    % 数学公式中的黑斜体
\usepackage{relsize}               % 调整公式字体大小:\mathsmaller,
\mathlarger
%\makeindex                        % 生成索引

%%%%%%%%%%%%%%%%%%%%%%%%% 基本插图方法 %%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{graphicx}              % 图形宏包
% \begin{figure}[htbp]             % 控制插图位置
%   \setlength{\abovecaptionskip}{0pt}
%   \setlength{\belowcaptionskip}{10pt}
                                   % 控制图形和上下文的距离
%   \centering                     % 使图形居中显示
%   \includegraphics[width=0.8\textwidth]{CTeXLive2008.jpg}
                                   % 控制图形显示宽度为  0.8\textwidth
%   \caption{CTeXLive2008 安装过程} \label{fig:CTeXLive2008}
                                   % 图形题目和交叉引用标签
% \end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%% 插图方法结束 %%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%fancyhdr 设置页眉页脚 %%%%%%%%%%%%%%%%%%%%
\usepackage{fancyhdr}              % 页眉页脚
\pagestyle{fancy}                  % 页眉页脚风格
\setlength{\headheight}{15pt}      % 有时会出现  \headheight too small 的 warning
%\fancyhf{}                        % 清空当前页眉页脚的默认设置
%%%%%%%%%%%%%%%%%%%%%%%%%fancyhdr 设置结束 %%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%listings 宏包粘贴源码 %%%%%%%%%%%%%%%%%%%%
\usepackage{listings}              % 方便粘贴源代码,部分代码高亮功能
\lstloadlanguages{}                % 所要粘贴代码的编程语言

%%%% 设置 listings 宏包的一些全局样式 %%%%
%%%% 参见  http://hi.baidu.com/shawpinlee/blog/item/9ec431cbae28e41cbe09e6e4.html%%%%
\lstset{
numbers=left,                      % 在左边显示行号
numberstyle=\tiny,
keywordstyle=\color{blue!70},
commentstyle=\color{red!50!green!50!blue!50},
                                   % 关键字高亮
frame=shadowbox,                   % 给代码加框
rulesepcolor=\color{red!20!green!20!blue!20},
escapechar=`,                      % 中文逃逸字符
xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
breaklines,                        % 这条命令可以让 LaTeX 自动将长的代码行换行排版
extendedchars=false                % 这一条命令可以解决代码跨页时,章节标题,页眉等汉字不显示的问题
}
%%%%%%%%%%%%%%%%%%%%%%%%%listings 宏包设置结束 %%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%xeCJK 字体设置 %%%%%%%%%%%%%%%%%%%%%%%%%
\punctstyle{kaiming}                                      % 设置中文标点样式
                                                          % 支持 quanjiao、banjiao、kaiming等多种方式
\setCJKmainfont[BoldFont=Adobe Heiti Std]{Adobe Song Std} % 设置缺省中文字体
\setCJKsansfont[BoldFont=Adobe Heiti Std]{Adobe Kaiti Std} % 设置中文无衬线字体
\setCJKmonofont{Adobe Heiti Std}                          % 设置等宽字体
\setmainfont{DejaVu Serif}                                % 英文衬线字体
\setmonofont{DejaVu Sans Mono}                            % 英文等宽字体
\setsansfont{DejaVu Sans}                                 % 英文无衬线字体

%%%% 定义新字体 %%%%
\setCJKfamilyfont{song}{Adobe Song Std}
\setCJKfamilyfont{kai}{Adobe Kaiti Std}
\setCJKfamilyfont{hei}{Adobe Heiti Std}
\setCJKfamilyfont{fangsong}{Adobe Fangsong Std}
\setCJKfamilyfont{lisu}{LiSu}
\setCJKfamilyfont{youyuan}{YouYuan}

\newcommand{\song}{\CJKfamily{song}}                     % 自定义宋体
\newcommand{\kai}{\CJKfamily{kai}}                       % 自定义楷体
\newcommand{\hei}{\CJKfamily{hei}}                       % 自定义黑体
\newcommand{\fangsong}{\CJKfamily{fangsong}}             % 自定义仿宋体
\newcommand{\lisu}{\CJKfamily{lisu}}                     % 自定义隶书
\newcommand{\youyuan}{\CJKfamily{youyuan}}               % 自定义幼圆
%%%%%%%%%%%%%%%%%%%%%%%%%xeCJK 字体设置结束 %%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%% 一些关于中文文档的重定义 %%%%%%%%%%%%%%%%%

%%%% 数学公式定理的重定义 %%%%
\newtheorem{example}{例}                                 % 整体编号
\newtheorem{algorithm}{算法}
\newtheorem{theorem}{定理}[section]                      % 按 section 编号
\newtheorem{definition}{定义}
\newtheorem{axiom}{公理}
\newtheorem{property}{性质}
\newtheorem{proposition}{命题}
\newtheorem{lemma}{引理}
\newtheorem{corollary}{推论}
\newtheorem{remark}{注解}
\newtheorem{condition}{条件}
\newtheorem{conclusion}{结论}
\newtheorem{assumption}{假设}

%%%% 章节等名称重定义 %%%%
\renewcommand{\contentsname}{目录}
\renewcommand{\indexname}{索引}
\renewcommand{\listfigurename}{插图目录}
\renewcommand{\listtablename}{表格目录}
\renewcommand{\figurename}{图}
\renewcommand{\tablename}{表}
\renewcommand{\appendixname}{附录}

%%%% 设置 chapter、section与 subsection 的格式 %%%%
\titleformat{\chapter}{\centering\huge}{第 \thechapter{}章}{1em}{\textbf}
\titleformat{\section}{\centering\LARGE}{\thesection}{1em}{\textbf}
\titleformat{\subsection}{\Large}{\thesubsection}{1em}{\textbf}
%%%%%%%%%%%%%%%%%%%%%%%%% 中文重定义结束 %%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%% 一些个性设置 %%%%%%%%%%%%%%%%%%%%%%
% \renewcommand{\baselinestretch}{1.3}   % 效果同  \linespread{1.3}
% \pagenumbering{arabic}                 % 设定页码方式,包括 arabic、roman等方式
% \sloppy                                % 有时 LaTeX 无从断行,产生 overfull 的错误,
                                         % 这条命令降低 LaTeX 断行标准
\setlength{\parskip}{0.5\baselineskip}   % 设定段间距
\linespread{1.2}                         % 设定行距
\newcommand{\pozhehao}{\kern0.3ex\rule[0.8ex]{2em}{0.1ex}\kern0.3ex}
                                         % 中文破折号,据说来自清华模板

%%%%%%%%%%%%%%%%%%%%%%%%% 个性设置结束 %%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%% 正文部分 %%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\setlength{\parindent}{2em}
% 设定首行缩进为 2em。注意此设置一定要在 document 环境之中。
% 这可能与 \setlength 作用范围相关

\title{Ubuntu 9.04 环境下 \TeX 中文化配置}
\author{Lox Freeman}
\date{\today}

\maketitle

\tableofcontents

\newpage

\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%% 正文部分结束 %%%%%%%%%%%%%%%%%%%%%%