📄 ctex.dtx
字号:
\renewcommand\scriptsize{% 7.5bp
\@setfontsize\scriptsize{\CTEX@fs@six}{\CTEX@fs@sixskip}}
\renewcommand\tiny{% 6.5bp
\@setfontsize\tiny{\CTEX@fs@ssix}{\CTEX@fs@ssixskip}}
\renewcommand\large{% 15bp
\@setfontsize\large{\CTEX@fs@sthree}{\CTEX@fs@sthreeskip}}
\renewcommand\Large{% 18bp
\@setfontsize\Large{\CTEX@fs@stwo}{\CTEX@fs@stwoskip}}
\renewcommand\LARGE{% 22bp
\@setfontsize\LARGE{\CTEX@fs@two}{\CTEX@fs@twoskip}}
\renewcommand\huge{% 24bp
\@setfontsize\huge{\CTEX@fs@sone}{\CTEX@fs@soneskip}}
\renewcommand\Huge{% 26bp
\@setfontsize\Huge{\CTEX@fs@one}{\CTEX@fs@oneskip}}
\fi
%</cls>
% \end{macrocode}
%
% \changes{v0.2d}{2004/04/23}{修改缺省的字号大小}
% 缺省字体使用中文五号字时的设置。
%
% \begin{macrocode}
%<*cls>
\ifCTEX@fivesize
\renewcommand\normalsize{% 10.5bp
\@setfontsize\normalsize{\CTEX@fs@five}{\CTEX@fs@fiveskip}%
\abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
\abovedisplayshortskip \z@ \@plus3\p@
\belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
\belowdisplayskip \abovedisplayskip
\let\@listi\@listI}
\normalsize
\renewcommand\small{% 9bp
\@setfontsize\small{\CTEX@fs@sfive}{\CTEX@fs@sfiveskip}%
\abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus2\p@
\belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
\def\@listi{\leftmargin\leftmargini
\topsep 4\p@ \@plus2\p@ \@minus2\p@
\parsep 2\p@ \@plus\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip}
\renewcommand\footnotesize{% 7.5bp
\@setfontsize\footnotesize{\CTEX@fs@six}{\CTEX@fs@sixskip}%
\abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
\abovedisplayshortskip \z@ \@plus\p@
\belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
\def\@listi{\leftmargin\leftmargini
\topsep 3\p@ \@plus\p@ \@minus\p@
\parsep 2\p@ \@plus\p@ \@minus\p@
\itemsep \parsep}%
\belowdisplayskip \abovedisplayskip}
\renewcommand\scriptsize{% 6.5bp
\@setfontsize\scriptsize{\CTEX@fs@ssix}{\CTEX@fs@ssixskip}}
\renewcommand\tiny{% 5.5bp
\@setfontsize\tiny{\CTEX@fs@seven}{\CTEX@fs@sevenskip}}
\renewcommand\large{% 12bp
\@setfontsize\large{\CTEX@fs@sfour}{\CTEX@fs@sfourskip}}
\renewcommand\Large{% 15bp
\@setfontsize\Large{\CTEX@fs@sthree}{\CTEX@fs@sthreeskip}}
\renewcommand\LARGE{% 18bp
\@setfontsize\LARGE{\CTEX@fs@stwo}{\CTEX@fs@stwoskip}}
\renewcommand\huge{% 22bp
\@setfontsize\huge{\CTEX@fs@two}{\CTEX@fs@twoskip}}
\renewcommand\Huge{% 26bp
\@setfontsize\Huge{\CTEX@fs@one}{\CTEX@fs@oneskip}}
\fi
%</cls>
% \end{macrocode}
%
%
%
%
% \subsection{~CCT~相关配置}
%
%
% \begin{macrocode}
%<*cct>
% \end{macrocode}
%
%
% \subsubsection{CCT~环境设置}
%
% \begin{macrocode}
\ifCTEX@space
\AtBeginDocument{\CCTspace}
\else
\AtBeginDocument{\CCTnospace}
\fi
% \end{macrocode}
%
% \begin{macro}{\CTEXspace}
% \begin{macro}{\CTEXnospace}
% \begin{macrocode}
\def\CTEXspace{\CCTspace}
\def\CTEXnospace{\CCTnospace}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
%
% \subsubsection{常用的中文字体}
%
% \begin{macro}{\songti}
% \begin{macro}{\heiti}
% \begin{macro}{\fangsong}
% \begin{macro}{\kaishu}
% \begin{macro}{\lishu}
% \begin{macro}{\youyuan}
% 定义常用的中文字体命令:宋体、黑体、楷书、仿宋、隶书、幼圆。
% \begin{macrocode}
\ifCTEX@cctfont\else
\CCTdefziti A song song % 宋体
\CCTdefziti B hei song % 黑体
\CCTdefziti C kai song % 楷体
\CCTdefziti D fs song % 仿宋
\CCTdefziti E bs hei % 标宋
\CCTdefziti F li hei % 隶书
\CCTdefziti G you kai % 幼圆
\DeclareRobustCommand*{\songti}{\ziti{A}\relax} % 宋体
\DeclareRobustCommand*{\heiti}{\ziti{B}\relax} % 黑体
\DeclareRobustCommand*{\kaishu}{\ziti{C}\relax} % 楷书
\DeclareRobustCommand*{\fangsong}{\ziti{D}\relax} % 仿宋
\DeclareRobustCommand*{\biaosong}{\ziti{E}\relax} % 标宋
\DeclareRobustCommand*{\lishu}{\ziti{F}\relax} % 隶书
\DeclareRobustCommand*{\youyuan}{\ziti{G}\relax} % 幼圆
\fi
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
% \subsubsection{中文字号}
%
% \begin{macro}{\set@fontsize}
% \changes{v0.6}{2005/09/24}{cct~从~0.6180~开始将宏~\cs{oset@fontsize}~改为~\cs{CCT@set@fontsize}}
% \changes{v0.6a}{2005/09/30}{增加对~\cs{CCT@set@fontsize}~的判断}
% CCT~对~|\set@fontsize|~命令进行了重定义,我们需要修改这个定义,
% 让中英文保持一致的大小,并及时更新字体信息。
% \begin{macrocode}
\ifx\CCT@set@fontsize\undefined
\let\CCT@set@fontsize\oset@fontsize
\fi
\let\CTEX@save@set@fontsize\set@fontsize
\def\set@fontsize#1#2#3{%
\CCT@set@fontsize{#1}{#2}{#3}%
\zihaoAny{#2}%
\CTEXsetfont}
% \end{macrocode}
% \end{macro}
%
%
% \subsubsection{其他字体命令}
%
% \begin{macro}{\ziju}
% \changes{v0.4a}{2004/05/15}{修改~CCT~的字距命令使得缩进保持一致}
% 定义调整汉字字距的命令。
% \begin{macrocode}
\let\CTEX@save@ziju\ziju
\renewcommand*\ziju[1]{% 字距
\CTEX@save@ziju{#1}%
\CTEXsetfont}
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\CTEXsetfont}
% |\CTEXsetfont|~获得当前的汉字信息。
% \begin{macrocode}
\newcommand*\CTEXsetfont{%
\ifdim\parindent=0pt\else\parindent2\ccwd\fi}
% \end{macrocode}
% \end{macro}
%
%
% \subsubsection{CCTfntef~宏包接口}
%
%
% 为~\texttt{CCTfntef.sty}~宏包的命令提供统一接口。
% \begin{macrocode}
\ifCTEX@fntef
\def\CTEXunderdot{\CCTunderdot}
\def\CTEXunderline{\CCTunderline}
\def\CTEXunderdblline{\CCTunderdblline}
\def\CTEXunderwave{\CCTunderwave}
\def\CTEXsout{\CCTsout}
\def\CTEXxout{\CCTxout}
\def\CTEXfilltwosides{\CCTfilltwosides}
\def\endCTEXfilltwosides{\endCCTfilltwosides}
\CTEX@replacecommand{CTEX}{CCT}{underdotbasesep}
\CTEX@replacecommand{CTEX}{CCT}{underdotsep}
\CTEX@replacecommand{CTEX}{CCT}{underlinebasesep}
\CTEX@replacecommand{CTEX}{CCT}{underlinesep}
\CTEX@replacecommand{CTEX}{CCT}{underdbllinebasesep}
\CTEX@replacecommand{CTEX}{CCT}{underdbllinesep}
\CTEX@replacecommand{CTEX}{CCT}{underwavebasesep}
\CTEX@replacecommand{CTEX}{CCT}{underwavesepa}
\CTEX@replacecommand{CTEX}{CCT}{underwavesep}
\CTEX@replacecommand{CTEX}{CCT}{southeight}
\CTEX@replacecommand{CTEX}{CCT}{xoutheight}
\CTEX@replacecommand{CTEX}{CCT}{underdotcolor}
\CTEX@replacecommand{CTEX}{CCT}{underwavecolor}
\CTEX@replacecommand{CTEX}{CCT}{underlinecolor}
\CTEX@replacecommand{CTEX}{CCT}{underdbllinecolor}
\CTEX@replacecommand{CTEX}{CCT}{soutcolor}
\CTEX@replacecommand{CTEX}{CCT}{xoutcolor}
\fi
% \end{macrocode}
%
%
% \begin{macrocode}
%</cct>
% \end{macrocode}
%
%
%
%
% \subsection{~CJK~相关配置}
%
%
% \begin{macrocode}
%<*cjk>
% \end{macrocode}
%
%
% \subsubsection{CJK~环境设置}
%
%
% \changes{v0.7}{2005/11/25}{支持在导言中使用中文}
% \begin{macrocode}
\AtEndOfPackage{\CJK@makeActive}
% \end{macrocode}
%
%
% \changes{v0.5b}{2004/09/29}{改变设置~CJK~环境结束语句的
% ~\cs{AtEndDocument}~执行的位置,以减少宏包冲突}
% \changes{v0.5c}{2004/09/29}{避免重复执行设置~CJK~环境结束语句}
% \changes{v0.7f}{2006/04/12}{采用修改~\cs{AtBeginDocument}~和
% ~\cs{AtEndDocument}~命令的方式来设置~CJK~环境,
% 以减少宏包冲突}
% 缺省情况下,我们把整个文档都包含到~CJK~环境中。如果~|\ifCTEX@space|~
% 设置为~true,我们使用~CJK~环境,否则使用~CJK*~环境。
% \begin{macrocode}
\ifCTEX@space
\def\CTEX@beginCJK{\begin{CJK}{GBK}{rm}}
\def\CTEX@endCJK{\clearpage\end{CJK}}
\else
\def\CTEX@beginCJK{\begin{CJK*}{GBK}{rm}\CJKtilde}
\def\CTEX@endCJK{\clearpage\end{CJK*}}
\fi
\let\CTEX@begindocumenthook\@begindocumenthook
\let\CTEX@enddocumenthook\@enddocumenthook
\def\AtBeginDocument{\g@addto@macro\CTEX@begindocumenthook}
\def\AtEndDocument{\g@addto@macro\CTEX@enddocumenthook}
\def\@begindocumenthook{\CTEX@begindocumenthook\CTEX@beginCJK}
\def\@enddocumenthook{\CTEX@endCJK\CTEX@enddocumenthook}
% \end{macrocode}
%
%
% \begin{macro}{\CTEXspace}
% \begin{macro}{\CTEXnospace}
% \begin{macrocode}
\def\CTEXspace{\CJKspace}
\def\CTEXnospace{\CJKnospace}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
%
% \subsubsection{常用的中文字体}
%
%
% \begin{macro}{\songti}
% \begin{macro}{\heiti}
% \begin{macro}{\fangsong}
% \begin{macro}{\kaishu}
% \begin{macro}{\lishu}
% \begin{macro}{\youyuan}
% 定义常用的中文字体命令:宋体、黑体、楷书、仿宋、隶书、幼圆。
% \begin{macrocode}
\newcommand*{\songti}{\CJKfamily{song}} % 宋体
\newcommand*{\heiti}{\CJKfamily{hei}} % 黑体
\newcommand*{\kaishu}{\CJKfamily{kai}} % 楷书
\newcommand*{\fangsong}{\CJKfamily{fs}} % 仿宋
\newcommand*{\lishu}{\CJKfamily{li}} % 隶书
\newcommand*{\youyuan}{\CJKfamily{you}} % 幼圆
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
% \subsubsection{中文字号}
%
%
% \begin{macro}{\CTEX@save@set@fontsize}
% \begin{macro}{\set@fontsize}
% 对~|\set@fontsize|~命令需要进行重定义,以便及时更新字体信息。
% \begin{macrocode}
\let\CTEX@save@set@fontsize\set@fontsize
\def\set@fontsize#1#2#3{%
\CTEX@save@set@fontsize{#1}{#2}{#3}%
\CTEXsetfont}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
%
% \subsubsection{其他字体命令}
%
%
% \begin{macro}{\ziju}
% \changes{v0.2}{2004/02/11}{参数的单位由绝对距离改为相对于当前汉字大小的倍数}
% 定义调整汉字字距的命令。
% \begin{macrocode}
\newcommand*\ziju[1]{% 字距
\settowidth\@tempdima{\CTEX@spaceChar}%
\renewcommand{\CJKglue}{\hskip #1\@tempdima}%
\CTEXsetfont}
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\ccwd}
% |\ccwd|~是当前的汉字字宽。
% \begin{macrocode}
\newdimen\ccwd % 字宽
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\CTEXsetfont}
% \changes{v0.2}{2004/02/11}{\cs{CTEXfontinfo}~命令改为~\cs{CTEXsetfont}}
% |\CTEXsetfont|~获得当前的汉字信息。
% \begin{macrocode}
\newcommand*\CTEXsetfont{%
\settowidth\ccwd{\CTEX@spaceChar\CJKglue}%
\ifdim\parindent=0pt\else\parindent2\ccwd\fi}
% \end{macrocode}
% \end{macro}
%
%
% \subsubsection{CJKfntef~宏包接口}
%
%
% 为~\texttt{CJKfntef.sty}~宏包的命令提供统一接口。
% \begin{macrocode}
\ifCTEX@fntef
\def\CTEXunderdot{\CJKunderdot}
\def\CTEXunderline{\CJKunderline}
\def\CTEXunderdblline{\CJKunderdblline}
\def\CTEXunderwave{\CJKunderwave}
\def\CTEXsout{\CJKsout}
\def\CTEXxout{\CJKxout}
\def\CTEXfilltwosides{\CJKfilltwosides}
\def\endCTEXfilltwosides{\endCJKfilltwosides}
\CTEX@replacecommand{CTEX}{CJK}{underdotbasesep}
\CTEX@replacecommand{CTEX}{CJK}{underdotsep}
\CTEX@replacecommand{CTEX}{CJK}{underlinebasesep}
\CTEX@replacecommand{CTEX}{CJK}{underlinesep}
\CTEX@replacecommand{CTEX}{CJK}{underdbllinebasesep}
\CTEX@replacecommand{CTEX}{CJK}{underdbllinesep}
\CTEX@replacecommand{CTEX}{CJK}{underwavebasesep}
\CTEX@replacecommand{CTEX}{CJK}{underwavesep}
\CTEX@replacecommand{CTEX}{CJK}{southeight}
\CTEX@replacecommand{CTEX}{CJK}{underdotcolor}
\CTEX@replacecommand{CTEX}{CJK}{underwavecolor}
\CTEX@replacecommand{CTEX}{CJK}{underlinecolor}
\CTEX@replacecommand{CTEX}{CJK}{underdbll
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -