diff options
author | Karl Berry <karl@freefriends.org> | 2009-09-14 00:45:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-09-14 00:45:46 +0000 |
commit | 1c467aabf1a2f6e96c1cb2ef4d54e30696dbe10d (patch) | |
tree | 71512b766afbff99cbeafad38034f3d3cd3d757e /Master | |
parent | 70cdedb6d90925ebd4540d77a6b9efc3f0a19b9e (diff) |
ctex 0.94 (13sep09)
git-svn-id: svn://tug.org/texlive/trunk@15273 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
17 files changed, 305 insertions, 275 deletions
diff --git a/Master/texmf-dist/doc/latex/ctex/ctex.pdf b/Master/texmf-dist/doc/latex/ctex/ctex.pdf Binary files differindex 26a48a6cade..b89b434809f 100644 --- a/Master/texmf-dist/doc/latex/ctex/ctex.pdf +++ b/Master/texmf-dist/doc/latex/ctex/ctex.pdf diff --git a/Master/texmf-dist/doc/latex/ctex/ctex.tex b/Master/texmf-dist/doc/latex/ctex/ctex.tex index a03587fd31e..1e1343d3669 100644 --- a/Master/texmf-dist/doc/latex/ctex/ctex.tex +++ b/Master/texmf-dist/doc/latex/ctex/ctex.tex @@ -2,7 +2,7 @@ % ctex.tex: manual of ctex package \documentclass{ltxdoc} -\usepackage[UTF8,fntef,adobefonts]{ctex} +\usepackage[fntef,hyperref,adobefonts]{ctexcap} \usepackage{texnames} \topmargin 0.5 true cm \oddsidemargin 1 true cm @@ -13,9 +13,13 @@ \MakeShortVerb{\|} \setcounter{StandardModuleDepth}{1} +\def\email#1{\href{mailto:#1}{\path{#1}}} + \newcommand{\ctex}{\texttt{ctex}} \newcommand{\ctexorg}{\texttt{ctex.org}} +\newcommand{\ctexdefault}{\emph{这个是 \ctex{} 宏包的缺省模式。}} + \setlength{\parskip}{0.75ex plus .2ex minus .5ex} \renewcommand{\baselinestretch}{1.2} @@ -32,83 +36,80 @@ \begin{document} \title{\bf \ctex{} 宏包说明} -\author{\it \ctexorg\thanks{http://www.ctex.org}} -\date{\small 版本号:v0.93 \hskip 2\ccwd 修改日期:2009/07/10} +\author{\it \ctexorg\thanks{\url{http://www.ctex.org}}} +\date{\small 版本号:v0.94 \hskip 2\ccwd 修改日期:2009/09/13} \maketitle \begin{abstract} -\ctex{}~宏包提供了一个统一的中文~\LaTeX{}~文档框架,底层支持~CCT、CJK~和 -~xeCJK~三种中文~\LaTeX{}~系统。\ctex{}~宏包提供了编写中文~\LaTeX{}~文档 +\ctex{} 宏包提供了一个统一的中文 \LaTeX{} 文档框架,底层支持 CCT、CJK 和 + xeCJK 三种中文 \LaTeX{} 系统。\ctex{} 宏包提供了编写中文 \LaTeX{} 文档 常用的一些宏定义和命令。 -\ctex{}~宏包需要~CCT~系统或者~CJK~宏包或者~xeCJK~宏包的支持。主要文件包括 -~\texttt{ctexart.cls}、\texttt{ctexrep.cls}、\texttt{ctexbook.cls}~和 -~\texttt{ctex.sty}、\texttt{ctexcap.sty}。 +\ctex{} 宏包需要 CCT 系统或者 CJK 宏包或者 xeCJK 宏包的支持。主要文件包括 + \texttt{ctexart.cls}、\texttt{ctexrep.cls}、\texttt{ctexbook.cls} 和 + \texttt{ctex.sty}、\texttt{ctexcap.sty}。 -\ctex{}~宏包由~\ctexorg{}~制作并负责维护。 +\ctex{} 宏包由 \ctexorg{} 制作并负责维护。 \end{abstract} \tableofcontents \section{简介} -这个宏包的部分原始代码来自于由王磊编写~\texttt{cjkbook.cls}~文档类, -还有一小部分原始代码来自于吴凌云编写的~\texttt{GB.cap}~文件。 +这个宏包的部分原始代码来自于由王磊编写 \texttt{cjkbook.cls} 文档类, +还有一小部分原始代码来自于吴凌云编写的 \texttt{GB.cap} 文件。 原来的这些工作都是零零碎碎编写的,没有认真、系统的设计, -也没有用户文档,非常不利于维护和改进。2003~年,吴凌云用~\texttt{doc}~ -和~\texttt{docstrip}~工具重新编写了整个文档,并增加了许多新的功能。 -2007~年,oseen~和王越在~\ctex{}~宏包基础上增加了对~UTF8~编码的支持, -开发出了~\texttt{ctexutf8}~宏包。 -2009~年~5~月,我们在~Google Code~建立了~ctex-kit~项目\footnote{http://code.google.com/p/ctex-kit/}, -对~\ctex{}~宏包及相关宏包和脚本进行了整合,并加入了对~Xe\TeX{}~的支持。 -该项目由~\ctexorg{}~社区的开发者共同维护,新版本号为~v0.9。 +也没有用户文档,非常不利于维护和改进。2003 年,吴凌云用 \texttt{doc} +和 \texttt{docstrip} 工具重新编写了整个文档,并增加了许多新的功能。 +2007 年,oseen 和王越在 \ctex{} 宏包基础上增加了对 UTF-8 编码的支持, +开发出了 \texttt{ctexutf8} 宏包。 +2009 年 5 月,我们在 Google Code 建立了 ctex-kit 项目\footnote{\url{http://code.google.com/p/ctex-kit/}}, +对 \ctex{} 宏包及相关宏包和脚本进行了整合,并加入了对 Xe\TeX{} 的支持。 +该项目由 \ctexorg{} 社区的开发者共同维护,新版本号为 v0.9。 在开发新版本时,考虑到合作开发和调试的方便, -我们不再使用~\texttt{doc}~和~\texttt{docstrip}~工具,改为直接编写宏包文件。 +我们不再使用 \texttt{doc} 和 \texttt{docstrip} 工具,改为直接编写宏包文件。 -最初~Knuth~设计开发~\TeX{}~的时候没有考虑到支持多国语言, -特别是多字节的中日韩语言。这使得~\TeX{}~以至后来的 -~\LaTeX{}~对中文的支持一直不是很好。即使在~CJK~解决了中文字符 -处理的问题以后,中文用户使用~\LaTeX{}~仍然要面对许多困难。 +最初 Knuth 设计开发 \TeX{} 的时候没有考虑到支持多国语言, +特别是多字节的中日韩语言。这使得 \TeX{} 以至后来的 +\LaTeX{} 对中文的支持一直不是很好。即使在 CJK 解决了中文字符 +处理的问题以后,中文用户使用 \LaTeX{} 仍然要面对许多困难。 最常见的就是中文化的标题。由于中文习惯和西方语言的不同, 使得很难直接使用原有的标题结构来表示中文标题。因此需要对 -标准~\LaTeX{}~宏包做较大的修改。此外,还有诸如中文字号的对应 -关系等等。~\ctex{}~宏包正是尝试着解决这些问题。中间很多地方 -用到了在~\ctexorg{}~论坛上的讨论结果,在此对参与讨论的 +标准 \LaTeX{} 宏包做较大的修改。此外,还有诸如中文字号的对应 +关系等等。\ctex{} 宏包正是尝试着解决这些问题。中间很多地方 +用到了在 \ctexorg{} 论坛上的讨论结果,在此对参与讨论的 朋友们表示感谢。 -\ctex{}~宏包由五个主要文件构成: -~\texttt{ctexart.cls}、~\texttt{ctexrep.cls}、~\texttt{ctexbook.cls}~和 -~\texttt{ctex.sty}、~\texttt{ctexcap.sty}。~\texttt{ctex.sty}~主要是提供整合的 -中文环境,可以配合大多数文档类使用。而~\texttt{ctexcap.sty}~则是在~\texttt{ctex.sty}~ -的基础上对~\LaTeX{}~的三个标准文档类的格式进行修改以符合中文习惯, -该宏包只能配合这三个标准文档类使用。 -~\texttt{ctexart.cls}、~\texttt{ctexrep.cls}、~\texttt{ctexbook.cls}~则是 -~\texttt{ctex.sty}、\texttt{ctexcap.sty}~分别和三个标准文档类结合产生的新文档类, -除了包含~\texttt{ctex.sty}、\texttt{ctexcap.sty}~的所有功能,还加入了一些修改文档类 -缺省设置的内容(如使用五号字体为缺省字体)。 +\ctex{} 宏包由五个主要文件构成:\texttt{ctexart.cls}、\texttt{ctexrep.cls}、\texttt{ctexbook.cls} +和 \texttt{ctex.sty}、\texttt{ctexcap.sty}。\texttt{ctex.sty} 主要是提供整合的中文环境,可以配合大多数文档类使用。而 +\texttt{ctexcap.sty} 则是在 \texttt{ctex.sty} 的基础上对 \LaTeX{} 的三个标准文档类的格式进行修改以符合中文习惯,该宏包只能配合这三个 +标准文档类使用。\texttt{ctexart.cls}、\texttt{ctexrep.cls}、\texttt{ctexbook.cls} +则是 \texttt{ctex.sty}、\texttt{ctexcap.sty} 分别和三个标准文档类 +结合产生的新文档类,除了包含 \texttt{ctex.sty}、\texttt{ctexcap.sty} +的所有功能,还加入了一些修改文档类缺省设置的内容(如使用五号字体为缺 +省字体)。 \vskip 10pt -{\kaishu -这份说明文档可以通过用~\LaTeX{}~编译~\texttt{ctex.tex}~文件来得到。 -编译说明文档需要先安装~\ctex{}~宏包。} +\emph{这份说明文档可以通过用 Xe\LaTeX{} 编译 \texttt{ctex.tex} 文件来得到。 +编译说明文档需要先安装 \ctex{} 宏包。} \section{使用帮助} -\ctex{}~宏包的使用十分简单。如果是使用~\ctex{}~的文档类,只需用 -~\texttt{ctexart}、~\texttt{ctexrep}~或者~\texttt{ctexbook}~替换原来的 -文档类就可以了。你也可以继续使用原来的文档类,而用~\texttt{ctex.sty}~或者 -~\texttt{ctexcap.sty}~宏包来配合使用,两者的效果是一样的 +\ctex{} 宏包的使用十分简单。如果是使用 \ctex{} 的文档类,只需用 +\texttt{ctexart}、\texttt{ctexrep} 或者 \texttt{ctexbook} 替换原来的 +文档类就可以了。你也可以继续使用原来的文档类,而用 \texttt{ctex.sty} 或者 +\texttt{ctexcap.sty} 宏包来配合使用,两者的效果是一样的 (除了不能修改一些文档设置如缺省字体大小)。 -\subsection{使用~CJK~和~xeCJK} +\subsection{使用 CJK 或 xeCJK} -这是 \ctex{} 宏包的缺省设置。\ctex{} 宏包会自动根据使用的~\TeX{}~引擎 +这是 \ctex{} 宏包的缺省设置。\ctex{} 宏包会自动根据使用的 \TeX{} 引擎 调用 CJK 或者 xeCJK 宏包,你无需再自己调用。 此外,\ctex{} 宏包会在 |\begin{document}| 和 |\end{document}| -之间自动加入一个 CJK 环境,你无需再添加 CJK 环境。CJK宏包的命令都可以 +之间自动加入一个 CJK 环境,你无需再添加 CJK 环境。CJK 宏包的命令都可以 在 |\begin{document}| 和 |\end{document}| 之间正常使用。 例子1:使用文档类宏包 @@ -128,12 +129,15 @@ \end{document} \end{verbatim} -\subsection{使用~CCT} -\ctex{}~宏包也可以配合新版的~CCT~使用,只需在使用~\ctex{}~宏包时加上~CCT~选项即可。 -缺省~CCT~会使用~CJK~字库,因为这种字库方式比传统~CCT~字库更方便,兼容性也更好。 -如果要使用传统~CCT~字库,则还要加上~CCTfont~选项。 +\subsection{使用 CCT} + +注:CCT 方式\emph{不再建议}使用。 -例子3:使用~CJK~方式字库 +\ctex{} 宏包也可以配合新版的 CCT 使用,只需在使用 \ctex{} 宏包时加上 CCT 选项即可。 +缺省 CCT 会使用 CJK 字库,因为这种字库方式比传统 CCT 字库更方便,兼容性也更好。 +如果要使用传统 CCT 字库,则还要加上 CCTfont 选项。 + +例子3:使用 CJK 方式字库 \begin{verbatim} \documentclass[CCT]{ctexart} \begin{document} @@ -141,7 +145,7 @@ \end{document} \end{verbatim} -例子2:使用~CCT~方式字库 +例子2:使用 CCT 方式字库 \begin{verbatim} \documentclass[CCT,CCTfont]{ctexart} \begin{document} @@ -157,94 +161,97 @@ 如果你觉得某些设置不合适,可以向作者反映。我们会考虑在后面的 版本中予以改进。我们也欢迎关于增加或者删减选项的建议。 -{\kaishu 除了~\ref{class-opts}~和~\ref{caption-opts}~的选项, +\emph{除了 \ref{class-opts} 和 \ref{caption-opts} 的选项, 其余的选项都可以在所有文档类宏包和普通宏包上使用。} \subsubsection{只能用于文档类的选项} \label{class-opts} 下面的选项可能会是最经常使用的。但是它们只能用于文档类 -(\texttt{ctexart}、~\texttt{ctexrep}~和~\texttt{ctexbook})。 +(\texttt{ctexart}、 \texttt{ctexrep} 和 \texttt{ctexbook})。 \begin{description} \item[cs4size] 使用小四字号为缺省字体大小。 -\item[c5size] 使用五号字为缺省字体大小。{\kaishu 这个是 -~\ctex{}~文档类的缺省模式。} +\item[c5size] 使用五号字为缺省字体大小。\ctexdefault \end{description} -\subsubsection{只能用于文档类和~\texttt{ctexcap.sty}~的选项} \label{caption-opts} +\subsubsection{只能用于文档类和 \texttt{ctexcap.sty} 的选项} \label{caption-opts} -下面这些则只可以在文档类宏包和~\texttt{ctexcap.sty}~上使用。 +下面这些则只可以在文档类宏包和 \texttt{ctexcap.sty} 上使用。 \begin{description} -\item[sub3section] 将~|\paragraph|~命令产生的标题改为~section~类格式。 -此时~|\subparagraph|~命令产生的标题会具有原来~|\paragraph|~的格式。 +\item[sub3section] 将 |\paragraph| 命令产生的标题改为 section 类格式。 +此时 |\subparagraph| 命令产生的标题会具有原来 |\paragraph| 的格式。 -\item[sub4section] 将~|\paragraph|~和~|\subparagraph|~命令产生的标题 -都改为~section~类格式。 +\item[sub4section] 将 |\paragraph| 和 |\subparagraph| 命令产生的标题 +都改为 section 类格式。 \end{description} \subsubsection{中文编码选项} -下面的选项用于选择中文的编码。 +下面的选项用于选择 ctex 宏包的内部编码。 + \begin{description} -\item[GBK] 使用~GBK~编码。{\kaishu 这个是~\ctex{}~宏包的缺省模式。} +\item[GBK] 使用 GBK 编码。\ctexdefault -\item[UTF8] 使用~UTF8~编码。 +\item[UTF8] 使用 UTF-8 编码。 \end{description} +\emph{注意使用 Xe\TeX{} 引擎的情况下总是内部使用 UTF-8 编码,所以不必使用 +这个选项,但这并不妨碍编写 GBK 编码的文档。} + \subsubsection{中文字库选项} \label{fontset} 下面的选项用于选择可用的中文字库。设置这些选项是考虑到不同的操作系统平台 -提供的中文字库是不同的。不同的~\TeX{}~发行版可以根据目标操作系统平台和 -提供的中文字库在~\texttt{ctexfonts.cfg}~文件中修改这些选项之一为缺省设置。 +提供的中文字库是不同的。不同的 \TeX{} 发行版可以根据目标操作系统平台和 +提供的中文字库在 \texttt{ctexfonts.cfg} 文件中修改这些选项之一为缺省设置。 \begin{description} \item[nofonts] 没有中文字库,此时没有中文字体命令可用。 -\item[cjkfonts] 在~CJK~模式(即不使用~Xe\TeX{}~时)使用~CJKfonts~中的两套 -文鼎字库:宋体和楷体。在~xeCJK~模式(即使用~Xe\TeX{}~时),该选项将使用 -~adobefonts~选项的设置。 +\item[cjkfonts] 在 CJK 模式(即不使用 Xe\TeX{} 时)使用 CJKfonts 中的两套 +文鼎字库:宋体和楷体。在 xeCJK 模式(即使用 Xe\TeX{} 时),该选项将使用 + adobefonts 选项的设置。 -\item[winfonts] 使用~Windows~的字体设置,默认为六种中易字体:宋体、仿宋、黑体、 -楷体、隶书、幼圆。该选项的结果将和老版本~\ctex{}~宏包完全一致。 +\item[winfonts] 使用 Windows 的字体设置,默认为六种中易字体:宋体、仿宋、黑体、 +楷体、隶书、幼圆。该选项的结果将和老版本 \ctex{} 宏包完全一致。 -\item[adobefonts] 在~xeCJK~模式中使用~Adobe~的四套字体:宋体、仿宋、黑体、楷体。 -在~CJK~模式(即不使用~Xe\TeX{}~时)下,该选项将使用~winfonts~选项的设置。 +\item[adobefonts] 在 xeCJK 模式中使用 Adobe 的四套字体:宋体、仿宋、黑体、楷体。 +在 CJK 模式(即不使用 Xe\TeX{} 时)下,该选项将使用 winfonts 选项的设置。 \end{description} -\subsubsection{CCT~引擎选项} +\subsubsection{CCT 引擎选项} -下面的选项用于选择底层的中文系统。缺省情况下,宏包会根据编译方式自动选择~CJK~ -或者~xeCJK~引擎。 +下面的选项用于选择底层的中文系统。缺省情况下,宏包会根据编译方式自动选择 CJK +或者 xeCJK 引擎。 \begin{description} -\item[CCT] 使用~CCT~代替~CJK~做为底层的中文支持系统。 +\item[CCT] 使用 CCT 代替 CJK 做为底层的中文支持系统。 -\item[CCTfont] 使用传统的~CCT~字库方式,该选项会自动激活~CCT~选项。 +\item[CCTfont] 使用传统的 CCT 字库方式,该选项会自动激活 CCT 选项。 \end{description} \subsubsection{排版风格选项} \begin{description} -\item[cap] 使用中文的标题样式,缺省格式由~\texttt{ctexcap.cfg}~配置文件 -内的定义给出。对于~\texttt{ctex.sty},该选项只影响交叉引用中的数字和日期格式。 -{\kaishu 这个是~\ctex{}~宏包的缺省模式。} +\item[cap] 使用中文的标题样式,缺省格式由 \texttt{ctexcap.cfg} 配置文件 +内的定义给出。对于 \texttt{ctex.sty},该选项只影响交叉引用中的数字和日期格式。 +\ctexdefault \item[nocap] 保留使用英文的标题样式。 -\item[punct] 对中文标点的位置(宽度)进行调整。{\kaishu 这个是~\ctex{}~宏包的缺省模式。} +\item[punct] 对中文标点的位置(宽度)进行调整。\ctexdefault \item[nopunct] 不对中文标点的位置进行调整(每个标点占有相同的宽度)。 -\item[space] 使用~CJK~的保留空格模式,保留中文字符间的空格(类似英文的 +\item[space] 使用 CJK 的保留空格模式,保留中文字符间的空格(类似英文的 习惯)。你需要自己处理中文字符间的空格以及换行产生的空格(在行尾加上 -~\%~符号可以避免),否则排版结果可能不符合中文习惯。这种模式可以通过 -~|\CTEXnospace|~转换到~nospace~模式。 + \% 符号可以避免),否则排版结果可能不符合中文习惯。这种模式可以通过 + |\CTEXnospace| 转换到 nospace 模式。 -\item[nospace] 使用~CJK~的忽略空格模式,也就是~CJK*~环境的模式。 -~CJK~会自动忽略中文字符间的空格,比较符合中文习惯。在这种模式下, -可以使用~\textasciitilde~来分隔中英文字符,产生的间距稍小于普通空格, -排版效果比较美观。这种模式可以通过~|\CTEXspace|~命令转换到~space~模式。 -{\kaishu 这个是~\ctex{}~宏包的缺省模式。} +\item[nospace] 使用 CJK 的忽略空格模式,也就是 CJK* 环境的模式。 + CJK 会自动忽略中文字符间的空格,比较符合中文习惯。在这种模式下, +可以使用 \textasciitilde 来分隔中英文字符,产生的间距稍小于普通空格, +排版效果比较美观。这种模式可以通过 |\CTEXspace| 命令转换到 space 模式。 +\ctexdefault \item[indent] 使用中文的段首缩进模式,即缩进两个汉字宽度,同时每个段落 -都缩进。{\kaishu 这个是~\ctex{}~宏包的缺省模式。} +都缩进。\ctexdefault \item[noindent] 使用原来的段首缩进模式,章节标题后的第一段不缩进。 \end{description} @@ -252,69 +259,67 @@ \subsubsection{宏包兼容选项} \begin{description} -\item[fancyhdr] 保持和~\texttt{fancyhdr}~宏包的兼容性。该选项将使得 -~\texttt{fancyhdr}~宏包被自动调用。 +\item[fancyhdr] 保持和 \texttt{fancyhdr} 宏包的兼容性。该选项将使得 + \texttt{fancyhdr} 宏包被自动调用。 -\item[hyperref] 自动判断调用~\texttt{fancyhdr}~宏包的正确参数以避免产生乱码。 -该选项将使得~\texttt{hyperref}~宏包被自动调用。 +\item[hyperref] 自动判断调用 \texttt{fancyhdr} 宏包的正确参数以避免产生乱码。 +该选项将使得 \texttt{hyperref} 宏包被自动调用。 -\item[fntef] 为~\texttt{CJKfntef}~宏包和~\texttt{CCTfntef}~宏包提供统一接口。 -该选项将使得~\texttt{CJKfntef}~宏包或者~\texttt{CCTfntef}~宏包被自动调用。 +\item[fntef] 为 \texttt{CJKfntef} 宏包和 \texttt{CCTfntef} 宏包提供统一接口。 +该选项将使得 \texttt{CJKfntef} 宏包或者 \texttt{CCTfntef} 宏包被自动调用。 \end{description} \subsubsection{缺省选项} -总结一下:\ctex{}~宏包的缺省选项是~GBK nospace cap punct indent,\ctex{}~文档类 -的缺省选项是~GBK nospace cap punct indent c5size。 +总结一下:\ctex{} 宏包的缺省选项是 GBK nospace cap punct indent,\ctex{} 文档类 +的缺省选项是 GBK nospace cap punct indent c5size。 \subsection{基本命令} -\ctex{}~宏包给用户提供一个通用的文档框架,使得用户可以自由地在不同的 -底层中文系统间切换。为此,我们为~CJK~定制了一些模拟~CCT~的命令, -也对部分~CCT~命令进行了修改,使得两者保持一致。 +\ctex{} 宏包给用户提供一个通用的文档框架,使得用户可以自由地在不同的 +底层中文系统间切换。为此,我们为 CJK 定制了一些模拟 CCT 的命令, +也对部分 CCT 命令进行了修改,使得两者保持一致。 此外,我们还定义了用于设置文档参数的高级设置命令。 \subsubsection{字体设置} -中文字体很多,但是常用的就那么几个。我们为~CJK~常用的六种中文 +中文字体很多,但是常用的就那么几个。我们为 CJK 常用的六种中文 字体定义了简单易用的命令。它们是: \DescribeMacro{\songti} -宋体:~|\songti|,~CJK~等价命令~|\CJKfamily{song}| +宋体: |\songti|, CJK 等价命令 |\CJKfamily{song}| \DescribeMacro{\heiti} -黑体:~|\heiti|,~CJK~等价命令~|\CJKfamily{hei}| +黑体: |\heiti|, CJK 等价命令 |\CJKfamily{hei}| \DescribeMacro{\fangsong} -仿宋:~|\fangsong|,~CJK~等价命令~|\CJKfamily{fs}| +仿宋: |\fangsong|, CJK 等价命令 |\CJKfamily{fs}| \DescribeMacro{\kaishu} -楷书:~|\kaishu|,~CJK~等价命令~|\CJKfamily{kai}| +楷书: |\kaishu|, CJK 等价命令 |\CJKfamily{kai}| \DescribeMacro{\lishu} -隶书:~|\lishu|,~CJK~等价命令~|\CJKfamily{li}| +隶书: |\lishu|, CJK 等价命令 |\CJKfamily{li}| \DescribeMacro{\youyuan} -幼圆:~|\youyuan|,~CJK~等价命令~|\CJKfamily{you}| +幼圆: |\youyuan|, CJK 等价命令 |\CJKfamily{you}| \vskip 10pt -{\kaishu -\TeX{}~系统中必须已经定义好这六种中文字体,并且使用和~\CTeX{}~套装中 -一致的字体名称。(参见上面~CJK~等价命令的参数) +{\kaishu \TeX{} 系统中必须已经定义好这六种中文字体,并且使用和 \CTeX{} 套装中 +一致的字体名称。(参见上面 CJK 等价命令的参数) -可用的字体命令还取决于使用的中文字库选项,参见~\ref{fontset}~一节的介绍。 +可用的字体命令还取决于使用的中文字库选项,参见 \ref{fontset} 一节的介绍。 -上面的字体命令和~CCT~中的一致,但传统的~CCT~字库中没有隶书和 -仿宋两种字体,需要用户自行安装定义。如果使用~CCT~时选择~CJK~字库方式, -则可以使用这两种中文字体。 -} +上面的字体命令和 CCT 中的一致,但传统的 CCT 字库中没有隶书和 +仿宋两种字体,需要用户自行安装定义。如果使用 CCT 时选择 CJK 字库方式, +则可以使用这两种中文字体。} \subsubsection{字号、字距、字宽和缩进} \DescribeMacro{\zihao} -中文字号的设置命令是~|\zihao|\marg*{字号},例如~|\zihao{3}|。 -可以使用的参数有~16~个,小号字体在前面加负号表示,从大到小依次为 +中文字号的设置命令是 |\zihao|\marg*{字号},例如 |\zihao{3}|。 +可以使用的参数有 16 个,小号字体在前面加负号表示,从大到小依次为 \begin{center} \begin{tabular}{cccccccc} \hline @@ -329,13 +334,13 @@ \noindent 英文字体大小会始终保持和中文字体一致。 \DescribeMacro{\ziju} -汉字字距的调整使用命令~|\ziju|\marg*{字宽的倍数}。参数可以是任意的数字, -例如~|\ziju{5}|~设置汉字字距为当前汉字字宽的~5~倍,~|\ziju{0.5}|~设置汉字 +汉字字距的调整使用命令 |\ziju|\marg*{字宽的倍数}。参数可以是任意的数字, +例如 |\ziju{5}| 设置汉字字距为当前汉字字宽的 5 倍, |\ziju{0.5}| 设置汉字 字距为当前汉字字宽的一半。这里的汉字字宽指的是实际汉字的宽度, 不包含当前字距。该命令不影响英文字距。 \DescribeMacro{\ccwd} -当前汉字的字宽保存在宏~|\ccwd|~中。字宽是相邻两个汉字中心的距离, +当前汉字的字宽保存在宏 |\ccwd| 中。字宽是相邻两个汉字中心的距离, 也就是说字距会被计算在内。 \DescribeMacro{\CTEXindent} @@ -346,97 +351,98 @@ 取消缩进。 \DescribeMacro{\CTEXsetfont} -|\CTEXsetfont|~命令用于更新当前的中文字体信息,包括当前字距和缩进 +|\CTEXsetfont| 命令用于更新当前的中文字体信息,包括当前字距和缩进 距离。一般来说,用户无需使用这个命令。 \subsubsection{中文数字转换} \DescribeMacro{\CTEXnumber} -使用~CJK~提供的~|\CJKnumber|~命令可以将阿拉伯数字转换为中文数字。 -由于~\LaTeX{}~臭名昭著的脆弱命令的原因,当~|\CJKnumber|~被用在 +使用 CJK 提供的 |\CJKnumber| 命令可以将阿拉伯数字转换为中文数字。 +由于 \LaTeX{} 臭名昭著的脆弱命令的原因,当 |\CJKnumber| 被用在 章节标题等地方的时候,要么出现错误无法使用,要么无法达到预期目的, -例如在产生~PDF~书签的时候。于是我们定义了一个~|\CTEXnumber|~命令, +例如在产生 PDF 书签的时候。于是我们定义了一个 |\CTEXnumber| 命令, 可以将产生的中文数字保存下来。该命令的格式为 \begin{quote} |\CTEXnumber|\marg*{result}\marg*{number} \end{quote} -其中~\parg{result}~必须是一个~\TeX{}~宏的名字,不需要预先定义。 +其中 \parg{result} 必须是一个 \TeX{} 宏的名字,不需要预先定义。 例如 \begin{quote} |\CTEXnumber{\test}{100002005}| \end{quote} -则~|\test|~中的内容就是“一亿零二千零五”(不包括引号)。 +则 |\test| 中的内容就是“一亿零二千零五”(不包括引号)。 \DescribeMacro{\CTEXdigits} -|\CTEXdigits|~命令和~|\CTEXnumber|~命令类似,用于代替~CJK~提供的 -~|\CJKdigits|~命令。它和~|\CTEXnumber|~命令的不同之处在于转换后 +|\CTEXdigits| 命令和 |\CTEXnumber| 命令类似,用于代替 CJK 提供的 + |\CJKdigits| 命令。它和 |\CTEXnumber| 命令的不同之处在于转换后 结果是中文数字串,而不是按照中文习惯的数字。该命令的格式为 \begin{quote} |\CTEXdigits|\marg*{result}\marg*{number} \end{quote} -其中~\parg{result}~必须是一个~\TeX{}~宏的名字,不需要预先定义。 +其中 \parg{result} 必须是一个 \TeX{} 宏的名字,不需要预先定义。 例如 \begin{quote} |\CTEXnumber{\test}{100002005}| \end{quote} \CTEXdigits{\test}{100002005} -则~|\test|~中的内容就是“\test{}”(不包括引号)。 +则 |\test| 中的内容就是“\test{}”(不包括引号)。 \DescribeMacro{\chinese} -对于经常需要转换的计数器,我们特别定义了一个~|\chinese|~命令。 -该命令可以象罗马数字转换命令~|\roman|、~|\Roman|~一样使用。 +对于经常需要转换的计数器,我们特别定义了一个 |\chinese| 命令。 +该命令可以象罗马数字转换命令 |\roman|、 |\Roman| 一样使用。 具体格式是 \begin{quote} |\chinese|\marg*{counter} \end{quote} -其中~\parg{counter}~是一个~\LaTeX{}~计数器(counter),即由 -~|\newcounter|~命令产生的,例如~|section|,~|figure|~等。 +其中 \parg{counter} 是一个 \LaTeX{} 计数器(counter),即由 + |\newcounter| 命令产生的,例如 |section|, |figure| 等。 \subsection{高级设置} \DescribeMacro{\CTEXoptions} -\ctex{}~宏包中一般的设置通过~|\CTEXoptions|~命令完成。 +\ctex{} 宏包中一般的设置通过 |\CTEXoptions| 命令完成。 这个命令的基本格式是 \begin{quote} |\CTEXoptions|\oarg{\parg{key1}={\parg{val1}}, \parg{key2}={\parg{val2}}, ...} \end{quote} -其中~\parg{key1}, \parg{key2}~是设置选项, -~\parg{val1}, \parg{val2}~则是对应选项的设置内容。 +其中 \parg{key1}, \parg{key2} 是设置选项, + \parg{val1}, \parg{val2} 则是对应选项的设置内容。 多个选项可以在一个语句中完成设置。 \DescribeMacro{\CTEXsetup} -部分设置如章节标题则通过~|\CTEXsetup|~命令完成。这个命令比 -~|\CTEXoptions|~多一个参数,用于指定设置对象。 +部分设置如章节标题则通过 |\CTEXsetup| 命令完成。这个命令比 + |\CTEXoptions| 多一个参数,用于指定设置对象。 基本格式是 \begin{quote} |\CTEXsetup|\oarg{\parg{key1}={\parg{val1}}, \parg{key2}={\parg{val2}}, ...}\marg*{type} \end{quote} -其中~\parg{type}~是设置的对象类型,如~|part|, |chapter|, |section|, -|subsection|, |subsubsection|, |paragraph|, |subparagraph|~等。 -~\parg{key1}, \parg{key2}~是设置选项,如~|name|, |number|, |format|, -|nameformat|, |numberformat|, |aftername|, |titleformat|~等。 -~\parg{val1}, \parg{val2}~则是对应选项的设置内容。 +其中 \parg{type} 是设置的对象类型,如 |part|, |chapter|, |section|, +|subsection|, |subsubsection|, |paragraph|, |subparagraph| 等。 + \parg{key1}, \parg{key2} 是设置选项,如 |name|, |number|, |format|, +|nameformat|, |numberformat|, |aftername|, |titleformat| 等。 + \parg{val1}, \parg{val2} 则是对应选项的设置内容。 同一个目标类型的多个选项可以在一个语句中完成设置。 -{\kaishu 在~v0.7~版本之前,如果以上命令的参数中包含中文字符,则命令必须放在 -~|\begin{document}|~之后才能正常工作。从~v0.7~版本开始支持在导言区使用中文。} - +{\kaishu +在 v0.7 版本之前,如果以上命令的参数中包含中文字符,则命令必须放在 +|\begin{document}| 之后才能正常工作。从 v0.7 版本开始支持在导言区使用中文。 +} \subsubsection{章节标题设置} -普通章节标题的格式全部通过~|\CTEXsetup|~命令完成。 -章节类型在~|\CTEXsetup|~命令的第二个参数中指定。 +普通章节标题的格式全部通过 |\CTEXsetup| 命令完成。 +章节类型在 |\CTEXsetup| 命令的第二个参数中指定。 -{\kaishu 在~v0.7~版本之前,如果使用了宏包选项~cap~(缺省情况即是如此),则所有 -对章节标题的修改必须在~|\begin{document}|~以后进行。原因是 -缺省的中文标题设置文件~\texttt{ctexcap.cfg}~文件是在 -~|\begin{document}|~之后才会自动装入,因而之前的修改都 +{\kaishu 在 v0.7 版本之前,如果使用了宏包选项 cap (缺省情况即是如此),则所有 +对章节标题的修改必须在 |\begin{document}| 以后进行。原因是 +缺省的中文标题设置文件 \texttt{ctexcap.cfg} 文件是在 + |\begin{document}| 之后才会自动装入,因而之前的修改都 会被覆盖而无效。这一限制对后面的附录标题以及其他标题设置 -一样有效。从~v0.7~版本开始,\texttt{ctexcap.cfg}~文件 +一样有效。从 v0.7 版本开始,\texttt{ctexcap.cfg} 文件 在宏包文件结束时就已经被装入,因此可以在导言区使用设置命令。} \begin{description} @@ -447,14 +453,14 @@ \begin{quote} |\CTEXsetup[name={第,节}]{section}| \end{quote} -会使得~section~的标题使用形如“第1节”的名字。注意{\bf 不要}使用中文 +会使得 section 的标题使用形如“第1节”的名字。注意{\bf 不要}使用中文 的逗号。 该选项的缺省设置是 \begin{center} \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline part & \{第,部分\} & \{Part\cs{space},\} \\ chapter & \{第,章\} & \{Chapter\cs{space},\} \\ @@ -472,7 +478,7 @@ subparagraph & 同右 & \{,\} \\ \begin{quote} |\CTEXsetup[number={\roman{section}}]{section}| \end{quote} -会使得~section~的标题使用小写罗马数字作为编号。常用的数字样式命令有 +会使得 section 的标题使用小写罗马数字作为编号。常用的数字样式命令有 \begin{description} \item \cs{chinese}\marg*{counter}: 一, 二, 三, ... \item \cs{arabic}\marg*{counter}: 1, 2, 3, ... @@ -486,7 +492,7 @@ subparagraph & 同右 & \{,\} \\ \begin{center} \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline part & \{\cs{chinese}\marg{part}\} & \{\cs{Roman}\marg{part}\} \\ chapter & \{\cs{chinese}\marg{chapter}\} & \{\cs{arabic}\marg{chapter}\} \\ @@ -507,7 +513,7 @@ subparagraph & 同右 & \{\cs{thesubparagraph}\} \\ \begin{center} \small \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline part (article) & \{\cs{centering}\} & \{\cs{raggedright}\} \\ part & \{\cs{centering}\} & \{\cs{centering}\} \\ @@ -528,7 +534,7 @@ subparagraph & \{\cs{normalsize}\cs{bfseries}\cs{centering}\} & \{\cs{normalsize \begin{center} \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline part (article) & 同右 & \{\cs{Large}\cs{bfseries}\} \\ part & 同右 & \{\cs{huge}\cs{bfseries}\} \\ @@ -554,7 +560,7 @@ subparagraph & 同右 & \{\} \\ \begin{center} \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline part (article) & \{\cs{quad}\} & \{\cs{par}\cs{nobreak}\} \\ part & 同右 & \{\cs{par}\cs{vskip} 20pt\} \\ @@ -575,7 +581,7 @@ subparagraph & 同右 & \{\} \\ \begin{center} \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline part (article) & \{\cs{Large}\cs{bfseries}\} & \{\cs{huge}\cs{bfseries}\} \\ part & \{\cs{huge}\cs{bfseries}\} & \{\cs{Huge}\cs{bfseries}\} \\ @@ -596,7 +602,7 @@ subparagraph & 同右 & \{\} \\ \begin{center} \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline part (article) & 同右 & \{4ex\} \\ part & 无效 & 无效 \\ @@ -610,8 +616,8 @@ subparagraph & 同右 & \{3.25ex plus 1ex minus .2ex\} \\ \end{tabular} \end{center} -在~section~及以下的标题中,使用负的距离表示标题后的段落不缩进 -(如标准的英文~LaTeX~文档),否则缩进。标题上方真正的空距是该参数的绝对值。 +在 section 及以下的标题中,使用负的距离表示标题后的段落不缩进 +(如标准的英文 LaTeX 文档),否则缩进。标题上方真正的空距是该参数的绝对值。 \item[afterskip=\{\parg{afterskip}\}] 用于控制章节标题后的空距。 @@ -620,7 +626,7 @@ subparagraph & 同右 & \{3.25ex plus 1ex minus .2ex\} \\ \begin{center} \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline part (article) & 同右 & \{3ex\} \\ part & 无效 & 无效 \\ @@ -634,8 +640,8 @@ subparagraph & 同右 & \{-1em\} \\ \end{tabular} \end{center} -在~section~及以下的标题中,正的距离表示向下留出的空距(如标准的~section~标题), -使用负的距离则表示向右留出的空距的负值(如标准的~paragraph~标题)。 +在 section 及以下的标题中,正的距离表示向下留出的空距(如标准的 section 标题), +使用负的距离则表示向右留出的空距的负值(如标准的 paragraph 标题)。 \item[indent=\{\parg{indent}\}] 用于控制章节标题本身的缩进。 @@ -644,7 +650,7 @@ subparagraph & 同右 & \{-1em\} \\ \begin{center} \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline part (article) & 同右 & \{0pt\} \\ part & 无效 & 无效 \\ @@ -663,35 +669,35 @@ subparagraph & 同右 & \{\cs{parindent}\} \\ \subsubsection{部分修改标题格式} -如果只想修改标题格式中的某些参数而不是完全重新设置,可以使用带~+~号的 +如果只想修改标题格式中的某些参数而不是完全重新设置,可以使用带 + 号的 设置选项。例如 \begin{quote} |\CTEXsetup[format+={\zihao{1}}]{section}| \end{quote} -则~section~的标题使用一号字体,而其他格式设置保持不变。 +则 section 的标题使用一号字体,而其他格式设置保持不变。 -标题格式相关的选项都支持这一功能,包括~|format|, |nameformat|, |numberformat|, -|aftername|~和~|titleformat|,而且对所有文档类型都有效。 +标题格式相关的选项都支持这一功能,包括 |format|, |nameformat|, |numberformat|, +|aftername| 和 |titleformat|,而且对所有文档类型都有效。 \subsubsection{附录标题设置} -附录(appendix)的标题也使用~|\CTEXsetup|~命令进行设置, -第二个参数设为~|appendix|。但是只能使用~|name|~和~|number|~ -两个设置选项。在使用了~|\appendix|~命令之后,附录 +附录(appendix)的标题也使用 |\CTEXsetup| 命令进行设置, +第二个参数设为 |appendix|。但是只能使用 |name| 和 |number| +两个设置选项。在使用了 |\appendix| 命令之后,附录 的名字和编号会被自动使用。{\bf 附录的名字和前面的章节不同, -它只有一个部分,放在编号之前。}在~article~类文档中, -附录是用~section~实现的,而在~report~和~book~类文档中附录 -使用的是~chapter~的设置。因此在设置附录的编号的时候要注意 +它只有一个部分,放在编号之前。}在 article 类文档中, +附录是用 section 实现的,而在 report 和 book 类文档中附录 +使用的是 chapter 的设置。因此在设置附录的编号的时候要注意 使用正确的计数器。如果你要设置其他格式的附录标题, -可以根据使用的文档类直接用~section~或者~chapter~的设置命令来控制, -但是要记住把设置命令放在~|\appendix|~(如果有的话)的后面, -否则会被~|\appendix|~命令的设置覆盖。 +可以根据使用的文档类直接用 section 或者 chapter 的设置命令来控制, +但是要记住把设置命令放在 |\appendix| (如果有的话)的后面, +否则会被 |\appendix| 命令的设置覆盖。 附录的缺省设置是 \begin{center} \begin{tabular}{lll} \hline\hline - & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\ + & 使用宏包选项 cap & 使用宏包选项 nocap \\ \hline name (article) & 同右 & \{\} \\ name & \{附录\textasciitilde\} & \{Appendix\cs{space}\} \\ @@ -704,7 +710,7 @@ number & 同右 & \{\cs{Alph}\marg{chapter}\} \\ \subsubsection{其他标题设置} -除章节标题外其他标题的设置通过~|\CTEXoptions|~设置。包括 +除章节标题外其他标题的设置通过 |\CTEXoptions| 设置。包括 \begin{description} \item[contentsname] 目录名 @@ -726,8 +732,8 @@ number & 同右 & \{\cs{Alph}\marg{chapter}\} \\ \subsubsection{其他设置} -\paragraph{设置~\cs{today}~的日期格式} -使用~|\CTEXoptions|~可以设置~|\today|~命令产生的日期格式。 +\paragraph{设置 \cs{today} 的日期格式} +使用 |\CTEXoptions| 可以设置 |\today| 命令产生的日期格式。 支持的格式包括 \begin{enumerate} @@ -737,32 +743,32 @@ number & 同右 & \{\cs{Alph}\marg{chapter}\} \\ |\CTEXoptions[today=small]| \end{quote} \CTEXoptions[today=small] -|\today|~生成的日期例子为“\today{}”。 +|\today| 生成的日期例子为“\today{}”。 \item 中文数字加中文年月日 \begin{quote} |\CTEXoptions[today=big]| \end{quote} \CTEXoptions[today=big] -|\today|~生成的日期例子为“\today{}”。 +|\today| 生成的日期例子为“\today{}”。 -\item \LaTeX{}~标准格式 +\item \LaTeX{} 标准格式 \begin{quote} |\CTEXoptions[today=old]| \end{quote} \CTEXoptions[today=old] -|\today|~生成的日期例子为“\today{}”。 +|\today| 生成的日期例子为“\today{}”。 \end{enumerate} \paragraph{设置图表标题的分隔符} -使用~|\CTEXoptions|~可以设置~|\caption|~命令产生的图表标题的分隔符。 -这个分隔符缺省是使用冒号~:~。可以通过命令 +使用 |\CTEXoptions| 可以设置 |\caption| 命令产生的图表标题的分隔符。 +这个分隔符缺省是使用冒号 : 。可以通过命令 \begin{quote} |\CTEXoptions[captiondelimiter={|\parg{string}|}]| \end{quote} -设置为任意的单个字符或者字符串~\parg{string}。 +设置为任意的单个字符或者字符串 \parg{string}。 \subsection{配置文件} @@ -774,15 +780,15 @@ number & 同右 & \{\cs{Alph}\marg{chapter}\} \\ \item \texttt{ctex.cfg} \end{itemize} -\texttt{ctexopts.cfg}~用于设置缺省选项。例如可以根据系统中的可用中文字库, -设置~\ref{fontset}~一节中的几个选项之一为缺省选项。 +\texttt{ctexopts.cfg} 用于设置缺省选项。例如可以根据系统中的可用中文字库, +设置 \ref{fontset} 一节中的几个选项之一为缺省选项。 该文件会在处理宏包选项之前装入。 -\texttt{ctexcap.cfg}~是缺省中文标题格式的定义,当你使用~\texttt{cap}~ +\texttt{ctexcap.cfg} 是缺省中文标题格式的定义,当你使用 \texttt{cap} 选项时就会使用这里的定义。你可以把它改为你经常使用的格式,这样就不用 -每次都在正文中修改了。~\texttt{ctexcap.cfg}~中的设置都可以通过宏包提供 +每次都在正文中修改了。 \texttt{ctexcap.cfg} 中的设置都可以通过宏包提供 的设置命令在正文中进行修改。与中文编码有关的定义分别在 -~\texttt{ctexcap-gbk.cfg}~和~\texttt{ctexcap-utf8.cfg}~文件中。 + \texttt{ctexcap-gbk.cfg} 和 \texttt{ctexcap-utf8.cfg} 文件中。 最后,宏包还将读入 \texttt{ctex.cfg} 文件,该文件中的设置将覆盖其他配置 文件中的设置。用户可以在该文件中加入自己的定义。 @@ -796,6 +802,9 @@ number & 同右 & \{\cs{Alph}\marg{chapter}\} \\ \begin{description} +\item[v0.94 2009/09/13] +改进 hyperref 选项的支持 + \item[v0.93 2009/07/10] 加入选项 hyperref 以支持自动用合适的参数调用 hyperref 宏包 @@ -803,59 +812,59 @@ number & 同右 & \{\cs{Alph}\marg{chapter}\} \\ Add backward compatibility to old ctexutf8 packages \item[v0.91 2009/05/23] -调整宏包结构,增加对各种系统中文字库的支持选项:~cjkfonts, winfonts, +调整宏包结构,增加对各种系统中文字库的支持选项: cjkfonts, winfonts, adobefonts \item[v0.9 2009/05/05] -整合~ctexutf8~宏包,增加对~UTF8~编码的支持; -开始支持~Xe\TeX{}~中文系统(使用~xeCJK~宏包) +整合 ctexutf8 宏包,增加对 UTF-8 编码的支持; +开始支持 Xe\TeX{} 中文系统(使用 xeCJK 宏包) \item[v0.8a 2007/05/06] 增加 bold 字体的定义 \item[v0.8 2006/06/09] -将~ctex.sty~文件分割为~ctex.sty~和~ctexcap.sty, -后者只支持标准文档类增加对~|\stepcounter|~的重定义,以和~calc~宏包兼容 +将 ctex.sty 文件分割为 ctex.sty 和 ctexcap.sty, +后者只支持标准文档类增加对 |\stepcounter| 的重定义,以和 calc 宏包兼容 \item[v0.7f 2006/04/12] -采用修改~|\AtBeginDocument|~和~|\AtEndDocument|~命令的方式 -来设置~CJK~环境,以减少宏包冲突 +采用修改 |\AtBeginDocument| 和 |\AtEndDocument| 命令的方式 +来设置 CJK 环境,以减少宏包冲突 \item[v0.7e 2006/03/22] -改用~|\DeclareRobustCommand|~定义~|\CTEXnumber|~和~|\CTEXcounter|; -除去~|\CTEXdigits|~和~|\CTEX@getdigit|~命令带来的多余空格 +改用 |\DeclareRobustCommand| 定义 |\CTEXnumber| 和 |\CTEXcounter|; +除去 |\CTEXdigits| 和 |\CTEX@getdigit| 命令带来的多余空格 \item[v0.7d 2005/12/28] -在~fntef~类宏包后使用~|\normalem|~恢复~|\em|~宏的缺省定义 +在 fntef 类宏包后使用 |\normalem| 恢复 |\em| 宏的缺省定义 \item[v0.7c 2005/12/20] -增加对~|\if@mainmatter|~的判断,以兼容~amsbook~宏包 +增加对 |\if@mainmatter| 的判断,以兼容 amsbook 宏包 \item[v0.7b 2005/12/09] -调整宏包导入位置,解决~fntef~类宏包早于相应中文宏包导入的问题 +调整宏包导入位置,解决 fntef 类宏包早于相应中文宏包导入的问题 \item[v0.7a 2005/11/28] -将~ctex.cfg~文件的读取时间前移,使得导言中的设置命令优先 +将 ctex.cfg 文件的读取时间前移,使得导言中的设置命令优先 \item[v0.7 2005/11/25] -支持在导言区中使用中文和章节标题设置命令(感谢~tercelxy~的建议); -增加~CJKfntef~宏包和~CCTfntef~宏包的统一接口(感谢~chenyu\_21cn~的建议) +支持在导言区中使用中文和章节标题设置命令(感谢 tercelxy 的建议); +增加 CJKfntef 宏包和 CCTfntef 宏包的统一接口(感谢 chenyu\_21cn 的建议) \item[v0.6b 2005/11/07] -将节以下编号和标题之间的空距定义转移到相应的~aftername~变量中 +将节以下编号和标题之间的空距定义转移到相应的 aftername 变量中 \item[v0.6a 2005/09/30] -增加对~|\CCT@set@fontsize|~的判断 +增加对 |\CCT@set@fontsize| 的判断 \item[v0.6 2005/09/24] -针对~cct 0.6180~的修改, -|\set@fontsize|: cct~从~0.6180~开始将宏~|\oset@fontsize|~改为~|\CCT@set@fontsize| +针对 cct 0.6180 的修改, +|\set@fontsize|: cct 从 0.6180 开始将宏 |\oset@fontsize| 改为 |\CCT@set@fontsize| \item[v0.5c 2004/09/29] -避免重复执行设置~CJK~环境结束语句 +避免重复执行设置 CJK 环境结束语句 \item[v0.5b 2004/09/29] -改变设置~CJK~环境结束语句的~|\AtEndDocument|~执行的位置,以减少宏包冲突 +改变设置 CJK 环境结束语句的 |\AtEndDocument| 执行的位置,以减少宏包冲突 \item[v0.5a 2004/09/06] 修改图表标题分隔符设置中的错误 @@ -864,41 +873,41 @@ adobefonts General: Move Chinese definitions from ctex.cfg to ctex.def \item[v0.4d 2004/08/14] -|\ps@fancy|:~增加对~mainmatter~的判断; -|\refstepcounter|:~修改~|\ref|~命令,不再包含除编号外的内容 +|\ps@fancy|: 增加对 mainmatter 的判断; +|\refstepcounter|: 修改 |\ref| 命令,不再包含除编号外的内容 \item[v0.4c 2004/07/26] -增加判断以避免嵌套定义~|\setcounter|~和~|\addtocounter| +增加判断以避免嵌套定义 |\setcounter| 和 |\addtocounter| \item[v0.4b 2004/07/13] -|\baselinestretch|:~把~|\baselinestretch|~从~1.2~改为~1.3 +|\baselinestretch|: 把 |\baselinestretch| 从 1.2 改为 1.3 \item[v0.4a 2004/05/15] -|\CTEXdigits|:~增加~|\CTEXdigits|~命令; -|\ziju|:~修改~CCT~的字距命令使得缩进保持一致 +|\CTEXdigits|: 增加 |\CTEXdigits| 命令; +|\ziju|: 修改 CCT 的字距命令使得缩进保持一致 \item[v0.4 2004/05/13] -General:~如果指定了标准的~\LaTeX{}~字体大小,则不使用中文字号; -中文字号定义改为直接使用~pt~为单位; -|\zihao|:~删除~|\CTEX@fontsize|~命令,改为直接使用~|\fontsize|~命令 +General: 如果指定了标准的 \LaTeX{} 字体大小,则不使用中文字号; +中文字号定义改为直接使用 pt 为单位; +|\zihao|: 删除 |\CTEX@fontsize| 命令,改为直接使用 |\fontsize| 命令 \item[v0.3b 2004/05/11] -General:~增加~fancyhdr~选项 +General: 增加 fancyhdr 选项 \item[v0.3a 2004/04/30] -General:~修改命令~|\CCTpuncttrue|~的拼写错误 +General: 修改命令 |\CCTpuncttrue| 的拼写错误 \item[v0.3 2004/04/24] -General:~对页眉设置进行微调; -对中文标题的章节编号格式进行调整,去掉~|\S|; +General: 对页眉设置进行微调; +对中文标题的章节编号格式进行调整,去掉 |\S|; 修改为使用 |\chinese| 命令以避免产生错误; 修正 sub3section 和 sub4section 选项无效的问题; 增加对图表标题分隔符的设置; -|\ps@fancy|:~解决与~fancyhdr~的冲突 +|\ps@fancy|: 解决与 fancyhdr 的冲突 \item[v0.2d 2004/04/23] General: Change option c5size to base on 10pt basic class; -补上字号定义中行间距参数中缺少的~|\CTEX@bp|; +补上字号定义中行间距参数中缺少的 |\CTEX@bp|; 修改缺省的字号大小 \item[v0.2c 2004/02/13] @@ -906,37 +915,37 @@ General: Add CJKpunct as standard configuration; |\ifCTEX@punct|: 增加判断是否调整中文标点宽度的选项 \item[v0.2b 2004/02/13] -General:~修改缺省的行距; +General: 修改缺省的行距; 修改缺省的字号大小 \item[v0.2a 2004/02/11] -|\baselinestretch|:~增加对行距的设置; -|\CTEX@spaceChar|:~加快处理速度,改善和~CJKpunct~的兼容性 +|\baselinestretch|: 增加对行距的设置; +|\CTEX@spaceChar|: 加快处理速度,改善和 CJKpunct 的兼容性 \item[v0.2 2004/01/16] General: Add support for CCT; 增加部分修改标题格式设置的选项; 增加修改标题前后空距设置的选项; -|\CTEXsetfont|: |\CTEXfontinfo|~命令改为 |\CTEXsetfont|; -|\ziju|:~参数的单位由绝对距离改为相对于当前汉字大小的倍数 +|\CTEXsetfont|: |\CTEXfontinfo| 命令改为 |\CTEXsetfont|; +|\ziju|: 参数的单位由绝对距离改为相对于当前汉字大小的倍数 \item[v0.1f 2003/12/24] -|\refname|:~修正~article~类中参考文献标题没有使用中文的问题 +|\refname|: 修正 article 类中参考文献标题没有使用中文的问题 \item[v0.1e 2003/11/05] -|\refstepcounter|:~修正~|\ref|~命令后多出空格的问题 +|\refstepcounter|: 修正 |\ref| 命令后多出空格的问题 \item[v0.1d 2003/09/27] -|\addtocounter|:~将对~|\setcounter|~和~|\addtocounter|~的修改放到导言的最后以和其他宏包兼容 +|\addtocounter|: 将对 |\setcounter| 和 |\addtocounter| 的修改放到导言的最后以和其他宏包兼容 \item[v0.1c 2003/08/19] -General:~去掉生成的~.out~文件里章的标题前的多余空格 +General: 去掉生成的 .out 文件里章的标题前的多余空格 \item[v0.1b 2003/08/17] -|\zihao|:~删除多余的~|\newcount|~命令 +|\zihao|: 删除多余的 |\newcount| 命令 \item[v0.1a 2003/08/15] -General:~修正~ctex.sty~中无法使用~sub3section~和~sub4section~选项的问题 +General: 修正 ctex.sty 中无法使用 sub3section 和 sub4section 选项的问题 \item[v0.1 2003/08/15] General: First beta release @@ -950,12 +959,12 @@ General: First beta release \begin{itemize} -\item 吴凌云~(aloft@ctex.org) -\item 江疆~(gzjjgod@gmail.com) -\item 王越~(yuleopen@gmail.com) -\item 刘海洋~(LeoLiu.PKU@gmail.com) -\item LiYanrui.m2~(LiYanrui) -\item 陈之初~(Neals) +\item 吴凌云 (\email{aloft@ctex.org}) +\item 江疆 (\email{gzjjgod@gmail.com}) +\item 王越 (\email{yuleopen@gmail.com}) +\item 刘海洋 (\email{LeoLiu.PKU@gmail.com}) +\item LiYanrui.m2 (LiYanrui) +\item 陈之初 (Neals) \end{itemize} diff --git a/Master/texmf-dist/doc/latex/ctex/test/test-underdot.tex b/Master/texmf-dist/doc/latex/ctex/test/test-underdot.tex new file mode 100644 index 00000000000..0640df49294 --- /dev/null +++ b/Master/texmf-dist/doc/latex/ctex/test/test-underdot.tex @@ -0,0 +1,8 @@ +\documentclass[fntef]{ctexart} + +\begin{document} + +\CTEXunderdot{测试中文} + +\end{document} + diff --git a/Master/texmf-dist/doc/latex/ctex/test/test-xetex.tex b/Master/texmf-dist/doc/latex/ctex/test/test-xetex.tex index 5d7fe772878..1b430e728d1 100644 --- a/Master/texmf-dist/doc/latex/ctex/test/test-xetex.tex +++ b/Master/texmf-dist/doc/latex/ctex/test/test-xetex.tex @@ -2,7 +2,7 @@ % $Id$ % test-xetex.tex: XeTeX only test case, use xelatex to run -\documentclass[cs4size,a4paper,fancyhdr,fntef,winfonts]{ctexbook} +\documentclass[cs4size,a4paper,fancyhdr,fntef,UTF8,adobefonts]{ctexbook} \usepackage{hyperref} diff --git a/Master/texmf-dist/tex/latex/ctex/back/ctexartutf8.cls b/Master/texmf-dist/tex/latex/ctex/back/ctexartutf8.cls index cf6eeab5849..406d92e2f81 100644 --- a/Master/texmf-dist/tex/latex/ctex/back/ctexartutf8.cls +++ b/Master/texmf-dist/tex/latex/ctex/back/ctexartutf8.cls @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{ctexartutf8} - [2009/07/10 v0.93 ctexartutf8 + [2009/09/13 v0.94 ctexartutf8 document class] \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexart}} diff --git a/Master/texmf-dist/tex/latex/ctex/back/ctexbookutf8.cls b/Master/texmf-dist/tex/latex/ctex/back/ctexbookutf8.cls index cbf5ffb4cda..1c2d037d2bb 100644 --- a/Master/texmf-dist/tex/latex/ctex/back/ctexbookutf8.cls +++ b/Master/texmf-dist/tex/latex/ctex/back/ctexbookutf8.cls @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{ctexbookutf8} - [2009/07/10 v0.93 ctexbookutf8 + [2009/09/13 v0.94 ctexbookutf8 document class] \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} diff --git a/Master/texmf-dist/tex/latex/ctex/back/ctexcaputf8.sty b/Master/texmf-dist/tex/latex/ctex/back/ctexcaputf8.sty index d170ef74114..a3fdabd8d8f 100644 --- a/Master/texmf-dist/tex/latex/ctex/back/ctexcaputf8.sty +++ b/Master/texmf-dist/tex/latex/ctex/back/ctexcaputf8.sty @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{ctexcaputf8} - [2009/07/10 v0.93 ctexcaputf8 + [2009/09/13 v0.94 ctexcaputf8 macros package] \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{ctexcap}} diff --git a/Master/texmf-dist/tex/latex/ctex/back/ctexreputf8.cls b/Master/texmf-dist/tex/latex/ctex/back/ctexreputf8.cls index 1668248b377..1f2cbf5046a 100644 --- a/Master/texmf-dist/tex/latex/ctex/back/ctexreputf8.cls +++ b/Master/texmf-dist/tex/latex/ctex/back/ctexreputf8.cls @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{ctexreputf8} - [2009/07/10 v0.93 ctexreputf8 + [2009/09/13 v0.94 ctexreputf8 document class] \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexrep}} diff --git a/Master/texmf-dist/tex/latex/ctex/back/ctexutf8.sty b/Master/texmf-dist/tex/latex/ctex/back/ctexutf8.sty index ac7a5466085..6057b96e9a6 100644 --- a/Master/texmf-dist/tex/latex/ctex/back/ctexutf8.sty +++ b/Master/texmf-dist/tex/latex/ctex/back/ctexutf8.sty @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{ctexutf8} - [2009/07/10 v0.93 ctexutf8 + [2009/09/13 v0.94 ctexutf8 macros package] \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{ctex}} diff --git a/Master/texmf-dist/tex/latex/ctex/ctex.sty b/Master/texmf-dist/tex/latex/ctex/ctex.sty index f52b0114dfb..044644c2ac2 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctex.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctex.sty @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{ctex} - [2009/07/10 v0.93 ctex + [2009/09/13 v0.94 ctex macros package] \input{ctex-common-opts.def} diff --git a/Master/texmf-dist/tex/latex/ctex/ctexart.cls b/Master/texmf-dist/tex/latex/ctex/ctexart.cls index 4709eabbfd7..ce70777fe94 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexart.cls +++ b/Master/texmf-dist/tex/latex/ctex/ctexart.cls @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{ctexart} - [2009/07/10 v0.93 ctexart + [2009/09/13 v0.94 ctexart document class] \def\CTEX@classtoload{article} diff --git a/Master/texmf-dist/tex/latex/ctex/ctexbook.cls b/Master/texmf-dist/tex/latex/ctex/ctexbook.cls index 50e103dd09c..53b037e5ab6 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexbook.cls +++ b/Master/texmf-dist/tex/latex/ctex/ctexbook.cls @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{ctexbook} - [2009/07/10 v0.93 ctexbook + [2009/09/13 v0.94 ctexbook document class] \def\CTEX@classtoload{book} diff --git a/Master/texmf-dist/tex/latex/ctex/ctexcap.sty b/Master/texmf-dist/tex/latex/ctex/ctexcap.sty index c0390a99b3b..7ab3b831253 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexcap.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctexcap.sty @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{ctexcap} - [2009/07/10 v0.93 ctexcap + [2009/09/13 v0.94 ctexcap macros package] \input{ctex-common-opts.def} diff --git a/Master/texmf-dist/tex/latex/ctex/ctexrep.cls b/Master/texmf-dist/tex/latex/ctex/ctexrep.cls index 8454a60c77e..93203ed3596 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexrep.cls +++ b/Master/texmf-dist/tex/latex/ctex/ctexrep.cls @@ -2,7 +2,7 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{ctexrep} - [2009/07/10 v0.93 ctexrep + [2009/09/13 v0.94 ctexrep document class] \def\CTEX@classtoload{report} diff --git a/Master/texmf-dist/tex/latex/ctex/def/ctex-common.def b/Master/texmf-dist/tex/latex/ctex/def/ctex-common.def index b1222db0e74..cbb98c21269 100644 --- a/Master/texmf-dist/tex/latex/ctex/def/ctex-common.def +++ b/Master/texmf-dist/tex/latex/ctex/def/ctex-common.def @@ -9,6 +9,11 @@ \RequirePackage{ifpdf} \RequirePackage{ifxetex} + +\ifxetex +\CTEX@GBKfalse % XeTeX always use UTF-8 as default encoding +\fi + \RequirePackage{keyval}[1999/03/16] \ifCTEX@indent \RequirePackage{indentfirst} @@ -18,16 +23,24 @@ \RequirePackage{fancyhdr} \fi \ifCTEX@hyperref - \ifxetex\else - \ifpdf\else - \AtBeginDvi{\special{pdf:tounicode GBK-EUC-UCS2}} - \fi - \fi - \ifCTEX@GBK - \RequirePackage[CJKbookmarks]{hyperref} + \ifxetex + \RequirePackage[xetex]{hyperref} \else - \RequirePackage[unicode]{hyperref} + \ifpdf % pdftex + \RequirePackage[pdftex]{hyperref} + \else % dvipdfmx + \ifCTEX@GBK + \AtBeginDvi{\special{pdf:tounicode GBK-EUC-UCS2}} + \fi + \RequirePackage[dvipdfmx]{hyperref} + \fi + \ifCTEX@GBK + \hypersetup{CJKbookmarks=true} + \else + \hypersetup{unicode=true} + \fi \fi + \hypersetup{colorlinks=true} \fi % Useful definitions diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-xecjk-engine.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-xecjk-engine.def index 2ccbf1d2dba..2d63b686a0b 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-xecjk-engine.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-xecjk-engine.def @@ -1,8 +1,6 @@ % ctex-xecjk-engine.def: for XeTeX engine with xeCJK % vim:ft=tex -\CTEX@GBKfalse % XeTeX always use UTF-8 as default encoding - \RequirePackage[BoldFont,CJKnumber]{xeCJK} \defaultfontfeatures{Mapping=tex-text} diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-adobefonts.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-adobefonts.def index d3af98f1225..747f5601799 100644 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-adobefonts.def +++ b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-adobefonts.def @@ -15,5 +15,7 @@ \newcommand*{\heiti}{\CJKfamily{hei}} % 黑体 \newcommand*{\kaishu}{\CJKfamily{kai}} % 楷书 \newcommand*{\fangsong}{\CJKfamily{fs}} % 仿宋 +\newcommand*{\lishu}{\CJKfamily{li}} % 隶书 +\newcommand*{\youyuan}{\CJKfamily{you}} % 幼圆 \endinput |