⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctex.dtx

📁 编写必备的软件包
💻 DTX
📖 第 1 页 / 共 5 页
字号:
% \end{description}
%
%
% \subsubsection{部分修改标题格式}
%
% 如果只想修改标题格式中的某些参数而不是完全重新设置,可以使用带~+~号的
% 设置选项。例如
% \begin{quote}
% |\CTEXsetup[format+={\zihao{1}}]{section}|
% \end{quote}
% 则~section~的标题使用一号字体,而其他格式设置保持不变。
%
% 标题格式相关的选项都支持这一功能,包括~|format|, |nameformat|, |numberformat|,
% |aftername|~和~|titleformat|,而且对所有文档类型都有效。
%
% \subsubsection{附录标题设置}
%
% 附录(appendix)的标题也使用~|\CTEXsetup|~命令进行设置,
% 第二个参数设为~|appendix|。但是只能使用~|name|~和~|number|~
% 两个设置选项。在使用了~|\appendix|~命令之后,附录
% 的名字和编号会被自动使用。{\bf 附录的名字和前面的章节不同,
% 它只有一个部分,放在编号之前。}在~article~类文档中,
% 附录是用~section~实现的,而在~report~和~book~类文档中附录
% 使用的是~chapter~的设置。因此在设置附录的编号的时候要注意
% 使用正确的计数器。如果你要设置其他格式的附录标题,
% 可以根据使用的文档类直接用~section~或者~chapter~的设置命令来控制,
% 但是要记住把设置命令放在~|\appendix|~(如果有的话)的后面,
% 否则会被~|\appendix|~命令的设置覆盖。
%
% 附录的缺省设置是
% \begin{center}
% \begin{tabular}{lll}
% \hline\hline
%    & 使用宏包选项~cap~ & 使用宏包选项~nocap~ \\
% \hline
% name (article) & 同右 & \{\} \\
% name & \{附录\textasciitilde\} & \{Appendix\cs{space}\} \\
% number (article) & 同右 & \{\cs{Alph}\marg{section}\} \\
% number & 同右 & \{\cs{Alph}\marg{chapter}\} \\
% \hline\hline
% \end{tabular}
% \end{center}
%
%
% \subsubsection{其他标题设置}
%
% 除章节标题外其他标题的设置通过~|\CTEXoptions|~设置。包括
%
% \begin{description}
% \item[contentsname] 目录名
% \item[listfigurename] 表格目录
% \item[listtablename] 插图目录
% \item[figurename] 图
% \item[tablename] 表
% \item[abstractname] 摘要
% \item[indexname] 索引
% \item[bibname] 参考文献
% \end{description}
%
% 例如
% \begin{quote}
% |\CTEXoptions[indexname={总索引}]|
% \end{quote}
% 把索引的名字改为“总索引”。
%
%
% \subsubsection{其他设置}
%
% \paragraph{设置~\cs{today}~的日期格式}
% 使用~|\CTEXoptions|~可以设置~|\today|~命令产生的日期格式。
% 支持的格式包括
%
% \begin{enumerate}
%
% \item 阿拉伯数字加中文年月日
% \begin{quote}
% |\CTEXoptions[today=small]|
% \end{quote}
% \CTEXoptions[today=small]
% |\today|~生成的日期例子为“\today”。
%
% \item 中文数字加中文年月日
% \begin{quote}
% |\CTEXoptions[today=big]|
% \end{quote}
% \CTEXoptions[today=big]
% |\today|~生成的日期例子为“\today”。
%
% \item \LaTeX{}~标准格式
% \begin{quote}
% |\CTEXoptions[today=old]|
% \end{quote}
% \CTEXoptions[today=old]
% |\today|~生成的日期例子为“\today”。
%
% \end{enumerate}
%
%
% \paragraph{设置图表标题的分隔符}
% 使用~|\CTEXoptions|~可以设置~|\caption|~命令产生的图表标题的分隔符。
% 这个分隔符缺省是使用冒号~:~。可以通过命令
% \begin{quote}
% |\CTEXoptions[captiondelimiter={|\parg{string}|}]|
% \end{quote}
% 设置为任意的单个字符或者字符串~\parg{string}。
%
%
% \subsection{配置文件}
%
% 主要的配置文件有~\texttt{ctex.def}~和~\texttt{ctexcap.cfg}~以及几个字体
% 定义文件~\texttt{*.fd}。字体定义文件的内容请参考~\ref{sec:fontdef}~的
% 内容。
%
% \texttt{ctex.def}~是一些中文字符串参数的定义,会被所有的宏包使用。
% 如果你想改用其他的中文字符,例如繁体字,可以修改这个文件。
%
% \texttt{ctexcap.cfg}~是缺省中文标题格式的定义,当你使用~\texttt{cap}~
% 选项时就会使用这里的定义。你可以把它改为你经常使用的格式,这样就不用
% 每次都在正文中修改了。~\texttt{ctexcap.cfg}~中的设置都可以通过宏包提供
% 的设置命令在正文中进行修改。
%
% 最后,宏包还将读入~\texttt{ctex.cfg}~文件,该文件中的设置将覆盖其他配置
% 文件中的设置。用户可以在该文件中加入自己的定义。
%
% 在修改这些配置文件的时候,你可以修改系统目录中的文件,也可以拷贝一份放到
% 当前目录下,然后修改。~TeX~会优先使用当前目录下的同名文件。这样你可以针对
% 不同的应用设置不同的缺省配置文件。
%
%
%
%
% \StopEventually{
% } ^^A end StopEventually
%
%
%
%
% \section{源代码说明}
%
%
% \subsection{选项}
%
%
% \begin{macro}{\ifCTEX@cct}
% 用于判断是否使用~CCT~中文系统,缺省是不使用。
%    \begin{macrocode}
%<*ctex|cls>
\newif\ifCTEX@cct \CTEX@cctfalse
\DeclareOption{CCT}{\CTEX@ccttrue}
%</ctex|cls>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ifCTEX@cctfont}
% 用于判断~CCT~是使用传统~CCT~字库还是~CJK~字库,缺省是使用~CJK~字库。
%    \begin{macrocode}
%<*ctex|cls>
\newif\ifCTEX@cctfont \CTEX@cctfontfalse
\DeclareOption{CCTfont}{\CTEX@ccttrue\CTEX@cctfonttrue}
%</ctex|cls>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ifCTEX@punct}
% \changes{v0.2c}{2004/02/13}{增加判断是否调整中文标点宽度的选项}
% 用于判断是否对中文标点宽度进行调整,缺省是调整。
%    \begin{macrocode}
%<*ctex|cls>
\newif\ifCTEX@punct \CTEX@puncttrue
\DeclareOption{punct}{\CTEX@puncttrue}
\DeclareOption{nopunct}{\CTEX@punctfalse}
%</ctex|cls>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ifCTEX@space}
% 用于判断是否忽略汉字间的空格,缺省是忽略。
%    \begin{macrocode}
%<*ctex|cls>
\newif\ifCTEX@space \CTEX@spacefalse
\DeclareOption{space}{\CTEX@spacetrue}
\DeclareOption{nospace}{\CTEX@spacefalse}
%</ctex|cls>
%    \end{macrocode}
% space~参数使得缺省的中文环境不会吃掉中文字符后面的空格。
% 这种情况下很容易造成汉字之间产生多余的空格,需要小心使用。
% \end{macro}
%
% \begin{macro}{\ifCTEX@caption}
% 用于判断是否使用中文标题,缺省是使用。
%    \begin{macrocode}
%<*ctex|ctexcap|cls>
\newif\ifCTEX@caption \CTEX@captiontrue
\DeclareOption{nocap}{\CTEX@captionfalse}
\DeclareOption{cap}{\CTEX@captiontrue}
%</ctex|ctexcap|cls>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ifCTEX@indent}
% 用于判断是否使用中文的缩进格式,缺省是使用。
%    \begin{macrocode}
%<*ctex|cls>
\newif\ifCTEX@indent \CTEX@indenttrue
\DeclareOption{noindent}{\CTEX@indentfalse}
\DeclareOption{indent}{\CTEX@indenttrue}
%</ctex|cls>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ifCTEX@psnfss}
% 用于判断是否使用~PostScript~字体替代~CM~字体,缺省是不使用。
% psnfss~选项使得~\LaTeX{}~使用~PostScript~字体替代缺省的~CM~字体。
%    \begin{macrocode}
%<*ctex|cls>
\newif\ifCTEX@psfont \CTEX@psfontfalse
\DeclareOption{psfont}{\CTEX@psfonttrue}
%</ctex|cls>
%    \end{macrocode}
% \end{macro}
%
% \changes{v0.3b}{2004/05/11}{增加~fancyhdr~选项}
% \begin{macro}{\ifCTEX@fancyhdr}
% 用于判断是否使用~\texttt{fancyhdr}~宏包,缺省是不使用。
% fancyhdr~选项使得~\texttt{ctex}~宏包保持和~\texttt{fancyhdr}~宏包兼容。
%    \begin{macrocode}
%<*ctex|cls>
\newif\ifCTEX@fancyhdr \CTEX@fancyhdrfalse
\DeclareOption{fancyhdr}{\CTEX@fancyhdrtrue}
%</ctex|cls>
%    \end{macrocode}
% \end{macro}
%
% \changes{v0.7}{2005/11/25}{增加~fntef~选项}
% \begin{macro}{\ifCTEX@fntef}
% 用于判断是否使用~\texttt{CJKfntef}~或者~\texttt{CCTfntef}~宏包,缺省是不使用。
% fntef~选项为使用~\texttt{CJKfntef}~和~\texttt{CCTfntef}~宏包提供了统一接口。
%    \begin{macrocode}
%<*ctex|cls>
\newif\ifCTEX@fntef \CTEX@fnteffalse
\DeclareOption{fntef}{\CTEX@fnteftrue}
%</ctex|cls>
%    \end{macrocode}
% \end{macro}
%
% \changes{v0.1a}{2003/08/15}{修正~\texttt{ctex.sty}~中无法使用
%                 ~sub3section~和~sub4section~选项的问题}
% \changes{v0.3}{2004/04/24}{修正~sub3section~和~sub4section~选项无效的问题}
% 支持~|\subsubsection|~以下的小节标题编号,通过修改~|\paragraph|~和
% ~|\subparagraph|~实现。
%    \begin{macrocode}
%<*ctexcap|cls>
\newcounter{CTEX@sectiondepth}
\setcounter{CTEX@sectiondepth}{2}
\DeclareOption{sub3section}{\setcounter{CTEX@sectiondepth}{3}}
\DeclareOption{sub4section}{\setcounter{CTEX@sectiondepth}{4}}
%</ctexcap|cls>
%    \end{macrocode}
%
%
% 用于文档类的一些选项:
%
% \begin{macro}{\ifCTEX@sfoursize}
% 用于判断是否使用中文小四号字,缺省是不使用。
%    \begin{macrocode}
%<*cls>
\newif\ifCTEX@sfoursize \CTEX@sfoursizefalse
\DeclareOption{cs4size}{\CTEX@sfoursizetrue\CTEX@fivesizefalse}
%</cls>
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ifCTEX@fivesize}
% 用于判断是否使用中文五号字,缺省是使用。
%    \begin{macrocode}
%<*cls>
\newif\ifCTEX@fivesize \CTEX@fivesizetrue
\DeclareOption{c5size}{\CTEX@fivesizetrue\CTEX@sfoursizefalse}
%</cls>
%    \end{macrocode}
% \end{macro}
%
% \changes{v0.4}{2004/05/13}{如果指定了标准的~\LaTeX{}~字体大小,则不使用中文字号}
% 如果指定了标准的~\LaTeX{}~字体大小(10pt/11pt/12pt),则不使用中文字号作为缺省大小。
%    \begin{macrocode}
%<*cls>
\DeclareOption{10pt}{%
  \CTEX@sfoursizefalse\CTEX@fivesizefalse%
  \PassOptionsToClass{\CurrentOption}%
%<article>    {article}}
%<report>    {report}}
%<book>    {book}}
\DeclareOption{11pt}{%
  \CTEX@sfoursizefalse\CTEX@fivesizefalse%
  \PassOptionsToClass{\CurrentOption}%
%<article>    {article}}
%<report>    {report}}
%<book>    {book}}
\DeclareOption{12pt}{%
  \CTEX@sfoursizefalse\CTEX@fivesizefalse%
  \PassOptionsToClass{\CurrentOption}%
%<article>    {article}}
%<report>    {report}}
%<book>    {book}}
%</cls>
%    \end{macrocode}
%
%
% 把没有定义的选项传递给缺省的文档类
%    \begin{macrocode}
%<cls>\DeclareOption*{\PassOptionsToClass{\CurrentOption}%
%<article>  {article}}
%<report>  {report}}
%<book>  {book}}
%    \end{macrocode}
%
% 处理选项
%    \begin{macrocode}
%<sty|cls>\ProcessOptions
%    \end{macrocode}
%
%
% 如果使用中文的缺省字号大小,则需要传递合适的参数给标准的~\LaTeX{}~文档类。
%    \begin{macrocode}
%<*cls>
\ifCTEX@sfoursize
  \PassOptionsToClass{12pt}%
%<article>    {article}
%<report>    {report}
%<book>    {book}
\fi
\ifCTEX@fivesize
  \PassOptionsToClass{10pt}%
%<article>    {article}
%<report>    {report}
%<book>    {book}
\fi
%</cls>
%    \end{macrocode}
%
%
% 装入缺省的文档类
%    \begin{macrocode}
%<article>\LoadClass{article}
%<report>\LoadClass{report}
%<book>\LoadClass{book}
%    \end{macrocode}
%
%
%
%
% \subsection{宏包}
%
%
% \changes{v0.3a}{2004/04/30}{修改命令~\cs{CCTpuncttrue}~的拼写错误}
% 我们需要使用的一些宏包,其中~cctbase~和~CJK~用来处理中文:
%    \begin{macrocode}
%<*cct>
\ifCTEX@cctfont
  \RequirePackage{cctbase}[2003/04/05]
\else
  \RequirePackage[CJK]{cctbase}[2003/04/05]
\fi
\ifCTEX@punct
  \CCTpuncttrue
\else
  \CCTpunctfalse
\fi
%</cct>
%<*cjk>
\RequirePackage{CJK}[2003/03/28]
\RequirePackage{CJKnumb}[2003/03/28]
\ifCTEX@punct
  \RequirePackage{CJKpunct}[2004/02/13]
\fi
%</cjk>
%
% 以及一些其他工具宏包:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -