% ^^A !Mode:: "TeX:UTF-8:DTX" % \iffalse meta-comment % % Copyright 2012-2015 Shi Fujun % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 % of this license or (at your option) any later version. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3 or later is part of all distributions of LaTeX % version 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Shi Fujun . % % This work consists of the files uestcthesis.dtx, uestcthesis.ins and % uestcthesis.bst. % and the derived file uestcthesis.cls. % Other files in this work's package are belongs to the respective owners. % % \fi % % \iffalse %<*driver> \ProvidesFile{uestcthesis.dtx} % %\NeedsTeXFormat{LaTeX2e}[2011/06/27] %\ProvidesClass{uestcthesis} %<*class> [2015/02/13 v1.1.0 UESTC thesis class] % %<*driver> \documentclass{ltxdoc} \usepackage[hyperref,UTF8]{ctex} \usepackage{cmap} \EnableCrossrefs \CodelineIndex \RecordChanges \usepackage{rvdtx} \begin{document} \DocInput{uestcthesis.dtx} \end{document} % % \fi % % \CheckSum{0} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % % \GetFileInfo{uestcthesis.dtx} % % \DoNotIndex{\newcommand,\newenvironment} % % % \title{The \textsf{uestcthesis} class\thanks{This document % corresponds to \textsf{uestcthesis}~\fileversion, dated \filedate.}} % \author{时富军 \\ \texttt{shifujun@foxmail.com}} % % \maketitle % \iffalse %<*class> % \fi % \section{文类版本号说明} % \changes{v1.0.0}{2014/03/12}{因学校正式推荐使用本模板,版本号改为1.0.0。} % 本模板的版本号由3段组成。在v1.0.0之前,第一段是0,表示模板处于测试期。从2014年3月12日起, % 学校正式推荐使用本模板,故将版本号第一段改为1,表示转为正式版。第二段每次增加1点,表示模板功能上有所增加。 % 第三段每次增加1点,表示功能没有增加,只修复了Bug。 % \section{文类源代码} % \changes{v0.21}{2013/01/22}{将模板重构为DocStrip格式} % \subsection{中文支持} %继承ctexbook文类,并调用了如下功能的选项:\par %cs4size:使用小四字号为缺省字体大小。\par %UTF8:使用UTF-8 编码。\par %fancyhdr:保持和fancyhdr 宏包的兼容性。该选项将使得fancyhdr 宏包被自动调用。 %fancyhdr是版式设置宏包,即页眉页脚设置。\par %hyperref:自动判断hyperref 宏包的正确参数以避免产生乱码。 %如果在导言区用户没有自己调用hyperref,则该选项将使得hyperref 宏包在导言区末尾被 %自动调用;如果需要对hyperref 宏包做进一步的设置,则用户可以自己在ctex 宏包后调用 %hyperref,并使用适当的选项或设置。hyperref是超链接宏包,为pdf文件中的交叉引用提供超链接。\par %fntef:为CJKfntef 宏包和CCTfntef 宏包提供统一接口。 %该选项将使得CJKfntef 宏包或者CCTfntef 宏包被自动调用。这两个宏包是下划线宏包。 % \begin{macrocode} \LoadClass[cs4size,UTF8,fancyhdr,hyperref,fntef,openany]{ctexbook}[2011/03/11] % \end{macrocode} %\changes{v0.6.1}{2014/01/20}{修正所有正文的英文为Times字体。抄录环境中的英文使用打印机字体,并不能用Times字体。} % \begin{macrocode} \RequirePackage{mathptmx} % \end{macrocode} %\changes{v0.6.8}{2014/03/06}{将公式中的字体改回v0.6.1之前的CM字体。} %\changes{v1.0.1}{2014/03/13}{再次修正公式中的所有符号回到CM字体,在v0.6.8中的修正不完整。} % mathptmx宏包同时将公式中的字体也改为了Times字体。因为公式中还是用默认CM字体较多,所以这里还需要修改回来。 % 参照source2e中42.1.1 Symbolfont and Alphabet declarations的内容修正。 % \begin{macrocode} \DeclareSymbolFont{symbols} {OMS}{cmsy}{m}{n} \DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n} \DeclareSymbolFont{operators} {OT1}{cmr} {m}{n} \DeclareSymbolFont{letters} {OML}{cmm} {m}{it} \SetSymbolFont{operators}{bold}{OT1}{cmr} {bx}{n} \SetSymbolFont{letters} {bold}{OML}{cmm} {b}{it} \SetSymbolFont{symbols} {bold}{OMS}{cmsy}{b}{n} % \end{macrocode} %\changes{v0.6}{2014/01/16}{修正ttfamily为宋体,而不是默认的仿宋。} %修正ttfamily为宋体,而不是默认的仿宋。 % \begin{macrocode} \renewcommand{\ttfamily}{\CTEX@save@ttfamily \CJKfamily {\CTEX@rm@family }} % \end{macrocode} %调用etoolbox宏包,为了使用其提供的|\ifblank|命令。 % \begin{macrocode} \RequirePackage{etoolbox}[2011/01/03] % \end{macrocode} % %调用ifthen宏包,为了使用其提供的|\ifthenelse|命令。 % \begin{macrocode} \RequirePackage{ifthen} % \end{macrocode} % \subsection{学位选项} %设置有关学士学位论文的选项值。变量的命名方式采用:|%\@degree|,其中|| %是可变的变量名。此形式用于在其他排版设置中取代原有的常量值。 % \begin{macro}{\bachelor@uestcthesis} %本科学位论文相关设置: % \begin{macrocode} \newcommand{\bachelor@uestcthesis}{ \newcommand{\degree@uestcthesis}{bachelor} \newcommand{\multibibflag@uestcthesis}{} %设置不使用multibib宏包 \newcommand{\thesisname@degree}{电子科技大学学士学位论文} %论文全名 \newcommand{\chapternumberformat@uestcthesis}{\arabic{chapter}} %为了根据学位不同而设置不同的章标题序号方式而定义的命令。此处设置为本科论文章标题用阿拉伯数字序号。 } % \end{macrocode} % \end{macro} % \begin{macro}{\master@uestcthesis} %硕士学位论文相关设置: % \begin{macrocode} \newcommand{\master@uestcthesis}{ \newcommand{\degree@uestcthesis}{master} \newcommand{\multibibflag@uestcthesis}{TRUE} %设置使用multibib宏包 \newcommand{\thesisname@degree}{电子科技大学硕士学位论文} %论文全名 \newcommand{\publicationsname@degree}{攻硕期间取得的研究成果} \newcommand{\@degree}{硕士} %定义申请学位级别 \newcommand{\publicationsname@english}{Research Results Obtained During the Study for Master Degree} \newcommand{\thesisname@english}{Master Thesis of University of Electronic Science and Technology of China} \newcommand{\chapternumberformat@uestcthesis}{\chinese{chapter}} %为了根据学位不同而设置不同的章标题序号方式而定义的命令。此处设置为本科论文章标题用汉字数字序号。 } % \end{macrocode} % \end{macro} % \begin{macro}{\doctor@uestcthesis} %博士学位论文相关设置: % \begin{macrocode} \newcommand{\doctor@uestcthesis}{ \newcommand{\degree@uestcthesis}{doctor} \newcommand{\doctortitlepage@uestcthesis}{}%先声明宏,稍后定义。 \newcommand{\titlepage@degree}{\doctortitlepage@uestcthesis} %定义封面的排版设置 \newcommand{\multibibflag@uestcthesis}{TRUE} %设置使用multibib宏包 \newcommand{\thesisname@degree}{电子科技大学博士学位论文} %论文全名 \newcommand{\publicationsname@degree}{攻博期间取得的研究成果} \newcommand{\@degree}{博士} %定义申请学位级别 \newcommand{\publicationsname@english}{Research Results Obtained During the Study for Doctor Degree} \newcommand{\thesisname@english}{Doctor Thesis of University of Electronic Science and Technology of China} \newcommand{\chapternumberformat@uestcthesis}{\chinese{chapter}} %为了根据学位不同而设置不同的章标题序号方式而定义的命令。此处设置为本科论文章标题用汉字数字序号。 } % \end{macrocode} % \end{macro} %\changes{v0.4}{2013/04/04}{添加english选项以便将预定名修改为英文} %\changes{v0.4.4}{2013/05/25}{由于2013年本科管理规范中未将章标题改为和硕博一致的汉字序号,所以在此将本科论文中的章标题单独改为阿拉伯数字序号。} %一些名称的定义统一在这里,以便在英文选项中替换成英文。同时还有设置章标题序号的显示方式。 % \begin{macrocode} \newcommand{\tocname@uestcthesis}{目录} \newcommand{\contentsname@uestcthesis}{目\enspace 录} \newcommand{\chaptername@uestcthesis}{ \CTEXsetup[ name={第,章}, number={\chapternumberformat@uestcthesis} ]{chapter} } \newcommand{\chaptermarkfix@uestcthesis}{ \renewcommand{\chaptermark}[1]{\markboth{第\chapternumberformat@uestcthesis章~##1 }{}} } \newcommand{\acknowledgementsname@uestcthesis}{致\enspace 谢} \newcommand{\glossaryname@uestcthesis}{主要符号表} \newcommand{\acronymname@uestcthesis}{缩略词表} \newcommand{\entryname@uestcthesis}{符号} \newcommand{\descriptionname@uestcthesis}{说明} \newcommand{\pagelistname@uestcthesis}{页码} \newcommand{\acronymheader@uestcthesis}{缩略词} \newcommand{\acronymfull@uestcthesis}{英文全称} \newcommand{\acronymtranslation@uestcthesis}{中文全称} \renewcommand{\listfigurename}{图目录} \renewcommand{\listtablename}{表目录} % \end{macrocode} % \begin{macro}{\english@uestcthesis} %英文选项相关设置: % \begin{macrocode} \newcommand{\english@uestcthesis}{ \renewcommand{\tocname@uestcthesis}{Contents} \renewcommand{\contentsname@uestcthesis}{{\bf Contents}} \renewcommand{\chaptername@uestcthesis}{ \CTEXsetup[ name={Chapter\space,}, number={\arabic{chapter}} ]{chapter} } \renewcommand{\chaptermarkfix@uestcthesis}{} \renewcommand{\chaptermark}[1]{\markboth{Chapter\space\arabic{chapter}~##1 }{}} \renewcommand{\acknowledgementsname@uestcthesis}{Acknowledgements} \renewcommand{\CTEX@bibname}{References} \renewcommand{\publicationsname@degree}{\publicationsname@english} \renewcommand{\thesisname@degree}{\thesisname@english} \renewcommand{\CTEX@figurename}{Figure} \renewcommand{\CTEX@tablename}{Table} \renewcommand{\glossaryname@uestcthesis}{Glossary} \renewcommand{\acronymname@uestcthesis}{Acronyms} \renewcommand{\entryname@uestcthesis}{Notation} \renewcommand{\descriptionname@uestcthesis}{Description} \renewcommand{\pagelistname@uestcthesis}{Page List} \renewcommand{\acronymheader@uestcthesis}{Acronym} \renewcommand{\acronymfull@uestcthesis}{Full Name} \renewcommand{\acronymtranslation@uestcthesis}{Chinese} \renewcommand{\CTEX@appendixname}{Appendix~} \renewcommand{\listfigurename}{List of Figures} \renewcommand{\listtablename}{List of Tables} \renewcommand{\CTEX@contentsname}{\zihao{-3}Contents} } % \end{macrocode} % \end{macro} % 声明7个选项分别代表7种论文类型,会有不同的封面或扉页。由于其中的定义包含中文,所以声明必须放在ctexbook文类后面。 % \changes{v0.6.4}{2014/02/25}{新增3个选项。用以支持新增的3种中文扉页。} % \changes{v1.0.2}{2015/02/01}{删除封面,因而删去决定中文扉页的各种学位选项。} % bachelor代表学士学位;master代表硕士学位;doctor代表博士学位; % english选项表示替换所有预定名为英文。 % \begin{macrocode} \DeclareOption{bachelor}{\bachelor@uestcthesis} \DeclareOption{master}{\master@uestcthesis} \DeclareOption{doctor}{\doctor@uestcthesis} \DeclareOption{english}{\english@uestcthesis} % \end{macrocode} % \changes{v0.6.4}{2014/02/25}{新增2个选项withoutforepages和onlychapters。} % \changes{v1.0.2}{2015/02/01}{删除withoutforepages选项。在onlychapters选项中去除学校信息} % 设置一个选项。启用后只编译正文部分。 % \begin{macrocode} \DeclareOption{onlychapters}{ \newcommand{\onlychapters@uestcthesis}{} } % \end{macrocode} % \changes{v0.6}{2014/01/11}{添加个人简历的选项:cv} % 添加一个cv选项。启用后用contents目录中的cv.tex(人简历及攻读硕士学位期间取得的研究成果) % 代替publications.bib(攻博/硕期间发表的论文)显示在论文的最后。 % \begin{macrocode} \DeclareOption{cv}{ \newcommand{\usecv@uestcthesis}{\input{contents/cv.tex}} } % \end{macrocode} % 声明选项用以决定是否添加图表目录。 % \changes{v0.6}{2014/01/11}{添加图表目录的选项:listoffigures和listoftables} % 在Document环境开始处重新定义|\Hy@org@chapter|命令。这个命令中包含控制图表目录中按章插入空白的命令。 % 此处将原有的空白注释掉,按需要可取消注释。 % \begin{macrocode} \AtBeginDocument{\def\Hy@org@chapter [#1]#2{\ifnum \c@secnumdepth >\m@ne \if@mainmatter \refstepcounter {chapter}\typeout {\CTEXthechapter }\addcontentsline {toc}{chapter} {\protect \numberline {\CTEXthechapter \hspace {0.3em}}#1}\else \addcontentsline {toc}{chapter}{#1}\fi \else \addcontentsline {toc}{chapter}{#1}\fi \chaptermark {#1}% %\addtocontents {lof}{\protect \addvspace {10\p@ }}\addtocontents {lot}{\protect \addvspace {10\p@ }}% \if@twocolumn \@topnewpage [\@makechapterhead {#2}]\else \@makechapterhead {#2}\@afterheading \fi }} % \end{macrocode} % 定义插入图表目录的命令,用于在自动插入必选结构处调用。 % \begin{macrocode} \newcommand{\insertlof}{} \newcommand{\insertlot}{} \DeclareOption{listoffigures}{\renewcommand{\insertlof}{% \clearpage{\pagestyle{empty}\cleardoublepage} \figureslistmatter %默认的图表目录中不显示“图”或“表”字,只有1-1等标号,故重定义以下命令。下方表目录同此。 \def\l@figure##1##2{\ifnum 0>\c@tocdepth \else \vskip \z@ \@plus .2\p@ {\leftskip 0em\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent 0em\relax \@afterindenttrue \interlinepenalty \@M \leavevmode \@tempdima 1em\relax \advance \leftskip \@tempdima \null \nobreak \hskip -\leftskip {\CTEX@figurename~##1}\nobreak \leaders \hbox {$\m@th \mkern \@dotsep mu\hbox {.}\mkern \@dotsep mu$}\hfill \nobreak \hb@xt@ \@pnumwidth {\hfil \normalfont \normalcolor ##2}\par }\fi} \listoffigures }} \DeclareOption{listoftables}{\renewcommand{\insertlot}{% \clearpage{\pagestyle{empty}\cleardoublepage} \tableslistmatter \def\l@table##1##2{\ifnum 0>\c@tocdepth \else \vskip \z@ \@plus .2\p@ {\leftskip 0em\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent 0em\relax \@afterindenttrue \interlinepenalty \@M \leavevmode \@tempdima 1em\relax \advance \leftskip \@tempdima \null \nobreak \hskip -\leftskip {\CTEX@tablename~##1}\nobreak \leaders \hbox {$\m@th \mkern \@dotsep mu\hbox {.}\mkern \@dotsep mu$}\hfill \nobreak \hb@xt@ \@pnumwidth {\hfil \normalfont \normalcolor ##2}\par }\fi} \listoftables }} \ProcessOptions\relax % \end{macrocode} % \subsection{版面设置} %调用版面设置宏包geometry。这些选项的值是参照MS WORD打印出来的PDF文件对比得到的。 %选项说明:\\ %a4paper:设置版面纸张为A4纸。\\ %headheight:设置页眉高度。\\ %headsep:页眉与版心的距离。\\ %includeheadfoot:将页眉页脚高度算进版心中。\\ %centering:设置版心居中。\\ %top:页面顶边与版心之间的距离。\\ %left:双页排版的内侧边距。 % % \changes{v0.5.2}{2013/08/07}{针对本科规范还没有修订,单独设置硕博的新规范要求的版面设置} % \begin{macrocode} \ifdefstring{\degree@uestcthesis}{bachelor}{ \RequirePackage[a4paper,headheight=12.65pt,headsep=4mm,includeheadfoot,centering, top=2.75cm,left=3cm]{geometry} }{ \RequirePackage[a4paper,headheight=12.65pt,headsep=4mm,includeheadfoot,centering, top=2.08cm,left=3cm]{geometry} } % \end{macrocode} % %按照学校要求需要设置默认行距为20磅。参数是倍数值,没有单位。这个值是通过 %|\showthe\baselineskip|命令查看当前的行距,然后计算得到的。 %\changes{v0.4.4}{2013/05/25}{修正可能会出现的超大段距问题,这是由于默认设置要求每页底部文字对齐,所以拉抻所有弹性间距。现取消这个设置,并加大一个不太明显的弹性段距。} % \begin{macrocode} \linespread{1.391} % \end{macrocode} %设置不要求每页底部文字对齐,并设置一个管理规范中没有的弹性额外段距。这使得换页位置会更美观,而段距不明显。段距为最大10磅,仅为行距一半,最小可以压缩1磅。 % \begin{macrocode} \parskip=0bp plus 10bp minus 1bp \raggedbottom % \end{macrocode} % \subsection{图表设置} %\changes{v1.1.0}{2015/02/13}{为所有图表命令新增一个带B的版本,都在标题参数前加一个参数:图表目录标题。} %调用宏包: %graphicx插图宏包\\ %calc计算宏包,用于在插图等尺寸指定时可以指定用四则运算表示尺寸。 %例如|0.6\textwidth|表示0.6倍的行宽。\\ %float宏包,为浮动环境增加一个H选项,命令系统就地放置浮动体。但这个选项必须单独 %使用,例如|\begin{figure}[H]|。 如果中括号内有其他选项,则H会失去强制作用。\\ %texnames宏包提供了|\LaTeX|等\TeX 专有Logo打印命令。这个宏包可能只在编写说明文档 %时有用,在编写毕业设计论文时应该不会用到。 % % \begin{macrocode} \RequirePackage{graphicx,calc,float,texnames} % \end{macrocode} % %调用图表标题宏包caption。选项说明:\\ %format=hang:将标题从第二行起悬挂缩进排版,缩进宽度等于标题标志加分隔符的宽度。\\ %labelsep=space:分隔符样式为一个空格。 % % \begin{macrocode} \RequirePackage[format=hang,labelsep=space]{caption} % \end{macrocode} % %设置浮动体在文本中间的前后间距为6磅,按照硕博标准标题前后其余的6磅另行设置。 % % \begin{macrocode} \intextsep=6bp % \end{macrocode} % %设置浮动体在页面顶端或底端时与文本之间的距离。 % \begin{macrocode} \textfloatsep=6bp % \end{macrocode} %设置浮动体在页面顶端或底端时多个之间的距离。 % \begin{macrocode} \floatsep=6bp % \end{macrocode} % %分别设置表和图的标题与正文的距离。\\ %aboveskip:标题与图表之间的距离。\\ %belowskip:标题与下文之间的距离。\\ %图的前后距离都设置为0是因为有子图标题可能在图题之后,故而不在此设置。 % \changes{v0.5.2}{2013/08/07}{根据新的硕博规范单独设置硕博论文的图表标题前后段距} % \begin{macrocode} \captionsetup[figure]{aboveskip=0bp,belowskip=0bp} \captionsetup[table]{aboveskip=0bp,belowskip=6bp} % \end{macrocode} % %调用宏包:\\ %booktabs表格线宏包。用于绘制三线表。\\ %tabularx可调列宽表格宏包。可自动换行。\\ %threeparttable可加脚注的表格宏包。\\ %longtable跨页表格宏包。 % \begin{macrocode} \RequirePackage{booktabs,tabularx,threeparttable,longtable} % \end{macrocode} % %先声明一个图表标题字体。 % \begin{macrocode} \DeclareCaptionFont{capfont}{\zihao{5}} % \end{macrocode} % %再设置图表标题字体为上一行声明的。 % \begin{macrocode} \captionsetup{font=capfont} % \end{macrocode} % %使图编号数字间加一个短横线。即设置成图1-1的样式。 % \begin{macrocode} \renewcommand{\thefigure}{\arabic{chapter}\textendash\arabic{figure}} % \end{macrocode} % %使表编号数字间加一个短横线。即设置成表1-1的样式。 % \begin{macrocode} \renewcommand{\thetable}{\arabic{chapter}\textendash\arabic{table}} % \end{macrocode} % %设置图片的根目录。 % \begin{macrocode} \graphicspath{{pics/}} % \end{macrocode} % %调用宏包placeins。允许上一个section的浮动图形出现在下一个section的开始部分,还提供|\FloatBarrier|命令,使所有未处理的浮动图形立即被处理。 % \begin{macrocode} \RequirePackage[below]{placeins} % \end{macrocode} % %调用宏包flafter。使得所有浮动体不能被放置在其浮动环境之前,以免浮动体在引述它的文本之前出现. % \begin{macrocode} \RequirePackage{flafter} % \end{macrocode} % \begin{macro}{\newcmds@uestcthesis} %定义一些插入图表的包装命令 % \begin{macrocode} \newcommand{\newcmds@uestcthesis}{ % \end{macrocode} % \begin{macro}{\pic} %|\pic|命令生成一个独占一行、居中的图片。标题前后间距符合科大毕设标准 % \begin{macrocode} \newcommand{\pic}[4][htbp]{ \begin{figure}[##1]% \centering% \includegraphics[##3]{##4}% \caption{##2}% \label{##4}% \vspace{6bp}% \end{figure}% } % \end{macrocode} %|\picB|命令同|\pic|命令功能,但多一个图目录标题参数。 % \begin{macrocode} \newcommand{\picB}[5][htbp]{ \begin{figure}[##1]% \centering% \includegraphics[##4]{##5}% \caption[##2]{##3}% \label{##5}% \vspace{6bp}% \end{figure}% } % \end{macrocode} % \end{macro} % \subsubsection{子图环境设置} %\changes{v0.5.0}{2013/08/01}{改变子图的标题位置,使之符合学校标准} %由于子图中包含了中文,所以使用|\edef|等嵌套定义方式不能使用。故而定义了20个子图 %名宏。 % \begin{macro}{\clearallsubfigcaptions} % 既做初始化又做清空使用。 % \begin{macrocode} \newcommand{\clearallsubfigcaptions}{ \gdef\subfigcaptionA{}\gdef\subfigcaptionB{}\gdef\subfigcaptionC{}% \gdef\subfigcaptionD{}\gdef\subfigcaptionE{}\gdef\subfigcaptionF{}% \gdef\subfigcaptionG{}\gdef\subfigcaptionH{}\gdef\subfigcaptionI{}% \gdef\subfigcaptionJ{}\gdef\subfigcaptionK{}\gdef\subfigcaptionL{}% \gdef\subfigcaptionM{}\gdef\subfigcaptionN{}\gdef\subfigcaptionO{}% \gdef\subfigcaptionP{}\gdef\subfigcaptionQ{}\gdef\subfigcaptionR{}% \gdef\subfigcaptionS{}\gdef\subfigcaptionT{}% } \clearallsubfigcaptions % \end{macrocode} % \end{macro} %重定义|\@makesubfigurecaption|命令,将传入|\@makesubfigurecaption|命令中的子图 %标题存入前面自定义的20个子图标题宏中,而不直接打印在原来的位置。 %\changes{v0.6.5}{2014/03/01}{修复BUG:子图有不居中的情况。} % \begin{macrocode} \def\@makesubfigurecaption ##1##2{\setbox \@tempboxa \hbox {\subcapsize { \subcaplabelfont ##1}{\subcapfont \ignorespaces }}\@tempdimb =-\subfigcapmargin \multiply \@tempdimb \tw@ \advance \@tempdimb \@tempdima \hbox to\@tempdima {\hss \ifdim \wd \@tempboxa >\@tempdimb \subfig@caption {##1}{}\else \ifsubcapnooneline \subfig@caption {##1}{}\else \box \@tempboxa \fi \fi \hss } \ifthenelse{\equal{\subfigcaptionA}{}}{\gdef\subfigcaptionA{{(a)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionB}{}}{\gdef\subfigcaptionB{;{(b)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionC}{}}{\gdef\subfigcaptionC{;{(c)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionD}{}}{\gdef\subfigcaptionD{;{(d)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionE}{}}{\gdef\subfigcaptionE{;{(e)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionF}{}}{\gdef\subfigcaptionF{;{(f)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionG}{}}{\gdef\subfigcaptionG{;{(g)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionH}{}}{\gdef\subfigcaptionH{;{(h)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionI}{}}{\gdef\subfigcaptionI{;{(i)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionJ}{}}{\gdef\subfigcaptionJ{;{(j)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionK}{}}{\gdef\subfigcaptionK{;{(k)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionL}{}}{\gdef\subfigcaptionL{;{(l)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionM}{}}{\gdef\subfigcaptionM{;{(m)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionN}{}}{\gdef\subfigcaptionN{;{(n)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionO}{}}{\gdef\subfigcaptionO{;{(o)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionP}{}}{\gdef\subfigcaptionP{;{(p)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionQ}{}}{\gdef\subfigcaptionQ{;{(q)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionR}{}}{\gdef\subfigcaptionR{;{(r)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionS}{}}{\gdef\subfigcaptionS{;{(s)}{\ignorespaces ##2}}} {\ifthenelse{\equal{\subfigcaptionT}{}}{\gdef\subfigcaptionT{;{(t)}{\ignorespaces ##2}}} {\gdef\subfigcaptionA{子图不能超过20个!!!}}}}}}}}}}}}}}}}}}}}}} % \end{macrocode} % \begin{macro}{\allsubpiccaptions} % 该命令只是连续打印所有的子图名。 % \begin{macrocode} \newcommand{\allsubpiccaptions}{% \subfigcaptionA\subfigcaptionB\subfigcaptionC\subfigcaptionD\subfigcaptionE% \subfigcaptionF\subfigcaptionG\subfigcaptionH\subfigcaptionI\subfigcaptionJ% \subfigcaptionK\subfigcaptionL\subfigcaptionM\subfigcaptionN\subfigcaptionO% \subfigcaptionP\subfigcaptionQ\subfigcaptionR\subfigcaptionS\subfigcaptionT} % \end{macrocode} % \end{macro} % 定义6个变量,分别是:多图环境整体的标签变量、多图环境整体的标题变量、 % 临时存储子图标题的盒子(用于测量子图标题长度)、子图标题缩进量、子图标题序号 % 缩进量(就是序号的宽度)、子图标题宽度。 % \begin{macrocode} \newcommand{\subpiclabel}{} \newcommand{\subpiccaption}{} \newsavebox{\tempsubpiccaptionbox} \newlength{\tempsubpiccaptionindent} \newlength{\tempsubpiccaptionheadindent} \newlength{\tempsubpiccaptionwidth} % \end{macrocode} % \begin{environment}{pics}% %定义子图环境和插入子图命令 % \begin{macrocode} \newenvironment{pics}[3][htbp]{%定义多图环境 \renewcommand{\subpiclabel}{##3}%设置多图环境整体的标签 \renewcommand{\subpiccaption}{##2}%设置多图环境整体的标题。这里先定义两个空变量,又设置值,是因为在定义一个环境时,环境结尾中不能调用##2,##3等传入的值。所以要在环境结尾中插入标题和标签就只能这么做了。 \begin{figure}[##1]% \begin{center}% }% {% \end{center}% \raggedright% \sbox{\tempsubpiccaptionbox}{\parbox{\textwidth}% {\zihao{5}图~\thefigure~\subpiccaption}}% \settowidth{\tempsubpiccaptionheadindent}{\zihao{5}图~\thefigure~}% % \end{macrocode} %这里用一个判断语句来根据主图题是否超过一行而分别处理。按照规范,不超过一行才居中, %超过一行则左对齐。 %\changes{v0.5.5}{2013/11/26}{修复BUG:无法引用子图的总标签问题。} %\changes{v0.6.5}{2014/03/01}{修复BUG:当子图环境整体标题和子图标题都超过一行时,子图标题没有悬挂缩进的问题。} %\changes{v0.6.9}{2014/03/08}{修复BUG:当子图环境整体标题中存在下标时错误判断为标题超出一行。} % \begin{macrocode} \ifthenelse{\lengthtest{\ht\tempsubpiccaptionbox > 16pt}}{%THEN \noindent\caption{\subpiccaption}\label{\subpiclabel}\par% \noindent\hspace*{\tempsubpiccaptionheadindent}% \parbox{\textwidth-\tempsubpiccaptionheadindent}{\zihao{5}\allsubpiccaptions}% }{%ELSE {\centering\caption{\subpiccaption}\label{\subpiclabel}}\par \sbox{\tempsubpiccaptionbox}{\zihao{5}\CTEX@figurename~\thefigure~\subpiccaption}% \setlength{\tempsubpiccaptionindent}{\textwidth}% \addtolength{\tempsubpiccaptionindent}{-\wd\tempsubpiccaptionbox}% \setlength{\tempsubpiccaptionindent}{.5\tempsubpiccaptionindent}% \setlength{\tempsubpiccaptionwidth}{\textwidth}% \addtolength{\tempsubpiccaptionwidth}{-\tempsubpiccaptionindent}% \addtolength{\tempsubpiccaptionwidth}{-\tempsubpiccaptionheadindent}% \hspace*{\tempsubpiccaptionindent}\hspace*{\tempsubpiccaptionheadindent}% \parbox{\tempsubpiccaptionwidth}{\zihao{5}\allsubpiccaptions}% }% \vspace{6bp}% \end{figure}% \clearallsubfigcaptions% } % \end{macrocode} % \end{environment} % \begin{environment}{picsB}% %定义picsB环境,功能同pics环境。但主标题前多一个图目录标题参数。 % \begin{macrocode} \newcommand{\subpiclofcaption}{}%定义图目录中的整体标题。 \newenvironment{picsB}[4][htbp]{%定义多图环境 \renewcommand{\subpiclabel}{##4}%设置多图环境整体的标签 \renewcommand{\subpiccaption}{##3}%设置多图环境整体的标题。这里先定义两个空变量,又设置值,是因为在定义一个环境时,环境结尾中不能调用##2,##3等传入的值。所以要在环境结尾中插入标题和标签就只能这么做了。 \renewcommand{\subpiclofcaption}{##2}% \begin{figure}[##1]% \begin{center}% }% {% \end{center}% \raggedright% \sbox{\tempsubpiccaptionbox}{\parbox{\textwidth}% {\zihao{5}图~\thefigure~\subpiccaption}}% \settowidth{\tempsubpiccaptionheadindent}{\zihao{5}图~\thefigure~}% % \end{macrocode} %这里用一个判断语句来根据主图题是否超过一行而分别处理。按照规范,不超过一行才居中, %超过一行则左对齐。 %\changes{v0.5.5}{2013/11/26}{修复BUG:无法引用子图的总标签问题。} %\changes{v0.6.5}{2014/03/01}{修复BUG:当子图环境整体标题和子图标题都超过一行时,子图标题没有悬挂缩进的问题。} %\changes{v0.6.9}{2014/03/08}{修复BUG:当子图环境整体标题中存在下标时错误判断为标题超出一行。} % \begin{macrocode} \ifthenelse{\lengthtest{\ht\tempsubpiccaptionbox > 16pt}}{%THEN \noindent\caption[\subpiclofcaption]{\subpiccaption}\label{\subpiclabel}\par% \noindent\hspace*{\tempsubpiccaptionheadindent}% \parbox{\textwidth-\tempsubpiccaptionheadindent}{\zihao{5}\allsubpiccaptions}% }{%ELSE {\centering\caption[\subpiclofcaption]{\subpiccaption}\label{\subpiclabel}}\par \sbox{\tempsubpiccaptionbox}{\zihao{5}\CTEX@figurename~\thefigure~\subpiccaption}% \setlength{\tempsubpiccaptionindent}{\textwidth}% \addtolength{\tempsubpiccaptionindent}{-\wd\tempsubpiccaptionbox}% \setlength{\tempsubpiccaptionindent}{.5\tempsubpiccaptionindent}% \setlength{\tempsubpiccaptionwidth}{\textwidth}% \addtolength{\tempsubpiccaptionwidth}{-\tempsubpiccaptionindent}% \addtolength{\tempsubpiccaptionwidth}{-\tempsubpiccaptionheadindent}% \hspace*{\tempsubpiccaptionindent}\hspace*{\tempsubpiccaptionheadindent}% \parbox{\tempsubpiccaptionwidth}{\zihao{5}\allsubpiccaptions}% }% \vspace{6bp}% \end{figure}% \clearallsubfigcaptions% } % \end{macrocode} % \end{environment} % \begin{macro}{\addsubpic} %定义插入子图命令 % \begin{macrocode} \newcommand{\addsubpic}[3]{ \subfigure[##1]{\label{##3}\includegraphics[##2]{##3}} } % \end{macrocode} % \end{macro} % \begin{macro}{\addsubpic} % \changes{v1.1.0}{2015/02/04}{新增子图组分页命令。} % 定义子图组分页命令。在pics环境中使用此命令,并将pics环境位置参数设置为b。 % \begin{macrocode} \newcommand{\subpicnewpage}{% \end{center}% \end{figure}% \addtocounter{figure}{-1}% \begin{figure}[t]% \addtocounter{figure}{1}% \begin{center}% }% % \end{macrocode} % \end{macro} % \begin{macro}{\threelinetable} %|\threelinetable|命令生成一个独占一行、居中的三线表格。标题前后间距符合科大毕设标准。 %\changes{v0.4.4}{2013/05/24}{修正表格字号为五号字。} % \begin{macrocode} \newcommand{\threelinetable}[8][htbp]{ \begin{table}[##1] \zihao{5}%管理规范中要求表格中文字为五号字。 \centering \begin{threeparttable} \caption{##5} \label{##2} \begin{tabularx}{##3}{##4} \toprule[0.1em] ##6 \midrule[0.05em] ##7 \bottomrule[0.1em] \end{tabularx} \ifblank{##8}{}{ \begin{tablenotes} ##8 \end{tablenotes} } \end{threeparttable} \end{table} } % \end{macrocode} % \end{macro} % \begin{macro}{\threelinetable*} %|\threelinetableB|命令比|\threelinetable|在标题参数前多一个参数:表目录标题。 % \begin{macrocode} \newcommand{\threelinetableB}[9][htbp]{ \begin{table}[##1] \zihao{5}%管理规范中要求表格中文字为五号字。 \centering \begin{threeparttable} \caption[##5]{##6} \label{##2} \begin{tabularx}{##3}{##4} \toprule[0.1em] ##7 \midrule[0.05em] ##8 \bottomrule[0.1em] \end{tabularx} \ifblank{##9}{}{ \begin{tablenotes} ##9 \end{tablenotes} } \end{threeparttable} \end{table} } % \end{macrocode} % \end{macro} % \begin{macro}{\longthreelinetable} %|\longthreelinetable|命令生成一个居中的、可自动换页的三线表格。标题前后间距符合科大毕设标准。 % \begin{macrocode} \newcommand{\longthreelinetable}[6]{ { \zihao{5}%管理规范中要求表格中文字为五号字。 \centering \begin{longtable}{##4} \caption{##2}\label{##1}\\ \toprule[0.1em] ##5 \midrule[0.05em] \endfirsthead \multicolumn{##3}{r}{\footnotesize 接上页}\\ \toprule[0.1em] ##5 \midrule[0.05em] \endhead \bottomrule[0.1em] \multicolumn{##3}{r}{\footnotesize 接下页}\\ \endfoot \bottomrule[0.1em] \endlastfoot ##6 \end{longtable} } } % \end{macrocode} % \end{macro} % \begin{macro}{\longthreelinetableB} %|\longthreelinetableB|命令比|\longthreelinetable|在标题参数前多一个参数:表目录标题。 % \begin{macrocode} \newcommand{\longthreelinetableB}[7]{ { \zihao{5}%管理规范中要求表格中文字为五号字。 \centering \begin{longtable}{##5} \caption[##2]{##3}\label{##1}\\ \toprule[0.1em] ##6 \midrule[0.05em] \endfirsthead \multicolumn{##4}{r}{\footnotesize 接上页}\\ \toprule[0.1em] ##6 \midrule[0.05em] \endhead \bottomrule[0.1em] \multicolumn{##4}{r}{\footnotesize 接下页}\\ \endfoot \bottomrule[0.1em] \endlastfoot ##7 \end{longtable} } } % \end{macrocode} % \end{macro} % \begin{macro}{\pictable} %插入图片形式的表格 % \begin{macrocode} \newcommand{\pictable}[4][htbp]{ \begin{table}[##1] \centering \caption{##2} \label{##4} \includegraphics[##3]{##4} \end{table} } % \end{macrocode} % \end{macro} % \begin{macro}{\pictableB} %|\pictableB|命令比|\pictable|命令在标题参数前多一个参数:图目录标题。 % \begin{macrocode} \newcommand{\pictableB}[5][htbp]{ \begin{table}[##1] \centering \caption[##2]{##3} \label{##5} \includegraphics[##4]{##5} \end{table} } % \end{macrocode} % \end{macro} % \begin{macrocode} }%\newcmds@uestcthesis定义完毕 % \end{macrocode} % \end{macro} % \subsection{页眉页脚设置} % \changes{v0.4.6}{2013/06/02}{修正bug:页脚字号改为小五} % \changes{v0.6.7}{2014/03/04}{修正bug:缩略词表和主要符号表各自的第二页页眉不正确的问题。} % \begin{macro}{\mainmatterfancy} %定义正文版式设置 % \begin{macrocode} \newcommand{\mainmatterfancy}{ \fancyhf{} \fancyhead[OC]{\zihao{5}\leftmark}%奇数页居中打印章标题 \ifdef{\onlychapters@uestcthesis}{}{%onlychapters选项效果,在pdf元信息中去除学校信息。 \fancyhead[EC]{\zihao{5}\thesisname@degree}%偶数页居中打印论文全名 }%onlychapters选项效果END \fancyfoot[C]{\zihao{-5}\thepage}%页码位于页面底端,居中打印。 } % \end{macrocode} % \end{macro} % % \begin{macro}{\Cabstractfancy} %定义中文摘要版式设置 % \begin{macrocode} \newcommand{\Cabstractfancy}{% \fancyhf{}% \fancyhead[C]{\zihao{5}摘要}%页眉居中打印“摘要” \fancyfoot[C]{\zihao{-5}\thepage}%页码位于页面底端,居中打印。 } % \end{macrocode} % \end{macro} % % \begin{macro}{\Eabstractfancy} %定义英文摘要版式设置 % \begin{macrocode} \newcommand{\Eabstractfancy}{ \fancyhf{}% \fancyhead[C]{\zihao{5}ABSTRACT}%页眉居中打印“ABSTRACT” \fancyfoot[C]{\zihao{-5}\thepage}%页码位于页面底端,居中打印。 } % \end{macrocode} % \end{macro} % % \begin{macro}{\tocmatterfancy} %定义目录区版式设置 % \begin{macrocode} \newcommand{\tocmatterfancy}{ \fancyhf{} \fancyhead[C]{\zihao{5}\tocname@uestcthesis}%页眉居中打印“目 录” \fancyfoot[C]{\zihao{-5}\thepage}%页码位于页面底端,居中打印。 } % \end{macrocode} % \end{macro} % % \begin{macro}{\glossarymatterfancy} %定义主要符号表版式设置 % \begin{macrocode} \newcommand{\glossarymatterfancy}{%定义主要符号表版式设置 \fancyhf{} \fancyhead[C]{\zihao{5}\glossaryname@uestcthesis}% \fancyfoot[C]{\zihao{-5}\thepage}% } % \end{macrocode} % \end{macro} % \begin{macro}{\acronymnamematterfancy} %定义缩略词表版式设置 % \begin{macrocode} \newcommand{\acronymnamematterfancy}{%定义缩略词表版式设置 \fancyhf{} \fancyhead[C]{\zihao{5}\acronymname@uestcthesis}% \fancyfoot[C]{\zihao{-5}\thepage}% } % \end{macrocode} % \end{macro} % \begin{macro}{\Cabstractmatter} %设置中文摘要版式 % \begin{macrocode} \newcommand{\Cabstractmatter}{ \setcounter{page}{1}%页码重置为1 \pagenumbering{Roman}%页码使用大写罗马数字 \pagestyle{fancy} \Cabstractfancy \fancypagestyle{plain}{\Cabstractfancy} %中文摘要页也是章标题页面,也使用plain版式。所以单独重新定义。这个定义会在英文摘要版式设置中被覆盖掉。 } % \end{macrocode} % \end{macro} % \begin{macro}{\Eabstractmatter} %设置英文摘要版式。英文摘要页也是章标题页面,也使用plain版式。所以单独重新定义。这个定义会在目录版式设置中被覆盖掉。 % \begin{macrocode} \newcommand{\Eabstractmatter}{ \pagestyle{fancy} \Eabstractfancy \fancypagestyle{plain}{\Eabstractfancy} } % \end{macrocode} % \end{macro} % \begin{macro}{\tocmatter} %定义目录版式 % \begin{macrocode} \newcommand{\tocmatter}{ \pagestyle{fancy} \tocmatterfancy %使章标题页页眉页脚与其他页一致 \fancypagestyle{plain}{\tocmatterfancy} %目录页也是章标题页面,也使用plain版式。但目录的右页和摘要或正文的其他章标题页不一样,所以单独重新定义。这个定义会在正文区命令中被覆盖掉。 } % \end{macrocode} % \end{macro} % \begin{macro}{\mainmatter} %重定义正文区版式 % \begin{macrocode} \renewcommand{\mainmatter}{ \newpage \setcounter{page}{1} \pagenumbering{arabic} \pagestyle{fancy} \chaptermarkfix@uestcthesis %修正页眉章号显示不正确 \mainmatterfancy%设置正文的版式 \fancypagestyle{plain}{\mainmatterfancy} %使章标题页使用plain版式,需要单独定义它。使它的页眉页脚与其他页一致。 } % \end{macrocode} %定义图目录表目录版式 % \begin{macrocode} \newcommand{\figureslistmatterfancy}{ \fancyhf{} \fancyhead[C]{\listfigurename}% \fancyfoot[C]{\zihao{-5}\thepage}%页码位于页面底端,居中打印。 } \newcommand{\tableslistmatterfancy}{ \fancyhf{} \fancyhead[C]{\listtablename} \fancyfoot[C]{\zihao{-5}\thepage}%页码位于页面底端,居中打印。 } \newcommand{\figureslistmatter}{ \pagestyle{fancy} \figureslistmatterfancy \fancypagestyle{plain}{\figureslistmatterfancy} } \newcommand{\tableslistmatter}{ \pagestyle{fancy} \tableslistmatterfancy \fancypagestyle{plain}{\tableslistmatterfancy} } \newcommand{\glossarymatter}{ \pagestyle{fancy} \glossarymatterfancy \fancypagestyle{plain}{\glossarymatterfancy} } \newcommand{\acronymnamematter}{ \pagestyle{fancy} \acronymnamematterfancy \fancypagestyle{plain}{\acronymnamematterfancy} } % \end{macrocode} % \end{macro} % \changes{v1.0.2}{2015/02/01}{从模板中删除封面和LOGO。} % \changes{v0.4.1}{2013/05/04}{将学校的LOGO集成在cls文件里。} % \changes{v0.5.6}{2013/12/25}{按照学校识别视觉系统修正了LOGO的颜色。} % \changes{v0.4.2}{2013/05/14}{针对默认编译器不能使用write18命令的情况,在不能正常显示logo时显示一段说明文字。} % \changes{v0.6.4}{2014/02/25}{用withoutforepages选项控制是否编译LOGO} % \changes{v1.0.2}{2015/02/01}{删除封面} % \changes{v0.6.4}{2014/02/25}{将封面、中文扉页、英文扉页都独立出来。} % \changes{v0.6.3}{2014/02/24}{修订硕博封面第2页,使之和学校范例尽量一样。} % \subsection{各级标题设置} %设置标题排序深度到3级节标题subsubsection,例如1.1.1.1 % \begin{macrocode} \setcounter{secnumdepth}{3} % \end{macrocode} % \changes{v0.5.2}{2013/08/07}{由于本科论文规范还未修改,单独设置硕博标题前后段距。} %设置章标题格式。弹性长度的距离为行距的20\%。排版规则中说明可以适当调整各级标题段后间距。 % \begin{macrocode} \chaptername@uestcthesis \ifdefstring{\degree@uestcthesis}{bachelor}{ \CTEXsetup[ nameformat={}, numberformat={}, titleformat={}, aftername={~}, beforeskip={2mm},%章标题段前30磅,这里2mm是由于实际效果与MS WORD有差异而微调出的。具体测量的是页眉线到章标题文字上边的距离。 afterskip={30bp plus 6bp minus 6bp},%章标题段后30磅。 format={\heiti\zihao{-3}\centering}, ]{chapter} }{ \CTEXsetup[ nameformat={}, numberformat={}, titleformat={}, aftername={~}, beforeskip={1.8mm},%章标题段前30磅,这里2mm是由于实际效果与MS WORD有差异而微调出的。具体测量的是页眉线到章标题文字上边的距离。 afterskip={18bp plus 3.6bp minus 3.6bp},%章标题段后30磅。 format={\heiti\zihao{-3}\centering}, ]{chapter} } % \end{macrocode} % %设置1级节标题格式 % \begin{macrocode} \ifdefstring{\degree@uestcthesis}{bachelor}{ \CTEXsetup[ aftername={~}, beforeskip={18bp}, afterskip={18bp plus 3.6bp minus 3.6bp}, format={\heiti\zihao{4}\flushleft}]{section} }{ \CTEXsetup[ aftername={~}, beforeskip={18bp}, afterskip={6bp plus 1.2bp minus 1.2bp}, format={\heiti\zihao{4}\flushleft}]{section} } % \end{macrocode} % %设置2级节标题格式 % \begin{macrocode} \ifdefstring{\degree@uestcthesis}{bachelor}{ \CTEXsetup[ aftername={~}, beforeskip={12bp}, afterskip={12bp plus 2.4bp minus 2.4bp}, format={\heiti\zihao{4}\flushleft}]{subsection} }{ \CTEXsetup[ aftername={~}, beforeskip={12bp}, afterskip={6bp plus 1.2bp minus 1.2bp}, format={\heiti\zihao{4}\flushleft}]{subsection} } % \end{macrocode} % %设置3级节标题格式 % \begin{macrocode} \ifdefstring{\degree@uestcthesis}{bachelor}{ \CTEXsetup[ aftername={~}, beforeskip={6bp}, afterskip={6bp plus 1.2bp minus 1.2bp}, format={\heiti\zihao{-4}\flushleft}]{subsubsection} }{ \CTEXsetup[ aftername={~}, beforeskip={12bp}, afterskip={6bp plus 1.2bp minus 1.2bp}, format={\heiti\zihao{-4}\flushleft}]{subsubsection} } % \end{macrocode} % \subsection{摘要设置} %调用ifthen宏包,可提供|\ifthenelse|判断命令。 % \begin{environment}{Cabstract} %定义中文摘要环境 % \begin{macrocode} \newenvironment{Cabstract}[5]{ % \end{macrocode} % \begin{macro}{\@ckeywords} %定义生成中文关键词的命令。如果关键词少于3个则用“必选关键词”五个字补上,以提示作者关键词不够。同时自动加入正确的中文逗号。 %\changes{v0.4.4}{2013/05/23}{修正bug:\@ckeywords命令和\@ekeywords命令中的每行结束应加一个\%符号,否则直接换行相当于加入了一个不该有的空格。} % \begin{macrocode} \newcommand{\@ckeywords}{ \ifthenelse{\equal{#1}{}}{必选关键词}{#1}% \ifthenelse{\equal{#2}{}}{必选关键词}{,#2}% \ifthenelse{\equal{#3}{}}{必选关键词}{,#3}% \ifthenelse{\equal{#4}{}}{}{,#4}% \ifthenelse{\equal{#5}{}}{}{,#5}% } \ifthenelse{\equal{#5}{}}{ \ifthenelse{\equal{#4}{}}{ \ifthenelse{\equal{#3}{}}{ \def\@pdfckeywords{#1, #2, 关键字应3-5个} }{\def\@pdfckeywords{#1, #2, #3}} }{\def\@pdfckeywords{#1, #2, #3, #4}} }{\def\@pdfckeywords{#1, #2, #3, #4, #5}} \hypersetup{% pdfkeywords={\@pdfckeywords}%在pdf元信息中加入关键字 } % \end{macrocode} % \end{macro} %\changes{v0.5.4}{2013/10/29}{修改中英文摘要标题和关键词的字体,改为加粗形式。并按照范例,在“摘要”二字中间加空格。} %\changes{v0.6.1}{2014/01/20}{修改中英文关键词换行缩进。} % \begin{macrocode} \chapter*{摘\enspace 要}%插入不带章号的摘要 } {\\[3mm]%摘要后换行空出3mm {\textbf{关键词:}}\parbox[t]{378.59134pt}{\@ckeywords}%插入关键词 } % \end{macrocode} % \end{environment} % \begin{environment}{Eabstract} %定义英文摘要环境 % \begin{macrocode} \newenvironment{Eabstract}[5]{ % \end{macrocode} % \begin{macro}{\@ckeywords} %定义生成英文关键词的命令。如果关键词少于3个则用“必选关键词”五个字补上,以提示作者关键词不够。同时自动加入正确的英文逗号。 % \begin{macrocode} \newcommand{\@ekeywords}{ \ifthenelse{\equal{#1}{}}{必选关键词}{#1}% \ifthenelse{\equal{#2}{}}{必选关键词}{, #2}% \ifthenelse{\equal{#3}{}}{必选关键词}{, #3}% \ifthenelse{\equal{#4}{}}{}{, #4}% \ifthenelse{\equal{#5}{}}{}{, #5}% } % \end{macrocode} % \end{macro} % \begin{macrocode} \Eabstractmatter%设置英文摘要版式 \chapter*{\bf ABSTRACT}%插入不带章号的ABSTRACT } {\\[3mm]%摘要后换行空出3mm {\bf Keywords:\nbs}\parbox[t]{367.97586pt}{\@ekeywords}%插入关键词 } % \end{macrocode} % \end{environment} % \subsection{目录设置} % \changes{v0.4.8}{2013/06/07}{目录字体修改为黑体小三,和章标题字体一致。之前错误的设置是2008年本科规范。} %设置目录标题 % \begin{macrocode} \CTEXoptions[contentsname={\protect\heiti\protect\zihao{-3}\contentsname@uestcthesis}] % \end{macrocode} % %设置目录的显示深度到3级节标题。 % \begin{macrocode} \setcounter{tocdepth}{3} % \end{macrocode} % %目录中连接页码的点的密度 % \begin{macrocode} \def\@dotsep{2} % \end{macrocode} % %目录中的章标题改为黑体 % \begin{macrocode} \def\l@chapter#1#2{\ifnum 0>\c@tocdepth \else \vskip \z@ \@plus .2\p@ {\leftskip 0em\relax \rightskip \@tocrmarg \parfillskip -\rightskip \parindent 0em\relax \@afterindenttrue \interlinepenalty \@M \leavevmode \@tempdima 1em\relax \advance \leftskip \@tempdima \null \nobreak \hskip -\leftskip {\heiti #1}\nobreak \leaders \hbox {$\m@th \mkern \@dotsep mu\hbox {.}\mkern \@dotsep mu$}\hfill \nobreak \hb@xt@ \@pnumwidth {\hfil \normalfont \normalcolor #2}\par }\fi} % \end{macrocode} % %设置四级标题在目录中的左缩进分别为0、2、4、6个英文字符宽。序号到题目间隔1个英文字符宽。 %\changes{v0.4.3}{2013/05/20}{由于我的疏忽,本来应将本科规范改为和硕博一致分别缩进0,2,4,6个全角字符,但2013年的规范中写成了半角字符。这里只好先针对本科论文修改过来。} % \begin{macrocode} \ifdefstring{\degree@uestcthesis}{bachelor}{ \renewcommand*\l@section{\@dottedtocline{1}{1em}{1em}} \renewcommand*\l@subsection{\@dottedtocline{2}{2em}{1em}} \renewcommand*\l@subsubsection{\@dottedtocline{3}{3em}{1em}} }{ \renewcommand*\l@section{\@dottedtocline{1}{2em}{1em}} \renewcommand*\l@subsection{\@dottedtocline{2}{4em}{1em}} \renewcommand*\l@subsubsection{\@dottedtocline{3}{6em}{1em}} } % \end{macrocode} % \subsection{数学式设置} %amsmath数学宏包。 % \changes{v0.5.2}{2013/08/07}{去除kmath宏包。} % \changes{v0.6.7}{2014/03/04}{添加希腊字母等粗体的bm宏包} % \begin{macrocode} \RequirePackage{amsmath,amsfonts,amssymb,bm} % \end{macrocode} % %使公式编号数字间加一个短横线。例如(1-1)。 % \begin{macrocode} \renewcommand{\theequation}{\arabic{chapter}\textendash\arabic{equation}} % \end{macrocode} % %调用定理设置宏包 %\changes{v0.33}{2013/02/25}{设置定理环境的缩进} %\changes{v0.4}{2013/04/04}{添加设置各定理环境结束符的语句,但暂时还设置为空。} % \begin{macrocode} \RequirePackage[amsmath,thmmarks]{ntheorem} \theorembodyfont{\normalfont}%字体 \theoremheaderfont{\normalfont \bfseries \hspace*{2em}}%设置缩进 \theoremseparator{\enskip}%分隔符是一个空格 % \end{macrocode} % %定义四种带标号的定理环境 % \begin{macrocode} \theoremsymbol{}%定义环境结束符,下同 \newtheorem{dingyi}{定义}[section] \def\enddingyi{\quad\@endtheorem}%修正环境中最后一个字符不是英文字符时,不显示结束符的BUG。下同。 \theoremsymbol{} \newtheorem{gongli}{公理}[section] \def\endgongli{\quad\@endtheorem} \theoremsymbol{■} \newtheorem{dingli}{定理}[section] \def\enddingli{\quad\@endtheorem} \theoremsymbol{■} \newtheorem{yinli}{引理}[section] \def\endyinli{\quad\@endtheorem} % \end{macrocode} % %定义一种不带标号的证明环境。 % \begin{macrocode} \theoremstyle{nonumberplain} \theoremsymbol{■} \newtheorem{zhengming}{证明} \def\endzhengming{\quad\@endtheorem} % \end{macrocode} % \subsection{参考文献设置} % 根据是否为研究生学位,选择是否载入multibib宏包。 % \begin{macrocode} \RequirePackage[numbers,sort&compress]{natbib} %参考文献宏包。调用natbib,选项是GBT7714-2005NLang.bst的说明中指定的。 %hypernat宏包已经不用了。 \newcommand{\citeup}[1]{\textsuperscript{\cite{#1}}} %自定义命令:插入右上角角标形式的参考文献引用。 % \end{macrocode} %为了在硕士和博士论文加入攻读期间发表的论文一章,必须使用multibib宏包。 % \begin{macrocode} \ifblank{\multibibflag@uestcthesis}{}{ \RequirePackage[resetlabels]{multibib} \newcites{publications}{NULL} \bibliographystylepublications{uestcthesis} \nocitepublications{*} % \end{macrocode} %重定义|\bibliographypublications|,去掉|\bibliographypublications|命令中原有的 %修改章名的设置,因为|\newcites|命令设置章名时不支持中文。这个设置改由 %|\CTEXoptions[ bibname={\publicationsname@degree}]|代替。 % \begin{macrocode} \def\bibliographypublications#1{\let \temp@auxout \@auxout \let \addtocontents \mb@addtocontents \let \@auxout \@auxoutpublications \let \jobname \@auxoutpublicationsname \bibliography {#1}} } % \end{macrocode} %\subsection{注脚格式排版设置} % \changes{v0.5.0}{2013/08/01}{添加注脚格式的排版设置} % \changes{v0.6.5}{2014/03/01}{修复BUG:注脚在pdf中超级链接跳转失效的问题。} % \changes{v0.6.6}{2014/03/03}{修复BUG:按照学校规范,注脚应该每页重新编号。} %修正footmisc宏包的hang选项与CTeX宏包的冲突。修正来源:\\ %\url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=76571} % \begin{macrocode} \renewcommand*\CTEXsetfont{% \begingroup \settowidth\ccwd{\CTEX@spaceChar\CJKglue}% \edef\x{\noexpand\ccwd\the\ccwd}% \expandafter\endgroup\x \ifdim\parindent=0pt\else\parindent2\ccwd\fi} % \end{macrocode} %加载注脚宏包footmisc,使用悬挂选项hang % % \begin{macrocode} \RequirePackage[hang,perpage]{footmisc} % \end{macrocode} %设置注脚内容缩进,5.2mm是对比word中悬挂缩进1.5字符的结果测量得出的。 % \begin{macrocode} \setlength{\footnotemargin}{5.2mm} % \end{macrocode} %重绘注脚线,其中7.4mm、5.05cm和0.02cm都是对比范文在word中的效果测量出的。 %其中|\vfill|用于将注脚置于页面底部。因为模板禁止了底部对齐,以保证不会出现过大的段距。 % \changes{v0.6.6}{2014/03/03}{修正注脚线和内容的距离。} % \begin{macrocode} \renewcommand{\footnoterule}{\vfill\noindent \vspace*{0.9mm}\hspace{7.4mm}\rule{5.05cm}{0.02cm}\vspace*{2.6pt}} % \end{macrocode} %定义注脚所用的带圆圈的序号样式 % \begin{macrocode} \RequirePackage{pifont} \def\@circlednumber#1{\ifcase#1\or \ding{192}\or \ding{193}\or \ding{194}\or \ding{195}\or \ding{196}\or \ding{197}\or \ding{198}\or \ding{199} \or \ding{200} \or \ding{201} \else\@ctrerr\fi} \def\circlednumber#1{\expandafter\@circlednumber\csname c@#1\endcsname} \renewcommand{\thefootnote}{\circlednumber{footnote}} % \end{macrocode} %重定义注脚的格式,将序号的字体取消默认的上标样式。 % \begin{macrocode} \def\@makefntext #1{\ifFN@hangfoot \bgroup \setbox \@tempboxa \hbox {\ifdim \footnotemargin >0pt \hb@xt@ \footnotemargin {\hbox { \normalfont \@thefnmark} \hss }\else \hbox { \normalfont \@thefnmark} \fi }\leftmargin \wd \@tempboxa \rightmargin \z@ \linewidth \columnwidth \advance \linewidth -\leftmargin \parshape \@ne \leftmargin \linewidth \footnotesize \@setpar {{\@@par }} \leavevmode \llap {\box \@tempboxa }\parskip \hangfootparskip \relax \parindent \hangfootparindent \relax \else \parindent 1em \noindent \ifdim \footnotemargin >\z@ \hb@xt@ \footnotemargin {\hss \hbox { \normalfont \@thefnmark} }\else \ifdim \footnotemargin =\z@ \llap {\hbox { \normalfont \@thefnmark} }\else \llap {\hb@xt@ -\footnotemargin {\hbox { \normalfont \@thefnmark} \hss }} \fi \fi \fi \footnotelayout #1\ifFN@hangfoot \par \egroup \fi} % \end{macrocode} % \subsection{PDF文件相关设置} % \begin{macro}{\date} %设置论文提交日期命令 % \begin{macrocode} \renewcommand{\date}[3]{ \renewcommand{\@date}{#1年#2月#3日} \def\@year{#1}%用于pdf元信息 } \date{}{}{}%设置默认空置,避免v1.0.1版本前编写的源代码无法直接编译。 % \end{macrocode} % \end{macro} % 设置pdf文件中的超链接和书签 % \changes{v0.6}{2014/01/11}{去除pdf文件中显示的超级链接有色外框} % \begin{macrocode} \RequirePackage{cmap}%pdflatex编译时,可以生成可复制、粘贴的中文PDF文档 \RequirePackage{hyperxmp}%在pdf中加入XMP高级元信息 \RequirePackage[pdftex,unicode, bookmarksnumbered=true, bookmarksopen=true, hidelinks=true, breaklinks=true, pdfdisplaydoctitle=true ]{hyperref} \ifdef{\onlychapters@uestcthesis}{}{%onlychapters选项效果,在pdf元信息中去除学校信息。 \AtEndDocument{ \hypersetup{% pdftitle={\@title}, pdfauthor={\@author}, pdfcopyright={Copyright (C) \@year, \@author}, pdfsubject={\thesisname@degree}, pdflicenseurl={}, pdfcreator={PDFLaTeX with uestcthesis class}, pdflang={zh-CN}, pdfpagelayout={TwoPageRight} } } }%onlychapters选项效果END % \end{macrocode} % \subsection{其他设置} % 根据hyperref的文档:应该先调用hyperref,后调用subfigure,以解决兼容性问题。 % \begin{macrocode} \RequirePackage[small]{subfigure} % \end{macrocode} % %枚举环境宏包,去除所有垂直附加距离。 % \changes{v0.31}{2013/02/21}{去除枚举环境的所有垂直附加距离。} % \changes{v0.4.3}{2013/05/20}{修复bug:枚举环境与前后文存在额外间距} % \changes{v0.6}{2014/01/12}{用enumitem宏包代替enumerate宏包。使枚举环境的序号缩进和正文一致。} % \begin{macrocode} \RequirePackage{enumitem} \setlist[1]{topsep=0pt,labelsep=0pt,partopsep=0pt,parsep=0pt,itemsep=0pt,leftmargin=*,align=left,labelindent=\parindent} \setlist[2]{topsep=0pt,labelsep=0pt,partopsep=0pt,parsep=0pt,itemsep=0pt,leftmargin=*,align=left,labelindent=0pt} \setlist[3]{topsep=0pt,labelsep=0pt,partopsep=0pt,parsep=0pt,itemsep=0pt,leftmargin=*,align=left,labelindent=0pt} \setlist[4]{topsep=0pt,labelsep=0pt,partopsep=0pt,parsep=0pt,itemsep=0pt,leftmargin=*,align=left,labelindent=0pt} % \end{macrocode} % \subsection{排版源代码相关设置} %排版源代码所需宏包 % \begin{macrocode} \RequirePackage{color,marvosym} % \end{macrocode} %\changes{v0.4.7}{2013/06/03}{为了使用等宽字体排版源代码,将highlight.sty内容内置进来。} %将Highlight程序生成的highlight.sty内容内置进来。将原本的粗体命令|\bf|改为一个 %自定义的粗体命令,为了使用等宽的粗体。但是这里未解决数学环境内设置等宽字体。 % \begin{macrocode} \DeclareOldFontCommand{\txttbf}{\ttfamily\bfseries}{\mathbf} \providecommand{\hlstd}[1]{\textcolor[rgb]{0,0,0}{#1}} \providecommand{\hlnum}[1]{\textcolor[rgb]{0,0,0}{#1}} \providecommand{\hlesc}[1]{\textcolor[rgb]{0,0,0}{#1}} \providecommand{\hlstr}[1]{\textcolor[rgb]{0,0,0}{#1}} \providecommand{\hlpps}[1]{\textcolor[rgb]{0,0,0}{#1}} \providecommand{\hlslc}[1]{\textcolor[rgb]{0.4,0.4,0.4}{{#1}}} \providecommand{\hlcom}[1]{\textcolor[rgb]{0.4,0.4,0.4}{{#1}}} \providecommand{\hlppc}[1]{\textcolor[rgb]{0,0,0}{\txttbf{#1}}} \providecommand{\hlopt}[1]{\textcolor[rgb]{0,0,0}{\txttbf{#1}}} \providecommand{\hlipl}[1]{\textcolor[rgb]{0,0,0}{#1}} \providecommand{\hllin}[1]{\textcolor[rgb]{0.53,0.53,0.53}{#1}} \providecommand{\hlkwa}[1]{\textcolor[rgb]{0,0,0}{\txttbf{#1}}} \providecommand{\hlkwb}[1]{\textcolor[rgb]{0,0,0}{\txttbf{#1}}} \providecommand{\hlkwc}[1]{\textcolor[rgb]{0,0,0}{\txttbf{#1}}} \providecommand{\hlkwd}[1]{\textcolor[rgb]{0,0,0}{\txttbf{#1}}} \definecolor{bgcolor}{rgb}{1,1,1} % \end{macrocode} % \subsection{主要符号表设置} %\changes{v0.6}{2014/01/11}{将glossary宏包替换为新版的glossaries宏包。可同时提供缩略词表和主要符号表 。} %\changes{v1.1.0}{2015/02/12}{以显式方式定义主要符号表、缩略词表的风格,还重定义了缩略词引用风格。方便用户修改。} %设置术语表宏包供主要符号表使用 % \begin{macrocode} \RequirePackage[description,acronym]{glossaries} \makeglossaries \renewcommand{\glossaryname}{\glossaryname@uestcthesis} \renewcommand{\entryname}{\entryname@uestcthesis} \renewcommand{\descriptionname}{\descriptionname@uestcthesis} \renewcommand{\acronymname}{\acronymname@uestcthesis} \renewcommand{\pagelistname}{\pagelistname@uestcthesis} % \end{macrocode} % \begin{macro}{\fuhao} %包装向主要符号表中插入条目的命令 % \begin{macrocode} \newcommand{\fuhao}[3]{% \newglossaryentry{#3}{name={#1},description={#2},sort=#3}% } % \end{macrocode} % \end{macro} % 定义custom-long3colheader风格,用于主要符号表。设置同long3colheader,方便用户修改。 % \begin{macrocode} \newglossarystyle{custom-long3colheader}{% \renewenvironment{theglossary}% %主要符号表就是一个longtable,各列的宽度和对齐方式在下面这行设置: {\begin{longtable}{lp{\glsdescwidth}p{\glspagelistwidth}}}% {\end{longtable}}% %设置说明列宽度: \setlength{\glsdescwidth}{82mm} %设置页码列宽度: \setlength{\glspagelistwidth}{14mm} %设置没有表头: \renewcommand*{\glossaryheader}{}% %设置分组间没有表头: \renewcommand*{\glsgroupheading}[1]{}% %主条目第一列名称,第二列说明,第三列页码: \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \glossentrydesc{##1} & ##2\tabularnewline }% %子条目第一列空置,第二列说明,第三列页码: \renewcommand{\subglossentry}[3]{% & \glssubentryitem{##2}% \glstarget{##2}{\strut}\glossentrydesc{##2} & ##3\tabularnewline }% %定义分组间空白: \renewcommand*{\glsgroupskip}{% \ifglsnogroupskip\else & &\tabularnewline\fi}% %定义表头: \renewcommand*{\glossaryheader}{% \bfseries\entryname&\bfseries\descriptionname& \bfseries\pagelistname\tabularnewline\endhead}% } % \end{macrocode} % 定义acronymwithtranslation风格,用于缩略词表。 % \begin{macrocode} \newglossarystyle{acronymwithtranslation}{% \renewenvironment{theglossary}% %缩略词表也是一个longtable,各列的宽度和对齐方式在下面这行设置: {\begin{longtable}{lp{\glsdescwidth}p{\glspagelistwidth}}}% {\end{longtable}}% %设置英文全称列宽度: \setlength{\glsdescwidth}{85mm} %设置中文全称列宽度: \setlength{\glspagelistwidth}{7em} %设置没有表头: \renewcommand*{\glossaryheader}{}% %设置分组间没有表头: \renewcommand*{\glsgroupheading}[1]{}% %主条目第一列缩略词,第二列说明,第三列中文全称: \renewcommand{\glossentry}[2]{% \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} & \csname glo@##1@first\endcsname & \glossentrydesc{##1}\tabularnewline }% %子条目第一列空置,第二列说明,第三列中文全称: \renewcommand{\subglossentry}[3]{% & \csname glo@##1@first\endcsname & \glossentrydesc{##1}\tabularnewline }% %定义分组间空白: \renewcommand*{\glsgroupskip}{% \ifglsnogroupskip\else & &\tabularnewline\fi}% %定义表头: \renewcommand*{\glossaryheader}{% \bfseries\acronymheader@uestcthesis&\bfseries\acronymfull@uestcthesis& \bfseries\acronymtranslation@uestcthesis\tabularnewline\endhead}% } % \end{macrocode} %重定义缩略词引用风格long-short。long-short是默认的风格,下方代码也没有更改long-short的任何设置。 %此处重定义long-short风格只是为了用户方便修改。 % \begin{macrocode} \renewacronymstyle{long-short}% {% % \end{macrocode} % Check for long formin case this is a mixed glossary. % 这里的|\glsgenacfmt|或|\glsgenentryfmt|是管理|\gls-like|命令的。 % \begin{macrocode} \ifglshaslong{\glslabel}{\glsgenacfmt}{\glsgenentryfmt}% }% {% \renewcommand*{\GenericAcronymFields}{description={\the\glslongtok}}% % No case change, singular first use(既用\gls第一次引用): \renewcommand*{\genacrfullformat}[2]{% \glsentrylong{##1}##2\space (\protect\firstacronymfont{\glsentryshort{##1}})% }% % First letter upper case, singular first use(既用\Gls第一次引用): \renewcommand*{\Genacrfullformat}[2]{% \Glsentrylong{##1}##2\space (\protect\firstacronymfont{\glsentryshort{##1}})% }% % No case change, plural first use(既用\glspl第一次引用): \renewcommand*{\genplacrfullformat}[2]{% \glsentrylongpl{##1}##2\space (\protect\firstacronymfont{\glsentryshortpl{##1}})% }% % First letter upper case, plural first use(既用\Glspl第一次引用): \renewcommand*{\Genplacrfullformat}[2]{% \Glsentrylongpl{##1}##2\space (\protect\firstacronymfont{\glsentryshortpl{##1}})% }% \renewcommand*{\acronymentry}[1]{\acronymfont{\glsentryshort{##1}}} \renewcommand*{\acronymsort}[2]{##1}% \renewcommand*{\acronymfont}[1]{##1}% \renewcommand*{\firstacronymfont}[1]{\acronymfont{##1}}% \renewcommand*{\acrpluralsuffix}{\glspluralsuffix}% } % 重定义后需要重新设置使用它: \setacronymstyle{long-short} % \end{macrocode} % \subsection{自动添加论文的必选结构} %\changes{v0.4.3}{2013/05/20}{由于目前(2013年)本科和硕博关于参考文献与致谢顺序的规定不一样,所以在这里区分设置} %\changes{v0.4.2}{2013/05/14}{修复只有单页目录时页眉显示主要符号表的问题。} %\changes{v0.4.3}{2013/05/20}{修复bug:摘要应从右页开始。前置部分都需要章起右页。} %\changes{v0.4.4}{2013/05/23}{本科论文中将外文资料和翻译加入目录中。} %\changes{v0.5.4}{2013/10/29}{修改封面到摘要之前的部分实际的页码,避免pdf阅读器中页码冲突。} %\changes{v0.6.1}{2014/01/20}{添加摘要和目录到pdf书签中。} %\changes{v0.6.4}{2014/02/25}{用withoutforepages选项和onlychapters选项控制忽略必选结构中的一部分。} % \begin{macrocode} % !Mode:: "TeX:UTF-8" \AtBeginDocument{%插入到论文内容的最前面。 \begin{CJK}{UTF8}{rm}%中文支持环境,此处内容不受ctexbook文类影响,所以必须手动加这个环境。 \ifdef{\onlychapters@uestcthesis}{}{%onlychapters选项效果 \Cabstractmatter%设置中文摘要版式 \pdfbookmark[1]{摘要}{Cabstract}%添加中文摘要的PDF书签 \include{contents/Cabstract}%插入中文摘要 \clearpage{\pagestyle{empty}\cleardoublepage} \Eabstractmatter%设置英文摘要版式 \pdfbookmark[1]{Abstract}{Eabstract}%添加英文摘要的PDF书签 \include{contents/Eabstract}%插入英文摘要 \clearpage{\pagestyle{empty}\cleardoublepage} \tocmatter%目录版式 \pdfbookmark[1]{\tocname@uestcthesis}{tableofcontents}%添加目录的PDF书签 \tableofcontents%插入目录 \insertlof%插入图目录 \insertlot%插入表目录 \clearpage{\pagestyle{empty}\cleardoublepage}%目录之后另起一页,这样无论目录后有没有主要符号表,主要符号表的页眉设置命令都会应用到下一页。 %此处遇到问题:目录之后到正文之前如果加入章节,这些章节的版式不受传统版式设置控制。估计是BUG。此处耗时6小时20分钟,终于找到了修正方案。 \acronymnamematter%设置缩略词表版式 \printacronyms[nogroupskip,style=acronymwithtranslation] \clearpage{\pagestyle{empty}\cleardoublepage} \glossarymatter%设置主要符号表版式。 \printglossary[nogroupskip,style=custom-long3colheader]%插入主要符号表 \clearpage{\pagestyle{empty}\cleardoublepage} \mainmatter%修正主要符号表版式,这里是受目录版式的影响,必须在此加入\mainmatter。 }% \end{CJK} \mainmatter%正文区版式 \makeatletter \newcmds@uestcthesis%自定义图表命令,这些命令必须在document环境里声明才能在正文中使用,所以只能放在这里了。 % \end{macrocode} %设置公式与上下文之间的间距。 % \begin{macrocode} \abovedisplayskip=6bp \abovedisplayshortskip=6bp \belowdisplayskip=6bp \belowdisplayshortskip=6bp \makeatother } \ifdef{\onlychapters@uestcthesis}{}{%onlychapters选项效果 \newcommand{\insertacknowledgement}{ \chapter*{\acknowledgementsname@uestcthesis}%用带星号的章命令插入不带章号的致谢。 \markboth{\acknowledgementsname@uestcthesis}{}%页眉设置 \phantomsection%手动添加目录项之前需要这个命令,用以更新目录超链接的跳转页码。 \addcontentsline{toc}{chapter}{\acknowledgementsname@uestcthesis}%将致谢编入目录 \input{contents/acknowledgements.tex}%插入致谢内容 } \newcommand{\insertreference}{ \bibliographystyle{uestcthesis} %载入参考文献样式文件uestcthesis.bst。此参考文献样式只在GBT7714-2005NLang.bst的基础上改变了参考文献条目的行距,以符合电子科技大学的要求。修改处位于uestcthesis.bst文件的3542行。另外将英文作者名由全大写改为首字母大写。 \phantomsection%手动添加目录项之前需要这个命令,用以更新目录超链接的跳转页码。 \addcontentsline{toc}{chapter}{\CTEX@bibname}%将参考文献编入目录 \nocite{*}%若将此命令屏蔽掉,则未引用的文献不会出现在文后的参考文献列表中。 {\zihao{5} \bibliography{contents/reference}%插入参考文献 } } \AtEndDocument{%插入到论文内容最后面。 \begin{CJK}{UTF8}{rm} \ifdefstring{\degree@uestcthesis}{bachelor}{%检测是否为本科论文,调换参考文献与致谢的顺序 \insertreference \newpage \insertacknowledgement }{ \insertacknowledgement \newpage \insertreference } % \end{macrocode} % \changes{v0.6.1}{2014/01/20}{修正附录中图表公式的标号格式。} % \begin{macrocode} \appendix%附录版式 \renewcommand{\thefigure}{\Alph{chapter}\textendash\arabic{figure}} \renewcommand{\thetable}{\Alph{chapter}\textendash\arabic{table}} \renewcommand{\theequation}{\Alph{chapter}\textendash\arabic{equation}} \renewcommand{\chaptermark}[1]{\markboth{\CTEX@appendixname\Alph{chapter}~ #1 }{}}%附录页眉设置 \input{contents/appendix.tex}%插入附录内容 \clearpage % \end{macrocode} % \subsubsection{本科外文资料翻译章节特殊设置} % \changes{v0.4.5}{2013/06/01}{设置外文资料章节的特殊格式。改写标准章节命令,让它们不向目录中加入条目。并重置章节号。} % 下面第一行先判断是否为本科论文。由于有的同学需要在外文翻译这两部分中使用章节标题命令。而又不希望它们按照正文的形式显示在目录中,所以需要如下设置。 % \begin{macrocode} \ifdefstring{\degree@uestcthesis}{bachelor}{ \gdef\thechapter{\@arabic \c@chapter} %将章号由附录的ABC形式改回123形式. \CTEXsetup[ name={,}, number={} ]{chapter} %去掉|\chapter|命令生成的章标题章号。 \setcounter{chapter}{0} %让节标题使用的章号重新从1开始。形成1.1,1.2的节标题结构。 \def\Hy@org@chapter[#1]#2{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter \refstepcounter {chapter} \typeout {\CTEXthechapter }\else \fi \else \fi \chaptermark {#1}\addtocontents{lof} {\protect \addvspace {10\p@ }}\addtocontents {lot}{\protect \addvspace {10\p@ }} \if@twocolumn \@topnewpage [\@makechapterhead {#2}] \else \@makechapterhead {#2} \@afterheading \fi } %去掉|\chapter|命令中的自动向目录中加入条目的功能。之后再使用|\chapter|命令,目录中不会产生新条目了。 \def\H@old@sect #1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \let \@svsec \@empty \else \refstepcounter {#1}\protected@edef \@svsec {\@seccntformat {#1}\relax }\fi \@tempskipa #5\relax \ifdim \@tempskipa >\z@ \begingroup #6{\@hangfrom {\hskip #3 \relax \@svsec }\interlinepenalty \@M \csname CTEX@#1@titleformat\endcsname #8 \@@par }\endgroup \csname #1mark\endcsname {#7}\else \def \@svsechd {#6{\hskip #3\relax \@svsec \csname CTEX@#1@titleformat\endcsname #8}\csname #1mark \endcsname {#7}}\fi \@xsect {#5}} %去掉所有节标题命令自动向目录中加入条目的功能。之后使用|\section\subsection|等命令不会向目录中加入新条目了。 \renewcommand{\chaptermark}[1]{\markboth{外文资料原文}{}} \def\leftmark{外文资料原文} \newpage \phantomsection \addcontentsline{toc}{chapter}{外文资料原文} \renewcommand{\CTEX@figurename}{Figure} \renewcommand{\CTEX@tablename}{Table} %在外文资料中图表题注使用英文显示。 \include{contents/original} \newpage \phantomsection \addcontentsline{toc}{chapter}{外文资料译文} \renewcommand{\chaptermark}[1]{\markboth{外文资料译文}{}} \def\leftmark{外文资料译文} \renewcommand{\CTEX@figurename}{图} \renewcommand{\CTEX@tablename}{表} %将图表题注由英文改回中文。 \setcounter{chapter}{0} %由于译文和原文是对照翻译的形式,所以章号依然重置为1。 \include{contents/translation} } % \end{macrocode} % \subsubsection{硕博攻读期间发表论文章节特殊设置} % 下面的大括号实际上是上一节判断是否为本科论文的|\ifdefstring|命令的else部分。也就是只有硕博论文才执行的命令。 % \begin{macrocode} { \ifdef{\usecv@uestcthesis}{\usecv@uestcthesis}{ \IfFileExists{contents/publications.bib}{%如果删除了publications.bib,则不显示这一章 \CTEXoptions[ bibname={\publicationsname@degree}]%设置攻博/硕期间发表的论文章题目 \phantomsection%手动添加目录项之前需要这个命令,用以更新目录超链接的跳转页码。 \addcontentsline{toc}{chapter}{\publicationsname@degree}%将攻博/硕期间发表的论文编入目录 {\zihao{5}% % \end{macrocode} % footmisc宏包的perpage选项会向每个aux文件中写入一个命令。由于publications没有tex文件,只有aux文件。所以出现了错误。这里将要写入aux文件的内容清空。 % \begin{macrocode} \def\footnotehint{}% \bibliographypublications{contents/publications}%插入攻博/硕期间发表的论文 }}{} } } \clearpage\end{CJK}} }%这是大括号是前面onlychapters选项的ifdef命令的一部分。 % \end{macrocode} % \iffalse % % \fi % \iffalse %<*bst> % \fi % \section{参考文献样式} % \changes{v0.3}{2013/2/12}{修复了参考文献模板bst文件中原有的问题, % 不再需要其他工具替换bbl中的错误。即参考文献中的“|\\.|”修正为“|\\|”。} % \changes{v0.4.4}{2013/05/23}{增加一个参考文献类型,主要用于在攻读期间取得成果 % 内录入获奖等不符合参考文献规范的内容。} %%本文件基于吴凯制作的GBT7714-2005NLang.bst(1 Beta 2 测试版2012年9月20日)修改而成。 %%修改内容包括将英文作者的名放前姓放后,设置行距。可与原始文件对比修改位置。 %%根据GBT7714-2005NLang.bst中copyright的要求,将文件名修改成uestcthesis.bst。 %%对吴凯的杰出工作表示感谢! %bst文件内容不在文档中显示。 % \iffalse ENTRY { address author booktitle chapter edition editor howpublished institution journal key month note number organization pages publisher school series title type volume year url TypeofLit %新加入:文献类型和标志代码 normalauthor %不改变大小写的作者 normaleditor %不改变大小写的编者 translator %新加入:翻译者 date %日期,公告日期,公开日期 modifydate %修改日期 citedate %引用日期 patentid %专利号 country %国家(主要用于专利中) miscyear %其它类中用于输出年份 startyear %起始年 startvolume %起始卷 startnumber %起始期 endyear %终止年 endvolume %终止卷 endnumber %终止期 language %默认是英文文献,非空则表明是中文文献 } {} { label extra.label sort.label short.list } INTEGERS { output.state before.all mid.sentence after.sentence after.block } FUNCTION {format.url} { url empty$ { "" } { new.block "\url{" url * "}" * } if$ } FUNCTION {init.state.consts} { #0 'before.all := #1 'mid.sentence := #2 'after.sentence := #3 'after.block := } STRINGS { s t } FUNCTION {output.nonnull} { 's := output.state mid.sentence = { ", " * write$ } { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {coutput.nonnull} %wk { 's := output.state mid.sentence = { "," * write$ } % { output.state after.block = { add.period$ write$ newline$ "\newblock " write$ } { output.state before.all = 'write$ { add.period$ " " * write$ } if$ } if$ mid.sentence 'output.state := } if$ s } FUNCTION {output} { duplicate$ empty$ 'pop$ 'output.nonnull if$ } FUNCTION {coutput} %wk { duplicate$ empty$ 'pop$ 'coutput.nonnull if$ } FUNCTION {output.check} { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'output.nonnull if$ } FUNCTION {coutput.check} %wk { 't := duplicate$ empty$ { pop$ "empty " t * " in " * cite$ * warning$ } 'coutput.nonnull if$ } FUNCTION {output.year.month.check} { year empty$ { "empty year in " cite$ * warning$ } { add.period$ write$ month empty$ { " " year * extra.label * "." * after.sentence 'output.state := } { " " year * extra.label * " (" * month * ")." * after.sentence 'output.state := } if$ } if$ } FUNCTION {output.cyear.month.check} %wk { year empty$ { "empty year in " cite$ * warning$ } {write$ month empty$ {year %wk after.sentence 'output.state := } { "" year * extra.label * "(" * month * ")" * %wk after.sentence 'output.state := } if$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {output.modifydate.check} {modifydate } FUNCTION {output.citedate.check} { year empty$ { "" } { write$ "[" citedate * extra.label * "]" * after.sentence 'output.state := } if$ } FUNCTION {output.year.check} { year empty$ { "empty year in " cite$ * warning$ } {miscyear empty$ {year} {miscyear} if$ %wk } if$ extra.label * } FUNCTION {output.cyear.check} %wk { year empty$ { "empty year in " cite$ * warning$ } {miscyear empty$ {year} {miscyear} if$ %wk } if$ extra.label * } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {output.continue.year.check} %wk { endyear empty$ {startyear empty$ {year empty$ { "empty year in " cite$ * warning$ } {"" year * "" * } if$ } {"" startyear * "-" * } if$ } {startyear empty$ {year empty$ { "empty year in " cite$ * warning$ } {"" year * "" * } if$ } {"" startyear * "-" * "" endyear * "" * * } if$ } if$ } FUNCTION {output.continue.cyear.check} %wk { endyear empty$ {startyear empty$ {year empty$ { "empty year in " cite$ * warning$ } {"" year * "" * } if$ } {"" startyear * "-" * } if$ } {startyear empty$ {year empty$ { "empty year in " cite$ * warning$ } {"" year * "" * } if$ } {"" startyear * "-" * "" endyear * "" * * } if$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {output.article.year.check} {month empty$ { year empty$ { "empty year in " cite$ * warning$ } {year %wk } if$ } { TypeofLit empty$ {year empty$ { "empty year in " cite$ * warning$ } {year %wk } if$} {year empty$ { "empty year in " cite$ * warning$ } {year %wk "-" month * "" * * } if$ } if$ } if$ } FUNCTION {output.carticle.year.check} %wk {month empty$ { year empty$ { "empty year in " cite$ * warning$ } {year %wk } if$ } { TypeofLit empty$ {year empty$ { "empty year in " cite$ * warning$ } {year %wk } if$} {year empty$ { "empty year in " cite$ * warning$ } {year %wk "-" month * "" * * } if$ } if$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {output.bibitem} { newline$ "\bibitem[" write$ label write$ "]{" write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := } FUNCTION {fin.entry} { add.period$ %这行控制参考文献条目最后的句号。by sfj write$ newline$ } FUNCTION {new.block} { output.state before.all = 'skip$ { after.block 'output.state := } if$ } FUNCTION {new.sentence} { output.state after.block = 'skip$ { output.state before.all = 'skip$ { after.sentence 'output.state := } if$ } if$ } FUNCTION {not} { { #0 } { #1 } if$ } FUNCTION {and} { 'skip$ { pop$ #0 } if$ } FUNCTION {or} { { pop$ #1 } 'skip$ if$ } FUNCTION {new.block.checkb} { empty$ swap$ empty$ and 'skip$ 'new.block if$ } FUNCTION {field.or.null} { duplicate$ empty$ { pop$ "" } 'skip$ if$ } FUNCTION {boldface} { duplicate$ empty$ { pop$ "" } { "{\bf " swap$ * "}" * } if$ } %FUNCTION {emphasize} %{ duplicate$ empty$ % { pop$ "" } % { "{\em " swap$ * "}" * } % if$ %} %%%%%%%%%%%%%%%%%%% Function{upcase} { duplicate$ empty$ { pop$ "" } { "u" change.case$ } if$ } %FUNCTION {bib.name.font} %{ upcase } %FUNCTION {bib.fname.font} %{ bib.name.font } %%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%% INTEGERS { nameptr namesleft numnames } FUNCTION {capitalize} { "u" change.case$ "t" change.case$ } FUNCTION {format.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ remove.dots 't := nameptr #1 > { nameptr #3 #1 + = numnames #3 > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { numnames #2 > { "" * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = {%bib.name.font %改为大写 ", et al" * } {", " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ %%%%%%%%%%% % t "others" = %改为大写 % 'skip$ %改为大写 % { bib.name.font } %改为大写 % if$ %改为大写 %%%%%%%%%%% } FUNCTION {format.cnames} %wk { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}{ f{~}}{ jj}" format.name$ remove.dots 't := nameptr #1 > { nameptr #3 #1 + = numnames #3 > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { numnames #2 > { "" * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { ",等" * % bib.name.font %改为大写 } {", " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ %%%%%%%%%%% % t "others" = %改为大写 % 'skip$ %改为大写 % { bib.name.font } %改为大写 % if$ %改为大写 %%%%%%%%%%% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %不加大写的名字 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.normal.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}{ f{~}}{, jj}" format.name$ remove.dots 't := nameptr #1 > { nameptr #3 #1 + = numnames #3 > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { numnames #2 > { "" * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { ", et al" * } {", " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } FUNCTION {format.normal.cnames} %wk { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := { namesleft #0 > } { s nameptr "{vv~}{ll}{ f{~}}{ jj}" format.name$ remove.dots 't := nameptr #1 > { nameptr #3 #1 + = numnames #3 > and { "others" 't := #1 'namesleft := } 'skip$ if$ namesleft #1 > { ", " * t * } { numnames #2 > { "" * } 'skip$ if$ s nameptr "{ll}" format.name$ duplicate$ "others" = { 't := } { pop$ } if$ t "others" = { ",等" * } {", " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.authors} { author empty$ { "" } {normalauthor empty$ {author format.names } {normalauthor format.normal.names} if$ } if$ } FUNCTION {format.cauthors} %wk { author empty$ { "" } {normalauthor empty$ {author format.cnames } {normalauthor format.normal.cnames} if$ } if$ } FUNCTION {format.key} { empty$ { key field.or.null } { "" } if$ } FUNCTION {format.editors} { editor empty$ { "" } {normaleditor empty$ {editor format.names } {normaleditor format.normal.names} if$ editor num.names$ #1 > % Use ODWE abbrevs. { "" * } % to avoid { "" * } % ambiguity between if$ % "editor" and } % "edition". if$ } FUNCTION {format.ceditors} %wk 本函数 { editor empty$ { "" } { normaleditor empty$ {editor * "" * format.cnames } {normaleditor * "" * format.normal.cnames} if$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.title} % Nothing needs { title empty$ % doing here in { "" } % authordate1.bst { title } % or if$ % authordate3.bst. } FUNCTION {format.ctitle} %wk % Nothing needs { title empty$ % doing here in { "" } % authordate1.bst {title} % or if$ % authordate3.bst. } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.article.title} % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[J]" * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]" * * } if$ % authordate3.bst. } FUNCTION {format.carticle.title} % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[J]" * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]" * * } if$ % authordate3.bst. } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.book.title} % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[M]" * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]" * * } if$ % authordate3.bst. } FUNCTION {format.cbook.title} %wk % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[M]" * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]" * * } if$ % authordate3.bst. } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.misc.title} %wk % Nothing needs { patentid empty$ {%没有专利号应该是其它类型文献,直接标准输出 title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[缺文献类型标志代码]." * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]." * * } if$ } {%有专利号 country empty$ { title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[缺文献类型标志代码]." * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]." * * } if$ "" patentid * "" * * } {%有专利号,有国家 title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[缺文献类型标志代码]." * title output.check} {format.title title output.check} if$ } if$ ":" country * "," * * "" patentid * "" * * TypeofLit empty$ {""} { "[" TypeofLit * "]." * * } if$ } if$ } if$ } FUNCTION {format.cmisc.title} %wk % Nothing needs { patentid empty$ {%没有专利号应该是其它类型文献,直接标准输出 title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[缺文献类型标志代码]." * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]." * * } if$ } {%有专利号 country empty$ { title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[缺文献类型标志代码]." * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]." * * } if$ "" patentid * "" * * } {%有专利号,有国家 title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[缺文献类型标志代码]." * title output.check} {format.title title output.check} if$ } if$ ":" country * "," * * "" patentid * "" * * TypeofLit empty$ {""} { "[" TypeofLit * "]." * * } if$ } if$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.proceedings.title} % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[C]" * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]" * * } if$ % authordate3.bst. } FUNCTION {format.cproceedings.title} % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[C]" * title output.check} {format.title title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]" * * } if$ % authordate3.bst. } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.incollection.title} % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[M]//" * title output.check} {format.title "" * title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]//" * * } if$ % authordate3.bst. } FUNCTION {format.cincollection.title} % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[M]//" * title output.check} {format.title "" * title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]//" * * } if$ % authordate3.bst. } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.inproceedings.title} % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[C]//" * title output.check} {format.title "" * title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]//" * * } if$ % authordate3.bst. } FUNCTION {format.cinproceedings.title} % Nothing needs {title empty$ % doing here in { "" } % authordate1.bst { typeoflit empty$ {format.title "[C]//" * title output.check} {format.title "" * title output.check} if$ } if$ TypeofLit empty$ {""} { "[" TypeofLit * "]//" * * } if$ % authordate3.bst. } %%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {n.dashify} { 't := "" { t empty$ not } { t #1 #1 substring$ "-" = { t #1 #2 substring$ "--" = not { "--" * t #2 global.max$ substring$ 't := } { { t #1 #1 substring$ "-" = } { "-" * t #2 global.max$ substring$ 't := } while$ } if$ } { t #1 #1 substring$ * t #2 global.max$ substring$ 't := } if$ } while$ } FUNCTION {format.btitle} { title empty$ { "" } % Don't change case {booktitle} % in if$ % authordate1.bst } % or FUNCTION {format.cbtitle} %wk % Nothing needs { title empty$ % doing here in { "" } % authordate1.bst {booktitle} % or if$ % authordate3.bst. } % authordate3.bst. FUNCTION {tie.or.space.connect} { duplicate$ text.length$ #3 < { "~" } { " " } if$ swap$ * * } FUNCTION {either.or.check} { empty$ 'pop$ { "can't use both " swap$ * " fields in " * cite$ * warning$ } if$ } INTEGERS { multiresult } FUNCTION {multi.page.check} { 't := #0 'multiresult := { multiresult not t empty$ not and } { t #1 #1 substring$ duplicate$ "-" = swap$ duplicate$ "," = swap$ "+" = or or { #1 'multiresult := } { t #2 global.max$ substring$ 't := } if$ } while$ multiresult } FUNCTION {format.numberinseries} { number empty$ { "" } { number multi.page.check { ", nos. " number n.dashify tie.or.space.connect } { ", no. " number tie.or.space.connect } if$ } if$ } FUNCTION {format.cnumberinseries} %wk { number empty$ { "" } { number multi.page.check { ", 第" number n.dashify tie.or.space.connect * "期"} %wk { ", 第" number tie.or.space.connect * "期"} %wk if$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {booklike.series.volume.number} % Chicago, pages { series empty$ % 450-451. { volume empty$ { " " } { " Vol. " volume * } if$ } { volume empty$ { number empty$ { series } { series format.numberinseries * } if$ } { number empty$ { series ", vol. " volume * * } { series ", vol. " * volume * format.numberinseries * } if$ } if$ } if$ } FUNCTION {cbooklike.series.volume.number.pages} %wk加入页码 ??? % Chicago, pages %wk { series empty$ % 450-451. { volume empty$ { pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$} { "卷" volume * } if$ } { volume empty$ { number empty$ { series } { series format.numberinseries * } if$ } { number empty$ { series ",第" volume * "卷" * * } { series "卷" * volume * format.cnumberinseries * } if$ } if$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {incollectionlike.series.volume.number.pages} %wk { series empty$ { volume empty$ { pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$} { "," volume * "" * * pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$} if$ } { new.block volume empty$ { number empty$ { series } { series format.numberinseries * } if$ } { number empty$ { series ", vol. " volume * * } { series ", vol. " * volume * format.numberinseries * } if$ } if$ } if$ } FUNCTION {cincollectionlike.series.volume.number.pages} %wk { series empty$ { volume empty$ { pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$} { ",第" volume * "卷" * * pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$} if$ } { new.block volume empty$ { number empty$ { series } { series format.numberinseries * } if$ } { number empty$ { series ", vol. " volume * * } { series ", vol. " * volume * format.numberinseries * } if$ } if$ } if$ } FUNCTION {format.TypeofLit} %wk 完全改写 { TypeofLit empty$ { "" } {"[" TypeofLit * "]" *} if$ } FUNCTION {format.edition} { edition empty$ { translator empty$ { "" } {"" translator * ",translation" * } if$ } { translator empty$ {edition} {translator output ",translation." edition * "" * *} if$ } if$ } FUNCTION {format.cedition} %wk 完全改写 { edition empty$ { translator empty$ { "" } {"" translator format.cnames * ",译" *} if$ } { translator empty$ {edition} {translator format.cnames output ",译." edition * "" * *} if$ } if$ } FUNCTION {format.ctranslator} %wk 完全改写 { translator empty$ { "" } {format.cnames ",译" * "translator" output.check} if$ } FUNCTION {format.pages} { pages empty$ { "" } { pages multi.page.check { ":" pages n.dashify tie.or.space.connect * } { ":" pages tie.or.space.connect * } if$ } if$ } FUNCTION {format.pagesinbook} % By the time the { pages empty$ % reader has read { "" } % address, pub'r, { pages multi.page.check % note (where the { ":" pages n.dashify tie.or.space.connect } % note may end with { ":" pages tie.or.space.connect } % numbers), s/he if$ % may not recognise } % a number-range as if$ % meaning pages. } % Avoid ambiguity % (Butcher, p.181). FUNCTION {format.cpagesinbook} % By the time the %wk { pages empty$ % reader has read { "" } % address, pub'r, { pages multi.page.check % note (where the { ":" * pages n.dashify tie.or.space.connect * "" } % note may end with { ":" * "Page " pages tie.or.space.connect * ""} % numbers), s/he if$ % may not recognise } % a number-range as if$ % meaning pages. } % Avoid ambiguity %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.vol.num.date.pages} %wk {volume empty$ %wk 被重新改过 'skip$ %wk 被重新改过 {volume %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 number empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "(" number * ")" * * %wk 被重新改过 volume empty$ %wk 被重新改过 { "there's a number but no volume in " cite$ * warning$ } %wk 被重新改过 'skip$ %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$ } FUNCTION {format.cvol.num.date.pages} %wk {volume empty$ %wk 被重新改过 'skip$ %wk 被重新改过 {volume %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 number empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "(" number * ")" * * %wk 被重新改过 volume empty$ %wk 被重新改过 { "there's a number but no volume in " cite$ * warning$ } %wk 被重新改过 'skip$ %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.article.vol.num.date.pages} %wk { volume empty$ %wk 被重新改过 'skip$ %wk 被重新改过 {volume %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 number empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "(" number * ")" * * %wk 被重新改过 volume empty$ %wk 被重新改过 { "there's a number but no volume in " cite$ * warning$ } %wk 被重新改过 'skip$ %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$ } FUNCTION {format.carticle.vol.num.date.pages} %wk { volume empty$ %wk 被重新改过 'skip$ %wk 被重新改过 {volume %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 number empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "(" number * ")" * * %wk 被重新改过 volume empty$ %wk 被重新改过 { "there's a number but no volume in " cite$ * warning$ } %wk 被重新改过 'skip$ %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.book.continue.vol.num} %wk { startyear empty$ 'skip$ {"." startyear * "" * * startvolume empty$ %wk 被重新改过 'skip$ %wk 被重新改过 {"," startvolume * "" * *} %wk 被重新改过 if$ %wk 被重新改过 startnumber empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "(" startnumber * ")-" * * } %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 endyear empty$ 'skip$ {"" endyear * "" * * endvolume empty$ %wk 被重新改过 'skip$ %wk 被重新改过 {"," endvolume * "" * *} %wk 被重新改过 if$ %wk 被重新改过 endnumber empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "(" endnumber * ")" * * } %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ } FUNCTION {format.cbook.continue.vol.num} %wk { startyear empty$ 'skip$ {"." startyear * "" * * startvolume empty$ %wk 被重新改过 'skip$ %wk 被重新改过 {"," startvolume * "" * *} %wk 被重新改过 if$ %wk 被重新改过 startnumber empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "(" startnumber * ")-" * * } %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 endyear empty$ 'skip$ {"" endyear * "" * * endvolume empty$ %wk 被重新改过 'skip$ %wk 被重新改过 {"," endvolume * "" * *} %wk 被重新改过 if$ %wk 被重新改过 endnumber empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "(" endnumber * ")" * * } %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.date.modifydate.citedate} %wk { date empty$ %wk 被重新改过 'skip$ %wk 被重新改过 {date %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 modifydate empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "(" modifydate * ")" * * %wk 被重新改过 date empty$ %wk 被重新改过 { "" cite$ * warning$ } %wk 被重新改过 'skip$ %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ citedate empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { "[" citedate * "]" * * %wk 被重新改过 date empty$ %wk 被重新改过 { "" cite$ * warning$ } %wk 被重新改过 'skip$ %wk 被重新改过 if$ %wk 被重新改过 } %wk 被重新改过 if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.chapter.pages.inbook} { chapter empty$ 'format.pagesinbook { type empty$ { "Chap." } { type } if$ chapter tie.or.space.connect pages empty$ 'skip$ { ", " * format.pagesinbook "l" change.case$ * } if$ } if$ } FUNCTION {format.cchapter.pages.inbook} {chapter empty$ %wk 被重新改过 'skip$ %wk 被重新改过 { ",第" chapter * "章" * * %wk 被重新改过 } %wk 被重新改过 if$ %wk 被重新改过 pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ":" * pages n.dashify * "" *} %wk 改为第页 if$ } if$ } FUNCTION {format.chapter.pages.incoll} { chapter empty$ { pages empty$ { "In " } { "{\em " format.pagesinbook " of:} " * * } if$ } { type empty$ { "{\em Chap. " chapter * } { "{\em " type * " " * chapter * } if$ pages empty$ { " of:} " * } { ", " * format.pagesinbook "l" change.case$ " of:} " * * } if$ } if$ } FUNCTION {format.cchapter.pages.incoll} %wk { chapter empty$ { pages empty$ { "" } { "第" format.pagesinbook "章" * * } if$ } { type empty$ { "第" chapter * "章" * * } { "" type * "" * chapter * } if$ pages empty$ { "" * } { ":" * format.pagesinbook "l" change.case$ "" * * } if$ } if$ } FUNCTION {format.in.ed.booktitle} % Achieves effect %wk { booktitle empty$ % shown in 16.51 { "" } % of Chicago, at { editor empty$ % expense of not {"" * booktitle * "" * new.block } {new.block normalauthor empty$ %用于正常显示 { normaleditor empty$ %用于正常显示 { format.editors "author and editor" output.check} %用于正常显示, { format.editors "author and normaleditor" output.check} %用于正常显示 if$ %用于正常显示 } %用于正常显示 { normaleditor empty$ %用于正常显示 {format.editors "normalauthor and editor" output.check} %用于正常显示 {format.editors "normalauthor and normaleditor" output.check} %用于正常显示 if$ %用于正常显示 } %用于正常显示 if$ %用于正常显示 editor format.key output new.block format.btitle "booktitle" output.check } if$ % 4.4 of BS 1629. } if$ % Don't change } % case. FUNCTION {format.in.ced.booktitle} % Achieves effect %wk { booktitle empty$ % shown in 16.51 { "" } % of Chicago, at { editor empty$ % expense of not {"" * booktitle * "" * new.block } {new.block normalauthor empty$ %用于正常显示 { normaleditor empty$ %用于正常显示 {format.ceditors "author and editor" output.check} %用于正常显示, {format.ceditors "author and normaleditor" output.check} %用于正常显示 if$ %用于正常显示 } %用于正常显示 { normaleditor empty$ %用于正常显示 {format.ceditors "normalauthor and editor" output.check} %用于正常显示 {format.ceditors "normalauthor and normaleditor" output.check} %用于正常显示 if$ %用于正常显示 } %用于正常显示 if$ %用于正常显示 editor format.key output new.block format.cbtitle "booktitle" output.check } if$ % 4.4 of BS 1629. } if$ % Don't change } % case. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55 FUNCTION {format.in.proceedings.booktitle} % Achieves effect %wk { booktitle empty$ % shown in 16.51 { "" } % of Chicago, at {format.btitle "booktitle" output.check } if$ % Don't change } % case. FUNCTION {format.in.cproceedings.booktitle} % Achieves effect %wk { booktitle empty$ % shown in 16.51 { "" } % of Chicago, at { format.cbtitle "booktitle" output.check } if$ % 4.4 of BS 1629. % Don't change } FUNCTION {format.thesis.type} { type empty$ 'skip$ { pop$ type % Don't change } % case. if$ } FUNCTION {format.tr.number} { type empty$ { "Tech. rept." } % ODWE abbrevs. 'type if$ number empty$ { } % Whatever was { number tie.or.space.connect } % having its case if$ % changed, leave } % it alone. FUNCTION {format.addr.pub} { publisher empty$ {address empty$ { ".[S.l.]: [s.n.] " *} { address ": [s.n.] " * } if$ } { address empty$ { ".[S.l.]: " * } { address ": " * } if$ publisher * } if$ } FUNCTION {format.caddr.pub} {publisher empty$ {address empty$ { ".[出版地不详]:[出版者不详]" *} { address ":[出版者不详]" * } if$ } { address empty$ { ".[出版地不详]:" * } { address ": " * } if$ publisher * } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.addr.institution} { institution empty$ {address empty$ { ".[S.l.]: [s.n.] " *} { address ": [s.n.] " * } if$ } { address empty$ { ".[S.l.]: " * } { address ": " * } if$ institution * } if$ } FUNCTION {format.caddr.institution} {institution empty$ {address empty$ { ".[地址不详]:[机构不详]" *} { address ":[机构不详]" * } if$ } { address empty$ { ".[地址不详]:" * } { address ": " * } if$ institution * } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.school.pub} { school empty$ {address empty$ { "[S.l.]: [s.n.] " } { address ": [s.n.] " * } if$ } { address empty$ { ".[S.l.]: " * } { address ": " * } if$ school * } if$ } FUNCTION {format.cschool.pub} {school empty$ {address empty$ { "[地址不详]:[学校不详]" } { address ":[学校不详]" * } if$ } { address empty$ { ".[学校不详]:" * } { address ": " * } if$ school * } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.inproceedings.addr.pub} { TypeofLit empty$ {publisher empty$ {address empty$ { ".[S.l.]: [s.n.] " } { address ": [s.n.] " * } if$ } { address empty$ { ".[S.l.]: " * } { address ": " * } if$ publisher * } if$} { "" } if$ } FUNCTION {format.cinproceedings.addr.pub} { TypeofLit empty$ {publisher empty$ {address empty$ { ".[出版地不详]:[出版者不详]" } { address ":[出版者不详]" * } if$ } { address empty$ { ".[出版地不详]:" * } { address ": " * } if$ publisher * } if$} { ""} if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.misc.addr.pub} { publisher empty$ {address empty$ { "" } { address ": [s.n.] " * } if$ } { address empty$ { "[S.l.]: " * } { address ": " * } if$ publisher * } if$ } FUNCTION {format.cmisc.addr.pub} {publisher empty$ {address empty$ { "" } { address ":[出版者不详]" * } if$ } { address empty$ { "[出版地不详]:" * } { address ": " * } if$ publisher * } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {format.addr.pub.org} % If there's an { address empty$ % an organization { "[S.l.]:" *publisher * ", for " * organization * } % and a publisher { address ": " * publisher * ", for " * organization * } % too. if$ } FUNCTION {format.addr.inst} { address empty$ { institution empty$ { "[S.l.]" } { "[S.l.]" * institution * *} if$ } { institution empty$ { "" } { institution ", " * } if$ address * } if$ } FUNCTION {format.addr.org} { address empty$ { organization empty$ { "" } { organization } if$ } { organization empty$ { "" } { organization ", " * } if$ address * } if$ } FUNCTION {format.article.crossref} { "In " " \cite{" * crossref * "}" * } FUNCTION {format.book.crossref} { volume empty$ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ "In " } { " Vol." volume tie.or.space.connect " of " * } if$ "\cite{" * crossref * "}" * } FUNCTION {format.incoll.inproc.crossref} { "In " " \cite{" * crossref * "}" * } FUNCTION {article} {language empty$ { output.bibitem format.authors "author" output.check author format.key output new.block format.article.title output new.block crossref missing$ { journal % Don't change "journal" output.check % case. output.article.year.check output format.article.vol.num.date.pages output format.date.modifydate.citedate output } { format.article.crossref output.nonnull format.pages output } if$ new.block format.url output new.block note output fin.entry } %FUNCTION {carticle} %wk 本函数 { output.bibitem format.cauthors "author" output.check author format.key output new.block format.carticle.title output new.block crossref missing$ {journal % Don't change %wk "journal" output.check % case. output.carticle.year.check output %wk format.carticle.vol.num.date.pages output %wk format.date.modifydate.citedate output new.block } { format.article.crossref output.nonnull format.pages output } if$ new.block format.url output new.block note output fin.entry } if$ } FUNCTION {book} {language empty$ { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.book.title output new.block crossref missing$ { format.edition output new.block format.book.continue.vol.num ouput booklike.series.volume.number output new.block format.addr.pub "publisher" output.check output.continue.year.check ouput format.date.modifydate.citedate output format.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } %FUNCTION {cbook} %wk { output.bibitem author empty$ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors output.nonnull crossref missing$ {"author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.cbook.title output %wk new.block crossref missing$ { format.cedition output %wk edition->cedition new.block format.cbook.continue.vol.num ouput new.block format.caddr.pub "publisher" output.check output.continue.cyear.check ouput %wk cbooklike.series.volume.number.pages output format.date.modifydate.citedate output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %未处理 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {booklet} {language empty$ { output.bibitem format.authors output author format.key output output.year.month.check new.block format.btitle "title" output.check new.block howpublished output address output output.year.check new.block format.url output new.block note output fin.entry } %FUNCTION {cbooklet} %wk { output.bibitem format.cauthors output %wk author format.key output format.btitle "title" output.check %wk new.block howpublished output address output output.cyear.month.check %wk new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {inbook} {language empty$ { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.book.title output new.block crossref missing$ { format.edition output booklike.series.volume.number output new.block format.addr.pub "publisher" output.check output.year.check output format.date.modifydate.citedate output format.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } %FUNCTION {cinbook} %wk { output.bibitem author empty$ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors output.nonnull crossref missing$ {"author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.cbook.title output %wk new.block crossref missing$ { format.cedition output %wk edition->cedition new.block format.caddr.pub "publisher" output.check output.cyear.check %wk cbooklike.series.volume.number.pages output format.date.modifydate.citedate output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {incollection} %wk {language empty$ { output.bibitem author empty$ { format.editors "editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.authors "author" output.check %wk author format.key output } if$ new.block format.incollection.title output crossref missing$ % Chapter and/or { before.all 'output.state := format.in.ed.booktitle output % page numbers can format.edition output % come out via this %wk edition->cedition new.block format.addr.pub "publisher" output.check output.year.check incollectionlike.series.volume.number.pages output % route, too. format.date.modifydate.citedate output } { format.incoll.inproc.crossref output.nonnull new.block } if$ format.url output new.block note output fin.entry } %FUNCTION {cincollection} %wk { output.bibitem author empty$ { format.ceditors "editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors "author" output.check %wk author format.key output } if$ new.block format.cincollection.title output crossref missing$ % Chapter and/or { format.in.ced.booktitle output % page numbers can format.cedition output % come out via this %wk edition->cedition new.block format.caddr.pub "publisher" output.check output.cyear.check output cincollectionlike.series.volume.number.pages output % route, too. format.date.modifydate.citedate output } { format.incoll.inproc.crossref output.nonnull new.block } if$ new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %图书book和 %会议录inproceedings(会议conference与inproceedings一样), %文献类型代码[C] %硕士学位论文mastersthesis, %文献类型代码[D] %博士学位论文phdthesis, %文献类型代码[D] %技术报告techreport的类型是一样的, %文献类型代码[R] % %因此我们直接拷贝book的相关内容即可。 %原始部分可以参考authordate1.bst。 % %利用misc作为电子文献[EB/OL]所使用的类型 %存在的问题:无法正常调用url,只能利用note来生成。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {inproceedings} %wk 改自incollection类型 {language empty$ { output.bibitem author empty$ { format.editors "editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.authors "author" output.check %wk author format.key output } if$ new.block format.inproceedings.title output crossref missing$ % Chapter and/or { before.all 'output.state := format.in.ed.booktitle output % page numbers can format.edition output % come out via this %wk edition->cedition new.block format.inproceedings.addr.pub "publisher" output.check output.year.check incollectionlike.series.volume.number.pages output % route, too. format.date.modifydate.citedate output } { format.incoll.inproc.crossref output.nonnull new.block } if$ format.url output new.block note output fin.entry } %FUNCTION {cinproceedings} %wk 改自incollection类型 { output.bibitem author empty$ { format.ceditors "editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors "author" output.check %wk author format.key output } if$ new.block format.cinproceedings.title output crossref missing$ % Chapter and/or { format.in.ced.booktitle output % page numbers can format.cedition output % come out via this %wk edition->cedition new.block format.cinproceedings.addr.pub "publisher" output.check output.cyear.check cincollectionlike.series.volume.number.pages output % route, too. format.date.modifydate.citedate output } { format.incoll.inproc.crossref output.nonnull new.block } if$ new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {conference} { inproceedings } %FUNCTION {cconference} { cinproceedings } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {TECHREPORT} %wk 改自book类型 {language empty$ { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.title "[R]" * "title" output.check new.block crossref missing$ { format.edition output booklike.series.volume.number output new.block format.addr.institution "publisher" output.check output.year.check output format.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } %FUNCTION {cTECHREPORT} %wk 改自book类型 { output.bibitem author empty$ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors output.nonnull crossref missing$ {"author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.ctitle "[R]" * "title" output.check %wk new.block crossref missing$ { format.cedition output %wk edition->cedition new.block format.caddr.institution "publisher" output.check output.cyear.check %wk cbooklike.series.volume.number.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {mastersthesis} %wk 改自book类型 {language empty$ { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.title "[D]" * "title" output.check new.block crossref missing$ { format.edition output booklike.series.volume.number output new.block % format.addr.pub "publisher" output.check format.school.pub "publisher" output.check output.year.check output format.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } %FUNCTION {cmastersthesis} %wk 改自book类型 { output.bibitem author empty$ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors output.nonnull crossref missing$ {"author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.ctitle "[D]" * "title" output.check %wk new.block crossref missing$ { format.cedition output %wk edition->cedition new.block % format.caddr.pub "publisher" output.check format.cschool.pub "publisher" output.check output.cyear.check %wk cbooklike.series.volume.number.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {phdthesis} %wk 改自book类型 {language empty$ { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.title "[D]" * "title" output.check new.block crossref missing$ { format.edition output booklike.series.volume.number output new.block % format.addr.pub "publisher" output.check format.school.pub "publisher" output.check output.year.check output format.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } %FUNCTION {cphdthesis} %wk 改自book类型 { output.bibitem author empty$ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors output.nonnull crossref missing$ {"author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.ctitle "[D]" * "title" output.check %wk new.block crossref missing$ { format.cedition output %wk edition->cedition new.block % format.caddr.pub "publisher" output.check format.cschool.pub "publisher" output.check output.cyear.check %wk cbooklike.series.volume.number.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {proceedings} %改自book类型 {language empty$ { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.conference.title output new.block crossref missing$ { format.edition output booklike.series.volume.number output new.block format.addr.pub "publisher" output.check output.year.check output format.date.modifydate.citedate output format.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } %FUNCTION {cproceedings} %改自book类型 { output.bibitem author empty$ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors output.nonnull crossref missing$ {"author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.cconference.title output %wk new.block crossref missing$ { format.cedition output %wk edition->cedition new.block format.caddr.pub "publisher" output.check output.cyear.check %wk cbooklike.series.volume.number.pages output format.date.modifydate.citedate output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {manual} %改自book类型 {language empty$ { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.btitle "[H]" * "title" output.check new.block crossref missing$ { format.edition output booklike.series.volume.number output new.block format.addr.pub "publisher" output.check output.year.check output format.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } %FUNCTION {cmanual} %wk { output.bibitem author empty$ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors output.nonnull crossref missing$ {"author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.ctitle "[H]" * "title" output.check %wk new.block crossref missing$ { format.cedition output %wk edition->cedition new.block format.caddr.pub "publisher" output.check output.cyear.check %wk cbooklike.series.volume.number.pages output } { format.book.crossref output.nonnull } if$ new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {misc} %作为非常规文献的格式,可靠性低,应该仔细检查,改自book类型 {language empty$ { output.bibitem author empty$ { format.editors "author and editor" output.check editor format.key output } { format.authors output.nonnull crossref missing$ { "author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.misc.title output new.block crossref missing$ { format.edition output booklike.series.volume.number output new.block format.misc.addr.pub "publisher" output.check % output.year.check output format.date.modifydate.citedate output % format.pages output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } %FUNCTION {cmisc} %作为非常规文献的格式,可靠性低,应该仔细检查,改自book类型 { output.bibitem author empty$ { format.ceditors "author and editor" output.check %wk format.editors->format.ceditors editor format.key output } { format.cauthors output.nonnull crossref missing$ {"author and editor" editor either.or.check } 'skip$ if$ } if$ new.block format.cmisc.title output %wk new.block crossref missing$ { format.cedition output %wk edition->cedition new.block format.cmisc.addr.pub "publisher" output.check % output.cyear.check %wk % cbooklike.series.volume.number.pages output format.date.modifydate.citedate output } { format.book.crossref output.nonnull } if$ new.block format.url output new.block note output fin.entry } if$ } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FUNCTION {unpublished} {language empty$ { output.bibitem format.authors "author" output.check author format.key output output.year.month.check new.block format.btitle "title" output.check new.block note "note" output.check fin.entry } %FUNCTION {cunpublished} %wk { output.bibitem format.cauthors "author" output.check %wk author format.key output output.cyear.month.check %wk new.block format.ctitle "title" output.check %wk new.block note "note" output.check fin.entry } if$ } FUNCTION {onlynote} %定义note类型,将note项目单独原文输出,满足自定义任何条目的需求 { newline$ "\bibitem[" write$ label write$ "]{" write$ cite$ write$ "}" write$ newline$ "" before.all 'output.state := new.block note output fin.entry } FUNCTION {default.type} { book } %wk 因为主要是基于book类型,因此将缺省类型由misc改为book MACRO {jan} {"Jan."} % ODWE, "months", & % Chicago, p. 383. MACRO {feb} {"Feb."} MACRO {mar} {"Mar."} MACRO {apr} {"Apr."} MACRO {may} {"May"} MACRO {jun} {"June"} MACRO {jul} {"July"} MACRO {aug} {"Aug."} MACRO {sep} {"Sept."} MACRO {oct} {"Oct."} MACRO {nov} {"Nov."} MACRO {dec} {"Dec."} MACRO {acmcs} {"ACM Computing Surveys"} MACRO {acta} {"Acta Informatica"} MACRO {cacm} {"Communications of the ACM"} MACRO {ibmjrd} {"IBM Journal of Research and Development"} MACRO {ibmsj} {"IBM Systems Journal"} MACRO {ieeese} {"IEEE Transactions on Software Engineering"} MACRO {ieeetc} {"IEEE Transactions on Computers"} MACRO {ieeetcad} {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} MACRO {ipl} {"Information Processing Letters"} MACRO {jacm} {"Journal of the ACM"} MACRO {jcss} {"Journal of Computer and System Sciences"} MACRO {scp} {"Science of Computer Programming"} MACRO {sicomp} {"SIAM Journal on Computing"} MACRO {tocs} {"ACM Transactions on Computer Systems"} MACRO {tods} {"ACM Transactions on Database Systems"} MACRO {tog} {"ACM Transactions on Graphics"} MACRO {toms} {"ACM Transactions on Mathematical Software"} MACRO {toois} {"ACM Transactions on Office Information Systems"} MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} MACRO {tcs} {"Theoretical Computer Science"} READ FUNCTION {sortify} { purify$ "l" change.case$ } INTEGERS { len } FUNCTION {chop.word} { 's := 'len := s #1 len substring$ = { s len #1 + global.max$ substring$ } 's if$ } FUNCTION {format.lab.names} %wk { 's := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ " et al." * } { #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " {\em et~al.}" * } { " and " * s #2 "{vv~}{ll}" format.name$ * } %wk if$ } if$ } if$ } FUNCTION {format.lab.cnames} %wk { 's := s #1 "{vv~}{ll}" format.name$ s num.names$ duplicate$ #2 > { pop$ "~等" * } { #2 < 'skip$ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = { " {\em et~al.}" * } { "和" * s #2 "{vv~}{ll}" format.name$ * } %wk if$ } if$ } if$ } FUNCTION {author.key.label} { author empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } % {author format.lab.names } {language empty$ {author format.lab.names} {author format.lab.cnames} if$} if$ } FUNCTION {author.editor.key.label} { author empty$ { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } % { editor format.lab.names } {language empty$ {editor format.lab.names} {editor format.lab.cnames} if$} if$ } % { author format.lab.names } {language empty$ {author format.lab.names} {author format.lab.cnames} if$} if$ } FUNCTION {editor.key.label} { editor empty$ { key empty$ { cite$ #1 #3 substring$ } 'key if$ } % { editor format.lab.names } {language empty$ {editor format.lab.names} {editor format.lab.cnames} if$} if$ } FUNCTION {author.key.organization.label} { author empty$ { key empty$ { organization empty$ { cite$ #1 #3 substring$ } { "The " #4 organization chop.word #3 text.prefix$ } if$ } 'key if$ } { author format.lab.names } if$ } FUNCTION {editor.key.organization.label} { editor empty$ { key empty$ { organization empty$ { cite$ #1 #3 substring$ } { "The " #4 organization chop.word #3 text.prefix$ } if$ } 'key if$ } { editor format.lab.names } if$ } FUNCTION {calc.short.authors} { type$ "book" = type$ "inbook" = or 'author.editor.key.label { type$ "proceedings" = 'editor.key.organization.label { type$ "manual" = 'author.key.organization.label 'author.key.label if$ } if$ } if$ 'short.list := } FUNCTION {calc.label} { calc.short.authors short.list "(" * year duplicate$ empty$ short.list key field.or.null = or { pop$ ""} 'skip$ if$ * ")" * 'label := } INTEGERS { seq.num } FUNCTION {init.seq} { #0 'seq.num :=} EXECUTE {init.seq} FUNCTION {int.to.fix} { "000000000" swap$ int.to.str$ * #-1 #10 substring$ } FUNCTION {presort} { calc.label label sortify " " * seq.num #1 + 'seq.num := seq.num int.to.fix 'sort.label := sort.label * #1 entry.max$ substring$ 'sort.key$ := } ITERATE {presort} SORT STRINGS { longest.label last.label next.extra } INTEGERS { longest.label.width last.extra.num number.label } FUNCTION {initialize.longest.label} { "" 'longest.label := #0 int.to.chr$ 'last.label := "" 'next.extra := #0 'longest.label.width := #0 'last.extra.num := #0 'number.label := } FUNCTION {forward.pass} { last.label label = { last.extra.num #1 + 'last.extra.num := last.extra.num int.to.chr$ 'extra.label := } { "a" chr.to.int$ 'last.extra.num := "" 'extra.label := label 'last.label := } if$ number.label #1 + 'number.label := } FUNCTION {reverse.pass} { next.extra "b" = { "a" 'extra.label := } 'skip$ if$ extra.label 'next.extra := extra.label duplicate$ empty$ 'skip$ { "{\natexlab{" swap$ * "}}" * } if$ 'extra.label := label extra.label * 'label := } EXECUTE {initialize.longest.label} ITERATE {forward.pass} REVERSE {reverse.pass} FUNCTION {bib.sort.order} { sort.label 'sort.key$ := } ITERATE {bib.sort.order} SORT FUNCTION {begin.bib} { preamble$ empty$ 'skip$ { preamble$ write$ newline$ } if$ "\begin{thebibliography}{" number.label int.to.str$ * "}\setlength{\baselineskip}{20bp plus 2bp minus 1bp}\setlength{\itemsep}{0bp}\setlength{\parskip}{0pt}" * %加入三个setlength以符合电子科技大学关于参考文献行距的要求。 write$ newline$ "\providecommand{\natexlab}[1]{#1}" write$ newline$ "\providecommand{\url}[1]{\texttt{#1}}" write$ newline$ "\expandafter\ifx\csname urlstyle\endcsname\relax" write$ newline$ " \providecommand{\doi}[1]{doi: #1}\else" write$ newline$ " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" write$ newline$ } EXECUTE {begin.bib} EXECUTE {init.state.consts} ITERATE {call.type$} FUNCTION {end.bib} { newline$ "\end{thebibliography}" write$ newline$ } EXECUTE {end.bib} % \fi % \iffalse % % \fi % \iffalse %<*packagecheck> % \fi % \section{版本检查程序} % \changes{v0.6.2}{2014/02/11}{增加一个用于检查依赖宏包版本的文件。} % \begin{macrocode} % !Mode:: "TeX:UTF-8" \makeatletter \def\version@uestcthesis{v1.0.1} \IfFileExists{ctexbook.cls}{ \documentclass[cs4size,UTF8,fancyhdr,hyperref,fntef,openany]{ctexbook} }{ \documentclass{article} } \def\@parse@version@checkpackage#1/#2/#3#4#5\@nil{#1/#2/#3#4 } \def\packagelist{} %检查指定宏包版本是否高于所需版本日期,如果宏包存在则加载后读取版本日期。 \newcommand{\checkpackage}[2]{% \expandafter\def\csname#1@needversion\endcsname{#2} \IfFileExists{#1.\@pkgextension}{% \usepackage{#1}% \@ifpackagelater{#1}{#2}{% \expandafter\def\csname#1@checkresult\endcsname{OK!} }{% \expandafter\def\csname#1@checkresult\endcsname{too old!} } \expandafter\def\csname#1@currentversion\endcsname{% \xdef\cver@checkpackage{\csname ver@#1.sty\endcsname} \expandafter\@parse@version@checkpackage\cver@checkpackage\@nil% }% }% {\expandafter\def\csname#1@checkresult\endcsname{not found!}}% \xdef\packagelist{#1,\packagelist} } %个别宏包版本无法读取,鉴于版本较旧,只检查是否存在 \newcommand{\checkpackagespecial}[2]{% \expandafter\def\csname#1@needversion\endcsname{#2} \IfFileExists{#1.\@pkgextension}{% \usepackage{#1}% \expandafter\def\csname#1@checkresult\endcsname{Maybe OK!} \expandafter\def\csname#1@currentversion\endcsname{% unknown! }% }% {\expandafter\def\csname#1@checkresult\endcsname{not found!}}% \xdef\packagelist{#1,\packagelist} } %检查ctexbook文类的版本 \newcommand{\checkctexbookclass}[1]{% \expandafter\def\csname ctexbook@needversion\endcsname{#1} \IfFileExists{ctexbook.\@clsextension}{% \@ifclasslater{ctexbook}{#1}{% \expandafter\def\csname ctexbook@checkresult\endcsname{OK!} }{% \expandafter\def\csname ctexbook@checkresult\endcsname{too old!} } \expandafter\def\csname ctexbook@currentversion\endcsname{% \xdef\cver@checkpackage{\csname ver@ctexbook.cls\endcsname} \expandafter\@parse@version@checkpackage\cver@checkpackage\@nil% }% }% {\expandafter\def\csname ctexbook@checkresult\endcsname{not found!}}% \xdef\packagelist{ctexbook,\packagelist} } %生成输出行 \def\checkresult#1{% \makebox[4.5cm][l]{#1}% \makebox[10em][l]{\csname#1@needversion\endcsname}% \makebox[10em][l]{\csname#1@currentversion\endcsname}% \makebox[10em][l]{\csname#1@checkresult\endcsname}\\ } %这些宏包是模板中主动加载的,测试顺序和模板中的加载顺序一致。 \checkctexbookclass{2011/03/11} \checkpackage{mathptmx}{2005/04/12} \checkpackage{etoolbox}{2011/01/03} \checkpackage{ifthen}{2001/05/26} \checkpackage{geometry}{2010/09/12} \checkpackage{graphicx}{1999/02/16} \checkpackage{calc}{2007/08/22} \checkpackage{float}{2001/11/08} \checkpackagespecial{texnames}{}%这个宏包没有版本号 \checkpackage{caption}{2013/05/02} \checkpackage{booktabs}{2005/04/14} \checkpackage{tabularx}{1999/01/07} \checkpackage{threeparttable}{2003/06/13} \checkpackage{longtable}{2004/02/01} \checkpackage{placeins}{2005/04/18} \checkpackage{flafter}{2000/07/23} \checkpackage{amsmath}{2013/01/14} \checkpackage{amsfonts}{2013/01/14} \checkpackage{amssymb}{2013/01/14} \checkpackage{bm}{2004/02/26} \checkpackage{ntheorem}{2011/08/15} \checkpackage{natbib}{2010/09/13} \checkpackage{multibib}{2008/12/10} \checkpackage{cmap}{2008/03/06} \checkpackage{hyperxmp}{2013/07/18} \checkpackage{hyperref}{2012/11/06} \checkpackage{subfigure}{2002/07/30} \checkpackage{enumitem}{2011/09/28} \checkpackage{color}{2005/11/14} \checkpackage{marvosym}{2011/07/20} \checkpackage{glossaries}{2013/12/05} \checkpackage{footmisc}{2011/06/06} \checkpackage{pifont}{2005/04/12} %这些宏包是由前面的宏包自动加载的。它们应该已经加载完毕。 \checkpackagespecial{fontenc}{2005/09/27} \checkpackage{l3bootstrap}{2014/01/04} \checkpackage{l3names}{2014/01/04} \checkpackage{etex}{1998/03/26} \checkpackage{expl3}{2014/01/07} \checkpackage{l3basics}{2014/01/04} \checkpackage{l3expan}{2014/01/04} \checkpackage{l3tl}{2013/12/27} \checkpackage{l3seq}{2013/12/14} \checkpackage{l3int}{2013/08/02} \checkpackage{l3quark}{2013/12/14} \checkpackage{l3prg}{2014/01/04} \checkpackage{l3clist}{2013/07/28} \checkpackage{l3token}{2013/08/25} \checkpackage{l3prop}{2013/12/14} \checkpackage{l3msg}{2013/07/28} \checkpackage{l3file}{2013/10/13} \checkpackage{l3skip}{2013/07/28} \checkpackage{l3keys}{2013/12/08} \checkpackage{l3fp}{2014/01/04} \checkpackage{l3box}{2013/07/28} \checkpackage{l3coffins}{2013/12/14} \checkpackage{l3color}{2012/08/29} \checkpackage{l3luatex}{2013/07/28} \checkpackage{l3candidates}{2014/01/06} \checkpackage{ifpdf}{2011/01/30} \checkpackage{ifxetex}{2010/09/12} \checkpackage{keyval}{1999/03/16} \checkpackage{indentfirst}{1995/11/23} \checkpackage{fix-cm}{2006/09/13} \checkpackage{CJKutf8}{2012/05/07} \checkpackage{inputenc}{2008/03/30} \checkpackage{CJK}{2012/05/07} \checkpackage{MULEenc}{2012/05/07} \checkpackage{CJKpunct}{2009/05/06} \checkpackage{CJKfntef}{2012/05/07} \checkpackage{CJKulem}{2012/05/07} \checkpackage{ulem}{2012/05/18} \checkpackage{ifvtex}{2010/03/01} \checkpackage{graphics}{2009/02/05} \checkpackage{trig}{1999/03/16} \checkpackage{infwarerr}{2010/04/08} \checkpackage{ltxcmds}{2011/11/09} \checkpackage{caption3}{2013/05/02} \checkpackage{array}{2008/09/09} \checkpackage{amstext}{2000/06/29} \checkpackage{amsbsy}{1999/11/29} \checkpackage{amsopn}{1999/12/14} \checkpackage{atenddvi}{2007/04/17} \checkpackage{zref-abspage}{2012/04/04} \checkpackage{zref-base}{2012/04/04} \checkpackage{kvsetkeys}{2012/04/25} \checkpackage{etexcmds}{2011/02/16} \checkpackage{ifluatex}{2010/03/01} \checkpackage{kvdefinekeys}{2011/04/07} \checkpackage{pdftexcmds}{2011/11/29} \checkpackage{auxhook}{2011/03/04} \checkpackage{atbegshi}{2011/10/05} \checkpackage{zref-lastpage}{2012/04/04} \checkpackage{atveryend}{2011/06/30} \checkpackage{kvoptions}{2011/06/30} \checkpackage{pdfescape}{2011/11/25} \checkpackage{stringenc}{2011/12/02} \checkpackage{intcalc}{2007/09/27} \checkpackage{hobsub-hyperref}{2012/04/25} \checkpackage{hobsub-generic}{2012/04/25} \checkpackage{hobsub}{2012/04/25} \checkpackage{bigintcalc}{2012/04/08} \checkpackage{bitset}{2011/01/30} \checkpackage{uniquecounter}{2011/01/30} \checkpackage{letltxmacro}{2010/09/02} \checkpackage{hopatch}{2011/06/24} \checkpackage{xcolor-patch}{2011/01/30} \checkpackage{refcount}{2011/10/16} \checkpackage{hycolor}{2011/01/30} \checkpackage{url}{2006/04/12} \checkpackage{rerunfilecheck}{2011/04/15} \checkpackage{xkeyval}{2012/10/14} \checkpackage{mfirstuc}{2013/11/04} \checkpackage{textcase}{2004/10/07} \checkpackage{xfor}{2009/02/05} \checkpackage{datatool-base}{2013/09/06} \checkpackage{substr}{2009/10/20} \checkpackage{datatool-fp}{2013/08/29} \checkpackage{fp}{1995/04/02} \checkpackage{defpattern}{1994/10/12} \checkpackage{fp-basic}{1996/05/13} \checkpackage{fp-addons}{1995/03/15} \checkpackage{fp-snap}{1995/04/05} \checkpackage{fp-exp}{1995/04/03} \checkpackage{fp-trigo}{1995/04/14} \checkpackage{fp-pas}{1994/08/29} \checkpackage{fp-random}{1995/02/23} \checkpackage{fp-eqn}{1995/04/03} \checkpackage{fp-upn}{1996/10/21} \checkpackage{fp-eval}{1995/04/03} \checkpackage{glossaries-compatible-307}{2013/11/14} \checkpackage{glossary-hypernav}{2013/11/14} \checkpackage{glossary-list}{2013/11/14} \checkpackage{glossary-long}{2013/11/14} \checkpackage{glossary-super}{2013/11/14} \checkpackage{supertabular}{2004/02/20} \checkpackage{glossary-tree}{2013/11/14} \checkpackage{ltcaption}{2013/02/03} \checkpackage{nameref}{2012/10/27} \checkpackage{gettitlestring}{2010/12/03} \makeatother \begin{document} \chapter{Packages Check} \makeatletter% \noindent NOTICE:This report is prepared for uestcthesis \version@uestcthesis. \noindent\makebox[4.5cm][l]{\bf Package}\makebox[10em][l]{\bf Need}\makebox[10em][l]{\bf Have}\makebox[10em][l]{\bf Check Result}\\ \newif\iflisthasnext %从记录宏包名的\packagelist弹出一个宏包名 \def\poppackagename#1,#2\@nil{% \checkresult{#1}% \def\packagelist{#2}% } \loop \expandafter\poppackagename\packagelist\@nil% \ifx\packagelist\empty\listhasnextfalse % \else\listhasnexttrue% \fi% \iflisthasnext% \repeat% \makeatother \end{document} % \end{macrocode} % \iffalse % % \fi % \iffalse %<*beamer> % \fi % \section{Beamer主题} % \changes{v0.4.5}{2013/06/01}{增加一个Beamer主题} % 一个简单的带学校LOGO的主题。 % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{beamerthemeuestcthesis} [2013/05/31 v0.1 UESTC thesis beamer theme] \RequirePackage[UTF8,fancyhdr,hyperref,fntef]{ctex}[2011/03/11] \usetheme[hideothersubsections]{PaloAlto} \definecolor{beamer@logo@uestcthesis}{RGB}{0,86,159} \setbeamercolor*{palette secondary}{use=structure,fg=white,bg=beamer@logo@uestcthesis} % \begin{macrocode} \begin{filecontents*}{logo.tex} % \end{macrocode} % logo文件内容不显示在文档中。 % \iffalse \documentclass[pstricks=true]{standalone} \usepackage{pstricks} \begin{document} %LaTeX with PSTricks extensions %%Creator: 0.48.3.1 %%Please note this file requires PSTricks extensions \psset{xunit=.5pt,yunit=.5pt,runit=.5pt} \begin{pspicture}(3090.08740234,3090.08740234) { \newrgbcolor{curcolor}{1 1 1} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1545.04993132,2592.06227963) \curveto(968.37495696,2592.06227963)(498.02497786,2121.72480054)(498.02497786,1545.03732617) \curveto(498.02497786,968.36235181)(968.37495696,498.01237271)(1545.04993132,498.01237271) \curveto(2121.72490569,498.01237271)(2592.07488478,968.36235181)(2592.07488478,1545.03732617) \curveto(2592.07488478,2121.72480054)(2121.72490569,2592.06227963)(1545.04993132,2592.06227963) \closepath \moveto(1545.04993132,3090.08725749) \curveto(2396.0373935,3090.08725749)(3090.09986264,2396.02478835)(3090.09986264,1545.03732617) \curveto(3090.09986264,694.062364)(2396.0373935,-0.00010515)(1545.04993132,-0.00010515) \curveto(694.07496915,-0.00010515)(-0,694.062364)(-0,1545.03732617) \curveto(-0,2396.02478835)(694.07496915,3090.08725749)(1545.04993132,3090.08725749) \closepath } } { \newrgbcolor{curcolor}{0 0.36078431 0.63529412} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(67.77499699,1579.99982462) \curveto(68.02499698,1579.72482463)(68.26249697,1579.43732464)(68.51249695,1579.14982466) \curveto(72.82499676,1579.03732466)(76.5124966,1580.91232458)(80.19999644,1581.74982454) \curveto(87.46249611,1583.39982447)(99.48749558,1581.37482456)(107.09999524,1579.83732463) \curveto(123.33749452,1576.56232477)(141.22499372,1559.13732555)(150.6499933,1550.43732593) \curveto(173.47499229,1529.38732687)(189.31249158,1505.61232792)(216.0374904,1486.63732877) \curveto(218.61249028,1485.8248288)(221.18749017,1485.01232884)(223.74999005,1484.19982888) \curveto(237.31248945,1479.58732908)(236.41248949,1488.66232868)(244.88748911,1490.64982859) \curveto(261.37498838,1494.48732842)(278.16248764,1489.98732862)(289.26248714,1477.14982919) \curveto(291.78748703,1474.23732932)(295.37498687,1471.21232945)(296.66248681,1467.69982961) \curveto(299.38748669,1460.23732994)(293.37498696,1454.4498302)(287.46248722,1451.83733031) \curveto(282.22498746,1449.52483042)(276.18748772,1446.07483057)(270.17498799,1445.28733061) \curveto(260.42498842,1444.03733066)(251.17498884,1444.46233064)(242.46248922,1441.93733075) \curveto(242.38748923,1441.63733077)(242.29998923,1441.33733078)(242.21248923,1441.03733079) \lineto(242.43748922,1440.66233081) \curveto(249.26248892,1438.79983089)(254.47498869,1436.73733099)(260.02498844,1434.2123311) \curveto(266.69998815,1431.16233123)(272.2624879,1431.66233121)(278.62498762,1429.09983133) \curveto(287.81248721,1425.38733149)(296.62498681,1423.43733158)(305.46248642,1421.07483168) \curveto(312.38748611,1419.21233177)(322.53748566,1415.47483193)(329.78748534,1415.67483192) \curveto(346.79998458,1416.1373319)(355.09998422,1450.86233036)(367.53748366,1461.43732989) \curveto(376.61248326,1469.14982955)(391.72498259,1464.69982974)(404.38748202,1465.17482972) \curveto(412.23748168,1465.48732971)(427.61248099,1466.64982966)(434.2999807,1469.53732953) \curveto(440.8999804,1472.3873294)(451.66247992,1475.37482927)(456.24997972,1481.24982901) \curveto(463.04997942,1489.99982862)(465.99997929,1502.02482808)(469.57497913,1515.66232748) \curveto(473.56247895,1528.98732689)(477.54997877,1542.29982629)(481.5374786,1555.6123257) \curveto(482.13747857,1560.62482548)(480.33747865,1566.74982521)(479.71247868,1571.28732501) \curveto(478.59997873,1579.22482465)(480.47497864,1596.61232388)(475.81247885,1601.72482365) \curveto(467.56247922,1610.77482325)(453.31247985,1623.71232268)(442.39998034,1609.29982332) \curveto(440.9624804,1607.3998234)(438.02498053,1604.22482354)(437.61248055,1601.24982367) \curveto(436.11248061,1590.42482415)(435.66248063,1573.92482489)(434.88748067,1561.98732542) \curveto(433.93748071,1547.52482606)(430.82498085,1533.49982669)(429.17498092,1521.28732723) \curveto(427.524981,1509.07482777)(419.87498134,1500.99982813)(410.66248175,1500.88732813) \curveto(394.77498245,1500.68732814)(388.28748274,1525.18732705)(386.39998282,1538.21232648) \curveto(384.84998289,1548.862326)(387.42498278,1558.66232557)(381.99998302,1566.8498252) \curveto(371.84998347,1582.19982452)(350.14998444,1575.24982483)(332.18748523,1586.36232434) \curveto(316.41248594,1596.1123239)(301.13748661,1606.87482342)(290.48748709,1620.08732284) \curveto(288.22498719,1622.89982271)(287.61248722,1626.44982255)(286.41248727,1629.9248224) \curveto(283.63748739,1637.92482204)(273.17498786,1653.28732136)(264.41248825,1657.91232115) \curveto(253.74998872,1663.5498209)(234.93748956,1646.72482165)(227.52498989,1642.23732185) \curveto(215.06249044,1634.71232219)(202.437491,1626.71232254)(190.57499153,1618.19982292) \curveto(184.81249179,1614.0498231)(177.89999209,1606.76232343)(170.8749924,1605.2248235) \curveto(163.86249272,1603.68732357)(153.63749317,1609.52482331)(146.83749347,1610.53732326) \curveto(120.56249464,1614.46232309)(84.62499624,1624.62482263)(67.77499699,1579.99982462) \closepath \moveto(193.71249139,1594.42482398) \curveto(197.31249123,1607.72482339)(229.68748979,1627.98732249)(246.48748904,1617.33732296) \curveto(256.13748861,1611.22482323)(262.56248833,1602.33732363)(270.21248799,1595.64982392) \curveto(280.26248754,1586.86232431)(288.54998717,1573.6998249)(278.8624876,1559.07482555) \curveto(270.33748798,1560.1248255)(261.81248836,1561.17482545)(253.27498874,1562.23732541) \curveto(235.93748951,1564.44982531)(217.12499035,1572.37482496)(204.7124909,1580.4248246) \curveto(201.51249104,1582.49982451)(197.16249124,1583.83732445)(195.12499133,1586.61232432) \curveto(194.64999135,1589.21232421)(194.18749137,1591.81232409)(193.71249139,1594.42482398) \closepath \moveto(315.31248598,1548.07482604) \curveto(315.62498597,1544.57482619)(314.962486,1541.34982634)(312.99998609,1538.81232645) \curveto(311.78748614,1537.22482652)(310.68748619,1536.66232654)(309.49998624,1536.67482654) \curveto(304.63748646,1536.71232654)(305.04998644,1539.32482643)(304.86248645,1543.17482625) \curveto(304.52498646,1549.88732596)(306.42498638,1552.78732583)(315.31248598,1548.07482604) \closepath \moveto(339.88748489,1541.32482634) \curveto(341.69998481,1541.74982632)(342.68748477,1541.54982633)(343.13748475,1539.56232642) \curveto(343.82498472,1536.52482655)(342.79998476,1536.52482655)(340.47498487,1536.22482656) \curveto(338.49998495,1535.96232658)(338.09998497,1536.63732655)(337.69998499,1537.97482649) \curveto(336.93748502,1540.54982637)(337.17498501,1540.71232636)(339.88748489,1541.32482634) \closepath \moveto(1119.69995023,2914.94976528) \curveto(1119.59995023,2914.5247653)(1119.49995024,2914.08726532)(1119.39995024,2913.64976534) \curveto(1121.67495014,2907.21226562)(1123.94995004,2900.78726591)(1126.21244994,2894.36226619) \curveto(1127.49994988,2890.08726638)(1130.49994975,2885.71226658)(1131.19994972,2882.47476672) \curveto(1133.49994962,2871.7997672)(1150.99994884,2853.26226802)(1141.33744927,2841.17476856) \curveto(1133.27494963,2831.06226901)(1115.67495041,2824.73726929)(1105.99995084,2816.93726964) \curveto(1103.16245096,2814.64976974)(1098.52495117,2811.64976987)(1098.39995118,2808.27477002) \curveto(1099.16245114,2801.34977033)(1105.68745085,2796.68727054)(1106.7874508,2789.39977086) \curveto(1108.48745073,2778.27477135)(1106.98745079,2758.46227224)(1116.43745037,2750.51227259) \curveto(1121.21245016,2746.48727277)(1127.86244987,2748.41227268)(1133.31244962,2746.26227278) \curveto(1137.84994942,2736.36227322)(1133.9374496,2716.21227411)(1131.42494971,2707.5372745) \curveto(1129.19994981,2699.82477484)(1124.17495003,2691.06227523)(1132.27494967,2681.18727567) \curveto(1139.36244935,2672.56227605)(1147.449949,2672.19977607)(1159.03744848,2675.17477594) \curveto(1162.46244833,2676.69977587)(1165.89994818,2678.2247758)(1169.33744802,2679.74977573) \curveto(1179.26244758,2682.7872756)(1186.84994724,2694.0122751)(1195.07494688,2688.54977534) \curveto(1207.33744633,2680.4122757)(1210.88744618,2662.94977648)(1221.83744569,2648.17477714) \curveto(1223.14994563,2646.38727722)(1224.94994555,2640.84977746)(1226.68744547,2638.57477756) \curveto(1239.33744491,2622.0372783)(1247.23744456,2601.6872792)(1262.1124439,2587.94977981) \curveto(1268.03744364,2582.48728006)(1271.42494348,2574.01228043)(1277.8999432,2570.2997806) \curveto(1278.22494318,2570.43728059)(1278.54994317,2570.58728059)(1278.87494315,2570.73728058) \curveto(1280.61244308,2577.31228029)(1276.16244327,2584.09977999)(1274.07494337,2592.09977963) \curveto(1270.66244352,2605.27477904)(1265.12494376,2616.19977856)(1262.33744389,2629.74977796) \curveto(1259.53744401,2643.32477735)(1256.02494417,2657.27477673)(1256.22494416,2669.91227617) \curveto(1256.33744416,2676.84977586)(1259.67494401,2683.72477556)(1258.51244406,2691.19977522) \curveto(1257.97494408,2694.73727507)(1255.71244418,2697.08727496)(1254.94994422,2699.88727484) \curveto(1253.81244427,2704.04977465)(1250.63744441,2709.7747744)(1248.5749445,2712.91227426) \curveto(1242.27494478,2722.44977384)(1238.77494494,2731.58727343)(1237.12494501,2741.299773) \curveto(1235.84994507,2748.78727267)(1236.29994505,2758.31227224)(1237.61244499,2765.31227193) \curveto(1239.69994489,2776.39977144)(1246.82494458,2788.61227089)(1237.03744501,2802.93727026) \curveto(1227.13744545,2817.43726961)(1214.04994604,2823.37476935)(1202.97494653,2833.32476891) \curveto(1195.57494686,2839.97476861)(1190.22494709,2847.96226826)(1182.94994742,2855.24976793) \curveto(1174.52494779,2863.69976756)(1158.6124485,2897.09976607)(1153.08744874,2909.23726553) \curveto(1151.29994882,2910.82476546)(1122.72495009,2915.77476524)(1119.69995023,2914.94976528) \closepath \moveto(1008.66245516,2864.12476754) \curveto(996.5999557,2848.14976825)(992.57495588,2807.78727004)(997.14995568,2784.99977106) \curveto(998.22495563,2782.34977117)(999.31245558,2779.69977129)(1000.38745553,2777.04977141) \curveto(1003.81245538,2760.19977216)(1013.49995495,2741.82477297)(1010.38745509,2727.44977361) \curveto(1009.51245513,2723.42477379)(994.11245581,2710.17477438)(990.54995597,2706.01227457) \curveto(976.4749566,2689.5372753)(960.13745732,2663.78727644)(971.51245682,2638.51227757) \curveto(972.76245676,2637.89977759)(974.0124567,2637.27477762)(975.27495665,2636.66227765) \curveto(988.62495606,2642.2122774)(992.54995588,2655.57477681)(1003.61245539,2662.4247765) \curveto(1008.38745518,2665.37477637)(1016.8874548,2666.14977634)(1015.04995488,2663.44977646) \curveto(1017.22495478,2657.86227671)(1014.86245489,2650.78727702)(1015.18745487,2645.29977727) \curveto(1015.88745484,2633.38727779)(1016.38745482,2622.36227828)(1015.89995484,2610.6622788) \curveto(1015.58745486,2603.27477913)(1013.76245494,2593.87477955)(1015.27495487,2586.31227989) \curveto(1017.87495476,2573.28728047)(1027.13745434,2560.19978105)(1035.64995397,2553.66228134) \curveto(1045.87495351,2556.01228123)(1045.61245352,2563.71228089)(1048.62495339,2569.41228064) \curveto(1054.01245315,2579.61228018)(1057.94995297,2588.69977978)(1064.34995269,2598.13727936) \curveto(1066.04995261,2600.64977925)(1070.59995241,2612.72477871)(1074.12495225,2612.47477872) \curveto(1083.38745184,2613.27477869)(1097.8999512,2581.06228012)(1095.84995129,2572.19978051) \curveto(1094.67495134,2567.12478074)(1089.46245157,2565.6747808)(1086.47495171,2561.57478099) \curveto(1086.46245171,2561.362281)(1086.46245171,2561.174781)(1086.44995171,2560.97478101) \curveto(1089.89995155,2553.69978134)(1110.19995065,2546.32478166)(1117.51245033,2549.22478154) \curveto(1127.97494986,2562.81228093)(1123.64995005,2584.28727998)(1110.19995065,2602.66227916) \curveto(1106.01245084,2610.7747788)(1101.81245102,2618.89977844)(1097.61245121,2627.02477808) \curveto(1093.2999514,2634.98727772)(1088.97495159,2642.94977737)(1084.64995179,2650.91227702) \curveto(1083.59995183,2656.51227677)(1088.8749516,2671.78727609)(1090.06245155,2677.69977582) \curveto(1092.53745144,2689.91227528)(1093.62495139,2703.32477469)(1094.56245135,2715.82477413) \curveto(1095.33745131,2726.22477367)(1094.83745133,2737.13727318)(1093.03745141,2748.32477269) \curveto(1092.47495144,2751.77477253)(1090.71245152,2759.41227219)(1087.93745164,2760.44977215) \curveto(1083.19995185,2755.78727235)(1083.21245185,2745.99977279)(1082.1874519,2739.68727307) \curveto(1081.24995194,2733.86227333)(1079.68745201,2726.97477363)(1078.69995205,2721.1122739) \curveto(1077.47495211,2713.77477422)(1078.14995208,2706.87477453)(1076.06245217,2699.96227484) \curveto(1074.68745223,2695.38727504)(1064.63745268,2684.03727554)(1057.337453,2687.2372754) \curveto(1047.68745343,2691.47477521)(1047.92495342,2712.16227429)(1042.97495364,2720.21227394) \curveto(1036.86245391,2730.14977349)(1028.91245426,2739.32477309)(1022.29995456,2751.53727254) \curveto(1021.64995459,2754.09977243)(1021.01245462,2756.64977232)(1020.36245464,2759.1997722) \curveto(1018.61245472,2762.71227205)(1015.11245488,2768.2997718)(1014.96245488,2772.6622716) \curveto(1014.82495489,2777.09977141)(1017.67495476,2782.66227116)(1018.97495471,2786.77477098) \curveto(1023.5374545,2801.27477033)(1029.64995423,2819.12476954)(1030.2749542,2834.67476885) \curveto(1030.77495418,2846.8872683)(1026.42495438,2872.01226719)(1008.66245516,2864.12476754) \closepath \moveto(1143.03744919,2799.03727043) \curveto(1159.37494847,2803.89977022)(1164.81244822,2781.7372712)(1153.13744874,2772.98727159) \curveto(1150.61244885,2772.94977159)(1148.08744897,2772.89977159)(1145.56244908,2772.8497716) \curveto(1140.44994931,2773.62477156)(1132.76244965,2781.02477123)(1133.63744961,2787.81227093) \curveto(1134.32494958,2793.28727069)(1139.89994933,2794.42477064)(1143.03744919,2799.03727043) \closepath \moveto(1178.97494759,2728.08727359) \curveto(1175.98744773,2723.1997738)(1167.6999481,2714.2122742)(1160.17494843,2716.21227411) \curveto(1150.76244885,2718.712274)(1155.18744865,2741.02477301)(1156.49994859,2746.28727278) \curveto(1176.22494772,2759.08727221)(1187.38744722,2741.67477298)(1178.97494759,2728.08727359) \closepath \moveto(1046.41245349,2660.93727657) \curveto(1061.9124528,2665.71227636)(1057.58745299,2637.6747776)(1046.27495349,2644.72477729) \curveto(1038.97495382,2649.44977708)(1044.84995356,2656.87477675)(1046.41245349,2660.93727657) \closepath \moveto(3062.53736387,1505.88732791) \curveto(3054.52486423,1509.67482774)(3042.46236476,1506.32482789)(3033.91236514,1508.94982778) \curveto(3023.98736558,1511.98732764)(3013.64986604,1514.38732753)(3003.68736649,1517.77482738) \curveto(2999.34986668,1519.24982732)(2994.86236688,1522.31232718)(2990.54986707,1523.62482712) \curveto(2985.69986728,1525.09982706)(2970.57486796,1529.63732686)(2965.34986819,1524.97482706) \curveto(2966.62486813,1519.39982731)(2967.06236811,1514.87482751)(2970.26236797,1510.34982771) \curveto(2974.36236779,1504.54982797)(2981.79986746,1502.26232807)(2985.68736729,1495.08732839) \curveto(2994.59986689,1478.67482912)(2996.86236679,1452.28733029)(3013.94986603,1446.09983057) \curveto(3016.27486593,1445.26233061)(3026.69986546,1442.84983071)(3029.74986533,1444.53733064) \curveto(3031.31236526,1445.66233059)(3032.87486519,1446.78733054)(3034.43736512,1447.89983049) \curveto(3052.8248643,1458.56233002)(3055.67486417,1467.61232961)(3060.57486396,1486.12482879) \curveto(3062.29986388,1492.6123285)(3065.01236376,1497.2373283)(3062.53736387,1505.88732791) \closepath \moveto(2993.07486696,1660.59982104) \curveto(2992.212367,1662.32482096)(2991.33736703,1664.06232088)(2990.46236707,1665.7873208) \curveto(2988.57486716,1668.57482068)(2982.73736742,1671.49982055)(2979.72486755,1672.5873205) \curveto(2975.84986772,1673.99982044)(2971.58736791,1673.38732047)(2966.84986812,1673.18732048) \curveto(2963.68736826,1673.21232047)(2960.5373684,1673.22482047)(2957.37486854,1673.24982047) \curveto(2951.84986879,1673.43732046)(2946.94986901,1668.1373207)(2944.27486913,1666.08732079) \curveto(2933.07486962,1657.51232117)(2929.27486979,1655.06232128)(2925.39986997,1642.27482185) \curveto(2924.48737001,1639.86232196)(2923.57487005,1637.43732206)(2922.66237009,1635.02482217) \curveto(2921.56237014,1633.16232225)(2919.34987023,1632.2248223)(2918.69987026,1630.08732239) \curveto(2916.98737034,1624.43732264)(2924.03737003,1611.46232322)(2927.92486985,1608.38732336) \curveto(2948.51236894,1613.67482312)(2990.63736707,1632.66232228)(2993.73736693,1647.47482162) \curveto(2994.61236689,1651.66232143)(2993.76236693,1656.11232123)(2993.07486696,1660.59982104) \closepath \moveto(3002.62486653,1595.82482391) \curveto(2994.2998669,1603.39982358)(2966.61236813,1599.52482375)(2960.5373684,1588.67482423) \curveto(2958.3373685,1584.74982441)(2960.37486841,1580.87482458)(2961.86236834,1576.33732478) \curveto(2962.7998683,1572.94982493)(2963.72486826,1569.54982508)(2964.66236822,1566.16232523) \curveto(2967.22486811,1562.87482538)(2972.22486788,1560.62482548)(2976.22486771,1559.58732553) \curveto(2978.81236759,1558.92482555)(2983.42486739,1556.84982565)(2986.69986724,1558.03732559) \curveto(2995.56236685,1561.23732545)(3004.33736646,1586.32482434)(3002.62486653,1595.82482391) \closepath \moveto(2924.82486999,1551.94982586) \lineto(2916.79987035,1575.76232481) \curveto(2903.14987095,1600.37482371)(2888.79987159,1625.64982259)(2873.88737225,1647.9123216) \curveto(2868.62487249,1655.76232125)(2861.73737279,1669.67482063)(2854.28737313,1672.96232049) \curveto(2847.49987343,1675.97482035)(2838.33737383,1673.88732044)(2830.1873742,1674.61232041) \curveto(2821.34987459,1675.41232038)(2793.76237582,1677.67482028)(2786.67487613,1669.44982064) \curveto(2782.62487631,1664.74982085)(2777.98737652,1649.84982151)(2783.78737626,1642.33732185) \curveto(2791.9873759,1631.72482232)(2809.29987513,1635.46232215)(2818.03737474,1626.33732256) \curveto(2823.3623745,1620.78732281)(2824.41237445,1611.9248232)(2829.18737424,1605.1623235) \curveto(2838.73737382,1591.6373241)(2851.61237324,1580.4373246)(2862.21237277,1567.83732516) \curveto(2868.78737248,1560.03732551)(2886.51237169,1538.41232647)(2880.92487194,1527.76232694) \curveto(2868.09987251,1527.27482696)(2859.77487288,1542.99982626)(2852.07487322,1552.04982586) \curveto(2838.89987381,1567.51232517)(2829.47487423,1579.61232464)(2809.8373751,1584.17482443) \curveto(2807.29987521,1584.76232441)(2803.28737539,1586.12482435)(2800.64987551,1586.37482433) \curveto(2794.0873758,1587.01232431)(2776.61237658,1580.3498246)(2773.72487671,1575.72482481) \curveto(2767.162377,1565.18732528)(2779.48737645,1561.07482546)(2785.53737618,1558.57482557) \curveto(2798.14987562,1553.3623258)(2831.24987415,1545.33732616)(2831.18737415,1525.89982702) \curveto(2823.23737451,1519.29982732)(2814.02487492,1517.14982741)(2803.74987537,1519.24982732) \curveto(2785.77487617,1522.89982716)(2749.1873778,1544.4998262)(2740.51237818,1562.14982541) \curveto(2734.56237845,1574.26232487)(2734.96237843,1592.41232407)(2734.68737844,1603.71232356) \curveto(2734.53737845,1610.48732326)(2737.68737831,1617.01232297)(2731.31237859,1621.39982278) \curveto(2724.92487888,1625.79982258)(2712.41237943,1622.66232272)(2706.58737969,1616.67482299) \curveto(2698.48738005,1608.32482336)(2694.51238023,1596.28732389)(2689.26238046,1586.18732434) \curveto(2685.32488064,1578.61232468)(2676.72488102,1570.73732503)(2670.3873813,1565.62482526) \curveto(2659.67488178,1556.98732564)(2645.04988243,1549.58732597)(2644.12488247,1535.3373266) \curveto(2643.76238248,1529.81232685)(2649.48738223,1517.18732741)(2650.39988219,1512.53732762) \curveto(2652.13738211,1505.52482793)(2653.86238203,1498.51232824)(2655.59988196,1491.49982855) \curveto(2655.59988196,1488.81232867)(2656.42488192,1479.2623291)(2657.79988186,1477.0248292) \curveto(2662.89988163,1468.81232956)(2671.94988123,1463.04982982)(2680.38738086,1460.47482993) \curveto(2682.52488076,1460.57482993)(2684.66238067,1460.67482992)(2686.81238057,1460.76232992) \curveto(2701.32487993,1459.62482997)(2723.96237892,1467.08732964)(2734.63737844,1458.84983) \curveto(2745.92487794,1450.12483039)(2747.14987789,1433.19983114)(2754.72487755,1419.13733177) \curveto(2759.56237734,1410.16233217)(2763.17487718,1398.79983267)(2776.0498766,1406.08733235) \curveto(2787.2998761,1412.46233207)(2797.34987566,1435.73733103)(2794.67487578,1449.04983044) \curveto(2792.73737586,1458.69983001)(2781.77487635,1469.57482953)(2776.89987657,1476.08732924) \curveto(2773.51237672,1480.59982904)(2771.6123768,1484.78732885)(2776.97487656,1487.63732872) \curveto(2788.48737605,1493.77482845)(2810.13737509,1489.61232864)(2819.37487468,1487.17482874) \curveto(2822.92487452,1486.23732879)(2827.04987434,1484.07482888)(2830.92487416,1483.84982889) \curveto(2834.562374,1483.6498289)(2836.59987391,1485.68732881)(2840.34987375,1486.14982879) \curveto(2850.07487331,1487.34982874)(2858.37487294,1490.17482861)(2866.43737259,1488.01232871) \curveto(2880.32487197,1484.26232887)(2892.64987142,1466.94982964)(2911.1123706,1476.04982924) \curveto(2914.53737045,1477.74982916)(2918.64987027,1477.72482916)(2920.62487018,1480.14982906) \curveto(2924.96236998,1485.44982882)(2927.74986986,1498.69982823)(2929.2248698,1505.86232791) \curveto(2931.49986969,1516.91232742)(2927.52486987,1529.17482688)(2927.49986987,1541.16232634) \curveto(2926.59986991,1544.76232618)(2925.71236995,1548.36232602)(2924.82486999,1551.94982586) \closepath \moveto(2721.63737902,1526.512327) \curveto(2727.48737876,1507.18732785)(2710.31237953,1499.22482821)(2698.12488007,1508.81232778) \curveto(2687.84988052,1516.89982742)(2681.5873808,1550.32482594)(2698.56238005,1552.38732585) \curveto(2710.01237954,1547.11232608)(2713.2498794,1537.13732652)(2721.63737902,1526.512327) \closepath \moveto(2104.82490644,2864.63726752) \curveto(2097.57490676,2861.39976766)(2093.46240694,2851.06226812)(2088.96240714,2843.21226847) \curveto(2082.91240741,2832.66226894)(2076.72490769,2819.83726951)(2070.78740795,2809.73726996) \curveto(2066.39990815,2802.27477029)(2064.04990825,2790.46227081)(2058.26240851,2783.49977112) \curveto(2044.61240912,2767.08727185)(2005.04991087,2781.01227123)(1984.2749118,2775.69977147) \curveto(1968.93741248,2771.77477164)(1958.11241296,2759.72477218)(1944.86241355,2750.92477257) \curveto(1941.93741368,2748.97477266)(1934.774914,2750.72477258)(1934.03741403,2754.6997724) \curveto(1932.66241409,2762.31227206)(1950.68741329,2775.33727148)(1954.84991311,2778.12477136) \curveto(1956.02491305,2779.5122713)(1957.199913,2780.89977124)(1958.36241295,2782.28727118) \curveto(1971.72491236,2795.3497706)(1993.2874114,2807.03727008)(1997.33741122,2831.43726899) \curveto(1998.97491114,2835.7747688)(2000.61241107,2840.09976861)(2002.249911,2844.42476841) \curveto(2002.74991098,2848.94976821)(2002.124911,2855.77476791)(2000.18741109,2859.41226775) \curveto(1996.77491124,2865.78726746)(1981.33741193,2874.87476706)(1972.9874123,2871.97476719) \curveto(1966.2249126,2869.64976729)(1941.98741368,2838.31226869)(1939.02491381,2828.36226913) \curveto(1937.52491388,2823.34976935)(1927.9874143,2808.11227003)(1924.59991445,2807.34977006) \curveto(1915.94991484,2805.38727015)(1883.73741627,2822.1997694)(1879.49991646,2811.84976986) \curveto(1887.38741611,2799.56227041)(1895.38741575,2789.47477086)(1895.33741575,2773.56227156) \curveto(1895.31241575,2764.59977196)(1891.86241591,2752.5122725)(1886.72491613,2744.87477284) \curveto(1885.1624162,2742.44977295)(1883.59991627,2740.02477305)(1882.03741634,2737.61227316) \curveto(1879.98741643,2731.51227343)(1872.66241676,2726.47477366)(1868.79991693,2722.28727384) \curveto(1851.64991769,2703.62477467)(1823.28741895,2688.86227533)(1796.16242016,2693.31227513) \curveto(1784.1124207,2678.3247758)(1785.96242061,2656.23727678)(1794.64992023,2644.17477732) \curveto(1803.96241981,2640.62477747)(1813.2624194,2642.08727741)(1820.93741906,2641.96227741) \curveto(1825.37491886,2641.88727742)(1830.82491862,2644.5622773)(1835.8124184,2643.74977733) \curveto(1844.08741803,2642.38727739)(1847.51241788,2624.14977821)(1857.96241741,2622.1122783) \curveto(1870.82491684,2625.46227815)(1879.77491644,2640.37477748)(1886.51241614,2654.87477684) \curveto(1889.724916,2661.77477653)(1890.01241599,2669.88727617)(1894.93741577,2676.22477589) \curveto(1904.84991533,2689.01227532)(1917.03741479,2695.03727505)(1929.14991425,2702.63727472) \curveto(1932.19991411,2703.86227466)(1935.23741398,2705.07477461)(1938.28741384,2706.28727455) \curveto(1942.08741367,2708.91227444)(1953.07491319,2715.49977414)(1957.39991299,2715.82477413) \curveto(1957.324913,2715.63727414)(1957.249913,2715.44977415)(1957.187413,2715.26227416) \curveto(1957.92491297,2698.74977489)(1938.52491383,2688.38727535)(1942.06241367,2674.51227597) \curveto(1942.93741364,2671.04977612)(1945.58741352,2670.49977614)(1948.1874134,2667.66227627) \curveto(1955.69991307,2659.46227664)(1978.06241207,2632.72477782)(1974.98741221,2621.67477832) \curveto(1974.78741222,2621.42477833)(1974.57491223,2621.18727834)(1974.37491224,2620.93727835) \curveto(1968.5249125,2620.84977835)(1959.31241291,2619.27477842)(1952.6999132,2623.33727824) \curveto(1932.26241411,2635.89977768)(1924.03741448,2658.0372767)(1933.97491403,2684.67477551) \lineto(1931.76241413,2689.06227532) \curveto(1931.13741416,2689.4122753)(1930.51241419,2689.74977529)(1929.88741422,2690.09977527) \curveto(1927.27491433,2688.57477534)(1924.06241447,2688.13727536)(1921.43741459,2686.52477543) \curveto(1912.03741501,2680.74977569)(1894.46241579,2649.42477708)(1891.61241592,2636.79977764) \curveto(1890.08741599,2630.03727794)(1884.01241626,2624.49977819)(1883.94991626,2617.4372785) \curveto(1884.17491625,2610.13727883)(1902.69991542,2602.32477918)(1909.78741511,2596.98727941) \curveto(1922.67491454,2587.28727984)(1952.48741321,2576.69978031)(1969.83741244,2574.8747804) \curveto(1981.73741191,2573.63728045)(2000.93741106,2574.51228041)(2010.12491065,2567.03728074) \curveto(2009.69991067,2550.68728147)(2009.78741066,2539.43728197)(2017.19991033,2526.91228253) \curveto(2022.62491009,2517.71228294)(2037.02490945,2512.32478318)(2047.08740901,2507.83728338) \curveto(2077.02490768,2494.47478397)(2119.2624058,2480.3622846)(2148.23740451,2483.38728446) \curveto(2148.4124045,2483.84978444)(2148.58740449,2484.32478442)(2148.77490449,2484.7997844) \curveto(2146.83740457,2493.94978399)(2136.07490505,2495.62478392)(2128.2624054,2502.24978362) \curveto(2124.92490555,2505.0997835)(2121.4374057,2508.56228334)(2117.87490586,2512.32478318) \curveto(2112.79990609,2517.67478294)(2108.86240626,2525.78728258)(2104.52490645,2531.58728232) \curveto(2102.81240653,2533.31228224)(2101.08740661,2535.03728217)(2099.37490668,2536.76228209) \curveto(2094.68740689,2543.87478177)(2090.53740707,2551.21228145)(2085.13740731,2557.97478115) \curveto(2079.67490756,2564.83728084)(2076.79990769,2574.7247804)(2071.9749079,2582.01228008) \curveto(2069.88740799,2585.17477994)(2067.27490811,2588.39977979)(2065.68740818,2591.82477964) \curveto(2059.34990846,2605.49977903)(2068.91240804,2608.37477891)(2075.98740772,2617.29977851) \curveto(2076.78740769,2619.14977843)(2077.59990765,2620.98727835)(2078.39990761,2622.83727826) \curveto(2080.07490754,2624.68727818)(2081.73740747,2626.5247781)(2083.41240739,2628.36227802) \curveto(2084.92490732,2632.09977785)(2086.44990726,2635.82477769)(2087.96240719,2639.54977752) \curveto(2092.46240699,2647.99977715)(2098.77490671,2658.39977668)(2101.3124066,2667.0997763) \lineto(2103.18740651,2678.01227581) \curveto(2105.33740642,2686.88727542)(2110.81240617,2697.46227495)(2107.02490634,2704.32477464) \curveto(2100.43740663,2716.27477411)(2075.28740775,2709.13727443)(2063.74990827,2716.19977411) \curveto(2065.1374082,2719.49977397)(2065.06240821,2724.67477374)(2068.13740807,2727.7747736) \curveto(2078.7124076,2738.46227312)(2107.83740631,2731.42477344)(2122.96240563,2734.4372733) \curveto(2125.9124055,2735.68727325)(2128.84990537,2736.93727319)(2131.79990524,2738.18727314) \curveto(2135.38740508,2739.78727307)(2151.64990436,2751.12477256)(2151.64990436,2756.49977232) \curveto(2158.78740404,2765.31227193)(2171.69990347,2783.76227111)(2165.98740372,2794.32477064) \curveto(2163.94990381,2795.1997706)(2161.9249039,2796.07477056)(2159.88740399,2796.96227052) \curveto(2155.2624042,2797.4247705)(2150.21240442,2792.39977073)(2146.43740459,2790.43727081) \curveto(2137.237405,2785.66227103)(2128.47490539,2780.23727127)(2118.12490585,2777.92477137) \curveto(2111.63740614,2776.46227143)(2104.38740646,2772.7497716)(2098.62490672,2780.13727127) \curveto(2094.28740691,2785.71227102)(2100.99990661,2795.82477057)(2102.63740654,2803.48727023) \curveto(2106.47490637,2821.53726943)(2125.8749055,2856.78726786)(2104.82490644,2864.63726752) \closepath \moveto(1991.34991148,2754.29977242) \curveto(1993.58741138,2752.26227251)(1995.82491128,2750.2247726)(1998.07491118,2748.19977269) \curveto(1998.98741114,2745.7997728)(1999.9124111,2743.4122729)(2000.83741106,2741.01227301) \curveto(2003.93741092,2737.27477318)(2012.03741056,2734.94977328)(2011.74991058,2729.77477351) \curveto(2011.1749106,2728.81227355)(2010.58741063,2727.8497736)(2010.01241065,2726.87477364) \curveto(2009.68741067,2725.18727371)(2009.27491069,2721.71227387)(2007.22491078,2719.54977396) \curveto(2001.83741102,2713.84977422)(1993.47491139,2709.27477442)(1985.19991176,2715.94977412) \curveto(1983.24991184,2718.18727403)(1981.31241193,2720.43727393)(1979.36241202,2722.67477383) \curveto(1975.68741218,2725.67477369)(1970.07491243,2723.81227378)(1968.88741248,2728.26227358) \curveto(1969.33741246,2733.22477336)(1987.61241165,2752.64977249)(1991.34991148,2754.29977242) \closepath \moveto(2052.81240875,2670.31227615) \curveto(2054.96240866,2669.53727619)(2056.1249086,2668.61227623)(2056.39990859,2667.0122763) \curveto(2057.77490853,2654.24977687)(2034.31240957,2635.16227772)(2024.87490999,2640.86227746) \curveto(2025.26240998,2644.92477728)(2025.82490995,2644.23727731)(2021.77491013,2644.6247773) \curveto(2021.11241016,2663.31227646)(2039.67490934,2669.59977618)(2052.81240875,2670.31227615) \closepath \moveto(694.36246914,2197.79979716) \curveto(698.67496894,2224.49979597)(682.94996964,2241.67479521)(657.73747076,2263.82479422) \curveto(646.88747125,2273.3747938)(629.76247201,2275.71229369)(623.96247226,2287.79979316) \curveto(619.39997247,2297.33729273)(624.12497226,2310.28729216)(626.89997213,2321.78729165) \curveto(628.22497208,2327.3372914)(632.67497188,2331.7747912)(632.32497189,2336.287291) \curveto(631.91247191,2341.68729076)(626.99997213,2348.59979045)(619.32497247,2348.11229048) \curveto(614.46247269,2347.79979049)(610.84997285,2343.37479069)(606.58747304,2340.51229081) \curveto(601.91247324,2337.36229095)(594.59997357,2335.13729105)(590.24997376,2331.7997912) \curveto(587.31247389,2328.18729136)(584.38747402,2324.57479152)(581.46247415,2320.96229168) \curveto(574.37497447,2314.21229198)(566.26247483,2304.58729241)(560.1124751,2297.13729274) \curveto(558.38747518,2293.6497929)(556.66247526,2290.16229305)(554.92497533,2286.66229321) \curveto(549.0124756,2276.23729367)(540.99997595,2264.07479421)(530.21247643,2265.76229414) \curveto(517.68747699,2267.72479405)(503.77497761,2285.82479324)(497.88747787,2293.14979292) \curveto(478.04997875,2317.76229182)(445.17498021,2367.09978963)(403.62498206,2359.83728995) \curveto(394.32498247,2358.21229003)(382.88748298,2350.72479036)(375.58748331,2343.34979069) \curveto(371.2749835,2338.98729088)(369.14998359,2333.59979112)(364.3499838,2330.03729128) \curveto(364.21248381,2326.27479145)(366.38748371,2324.04979154)(366.96248369,2320.71229169) \curveto(369.07498359,2308.57479223)(373.88748338,2297.36229273)(377.8999832,2285.78729325) \curveto(378.44998318,2285.62479325)(378.98748315,2285.46229326)(379.53748313,2285.29979327) \curveto(392.26248256,2285.39979326)(404.57498202,2302.93729248)(418.74998139,2300.76229258) \curveto(425.0999811,2299.78729262)(434.71248068,2290.57479303)(440.49998042,2286.18729323) \curveto(462.58747944,2269.43729397)(480.63747864,2250.22479483)(500.61247775,2234.22479554) \curveto(511.59997726,2225.42479593)(531.91247636,2219.49979619)(533.1124763,2207.13729674) \curveto(533.78747627,2200.09979705)(528.21247652,2192.3372974)(523.92497671,2186.29979767) \curveto(522.14997679,2182.46229784)(520.36247687,2178.62479801)(518.57497695,2174.78729818) \curveto(510.5874773,2163.1622987)(499.68747779,2141.39979966)(506.73747748,2131.16230012) \curveto(511.39997727,2124.41230042)(524.64997668,2126.93730031)(530.47497642,2124.59980041) \curveto(531.52497637,2124.17480043)(550.84997551,2127.84980027)(554.31247536,2128.19980025) \curveto(566.9249748,2129.4373002)(580.53747419,2125.26230038)(594.0124736,2120.3498006) \curveto(604.22497314,2114.92480084)(614.44997269,2109.48730108)(624.67497223,2104.06230132) \curveto(627.46247211,2103.09980137)(630.87497196,2098.86230155)(633.53747184,2100.1123015) \curveto(642.31247145,2105.42480126)(645.6874713,2117.54980072)(653.58747095,2125.74980036) \curveto(675.18746999,2151.07479923)(690.53746931,2174.14979821)(694.36246914,2197.79979716) \closepath \moveto(592.22497368,2230.17479572) \curveto(612.46247278,2232.9247956)(631.32497194,2206.37479678)(638.08747164,2194.09979732) \curveto(641.71247148,2187.53729761)(643.02497142,2178.39979802)(642.58747144,2170.53729837) \curveto(626.22497216,2156.44979899)(606.74997303,2148.12479936)(585.76247396,2149.6747993) \curveto(574.82497445,2150.48729926)(560.59997508,2157.88729893)(559.33747514,2168.24979847) \curveto(558.39997518,2176.02479812)(564.86247489,2187.8122976)(566.57497482,2195.41229726) \curveto(568.67497472,2204.72479685)(583.62497406,2229.01229577)(592.22497368,2230.17479572) \closepath \moveto(2589.78738488,2112.33730096) \curveto(2586.62488502,2115.64980081)(2583.47488516,2118.97480066)(2580.3248853,2122.29980051) \curveto(2574.97488554,2126.56230032)(2568.62488582,2130.64980014)(2563.03738607,2132.39980006) \curveto(2540.42488708,2119.14980065)(2556.54988636,2103.26230136)(2559.08738625,2086.34980211) \curveto(2560.1248862,2079.41230242)(2556.99988634,2070.9248028)(2556.31238637,2063.96230311) \curveto(2555.29988642,2053.81230356)(2559.58738623,2040.34980416)(2563.87488603,2030.14980461) \curveto(2567.28738588,2022.02480497)(2587.43738499,2000.91230591)(2593.78738471,2002.09980586) \curveto(2602.21238433,2005.17480572)(2609.09988402,2018.84980511)(2611.44988392,2023.5123049) \curveto(2621.98738345,2044.38730398)(2620.23738353,2063.59980312)(2610.02488398,2085.48730215) \curveto(2607.11238411,2091.72480187)(2600.7498844,2098.26230158)(2597.84988452,2102.92480137) \curveto(2595.56238463,2106.61230121)(2591.03738483,2109.51230108)(2589.78738488,2112.33730096) \closepath \moveto(2748.63737782,2340.16229083) \curveto(2734.14987847,2347.32479051)(2719.66237911,2346.68729054)(2704.73737977,2339.73729085) \curveto(2697.72488009,2333.68729112)(2690.6998804,2327.63729139)(2683.67488071,2321.57479165) \curveto(2666.73738146,2307.74979227)(2647.06238234,2288.61229312)(2629.62488311,2278.97479355) \curveto(2623.62488338,2275.6622937)(2618.98738359,2270.17479394)(2612.74988386,2268.66229401) \curveto(2603.93738425,2266.5372941)(2596.52488458,2263.38729424)(2586.67488502,2269.01229399) \curveto(2581.27488526,2272.09979385)(2578.1873854,2277.18729363)(2574.26238557,2281.72479343) \lineto(2561.17488615,2295.18729283) \curveto(2550.82488662,2314.94979195)(2537.23738722,2321.61229165)(2518.63738805,2317.22479185) \curveto(2515.59988818,2316.51229188)(2502.13738878,2310.97479213)(2499.61238889,2306.78729231) \curveto(2491.13738927,2292.64979294)(2501.7623888,2272.91229382)(2510.23738842,2258.11229448) \curveto(2515.29988819,2249.28729487)(2526.57488769,2237.3622954)(2519.96238799,2229.41229575) \curveto(2513.72488826,2221.92479608)(2502.38738877,2225.64979592)(2496.11238905,2226.79979587) \curveto(2480.31238975,2229.72479574)(2464.31239046,2232.04979563)(2451.64989102,2215.02479639) \curveto(2447.54989121,2209.49979664)(2441.37489148,2204.98729684)(2442.06239145,2198.66229712) \curveto(2442.88739141,2191.18729745)(2473.08739007,2172.88729826)(2478.52488983,2168.86229844) \curveto(2507.99988852,2147.09979941)(2552.28738655,2142.26229963)(2584.37488512,2156.237299) \curveto(2594.49988467,2160.64979881)(2604.08738425,2167.6622985)(2613.43738383,2173.04979826) \curveto(2619.72488355,2176.69979809)(2625.18738331,2186.11229768)(2632.39988299,2187.06229763) \curveto(2634.83738288,2187.37479762)(2643.63738249,2184.64979774)(2645.99988238,2184.01229777) \curveto(2667.27488144,2178.26229803)(2686.58738058,2161.04979879)(2707.12487967,2149.42479931) \curveto(2716.16237927,2144.31229953)(2722.84987897,2134.99979995)(2732.37487855,2132.51230006) \curveto(2739.42487823,2130.67480014)(2750.94987772,2132.94980004)(2757.49987743,2141.69979965) \curveto(2756.64987747,2145.89979946)(2756.73737746,2151.01229924)(2755.08737754,2155.33729904) \curveto(2750.23737775,2168.06229848)(2732.34987855,2193.38729735)(2718.61237916,2199.1247971) \curveto(2706.87487968,2204.03729688)(2695.2373802,2203.41229691)(2683.64988071,2206.79979676) \curveto(2680.17488087,2207.81229671)(2674.17488113,2208.1247967)(2672.37488121,2213.76229645) \curveto(2679.72488089,2219.86229618)(2689.86238043,2233.37479558)(2697.2873801,2237.66229538) \curveto(2701.48737992,2240.08729528)(2745.46237796,2267.38729406)(2749.68737778,2275.6122937) \curveto(2750.91237772,2279.21229354)(2749.1748778,2284.6372933)(2750.09987776,2288.62479312) \curveto(2754.11237758,2305.83729235)(2765.38737708,2321.96229164)(2748.63737782,2340.16229083) \closepath } } { \newrgbcolor{curcolor}{1 1 1} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(907.74995965,1676.54982033) \lineto(989.67495601,1676.54982033) \lineto(989.67495601,1503.974828) \curveto(989.67495601,1440.54983082)(940.19995821,1419.04983177)(851.57496215,1419.04983177) \curveto(760.58746619,1419.04983177)(711.69996836,1439.17483088)(711.69996836,1502.54982806) \lineto(711.69996836,1676.54982033) \lineto(793.62496472,1676.54982033) \lineto(793.62496472,1517.5248274) \curveto(793.62496472,1479.04982911)(818.69996361,1473.37482936)(845.34996242,1472.11232941) \curveto(875.53746108,1470.67482948)(907.74995965,1478.57482913)(907.74995965,1517.5248274) \lineto(907.74995965,1676.54982033) \closepath } } { \newrgbcolor{curcolor}{1 1 1} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1756.09992194,1597.87482382) \lineto(1691.21242483,1597.87482382) \curveto(1653.91242648,1663.6123209)(1560.43743064,1605.71232348)(1623.86242782,1584.9623244) \curveto(1632.48742744,1582.13732452)(1646.18742683,1581.24982456)(1659.54992623,1578.1498247) \curveto(1728.83742315,1562.13732541)(1763.51242161,1534.93732662)(1763.51242161,1496.47482833) \curveto(1761.5499217,1439.19983088)(1718.97492359,1408.37483225)(1635.79992729,1409.14983221) \curveto(1540.12493154,1410.04983217)(1521.51243237,1450.33733038)(1512.64993276,1503.887328) \lineto(1589.96242933,1503.887328) \curveto(1592.93742919,1494.51232842)(1607.87492853,1476.8623292)(1615.02492821,1472.4998294) \curveto(1621.76242791,1468.37482958)(1630.34992753,1466.91232964)(1640.29992709,1466.91232964) \curveto(1666.01242595,1466.91232964)(1678.87492537,1472.97482938)(1678.87492537,1485.17482883) \curveto(1678.87492537,1495.51232837)(1661.58742614,1504.47482798)(1626.92492768,1511.98732764) \curveto(1556.61243081,1527.91232693)(1521.52493237,1556.09982568)(1521.52493237,1596.48732389) \curveto(1523.48743228,1650.0373215)(1562.57493054,1677.68732028)(1638.77492716,1679.61232019) \curveto(1708.07492408,1678.64982023)(1747.16242234,1651.42482144)(1756.09992194,1597.87482382) \closepath } } { \newrgbcolor{curcolor}{1 1 1} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1796.26242016,1610.23732327) \lineto(1796.26242016,1676.54982033) \lineto(2068.38740806,1676.54982033) \lineto(2068.38740806,1610.23732327) \lineto(1968.62491249,1610.23732327) \lineto(1968.62491249,1403.22483248) \lineto(1896.03741572,1403.22483248) \lineto(1896.03741572,1610.23732327) \lineto(1796.26242016,1610.23732327) \closepath } } { \newrgbcolor{curcolor}{1 1 1} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(2227.78740097,1675.98732035) \curveto(2292.01239812,1675.98732035)(2346.81239568,1635.24982216)(2366.56239481,1578.87482467) \lineto(2287.47489832,1578.87482467) \curveto(2273.49989894,1596.0873239)(2251.9248999,1607.14982341)(2227.78740097,1607.14982341) \curveto(2185.81240284,1607.14982341)(2151.57490436,1573.6998249)(2151.57490436,1532.67482672) \curveto(2151.57490436,1491.63732855)(2185.81240284,1458.18733003)(2227.78740097,1458.18733003) \curveto(2253.63739983,1458.18733003)(2276.56239881,1470.88732947)(2290.34989819,1490.23732861) \lineto(2367.82489475,1490.23732861) \curveto(2349.24989558,1431.9123312)(2293.43739806,1389.34983309)(2227.78740097,1389.34983309) \curveto(2147.02490456,1389.34983309)(2081.16240749,1453.73733023)(2081.16240749,1532.67482672) \curveto(2081.16240749,1611.59982321)(2147.02490456,1675.98732035)(2227.78740097,1675.98732035) \closepath } } { \newrgbcolor{curcolor}{0 0.36078431 0.63529412} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1649.76242667,365.78737859) \lineto(1590.37492931,278.87488245) \curveto(1590.37492931,278.87488245)(1621.52492792,294.81238175)(1643.24992696,286.12488213) \curveto(1664.97492599,277.42488252)(1678.01242541,256.42488345)(1670.77492573,240.49988416) \curveto(1663.52492606,224.56238487)(1642.52492699,210.07488551)(1620.79992795,216.58738522) \curveto(1599.07492892,223.11238493)(1591.09992928,233.24988448)(1599.07492892,234.69988442) \curveto(1607.03742857,236.14988435)(1605.58742863,230.34988461)(1612.11242834,226.0123848) \curveto(1618.62492805,221.662385)(1632.38742744,246.2873839)(1625.14992776,253.52488358) \curveto(1617.89992808,260.77488326)(1600.52492886,278.87488245)(1580.23742976,263.67488313) \curveto(1559.96243066,248.46238381)(1568.58743028,219.48738509)(1572.27493011,204.99988574) \curveto(1575.96242995,190.52488638)(1630.17492754,157.92488783)(1673.6749256,189.79988641) \curveto(1717.16242367,221.662385)(1715.67492374,246.2873839)(1711.32492393,266.562383) \curveto(1706.98742412,286.8498821)(1683.81242515,308.57488113)(1670.04992577,307.1248812) \curveto(1656.28742638,305.67488126)(1650.48742664,312.92488094)(1650.48742664,312.92488094) \lineto(1665.69992596,335.37487994) \lineto(1720.74992351,333.19988004) \lineto(1716.39992371,309.2998811) \lineto(1740.29992264,304.22488133) \curveto(1740.29992264,304.22488133)(1747.53742232,331.7498801)(1761.29992171,338.98737978) \curveto(1775.0624211,346.23737946)(1783.74992071,363.61237869)(1783.74992071,363.61237869) \curveto(1783.74992071,363.61237869)(1648.32492673,365.06237862)(1649.76242667,365.78737859) \closepath } } { \newrgbcolor{curcolor}{0 0.36078431 0.63529412} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1442.0999359,302.99988138) \curveto(1440.29993598,301.13738146)(1438.24993607,299.26238155)(1435.96243617,297.83738161) \curveto(1428.6624365,293.27488181)(1420.92493684,313.51238091)(1425.93743662,328.84988023) \curveto(1431.76243636,346.69987944)(1479.96243422,361.67487877)(1492.04993368,330.21238017) \curveto(1497.73743343,315.43738083)(1496.1624335,303.76238135)(1492.04993368,297.38738163) \curveto(1487.94993386,290.99988191)(1487.93743386,293.73738179)(1478.36243429,304.23738133) \curveto(1465.44993486,318.3748807)(1451.57493548,312.88738094)(1442.0999359,302.99988138) \closepath \moveto(1452.83743542,260.89988325) \curveto(1453.13743541,260.89988325)(1448.33743562,254.02488356)(1441.27493593,246.07488391) \curveto(1430.7624364,234.22488444)(1371.84993902,197.01238609)(1359.82493956,210.69988548) \curveto(1357.77493965,213.03738538)(1360.72493952,222.82488494)(1358.8999396,226.69988477) \curveto(1349.52494001,246.59988389)(1318.3749414,231.06238458)(1325.1499411,210.73738548) \curveto(1339.57494046,167.47488741)(1422.53743677,186.18738657)(1450.27493553,203.6998858) \curveto(1499.21243336,234.61238442)(1547.44993122,292.79988183)(1520.32493242,345.72487948) \curveto(1512.61243276,360.78737881)(1476.69993436,393.76237735)(1425.47493664,368.98737845) \curveto(1396.57493792,355.01237907)(1372.52493899,289.38738199)(1417.73743698,266.83738299) \curveto(1430.51243641,257.73738339)(1452.83743542,260.89988325)(1452.83743542,260.89988325) \closepath } } { \newrgbcolor{curcolor}{0 0.36078431 0.63529412} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1171.04994795,184.17488666) \lineto(1226.34994549,184.76238664) \lineto(1354.4249398,372.79987828) \curveto(1354.4249398,372.79987828)(1350.34993998,380.37487794)(1335.21244065,378.03737805) \curveto(1320.08744132,375.71237815)(1305.52494197,367.56237851)(1290.38744264,368.72487846) \curveto(1275.24994331,369.88737841)(1267.09994368,372.2248783)(1263.61244383,375.13737817) \curveto(1260.12494399,378.03737805)(1256.62494414,371.63737833)(1260.12494399,361.1623788) \curveto(1263.61244383,350.67487926)(1269.43744357,343.1123796)(1275.83744329,341.94987965) \curveto(1282.237443,340.7873797)(1283.39994295,339.03737978)(1283.39994295,339.03737978) \lineto(1171.04994795,184.17488666) \closepath } } { \newrgbcolor{curcolor}{0 0.36078431 0.63529412} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1873.23741673,254.44988354) \curveto(1875.03741665,256.32488346)(1877.08741656,258.18738337)(1879.37491646,259.61238331) \curveto(1886.66241614,264.17488311)(1894.41241579,243.93738401)(1889.39991602,228.59988469) \curveto(1883.57491627,210.76238548)(1833.76241849,194.17488622)(1821.67491903,225.63738482) \curveto(1815.99991928,240.41238416)(1817.57491921,252.07488364)(1821.67491903,258.46238336) \curveto(1825.77491884,264.84988308)(1825.78741884,262.0998832)(1835.36241842,251.61238367) \curveto(1848.27491784,237.47488429)(1863.76241716,244.56238398)(1873.23741673,254.44988354) \closepath \moveto(1854.46241757,292.79988183) \curveto(1854.16241758,292.79988183)(1858.96241737,299.68738153)(1866.02491705,307.63738117) \curveto(1876.53741659,319.48738065)(1935.46241397,356.69987899)(1947.48741343,342.9998796) \curveto(1948.51241339,341.83737965)(1955.39991308,330.17488017)(1941.78741369,330.66238015) \curveto(1933.43741406,330.94988014)(1929.18741425,316.67488077)(1929.87491422,314.64988086) \curveto(1939.62491378,285.86238214)(1986.04991172,298.24988159)(1978.34991206,339.64987975) \curveto(1970.02491243,384.47487776)(1901.39991548,371.79987832)(1865.58741707,350.94987925) \curveto(1815.5624193,321.83738054)(1759.84992177,260.91238325)(1786.97492057,207.9873856) \curveto(1794.69992023,192.92488627)(1828.9124187,163.78738757)(1881.83741635,184.72488664) \curveto(1917.14991478,198.68738602)(1940.67491374,265.92488303)(1895.46241575,288.47488203) \curveto(1882.68741631,297.57488162)(1854.46241757,292.79988183)(1854.46241757,292.79988183) \closepath } } { \newrgbcolor{curcolor}{1 1 1} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1401.4999377,1746.67481721) \curveto(1644.18742692,1974.47480708)(1867.02491701,2114.99980084)(2028.62490983,2137.68729983) \curveto(2198.66240227,2161.57479877)(2229.32490091,2049.83730373)(2179.33740313,1876.16231145) \curveto(2168.17490362,1837.34981318)(2150.7374044,1795.68731503)(2128.2999054,1752.28731696) \lineto(2202.69990209,1752.28731696) \curveto(2220.63740129,1797.29981496)(2233.63740071,1841.21231301)(2241.08740038,1883.42481113) \curveto(2273.48739894,2067.09980297)(2205.14990198,2185.22479772)(2009.69991067,2178.61229801) \curveto(1825.97491883,2172.38729829)(1594.28742913,2045.91230391)(1343.44994028,1810.28731438) \curveto(1334.92494066,1802.27481474)(1326.54994103,1794.1873151)(1318.2999414,1786.04981546) \curveto(1348.67494005,1778.19981581)(1376.8124388,1764.67481641)(1401.4999377,1746.67481721) \closepath \moveto(1049.61245334,1415.73733192) \curveto(1001.1124555,1316.38733634)(971.9624568,1221.39984056)(962.9124572,1141.19984412) \curveto(943.79995805,971.61235166)(1016.46245482,880.8373557)(1193.19994696,894.87485507) \curveto(1359.29993958,908.06235449)(1592.34992922,1017.68734961)(1814.73741933,1225.99984035) \curveto(1861.21241727,1269.53733842)(1904.99991532,1314.27483643)(1945.56241352,1359.61233441) \lineto(1834.39991846,1359.61233441) \curveto(1628.8124276,1144.46234398)(1379.44993868,961.89985209)(1212.94994608,935.76235325) \curveto(950.94995773,894.61235508)(966.89995702,1078.33734692)(1033.08745408,1232.43734007) \curveto(1051.83745325,1276.08733813)(1072.47495233,1319.14983621)(1095.97495128,1362.06233431) \curveto(1078.07495208,1377.61233361)(1062.43745277,1395.68733281)(1049.61245334,1415.73733192) \closepath } } { \newrgbcolor{curcolor}{0.9176471 0.46666667 0.11764706} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1674.68742556,1084.09984666) \curveto(1794.14992025,998.74985045)(1916.87491479,940.14985306)(2010.58741063,922.39985385) \curveto(2225.21240109,870.88735614)(2215.57490152,1082.79984672)(2159.774904,1232.43734007) \curveto(2143.58740472,1275.87483814)(2124.37490557,1317.97483627)(2101.84990657,1359.61233441) \lineto(2172.01240345,1359.61233441) \curveto(2202.67490209,1281.0998379)(2221.19990127,1206.56234122)(2228.41240095,1141.19984412) \curveto(2247.11240012,971.61235166)(2158.22490407,867.47485629)(1985.36241175,881.51235567) \curveto(1878.76241649,890.16235528)(1744.37492246,942.53735295)(1604.72492867,1038.09984871) \curveto(1627.93742764,1052.73734806)(1651.2749266,1068.06234737)(1674.68742556,1084.09984666) \closepath } } { \newrgbcolor{curcolor}{0.9176471 0.46666667 0.11764706} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1794.03742025,1752.28731696) \curveto(1735.46242286,1812.1748143)(1677.13742545,1866.41231189)(1620.09992799,1914.07480977) \curveto(1642.79992698,1931.72480898)(1665.28742598,1948.66230823)(1687.49992499,1964.87480751) \curveto(1747.21242234,1918.06230959)(1808.41241962,1864.54981197)(1870.46241686,1804.94981462) \curveto(1888.46241606,1787.67481539)(1905.72491529,1770.09981617)(1922.28741455,1752.28731696) \lineto(1794.03742025,1752.28731696) \closepath } } { \newrgbcolor{curcolor}{1 1 1} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1349.08744003,1347.13733497) \lineto(1349.23744003,1347.21233497) \lineto(1349.08744003,1347.13733497) \closepath } } { \newrgbcolor{curcolor}{0.9176471 0.46666667 0.11764706} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1363.47493939,1354.98733462) \curveto(1429.74993645,1290.88733747)(1499.89993333,1228.14984026)(1568.23743029,1168.36234292) \curveto(1573.18743007,1164.02484311)(1578.16242985,1159.7373433)(1583.16242963,1155.49984349) \curveto(1560.26243065,1138.14984426)(1537.43743166,1121.387345)(1514.71243267,1105.26234572) \curveto(1471.01243461,1140.62484415)(1427.27493656,1180.13734239)(1384.16243847,1223.77484045) \curveto(1350.26243998,1258.08733893)(1318.04994141,1292.62483739)(1287.64994276,1327.26233585) \curveto(1287.67494276,1327.26233585)(1287.69994276,1327.26233585)(1287.72494276,1327.27483585) \curveto(1276.12494328,1325.34983594)(1264.2374438,1324.34983598)(1252.11244434,1324.34983598) \curveto(1131.74994969,1324.34983598)(1033.58745406,1422.51233162)(1033.58745406,1542.86232627) \curveto(1033.58745406,1581.92482453)(1043.9374536,1618.6498229)(1062.01245279,1650.43732149) \curveto(1022.89995453,1726.5248181)(993.09995586,1797.64981494)(978.31245651,1883.42481113) \curveto(946.61245792,2067.09980297)(1022.34995456,2194.12479732)(1213.51244606,2187.51229761) \curveto(1324.06244114,2183.68729778)(1454.38743535,2128.93730022)(1595.44992908,2032.5123045) \curveto(1573.72493005,2017.31230518)(1551.82493102,2001.43730589)(1529.737432,1984.81230662) \curveto(1400.56243774,2078.87480244)(1281.52494304,2134.06229999)(1186.09994728,2137.68729983) \curveto(1073.1874523,2141.99979964)(996.38745571,2016.58730521)(1028.0124543,1838.78731311) \curveto(1036.82495391,1789.24981532)(1057.58745299,1738.04981759)(1087.23745167,1686.01231991) \lineto(1087.23745167,1686.02481991) \curveto(1101.84995102,1660.17482105)(1117.16245034,1636.46232211)(1133.08744963,1614.56232308) \curveto(1098.17495119,1549.012326)(1113.6249505,1463.18732981)(1175.87494773,1416.2123319) \curveto(1227.37494544,1377.33733363)(1300.2374422,1390.78733303)(1359.79993956,1453.14983026) \lineto(1317.79994142,1484.47482886) \curveto(1248.28744451,1418.88733178)(1168.01244808,1452.49983029)(1170.94994795,1538.32482647) \lineto(1384.76243845,1538.32482647) \curveto(1384.87493844,1539.8373264)(1384.97493844,1541.34982634)(1385.03743843,1542.86232627) \curveto(1388.74993827,1625.2998226)(1348.03744008,1692.54981962)(1265.59994374,1692.54981962) \curveto(1223.7374456,1692.54981962)(1183.79994738,1676.38732033)(1156.54994859,1647.33732162) \curveto(1150.91244884,1641.33732189)(1145.86244907,1634.97482217)(1141.38744926,1628.34982247) \lineto(1100.0249511,1699.51231931) \curveto(1139.41244935,1737.76231761)(1193.08744697,1761.38731656)(1252.11244434,1761.38731656) \curveto(1372.46243899,1761.38731656)(1470.62493463,1663.22482092)(1470.62493463,1542.86232627) \curveto(1470.62493463,1463.13732981)(1427.53743655,1393.14983292)(1363.47493939,1354.98733462) \closepath } } { \newrgbcolor{curcolor}{0.9176471 0.46666667 0.11764706} \pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] { \newpath \moveto(1266.01244373,1648.14982159) \curveto(1301.18744216,1648.14982159)(1329.73744089,1618.31232292)(1331.46244082,1581.73732454) \curveto(1331.38744082,1581.26232456)(1331.31244082,1580.77482458)(1331.22494083,1580.2998246) \lineto(1180.43744753,1580.2998246) \curveto(1180.48744753,1580.77482458)(1180.54994752,1581.26232456)(1180.62494752,1581.73732454) \curveto(1186.11244728,1618.31232292)(1224.47494557,1648.14982159)(1266.01244373,1648.14982159) \closepath } } \end{pspicture} \end{document} % \fi % \begin{macrocode} \end{filecontents*} \immediate\write18{latex logo}% \immediate\write18{dvips logo}% \IfFileExists{logo.dvi}{ \immediate\write18{ps2pdf logo.ps}% }{} \logo{% \IfFileExists{logo.pdf}{\includegraphics*[height=1.8cm]{logo.pdf}}{UESTC}% }% % \end{macrocode} % % \iffalse % % \fi % \section{更新日志} % \StopEventually{\PrintChanges} % \Finale % \endinput