📄 ctex.dtx
字号:
% 中文字体很多,但是常用的就那么几个。我们为~CJK~常用的六种中文
% 字体定义了简单易用的命令。它们是:
%
% \DescribeMacro{\songti}
% 宋体:~|\songti|,~CJK~等价命令~|\CJKfamily{song}|
%
% \DescribeMacro{\heiti}
% 黑体:~|\heiti|,~CJK~等价命令~|\CJKfamily{hei}|
%
% \DescribeMacro{\fangsong}
% 仿宋:~|\fangsong|,~CJK~等价命令~|\CJKfamily{fs}|
%
% \DescribeMacro{\kaishu}
% 楷书:~|\kaishu|,~CJK~等价命令~|\CJKfamily{kai}|
%
% \DescribeMacro{\lishu}
% 隶书:~|\lishu|,~CJK~等价命令~|\CJKfamily{li}|
%
% \DescribeMacro{\youyuan}
% 幼圆:~|\youyuan|,~CJK~等价命令~|\CJKfamily{you}|
%
% \vskip 10pt
% {\kaishu
% \TeX{}~系统中必须已经定义好这六种中文字体,并且使用和~\CTeX{}~套装中
% 一致的字体名称。(参见上面~CJK~等价命令的参数)
%
% 上面的字体命令和~CCT~中的一致,但传统的~CCT~字库中没有隶书和
% 仿宋两种字体,需要用户自行安装定义。如果使用~CCT~时选择~CJK~字库方式,
% 则可以使用这两种中文字体。
% }
%
% \subsubsection{字号、字距、字宽和缩进}
%
% \DescribeMacro{\zihao}
% 中文字号的设置命令是~|\zihao|\marg*{字号},例如~|\zihao{3}|。
% 可以使用的参数有~16~个,小号字体在前面加负号表示,从大到小依次为
% \begin{center}
% \begin{tabular}{cccccccc}
% \hline
% 初号 & 小初 & 一号 & 小一 & 二号 & 小二 & 三号 & 小三 \\
% 0 & -0 & 1 & -1 & 2 & -2 & 3 & -3 \\
% \hline
% 四号 & 小四 & 五号 & 小五 & 六号 & 小六 & 七号 & 八号 \\
% 4 & -4 & 5 & -5 & 6 & -6 & 7 & 8 \\
% \hline
% \end{tabular}
% \end{center}
% \noindent 英文字体大小会始终保持和中文字体一致。
%
% \DescribeMacro{\ziju}
% 汉字字距的调整使用命令~|\ziju|\marg*{字宽的倍数}。参数可以是任意的数字,
% 例如~|\ziju{5}|~设置汉字字距为当前汉字字宽的~5~倍,~|\ziju{0.5}|~设置汉字
% 字距为当前汉字字宽的一半。这里的汉字字宽指的是实际汉字的宽度,
% 不包含当前字距。该命令不影响英文字距。
%
% \DescribeMacro{\ccwd}
% 当前汉字的字宽保存在宏~|\ccwd|~中。字宽是相邻两个汉字中心的距离,
% 也就是说字距会被计算在内。
%
% \DescribeMacro{\CTEXindent}
% 正常的缩进两个汉字字宽的距离,同时在汉字大小和字距改变的
% 情况都可以自动修改缩进距离。
%
% \DescribeMacro{\CTEXnoindent}
% 取消缩进。
%
% \DescribeMacro{\CTEXsetfont}
% |\CTEXsetfont|~命令用于更新当前的中文字体信息,包括当前字距和缩进
% 距离。一般来说,用户无需使用这个命令。
%
%
% \subsubsection{中文数字转换}
%
% \DescribeMacro{\CTEXnumber}
% 使用~CJK~提供的~|\CJKnumber|~命令可以将阿拉伯数字转换为中文数字。
% 由于~\LaTeX{}~臭名昭著的脆弱命令的原因,当~|\CJKnumber|~被用在
% 章节标题等地方的时候,要么出现错误无法使用,要么无法达到预期目的,
% 例如在产生~PDF~书签的时候。于是我们定义了一个~|\CTEXnumber|~命令,
% 可以将产生的中文数字保存下来。该命令的格式为
% \begin{quote}
% |\CTEXnumber|\marg*{result}\marg*{number}
% \end{quote}
% 其中~\parg{result}~必须是一个~\TeX{}~宏的名字,不需要预先定义。
% 例如
% \begin{quote}
% |\CTEXnumber{\test}{100002005}|
% \end{quote}
% 则~|\test|~中的内容就是“一亿零二千零五”(不包括引号)。
%
% \DescribeMacro{\CTEXdigits}
% |\CTEXdigits|~命令和~|\CTEXnumber|~命令类似,用于代替~CJK~提供的
% ~|\CJKdigits|~命令。它和~|\CTEXnumber|~命令的不同之处在于转换后
% 结果是中文数字串,而不是按照中文习惯的数字。该命令的格式为
% \begin{quote}
% |\CTEXdigits|\marg*{result}\marg*{number}
% \end{quote}
% 其中~\parg{result}~必须是一个~\TeX{}~宏的名字,不需要预先定义。
% 例如
% \begin{quote}
% |\CTEXnumber{\test}{100002005}|
% \end{quote}
% 则~|\test|~中的内容就是“一○○○○二○○五”(不包括引号)。
%
% \DescribeMacro{\chinese}
% 对于经常需要转换的计数器,我们特别定义了一个~|\chinese|~命令。
% 该命令可以象罗马数字转换命令~|\roman|、~|\Roman|~一样使用。
% 具体格式是
% \begin{quote}
% |\chinese|\marg*{counter}
% \end{quote}
% 其中~\parg{counter}~是一个~\LaTeX{}~计数器(counter),即由
% ~|\newcounter|~命令产生的,例如~|section|,~|figure|~等。
%
%
% \subsection{高级设置}
%
% \DescribeMacro{\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}~则是对应选项的设置内容。
% 多个选项可以在一个语句中完成设置。
%
% \DescribeMacro{\CTEXsetup}
% 部分设置如章节标题则通过~|\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}~则是对应选项的设置内容。
% 同一个目标类型的多个选项可以在一个语句中完成设置。
%
% {\bf 如果以上命令的参数中包含中文字符,则命令必须放在
% ~|\begin{document}|~之后才能正常工作。}
% \footnote{从~v0.7~版本开始支持在导言区使用中文。}
%
%
% \subsubsection{章节标题设置}
%
% 普通章节标题的格式全部通过~|\CTEXsetup|~命令完成。
% 章节类型在~|\CTEXsetup|~命令的第二个参数中指定。
% {\bf 如果使用了宏包选项~cap~(缺省情况即是如此),则所有
% 对章节标题的修改必须在~|\begin{document}|~以后进行。原因是
% 缺省的中文标题设置文件~\texttt{ctexcap.cfg}~文件是在
% ~|\begin{document}|~之后才会自动装入,因而之前的修改都
% 会被覆盖而无效。}这一限制对后面的附录标题以及其他标题设置
% 一样有效。\footnote{从~v0.7~版本开始,\texttt{ctexcap.cfg}~文件
% 在宏包文件结束时就已经被装入,因此可以在导言区使用设置命令。}
%
% \begin{description}
%
% \item[name=\{\parg{prename},\parg{postname}\}]
% 该选项用于设置章节的名字,包括章节编号前后的词语,两个之间用逗号分开。
% 例如
% \begin{quote}
% |\CTEXsetup[name={第,节}]{section}|
% \end{quote}
% 会使得~section~的标题使用形如“第1节”的名字。注意{\bf 不要}使用中文
% 的逗号。
%
% 该选项的缺省设置是
% \begin{center}
% \begin{tabular}{lll}
% \hline\hline
% & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% part & \{第,部分\} & \{Part\cs{space},\} \\
% chapter & \{第,章\} & \{Chapter\cs{space},\} \\
% section & 同右 & \{,\} \\
% subsection & 同右 & \{,\} \\
% subsubsection & 同右 & \{,\} \\
% paragraph & 同右 & \{,\} \\
% subparagraph & 同右 & \{,\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
% \item[number=\{\parg{number}\}]
% 该选项用于设置章节编号的数字样式。例如
% \begin{quote}
% |\CTEXsetup[number={\roman{section}}]{section}|
% \end{quote}
% 会使得~section~的标题使用小写罗马数字作为编号。常用的数字样式命令有
% \begin{description}
% \item \cs{chinese}\marg*{counter}: 一, 二, 三, ...
% \item \cs{arabic}\marg*{counter}: 1, 2, 3, ...
% \item \cs{roman}\marg*{counter}: i, ii, iii, ...
% \item \cs{Roman}\marg*{counter}: I, II, III, ...
% \item \cs{alph}\marg*{counter}: a, b, c, ...
% \item \cs{Alph}\marg*{counter}: A, B, C, ...
% \end{description}
%
% 该选项的缺省设置是
% \begin{center}
% \begin{tabular}{lll}
% \hline\hline
% & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% part & \{\cs{chinese}\marg{part}\} & \{\cs{Roman}\marg{part}\} \\
% chapter & \{\cs{chinese}\marg{chapter}\} & \{\cs{arabic}\marg{chapter}\} \\
% section & 同右 & \{\cs{thesection}\} \\
% subsection & 同右 & \{\cs{thesubsection}\} \\
% subsubsection & 同右 & \{\cs{thesubsubsection}\} \\
% paragraph & 同右 & \{\cs{theparagraph}\} \\
% subparagraph & 同右 & \{\cs{thesubparagraph}\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
% \item[format=\{\parg{format}\}]
% 用于控制章节标题的全局格式,作用域为章节名字和随后的标题内容。
% 常用于控制章节标题的对齐方式。
%
% 该选项的缺省设置是
% \begin{center} \small
% \begin{tabular}{lll}
% \hline\hline
% & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% part (article) & \{\cs{centering}\} & \{\cs{raggedright}\} \\
% part & \{\cs{centering}\} & \{\cs{centering}\} \\
% chapter & \{\cs{centering}\} & \{\cs{raggedright}\} \\
% section & \{\cs{Large}\cs{bfseries}\cs{centering}\} & \{\cs{Large}\cs{bfseries}\} \\
% subsection & \{\cs{large}\cs{bfseries}\cs{centering}\} & \{\cs{large}\cs{bfseries}\} \\
% subsubsection & \{\cs{normalsize}\cs{bfseries}\cs{centering}\} & \{\cs{normalsize}\cs{bfseries}\} \\
% paragraph & \{\cs{normalsize}\cs{bfseries}\cs{centering}\} & \{\cs{normalsize}\cs{bfseries}\} \\
% subparagraph & \{\cs{normalsize}\cs{bfseries}\cs{centering}\} & \{\cs{normalsize}\cs{bfseries}\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
% \item[nameformat=\{\parg{nameformat}\}]
% 用于控制章节名字的格式,作用域为章节名字,包括编号。
%
% 该选项的缺省设置是
% \begin{center}
% \begin{tabular}{lll}
% \hline\hline
% & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% part (article) & 同右 & \{\cs{Large}\cs{bfseries}\} \\
% part & 同右 & \{\cs{huge}\cs{bfseries}\} \\
% chapter & 同右 & \{\cs{huge}\cs{bfseries}\} \\
% section & 同右 & \{\} \\
% subsection & 同右 & \{\} \\
% subsubsection & 同右 & \{\} \\
% paragraph & 同右 & \{\} \\
% subparagraph & 同右 & \{\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
% \item[numberformat=\{\parg{numberformat}\}]
% 用于控制章节编号的格式。一般为空,当你需要编号的格式和前后的章节名字
% 不一样时使用。
%
% \item[aftername=\{\parg{aftername}\}]
% 用于控制章节标题中章节名字和随后的标题内容之间的格式变换。
% 常用于控制标题内容是否另起一行。
%
% 该选项的缺省设置是
% \begin{center}
% \begin{tabular}{lll}
% \hline\hline
% & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% part (article) & \{\cs{quad}\} & \{\cs{par}\cs{nobreak}\} \\
% part & 同右 & \{\cs{par}\cs{vskip} 20pt\} \\
% chapter & \{\cs{quad}\} & \{\cs{par}\cs{vskip} 20pt\} \\
% section & 同右 & \{\} \\
% subsection & 同右 & \{\} \\
% subsubsection & 同右 & \{\} \\
% paragraph & 同右 & \{\} \\
% subparagraph & 同右 & \{\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
% \item[titleformat=\{\parg{titleformat}\}]
% 用于控制标题内容的格式,作用域为章节标题内容。
%
% 该选项的缺省设置是
% \begin{center}
% \begin{tabular}{lll}
% \hline\hline
% & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% part (article) & \{\cs{Large}\cs{bfseries}\} & \{\cs{huge}\cs{bfseries}\} \\
% part & \{\cs{huge}\cs{bfseries}\} & \{\cs{Huge}\cs{bfseries}\} \\
% chapter & \{\cs{huge}\cs{bfseries}\} & \{\cs{Huge}\cs{bfseries}\} \\
% section & 同右 & \{\} \\
% subsection & 同右 & \{\} \\
% subsubsection & 同右 & \{\} \\
% paragraph & 同右 & \{\} \\
% subparagraph & 同右 & \{\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
% \item[beforeskip=\{\parg{beforeskip}\}]
% 用于控制章节标题前的空距。
%
% 该选项的缺省设置是
% \begin{center}
% \begin{tabular}{lll}
% \hline\hline
% & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% part (article) & 同右 & \{4ex\} \\
% part & 无效 & 无效 \\
% chapter & 同右 & \{50pt\} \\
% section & 同右 & \{-3.5ex plus -1ex minus -.2ex\} \\
% subsection & 同右 & \{-3.25ex plus -1ex minus -.2ex\} \\
% subsubsection & 同右 & \{-3.25ex plus -1ex minus -.2ex\} \\
% paragraph & 同右 & \{3.25ex plus 1ex minus .2ex\} \\
% subparagraph & 同右 & \{3.25ex plus 1ex minus .2ex\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
% 在~section~及以下的标题中,使用负的距离表示标题后的段落不缩进
% (如标准的英文~LaTeX~文档),否则缩进。标题上方真正的空距是该参数的绝对值。
%
% \item[afterskip=\{\parg{afterskip}\}]
% 用于控制章节标题后的空距。
%
% 该选项的缺省设置是
% \begin{center}
% \begin{tabular}{lll}
% \hline\hline
% & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% part (article) & 同右 & \{3ex\} \\
% part & 无效 & 无效 \\
% chapter & 同右 & \{40pt\} \\
% section & 同右 & \{2.3ex plus .2ex\} \\
% subsection & 同右 & \{1.5ex plus .2ex\} \\
% subsubsection & 同右 & \{1.5ex plus .2ex\} \\
% paragraph & 同右 & \{-1em\} \\
% subparagraph & 同右 & \{-1em\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
% 在~section~及以下的标题中,正的距离表示向下留出的空距(如标准的~section~标题),
% 使用负的距离则表示向右留出的空距的负值(如标准的~paragraph~标题)。
%
% \item[indent=\{\parg{indent}\}]
% 用于控制章节标题本身的缩进。
%
% 该选项的缺省设置是
% \begin{center}
% \begin{tabular}{lll}
% \hline\hline
% & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% part (article) & 同右 & \{0pt\} \\
% part & 无效 & 无效 \\
% chapter & 同右 & \{0pt\} \\
% section & 同右 & \{0pt\} \\
% subsection & 同右 & \{0pt\} \\
% subsubsection & 同右 & \{0pt\} \\
% paragraph & 同右 & \{0pt\} \\
% subparagraph & 同右 & \{\cs{parindent}\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -