From a933b00b359239bba31d16f55430d61032b24bf8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 18 Jan 2016 23:37:47 +0000 Subject: thuthesis (18jan16) git-svn-id: svn://tug.org/texlive/trunk@39423 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/thuthesis/thuthesis.dtx | 259 +++++++++++++-------- 1 file changed, 160 insertions(+), 99 deletions(-) (limited to 'Master/texmf-dist/source/latex/thuthesis') diff --git a/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx b/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx index 36d8e1fdaf3..e2b9189567d 100644 --- a/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx +++ b/Master/texmf-dist/source/latex/thuthesis/thuthesis.dtx @@ -17,7 +17,7 @@ % \iffalse %<*driver> \def\thudate{\the\year/\the\month/\the\day} -\def\thuversion{5.2.0} +\def\thuversion{5.2.1} \ProvidesFile{thuthesis.dtx}[{\thudate} {\thuversion} Tsinghua University Thesis Template] \documentclass{ltxdoc} \usepackage{dtx-style} @@ -104,13 +104,13 @@ % \changes{v2.3}{2006/04/07}{Reorganize the codes in cover, make the pagestyle more readable.} % \changes{v2.3}{2006/04/07}{Add gbk2uni into the document.} % \changes{v2.3}{2006/04/07}{Support \option{openright} and openany.} -% \changes{v2.3}{2006/04/09}{Adjust hypersetup to remove color and box.} +% \changes{v2.3}{2006/04/09}{Adjust \cs{hypersetup} to remove color and box.} % \changes{v2.3}{2006/04/09}{Adjust margins again.} % \changes{v2.3}{2006/04/09}{Adjust references formats.} % \changes{v2.3}{2006/04/09}{Redefine frontmatter and mainmatter to fit our case.} % \changes{v2.3}{2006/04/09}{Add assumption environment.} % \changes{v2.3}{2006/04/09}{Change the brace in the cover.} -% \changes{v2.4}{2006/04/14}{Fill more pdf info. with hypersetup.} +% \changes{v2.4}{2006/04/14}{Fill more pdf info. with \cs{hypersetup}.} % \changes{v2.4}{2006/04/14}{自动隐藏密级为内部时后面的五角星。} % \changes{v2.4}{2006/04/14}{增加“注释 (Remark)”环境。} % \changes{v2.4}{2006/04/14}{压缩 item 之间的距离。} @@ -128,18 +128,24 @@ % \changes{v2.4.2}{2006/04/18}{去掉参考文献第二个作者后面烦人的逗号。} % \changes{v2.5}{2006/05/19}{对本科论文进行大幅度的重写,因为教务处修改了格式要求。} % \changes{v2.5}{2006/05/19}{重新整理代码,使其布局更易读。} +% \changes{v2.5.1}{2006/05/24}{如果选项设置了 dvips,但是用 pdflatex 编译,报错。} % \changes{v2.5.1}{2006/05/24}{根据教务处的新要求调整附录部分。} % \changes{v2.5.1}{2006/05/25}{参考文献中杂志文章如果没有卷号,那么页码直接跟在 % 年份后面,并用句点分割。在 \file*{thubib.bst} 中增加 output.year 函数。} +% \changes{v2.6}{2006/06/09}{增加 dvipdfm 选项。} % \changes{v2.6.1}{2006/06/16}{取消 \file*{thubib.bst} 中 inbook 类 volume 后的页 % 码。} +% \changes{v3.0}{2007/05/12}{不用专门为本科论文生成“\textbf{提交}”版本了。} % \changes{v3.0}{2007/05/12}{没有了综合论文训练页面,很多本科论文专用命令就消失了。} % \changes{v4.4}{2008/05/12}{修复网址断字。} % \changes{v4.5}{2008/01/03}{加入 XeTeX 支持,需要 \pkg*{xeCJK}。} % \changes{v4.5}{2008/01/04}{彻底转向 UTF-8,并支持 xelatex。} +% \changes{v4.5}{2009/01/03}{增加 xetex, pdftex 选项。} % \changes{v4.6}{2011/04/27}{增加博士后文档部分。} % \changes{v4.6}{2011/10/22}{使用手册更新。} % \changes{v4.7}{2012/06/12}{去掉 \pkg*{hypernat} 依赖,\pkg*{hyperref} 和 \pkg*{natbib} 可以很好配合了。} +% \changes{v4.8}{2013/03/02}{no need to load \pkg*{indentfirst} directly since we use \pkg*{ctex}.} +% \changes{v4.8}{2013/03/02}{内部调用 ctex 宏包,自动检测编译引擎。} % \changes{v4.8}{2013/03/04}{dvips method is deprecated. We ask their users to load it manually.} % \changes{v4.8}{2014/11/25}{好几年累积的一些更新,最重要的是切换到 \CTeX。} % @@ -148,8 +154,8 @@ % \IndexPrologue{\section{\indexname}} % \GlossaryPrologue{\section{\glossaryname}} % -% \title{\bfseries\color{violet}\thuthesis:清华大学学位论文模板\thanks{\textbf{T}sing\textbf{h}ua \textbf{U}niversity \LaTeX{} \textbf{Thesis} Template.}} -% \author{{\fangsong 薛瑞尼\thanks{LittleLeo@newsmth}}\\[5pt] \texttt{xueruini@gmail.com}} +% \title{\bfseries\color{violet}\thuthesis:清华大学学位论文模板} +% \author{{\fangsong 薛瑞尼}\\[5pt]\texttt{xueruini@gmail.com}} % \date{v\fileversion\ (\filedate)} % \maketitle\thispagestyle{empty} % @@ -189,8 +195,9 @@ % \clearpage % % \section{模板介绍} -% \thuthesis\ (\textbf{T}sing\textbf{hu}a \textbf{Thesis}) 是为了帮助清华大学毕业 -% 生撰写毕业论文而编写的 \LaTeX{} 论文模板。 +% \thuthesis\ (\textbf{T}sing\textbf{h}ua \textbf{U}niversity \LaTeX{} +% \textbf{Thesis} Template) 是为了帮助清华大学毕业生撰写毕业论文而编写 +% 的 \LaTeX{} 论文模板。 % % 本文档将尽量完整的介绍模板的使用方法,如有不清楚之处可以参考示例文档或者根据 % 第~\ref{sec:howtoask} 节说明提问,有兴趣者都可以参与完善此手册,也非常欢迎对代 @@ -316,7 +323,7 @@ % Xe\TeX 最大的优势就是不再需要繁琐的字体配置。\thuthesis{} 通过 \pkg{xeCJK} 来控 % 制中文字体和标点压缩。模板里默认用的是中易的六款免费字体(宋,黑,楷,仿宋,隶 % 书和幼圆),因学位论文需求不建议替换为其他字体。如果实在必要,可以通过定 -% 制\file{ctex-fontset-thuthesis.def} 文件中的字体自行替换。研究生一般用不到隶书 +% 制 \file{ctex-fontset-thuthesis.def} 文件中的字体自行替换。研究生一般用不到隶书 % 和幼圆字体,如果系统上没有它们,可以直接将 \file{ctex-fontset-thuthesis.def} 文 % 件以及论文中相应行删除。字体配置参考第~\ref{sec:font-config} 节。 % @@ -340,8 +347,8 @@ % xelatex 替换为 pdflatex。 % % 需要注意的是 PDF\LaTeX\ 不能处理常见的 EPS 图形,需要先用 epstopdf 将其转化 -% 成 PDF。不过 PDF\LaTeX\ 增加了对 png,jpg 等标量图形的支持,比较方便。 -% TeX Live 自从 2010 版本起自动调用 epstopdf 将 EPS 图形转化为 PDF。 +% 成 PDF。不过 PDF\LaTeX\ 增加了对 png,jpg 等标量图形的支持,比较方便。TeX Live +% 自从 2010 版本起自动调用 \texttt{epstopdf} 将 EPS 图形转化为 PDF。 % % \subsubsection{latexmk} % \label{sec:latexmk} @@ -416,9 +423,7 @@ % % \subsection{论文选项} % \label{sec:option} -% 本模板提供了一些选项以方便使用: % -% \changes{v5.0.0}{2015/12/13}{使用 \pkg*{kvoptions} 简化选项 type。} % \DescribeOption{type} % 选择论文类型,当前支 % 持:\option{bachelor},\option{master},\option{doctor},\option{postdoctor}。 @@ -448,7 +453,6 @@ % \secretyear{2020} % \end{latex} % -% \changes{v3.0}{2007/05/12}{不用专门为本科论文生成\textbf{提交}版本了。} % % \DescribeOption{openany} % \DescribeOption{openright} @@ -846,8 +850,8 @@ % % \subsubsection{符号对照表} % \DescribeEnv{denotation} -% 主要符号表环境。简单定义的一个 \texttt{list},跟 \texttt{description} 非常类似, -% 使用方法参见示例文件。带一个可选参数,用来指定符号列的宽度(默认为 2.5cm)。 +% 主要符号表环境,跟 \env{description} 类似,使用方法参见示例文件。带一个可选参数, +% 用来指定符号列的宽度(默认为 2.5cm)。 % \begin{latex} % \begin{denotation} % \item[E] 能量 @@ -856,7 +860,7 @@ % \end{denotation} % \end{latex} % -% 如果你觉得符号列的宽度不满意,那可以这样来调整: +% 如果默认符号列的宽度不满意,可以通过参数来调整: % \begin{latex} % \begin{denotation}[1.5cm] % 设置为 1.5cm % \item[E] 能量 @@ -929,24 +933,24 @@ % \subsection{封底部分} % % \subsubsection{致谢声明} -% \DescribeEnv{ack} +% \DescribeEnv{acknowledgement} % 把致谢做成一个环境更好一些,直接往里面写感谢的话就可以啦!下面是数学系一位同 % 学致谢里的话,拿过来做个广告。希望每个人都能写这么一句 :) % \begin{latex} -% \begin{ack} +% \begin{acknowledgement} % … % 还要特别感谢计算机系薛瑞尼同学在论文格式和 \LaTeX{} 编译等方面给我的很多帮助! -% \end{ack} +% \end{acknowledgement} % \end{latex} % % 本科论文在此处还有一节“声明”,提交版本时需要替换为签字扫描文件,同样我们也提供: % 如果使用声明扫描页,将可选参数指定为扫描后的 PDF 文件名,例如: % \begin{latex} -% \begin{ack}[scan-statement.pdf] +% \begin{acknowledgement}[scan-statement.pdf] % 加了扫描文件后,这里面的文字就没用了。 % % 还要特别感谢计算机系薛瑞尼同学在论文格式和 \LaTeX{} 编译等方面给我的很多帮助! -% \end{ack} +% \end{acknowledgement} % \end{latex} % % \subsubsection{附录} @@ -1087,8 +1091,6 @@ % % \subsubsection{引用方式} % -% \changes{v5.0.0}{2015/11/23}{用 \cs{inlinecite} 替换 \cs{onlinecite}。为保证兼 -% 容性,\cs{onlinecite} 会保留。} % \DescribeMacro{\inlinecite} % 学校要求的参考文献引用有两种模式:(1)上标模式。比如``同样的工作有很 % 多$^{[1,2]}$\ldots''。(2)正文模式。比如``文[3] 中详细说明了\ldots''。其中上标 @@ -1178,7 +1180,7 @@ %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesClass{thuthesis} %\ProvidesFile{thuthesis.cfg} -%[2016/1/11 5.2.0 Tsinghua University Thesis Template] +%[2016/01/18 5.2.1 Tsinghua University Thesis Template] % \end{macrocode} % % \subsection{定义选项} @@ -1197,13 +1199,17 @@ %<*cls> \hyphenation{Thu-Thesis} \def\thuthesis{\textsc{ThuThesis}} -\def\version{5.2.0} +\def\version{5.2.1} \RequirePackage{kvoptions} \SetupKeyvalOptions{ family=thu, prefix=thu@, setkeys=\kvsetkeys} +% \end{macrocode} +% 用 \pkg{kvoptions} 的 key=value 方式来设置论文类型。 +% \changes{v5.0.0}{2015/12/13}{使用 \pkg*{kvoptions} 简化选项 type。} +% \begin{macrocode} \newif\ifthu@bachelor \newif\ifthu@master \newif\ifthu@doctor @@ -1227,11 +1233,6 @@ \DeclareBoolOption{secret} % \end{macrocode} % -% \changes{v2.5.1}{2006/05/24}{如果选项设置了 dvips,但是用 pdflatex 编译,报错。} -% \changes{v2.6}{2006/06/09}{增加 dvipdfm 选项。} -% \changes{v4.5}{2009/01/03}{增加 xetex, pdftex 选项。} -% \changes{v4.8}{2013/03/02}{内部调用 ctex 宏包,自动检测编译引擎。} -% % 如果需要使用 arial 字体,请打开 [arial] 选项 % \begin{macrocode} \DeclareBoolOption{arial} @@ -1262,11 +1263,7 @@ % \changes{v2.5.1}{2006/05/24}{ft,研究生院目录要 times,而教务处要 arial。} % \changes{v2.5.1}{2006/05/26}{本科 openright,研究生 openany。} % \changes{v3.1}{2007/10/09}{本科的目录又不要 arial 字体了。} -% \changes{v4.8}{2013/03/10}{使用 ctexbook 类,优于调用 ctex 宏包。} % \changes{v4.8}{2013/05/29}{添加 nocap 选项,恢复默认标题样式,模板会进一步定制。} -% \changes{v5.0.0}{2015/03/12}{使用 XeTeX 引擎时,fontspec 宏包会被 xeCJK 自动 -% 调用。传递给 fontspec 宏包 no-math 选项,避免部分数学符号字体自动调整为 CMR。 -% 其他引擎下没有这个问题,这一行会被无视。} % 打开默认选项。 % \begin{macrocode} \kvsetkeys{thu}{% @@ -1278,7 +1275,17 @@ % 解析用户传递过来的选项,并加载 \pkg{ctexbook}。 % \begin{macrocode} \ProcessKeyvalOptions* +% \end{macrocode} +% +% 使用 XeTeX 引擎时,\pkg{fontspec} 宏包会被 \pkg{xeCJK} 自动 +% 调用。传递给 \pkg{fontspec} 宏包 \option{no-math} 选项,避免部分数学符号字体自动调整为 CMR。 +% 其他引擎下没有这个问题,这一行会被无视。 +% \begin{macrocode} \PassOptionsToPackage{no-math}{fontspec} +% \end{macrocode} +% +% 使用 \pkg{ctexbook} 类,优于调用 \pkg{ctex} 宏包。 +% \begin{macrocode} \LoadClass[a4paper,openany,UTF8,zihao=-4,scheme=plain,fontset=none]{ctexbook} % \end{macrocode} % @@ -1312,11 +1319,18 @@ \RequirePackage{amsmath} % \end{macrocode} % -% 用 \pkg{txfonts} 替换 \pkg{mathptmx} 宏包,同时用它自带的 typewriter 字 -% 体替换 courier。必须出现在 \AmSTeX{} 之后。 -% \changes{v3.1}{2007/06/16}{replace mathptmx with txfonts.} +% \pkg{newtx} 设置 Times New Roman,Helvetica。 +% \changes{v3.1}{2007/06/16}{replace \pkg*{mathptmx} with \pkg*{txfonts}.} +% \changes{v5.2.1}{2016/01/14}{使用 \pkg*{newtx} 替换 \pkg*{txfonts}。} +% \begin{macrocode} +\RequirePackage{newtxtext} +\RequirePackage{newtxmath} +% \end{macrocode} +% +% \pkg{newtx} 的 Mono 字体虽然很好看,但是在论文中不常见。学校固然未要求 Mono 字 +% 体,还是选择常见的 Courier 字体,采用比较新的实现 TEX Gyre Cursor。 % \begin{macrocode} -\RequirePackage{txfonts} +\RequirePackage{tgcursor} % \end{macrocode} % % 图形支持宏包。 @@ -1336,8 +1350,6 @@ \includepdfset{fitpaper=true} % \end{macrocode} % -% \changes{v4.8}{2013/03/02}{no need to load indentfirst directly since we use ctex.} -% % 更好的列表环境。 % \changes{v2.6.2}{2006/06/18}{去掉 \pkg*{paralist} 的 \option{newitem} 和 % \option{newenum} 选项,因为默认是打开的。} @@ -1347,7 +1359,7 @@ \RequirePackage[shortlabels]{enumitem} % \end{macrocode} % -% raggedbottom,禁止 \LaTeX 自动调整多余的页面底部空白,并保持脚注仍然在底部。 +% 禁止 \LaTeX 自动调整多余的页面底部空白,并保持脚注仍然在底部。 % 脚注按页编号。 % \begin{macrocode} \ifthu@raggedbottom @@ -1363,26 +1375,30 @@ % \begin{macrocode} \RequirePackage{CJKfntef} % \end{macrocode} +% +% TODO:重置 \cs{baselinestretch},这个地方太诡异了。是古老版本留下来的,会影响 +% 封面部分的排班,应该优化一下。 % \changes{v4.8}{2013/03/09}{reset baselinestretch after ctex's change.} % \begin{macrocode} \renewcommand{\baselinestretch}{1.0} % todo:? +% \end{macrocode} +% +% XeTeX 环境下独立配置,包括零对应的圆圈符号和字体。 +% \begin{macrocode} \ifxetex - % todo: minor fix of CJKnumb \def\CJK@null{\kern\CJKnullspace\Unicode{48}{7}\kern\CJKnullspace} - \defaultfontfeatures{Mapping=tex-text} % use TeX -- + \defaultfontfeatures{Mapping=tex-text} % \end{macrocode} % 默认采用中易的六款免费字体。缺少上述字体的用户可以通过 -% \file{ctex-fontset-thuthesis.def} 文件自定义字体。 +% \file{ctex-fontset-thuthesis.def} 文件自定义字体。非 XeTeX 环境下利用 +% \pkg{CJKspace} 来控制中英文之间的间距。 % \changes{v4.8}{2013/05/28}{在 CJK 模式下用 \pkg*{CJKspace} 保留中英文间空格。} % \changes{v5.0.0}{2015/04/17}{固定字体设置,同时改善与 ctex 兼容性。} +% \changes{v5.2.1}{2016/01/14}{使用 \pkg*{newtx} 字体。} % \begin{macrocode} \IfFileExists{ctex-fontset-thuthesis.def}% {\ctexset{fontset=thuthesis}}% {\ctexset{fontset=windows}} - - \setmainfont{Times New Roman} - \setsansfont{Arial} - \setmonofont{Courier New} \else \RequirePackage{CJKspace} % \end{macrocode} @@ -1441,7 +1457,8 @@ pdfborder=0 0 0} % \end{macrocode} % -% dvips 模式下网址断字有问题,请手工加载 breakurl 这个宏包解决之。 +% dvips 模式下网址断字有问题,请手工加载 \pkg{breakurl} 宏包解决之。 +% % 设置 url 样式,与上下文一致 % \begin{macrocode} \urlstyle{same} @@ -1688,16 +1705,17 @@ % \subsubsection{页眉页脚} % \label{sec:headerfooter} % -% 定义页眉和页脚。chapter 自动调用 \cs{thispagestyle\{thu@plain\}},所以要重新定义 thu@plain。 +% 定义页眉和页脚。\cs{chapter} 自动调用 +% \cs{thispagestyle\{thu@plain\}},所以要重新定义 \cs{thu@plain}。 +% \begin{macro}{\ps@thu@empty} +% \begin{macro}{\ps@thu@plain} +% \begin{macro}{\ps@thu@headings} % \changes{v2.0}{2005/12/18}{以前的太乱了,重新整理过清晰多了。} % \changes{v2.1}{2006/03/01}{彻底放弃 fancyhdr,定义自己的样式。} % \changes{v2.5}{2006/05/13}{本科的奇偶页眉不同。} % \changes{v2.5}{2006/05/20}{增加 empty 页面样式。} % \changes{v4.7}{2012/05/29}{本科页码用小五号字。} % \changes{v5.0.0}{2015/12/20}{利用 \pkg*{fancyhdr} 设置页眉页脚。} -% \begin{macro}{\ps@thu@empty} -% \begin{macro}{\ps@thu@plain} -% \begin{macro}{\ps@thu@headings} % 定义三种页眉页脚格式: % \begin{itemize} % \item \texttt{thu@empty}:页眉页脚都没有 @@ -1768,6 +1786,7 @@ \fi} % \end{macrocode} % \end{macro} +% 修改脚注内部命令。 % \changes{v2.6}{2006/06/09}{脚注改成 1.5 倍行距,漂亮。} % \begin{macrocode} \renewcommand{\thefootnote}{\thu@textcircled{footnote}} @@ -1844,7 +1863,7 @@ %\fi % \end{macrocode} % -% 解决证明环境中方块乱跑的问题。 +% TODO:解决证明环境中方块乱跑的问题。 % \begin{macrocode} \gdef\@endtrivlist#1{% % from \endtrivlist \if@inlabel \indent\fi @@ -2222,7 +2241,8 @@ \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip - {\ifthu@bachelor\sffamily\else\csname thu@toc@font\endcsname\fi\heiti #1} % numberline is called here, and it uses \@tempdima + % numberline is called here, and it uses \@tempdima + {\ifthu@bachelor\sffamily\else\csname thu@toc@font\endcsname\fi\heiti #1} \leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak{\normalfont\normalcolor #2}\par \penalty\@highpenalty @@ -2235,9 +2255,12 @@ % 南中未作明确规定,示例文件中对于一级和二级节标题分别缩进 1 和 1.5 个汉字符。 % \changes{v5.0.0}{2015/04/28}{修正学位论文中目录里节前缩进(\#103)} % \begin{macrocode} -\renewcommand*\l@section{\@dottedtocline{1}{\ccwd}{2.1em}} -\renewcommand*\l@subsection{\@dottedtocline{2}{\ifthu@bachelor 1.5\ccwd\else 2\ccwd\fi}{3em}} -\renewcommand*\l@subsubsection{\@dottedtocline{3}{\ifthu@bachelor 2.4em\else 3.5em\fi}{3.8em}} +\renewcommand*\l@section{% + \@dottedtocline{1}{\ccwd}{2.1em}} +\renewcommand*\l@subsection{% + \@dottedtocline{2}{\ifthu@bachelor 1.5\ccwd\else 2\ccwd\fi}{3em}} +\renewcommand*\l@subsubsection{% + \@dottedtocline{3}{\ifthu@bachelor 2.4em\else 3.5em\fi}{3.8em}} % % \end{macrocode} % \end{macro} @@ -2405,7 +2428,8 @@ \expandafter\gdef\csname #1\endcsname##1{ \@for\reserved@a:=##1\do{ \expandafter\ifx\csname thu@#1\endcsname\@empty\else - \expandafter\g@addto@macro\csname thu@#1\endcsname{\ignorespaces\csname thu@#1@separator\endcsname} + \expandafter\g@addto@macro\csname thu@#1\endcsname{% + \ignorespaces\csname thu@#1@separator\endcsname} \fi \expandafter\expandafter\expandafter\g@addto@macro% \expandafter\csname thu@#1\expandafter\endcsname\expandafter{\reserved@a}}}} @@ -2547,7 +2571,7 @@ % \changes{v4.6}{2011/04/26}{增加博士后封面。} % \changes{v4.7}{2011/11/28}{硕士中文封面不再需要英文标题。} % \changes{v4.7}{2012/05/30}{本科生题目下划线长度自动适应字数。} -% \changes{v5.1.0}{2015/12/27}{利用 CJKfilltwosides 优化封面排版。} +% \changes{v5.1.0}{2015/12/27}{利用 \env{CJKfilltwosides} 优化封面排版。} % % \begin{macrocode} %<*cls> @@ -2563,7 +2587,8 @@ \vspace*{0.7cm} \begingroup\wuhao[1.5]% \thu@put@title{\thu@catalog@number@title}\thu@underline\thu@catalognumber\hfill% - \thu@put@title{\thu@secretlevel}\expandafter\thu@underline\ifthu@secret\thu@secret@content\else\relax\fi\par + \thu@put@title{\thu@secretlevel}% + \expandafter\thu@underline\ifthu@secret\thu@secret@content\else\relax\fi\par \thu@put@title{U D C}\thu@underline\thu@udc\hfill% \thu@put@title{\thu@id@title}\thu@underline\thu@id\par\vskip3cm\endgroup \begingroup\heiti @@ -2587,10 +2612,18 @@ \else \begin{tabular}{p{\thu@title@width}l@{}l} \fi - \thu@put@title{\thu@author@title} & \thu@title@sep & \thu@cauthor \\ - \thu@put@title{\thu@postdoctor@first@discipline@title} & \thu@title@sep & \thu@cfirstdiscipline\\ - \thu@put@title{\thu@postdoctor@second@discipline@title} & \thu@title@sep & \thu@cseconddiscipline\\ - \thu@put@title{\thu@supervisor@title} & \thu@title@sep & \thu@csupervisor\\ + \thu@put@title{\thu@author@title} + & \thu@title@sep + & \thu@cauthor \\ + \thu@put@title{\thu@postdoctor@first@discipline@title} + & \thu@title@sep + & \thu@cfirstdiscipline\\ + \thu@put@title{\thu@postdoctor@second@discipline@title} + & \thu@title@sep + & \thu@cseconddiscipline\\ + \thu@put@title{\thu@supervisor@title} + & \thu@title@sep + & \thu@csupervisor\\ \end{tabular}} \vskip2cm {\sihao\thu@postdoctor@date@title\hskip1em\underline\thu@postdoctordate} @@ -2650,12 +2683,17 @@ \else \begin{tabular}{p{\thu@title@width}l@{}l} \fi - \thu@put@title{\thu@department@title} & \thu@title@sep & \thu@cdepartment\\ - \thu@put@title{\thu@major@title} & \thu@title@sep & \thu@cmajor\\ - \thu@put@title{\thu@author@title} & \thu@title@sep & \thu@cauthor \\ - \thu@put@title{\thu@supervisor@title} & \thu@title@sep & \thu@csupervisor\\ + \thu@put@title{\thu@department@title} & \thu@title@sep + & \thu@cdepartment\\ + \thu@put@title{\thu@major@title} & \thu@title@sep + & \thu@cmajor\\ + \thu@put@title{\thu@author@title} & \thu@title@sep + & \thu@cauthor \\ + \thu@put@title{\thu@supervisor@title} & \thu@title@sep + & \thu@csupervisor\\ \ifx\thu@cassosupervisor\@empty\else% - \thu@put@title{\thu@assosuper@title} & \thu@title@sep & \thu@cassosupervisor\\ + \thu@put@title{\thu@assosuper@title} & \thu@title@sep + & \thu@cassosupervisor\\ \fi \end{tabular} }} @@ -2670,15 +2708,21 @@ \else \begin{tabular}{p{\thu@title@width}c@{\extracolsep{4pt}}l} \fi - \thu@put@title{\thu@department@title} & \thu@title@sep & {\ziju{0.1875}\thu@cdepartment}\\ - \thu@put@title{\thu@major@title} & \thu@title@sep & {\ziju{0.1875}\thu@cmajor}\\ - \thu@put@title{\thu@author@title} & \thu@title@sep & {\ziju{0.6875}\thu@cauthor}\\ - \thu@put@title{\thu@supervisor@title} & \thu@title@sep & {\ziju{0.6875}\thu@csupervisor}\\ + \thu@put@title{\thu@department@title} & \thu@title@sep + & {\ziju{0.1875}\thu@cdepartment}\\ + \thu@put@title{\thu@major@title} & \thu@title@sep + & {\ziju{0.1875}\thu@cmajor}\\ + \thu@put@title{\thu@author@title} & \thu@title@sep + & {\ziju{0.6875}\thu@cauthor}\\ + \thu@put@title{\thu@supervisor@title} & \thu@title@sep + & {\ziju{0.6875}\thu@csupervisor}\\ \ifx\thu@cassosupervisor\@empty\else - \thu@put@title{\thu@assosuper@title} & \thu@title@sep & {\ziju{0.6875}\thu@cassosupervisor}\\ + \thu@put@title{\thu@assosuper@title} & \thu@title@sep + & {\ziju{0.6875}\thu@cassosupervisor}\\ \fi \ifx\thu@ccosupervisor\@empty\else - \hfill\makebox[0pt][r]{\thu@cosuper@title} & \thu@title@sep & {\ziju{0.6875}\thu@ccosupervisor}\\ + \hfill\makebox[0pt][r]{\thu@cosuper@title} & \thu@title@sep + & {\ziju{0.6875}\thu@ccosupervisor}\\ \fi \end{tabular} \end{center}}} @@ -2690,7 +2734,9 @@ % \changes{v4.4.3}{2008/06/09}{修改本科生论文封面日期格式以符合新样例。} % \begin{macrocode} \begin{center} - {\ifthu@bachelor\vskip-1.0cm\hskip-1.2cm\xiaosi\else\vskip-0.5cm\sanhao\fi \songti \thu@cdate} + {\ifthu@bachelor\vskip-1.0cm\hskip-1.2cm\xiaosi\else% + \vskip-0.5cm\sanhao\fi% + \songti\thu@cdate} \end{center} \end{center}} % end of titlepage % @@ -2845,7 +2891,7 @@ % \changes{v3.0}{2007/05/12}{本科论文授权图片扫描取消。} % \changes{v4.5.2}{2010/05/29}{本科封面和授权说明之间不要空白页。} % \changes{v4.6}{2011/05/29}{博士后报告无授权说明。} -% \changes{v5.0.0}{2015/06/05}{使用 pdfpages 宏包支持本硕博论文授权说明扫描版(\#36)。} +% \changes{v5.0.0}{2015/06/05}{使用 \pkg*{pdfpages} 宏包支持本硕博论文授权说明扫描版(\#36)。} % \begin{macrocode} \ifthu@postdoctor\relax\else% \ifthu@bachelor\clearpage\else\cleardoublepage\fi% @@ -2955,28 +3001,32 @@ % \subsubsection{主要符号表} % \label{sec:denotationfmt} % \begin{environment}{denotation} -% 主要符号对照表\changes{v2.0e}{2005/12/18}{主要符号表定义为一个 list,用起来方便。} +% 主要符号对照表。 +% \changes{v2.0e}{2005/12/18}{主要符号表定义为一个 list,用起来方便。} % \changes{v2.4}{2006/04/14}{为主要符号表环境增加一个可选参数,调节符号列的宽度。} +% \changes{v5.2.1}{2016/01/11}{利用 \pkg*{enumitem} 改造环境定义,更直观。} % \begin{macrocode} %<*cfg> \newcommand{\thu@denotation@name}{主要符号对照表} % %<*cls> -\newenvironment{denotation}[1][2.5cm]{ +\newenvironment{denotation}[1][2.5cm]{% \thu@chapter*[]{\thu@denotation@name} % no tocline - \noindent\begin{list}{}% - {\vskip-30bp\xiaosi[1.6] - \renewcommand\makelabel[1]{##1\hfil} - \setlength{\labelwidth}{#1} % 标签盒子宽度 - \setlength{\labelsep}{0.5cm} % 标签与列表文本距离 - \setlength{\itemindent}{0cm} % 标签缩进量 - \setlength{\leftmargin}{\labelwidth+\labelsep} % 左边界 - \setlength{\rightmargin}{0cm} - \setlength{\parsep}{0cm} % 段落间距 - \setlength{\itemsep}{0cm} % 标签间距 - \setlength{\listparindent}{0cm} % 段落缩进量 - \setlength{\topsep}{0pt} % 标签与上文的间距 - }}{\end{list}} + \vskip-30bp\xiaosi[1.6]\begin{thu@denotation}[labelwidth=#1] +}{% + \end{thu@denotation} +} +\newlist{thu@denotation}{description}{1} +\setlist[thu@denotation]{% + nosep, + font=\normalfont, + align=left, + leftmargin=!, % sum of the following 3 lengths + labelindent=0pt, + labelwidth=2.5cm, + labelsep*=0.5cm, + itemindent=0pt, +} % % \end{macrocode} % \end{environment} @@ -2985,7 +3035,7 @@ % \subsubsection{致谢以及声明} % \label{sec:ackanddeclare} % -% \begin{environment}{ack} +% \begin{environment}{acknowledgement} % 支持扫描文件替换。 % \changes{v2.4}{2006/04/14}{调整\textbf{致谢}等中间的距离。} % \begin{macrocode} @@ -3012,9 +3062,10 @@ % \changes{v2.5.2}{2006/05/30}{研究生致谢题目是致谢,目录是致谢与声明。} % \changes{v2.6.3}{2006/07/01}{重画双虚线,自适应页面宽度。} % \changes{v4.5.2}{2010/09/19}{研究生论文的致谢和声明终于分开了。} +% \changes{v5.2.1}{2016/01/11}{用 \env{acknowledgement} 替换 \env{ack}。} % \begin{macrocode} %<*cls> -\NewDocumentEnvironment{ack}{o}{% +\NewDocumentEnvironment{acknowledgement}{o}{% \thu@chapter*{\thu@ackname} } % \end{macrocode} @@ -3037,6 +3088,13 @@ }% \fi } +% \end{macrocode} +% \end{environment} +% \begin{environment}{ack} +% 兼容旧版本保留 \env{ack}。 +% \begin{macrocode} +\let\ack\acknowledgement +\let\endack\endacknowledgement % % \end{macrocode} % \end{environment} @@ -3119,6 +3177,8 @@ % \begin{macro}{\inlinecite} % 正文引用模式。依赖于 \pkg{natbib} 宏包,修改其中的命令。旧命令 \cs{onlinecite} % 依然可用。 +% \changes{v5.0.0}{2015/11/23}{用 \cs{inlinecite} 替换 \cs{onlinecite}。为保证兼 +% 容性,\cs{onlinecite} 会保留。} % \begin{macrocode} %<*cls> \bibpunct{[}{]}{,}{s}{}{,} @@ -3214,8 +3274,8 @@ % \end{macrocode} % \end{environment} % -% \changes{v5.2.0}{2016/1/11}{增加 \cs{title} 排版翻译标题。} % \begin{macro}{\title} +% \changes{v5.2.0}{2016/01/11}{增加 \cs{title} 排版翻译标题。} % 本科外文翻译文章的标题,用法:\cs{title}\marg{资料标题}。这个命令只能在附录环 % 境下使用。 % \begin{macrocode} @@ -3227,8 +3287,8 @@ % \end{macrocode} % \end{macro} % -% \changes{v5.2.0}{2016/1/11}{增加翻译文献环境 \env{translationbib}。} % \begin{environment}{translationbib} +% \changes{v5.2.0}{2016/01/11}{增加翻译文献环境 \env{translationbib}。} % 外文资料的参考文用宋体五号字,取固定行距17pt,段前后3pt。 % \begin{macrocode} \newlist{translationbib}{enumerate}{1} @@ -3302,8 +3362,8 @@ % \end{environment} % \end{environment} % -% \changes{v5.2.0}{2016/1/11}{增加 \cs{publicationskip}。} % \begin{macro}{\publicationskip} +% \changes{v5.2.0}{2016/01/11}{增加 \cs{publicationskip}。} % \env{publications} 环境可以连续出现多次,第二类论文列表前后要空一行,使 % 用 \cs{publicationskip}。 % \begin{macrocode} @@ -3361,11 +3421,12 @@ \ProvidesPackage{dtx-style} \RequirePackage{hypdoc} \RequirePackage[UTF8,scheme=chinese]{ctex} +\RequirePackage{newpxtext} +\RequirePackage{newpxmath} \RequirePackage[ top=2.5cm, bottom=2.5cm, left=4cm, right=2cm, headsep=3mm]{geometry} -\RequirePackage{calc} \RequirePackage{array,longtable,booktabs} \RequirePackage{listings} \RequirePackage{fancyhdr} -- cgit v1.2.3