├── author.idx ├── class.idx ├── keyword.idx ├── demo.pdf ├── logo.png ├── synctex.bat ├── times.ttf ├── figure ├── a.png └── rlp.png ├── demo.synctex.gz ├── chapters ├── dataset.pdf ├── empty.pdf ├── dataset.docx ├── englishabstract.tex ├── preface.tex ├── abstract.tex ├── thanksshort.tex ├── declaration.tex ├── research.tex ├── appendix.tex ├── chap2.tex ├── thanksshort.aux ├── preface.aux ├── abstract.aux ├── declaration.aux ├── englishabstract.aux ├── research.aux ├── appendix.aux ├── summary.aux ├── dataset.aux ├── chap2.aux ├── chap1.tex ├── dataset.tex ├── chap1.aux └── summary.tex ├── xelatex.bat ├── reference ├── ref.bib └── ref_ttql.bib ├── readme.md ├── RL.tex ├── demo.tex ├── BJTU-thesis.cls └── GBT7714-2005NLang.bst /author.idx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /class.idx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /keyword.idx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfdywy/bjtu-thesis-templete/HEAD/demo.pdf -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfdywy/bjtu-thesis-templete/HEAD/logo.png -------------------------------------------------------------------------------- /synctex.bat: -------------------------------------------------------------------------------- 1 | docker run -i --rm -w "%cd%" -v "%cd%:%cd%" tianon/latex synctex %* -------------------------------------------------------------------------------- /times.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfdywy/bjtu-thesis-templete/HEAD/times.ttf -------------------------------------------------------------------------------- /figure/a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfdywy/bjtu-thesis-templete/HEAD/figure/a.png -------------------------------------------------------------------------------- /demo.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfdywy/bjtu-thesis-templete/HEAD/demo.synctex.gz -------------------------------------------------------------------------------- /figure/rlp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfdywy/bjtu-thesis-templete/HEAD/figure/rlp.png -------------------------------------------------------------------------------- /chapters/dataset.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfdywy/bjtu-thesis-templete/HEAD/chapters/dataset.pdf -------------------------------------------------------------------------------- /chapters/empty.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfdywy/bjtu-thesis-templete/HEAD/chapters/empty.pdf -------------------------------------------------------------------------------- /chapters/dataset.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xfdywy/bjtu-thesis-templete/HEAD/chapters/dataset.docx -------------------------------------------------------------------------------- /xelatex.bat: -------------------------------------------------------------------------------- 1 | docker run -i --rm -w /data -v "%cd%:/data" tianon/latex xelatex -synctex=1 -interaction=nonstopmode %* 2 | 3 | 4 | -------------------------------------------------------------------------------- /chapters/englishabstract.tex: -------------------------------------------------------------------------------- 1 | \begin{englishabstract} 2 | 3 | English abstract 4 | 5 | \noindent 6 | \englishkeywords{english keywords} 7 | \end{englishabstract} -------------------------------------------------------------------------------- /chapters/preface.tex: -------------------------------------------------------------------------------- 1 | \begin{preface} 2 | [鼠标左键单击选择该段落,输入替换之。内容为小四号宋体。] 学位论文的序或前言,一般是作者或他人对本篇论文基本特征的简介,如说明研究工作缘起、背景、主旨、目的、意义、编写体例,以及资助、支持、协作经过等;也可以评述和对相关问题发表意见。这些内容也可以在正文引言中说明。 3 | \end{preface} -------------------------------------------------------------------------------- /chapters/abstract.tex: -------------------------------------------------------------------------------- 1 | \begin{abstract} 2 | 3 | 4 | 5 | 这里是中文摘要 6 | 7 | 8 | 9 | 10 | \vspace{16pt} 11 | 12 | \noindent 13 | \keywords{这里是关键词; 关键词2;} 14 | 15 | 16 | 17 | \end{abstract} -------------------------------------------------------------------------------- /chapters/thanksshort.tex: -------------------------------------------------------------------------------- 1 | \thispagestyle{empty}{ 2 | 3 | \begin{thanks} 4 | 5 | 博士五年,时光飞逝,算上本科,我已经在北京交通大学学习和生活九年了。在论文即将完成的时候,回顾自己一路走来的时光,酸甜苦辣俱全, 千万种感慨汇成一句话,就是衷心地感谢一路上遇到的各位良师益友,是你们的陪伴与支持,关心与帮助,让我能够顺利地完成自己的学业。 6 | 7 | 8 | 9 | \end{thanks} 10 | 11 | 12 | } 13 | -------------------------------------------------------------------------------- /chapters/declaration.tex: -------------------------------------------------------------------------------- 1 | \chapter*{独创性声明} 2 | \markboth{独创性声明}{} 3 | \addcontentsline{toc}{chapter}{独创性声明} 4 | 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 5 | 6 | \vspace*{3em} 7 | 学位论文作者签名:\hfill 签字日期:\hspace*{4em}年\hspace*{2em}月\hspace*{2em}日 -------------------------------------------------------------------------------- /reference/ref.bib: -------------------------------------------------------------------------------- 1 | @article{silver2016mastering, 2 | title={Mastering the game of Go with deep neural networks and tree search}, 3 | author={Silver, David and Huang, Aja and Maddison, Chris J and Guez, Arthur and Sifre, Laurent and Van Den Driessche, George and Schrittwieser, Julian and Antonoglou, Ioannis and Panneershelvam, Veda and Lanctot, Marc and others}, 4 | journal={Nature}, 5 | volume={529}, 6 | number={7587}, 7 | pages={484--489}, 8 | year={2016}, 9 | publisher={Nature Publishing Group} 10 | } 11 | -------------------------------------------------------------------------------- /chapters/research.tex: -------------------------------------------------------------------------------- 1 | \chapter*{作者简历及攻读博士学位期间取得的研究成果} 2 | \markboth{作者简历及攻读博士学位期间取得的研究成果}{} 3 | \addcontentsline{toc}{chapter}{作者简历及攻读博士学位期间取得的研究成果} 4 | % [内容采用五号宋体] 包括教育经历、工作经历、攻读学位期间发表的论文和完成的工作等。行距16磅,段前后各为0磅。 5 | 6 | 一、作者简历 7 | 8 | \textbf{基本情况:} 9 | 10 | 11 | \textbf{教育经历:} 12 | 13 | 14 | 15 | \textbf{研究兴趣:} 16 | 17 | 18 | 19 | 二、发表论文 20 | \setlength\leftmargini{3.5em} 21 | \renewcommand\labelenumi{[\theenumi]} 22 | \begin{enumerate} 23 | \item xxx 24 | \end{enumerate} 25 | 26 | % 三、参与科研项目 27 | % \begin{enumerate} 28 | % \item e 29 | % \item yi 30 | % \item san 31 | % \end{enumerate} 32 | % 33 | % 四、专利 34 | % \begin{enumerate} 35 | % \item e 36 | % \item yi 37 | % \item san 38 | % \end{enumerate} -------------------------------------------------------------------------------- /chapters/appendix.tex: -------------------------------------------------------------------------------- 1 | \chapter[附录标题]{} 2 | % \addcontentsline{toc}{section}{附录\thechapter\hspace*{1em}附录标题} 3 | \markboth{附录\thechapter}{} 4 | \begin{center} 5 | \zihao{3}\bfseries 附录标题 6 | \end{center} 7 | 8 | [内容为五号宋体。] 附录是作为论文主体的补充项目,并不是必须的。 9 | 论文的附录依序用大写正体英文字母A、B、C……编序号,如:附录A。 10 | 11 | 12 | %正文中加入index: 13 | %This is my key\index{key}. 14 | This is my second palace\index[class]{palace} that has a key. 15 | 16 | 上文提到Knuth留下了后门 \verb|\special|,但是直接用它来插入图形不够含蓄优雅,于是 \LaTeX v2.09 推出了\texttt{epsf} 和 \texttt{psfig} 宏包。之后David P. Carlisle (1961--) \index{著者索引!Carlisle@David P. Carlisle, 大卫·卡利斯}\footnote{1995年曼彻斯特大学\index[class]{edu.manchester@University of Manchester, 曼彻斯特大学}数学博士,剑桥博士后,1998年加入数字算法公司 (Numerical Algorithms Group) \index[author]{com.nag@Numerical Algorithms Group, 数字算法公司}。} 和Rahtz推出了面向 \LaTeXe 的 \texttt{graphics} 和 \texttt{graphicx} 宏包;后者基于前者,语法更简单,功能更强大,所以一般推荐用它。 17 | 18 | 19 | \index{classfication!plus} -------------------------------------------------------------------------------- /chapters/chap2.tex: -------------------------------------------------------------------------------- 1 | \chapter{第二章} 2 | [鼠标左键单击选择该段落,输入替换之。内容为小四号宋体。] 学位论文为了需要反映出作者确已掌握了坚实的基础理论和系统的专门知识,具有开阔的科学视野,对研究方案作了充分论证,因此,有关历史回顾和前人工作的综合评述,以及理论分析等,可以单独成章,用足够的文字叙述。正文是学位论文的核心部分,占主要篇幅,可以包括:调查对象、实验和观测方法、仪器设备、材料原料、实验和观测结果、计算方法和编程原理、数据资料、经过加工整理的图表、形成的论点和导出的结论等。 3 | 4 | \section{第一节} 5 | 6 | 由于研究工作涉及的学科、选题、研究方法、工作进程、结果表达方式等有很大的差异,对正文内容不能作统一的规定。但是,必须实事求是,客观真切,准确完备,合乎逻辑,层次分明,简练可读。 7 | 8 | \subsection{第一小节} 9 | 10 | 图:见《北京交通大学学位论文撰写规范》3.10.4 11 | 图应有编号。图的编号由“图”和从“1”开始的阿拉伯数字组成,图较多时,可分章依序编号。 12 | 图宜有图题,图题即图的名称,置于图的编号之后。图的编号和图题应置于图下方。图题采用中英文对照,英文(Times New Roman)字体五号,中文宋体五号。居中书写,中文在上。 13 | 照片图要求主题和主要显示部分的轮廓鲜明,便于制版。如用放大缩小的复制品,必须清晰,反差适中。照片上应有表示目的物尺寸的标度。 14 | 表:见《北京交通大学学位论文撰写规范》3.10.5 15 | 表应有编号。表的编号由“表”和从“1”开始的阿拉伯数字组成,表较多时,可分章依序编号。 16 | 表宜有表题,表题即表的名称,置于表的编号之后。表的编号和表题应置于表上方。表题采用中英文对照,居中,中文在上。英文(Times New Roman)字体五号,中文宋体五号。 17 | 表的编排,一般是内容和测试项目由左至右横读,数据依序竖读。 18 | 表的编排建议采用国际通行的三线表。 19 | 如某个表需要转页接排,在随后的各页上应重复表的编号。编号后跟表题(可省略)和“(续)”,置于表上方。 20 | 续表均应重复表头。 21 | 公式:见《北京交通大学学位论文撰写规范》3.10.12 22 | 论文中的公式应另行起,并居中书写,与周围文字留足够的空间区分开。 23 | 如有两个以上的公式,应用从“1”开始的阿拉伯数字进行编号,并将编号置 -------------------------------------------------------------------------------- /chapters/thanksshort.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@setckpt{chapters/thanksshort}{ 4 | \setcounter{page}{4} 5 | \setcounter{equation}{0} 6 | \setcounter{enumi}{0} 7 | \setcounter{enumii}{0} 8 | \setcounter{enumiii}{0} 9 | \setcounter{enumiv}{0} 10 | \setcounter{footnote}{0} 11 | \setcounter{mpfootnote}{0} 12 | \setcounter{parentequation}{0} 13 | \setcounter{part}{0} 14 | \setcounter{chapter}{0} 15 | \setcounter{section}{0} 16 | \setcounter{subsection}{0} 17 | \setcounter{subsubsection}{0} 18 | \setcounter{paragraph}{0} 19 | \setcounter{subparagraph}{0} 20 | \setcounter{figure}{0} 21 | \setcounter{table}{0} 22 | \setcounter{Item}{0} 23 | \setcounter{Hfootnote}{0} 24 | \setcounter{Hy@AnnotLevel}{0} 25 | \setcounter{bookmark@seq@number}{0} 26 | \setcounter{caption@flags}{0} 27 | \setcounter{continuedfloat}{0} 28 | \setcounter{KVtest}{0} 29 | \setcounter{subfigure}{0} 30 | \setcounter{subfigure@save}{0} 31 | \setcounter{lofdepth}{1} 32 | \setcounter{subtable}{0} 33 | \setcounter{subtable@save}{0} 34 | \setcounter{lotdepth}{1} 35 | \setcounter{NAT@ctr}{0} 36 | \setcounter{lstnumber}{1} 37 | \setcounter{AlgoLine}{0} 38 | \setcounter{algocfline}{0} 39 | \setcounter{algocfproc}{0} 40 | \setcounter{algocf}{0} 41 | \setcounter{AM@survey}{0} 42 | \setcounter{theorem}{0} 43 | \setcounter{assumption}{0} 44 | \setcounter{section@level}{0} 45 | \setcounter{lstlisting}{0} 46 | } 47 | -------------------------------------------------------------------------------- /chapters/preface.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@writefile{toc}{\contentsline {chapter}{序言}{v}{chapter*.6}\protected@file@percent } 4 | \@setckpt{chapters/preface}{ 5 | \setcounter{page}{6} 6 | \setcounter{equation}{0} 7 | \setcounter{enumi}{0} 8 | \setcounter{enumii}{0} 9 | \setcounter{enumiii}{0} 10 | \setcounter{enumiv}{0} 11 | \setcounter{footnote}{0} 12 | \setcounter{mpfootnote}{0} 13 | \setcounter{parentequation}{0} 14 | \setcounter{part}{0} 15 | \setcounter{chapter}{0} 16 | \setcounter{section}{0} 17 | \setcounter{subsection}{0} 18 | \setcounter{subsubsection}{0} 19 | \setcounter{paragraph}{0} 20 | \setcounter{subparagraph}{0} 21 | \setcounter{figure}{0} 22 | \setcounter{table}{0} 23 | \setcounter{Item}{0} 24 | \setcounter{Hfootnote}{0} 25 | \setcounter{Hy@AnnotLevel}{0} 26 | \setcounter{bookmark@seq@number}{3} 27 | \setcounter{caption@flags}{0} 28 | \setcounter{ContinuedFloat}{0} 29 | \setcounter{KVtest}{0} 30 | \setcounter{subfigure}{0} 31 | \setcounter{subfigure@save}{0} 32 | \setcounter{lofdepth}{1} 33 | \setcounter{subtable}{0} 34 | \setcounter{subtable@save}{0} 35 | \setcounter{lotdepth}{1} 36 | \setcounter{NAT@ctr}{0} 37 | \setcounter{lstnumber}{1} 38 | \setcounter{AlgoLine}{0} 39 | \setcounter{algocfline}{0} 40 | \setcounter{algocfproc}{0} 41 | \setcounter{algocf}{0} 42 | \setcounter{theorem}{0} 43 | \setcounter{assumption}{0} 44 | \setcounter{section@level}{0} 45 | \setcounter{lstlisting}{0} 46 | } 47 | -------------------------------------------------------------------------------- /chapters/abstract.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@writefile{toc}{\contentsline {chapter}{摘要}{v}{chapter*.4}\protected@file@percent } 4 | \@setckpt{chapters/abstract}{ 5 | \setcounter{page}{6} 6 | \setcounter{equation}{0} 7 | \setcounter{enumi}{0} 8 | \setcounter{enumii}{0} 9 | \setcounter{enumiii}{0} 10 | \setcounter{enumiv}{0} 11 | \setcounter{footnote}{0} 12 | \setcounter{mpfootnote}{0} 13 | \setcounter{parentequation}{0} 14 | \setcounter{part}{0} 15 | \setcounter{chapter}{0} 16 | \setcounter{section}{0} 17 | \setcounter{subsection}{0} 18 | \setcounter{subsubsection}{0} 19 | \setcounter{paragraph}{0} 20 | \setcounter{subparagraph}{0} 21 | \setcounter{figure}{0} 22 | \setcounter{table}{0} 23 | \setcounter{Item}{0} 24 | \setcounter{Hfootnote}{0} 25 | \setcounter{Hy@AnnotLevel}{0} 26 | \setcounter{bookmark@seq@number}{1} 27 | \setcounter{caption@flags}{0} 28 | \setcounter{continuedfloat}{0} 29 | \setcounter{KVtest}{0} 30 | \setcounter{subfigure}{0} 31 | \setcounter{subfigure@save}{0} 32 | \setcounter{lofdepth}{1} 33 | \setcounter{subtable}{0} 34 | \setcounter{subtable@save}{0} 35 | \setcounter{lotdepth}{1} 36 | \setcounter{NAT@ctr}{0} 37 | \setcounter{lstnumber}{1} 38 | \setcounter{AlgoLine}{0} 39 | \setcounter{algocfline}{0} 40 | \setcounter{algocfproc}{0} 41 | \setcounter{algocf}{0} 42 | \setcounter{AM@survey}{0} 43 | \setcounter{theorem}{0} 44 | \setcounter{assumption}{0} 45 | \setcounter{section@level}{0} 46 | \setcounter{lstlisting}{0} 47 | } 48 | -------------------------------------------------------------------------------- /chapters/declaration.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@writefile{toc}{\contentsline {chapter}{独创性声明}{13}{chapter*.12}\protected@file@percent } 4 | \@setckpt{chapters/declaration}{ 5 | \setcounter{page}{14} 6 | \setcounter{equation}{0} 7 | \setcounter{enumi}{1} 8 | \setcounter{enumii}{0} 9 | \setcounter{enumiii}{0} 10 | \setcounter{enumiv}{0} 11 | \setcounter{footnote}{0} 12 | \setcounter{mpfootnote}{0} 13 | \setcounter{parentequation}{0} 14 | \setcounter{part}{0} 15 | \setcounter{chapter}{2} 16 | \setcounter{section}{0} 17 | \setcounter{subsection}{0} 18 | \setcounter{subsubsection}{0} 19 | \setcounter{paragraph}{0} 20 | \setcounter{subparagraph}{0} 21 | \setcounter{figure}{0} 22 | \setcounter{table}{0} 23 | \setcounter{Item}{1} 24 | \setcounter{Hfootnote}{0} 25 | \setcounter{Hy@AnnotLevel}{0} 26 | \setcounter{bookmark@seq@number}{13} 27 | \setcounter{caption@flags}{0} 28 | \setcounter{continuedfloat}{0} 29 | \setcounter{KVtest}{0} 30 | \setcounter{subfigure}{0} 31 | \setcounter{subfigure@save}{6} 32 | \setcounter{lofdepth}{1} 33 | \setcounter{subtable}{0} 34 | \setcounter{subtable@save}{0} 35 | \setcounter{lotdepth}{1} 36 | \setcounter{NAT@ctr}{1} 37 | \setcounter{lstnumber}{1} 38 | \setcounter{AlgoLine}{5} 39 | \setcounter{algocfline}{1} 40 | \setcounter{algocfproc}{1} 41 | \setcounter{algocf}{1} 42 | \setcounter{AM@survey}{0} 43 | \setcounter{theorem}{0} 44 | \setcounter{assumption}{0} 45 | \setcounter{section@level}{0} 46 | \setcounter{lstlisting}{0} 47 | } 48 | -------------------------------------------------------------------------------- /chapters/englishabstract.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@writefile{toc}{\contentsline {chapter}{ABSTRACT}{vii}{chapter*.5}\protected@file@percent } 4 | \@setckpt{chapters/englishabstract}{ 5 | \setcounter{page}{8} 6 | \setcounter{equation}{0} 7 | \setcounter{enumi}{0} 8 | \setcounter{enumii}{0} 9 | \setcounter{enumiii}{0} 10 | \setcounter{enumiv}{0} 11 | \setcounter{footnote}{0} 12 | \setcounter{mpfootnote}{0} 13 | \setcounter{parentequation}{0} 14 | \setcounter{part}{0} 15 | \setcounter{chapter}{0} 16 | \setcounter{section}{0} 17 | \setcounter{subsection}{0} 18 | \setcounter{subsubsection}{0} 19 | \setcounter{paragraph}{0} 20 | \setcounter{subparagraph}{0} 21 | \setcounter{figure}{0} 22 | \setcounter{table}{0} 23 | \setcounter{Item}{0} 24 | \setcounter{Hfootnote}{0} 25 | \setcounter{Hy@AnnotLevel}{0} 26 | \setcounter{bookmark@seq@number}{2} 27 | \setcounter{caption@flags}{0} 28 | \setcounter{continuedfloat}{0} 29 | \setcounter{KVtest}{0} 30 | \setcounter{subfigure}{0} 31 | \setcounter{subfigure@save}{0} 32 | \setcounter{lofdepth}{1} 33 | \setcounter{subtable}{0} 34 | \setcounter{subtable@save}{0} 35 | \setcounter{lotdepth}{1} 36 | \setcounter{NAT@ctr}{0} 37 | \setcounter{lstnumber}{1} 38 | \setcounter{AlgoLine}{0} 39 | \setcounter{algocfline}{0} 40 | \setcounter{algocfproc}{0} 41 | \setcounter{algocf}{0} 42 | \setcounter{AM@survey}{0} 43 | \setcounter{theorem}{0} 44 | \setcounter{assumption}{0} 45 | \setcounter{section@level}{0} 46 | \setcounter{lstlisting}{0} 47 | } 48 | -------------------------------------------------------------------------------- /chapters/research.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@writefile{toc}{\contentsline {chapter}{作者简历及攻读博士学位期间取得的研究成果}{11}{chapter*.11}\protected@file@percent } 4 | \@setckpt{chapters/research}{ 5 | \setcounter{page}{12} 6 | \setcounter{equation}{0} 7 | \setcounter{enumi}{1} 8 | \setcounter{enumii}{0} 9 | \setcounter{enumiii}{0} 10 | \setcounter{enumiv}{0} 11 | \setcounter{footnote}{0} 12 | \setcounter{mpfootnote}{0} 13 | \setcounter{parentequation}{0} 14 | \setcounter{part}{0} 15 | \setcounter{chapter}{2} 16 | \setcounter{section}{0} 17 | \setcounter{subsection}{0} 18 | \setcounter{subsubsection}{0} 19 | \setcounter{paragraph}{0} 20 | \setcounter{subparagraph}{0} 21 | \setcounter{figure}{0} 22 | \setcounter{table}{0} 23 | \setcounter{Item}{1} 24 | \setcounter{Hfootnote}{0} 25 | \setcounter{Hy@AnnotLevel}{0} 26 | \setcounter{bookmark@seq@number}{12} 27 | \setcounter{caption@flags}{0} 28 | \setcounter{continuedfloat}{0} 29 | \setcounter{KVtest}{0} 30 | \setcounter{subfigure}{0} 31 | \setcounter{subfigure@save}{6} 32 | \setcounter{lofdepth}{1} 33 | \setcounter{subtable}{0} 34 | \setcounter{subtable@save}{0} 35 | \setcounter{lotdepth}{1} 36 | \setcounter{NAT@ctr}{1} 37 | \setcounter{lstnumber}{1} 38 | \setcounter{AlgoLine}{5} 39 | \setcounter{algocfline}{1} 40 | \setcounter{algocfproc}{1} 41 | \setcounter{algocf}{1} 42 | \setcounter{AM@survey}{0} 43 | \setcounter{theorem}{0} 44 | \setcounter{assumption}{0} 45 | \setcounter{section@level}{0} 46 | \setcounter{lstlisting}{0} 47 | } 48 | -------------------------------------------------------------------------------- /chapters/appendix.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@writefile{toc}{\contentsline {chapter}{\numberline {附录 A\hspace {.3em}}附录标题}{6}{appendix.A}\protected@file@percent } 4 | \@writefile{lof}{\addvspace {10.0pt}} 5 | \@writefile{lot}{\addvspace {10.0pt}} 6 | \@writefile{loa}{\addvspace {10\p@ }} 7 | \@setckpt{chapters/appendix}{ 8 | \setcounter{page}{7} 9 | \setcounter{equation}{0} 10 | \setcounter{enumi}{0} 11 | \setcounter{enumii}{0} 12 | \setcounter{enumiii}{0} 13 | \setcounter{enumiv}{0} 14 | \setcounter{footnote}{0} 15 | \setcounter{mpfootnote}{0} 16 | \setcounter{parentequation}{0} 17 | \setcounter{part}{0} 18 | \setcounter{chapter}{1} 19 | \setcounter{section}{0} 20 | \setcounter{subsection}{0} 21 | \setcounter{subsubsection}{0} 22 | \setcounter{paragraph}{0} 23 | \setcounter{subparagraph}{0} 24 | \setcounter{figure}{0} 25 | \setcounter{table}{0} 26 | \setcounter{Item}{0} 27 | \setcounter{Hfootnote}{0} 28 | \setcounter{Hy@AnnotLevel}{0} 29 | \setcounter{bookmark@seq@number}{14} 30 | \setcounter{caption@flags}{0} 31 | \setcounter{ContinuedFloat}{0} 32 | \setcounter{KVtest}{0} 33 | \setcounter{subfigure}{0} 34 | \setcounter{subfigure@save}{6} 35 | \setcounter{lofdepth}{1} 36 | \setcounter{subtable}{0} 37 | \setcounter{subtable@save}{0} 38 | \setcounter{lotdepth}{1} 39 | \setcounter{NAT@ctr}{1} 40 | \setcounter{lstnumber}{1} 41 | \setcounter{AlgoLine}{5} 42 | \setcounter{algocfline}{1} 43 | \setcounter{algocfproc}{1} 44 | \setcounter{algocf}{1} 45 | \setcounter{theorem}{0} 46 | \setcounter{assumption}{0} 47 | \setcounter{section@level}{2} 48 | \setcounter{lstlisting}{0} 49 | } 50 | -------------------------------------------------------------------------------- /chapters/summary.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@writefile{toc}{\contentsline {chapter}{\numberline {2\hspace {.3em}}总结与展望}{3}{chapter.2}\protected@file@percent } 4 | \@writefile{lof}{\addvspace {10.0pt}} 5 | \@writefile{lot}{\addvspace {10.0pt}} 6 | \@writefile{loa}{\addvspace {10\p@ }} 7 | \@setckpt{chapters/summary}{ 8 | \setcounter{page}{8} 9 | \setcounter{equation}{0} 10 | \setcounter{enumi}{0} 11 | \setcounter{enumii}{0} 12 | \setcounter{enumiii}{0} 13 | \setcounter{enumiv}{0} 14 | \setcounter{footnote}{0} 15 | \setcounter{mpfootnote}{0} 16 | \setcounter{parentequation}{0} 17 | \setcounter{part}{0} 18 | \setcounter{chapter}{2} 19 | \setcounter{section}{0} 20 | \setcounter{subsection}{0} 21 | \setcounter{subsubsection}{0} 22 | \setcounter{paragraph}{0} 23 | \setcounter{subparagraph}{0} 24 | \setcounter{figure}{0} 25 | \setcounter{table}{0} 26 | \setcounter{Item}{0} 27 | \setcounter{Hfootnote}{0} 28 | \setcounter{Hy@AnnotLevel}{0} 29 | \setcounter{bookmark@seq@number}{10} 30 | \setcounter{caption@flags}{0} 31 | \setcounter{continuedfloat}{0} 32 | \setcounter{KVtest}{0} 33 | \setcounter{subfigure}{0} 34 | \setcounter{subfigure@save}{6} 35 | \setcounter{lofdepth}{1} 36 | \setcounter{subtable}{0} 37 | \setcounter{subtable@save}{0} 38 | \setcounter{lotdepth}{1} 39 | \setcounter{NAT@ctr}{0} 40 | \setcounter{lstnumber}{1} 41 | \setcounter{AlgoLine}{5} 42 | \setcounter{algocfline}{1} 43 | \setcounter{algocfproc}{1} 44 | \setcounter{algocf}{1} 45 | \setcounter{AM@survey}{0} 46 | \setcounter{theorem}{0} 47 | \setcounter{assumption}{0} 48 | \setcounter{section@level}{0} 49 | \setcounter{lstlisting}{0} 50 | } 51 | -------------------------------------------------------------------------------- /chapters/dataset.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@writefile{toc}{\contentsline {chapter}{学位论文数据}{10}{appendix*.15}\protected@file@percent } 4 | \@writefile{lot}{\contentsline {table}{\numberline {1.1}{\ignorespaces 数据集页\relax }}{10}{table.caption.16}\protected@file@percent } 5 | \newlabel{tab:addlabel}{{1.1}{10}{数据集页\relax }{table.caption.16}{}} 6 | \@setckpt{chapters/dataset}{ 7 | \setcounter{page}{11} 8 | \setcounter{equation}{0} 9 | \setcounter{enumi}{3} 10 | \setcounter{enumii}{0} 11 | \setcounter{enumiii}{0} 12 | \setcounter{enumiv}{0} 13 | \setcounter{footnote}{0} 14 | \setcounter{mpfootnote}{0} 15 | \setcounter{parentequation}{0} 16 | \setcounter{part}{0} 17 | \setcounter{chapter}{1} 18 | \setcounter{section}{0} 19 | \setcounter{subsection}{0} 20 | \setcounter{subsubsection}{0} 21 | \setcounter{paragraph}{0} 22 | \setcounter{subparagraph}{0} 23 | \setcounter{figure}{0} 24 | \setcounter{table}{1} 25 | \setcounter{Item}{7} 26 | \setcounter{Hfootnote}{0} 27 | \setcounter{Hy@AnnotLevel}{0} 28 | \setcounter{bookmark@seq@number}{21} 29 | \setcounter{caption@flags}{2} 30 | \setcounter{ContinuedFloat}{0} 31 | \setcounter{KVtest}{0} 32 | \setcounter{subfigure}{0} 33 | \setcounter{subfigure@save}{6} 34 | \setcounter{lofdepth}{1} 35 | \setcounter{subtable}{0} 36 | \setcounter{subtable@save}{0} 37 | \setcounter{lotdepth}{1} 38 | \setcounter{NAT@ctr}{1} 39 | \setcounter{lstnumber}{1} 40 | \setcounter{AlgoLine}{5} 41 | \setcounter{algocfline}{1} 42 | \setcounter{algocfproc}{1} 43 | \setcounter{algocf}{1} 44 | \setcounter{theorem}{0} 45 | \setcounter{assumption}{0} 46 | \setcounter{section@level}{2} 47 | \setcounter{lstlisting}{0} 48 | } 49 | -------------------------------------------------------------------------------- /chapters/chap2.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \@writefile{toc}{\contentsline {chapter}{\numberline {2\hspace {.3em}}第二章}{3}{chapter.2}\protected@file@percent } 4 | \@writefile{lof}{\addvspace {10.0pt}} 5 | \@writefile{lot}{\addvspace {10.0pt}} 6 | \@writefile{loa}{\addvspace {10\p@ }} 7 | \@writefile{toc}{\contentsline {section}{\numberline {2.1}第一节}{3}{section.2.1}\protected@file@percent } 8 | \@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}第一小节}{3}{subsection.2.1.1}\protected@file@percent } 9 | \@setckpt{chapters/chap2}{ 10 | \setcounter{page}{4} 11 | \setcounter{equation}{0} 12 | \setcounter{enumi}{0} 13 | \setcounter{enumii}{0} 14 | \setcounter{enumiii}{0} 15 | \setcounter{enumiv}{0} 16 | \setcounter{footnote}{0} 17 | \setcounter{mpfootnote}{0} 18 | \setcounter{parentequation}{0} 19 | \setcounter{part}{0} 20 | \setcounter{chapter}{2} 21 | \setcounter{section}{1} 22 | \setcounter{subsection}{1} 23 | \setcounter{subsubsection}{0} 24 | \setcounter{paragraph}{0} 25 | \setcounter{subparagraph}{0} 26 | \setcounter{figure}{0} 27 | \setcounter{table}{0} 28 | \setcounter{Item}{0} 29 | \setcounter{Hfootnote}{0} 30 | \setcounter{Hy@AnnotLevel}{0} 31 | \setcounter{bookmark@seq@number}{11} 32 | \setcounter{caption@flags}{0} 33 | \setcounter{ContinuedFloat}{0} 34 | \setcounter{KVtest}{0} 35 | \setcounter{subfigure}{0} 36 | \setcounter{subfigure@save}{6} 37 | \setcounter{lofdepth}{1} 38 | \setcounter{subtable}{0} 39 | \setcounter{subtable@save}{0} 40 | \setcounter{lotdepth}{1} 41 | \setcounter{NAT@ctr}{0} 42 | \setcounter{lstnumber}{1} 43 | \setcounter{AlgoLine}{5} 44 | \setcounter{algocfline}{1} 45 | \setcounter{algocfproc}{1} 46 | \setcounter{algocf}{1} 47 | \setcounter{theorem}{0} 48 | \setcounter{assumption}{0} 49 | \setcounter{section@level}{2} 50 | \setcounter{lstlisting}{0} 51 | } 52 | -------------------------------------------------------------------------------- /chapters/chap1.tex: -------------------------------------------------------------------------------- 1 | 2 | \chapter{引言} 3 | 4 | 5 | 6 | 7 | \section{研究背景} 8 | 9 | 10 | 11 | \begin{figure}[h] 12 | \centering 13 | \includegraphics[width=3in,height=2in]{rlp} 14 | % \caption{ PSI transformation for RNN} 15 | \bicaption{ 序列决策问题示例}{Illustration for sequential decision making problem} 16 | \label{fig:chap1 rlp} 17 | \end{figure} 18 | 19 | 20 | 21 | 22 | 23 | 24 | \section{本文的结构安排} 25 | 文本的结构安排如下: 26 | 27 | 28 | 29 | \section{参考文献示例} 30 | 参考文献bib文件放在reference文件夹中,在主文件demo中引用了bib文件,在所有chap中都可以直接cite。比如\cite{silver2016mastering} 31 | 32 | \section{算法框示例} 33 | 34 | \begin{algorithm}[h] 35 | \caption{ 优化算法} 36 | \label{gtdmc:alg:minmax} 37 | \KwIn{ 迭代次数$ T$, 待学习参数初始值$x_1$ 、 $y_1$ , 学习率 $\alpha$ } 38 | \For{$ t = 1, \dots, T $}{ 39 | 更新参数: 40 | 41 | $ y_{t+1} = \mathcal{P}_{\mathcal{X}_y}\left(y_t + \alpha_t(\hat{b}_t - \hat{A}_t x_t -\hat{M}_ty_t)\right) $ 42 | 43 | $ x_{t+1} = \mathcal{P}_{\mathcal{X}_x}\left(x_t + \alpha_t\hat{A}_t^\top y_t\right) $ 44 | } 45 | 46 | 47 | \KwOut{ $ \quad \tilde{x}_T = \frac{\sum_{t=1}^{T}\alpha_t x_t}{\sum_{t=1}^{T}\alpha_t} \qquad \tilde{y}_T = \frac{\sum_{t=1}^{T}\alpha_t y_t}{\sum_{t=1}^{T}\alpha_t} $ } 48 | 49 | 50 | \end{algorithm} 51 | 52 | \section{图片示例} 53 | 54 | 55 | 56 | \begin{figure}[h] 57 | \centering 58 | \subfloat[a]{ 59 | \label{figa} 60 | \includegraphics[width=1.8in,height=1.5in]{a.png}} 61 | \subfloat[b]{ 62 | \label{figc} 63 | \includegraphics[width=1.8in,height=1.5in]{a.png}} 64 | \subfloat[c ]{ 65 | \label{fige} 66 | \includegraphics[width=1.8in,height=1.5in]{a.png}} 67 | 68 | 69 | \subfloat[d ]{ 70 | \label{figb} 71 | \includegraphics[width=1.8in,height=1.5in]{a.png}} 72 | \label{Fig1} 73 | \subfloat[e ]{ 74 | \label{figd} 75 | \includegraphics[width=1.8in,height=1.5in]{a.png}} 76 | \subfloat[f ]{ 77 | \label{figf} 78 | \includegraphics[width=1.8in,height=1.5in]{a.png}} 79 | \bicaption{你好,世界}{Hello world } 80 | \label{fig1} 81 | \end{figure} 82 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # 北京交通大学博士毕业论文latex模版 2 | 3 | ################################### 4 | # 2021年1月3日最新更新,更新了奇偶页页眉页脚区别,更新了自动空白页, 更新了奇偶页页边距区别(根据学校要求,考虑到装订的时候,奇偶页左右边距应该不同)。 5 | ################################# 6 | 7 | - 使用texlive2019 xelatex编译 8 | - 基本满足学术硕士博士格式要求 9 | - 有基本使用示例 10 | - 参考 11 | - https://github.com/xiaoleeza/bjtu-thesis 12 | - https://github.com/Jamiesona/bjtu-thesis 13 | 14 | - 推荐安装最新版texlive , 官网为: 15 | 16 | > https://www.tug.org/texlive/ 17 | 18 | - 如果下载速度太慢,可以用清华的开源镜像 19 | > https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/ 20 | 21 | - 安装后,使用xelatex编译,不可以使用pdflatex。 22 | 23 | - 推荐和默认的中文编码为ut8. 24 | - 推荐使用texstudio 作为编辑器,配合texlive使用。 25 | - 有任何问题欢迎提issue 26 | 27 | !!!!!!! 28 | 记得主文件是demo.tex,打开demo.tex,然后编译,别编译那个.cls模版文件,会报错。。。。 29 | !!!!!!! 30 | 31 | 32 | ## docker编译(可以尝试,不是必须) 33 | 如果知道我说的是啥可以往下看,不然可以算了。 34 | 35 | 有兴趣的同学可以尝试用docker来编译tex文件,linux上xelatex的速度比windows上快很多, 而且不用安装和配latex编译器的环境了比如texlive啥的。 36 | 37 | 38 | 39 | win10 上的docker有hyper-v支持,性能也是杠杠的, 安装一个docker for win10, 启动之后用这条命令就可以啦 40 | 41 | ``` cmd 42 | docker run -i --rm -w /data -v "%cd%:/data" tianon/latex xelatex -synctex=1 -interaction=nonstopmode RL.tex 43 | ``` 44 | 45 | 解释一下 46 | 47 | - `tianon/latex`是某大佬的docker,里面有了新的textlive。对应的dockerfile 在这里 48 | > https://github.com/tianon/dockerfiles/blob/master/latex/Dockerfile 49 | - i 保持交互 50 | - --rm 表示运行完就把这个docker container删掉 51 | - -w 表示后面执行的命令在docker中的工作路径 52 | - -v 是文件夹映射,%cd% 表示当前文件夹 53 | - ‘xelatex -synctex=1 -interaction=nonstopmode RL.tex’ 这一段就是在docker container里面执行的命令啦,应该很容易看懂,在调用xelatex 去编译 RL.tex 54 | 55 | 56 | 懒得麻烦的话,可以用我写好的bat文件,直接在windows上的cmd里面执行 `xelatex.bat RL.tex` 就ok了 57 | 58 | 59 | 速度100页的论文能快10多秒,从接近30秒,变成了18秒。 60 | 61 | 当然问题在于正向反向跳转的时候会出问题。。。。原因出在编译的时候生成的synctex文件里面记录的文件路径是docker里面的路径,因此在我们这个例子里面就是/data, 所以在windows上没法进行跳转。如果有大佬会操作,请一定告诉我。 62 | 63 | 现在有一个邪门的办法。如果你用vscode,你可以用`synctex.bat`作为你synctex的应用程序,vscode支持自定义。这个时候就可以跳转了,虽然效率上稍微有所折扣,看起来应该是run一个docker,然后在docker里面synctex,之后再怎么把信号传回来(我不懂,瞎说的,反正能用) 64 | 65 | 66 | 当然了,你如果你本来就是linux系统,想用docker,也完全ok,你把我bat文件改成shell的语法就行,没啥区别,主要是%cd%这里改成 ”\$(pwd)“ 就行。 67 | 68 | 69 | docker 也可以用我push到阿里云的镜像, 直接pull这个也行 70 | 就是把tianon/latex 换成下面这个 71 | 72 | > registry.cn-hangzhou.aliyuncs.com/yuewang/xfdywy:latex 73 | 74 | 75 | . 76 | -------------------------------------------------------------------------------- /chapters/dataset.tex: -------------------------------------------------------------------------------- 1 | \chapter*{学位论文数据集} 2 | \markboth{学位论文数据集}{} 3 | \addcontentsline{toc}{chapter}{学位论文数据} 4 | % Table generated by Excel2LaTeX from sheet 'Sheet1' 5 | \begin{table}[htbp] 6 | \centering 7 | \caption{数据集页} 8 | \begin{tabular}{|p{6.94em}rrrr|} 9 | \hline 10 | \multicolumn{1}{|p{6.94em}|}{关键词*} & \multicolumn{1}{p{6.065em}|}{密级*} & \multicolumn{1}{p{6.625em}|}{中图分类号} & \multicolumn{1}{p{7em}|}{UDC} & \multicolumn{1}{p{6.69em}|}{论文资助} \\ 11 | \hline 12 | \multicolumn{1}{|r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \\ 13 | \hline 14 | \multicolumn{2}{|p{13.005em}|}{学位授予单位名称*} & \multicolumn{1}{p{6.625em}|}{学位授予单位代码*} & \multicolumn{1}{p{7em}|}{学位类别*} & \multicolumn{1}{p{6.69em}|}{学位级别*} \\ 15 | \hline 16 | \multicolumn{2}{|p{13.005em}|}{北京交通大学} & \multicolumn{1}{r|}{10004} & \multicolumn{1}{r|}{} & \\ 17 | \hline 18 | \multicolumn{2}{|p{13.005em}|}{论文题名*} & \multicolumn{2}{p{13.625em}|}{并列题名} & \multicolumn{1}{p{6.69em}|}{论文语种*} \\ 19 | \hline 20 | \multicolumn{2}{|r|}{} & \multicolumn{2}{r|}{} & \\ 21 | \hline 22 | \multicolumn{1}{|p{6.94em}|}{作者姓名*} & \multicolumn{2}{r|}{} & \multicolumn{1}{p{7em}|}{学号*} & \\ 23 | \hline 24 | \multicolumn{2}{|p{13.005em}|}{培养单位名称*} & \multicolumn{1}{p{6.625em}|}{培养单位代码*} & \multicolumn{1}{p{7em}|}{培养单位地址} & \multicolumn{1}{p{6.69em}|}{邮编} \\ 25 | \hline 26 | \multicolumn{2}{|p{13.005em}|}{北京交通大学} & \multicolumn{1}{r|}{10004} & \multicolumn{1}{p{7em}|}{北京市海淀区西直门外上园村3号} & 100044 \\ 27 | \hline 28 | \multicolumn{2}{|p{13.005em}|}{学科专业*} & \multicolumn{1}{p{6.625em}|}{研究方向*} & \multicolumn{1}{p{7em}|}{学制*} & \multicolumn{1}{p{6.69em}|}{学位授予年*} \\ 29 | \hline 30 | \multicolumn{2}{|r|}{} & \multicolumn{1}{r|}{} & \multicolumn{1}{r|}{} & \\ 31 | \hline 32 | \multicolumn{1}{|p{6.94em}|}{论文提交日期*} & \multicolumn{4}{r|}{} \\ 33 | \hline 34 | \multicolumn{1}{|p{6.94em}|}{导师姓名*} & \multicolumn{2}{r|}{} & \multicolumn{1}{p{7em}|}{职称*} & \\ 35 | \hline 36 | \multicolumn{1}{|p{6.94em}|}{评阅人} & \multicolumn{2}{p{12.69em}|}{答辩委员会主席*} & \multicolumn{2}{p{13.69em}|}{答辩委员会成员} \\ 37 | \hline 38 | \multicolumn{1}{|r|}{\multirow{2}[2]{*}{}} & \multicolumn{2}{r|}{\multirow{2}[2]{*}{}} & \multicolumn{2}{r|}{\multirow{2}[2]{*}{}} \\ 39 | \multicolumn{1}{|r|}{} & \multicolumn{2}{r|}{} & \multicolumn{2}{r|}{} \\ 40 | \hline 41 | \multicolumn{5}{|p{33.32em}|}{电子版论文提交格式 文本( ) 图像( ) 视频( ) 音频( ) 多媒体( ) 其他( )} \\ 42 | \multicolumn{5}{|p{33.32em}|}{推荐格式:application/msword;application/pdf} \\ 43 | \hline 44 | \multicolumn{2}{|p{13.005em}|}{电子版论文出版(发布)者} & \multicolumn{2}{p{13.625em}|}{电子版论文出版(发布)地} & \multicolumn{1}{p{6.69em}|}{权限声明} \\ 45 | \hline 46 | \multicolumn{2}{|r|}{} & \multicolumn{2}{r|}{} & \\ 47 | \hline 48 | \multicolumn{1}{|p{6.94em}|}{论文总页数*} & \multicolumn{4}{r|}{} \\ 49 | \hline 50 | \multicolumn{5}{|p{33.32em}|}{共33项,其中带*为必填数据,为21项。} \\ 51 | \hline 52 | \end{tabular}% 53 | \label{tab:addlabel}% 54 | \end{table}% -------------------------------------------------------------------------------- /RL.tex: -------------------------------------------------------------------------------- 1 | \documentclass[Doctor]{BJTU-thesis} 2 | 3 | %%%%%%%%%%%%%%%%%%%引入一些包%%%%%%%%%%%%%%%%%%%%%55 4 | \usepackage[ruled,linesnumbered]{algorithm2e} 5 | \usepackage{bicaption} 6 | \usepackage{emptypage} 7 | \usepackage{pdfpages} 8 | % \usepackage{enumerate} 9 | %\usepackage{subfig} 10 | %\usepackage{subfig} 11 | % \setromanfont{Times New Roman} 12 | \usepackage{fontspec} 13 | \newfontfamily\myfont{times.ttf} 14 | % \setromanfont[ 15 | % BoldFont=timesbd.ttf, 16 | % ItalicFont=timesi.ttf, 17 | % BoldItalicFont=timesbi.ttf, 18 | % ]{times.ttf} 19 | % 20 | % \setmainfont{Times New Roman} 21 | \renewcommand\labelenumi{(\theenumi)} 22 | \renewcommand{\algorithmcfname}{算法} 23 | 24 | \DeclareMathOperator*{\argmin}{argmin} 25 | \DeclareMathOperator*{\argmax}{argmax} 26 | 27 | \captionsetup[figure][bi-first]{name=图} 28 | \captionsetup[figure][bi-second]{name=Figure} 29 | 30 | \captionsetup[table][bi-first]{name=表} 31 | \captionsetup[table][bi-second]{name=Table} 32 | 33 | %%%%%%%%%%%%%%定义一些东西%%%%%%%%%%%%%%%%%%%%% 34 | 35 | %\newcommand{\E}{\mathbb{E}} 36 | 37 | 38 | %\theoremstyle{plain} \theorembodyfont{\kai\rmfamily} 39 | %\theoremheaderfont{\hei\rmfamily}\theoremseparator{. } 40 | 41 | \newtheorem{theorem}{定理}[section] 42 | %\newtheorem{Theorem}{定理}[section] 43 | \newtheorem{lemma}[theorem]{引理} 44 | \newtheorem{corollary}[theorem]{推论} 45 | %\newtheorem{corollary}[theorem]{推论} 46 | \newtheorem{assumption}{假设}[chapter] 47 | % \newtheorem{Corollary}[Theorem]{推论} 48 | %\newtheorem{Remark}[Theorem]{注} 49 | \newtheorem{example}[theorem]{例} 50 | \newtheorem{definition}[theorem]{定义} 51 | %\newtheorem{Construction}[Theorem]{构造} 52 | % \def\binom#1#2{{#1\choose#2}} 53 | 54 | \newcommand{\E}{\mathbb{E}} 55 | \newcommand{\huaf}{\mathcal{F}} 56 | \newcommand{\huao}{\mathcal{O}} 57 | \newcommand\numberthis{\addtocounter{equation}{1}\tag{\theequation}} 58 | \newcommand{\mne}{ \mathbf{MNE}} 59 | \newcommand{\mnbe}{ \mathbf{MNBE}} 60 | 61 | \SetKwInput{KwIn}{输入} 62 | \SetKwInput{KwOut}{输出} 63 | 64 | 65 | \graphicspath{{./figure/}} 66 | 67 | %%%%%%%%%%%%%%%填写封面信息%%%%%%%%%%%%%%%%%%%% 68 | \author{张三} 69 | \studentNumber{11111111} 70 | \advisor{李四老师 } 71 | 72 | \advisorTitle{教授} 73 | 74 | \degreeType{理学} 75 | \major{概率论与数理统计} 76 | \researchArea{xxx} 77 | \title{xxxxxxx} 78 | \englishtitle{xxxxxxxx } 79 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 80 | %\setmainfont{Times New Roman} 81 | 82 | %\makeindex 83 | \makeindex[name=class,options=-s mystyle,title=分类索引,columns=2] 84 | \makeindex[name=author,options=-s mystyle,title=著者索引,columns=2] 85 | \makeindex[name=keyword,options=-s mystyle,title=关键词索引,columns=2] 86 | \begin{document} 87 | 88 | \makecover 89 | \makeAuthorization 90 | \includepdf[page=-]{chapters/empty.pdf} 91 | \makeInfo 92 | %\include{chapters/thanks} 93 | \include{chapters/thanksshort} 94 | 95 | 96 | 97 | 98 | % 99 | \include{chapters/abstract} 100 | \include{chapters/englishabstract} 101 | %%%\include{chapters/preface} 102 | \tableofcontents 103 | \newpage\pagenumbering{arabic} 104 | %% 引言 105 | \include{chapters/chap1} 106 | %%%% \include{chapters/background} 107 | 108 | \include{chapters/summary} 109 | 110 | \bibliography{reference/ref} 111 | %% 附录 112 | %\appendix 113 | % \include{chapters/appendix} 114 | %%% 索引 115 | %\chapter*{索引} 116 | %\pagestyle{fancy} 117 | %\addcontentsline{toc}{chapter}{索引} 118 | %678 119 | %\printindex[class] 120 | %\addcontentsline{toc}{section}{分类索引} 121 | %456 122 | %\printindex[author] 123 | %\addcontentsline{toc}{section}{著者索引} 124 | %345 125 | %\printindex[keyword] 126 | %\addcontentsline{toc}{section}{关键词索引} 127 | %123 128 | 129 | 130 | 131 | \include{chapters/research} 132 | %%% 独创性声明 133 | \include{chapters/declaration} 134 | %% 学位论文数据集 135 | %\include{chapters/dataset} 136 | \includepdf[page=-]{chapters/empty.pdf} 137 | \includepdf[page=-]{chapters/dataset.pdf} 138 | 139 | %1232 140 | 141 | \end{document} -------------------------------------------------------------------------------- /demo.tex: -------------------------------------------------------------------------------- 1 | \documentclass[Doctor]{BJTU-thesis} 2 | 3 | %%%%%%%%%%%%%%%%%%%引入一些包%%%%%%%%%%%%%%%%%%%%%55 4 | \usepackage[ruled,linesnumbered]{algorithm2e} 5 | \usepackage{bicaption} 6 | \usepackage{emptypage} 7 | \usepackage{pdfpages} 8 | % \usepackage{enumerate} 9 | %\usepackage{subfig} 10 | %\usepackage{subfig} 11 | % \setromanfont{Times New Roman} 12 | \usepackage{fontspec} 13 | \newfontfamily\myfont{times.ttf} 14 | % \setromanfont[ 15 | % BoldFont=timesbd.ttf, 16 | % ItalicFont=timesi.ttf, 17 | % BoldItalicFont=timesbi.ttf, 18 | % ]{times.ttf} 19 | % 20 | % \setmainfont{Times New Roman} 21 | \renewcommand\labelenumi{(\theenumi)} 22 | \renewcommand{\algorithmcfname}{算法} 23 | 24 | \DeclareMathOperator*{\argmin}{argmin} 25 | \DeclareMathOperator*{\argmax}{argmax} 26 | 27 | \captionsetup[figure][bi-first]{name=图} 28 | \captionsetup[figure][bi-second]{name=Figure} 29 | 30 | \captionsetup[table][bi-first]{name=表} 31 | \captionsetup[table][bi-second]{name=Table} 32 | 33 | %%%%%%%%%%%%%%定义一些东西%%%%%%%%%%%%%%%%%%%%% 34 | 35 | %\newcommand{\E}{\mathbb{E}} 36 | 37 | 38 | %\theoremstyle{plain} \theorembodyfont{\kai\rmfamily} 39 | %\theoremheaderfont{\hei\rmfamily}\theoremseparator{. } 40 | 41 | \newtheorem{theorem}{定理}[section] 42 | %\newtheorem{Theorem}{定理}[section] 43 | \newtheorem{lemma}[theorem]{引理} 44 | \newtheorem{corollary}[theorem]{推论} 45 | %\newtheorem{corollary}[theorem]{推论} 46 | \newtheorem{assumption}{假设}[chapter] 47 | % \newtheorem{Corollary}[Theorem]{推论} 48 | %\newtheorem{Remark}[Theorem]{注} 49 | \newtheorem{example}[theorem]{例} 50 | \newtheorem{definition}[theorem]{定义} 51 | %\newtheorem{Construction}[Theorem]{构造} 52 | % \def\binom#1#2{{#1\choose#2}} 53 | 54 | \newcommand{\E}{\mathbb{E}} 55 | \newcommand{\huaf}{\mathcal{F}} 56 | \newcommand{\huao}{\mathcal{O}} 57 | \newcommand\numberthis{\addtocounter{equation}{1}\tag{\theequation}} 58 | \newcommand{\mne}{ \mathbf{MNE}} 59 | \newcommand{\mnbe}{ \mathbf{MNBE}} 60 | 61 | \SetKwInput{KwIn}{输入} 62 | \SetKwInput{KwOut}{输出} 63 | 64 | 65 | \graphicspath{{./figure/}} 66 | 67 | %%%%%%%%%%%%%%%填写封面信息%%%%%%%%%%%%%%%%%%%% 68 | \author{张三} 69 | \studentNumber{11111111} 70 | \advisor{李四老师 } 71 | 72 | \advisorTitle{教授} 73 | 74 | \degreeType{理学} 75 | \major{概率论与数理统计} 76 | \researchArea{xxx} 77 | \title{xxxxxxx} 78 | \englishtitle{xxxxxxxx } 79 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 80 | %\setmainfont{Times New Roman} 81 | 82 | %\makeindex 83 | \makeindex[name=class,options=-s mystyle,title=分类索引,columns=2] 84 | \makeindex[name=author,options=-s mystyle,title=著者索引,columns=2] 85 | \makeindex[name=keyword,options=-s mystyle,title=关键词索引,columns=2] 86 | \begin{document} 87 | 88 | \makecover 89 | \makeAuthorization 90 | \includepdf[page=-]{chapters/empty.pdf} 91 | \makeInfo 92 | %\include{chapters/thanks} 93 | \include{chapters/thanksshort} 94 | 95 | 96 | 97 | 98 | % 99 | \include{chapters/abstract} 100 | \include{chapters/englishabstract} 101 | 102 | 103 | 104 | 105 | %%%\include{chapters/preface} 106 | \tableofcontents 107 | 108 | \includepdf[page=-]{chapters/empty.pdf} %%%%%注意,这里是在目录后加一个空白页,如果不需要空白页,请注释掉这一行 109 | 110 | %%%%%注意,这里如果不需要空白页,请注释掉这一行↑ 111 | %%%%%注意,这里如果不需要空白页,请注释掉这一行↑\\ 112 | %%%%%注意,这里如果不需要空白页,请注释掉这一行↑\\ 113 | %%%%%注意,这里如果不需要空白页,请注释掉这一行↑\\ 114 | %%%%%注意,这里如果不需要空白页,请注释掉这一行↑\\ 115 | 116 | 117 | 118 | 119 | 120 | \newpage\pagenumbering{arabic} 121 | %% 引言 122 | \include{chapters/chap1} 123 | %%%% \include{chapters/background} 124 | 125 | \include{chapters/summary} 126 | 127 | \bibliography{reference/ref} 128 | %% 附录 129 | %\appendix 130 | % \include{chapters/appendix} 131 | %%% 索引 132 | %\chapter*{索引} 133 | %\pagestyle{fancy} 134 | %\addcontentsline{toc}{chapter}{索引} 135 | %678 136 | %\printindex[class] 137 | %\addcontentsline{toc}{section}{分类索引} 138 | %456 139 | %\printindex[author] 140 | %\addcontentsline{toc}{section}{著者索引} 141 | %345 142 | %\printindex[keyword] 143 | %\addcontentsline{toc}{section}{关键词索引} 144 | %123 145 | 146 | 147 | 148 | \include{chapters/research} 149 | %%% 独创性声明 150 | \include{chapters/declaration} 151 | %% 学位论文数据集 152 | %\include{chapters/dataset} 153 | \includepdf[page=-]{chapters/empty.pdf} 154 | \includepdf[page=-]{chapters/dataset.pdf} 155 | 156 | %1232 157 | 158 | \end{document} -------------------------------------------------------------------------------- /chapters/chap1.aux: -------------------------------------------------------------------------------- 1 | \relax 2 | \providecommand\hyper@newdestlabel[2]{} 3 | \citation{silver2016mastering} 4 | \@writefile{toc}{\contentsline {chapter}{\numberline {1\hspace {.3em}}引言}{1}{chapter.1}\protected@file@percent } 5 | \@writefile{lof}{\addvspace {10.0pt}} 6 | \@writefile{lot}{\addvspace {10.0pt}} 7 | \@writefile{loa}{\addvspace {10\p@ }} 8 | \@writefile{toc}{\contentsline {section}{\numberline {1.1}研究背景}{1}{section.1.1}\protected@file@percent } 9 | \@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces 序列决策问题示例\relax }}{1}{figure.caption.7}\protected@file@percent } 10 | \@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces Illustration for sequential decision making problem\relax }}{1}{figure.caption.7}\protected@file@percent } 11 | \providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}} 12 | \newlabel{fig:chap1 rlp}{{1.1}{1}{序列决策问题示例\relax }{figure.caption.7}{}} 13 | \@writefile{toc}{\contentsline {section}{\numberline {1.2}本文的结构安排}{1}{section.1.2}\protected@file@percent } 14 | \@writefile{toc}{\contentsline {section}{\numberline {1.3}参考文献示例}{1}{section.1.3}\protected@file@percent } 15 | \@writefile{toc}{\contentsline {section}{\numberline {1.4}算法框示例}{1}{section.1.4}\protected@file@percent } 16 | \@writefile{toc}{\contentsline {section}{\numberline {1.5}图片示例}{1}{section.1.5}\protected@file@percent } 17 | \@writefile{loa}{\contentsline {algocf}{\numberline {1}{\ignorespaces 优化算法\relax }}{2}{algocf.1}\protected@file@percent } 18 | \newlabel{gtdmc:alg:minmax}{{1}{2}{算法框示例}{algocf.1}{}} 19 | \newlabel{figa}{{1.2a}{2}{Subfigure 1 1.2a}{subfigure.1.2.1}{}} 20 | \newlabel{sub@figa}{{(a)}{a}{Subfigure 1 1.2a\relax }{subfigure.1.2.1}{}} 21 | \newlabel{figc}{{1.2b}{2}{Subfigure 1 1.2b}{subfigure.1.2.2}{}} 22 | \newlabel{sub@figc}{{(b)}{b}{Subfigure 1 1.2b\relax }{subfigure.1.2.2}{}} 23 | \newlabel{fige}{{1.2c}{2}{Subfigure 1 1.2c}{subfigure.1.2.3}{}} 24 | \newlabel{sub@fige}{{(c)}{c}{Subfigure 1 1.2c\relax }{subfigure.1.2.3}{}} 25 | \newlabel{figb}{{1.2d}{2}{Subfigure 1 1.2d}{subfigure.1.2.4}{}} 26 | \newlabel{sub@figb}{{(d)}{d}{Subfigure 1 1.2d\relax }{subfigure.1.2.4}{}} 27 | \newlabel{Fig1}{{\caption@xref {Fig1}{ on input line 72}}{2}{图片示例}{subfigure.1.2.4}{}} 28 | \newlabel{figd}{{1.2e}{2}{Subfigure 1 1.2e}{subfigure.1.2.5}{}} 29 | \newlabel{sub@figd}{{(e)}{e}{Subfigure 1 1.2e\relax }{subfigure.1.2.5}{}} 30 | \newlabel{figf}{{1.2f}{2}{Subfigure 1 1.2f}{subfigure.1.2.6}{}} 31 | \newlabel{sub@figf}{{(f)}{f}{Subfigure 1 1.2f\relax }{subfigure.1.2.6}{}} 32 | \@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces 你好,世界\relax }}{2}{figure.caption.9}\protected@file@percent } 33 | \@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces Hello world \relax }}{2}{figure.caption.9}\protected@file@percent } 34 | \newlabel{fig1}{{1.2}{2}{你好,世界\relax }{figure.caption.9}{}} 35 | \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {a}}}{2}{subfigure.2.1}\protected@file@percent } 36 | \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {b}}}{2}{subfigure.2.2}\protected@file@percent } 37 | \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {c }}}{2}{subfigure.2.3}\protected@file@percent } 38 | \@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {d }}}{2}{subfigure.2.4}\protected@file@percent } 39 | \@writefile{lof}{\contentsline {subfigure}{\numberline{(e)}{\ignorespaces {e }}}{2}{subfigure.2.5}\protected@file@percent } 40 | \@writefile{lof}{\contentsline {subfigure}{\numberline{(f)}{\ignorespaces {f }}}{2}{subfigure.2.6}\protected@file@percent } 41 | \@setckpt{chapters/chap1}{ 42 | \setcounter{page}{3} 43 | \setcounter{equation}{0} 44 | \setcounter{enumi}{0} 45 | \setcounter{enumii}{0} 46 | \setcounter{enumiii}{0} 47 | \setcounter{enumiv}{0} 48 | \setcounter{footnote}{0} 49 | \setcounter{mpfootnote}{0} 50 | \setcounter{parentequation}{0} 51 | \setcounter{part}{0} 52 | \setcounter{chapter}{1} 53 | \setcounter{section}{5} 54 | \setcounter{subsection}{0} 55 | \setcounter{subsubsection}{0} 56 | \setcounter{paragraph}{0} 57 | \setcounter{subparagraph}{0} 58 | \setcounter{figure}{2} 59 | \setcounter{table}{0} 60 | \setcounter{Item}{0} 61 | \setcounter{Hfootnote}{0} 62 | \setcounter{Hy@AnnotLevel}{0} 63 | \setcounter{bookmark@seq@number}{9} 64 | \setcounter{caption@flags}{0} 65 | \setcounter{continuedfloat}{0} 66 | \setcounter{KVtest}{0} 67 | \setcounter{subfigure}{0} 68 | \setcounter{subfigure@save}{6} 69 | \setcounter{lofdepth}{1} 70 | \setcounter{subtable}{0} 71 | \setcounter{subtable@save}{0} 72 | \setcounter{lotdepth}{1} 73 | \setcounter{NAT@ctr}{0} 74 | \setcounter{lstnumber}{1} 75 | \setcounter{AlgoLine}{5} 76 | \setcounter{algocfline}{1} 77 | \setcounter{algocfproc}{1} 78 | \setcounter{algocf}{1} 79 | \setcounter{AM@survey}{0} 80 | \setcounter{theorem}{0} 81 | \setcounter{assumption}{0} 82 | \setcounter{section@level}{0} 83 | \setcounter{lstlisting}{0} 84 | } 85 | -------------------------------------------------------------------------------- /chapters/summary.tex: -------------------------------------------------------------------------------- 1 | \chapter{总结与展望} 2 | 3 | 总结与展望 4 | 5 | 6 | 7 | 8 | 暖洋洋的太阳照耀着都市的大街。公园里和道路旁已经处处绿意朦胧。风中飘着一团团 9 | 雪白的杨絮。街心花园的第一批鲜花,也在不知不觉中竞相开放了。古城的春天稍显即逝, 10 | 人们立刻就有一种身临初夏的感觉。 11 | 街头的行人稠密起来。人们纷纷走出户外,尽情享受阳光和暖风的抚爱。那些时髦的姑 12 | 娘已经过早地脱掉了外套,穿起单薄的、色彩鲜艳的毛衣线衣。到处传来春游的孩子们的歌 13 | 声。城市一改冬日的灰暗,重新显出了它那多彩的风貌。 14 | 孙少平的伤已经完全好了。雷汉义区长代表矿上来为他办出院手续。他准备过几天就返 15 | 回大牙湾。 16 | 17 | 这期间,妹妹兰香和她的男朋友仍然一直给他做工作,让他调到省城来。他到现在还没 18 | 有完全拒绝他们的好意。尽管他对自己未来的生活心中有数,但不好当面向他们进一步解释 19 | 他的想法。他们应该意识到,他和他们的处境不尽相同。不同生活处境的人应该寻找各自的 20 | 归宿。大城市对妹妹和仲平也许是合适的,但他在这里未必能寻找到自己的幸福。他想等以 21 | 后适当的时间用另一种方式向他们说明自己的观点和态度。 22 | 其实,这期间最使他伤神的倒不是兰香和仲平一再劝他来省城工作。他苦恼的是金秀对 23 | 他表示的热烈感情。自从她把那封恋爱信送到他手中,他就一直苦苦思索自己该怎么办? 24 | 秀可爱吗?非常可爱!她是那样的热情,漂亮;情感炽热而丰富,一个瞬间给予男人的 25 | 东西都要比冷血女人一生给予的还要多。她使他想起了死去的晓霞。她也是大学生,有文 26 | 化,有知识,有很好的专业。她无疑会是一个令男人骄傲的妻子。双方感情交流也没什么障 27 | 碍,他们从小一块长大,一直以兄妹相待;这种关系如果汇入夫妻生活,那将是十分美好 28 | 的。 29 | 30 | 秀要成为他的妻子?他要成为秀的丈夫?他一时又难以转过这个弯。他一直把秀当小妹 31 | 妹看待;在他眼里,她永远是个小孩子,怎么能和她一块过夫妻生活呢?想到这一点,他就 32 | 感到别扭。 33 | 34 | 当然,最重要的是,他和秀的差异太大了。他是一个在井下干活的煤矿工人,而金秀是 35 | 大学生,他怎么能和她结婚?秀在信上说她毕业后准备去他所在的矿医院当医生。他相信她 36 | 能真诚地做到这一点。但他能忍心让她这样做吗?据兰香一再给他说,按金秀的学习情况, 37 | 她完全可以考上研究生。他为什么要耽搁她的前程?如果因为他的关系,让秀来大牙湾煤 38 | 矿,实际上等于把她毁了。他现在才记起,他曾给金波也说过这个意思。 39 | 所有这一切考虑,不是说没勇气和一个女大学生一块生活。当年田晓霞也是大学生、记 40 | 者。但秀和晓霞又不一样。晓霞在总体素质上是另一种类型的女性。虽然他和秀一块长大, 41 | 但秀决不会象晓霞那样更深刻地理解他。他和秀之间总有一种隔代之感。 42 | 怎么办?这比兰香和仲平要他来大城市工作更难以回答。他知道秀在热切地等待他的回 43 | 话。给他交了那封信后,她尽管和往常一样细心而入微地照料他,但他们之间已明显地产生 44 | 了一种极不好意思的成份……生活是这样令人感慨不已! 45 | 孙少平不由想起十年前他的初恋。他想起了他爱上的第一个女人郝红梅。富有戏剧性的 46 | 是,十年前的那场感情纠葛发生在他和顾养民之间;没想到十年后,他又和顾养民纠缠在一 47 | 起。不同的是,十年前,郝红梅离他而去爱顾养民;而今天,金秀却要离开顾养民而爱他 48 | 了! 49 | 50 | 生活似乎走了一个令人难以置信的圆。 51 | 52 | 但生活又不会以圆的形式结束。生活会一直走向前去!瞧,十年过去了,所有人的生活 53 | 都发生了多么大的变化。就拿他们几个说吧,养民已经到上海去读研究生;而前不久他震惊 54 | 地获悉,郝红梅带着前夫留下的孩子,竟然和他同村的另一个同学田润生结了婚,现在就生 55 | 活在双水村。而他,当了一名干粗活的煤矿工人,现在受了伤,住了院,却被养民爱着的金 56 | 秀爱上了……直到现在,他也不知如何与金秀谈这件事。他能感觉来,秀对他的爱是多么强 57 | 烈!他不能用简单的三言两语来拒绝她,这样会伤害孩子……是的,孩子。他现在还认为秀 58 | 是个孩子!但是,他又不能简单地响应她爱情的呼唤。如果是那样,那伤害的不仅是秀,还 59 | 有他自己的心灵。 60 | 61 | 孙少平左思右想,不知他该怎么办。 62 | 63 | 想不出个妥当的结果,他就不能轻易对她表示什么。好在他很快就要离开省城;等离开 64 | 时,说不定他能对这件事做出结论性的决定…… 65 | 区长雷汉义帮他结完手续后,他就算和医院告别了。他让区长先回去,他自己还想在省 66 | 城逗留几天;他知道,他还有些“事”需要处理。 67 | 68 | 雷汉义临走时,才迟疑着从衣袋里摸出两份矿上的文件给了他。 69 | 孙少平一看,这两份文件都是有关他自己的。一份是通报表彰他舍己救人的献身精神; 70 | 另一份是批评他作为班长,元旦那天让喝醉酒的工人下井,违反了规章制度,决定给他记大 71 | 过一次。 72 | 73 | 孙少平把两份文件揉成一团,塞进了自己的衣袋里。雷汉义安慰他说:“不管是表彰, 74 | 还是处分,都是些球!回去只管掏咱的炭!” 75 | 但孙少平的心情却是沉重的。这是一种永远不能互相抵消的存在,就象他五官正常的脸 76 | 上那道丑陋的疤痕。他倒并不特别看重这两份让他哭笑不得的文件,而是由此伤感地想到, 77 | 这正好说明了他那负重前行的生存处境。 78 | 仲平竭力要求出院后的少平到他家去。但他谢绝了。兰香理解二哥的心情,也没有再坚 79 | 持。少平随即住进了一家个体户开办的小旅店。 80 | 他住进旅店后的第一件事,就是给惠英和明明写了一封信,告诉他什么时候回大牙湾煤 81 | 矿。 82 | 83 | 几天之后,在少平即将离开省城的时刻,金秀和兰香相跟着来旅店找他,想陪他出去到 84 | 街上转转。但少平推诿着不想去。最少在眼下,他不愿带着脸上的疤痕,和任何女性相跟着 85 | 逛大街,他无法忍受陌生人用异样的目光看他和身边两个漂亮的妹妹。说实话,对脸上的那 86 | 道疤痕,尽管他显得不在乎,但内心却为此而万般痛苦,爱美之心人人有,更何况,他正当 87 | 青春年华!至于他的脸倒究被毁到了何种程度,直到现在他都没有勇气去照镜子。 88 | 金秀见他执意不到街上去转,就提议他们三个人一块到她的宿舍去坐坐;她说她们宿舍 89 | 实习的同学都没回来,就她一个人。医学院离这儿很近,少平也就同意了。金秀本来不想让 90 | 兰香去,但她有口难言。 91 | 92 | 三个人到医学院金秀的宿舍后,秀特意让少平坐到她床上休息。她让少平先一个人待一 93 | 会,自己随即又拉了兰香,到外面去采买吃的——她想好好款待一下少平哥。 94 | 兰香和金秀走后,少平一个人没事,就在秀的枕头边拿了几本医学杂志看。他在无意间 95 | 发现秀床铺那头的墙上挂一面圆镜子。他犹豫了一下,过去摘下那面镜子。当镜子就要举到 96 | 面前的时候,他闭住了眼睛。 97 | 98 | 他闭着眼,举着镜子,脚步艰难地挪到了靠近房门的空地上。他久久地立着,拿镜子的 99 | 那条胳膊抖得象筛糠一般。在这一刻里,孙少平不再是血性男儿,完全成了一个胆怯的懦 100 | 夫! 101 | 102 | 我看到的将会是怎样的一个我?他在心里问自己。你啊!为什么不敢正视自己的不幸 103 | 呢?你不愿看见它,难道它就不存在吗?你连看见它的勇气都鼓不起来,你又怎样带着它回 104 | 到人们中间去生活?可笑。你这可笑的驼鸟政策! 105 | 他睁开了眼睛。呀!他看见,那道可怕的伤疤从额头的发楞起斜劈过右眼角,一直拉过 106 | 颧骨直至脸颊,活象调皮孩子在公厕墙上写了一句骂人话后所划下的惊叹号! 107 | 他猛地把那面镜子摔在水泥地板上;一声爆响,镜子的碎片四处飞溅。接着,他一下伏 108 | 在金秀的床铺上,埋住脸痛哭起来…… 109 | 他听见了敲门声——是秀和兰香回来了。 110 | 他爬起来,用秀的毛巾揩去了脸上的泪痕。接着,匆忙地拿起扫帚,把满地的碎镜片扫 111 | 到门后。在手捉住门锁柄的时候,他停留片刻,以便自己镇静下来——尽管他知道这是徒劳 112 | 的。 113 | 在门打开的一刹那间,他看见两个妹妹都怀里抱着一堆吃的东西,脸色苍白地愣住看 114 | 他。她们显然感到这屋里曾发生了什么事。其实,他自己的神态就说明了这一点。 115 | 不过,她们很快说笑着走过来了。以后,她们一直装着没有看见门背后的那一堆碎镜 116 | 片。 117 | 两个女孩子象演戏一样,大声说笑着,甚至有点咋咋唬唬,在桌子上铺开了块干净的白 118 | 布,然后把那些罐头、啤酒、果子露、牛肉、面包等等吃的东西都摆好,让他坐到“上席” 119 | 上,并且开玩笑称他“革命老前辈”……吃过东西后,少平没让她们送他,自己一个人来到 120 | 大街上。 121 | 122 | 啊,最为严重的时刻也许已经过去了! 123 | 现在,他行走在这人流如潮的大街上,不管有多少含义复杂的目光在他脸上扫射,他也 124 | 坦然如常。不知为什么,他甚至感到自己的情绪渐渐亢奋起来。 125 | 他在个体户的小摊上买了一副黑镜,随即就戴起来——部份地遮掩了脸上那道疤痕。接 126 | 着,他又到商店买了一件铁灰色风雨衣穿在身上。这打扮加上脸上那道疤,奇特地使他具有 127 | 了另一种男子汉的魅力——这正是他想象中自己的“新”形象。在下午剩下的最后一点时光 128 | 里,他还到新华书店买了几本书。其中他最喜欢的一本书是《一些原材料对人类未来的影 129 | 响》。 130 | 131 | 当天晚上,他静静地坐在小旅店的房间里,分别给妹妹、仲平和金秀写了两封信。在给 132 | 兰香和仲平的信中,他向他们“阐述”了他为什么现在不想来大城市工作的想法。他说他也 133 | 许一辈子可能和煤炭打交道。在给金秀的一封很长的信中,他主要向她表明为什么他不能和 134 | 她结合的理由。他祝愿亲爱的金秀妹妹和顾养民或别的一个男人幸福地生活……第二天,孙 135 | 少平提着自己的东西,在火车站发出了那两封信,就一个人悄然离开了省城。 136 | 中午时分,他回到了久别的大牙湾煤矿。 137 | 138 | 他在矿部前下了车,抬头望了望高耸的选煤楼、雄传的矸石山和黑油油的煤堆,眼里忍 139 | 不住涌满了泪水。温暖的季风吹过了绿黄相间的山野;蓝天上,是太阳永恒的微笑。 140 | 他依稀听见一支用口哨吹出的充满活力的歌在耳边回响。这是赞美青春和生命的歌。 141 | 他上了二级平台,沿着铁路线急速地向东走去。他远远地看见,头上包着红纱巾的惠 142 | 英,胸前飘着红领巾的明明,以及脖项里响着铜铃铛的小狗,正向他飞奔而来……准备:1 143 | 982年—1985年第一稿:1987年秋天—冬天第二稿:1988年春天—夏天[全 144 | 书完] 145 | 146 | 这五卷文集可以说是我四十岁之前文学活动的一个基本总结。其间包含着青春的激情, 147 | 痛苦和失误,包含着劳动的汗水、人生的辛酸和对这个冷暖世界的复杂体验。更重要的是, 148 | 它也包含了我对生活从未淡薄的挚爱与深情。至此,我也就可以对我的青年时代投去最后一 149 | 瞥,从而和它永远告别了。 150 | 这五卷文集的出版,得益于陕西人民出版社和本书编选者陈泽顺、刑良俊同志,没有他 151 | 们的热情帮助,这件事是不可能做成的。 152 | 我庆幸降生于这个伟大而值得自豪的国度。它深厚的历史文化,辽阔的疆土和占地球的 153 | 五分之一的人口,使得其间任何人的劳动都能得到广大的支持,同时也发生广大的影响。无 154 | 论我们曾经历了多少痛苦和磨难,且还将要面对多少严峻考验:也不论我们处于何种位置何 155 | 种境地,我们都会为能服务于伟大的祖国和如此众多的同胞而心甘情愿地献出自己毕生的精 156 | 力和才智。 157 | 我感谢我所生活的这个充满戏剧性的时代,也感谢与我生活在这同一时代的人们。所有 158 | 这一切历史构成,都给我提供了一种人生的契机,使我意外地有可能如愿从事自己钟爱的文 159 | 学事业,将自己的心灵和人世间无数的心灵沟通。正是千千万万我的同时代读者一次又一次 160 | 促我投入也许并不是我完全能胜任的艰巨工作。现在,我总算能将自己的一些微不足道的收 161 | 获献给我的读者朋友。 162 | 那么,对于一个原本一无所有的农民的儿子,还有什么不满足呢? 163 | 是的,不满足。我应该把一切进行得比现在更好。历史,社会环境,尤其是个人的素 164 | 养,都在局限人——不仅局限艺术作品中的人,首先局限它的创造者。所有人的生命历程在 165 | 人类历史的长河中都是一个小小的段落,因此,每一代人都有自己的命中注定的遗撼。遗 166 | 撼,深深的遗撼。 167 | 唯一能自慰的是,我们曾真诚而充满激情地在这个世界上生活过,竭尽全力地劳动过, 168 | 并不计代价地将自己的血汗献给了不死的人类之树。 169 | 在我们的世界发生激烈演变的大潮中。人类社会将以全然不同于以往的面貌进入另一世 170 | 纪。我们生而逢时,不仅可以目睹一幕紧接一幕的大剧,也将不可避免地要在其间扮演某种 171 | 属于自己的角色。现实生活中的任何人都不可能逃避自己历史性的责任。无疑,在未来的年 172 | 月里,生活和艺术都会向作家提出更为繁难而严厉的要求。如果沉醉满足于自己以往的历史 173 | 就无异于生命大限的终临,人生旅程时刻处于“零公里”处。那么,要旨仍然应该是首先战 174 | 胜自己,并将精神提升到不断发展着的生活所要求的那种高度,才有可能使自己重新走出洼 175 | 地,亦步亦趋跟着生活进入新的境界。不管实际结果如何,这个起码的觉悟应当具备。 176 | 结论一目了然:只能永远把艰辛的劳动看作是生命的必要;即使没有收获的指望,也心 177 | 平气静地继续耕种。1992年春天于西安 -------------------------------------------------------------------------------- /BJTU-thesis.cls: -------------------------------------------------------------------------------- 1 | %=================================================== 2 | 3 | %=================================================== 4 | 5 | %导入需要的宏包 6 | \RequirePackage{amsmath,amsthm,amsfonts,amssymb,bm,mathrsfs,upgreek} 7 | \RequirePackage{fancyhdr} 8 | 9 | 10 | %\RequirePackage{times} 11 | 12 | %依赖的Latex版本 13 | \NeedsTeXFormat{LaTeX2e}[2005/12/01] 14 | %声明本文档为模板类 15 | \ProvidesClass{BJTU-thesis}[2018/4/27] 16 | % \setmainfont{Times New Roman} 17 | 18 | %根据用户选项LoadClass 19 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}[twoside]{ctexbook}} 20 | \newif\if@isEnMaster\@isEnMasterfalse 21 | \newif\if@isAcMaster\@isAcMasterfalse 22 | \newif\if@isDoctor\@isDoctorfalse 23 | \newif\if@isTwoSide\@isTwoSidefalse 24 | %专硕 25 | \DeclareOption{EnMaster}{\@isEnMastertrue} 26 | %学硕 27 | \DeclareOption{AcMaster}{\@isAcMastertrue} 28 | %博士 29 | \DeclareOption{Doctor}{\@isDoctortrue} 30 | \DeclareOption{twoside}{\@isTwoSidetrue} 31 | \ProcessOptions\relax 32 | \if@isTwoSide 33 | \LoadClass[zihao=-4,a4paper,twoside,openright,UTF8,space=auto]{ctexbook} 34 | \else 35 | \LoadClass[zihao=-4,a4paper,oneside,openright,UTF8,space=auto]{ctexbook} 36 | \fi 37 | 38 | 39 | 40 | %定义使用者需要填写的标签 41 | \def\BJTU@label@schoolNumber{学校代码:~} 42 | \def\BJTU@label@classification{密级:~} 43 | \def\BJTU@label@author{作者姓名:~} 44 | \def\BJTU@label@studentNumber{学~~~~~~号:~} 45 | \def\BJTU@label@advisor{导师姓名:~} 46 | \def\BJTU@label@advisorTitle{职~~~~~~称:~} 47 | \def\BJTU@label@engineeringMasterField{工程硕士专业领域:~} 48 | \def\BJTU@label@degreeLevel{学位级别:~} 49 | \def\BJTU@label@degreeType{学位类别:~} 50 | \def\BJTU@label@major{学科专业:~} 51 | \def\BJTU@label@researchArea{研究方向:~} 52 | 53 | %定义上述标签的默认值 54 | \def\BJTU@value@schoolNumber{10004} 55 | \def\BJTU@value@classification{公开} 56 | \def\BJTU@value@author{XXXX} 57 | \def\BJTU@value@studentNumber{XXXX} 58 | \def\BJTU@value@advisor{XXXX} 59 | \def\BJTU@value@advisorTitle{XXXX} 60 | \def\BJTU@value@engineeringMasterField{XXXX} 61 | \if@isDoctor 62 | \def\BJTU@value@degreeLevel{博士} 63 | \else 64 | \def\BJTU@value@degreeLevel{硕士} 65 | \fi 66 | \def\BJTU@value@degreeType{XXXX} 67 | \def\BJTU@value@major{XXXX} 68 | \def\BJTU@value@researchArea{XXXX} 69 | \def\BJTU@value@title{中文题目} 70 | \def\BJTU@value@englishtitle{英文题目} 71 | 72 | 73 | 74 | 75 | %定义用户填写上述标签对应值的命令,需要用户在主文档自行调用 76 | \newcommand\schooNumber[1]{\def\BJTU@value@schoolNumber{#1}} 77 | \newcommand\classification[1]{\def\BJTU@value@classification{#1}} 78 | \renewcommand\author[1]{\def\BJTU@value@author{#1}} 79 | \newcommand\studentNumber[1]{\def\BJTU@value@studentNumber{#1}} 80 | \newcommand\advisor[1]{\def\BJTU@value@advisor{#1}} 81 | \newcommand\advisorTitle[1]{\def\BJTU@value@advisorTitle{#1}} 82 | \newcommand\engineeringMasterField[1]{\def\BJTU@value@engineeringMasterField{#1}} 83 | \newcommand\degreeType[1]{\def\BJTU@value@degreeType{#1}} 84 | \newcommand\major[1]{\def\BJTU@value@major{#1}} 85 | \newcommand\researchArea[1]{\def\BJTU@value@researchArea{#1}} 86 | \newcommand\englishtitle[1]{\def\BJTU@value@englishtitle{#1}} 87 | \renewcommand\title[1]{\def\BJTU@value@title{#1}} 88 | 89 | 90 | %%empty page 91 | 92 | \newcommand{\makeEmptyPage}{ 93 | 94 | \thispagestyle{empty}{ 95 | \ 96 | } 97 | 98 | } 99 | 100 | %版权授权书 101 | \newcommand{\makeAuthorization}{ 102 | 103 | \chapter*{学位论文版权使用授权书} 104 | \thispagestyle{empty} 105 | 106 | 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索,提供阅览服务,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复印件和磁盘。学校可以为存在馆际合作关系的兄弟高校用户提供文献传递服务和交换服务。 107 | 108 | (保密的学位论文在解密后适用本授权说明) 109 | 110 | \vspace{72pt} 111 | 学位论文作者签名:~~~~~~~~~~~~~~~~~~~~~~~导师签名: 112 | 113 | \vspace{12pt} 114 | 签字日期:~~~~~~年~~~月~~~日~~~~~~~~~~~~~~签字日期:~~~~~年~~~月~~~日 115 | } 116 | 117 | 118 | %制作内封 119 | \newcommand{\makeInfo}{ 120 | \newpage 121 | \pagenumbering{roman} 122 | \thispagestyle{plain} 123 | {\songti\zihao{5}\noindent\BJTU@label@schoolNumber\BJTU@value@schoolNumber} 124 | \hfill 125 | {\songti\zihao{5}\BJTU@label@classification\BJTU@value@classification} 126 | %这里控制上下间距 127 | \vspace{31.5pt} 128 | \begin{center} 129 | {\kaishu\zihao{0}北~京~交~通~大~学\\} 130 | %这里控制上下间距 131 | \if@isDoctor 132 | {\songti\zihao{2}博~士~学~位~论~文\\} 133 | \else 134 | {\songti\zihao{2}硕~士~学~位~论~文\\} 135 | \fi 136 | %这里控制上下间距 137 | \vspace{44pt} 138 | {\songti\zihao{-3}\BJTU@value@title\\} 139 | %这里控制上下间距 140 | \vspace{15pt} 141 | {\zihao{-3}\BJTU@value@englishtitle\\} 142 | \end{center} 143 | %这里控制上下间距 144 | \vspace{48pt} 145 | % {\songti\zihao{4} 146 | % \begin{tabular}{lp{30mm}l} 147 | % \BJTU@label@author \BJTU@value@author& \BJTU@label@studentNumber \BJTU@value@studentNumber \\ 148 | % \\ 149 | % \BJTU@label@advisor \BJTU@value@advisor& \BJTU@label@advisorTitle \BJTU@value@advisorTitle \\ 150 | % \\ 151 | % \if@isEnMaster 152 | % \BJTU@label@engineeringMasterField \BJTU@value@engineeringMasterField& \BJTU@label@degreeLevel \BJTU@value@degreeLevel \\ 153 | % \else 154 | % \BJTU@label@degreeType \BJTU@value@degreeType& \BJTU@label@degreeLevel \BJTU@value@degreeLevel \\ 155 | % \\ 156 | % \BJTU@label@major \BJTU@value@major& \BJTU@label@researchArea \BJTU@value@researchArea \\ 157 | % \fi 158 | % \end{tabular} 159 | % } 160 | 161 | 162 | {\songti\zihao{4} 163 | \begin{tabular}{ll} 164 | \BJTU@label@author \BJTU@value@author \hspace{25mm} & \BJTU@label@studentNumber \BJTU@value@studentNumber \\ 165 | \\ 166 | \BJTU@label@advisor \BJTU@value@advisor & \BJTU@label@advisorTitle \BJTU@value@advisorTitle \\ 167 | \\ 168 | % \BJTU@label@advisor 刘玉婷 & \BJTU@label@advisorTitle 副教授 \\ 169 | % \\ 170 | \if@isEnMaster 171 | \BJTU@label@engineeringMasterField \BJTU@value@engineeringMasterField& \BJTU@label@degreeLevel \BJTU@value@degreeLevel \\ 172 | \else 173 | \BJTU@label@degreeType \BJTU@value@degreeType & \BJTU@label@degreeLevel \BJTU@value@degreeLevel \\ 174 | \\ 175 | \BJTU@label@major \BJTU@value@major& \BJTU@label@researchArea \BJTU@value@researchArea 176 | \fi 177 | \end{tabular} 178 | } 179 | 180 | \vfill 181 | \begin{center} 182 | {\songti\zihao{4}北京交通大学\\ \vspace{10pt}2020年6月} 183 | \end{center} 184 | } 185 | 186 | 187 | %重新定义致谢环境 188 | \renewenvironment{thanks}{ 189 | \chapter*{致谢}\thispagestyle{plain} 190 | }{} 191 | 192 | 193 | 194 | %定义中文摘要环境 195 | %%页眉部分加章标题的问题尚未解决 196 | \newenvironment{abstract}{ 197 | \chapter*{摘要} 198 | \markboth{摘要}{摘要} 199 | \addcontentsline{toc}{chapter}{摘要} 200 | }{} 201 | 202 | %定义英文摘要环境 203 | \newenvironment{englishabstract}{ 204 | \chapter*{{\myfont ABSTRACT}} 205 | \markboth{ABSTRACT}{ABSTRACT} 206 | \addcontentsline{toc}{chapter}{ABSTRACT} 207 | }{} 208 | 209 | %定义中英文关键词命令 210 | \newcommand{\keywords}[1]{\textbf{关键词:}#1} 211 | \newcommand{\englishkeywords}[1]{\textbf{KEYWORDS:~}#1} 212 | 213 | \newenvironment{preface}{ 214 | \chapter*{序言} 215 | \markboth{序言}{序言} 216 | \addcontentsline{toc}{chapter}{序言} 217 | }{} 218 | 219 | %%定义正文的页眉页脚格式 220 | \def\BJTU@chapter{} 221 | \fancypagestyle{BJTU@heading}{ 222 | \fancyhf{} 223 | \fancyhead[CE]{ 224 | \if@isDoctor 225 | 北京交通大学博士学位论文 226 | \else 227 | 北京交通大学硕士学位论文 228 | \fi 229 | } 230 | \fancyhead[CO]{\leftmark} 231 | \fancyfoot[C]{\thepage} 232 | 233 | } 234 | 235 | 236 | 237 | %%设置页边距和装订线 238 | \usepackage[ 239 | top=3.5cm, 240 | bottom=2.5cm, 241 | left=2.5cm, 242 | right=2.5cm, 243 | bindingoffset=1cm, 244 | headheight=15pt, 245 | twoside 246 | ]{geometry} 247 | 248 | %% 设置章节格式 249 | \ctexset{chapter={ 250 | name={}, 251 | number = {\arabic{chapter}}, 252 | format = {\heiti \centering \zihao{3}}, 253 | pagestyle = {BJTU@heading}, 254 | beforeskip = 28bp, 255 | afterskip = 24bp, 256 | fixskip = true, 257 | } 258 | } 259 | 260 | 261 | 262 | 263 | 264 | %% 设置一级章节格式 265 | \ctexset{section={ 266 | % format={\raggedright \sffamily \zihao{-3}}, 267 | format={\raggedright \heiti \zihao{-3}}, 268 | beforeskip = 28bp plus 1ex minus .2ex, 269 | afterskip = 24bp plus .2ex, 270 | fixskip = true, 271 | } 272 | } 273 | 274 | % 设置二级标题格式 275 | 276 | %黑体四号顶左,单倍行距,序号与题目间空一个汉字符 277 | 278 | \ctexset{subsection={ 279 | % format = {\sffamily \raggedright \zihao{4}}, 280 | format = {\heiti \raggedright \zihao{4}}, 281 | beforeskip =28bp plus 1ex minus .2ex, 282 | afterskip = 24bp plus .2ex, 283 | fixskip = true, 284 | } 285 | } 286 | 287 | % 设置三节标题格式:黑体小四居左书写,单倍行距,序号与题目间空一个汉字符 288 | 289 | \ctexset{subsubsection={ 290 | % format={\sffamily \raggedright \zihao{-4}}, 291 | format={\heiti \raggedright \zihao{-4}}, 292 | beforeskip=28bp plus 1ex minus .2ex, 293 | afterskip=24bp plus .2ex, 294 | fixskip=true, 295 | } 296 | } 297 | 298 | 299 | %目录 300 | \ifxetex % xelatex 301 | \RequirePackage[xetex]{hyperref} 302 | \hypersetup{ 303 | bookmarksnumbered, 304 | colorlinks, 305 | linkcolor=black, 306 | citecolor=black, 307 | plainpages=false, 308 | pdfstartview=FitH 309 | } 310 | \else 311 | \ifpdf 312 | \RequirePackage[pdftex,unicode]{hyperref} 313 | \else 314 | \RequirePackage[dvipdfmx,unicode]{hyperref} 315 | \fi 316 | \fi 317 | 318 | %\addtocontents{toc}{\protect\hypersetup{hidelinks}} 319 | \addtocontents{lot}{\protect\hypersetup{hidelinks}} 320 | \addtocontents{lof}{\protect\hypersetup{hidelinks}} 321 | 322 | \RequirePackage{titletoc} 323 | \titlecontents{chapter}[0pt]{\songti \zihao{4}} 324 | {\thecontentslabel\hspace{\ccwd}}{} 325 | {\hspace{.5em}\titlerule*{.}\contentspage} 326 | \titlecontents{section}[2\ccwd]{\songti \zihao{-4}} 327 | {\thecontentslabel\hspace{\ccwd}}{} 328 | {\hspace{.5em}\titlerule*{.}\contentspage} 329 | \titlecontents{subsection}[4\ccwd]{\songti \zihao{-4}} 330 | {\thecontentslabel\hspace{\ccwd}}{} 331 | {\hspace{.5em}\titlerule*{.}\contentspage} 332 | 333 | \titlecontents{figure}[0pt]{\songti\zihao{-4}} 334 | {\figurename~\thecontentslabel\quad}{\hspace*{-1.5cm}} 335 | {\hspace{.5em}\titlerule*{.}\contentspage} 336 | 337 | \titlecontents{table}[0pt]{\songti\zihao{-4}} 338 | {\tablename~\thecontentslabel\quad}{\hspace*{-1.5cm}} 339 | {\hspace{.5em}\titlerule*{.}\contentspage} 340 | 341 | \renewcommand\tableofcontents{% 342 | \chapter*{\contentsname}%目录里显示“目录”,否则\chapter* 343 | \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}% 344 | \pdfbookmark[0]{目录}{bittoc} 345 | \@starttoc{toc}% 346 | } 347 | 348 | 349 | 350 | %设定文档页眉页脚 351 | \pagestyle{BJTU@heading} 352 | %必须在设置完文档的页眉页脚格式之后再重定义此命令 353 | \renewcommand{\chaptermark}[1]{ 354 | \markboth{#1}{} 355 | } 356 | 357 | 358 | %%定义制作论文封面命令 359 | \newcommand{\makecover}{ 360 | \newpage\thispagestyle{empty} 361 | \vspace{50pt} 362 | \begin{figure} 363 | \centering 364 | \includegraphics*[]{logo.png} 365 | \end{figure} 366 | \vspace{18pt} 367 | \begin{center} 368 | \if@isDoctor 369 | {\heiti\zihao{2}\bfseries{\textbf{博士学位论文}\\}} 370 | \else 371 | {\songti\zihao{2}\bfseries{硕士学位论文\\}} 372 | \fi 373 | \vspace{44pt} 374 | {\songti\zihao{-3}\BJTU@value@title\\} 375 | \vspace{18pt} 376 | {\zihao{-3} \BJTU@value@englishtitle\\} 377 | \vspace{90pt} 378 | \begin{tabular}{l} 379 | {\songti\zihao{4}作者:\BJTU@value@author}\\ 380 | \\ 381 | {\songti\zihao{4}导师:\BJTU@value@advisor}\\ 382 | \end{tabular} 383 | \\ 384 | \vspace{120pt} 385 | {\songti\zihao{4}北京交通大学\\\vspace{14pt}2020年6月} 386 | \end{center} 387 | } 388 | 389 | 390 | %% graphics packages 391 | \RequirePackage{graphicx} 392 | %% 并列子图 393 | \RequirePackage{subfig} 394 | 395 | \RequirePackage{wrapfig} 396 | %%===========================设置图表标题选项========================== 397 | \RequirePackage{amsmath} 398 | \RequirePackage{caption} 399 | \DeclareCaptionLabelSeparator{zhspace}{\hspace{1\ccwd}} 400 | \DeclareCaptionFont{fontsize}{\zihao{5}} 401 | 402 | 403 | 404 | \captionsetup{ 405 | font = {fontsize}, 406 | labelsep = zhspace, 407 | justification=centering 408 | } 409 | \captionsetup[table]{ 410 | position = top, 411 | aboveskip = 6bp, 412 | belowskip = 6bp, 413 | } 414 | \numberwithin{table}{chapter} 415 | \captionsetup[figure]{ 416 | position = bottom, 417 | aboveskip = 6bp, 418 | belowskip = 6bp, 419 | } 420 | 421 | %% 如果插入的图片没有指定扩展名,那么依次搜索下面的扩展名所对应的文件 422 | \DeclareGraphicsExtensions{.pdf,.eps,.png,.jpg,.jpeg} 423 | % ccaption -- bicaption 424 | %\RequirePackage{ccaption} 425 | %\captiondelim{\ } 426 | %\captionnamefont{\songti\zihao{5}} 427 | %\captiontitlefont{\songti\zihao{5}} 428 | 429 | 430 | %% sort and compress citations 431 | \RequirePackage[numbers,square,comma,super,sort&compress]{natbib} 432 | % 上标引用 433 | \newcommand{\upcite}[1]{\textsuperscript{\cite{#1}}} 434 | 435 | 436 | % 将浮动参数设为较宽松的值 437 | \renewcommand{\textfraction}{0.15} 438 | \renewcommand{\topfraction}{0.85} 439 | \renewcommand{\bottomfraction}{0.65} 440 | \renewcommand{\floatpagefraction}{0.60} 441 | 442 | 443 | % 定公式、图、表编号为"3-1"的形式,即分隔符由.变为短杠 444 | \renewcommand\theequation{\arabic{chapter}.\arabic{equation}} 445 | \renewcommand\thefigure{\arabic{chapter}.\arabic{figure}} 446 | \renewcommand\thetable{\arabic{chapter}.\arabic{table}} 447 | 448 | % 颜色宏包 449 | \RequirePackage{xcolor} 450 | 451 | 452 | % 中文破折号 453 | \newcommand{\cndash}{\rule{0.0em}{0pt}\rule[0.35em]{1.4em}{0.05em}\rule{0.2em}{0pt}} 454 | 455 | % listings 源代码显示宏包 456 | \RequirePackage{listings} 457 | \lstset{tabsize=4, % 458 | frame=shadowbox, %把代码用带有阴影的框圈起来 459 | commentstyle=\color{red!50!green!50!blue!50},%浅灰色的注释 460 | rulesepcolor=\color{red!20!green!20!blue!20},%代码块边框为淡青色 461 | keywordstyle=\color{blue!90}\bfseries, %代码关键字的颜色为蓝色,粗体 462 | showstringspaces=false,%不显示代码字符串中间的空格标记 463 | stringstyle=\ttfamily, % 代码字符串的特殊格式 464 | keepspaces=true, % 465 | breakindent=22pt, % 466 | numbers=left,%左侧显示行号 467 | stepnumber=1,% 468 | numberstyle=\tiny, %行号字体用小号 469 | basicstyle=\footnotesize, % 470 | showspaces=false, % 471 | flexiblecolumns=true, % 472 | breaklines=true, %对过长的代码自动换行 473 | breakautoindent=true,% 474 | breakindent=4em, % 475 | aboveskip=1em, %代码块边框 476 | %% added by http://bbs.ctex.org/viewthread.php?tid=53451 477 | fontadjust, 478 | captionpos=t, 479 | framextopmargin=2pt,framexbottommargin=2pt,abovecaptionskip=-3pt,belowcaptionskip=3pt, 480 | xleftmargin=4em,xrightmargin=4em, % 设定listing左右的空白 481 | texcl=true, 482 | % 设定中文冲突,断行,列模式,数学环境输入,listing数字的样式 483 | extendedchars=false,columns=flexible,mathescape=true 484 | numbersep=-1em 485 | } 486 | \renewcommand{\lstlistingname}{代码} %% 重命名Listings标题头 487 | 488 | %% enumerate 列表环境间距调节 489 | \usepackage{enumitem} 490 | % \setenumerate[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=5pt} 491 | % \setitemize[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=0pt} 492 | % \setdescription{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=5pt} 493 | 494 | %_ 参考文献风格 added by wei.jianwen@gmail.com 495 | \bibliographystyle{GBT7714-2005NLang} 496 | 497 | %_ 参考文献环境 498 | \renewenvironment{thebibliography}[1] 499 | {\zihao{5} 500 | \chapter*{\bibname} 501 | \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% 502 | \addcontentsline{toc}{chapter}{参考文献} 503 | \list{\@biblabel{\@arabic\c@enumiv}}% 504 | {\settowidth\labelwidth{\@biblabel{#1}}% 505 | \leftmargin\labelwidth 506 | \advance\leftmargin\labelsep 507 | \setlength{\parsep}{1mm} 508 | \setlength{\labelsep}{0.5em} 509 | \setlength{\itemsep}{0.05pc} 510 | \setlength{\listparindent}{0in} 511 | \setlength{\itemindent}{0in} 512 | \setlength{\rightmargin}{0in} 513 | \@openbib@code 514 | \usecounter{enumiv}% 515 | \let\p@enumiv\@empty 516 | \renewcommand\theenumiv{\@arabic\c@enumiv}}% 517 | \sloppy 518 | \clubpenalty4000 519 | \@clubpenalty \clubpenalty 520 | \widowpenalty4000% 521 | \sfcode`\.\@m} 522 | {\def\@noitemerr 523 | {\@latex@warning{Empty `thebibliography' environment}}% 524 | \endlist} 525 | 526 | \RequirePackage{multirow} 527 | \RequirePackage{booktabs} 528 | \RequirePackage{imakeidx} 529 | \indexsetup{ 530 | firstpagestyle = BJTU@heading, 531 | level = \section*, 532 | toclevel = section, 533 | noclearpage, 534 | } 535 | %索引环境 536 | 537 | %\renewenvironment{theindex} 538 | %{\if@twocolumn 539 | % \@restonecolfalse 540 | % \else 541 | % \@restonecoltrue 542 | % \fi 543 | % \twocolumn[\@makeschapterhead{\indexname}]% 544 | % \@mkboth{\MakeUppercase\indexname}% 545 | % {\MakeUppercase\indexname}% 546 | % \thispagestyle{BJTU@heading}\parindent\z@ 547 | % \parskip\z@ \@plus .3\p@\relax 548 | % \columnseprule \z@ 549 | % \columnsep 35\p@ 550 | % \let\item\@idxitem} 551 | %{\if@restonecol\onecolumn\else\clearpage\fi} 552 | %\renewcommand\@idxitem{\par\hangindent 40\p@} 553 | %\renewcommand\subitem{\@idxitem \hspace*{20\p@}} 554 | %\renewcommand\subsubitem{\@idxitem \hspace*{30\p@}} 555 | %\renewcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} 556 | 557 | 558 | 559 | \endinput -------------------------------------------------------------------------------- /reference/ref_ttql.bib: -------------------------------------------------------------------------------- 1 | @incollection{NIPS2018_7856, 2 | title = {Transfer of Value Functions via Variational Methods}, 3 | author = {Tirinzoni, Andrea and Rodriguez Sanchez, Rafael and Restelli, Marcello}, 4 | booktitle = {Advances in Neural Information Processing Systems}, 5 | pages = {6179--6189}, 6 | year = {2018}, 7 | publisher = {Curran Associates, Inc.}, 8 | } 9 | 10 | @inproceedings{tirinzoni2018transfer, 11 | title={Transfer of Value Functions via Variational Methods}, 12 | author={Tirinzoni, Andrea and Sanchez, Rafael Rodriguez and Restelli, Marcello}, 13 | booktitle={Advances in Neural Information Processing Systems}, 14 | pages={6182--6192}, 15 | year={2018} 16 | } 17 | 18 | @inproceedings{Ronald1993TightPB, 19 | title={Tight Performance Bounds on Greedy PoliciesBased on Imperfect Value Functions}, 20 | author={Jocelyn Ronald and WilliamsCollege and ScienceNortheastern and UniversityBoston and Christopher J Baird}, 21 | year={1993} 22 | } 23 | 24 | 25 | @inproceedings{Haarnoja2017ReinforcementLW, 26 | title={Reinforcement Learning with Deep Energy-Based Policies}, 27 | author={Tuomas Haarnoja and Haoran Tang and Pieter Abbeel and Sergey Levine}, 28 | booktitle={Proceedings of the 34th International Conference on Machine Learning}, 29 | year={2017} 30 | } 31 | 32 | 33 | @inproceedings{Asadi2017AnAS, 34 | title={An Alternative Softmax Operator for Reinforcement Learning}, 35 | author={Kavosh Asadi and Michael L. Littman}, 36 | booktitle={Proceedings of the 34th International Conference on Machine Learning}, 37 | year={2017} 38 | } 39 | 40 | @inproceedings{Jaakkola1993ConvergenceOS, 41 | title={Convergence of Stochastic Iterative Dynamic Programming Algorithms}, 42 | author={Tommi S. Jaakkola and Michael I. Jordan and Satinder P. Singh}, 43 | booktitle={Advances in neural information processing systems}, 44 | year={1993} 45 | } 46 | 47 | 48 | 49 | @inproceedings{Barreto2017SuccessorFF, 50 | title={Successor Features for Transfer in Reinforcement Learning}, 51 | author={Andr{\'e} Barreto and R{\'e}mi Munos and Tom Schaul and David Silver}, 52 | booktitle={Advances in neural information processing systems}, 53 | year={2017} 54 | } 55 | 56 | @incollection{lazaric2012transfer, 57 | title={Transfer in reinforcement learning: a framework and a survey}, 58 | author={Lazaric, Alessandro}, 59 | booktitle={Reinforcement Learning}, 60 | pages={143--173}, 61 | year={2012}, 62 | publisher={Springer} 63 | } 64 | 65 | @article{Taylor2009TransferLF, 66 | title={Transfer Learning for Reinforcement Learning Domains: A Survey}, 67 | author={Matthew E. Taylor and Peter Stone}, 68 | journal={Journal of Machine Learning Research}, 69 | year={2009}, 70 | volume={10}, 71 | pages={1633-1685} 72 | } 73 | 74 | @article{Mehta2008TransferIV, 75 | title={Transfer in variable-reward hierarchical reinforcement learning}, 76 | author={Neville Mehta and Sriraam Natarajan and Prasad Tadepalli and Alan Fern}, 77 | journal={Machine Learning}, 78 | year={2008}, 79 | volume={73}, 80 | pages={289-312} 81 | } 82 | 83 | @article{Fernndez2010ProbabilisticPR, 84 | title={Probabilistic Policy Reuse for inter-task transfer learning}, 85 | author={Fernando Fern{\'a}ndez and Javier Garc{\'i}a and Manuela M. Veloso}, 86 | journal={Robotics and Autonomous Systems}, 87 | year={2010}, 88 | volume={58}, 89 | pages={866-871} 90 | } 91 | 92 | @inproceedings{Bernsteinfbern1999ReusingOP, 93 | title={Reusing Old Policies to Accelerate Learning onNew}, 94 | author={MDPsDaniel S. Bernsteinfbern}, 95 | year={1999} 96 | } 97 | 98 | @article{bone2008survey, 99 | title={A survey of transfer learning methods for reinforcement learning}, 100 | author={Bone, Nicholas}, 101 | year={2008}, 102 | journal={Computer Science Graduate and Undergraduate Student Scholarship. 5.} 103 | publisher={Western Washington University} 104 | } 105 | 106 | 107 | 108 | @inproceedings{asadi2016alternative, 109 | title={An alternative softmax operator for reinforcement learning}, 110 | author={Asadi, Kavosh and Littman, Michael L}, 111 | booktitle={Proceedings of the 34th International Conference on Machine Learning-Volume 70}, 112 | pages={243--252}, 113 | year={2017}, 114 | organization={JMLR. org} 115 | } 116 | 117 | 118 | @InProceedings{pmlr-v70-asadi17a, 119 | title = {An Alternative Softmax Operator for Reinforcement Learning}, 120 | author = {Kavosh Asadi and Michael L. Littman}, 121 | booktitle = {Proceedings of the 34th International Conference on Machine Learning}, 122 | pages = {243--252}, 123 | year = {2017}, 124 | volume = {70}, 125 | series = {Proceedings of Machine Learning Research}, 126 | address = {International Convention Centre, Sydney, Australia}, 127 | month = {06--11 Aug}, 128 | publisher = {PMLR}, 129 | 130 | } 131 | 132 | 133 | 134 | 135 | @inproceedings{azar2013speedy, 136 | title={Speedy Q-learning}, 137 | author={Ghavamzadeh, Mohammad and Kappen, Hilbert J and Azar, Mohammad G and Munos, R{\'e}mi}, 138 | booktitle={Advances in neural information processing systems}, 139 | pages={2411--2419}, 140 | year={2011} 141 | } 142 | 143 | @inproceedings{Azar2011SpeedyQ, 144 | title={Speedy Q-Learning}, 145 | author={Mohammad Gheshlaghi Azar and R{\'e}mi Munos and Mohammad Ghavamzadeh and Hilbert J. Kappen}, 146 | booktitle={Advances in neural information processing systems}, 147 | year={2011} 148 | } 149 | 150 | @article{even2003learning, 151 | title={Learning rates for Q-learning}, 152 | author={Even-Dar, Eyal and Mansour, Yishay}, 153 | journal={Journal of Machine Learning Research}, 154 | volume={5}, 155 | pages={1--25}, 156 | year={2003} 157 | } 158 | 159 | @inproceedings{haarnoja2017reinforcement, 160 | title={Reinforcement Learning with Deep Energy-Based Policies}, 161 | author={Haarnoja, Tuomas and Tang, Haoran and Abbeel, Pieter and Levine, Sergey}, 162 | booktitle={International Conference on Machine Learning}, 163 | pages={1352--1361}, 164 | year={2017} 165 | } 166 | 167 | 168 | 169 | @inproceedings{ 170 | gupta2017learning, 171 | title={Learning invariant feature spaces to transfer skills with reinforcement learning}, 172 | author={Gupta, Abhishek and Devin, Coline and Liu, YuXuan and Abbeel, Pieter and Levine, Sergey}, 173 | booktitle={International Conference on Learning Representations}, 174 | year={2017}, 175 | } 176 | 177 | @inproceedings{Barreto2017SuccessorFF, 178 | title={Successor Features for Transfer in Reinforcement Learning}, 179 | author={Andr{\'e} Barreto and R{\'e}mi Munos and Tom Schaul and David Silver}, 180 | booktitle={Advances in neural information processing systems}, 181 | year={2017} 182 | } 183 | 184 | 185 | @inproceedings{Laroche2017TransferRL, 186 | title={Transfer Reinforcement Learning with Shared Dynamics}, 187 | author={Romain Laroche and Merwan Barlier}, 188 | booktitle={AAAI}, 189 | year={2017} 190 | } 191 | 192 | 193 | @article{Karimpanal2018SelfOrganizingMA, 194 | title={Self-Organizing Maps as a Storage and Transfer Mechanism in Reinforcement Learning}, 195 | author={Karimpanal, Thommen George and Bouffanais, Roland}, 196 | journal={arXiv preprint arXiv:1807.07530}, 197 | year={2018} 198 | } 199 | 200 | 201 | 202 | @inproceedings{ 203 | al2017continuous, 204 | title={Continuous Adaptation via Meta-Learning in Nonstationary and Competitive Environments}, 205 | author={Maruan Al-Shedivat and Trapit Bansal and Yura Burda and Ilya Sutskever and Igor Mordatch and Pieter Abbeel}, 206 | booktitle={International Conference on Learning Representations}, 207 | year={2018}, 208 | } 209 | 210 | 211 | 212 | @inproceedings{song2016measuring, 213 | title={Measuring the distance between finite markov decision processes}, 214 | author={Song, Jinhua and Gao, Yang and Wang, Hao and An, Bo}, 215 | booktitle={Proceedings of the 2016 International Conference on Autonomous Agents \& Multiagent Systems}, 216 | pages={468--476}, 217 | year={2016}, 218 | organization={International Foundation for Autonomous Agents and Multiagent Systems} 219 | } 220 | 221 | 222 | 223 | 224 | @inproceedings{zhan2015online, 225 | title={Online transfer learning in reinforcement learning domains}, 226 | author={Zhan, Yusen and Taylor, Mattew E}, 227 | booktitle={2015 AAAI Fall Symposium Series}, 228 | year={2015} 229 | } 230 | 231 | 232 | @inproceedings{spector2018sample, 233 | title={Sample-Efficient Reinforcement Learning through Transfer and Architectural Priors}, 234 | author={Spector, Benjamin and Belongie, Serge}, 235 | booktitle={Advances in neural information processing systems}, 236 | year={2017} 237 | } 238 | 239 | @inproceedings{sunmola2006model, 240 | title={Model transfer for Markov decision tasks via parameter matching}, 241 | author={Sunmola, Funlade T and Wyatt, Jeremy L}, 242 | booktitle={Proceedings of the 25th Workshop of the UK Planning and Scheduling Special Interest Group (PlanSIG 2006)}, 243 | year={2006} 244 | 245 | 246 | 247 | } 248 | 249 | 250 | @inproceedings{konidaris2006autonomous, 251 | title={Autonomous shaping: Knowledge transfer in reinforcement learning}, 252 | author={Konidaris, George and Barto, Andrew}, 253 | booktitle={Proceedings of the 23rd international conference on Machine learning}, 254 | pages={489--496}, 255 | year={2006}, 256 | organization={ACM} 257 | } 258 | 259 | 260 | @book{sutton1998reinforcement, 261 | title={Reinforcement learning: An introduction}, 262 | author={Sutton, Richard S and Barto, Andrew G and others}, 263 | year={1998}, 264 | publisher={MIT press} 265 | } 266 | 267 | @article{kober2013reinforcement, 268 | title={Reinforcement learning in robotics: A survey}, 269 | author={Kober, Jens and Bagnell, J Andrew and Peters, Jan}, 270 | journal={The International Journal of Robotics Research}, 271 | volume={32}, 272 | number={11}, 273 | pages={1238--1274}, 274 | year={2013}, 275 | publisher={SAGE Publications Sage UK: London, England} 276 | } 277 | 278 | @article{mnih2015human, 279 | title={Human-level control through deep reinforcement learning}, 280 | author={Mnih, Volodymyr and Kavukcuoglu, Koray and Silver, David and Rusu, Andrei A and Veness, Joel and Bellemare, Marc G and Graves, Alex and Riedmiller, Martin and Fidjeland, Andreas K and Ostrovski, Georg and others}, 281 | journal={Nature}, 282 | volume={518}, 283 | number={7540}, 284 | pages={529--533}, 285 | year={2015}, 286 | publisher={Nature Research} 287 | } 288 | 289 | @article{silver2016mastering, 290 | title={Mastering the game of Go with deep neural networks and tree search}, 291 | author={Silver, David and Huang, Aja and Maddison, Chris J and Guez, Arthur and Sifre, Laurent and Van Den Driessche, George and Schrittwieser, Julian and Antonoglou, Ioannis and Panneershelvam, Veda and Lanctot, Marc and others}, 292 | journal={Nature}, 293 | volume={529}, 294 | number={7587}, 295 | pages={484--489}, 296 | year={2016}, 297 | publisher={Nature Publishing Group} 298 | } 299 | 300 | 301 | 302 | @inproceedings{ 303 | bahdanau2016actor, 304 | title={An actor-critic algorithm for sequence prediction}, 305 | author={Bahdanau, Dzmitry and Brakel, Philemon and Xu, Kelvin and Goyal, Anirudh and Lowe, Ryan and Pineau, Joelle and Courville, Aaron and Bengio, Yoshua}, 306 | booktitle={International Conference on Learning Representations}, 307 | year={2016}, 308 | } 309 | 310 | @phdthesis{watkins1989learning, 311 | title={Learning from delayed rewards}, 312 | author={Watkins, Christopher John Cornish Hellaby}, 313 | year={1989}, 314 | school={King's College, Cambridge} 315 | } 316 | 317 | 318 | @inproceedings{jaakkola1994convergence, 319 | title={Convergence of stochastic iterative dynamic programming algorithms}, 320 | author={Jaakkola, Tommi and Jordan, Michael I and Singh, Satinder P}, 321 | booktitle={Advances in neural information processing systems}, 322 | pages={703--710}, 323 | year={1994} 324 | } 325 | 326 | @article{pan2010survey, 327 | author={S. J. {Pan} and Q. {Yang}}, 328 | journal={IEEE Transactions on Knowledge and Data Engineering}, 329 | title={A Survey on Transfer Learning}, 330 | year={2010}, 331 | volume={22}, 332 | number={10}, 333 | pages={1345-1359}, 334 | keywords={knowledge engineering;learning by example;optimisation;unsupervised learning;machine learning;data mining;knowledge transfer;inductive transfer learning;transductive transfer learning;unsupervised transfer learning;Machine learning;Training data;Data mining;Knowledge transfer;Space technology;Knowledge engineering;Machine learning algorithms;Labeling;Learning systems;Testing;Transfer learning;survey;machine learning;data mining.}, 335 | ISSN={2326-3865}, 336 | month={Oct},} 337 | } 338 | 339 | 340 | @inproceedings{oquab2014learning, 341 | title={Learning and transferring mid-level image representations using convolutional neural networks}, 342 | author={M. {Oquab} and L. {Bottou} and I. {Laptev} and J. {Sivic}}, 343 | booktitle={2014 IEEE Conference on Computer Vision and Pattern Recognition}, 344 | title={Learning and Transferring Mid-level Image Representations Using Convolutional Neural Networks}, 345 | year={2014}, 346 | volume={}, 347 | number={}, 348 | pages={1717-1724}, 349 | ISSN={1063-6919}, 350 | month={June},} 351 | } 352 | 353 | @inproceedings{li2009transfer, 354 | title={Transfer learning for collaborative filtering via a rating-matrix generative model}, 355 | author={Li, Bin and Yang, Qiang and Xue, Xiangyang}, 356 | booktitle={Proceedings of the 26th annual international conference on machine learning}, 357 | pages={617--624}, 358 | year={2009}, 359 | organization={ACM} 360 | } 361 | 362 | @article{csaji2008value, 363 | title={Value function based reinforcement learning in changing Markovian environments}, 364 | author={Cs{\'a}ji, Bal{\'a}zs Csan{\'a}d and Monostori, L{\'a}szl{\'o}}, 365 | journal={Journal of Machine Learning Research}, 366 | volume={9}, 367 | number={Aug}, 368 | pages={1679--1709}, 369 | year={2008} 370 | } 371 | 372 | 373 | @inproceedings{szepesvari1998asymptotic, 374 | title={The asymptotic convergence-rate of Q-learning}, 375 | author={Szepesv{\'a}ri, Csaba}, 376 | booktitle={Advances in Neural Information Processing Systems}, 377 | pages={1064--1070}, 378 | year={1998} 379 | } 380 | 381 | 382 | 383 | @book{ abelson-et-al:scheme, 384 | author = "Harold Abelson and Gerald~Jay Sussman and Julie Sussman", 385 | title = "Structure and Interpretation of Computer Programs", 386 | publisher = "MIT Press", 387 | address = "Cambridge, Massachusetts", 388 | year = "1985" 389 | } 390 | 391 | @inproceedings{ bgf:Lixto, 392 | author = "Robert Baumgartner and Georg Gottlob and Sergio Flesca", 393 | title = "Visual Information Extraction with {Lixto}", 394 | booktitle = "Proceedings of the 27th International Conference on Very Large Databases", 395 | pages = "119--128", 396 | publisher = "Morgan Kaufmann", 397 | address = "Rome, Italy", 398 | month = "September", 399 | year = "2001" 400 | } 401 | 402 | @article{ brachman-schmolze:kl-one, 403 | author = "Ronald~J. Brachman and James~G. Schmolze", 404 | title = "An overview of the {KL-ONE} knowledge representation system", 405 | journal = "Cognitive Science", 406 | volume = "9", 407 | number = "2", 408 | pages = "171--216", 409 | month = "April--June", 410 | year = "1985" 411 | } 412 | 413 | @article{ gottlob:nonmon, 414 | author = "Georg Gottlob", 415 | title = "Complexity results for nonmonotonic logics", 416 | journal = "Journal of Logic and Computation", 417 | volume = "2", 418 | number = "3", 419 | pages = "397--425", 420 | month = "June", 421 | year = "1992" 422 | } 423 | 424 | @article{ gls:hypertrees, 425 | author = "Georg Gottlob and Nicola Leone and Francesco Scarcello", 426 | title = "Hypertree Decompositions and Tractable Queries", 427 | journal = "Journal of Computer and System Sciences", 428 | volume = "64", 429 | number = "3", 430 | pages = "579--627", 431 | month = "May", 432 | year = "2002" 433 | } 434 | 435 | @article{ levesque:functional-foundations, 436 | author = "Hector~J. Levesque", 437 | title = "Foundations of a functional approach to knowledge representation", 438 | journal = "Artificial Intelligence", 439 | volume = "23", 440 | number = "2", 441 | pages = "155--212", 442 | month = "July", 443 | year = "1984" 444 | } 445 | 446 | @inproceedings{ levesque:belief, 447 | author = "Hector~J. Levesque", 448 | title = "A logic of implicit and explicit belief", 449 | booktitle = "Proceedings of the Fourth National Conference on Artificial Intelligence", 450 | publisher = "American Association for Artificial Intelligence", 451 | pages = "198--202", 452 | address = "Austin, Texas", 453 | month = "August", 454 | year = "1984" 455 | } 456 | 457 | @article{ nebel:jair-2000, 458 | author = "Bernhard Nebel", 459 | title = "On the compilability and expressive power of propositional planning formalisms", 460 | journal = "Journal of Artificial Intelligence Research", 461 | volume = "12", 462 | pages = "271--315", 463 | year = "2000" 464 | } 465 | 466 | @misc{proceedings, 467 | author = {{IJCAI Proceedings}}, 468 | title = {{IJCAI} Camera Ready Submission}, 469 | howpublished = {\url{https://proceedings.ijcai.org/info}}, 470 | } 471 | 472 | 473 | @article{barto1983neuronlike, 474 | title={Neuronlike adaptive elements that can solve difficult learning control problems}, 475 | author={Barto, Andrew G and Sutton, Richard S and Anderson, Charles W}, 476 | journal={IEEE transactions on systems, man, and cybernetics}, 477 | number={5}, 478 | pages={834--846}, 479 | year={1983}, 480 | volume={SMC-13}, 481 | publisher={IEEE} 482 | } 483 | 484 | @misc{ 485 | ma2018universal, 486 | title={Universal Successor Representations for Transfer Reinforcement Learning}, 487 | author={Chen Ma and Junfeng Wen and Yoshua Bengio}, 488 | year={2018}, 489 | } 490 | 491 | 492 | @ARTICLE{dbopt, 493 | author={J. {Zhang} and Z. {Wang} and H. {Zhang}}, 494 | journal={IEEE Transactions on Cybernetics}, 495 | title={Data-Based Optimal Control of Multiagent Systems: A Reinforcement Learning Design Approach}, 496 | year={2019}, 497 | volume={49}, 498 | number={12}, 499 | pages={4441-4449}, 500 | ISSN={2168-2275}, 501 | month={Dec},} 502 | 503 | 504 | @ARTICLE{lsfinite, 505 | author={Y. {Sheng} and F. L. {Lewis} and Z. {Zeng} and T. {Huang}}, 506 | journal={IEEE Transactions on Cybernetics}, 507 | title={Lagrange Stability and Finite-Time Stabilization of Fuzzy Memristive Neural Networks With Hybrid Time-Varying Delays}, 508 | year={2019}, 509 | volume={}, 510 | number={}, 511 | pages={1-12}, 512 | ISSN={2168-2275}, 513 | month={},} 514 | 515 | @article{cao2019hierarchical, 516 | title={Hierarchical Critics Assignment for Multi-agent Reinforcement Learning}, 517 | author={Cao, Zehong and Lin, Chin-Teng}, 518 | journal={arXiv preprint arXiv:1902.03079}, 519 | year={2019} 520 | } 521 | 522 | @ARTICLE{ppcoop, 523 | author={H. {Liang} and Y. {Zhang} and T. {Huang} and H. {Ma}}, 524 | journal={IEEE Transactions on Cybernetics}, 525 | title={Prescribed Performance Cooperative Control for Multiagent Systems With Input Quantization}, 526 | year={2019}, 527 | volume={}, 528 | number={}, 529 | pages={1-10}, 530 | ISSN={2168-2275}, 531 | month={},} 532 | 533 | 534 | @inproceedings{da2016transfer, 535 | title={Transfer learning for multiagent reinforcement learning systems}, 536 | author={Da Silva, Felipe Leno and Costa, Anna Helena Reali}, 537 | booktitle={Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence}, 538 | pages={3982--3983}, 539 | year={2016}, 540 | organization={AAAI Press} 541 | } 542 | 543 | 544 | @inproceedings{Yang2018MeanFM, 545 | title={Mean Field Multi-Agent Reinforcement Learning}, 546 | author={Yaodong Yang and Rui Luo and Minne Li and Ming Zhou and Weinan Zhang and Jun Wang}, 547 | booktitle={Proceedings of the 35th annual international conference on machine learning}, 548 | year={2018} 549 | } 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | @InProceedings{Yang2018MeanFM, 559 | title = {Mean Field Multi-Agent Reinforcement Learning}, 560 | author = {Yang, Yaodong and Luo, Rui and Li, Minne and Zhou, Ming and Zhang, Weinan and Wang, Jun}, 561 | booktitle = {Proceedings of the 35th International Conference on Machine Learning}, 562 | pages = {5571--5580}, 563 | year = {2018}, 564 | editor = {Dy, Jennifer and Krause, Andreas}, 565 | volume = {80}, 566 | series = {Proceedings of Machine Learning Research}, 567 | address = {Stockholmsmässan, Stockholm Sweden}, 568 | month = {10--15 Jul}, 569 | publisher = {PMLR}, 570 | } 571 | 572 | 573 | @article{Mazouchi2018AND, 574 | title={A novel distributed optimal adaptive control algorithm for nonlinear multi-agent differential graphical games}, 575 | author={Majid Mazouchi and Mohammad bagher Naghibi-Sistani and Seyed Kamal Hosseini Sani}, 576 | journal={IEEE/CAA Journal of Automatica Sinica}, 577 | year={2018}, 578 | volume={5}, 579 | number={1}, 580 | pages={331-341} 581 | } 582 | 583 | 584 | @article{yan2013survey, 585 | title={A survey and analysis of multi-robot coordination}, 586 | author={Yan, Zhi and Jouandeau, Nicolas and Cherif, Arab Ali}, 587 | journal={International Journal of Advanced Robotic Systems}, 588 | volume={10}, 589 | number={12}, 590 | pages={399}, 591 | year={2013}, 592 | publisher={SAGE Publications Sage UK: London, England} 593 | } 594 | 595 | 596 | 597 | @inproceedings{foerster:icml19, 598 | title = "Bayesian Action Decoder for Deep Multi-Agent Reinforcement Learning", 599 | author = "Jakob N. Foerster and H. Francis Song and Edward Hughes and Neil Burch and Iain Dunning and Shimon Whiteson and Matthew M. Botvinick and Michael Bowling", 600 | year = "2019", 601 | booktitle = "Proceedings of the 36 International Conference on Machine Learning", 602 | month = "June", 603 | } 604 | 605 | 606 | @inproceedings{Barrett2010TransferLF, 607 | title={Transfer Learning for Reinforcement Learning on a Physical Robot}, 608 | author={Samuel Barrett and Matthew E. Taylor and Peter Stone}, 609 | booktitle={AAMAS}, 610 | year={2010} 611 | } 612 | 613 | 614 | @INPROCEEDINGS{arlapproach2015, 615 | author={M. {Rabe} and F. {Dross}}, 616 | booktitle={2015 Winter Simulation Conference (WSC)}, 617 | title={A Reinforcement Learning approach for a Decision Support System for logistics networks}, 618 | year={2015}, 619 | volume={}, 620 | number={}, 621 | pages={2020-2032}, 622 | ISSN={1558-4305}, 623 | month={Dec},} 624 | 625 | 626 | 627 | @misc{baselines, 628 | author = {Dhariwal, Prafulla and Hesse, Christopher and Klimov, Oleg and Nichol, Alex and Plappert, Matthias and Radford, Alec and Schulman, John and Sidor, Szymon and Wu, Yuhuai and Zhokhov, Peter}, 629 | title = {OpenAI Baselines}, 630 | year = {2017}, 631 | publisher = {GitHub}, 632 | journal = {GitHub repository}, 633 | howpublished = {\url{https://github.com/openai/baselines}}, 634 | } 635 | 636 | 637 | @article{castro18dopamine, 638 | author = {Pablo Samuel Castro and 639 | Subhodeep Moitra and 640 | Carles Gelada and 641 | Saurabh Kumar and 642 | Marc G. Bellemare}, 643 | title = {Dopamine: {A} {R}esearch {F}ramework for {D}eep {R}einforcement {L}earning}, 644 | year = {2018}, 645 | url = {http://arxiv.org/abs/1812.06110}, 646 | archivePrefix = {arXiv} 647 | } 648 | 649 | 650 | @article{devlin2018bert, 651 | title={BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding}, 652 | author={Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina}, 653 | journal={arXiv preprint arXiv:1810.04805}, 654 | year={2018} 655 | } 656 | 657 | 658 | @inproceedings{kornblith2019better, 659 | title={Do better imagenet models transfer better?}, 660 | author={Kornblith, Simon and Shlens, Jonathon and Le, Quoc V}, 661 | booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition}, 662 | pages={2661--2671}, 663 | year={2019} 664 | } -------------------------------------------------------------------------------- /GBT7714-2005NLang.bst: -------------------------------------------------------------------------------- 1 | %% BUPTThesis.bst 2 | %% 3 | %% 北京理工大学研究生学位论文参考文献 BibTeX 样式 4 | %% 5 | %% 6 | %% 直接采用了北京邮电大学的模板 7 | %% 8 | %% 9 | %% 本样式基于 IEEEtran 和 ThuThesis 修改而成,基本满足北京邮电大学研究生论文格式要求 10 | %% 11 | %% 作者: 12 | %% 张煜 (email:dazzlezhang@gmail.com) 13 | %% 14 | %% 更新记录: 15 | %% $LastChangedBy: dazzlezhang $ 16 | %% $LastChangedDate: 2009-06-24 11:30:57 +0800 (三, 2009-06-24) $ 17 | %% $LastChangedRevision: 71 $ 18 | 19 | %% 一些设置的缺省值 20 | % 英文姓名排版格式字符串, 按~<, Jr.>格式 21 | FUNCTION {default.name.format.string} {"{vv~}{ll}{~f}{, Jj}"} 22 | 23 | % 列出的最多作者数目, 即当作者数目超过下列数字时, 超出部分的作者姓名将略去 24 | FUNCTION {default.max.num.names.before.forced.et.al} { #3 } 25 | 26 | % 是否为盲审版本, #0 表示盲审将隐去作者信息, #1 表示非盲审 27 | FUNCTION {default.is.for.peer.review} { #0 } 28 | %%%%%%%%%%%%%% 29 | % 一些辅助函数 30 | %%%%%%%%%%%%%% 31 | % #0 不在终端显示开始/完成的提示信息 32 | % #1 显示提示信息 33 | FUNCTION {is.print.banners.to.terminal} {#1} 34 | 35 | %%%%%%%%%%%%%%%% 36 | % 版本与提示信息 37 | %%%%%%%%%%%%%%%% 38 | % 版本信息 39 | FUNCTION{bst.file.version} { "0.2" } 40 | FUNCTION{bst.file.date} { "2009/01/25" } 41 | FUNCTION{bst.file.website} { 42 | "http://code.google.com/p/buptthesis/" } 43 | 44 | % 开始提示信息 45 | FUNCTION {banner.message}{ 46 | is.print.banners.to.terminal 47 | { "-- BUPTThesis.bst version" " " * bst.file.version * 48 | " (" * bst.file.date * ") " * "by Yu Zhang." * 49 | top$ 50 | "-- " bst.file.website * 51 | top$ 52 | "-- See the " quote$ * "userguide.pdf" * quote$ * 53 | " manual for usage information." * 54 | top$ 55 | } 56 | { skip$ } 57 | if$ 58 | } 59 | 60 | % 完成提示信息 61 | FUNCTION {completed.message} { 62 | is.print.banners.to.terminal 63 | { "" top$ "Done." top$ } 64 | { skip$ } 65 | if$ 66 | } 67 | 68 | %%%%%%%%%%%%%%%%%%% 69 | %% 预定义的字符串宏 70 | %%%%%%%%%%%%%%%%%%% 71 | % 英文月份 72 | MACRO {jan} {"January"} 73 | MACRO {feb} {"February"} 74 | MACRO {mar} {"March"} 75 | MACRO {apr} {"April"} 76 | MACRO {may} {"May"} 77 | MACRO {jun} {"June"} 78 | MACRO {jul} {"July"} 79 | MACRO {aug} {"August"} 80 | MACRO {sep} {"September"} 81 | MACRO {oct} {"October"} 82 | MACRO {nov} {"November"} 83 | MACRO {dec} {"December"} 84 | 85 | %%%%%%%%%%%% 86 | %% 条目定义 87 | %%%%%%%%%%%% 88 | ENTRY { address % 地址 89 | assignee % 标准授权人 90 | author % 作者 91 | booktitle % 专著/论文集名 92 | chapter % 93 | day % 94 | dayfiled % 95 | edition % 版本 96 | editor % 编者 97 | howpublished % 出版形式 98 | esubtype % 电子文献子类 99 | institution % 100 | journal % 期刊 101 | key % 102 | language % 语言 103 | month % 月 104 | monthfiled % 105 | nationality % 106 | newsletter % 107 | note % 108 | number % 109 | number2 % 110 | organization % 111 | pages % 112 | publisher % 113 | refdate % 114 | update % 电子文档更新或修改日期 115 | school % 116 | series % 117 | title % 118 | translator % 119 | type % 120 | volume % 121 | volume2 % 122 | year % 123 | year2 % 124 | yearfiled % 125 | url % URL 126 | pubaddress % 出版地 127 | CTLname_format_string % 作者英文姓名排版格式 128 | CTLmax_names_forced_etal % 强制略去的最大作者数 129 | CTLauthor_name_english % 作者英文姓名 130 | CTLauthor_name_chinese % 作者中文姓名 131 | CTLfor_peer_review % 是否匿名 132 | } 133 | {} 134 | { label } 135 | 136 | %%%%%%%%%%%%% 137 | %% 字符串常量 138 | %%%%%%%%%%%%% 139 | % FUNCTION {bbl.anonymous} { language empty$ { "Anon" } { "佚名" } if$ } 140 | FUNCTION {bbl.anonymous} { "" } 141 | FUNCTION {bbl.etal} { language empty$ { "et~al" } { "等" } if$ } 142 | FUNCTION {bbl.sine.loco} { language empty$ { "S.~l." } { "出版地不详" } if$ } 143 | FUNCTION {bbl.sine.nomine} { language empty$ { "s.~n." } { "出版者不详" } if$ } 144 | 145 | FUNCTION {bbl.comma} { language empty$ { ", " } { "," } if$ } 146 | FUNCTION {bbl.colon} { language empty$ { ": " } { ":" } if$ } 147 | FUNCTION {bbl.period} { language empty$ { "." } { "." } if$ } 148 | FUNCTION {bbl.parallel} { "~//~" } 149 | 150 | FUNCTION {bbl.st} { "st" } % 序数词后缀 151 | FUNCTION {bbl.nd} { "nd" } % 序数词后缀 152 | FUNCTION {bbl.rd} { "rd" } % 序数词后缀 153 | FUNCTION {bbl.th} { "th" } % 序数词后缀 154 | 155 | FUNCTION {bbl.number} { "第" } 156 | FUNCTION {bbl.author} { "作者" } 157 | 158 | %%%%%%%%%%%% 159 | %% 整型变量 160 | %%%%%%%%%%% 161 | INTEGERS { output.state before.all mid.sentence after.title after.sentence url.sentence after.block before.pages } 162 | INTEGERS { number.label longest.label.width multiresult 163 | nameptr namesleft numnames lastnamecapitalized namelength charptr } 164 | INTEGERS { max.num.names.before.forced.et.al } 165 | INTEGERS { is.for.peer.review } 166 | 167 | %%%%%%%%%%%%% 168 | %% 字符串变量 169 | %%%%%%%%%%%%% 170 | STRINGS { s 171 | t 172 | longest.label 173 | thename 174 | name.emph.author.en % 强调现实的作者英文姓名 175 | name.emph.author.zh % 强调显示的作者中文姓名 176 | name.format.string % 姓名的格式字符串 177 | author.name.in.english % 作者英文姓名 178 | author.name.in.chinese % 作者中文姓名 179 | } 180 | 181 | %%%%%%%%%%%%%%%%%%%%% 182 | %% LaTeX 参考文献代码 183 | %%%%%%%%%%%%%%%%%%%%% 184 | 185 | % 输出 .bbl 文件开始 186 | FUNCTION {begin.bib} { 187 | "% Generated by BUPTThesis.bst, version: " bst.file.version * 188 | " (" * bst.file.date * ")" * 189 | write$ newline$ % 输出注释行,说明产生该bbl的bst及版本 190 | 191 | preamble$ empty$ % 输出前导 192 | 'skip$ 193 | { preamble$ write$ newline$ } 194 | if$ 195 | 196 | "\begin{thebibliography}{" longest.label * "}" * 197 | write$ newline$ % 输出 \begin{thebiliography}{x} 198 | } 199 | 200 | % 输出 .bbl 文件结束部分 201 | FUNCTION {end.bib} { 202 | newline$ 203 | "\end{thebibliography}" 204 | write$ newline$ 205 | } 206 | 207 | %%%%%%%%%%%% 208 | %% 底层函数 209 | %%%%%%%%%%%% 210 | 211 | % 控制变量初始化 212 | FUNCTION {initialize.controls} { 213 | default.name.format.string 'name.format.string := 214 | default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al := 215 | default.is.for.peer.review 'is.for.peer.review := 216 | } 217 | 218 | % 初始化最长 label 219 | FUNCTION {initialize.longest.label} { 220 | "" 'longest.label := 221 | #1 'number.label := 222 | #0 'longest.label.width := 223 | } 224 | 225 | % 最长 label pass 226 | FUNCTION {longest.label.pass} 227 | { number.label int.to.str$ 'label := 228 | number.label #1 + 'number.label := 229 | label width$ longest.label.width > 230 | { label 'longest.label := 231 | label width$ 'longest.label.width := 232 | } 233 | { skip$ } 234 | if$ 235 | } 236 | 237 | % 逻辑非: 栈顶元素的逻辑非 238 | FUNCTION {not} { 239 | { #0 } 240 | { #1 } 241 | if$ 242 | } 243 | 244 | % 逻辑与 245 | FUNCTION {and} { 246 | { skip$ } 247 | { pop$ #0 } 248 | if$ 249 | } 250 | 251 | % 逻辑或 252 | FUNCTION {or} { 253 | { pop$ #1 } 254 | { skip$ } 255 | if$ 256 | } 257 | 258 | % 返回 #1 : 栈顶字符是数字"0"~"9" 259 | % 返回 #0 : 其他 260 | FUNCTION {is.num} { 261 | chr.to.int$ 262 | duplicate$ "0" chr.to.int$ < not 263 | swap$ "9" chr.to.int$ > not and 264 | } 265 | 266 | % 栈顶整数乘以10 267 | FUNCTION {bump.int.mag} { 268 | #0 'multiresult := % 初始化乘运算结果 y <- 0 269 | { duplicate$ #0 > } % 栈顶整数 x = 0 时才停止循环 270 | { #1 - % x <- x - 1 271 | multiresult #10 + 272 | 'multiresult := % y <- y + 10 273 | } 274 | while$ 275 | pop$ % 释放 x 276 | multiresult % y 压栈返回 277 | } 278 | 279 | % 将栈顶字符("0"~"9")转换为整数(0~9) 280 | FUNCTION {char.to.integer} { 281 | duplicate$ 282 | is.num 283 | { chr.to.int$ "0" chr.to.int$ - } 284 | { "noninteger character " quote$ * swap$ * quote$ * 285 | " in integer field of " * cite$ * warning$ 286 | #0 % 如果栈定字符不是("0"~"9"), 给出警告返回 0 287 | } 288 | if$ 289 | } 290 | 291 | % 将栈顶字符串转换为整数 292 | FUNCTION {string.to.integer} { 293 | duplicate$ text.length$ 'namesleft := % namesleft <- 字符串长度 294 | #1 'nameptr := % nameptr <- 1 295 | #0 'numnames := % numnames <- 0 296 | { nameptr namesleft > not } % while( ! ( nameptr > namesleft ) ) 297 | { duplicate$ nameptr #1 substring$ % 取第 nameptr 个字符 x 298 | char.to.integer numnames bump.int.mag + 299 | 'numnames := % numnames <- chr2int( x ) + 10 * numnames 300 | nameptr #1 + 301 | 'nameptr := % nameptr <- nameptr + 1 302 | } 303 | while$ 304 | pop$ % 释放栈顶元素 305 | numnames % numnames 压栈返回 306 | } 307 | 308 | % convert the strings "yes" or "no" to #1 or #0 respectively 309 | FUNCTION {yes.no.to.int} 310 | { "l" change.case$ duplicate$ 311 | "yes" = 312 | { pop$ #1 } 313 | { duplicate$ "no" = 314 | { pop$ #0 } 315 | { "unknown boolean " quote$ * swap$ * quote$ * 316 | " in " * cite$ * warning$ 317 | #0 318 | } 319 | if$ 320 | } 321 | if$ 322 | } 323 | 324 | % 初始化状态常量 325 | FUNCTION {initialize.status.constants} 326 | { #0 'before.all := % 起始 327 | #1 'mid.sentence := % 句中 328 | #2 'after.sentence := % 句末 329 | #3 'after.block := % 块后 330 | #4 'after.title := % 331 | #5 'before.pages := % 332 | } 333 | 334 | FUNCTION {remove.char} 335 | { 't := 336 | 's := 337 | "" 338 | { s empty$ not } 339 | { s #1 #1 substring$ 340 | s #2 global.max$ substring$ 's := 341 | duplicate$ t = 'pop$ 342 | { * } 343 | if$ 344 | } 345 | while$ 346 | } 347 | 348 | STRINGS {z} 349 | FUNCTION {remove.period} 350 | { 'z := 351 | "" 352 | { z empty$ not } 353 | { z #1 #1 substring$ 354 | z #2 global.max$ substring$ 'z := 355 | duplicate$ "." = 'pop$ 356 | { * } 357 | if$ 358 | } 359 | while$ 360 | } 361 | 362 | FUNCTION {remove.dots} { 363 | duplicate$ "input=" swap$ * warning$ 364 | "language=" language * warning$ 365 | language empty$ 366 | { "." remove.char 367 | duplicate$ "output('.')=" swap$ * warning$ } 368 | { "." remove.char 369 | duplicate$ "output('.')=" swap$ * warning$ 370 | "." remove.char 371 | duplicate$ "output('.')=" swap$ * warning$ } 372 | if$ 373 | } 374 | 375 | FUNCTION {bibinfo.check} 376 | { swap$ 377 | duplicate$ missing$ 378 | { 379 | pop$ pop$ 380 | "" 381 | } 382 | { duplicate$ empty$ 383 | { 384 | swap$ pop$ 385 | } 386 | { swap$ 387 | pop$ 388 | } 389 | if$ 390 | } 391 | if$ 392 | } 393 | 394 | %%%%%%%%%%%% 395 | %% 调试例程 396 | %%%%%%%%%%%% 397 | 398 | % 默认调试输出函数 399 | FUNCTION {debug.output} { 400 | "[DEBUG] " swap$ * top$ 401 | } 402 | 403 | % 状态调试输出函数 404 | FUNCTION {debug.output.status} { 405 | "---- output.state=" 406 | output.state before.all = 407 | { "before.all" } 408 | { output.state mid.sentence = 409 | { "mid.sentence" } 410 | { output.state after.sentence = 411 | { "after.sentence" } 412 | { output.state url.sentence = 413 | { "url.sentence" } 414 | { output.state before.pages = 415 | { "before.pages" } 416 | { "after.block" } 417 | if$ 418 | } 419 | if$ 420 | } 421 | if$ 422 | } 423 | if$ 424 | } 425 | if$ 426 | * debug.output 427 | } 428 | 429 | FUNCTION {output.year} 430 | { 't := 431 | number empty$ 432 | volume empty$ 433 | and 434 | { add.period$ write$ } 435 | { ", " * write$ } 436 | if$ 437 | t 438 | } 439 | 440 | % STRINGS {z} 441 | % FUNCTION {remove.dots} 442 | % { 'z := 443 | % "" 444 | % { z empty$ not } 445 | % { z #1 #1 substring$ 446 | % z #2 global.max$ substring$ 'z := 447 | % duplicate$ bbl.period = 'pop$ 448 | % { * } 449 | % if$ 450 | % } 451 | % while$ 452 | % %z 453 | % } 454 | 455 | % 对于中文文献, 用全角句点替换英文句点 456 | FUNCTION {replace.half.width.period} { 457 | % % DEBUG 458 | % duplicate$ "-- replace.half.width.period(" swap$ * ")" * debug.output 459 | % % END OF DEBUG 460 | language empty$ 461 | { " " * } % 对于英文文献, 在句点后加一空格 462 | { duplicate$ text.length$ 'numnames := % numnames 等于字符串长度 463 | % % DEBUG 464 | % numnames int.to.str$ "---- text.length$=" swap$ * debug.output 465 | % % END OF DEBUG 466 | duplicate$ numnames #1 substring$ "." = 467 | { % % DEBUG 468 | % "---- Found '.' at the end" debug.output 469 | % % END OF DEBUG 470 | numnames #1 - 471 | #1 swap$ substring$ 472 | bbl.period * 473 | } 474 | { skip$ } 475 | if$ 476 | } 477 | if$ 478 | % % DEBUG 479 | % duplicate$ "---- Return=" swap$ * debug.output 480 | % % END OF DEBUG 481 | } 482 | 483 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 484 | %% 输出例程: 输出栈顶项并根据需要添加标点符号 485 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 486 | 487 | % 非空项输出函数: 用于输出非空项 488 | FUNCTION {output.nonnull} { 489 | % % DEBUG 490 | % duplicate$ "output.nonnull(" swap$ * ")" * debug.output 491 | % debug.output.status 492 | % % END OF DEBUG 493 | swap$ 494 | % 根据当前输出状态添加前置标点符号 495 | % before.all 起始, 不添加任何标点符号直接输出 496 | % mid.sentence 句中, 前置逗号输出 497 | % after.sentence 句末, 前置句号输出 498 | % after.block 块后, 前置句号, 后置 \newblock 输出 499 | % after.title 500 | output.state mid.sentence = 501 | { bbl.comma * write$ } % mid.sentence 前置逗号 502 | { output.state after.block = 503 | { add.period$ % 块后, 后置句号 504 | replace.half.width.period % 为中文文献替换句点 505 | write$ 506 | newline$ 507 | % "\newblock " write$ 508 | } % 后置 \newblock 输出 509 | { output.state before.all = 510 | { write$ } % 起始, 不添加任何标点符号直接输出 511 | { output.state after.title = 512 | { bbl.parallel * 513 | write$ } 514 | { output.state before.pages = 515 | { bbl.colon * 516 | write$ } 517 | { add.period$ % 句末, 前置句号输出 518 | replace.half.width.period 519 | write$ } % 520 | if$ 521 | } 522 | if$ 523 | } 524 | if$ 525 | } 526 | if$ 527 | mid.sentence 'output.state := 528 | } 529 | if$ 530 | % s 531 | } 532 | 533 | % 无警告输出函数 534 | FUNCTION {output} { 535 | duplicate$ empty$ 536 | { pop$ } % 若输出项为空, 则舍去空输出项 537 | { output.nonnull } % 否则调用非空输出函数 538 | if$ 539 | } 540 | 541 | % 警告输出函数: 同 output, 但是对于空项给出警告提示 542 | FUNCTION {output.warn} 543 | { 't := 544 | duplicate$ empty$ 545 | { pop$ "empty " t * " in " * cite$ * warning$ } 546 | { output.nonnull } 547 | if$ 548 | } 549 | 550 | % 将数字字符串转换成序数词形式字符串(例如: "7" -> "7th") 551 | FUNCTION {num.to.ordinal} { 552 | duplicate$ #-1 #1 substring$ "1" = 553 | { bbl.st * } 554 | { duplicate$ #-1 #1 substring$ "2" = 555 | { bbl.nd * } 556 | { duplicate$ #-1 #1 substring$ "3" = 557 | { bbl.rd * } 558 | { bbl.th * } 559 | if$ 560 | } 561 | if$ 562 | } 563 | if$ 564 | } 565 | 566 | % 从字符串中提取前导数字的函数 567 | % 如果栈顶字符串以数字开头(例如: "11th"), 则将字符串用其数字部分(即,"11") 568 | % 替换. 否则, 保持原字符串不变. 用于版本转换函数(convert.edition) 569 | % s 保存提取出的数字, t 保存剩余待扫描的字符串. 570 | FUNCTION {extract.num} { 571 | duplicate$ 't := % t <- 输入字符串 572 | "" 's := % s <- "" 573 | { t empty$ not } % while( t != "" ) { 574 | { t #1 #1 substring$ % tmp <- t[0] 575 | t #2 global.max$ substring$ 576 | 't := % t <- t[2:global.max$] 577 | duplicate$ is.num % if( is.num( tmp ) ) 578 | { s swap$ * 's := } % s <- s & tmp 579 | { pop$ "" 't := } % else t <- "" 580 | if$ % } 581 | } % 582 | while$ % if( s == "" ) 583 | s empty$ % ; 584 | 'skip$ % else 585 | { pop$ s } % return s 586 | if$ % 587 | } 588 | 589 | % 将1st~10th单词形式的序数词转换成阿拉伯数字形式 590 | FUNCTION {word.to.num} { 591 | duplicate$ "l" change.case$ 592 | 's := % s <- lower( arg ) 593 | s "first" = % if ( s == "first" ) 594 | { pop$ "1" } % return "1" 595 | { skip$ } 596 | if$ 597 | s "second" = % if ( s == "second" ) 598 | { pop$ "2" } % return "2" 599 | { skip$ } 600 | if$ 601 | s "third" = 602 | { pop$ "3" } 603 | { skip$ } 604 | if$ 605 | s "fourth" = 606 | { pop$ "4" } 607 | { skip$ } 608 | if$ 609 | s "fifth" = 610 | { pop$ "5" } 611 | { skip$ } 612 | if$ 613 | s "sixth" = 614 | { pop$ "6" } 615 | { skip$ } 616 | if$ 617 | s "seventh" = 618 | { pop$ "7" } 619 | { skip$ } 620 | if$ 621 | s "eighth" = 622 | { pop$ "8" } 623 | { skip$ } 624 | if$ 625 | s "ninth" = 626 | { pop$ "9" } 627 | { skip$ } 628 | if$ 629 | s "tenth" = 630 | { pop$ "10" } 631 | { skip$ } 632 | if$ 633 | } 634 | 635 | % 转换字符串形式的序数词为数字形式的序数词 636 | % 例如: 将 "Eleventh" 转换为 "11th" 637 | FUNCTION {convert.edition} { 638 | duplicate$ empty$ 'skip$ 639 | { duplicate$ #1 #1 substring$ 640 | is.num % if( is.num( arg[1] ) ) { 641 | { extract.num % tmp <- extract.num( arg ) 642 | num.to.ordinal % tmp <- num.to.ordinal( tmp ) 643 | } % } else { 644 | { word.to.num % tmp <- word.to.num( arg ) 645 | duplicate$ #1 #1 substring$ 646 | is.num % if( is.num( tmp[1] ) ) 647 | { num.to.ordinal } % tmp <- num.to.ordinal( tmp ) 648 | { "edition ordinal word " 649 | quote$ * edition * quote$ * 650 | " may be too high (or improper) for conversion" * 651 | " in " * cite$ * warning$ % else output warning 652 | } 653 | if$ 654 | } 655 | if$ 656 | } 657 | if$ 658 | } 659 | 660 | FUNCTION {start.entry} 661 | { newline$ 662 | "\bibitem{" write$ 663 | cite$ write$ 664 | "}" write$ 665 | newline$ 666 | "" 667 | before.all 'output.state := 668 | } 669 | 670 | FUNCTION {fin.entry} 671 | { add.period$ 672 | replace.half.width.period 673 | write$ 674 | newline$ 675 | } 676 | 677 | % FUNCTION {fin.entry} 678 | % { duplicate$ empty$ 679 | % 'pop$ 680 | % 'write$ 681 | % if$ 682 | % newline$ 683 | % } 684 | 685 | FUNCTION {new.block} 686 | { output.state before.all = 687 | 'skip$ 688 | { after.block 'output.state := } 689 | if$ 690 | } 691 | 692 | FUNCTION {new.sentence} 693 | { output.state after.block = 694 | 'skip$ 695 | { output.state before.all = 696 | 'skip$ 697 | { after.sentence 'output.state := } 698 | if$ 699 | } 700 | if$ 701 | } 702 | 703 | FUNCTION {new.block.checka} 704 | { empty$ 705 | 'skip$ 706 | 'new.block 707 | if$ 708 | } 709 | 710 | FUNCTION {new.block.checkb} 711 | { empty$ 712 | swap$ empty$ 713 | and 714 | 'skip$ 715 | 'new.block 716 | if$ 717 | } 718 | 719 | FUNCTION {new.sentence.checka} 720 | { empty$ 721 | 'skip$ 722 | 'new.sentence 723 | if$ 724 | } 725 | 726 | FUNCTION {new.sentence.checkb} 727 | { empty$ 728 | swap$ empty$ 729 | and 730 | 'skip$ 731 | 'new.sentence 732 | if$ 733 | } 734 | 735 | FUNCTION {field.or.null} 736 | { duplicate$ empty$ 737 | { pop$ "" } 738 | 'skip$ 739 | if$ 740 | } 741 | 742 | FUNCTION {emphasize} 743 | { duplicate$ empty$ 744 | { pop$ "" } 745 | { "{\em " swap$ * "}" * } 746 | if$ 747 | } 748 | 749 | 750 | 751 | 752 | 753 | FUNCTION {format.language} 754 | { language empty$ 755 | 'skip$ 756 | 'skip$ 757 | if$ 758 | } 759 | FUNCTION {is.space} 760 | { chr.to.int$ 761 | duplicate$ #32 = 762 | { pop$ #1 } 763 | { pop$ #0 } 764 | if$ 765 | } 766 | FUNCTION {is.lower.char} 767 | { 768 | chr.to.int$ 769 | duplicate$ #96 > 770 | { #123 < 771 | { #1 } 772 | { #0 } 773 | if$ 774 | } 775 | { pop$ #0 } 776 | if$ 777 | } 778 | 779 | % 将last name转换为全大写 780 | FUNCTION {capitalize.last.name} { 781 | "u" change.case$ 782 | } 783 | % FUNCTION {capitalize.last.name} 784 | % { 785 | % 'thename := % 输入参数 thename 786 | % thename text.length$ 787 | % 'namelength := % namelength := thename 的长度 788 | % #1 'charptr := 789 | % #0 'lastnamecapitalized := 790 | % "" 791 | 792 | % { charptr #1 - namelength < 793 | % % % debug 794 | % % duplicate$ int.to.str$ "( charptr + #1 > namelength ) == " swap$ * warning$ 795 | % % % eod 796 | % } 797 | % { 798 | % % % debug 799 | % % "charptr = " charptr int.to.str$ * 800 | % % ", lastnamecapitalized = " * 801 | % % lastnamecapitalized int.to.str$ * warning$ 802 | % % % eod 803 | % lastnamecapitalized #1 = 804 | % { thename charptr namelength charptr - #1 + substring$ * 805 | % namelength #1 + 'charptr := 806 | % % % debug 807 | % % duplicate$ "top of the stack = " swap$ * warning$ 808 | % % % eod 809 | % } 810 | % { thename charptr #1 substring$ 811 | % % % debug 812 | % % duplicate$ "the char = " swap$ * warning$ 813 | % % % eod 814 | % duplicate$ is.lower.char 815 | % % % debug 816 | % % duplicate$ int.to.str$ "is.lower.char = " swap$ * warning$ 817 | % % % eod 818 | % { "u" change.case$ * } 819 | % { duplicate$ is.space 820 | % % % debug 821 | % % duplicate$ int.to.str$ "is.space = " swap$ * warning$ 822 | % % % eod 823 | % { #1 'lastnamecapitalized := 824 | % * 825 | % } 826 | % { * 827 | % } 828 | % if$ 829 | % } 830 | % if$ 831 | % % % debug 832 | % % duplicate$ "top of the stack = " swap$ * warning$ 833 | % % % eod 834 | % charptr #1 + 'charptr := 835 | % } 836 | % if$ 837 | % } 838 | % while$ 839 | % } 840 | % 格式化盲审姓名 841 | FUNCTION {format.names.for.peer.review} { 842 | 's := % s := author域 843 | #1 'nameptr := % nameptr 是姓名指针,初始化为 1 844 | s num.names$ 'numnames := % 利用 num.names$ 获得 s 中的作者数量存入 nameptr 845 | numnames 'namesleft := % 未处理的姓名数 namesleft := numnames 846 | % 循环处理所有姓名 847 | { namesleft #0 > } % if namesleft > #0 (还有姓名没有格式化) 848 | { s nameptr % 选择第 nameptr 个姓名 849 | name.format.string % 按 name.format.string 的格式排版 850 | format.name$ % 调用 format.name$ 851 | remove.period % 并删除缩写符号'.' 852 | 't := % 格式化后的姓名暂存于 t 853 | language empty$ 854 | { author.name.in.english }% 如果是英文文献将 author.name.in.english 压栈 855 | { author.name.in.chinese } % 否则将 author.name.in.chinese 压栈 856 | if$ 857 | t = % 用当前的姓名与栈上的姓名做比较 858 | { nameptr int.to.str$ % 将作者序号转化为字符串 859 | "\CJKnumber{" swap$ * "}" * % 使用中文数字 860 | bbl.number swap$ * bbl.author * % 加上``第''和``作者'' 861 | % duplicate$ debug.output 862 | } 863 | { skip$ } 864 | if$ 865 | nameptr #1 + 'nameptr := % 姓名指针加 1 866 | namesleft #1 - 'namesleft := % 剩余姓名数减 1 867 | } 868 | while$ 869 | } 870 | % 格式化非盲审姓名 871 | FUNCTION {format.names.for.non.peer.review} { 872 | % 初始化 873 | 's := % s := author域 874 | #1 'nameptr := % nameptr 是姓名指针,初始化为 1 875 | s num.names$ 'numnames := % 利用 num.names$ 获得 s 中的作者数量存入 nameptr 876 | numnames 'namesleft := % 未处理的姓名数 namesleft := numnames 877 | % 循环处理所有姓名 878 | { namesleft #0 > } % if namesleft > #0 (还有姓名没有格式化) 879 | { s nameptr % 选择第 nameptr 个姓名 880 | name.format.string % 按 name.format.string 的格式排版 881 | format.name$ % 调用 format.name$ 882 | % language empty$ 883 | % { "u" change.case$ } % 如果不是语言为空, 做大写转换 884 | % { skip$ } 885 | % if$ % 886 | remove.period % 并删除缩写符号'.' 887 | 't := % 格式化后的姓名暂存于 t 888 | nameptr #1 > 889 | { nameptr max.num.names.before.forced.et.al #1 + = 890 | { "others" 't := % 如果当前作者的序数已经超出了最大列显作者数 891 | #1 'namesleft := } % 则置未处理姓名数为#1, 以便跳出循环 892 | { skip$ } % 如果作者序数在允许范围内, 则跳过 893 | if$ % 894 | bbl.comma * % 添加逗号 895 | namesleft #1 > % 若当前姓名不是最后一个 896 | { t * } % 显示当前姓名 897 | { t "others" = % 若当前姓名是最后一个且后面有略去的姓名 898 | { bbl.etal * } % 添加", et~al"或",等" 899 | { t * } % 如果没有略去姓名,以句点结束 900 | if$ % 901 | } 902 | if$ % 903 | } 904 | { t } % 如果是第一个作者, 直接将排版后的姓名压栈 905 | if$ 906 | nameptr #1 + 'nameptr := % 姓名指针加 1 907 | namesleft #1 - 'namesleft := % 剩余姓名数减 1 908 | } 909 | while$ 910 | } 911 | % 格式化姓名 912 | FUNCTION {format.names} { 913 | is.for.peer.review 914 | { format.names.for.peer.review } % 格式化盲审姓名 915 | { format.names.for.non.peer.review } % 格式化非盲审姓名 916 | if$ 917 | } 918 | FUNCTION {format.authors} 919 | { author empty$ 920 | { bbl.anonymous 921 | "The author in " cite$ * " is missing." * warning$ } 922 | { author format.names } 923 | if$ 924 | } 925 | 926 | FUNCTION {format.editors} 927 | { editor empty$ 928 | { bbl.anonymous 929 | "The editor in " cite$ * " is missing." * warning$ 930 | } 931 | { editor format.names } 932 | if$ 933 | } 934 | 935 | FUNCTION {format.assignees} { 936 | assignee empty$ 937 | { "" } 938 | { assignee format.names } 939 | if$ 940 | } 941 | 942 | % 译者格式 943 | FUNCTION {format.translators} 944 | { translator empty$ 945 | { "" } % 无译者 946 | { new.block % 有译者 947 | translator format.names ",译" * 948 | } 949 | if$ 950 | } 951 | 952 | % 机构格式 953 | FUNCTION {format.institution} { 954 | institution empty$ 955 | { "" } 956 | { institution } 957 | if$ 958 | } 959 | 960 | % 组织格式 961 | FUNCTION {format.organization} { 962 | organization empty$ 963 | { "" } 964 | { organization } 965 | if$ 966 | } 967 | 968 | % 文献类型标志代码/电子文献载体标志代码 969 | FUNCTION {bib.type.designator} { 970 | % % DEBUG 971 | % "bib.type.designator(type:" type$ * debug.output 972 | % " url: " url empty$ { "" }{ url } if$ * debug.output 973 | % % END OF DEBUG 974 | 975 | % 文献类型标志代码 976 | type$ "book" = type$ "inbook" = or 977 | { "M" } 978 | { type$ "standard" = 979 | { "S" } 980 | { type$ "proceedings" = type$ "conference" = or type$ "inproceedings" = or 981 | { "C" } 982 | { type$ "patent" = 983 | { "P" } 984 | { type$ "phdthesis" = type$ "mastersthesis" = or 985 | { "D" } 986 | { type$ "techreport" = 987 | { "R" } 988 | { type$ "article" = type$ "periodical" = or 989 | { "J" } 990 | { type$ "online" = type$ "webpage" = or type$ "www" = or 991 | { "EB" } 992 | { type$ "electronic" = 993 | { esubtype empty$ 994 | { url empty$ 995 | { "" } 996 | { "EB" } 997 | if$ 998 | } 999 | { esubtype "webpage" = 1000 | { "EB" } 1001 | { esubtype "database" = 1002 | { "DB" } 1003 | { esubtype "program" = 1004 | { "CP" } 1005 | { "" } 1006 | if$ % electronics[program] 1007 | } 1008 | if$ % electronics[database] 1009 | } 1010 | if$ % electronics[webpage] 1011 | } 1012 | if$ 1013 | } 1014 | { "" } % 其他 1015 | if$ % electronics 1016 | } 1017 | if$ % online/webpage/www 1018 | } 1019 | if$ % article/periodical 1020 | } 1021 | if$ % techreport 1022 | } 1023 | if$ % phdthesis/mastersthesis 1024 | } 1025 | if$ % patent 1026 | } 1027 | if$ % proceedings/inproceedings/conference 1028 | } 1029 | if$ % standard 1030 | } 1031 | if$ % book/inbook 1032 | % % DEBUG 1033 | % duplicate$ " doc.designator: " swap$ * debug.output 1034 | % % END OF DEBUG 1035 | % 电子文献载体标志代码 1036 | duplicate$ "" = 1037 | { skip$ } 1038 | { "~[" swap$ * 1039 | howpublished empty$ 1040 | { url empty$ 1041 | { "" } 1042 | { "/OL" } 1043 | if$ 1044 | } 1045 | { howpublished "online" = 1046 | { "/OL" } 1047 | { howpublished "magtype" = 1048 | { "MT" } 1049 | { howpublished "disk" = 1050 | { "DK" } 1051 | { howpublished "cdrom" = 1052 | { "CD" } 1053 | { "" } 1054 | if$ % cdrom 1055 | } 1056 | if$ % disk 1057 | } 1058 | if$ % magitude type 1059 | } 1060 | if$ % online 1061 | } 1062 | if$ 1063 | * "]" * 1064 | } 1065 | if$ 1066 | } 1067 | 1068 | FUNCTION {format.title} 1069 | { title empty$ 1070 | { "" } 1071 | { new.block 1072 | title } 1073 | if$ 1074 | } 1075 | 1076 | % 格式化年月日``YYYY-MM-DD'' 1077 | FUNCTION {format.year.month.day} { 1078 | year empty$ 1079 | { "YYYY" } 1080 | { year } 1081 | if$ 1082 | "-" * 1083 | month empty$ 1084 | { "MM" * } 1085 | { month text.length$ #2 < 1086 | { "0" * } 1087 | { skip$ } 1088 | if$ 1089 | month * 1090 | } 1091 | if$ 1092 | "-" * 1093 | day empty$ 1094 | { "DD" * } 1095 | { day text.length$ #2 < 1096 | { "0" * } 1097 | 'skip$ 1098 | if$ 1099 | day * 1100 | } 1101 | if$ 1102 | } 1103 | 1104 | FUNCTION {format.reference.date} { 1105 | refdate empty$ 1106 | { "" 1107 | url empty$ 1108 | { skip$ } 1109 | { "The refdate in " cite$ * " is missing." * warning$ } 1110 | if$ 1111 | } 1112 | { output.state mid.sentence = 1113 | { before.all 'output.state := } 1114 | { skip$ } 1115 | if$ 1116 | "~[" refdate * "]" * } 1117 | if$ 1118 | } 1119 | 1120 | % patent的题名项: 专利题名: 专利国别, 专利号~[文献类型标志] 1121 | FUNCTION {format.patent.title} { 1122 | title empty$ % 专利提名 1123 | { "" } 1124 | { new.block 1125 | title bbl.colon * 1126 | nationality empty$ % 专利国别, 专利号 1127 | { % 专利国别为必备项 1128 | "The nationality in " cite$ * " is missing." * warning$ 1129 | } 1130 | { number empty$ 1131 | { % 专利号为必选项 1132 | "The number in " cite$ * " is missing." * warning$ 1133 | } 1134 | { % 产生``专利国别, 专利号'' 1135 | nationality * bbl.comma * number * 1136 | } 1137 | if$ 1138 | } 1139 | if$ 1140 | % 文献类型标志 1141 | bib.type.designator * 1142 | } 1143 | if$ 1144 | } 1145 | 1146 | % patent的出版项: 1147 | FUNCTION {format.patent.publication} { 1148 | new.block 1149 | format.year.month.day 1150 | % % DEBUG 1151 | % duplicate$ "End of format.patent.publication, top = " swap$ * debug.output 1152 | % % END OF DEBUG 1153 | url empty$ 1154 | { skip$ } 1155 | { refdate empty$ 1156 | { "The refdate in " cite$ * " is missing." * warning$ } 1157 | { "~[" * refdate * "]" * } 1158 | if$ 1159 | } 1160 | if$ 1161 | } 1162 | 1163 | % electronic的主要责任者: 1164 | % author 或 organization 1165 | FUNCTION {format.electronic.authors} 1166 | { 1167 | author empty$ 1168 | { organization empty$ 1169 | { " " } 1170 | { organization } 1171 | if$ 1172 | } 1173 | { format.authors } 1174 | if$ 1175 | } 1176 | 1177 | % electronic的出版项 1178 | FUNCTION {format.electronic.publication} { 1179 | new.block 1180 | % 出版地: 出版者 1181 | address empty$ 1182 | { "" } 1183 | { address 1184 | publisher empty$ 1185 | { skip$ } 1186 | { bbl.colon * publisher * } 1187 | if$ 1188 | } 1189 | if$ 1190 | 1191 | % 出版年 1192 | year empty$ 1193 | { skip$ } 1194 | { publisher empty$ 1195 | { "" } 1196 | { bbl.comma } 1197 | if$ 1198 | * year * } 1199 | if$ 1200 | } 1201 | 1202 | %% article的标题格式 1203 | FUNCTION {format.atitle} 1204 | { title empty$ 1205 | { "" } 1206 | { title 1207 | newsletter empty$ 1208 | { "~[J" * } 1209 | { newsletter "yes" = 1210 | { "~[N" * } 1211 | { "~[J" * } 1212 | if$ 1213 | } 1214 | if$ 1215 | url empty$ 1216 | { "]" * } 1217 | { "/OL]" * } 1218 | if$ 1219 | } 1220 | if$ 1221 | } 1222 | %% incollection的标题格式 1223 | FUNCTION {format.ictitle} 1224 | { title empty$ 1225 | { "" } 1226 | { title "~[M]~//~" * 1227 | editor format.names * 1228 | } 1229 | if$ 1230 | } 1231 | %% inproceedings的标题格式 1232 | FUNCTION {format.iptitle} 1233 | { title empty$ 1234 | { "" } 1235 | { title "~[C]~//~" * 1236 | editor format.names * 1237 | } 1238 | if$ 1239 | } 1240 | 1241 | FUNCTION {n.dashify} 1242 | { 't := 1243 | "" 1244 | { t empty$ not } 1245 | { t #1 #1 substring$ "-" = 1246 | { t #1 #2 substring$ "--" = not 1247 | { "--" * 1248 | t #2 global.max$ substring$ 't := 1249 | } 1250 | { { t #1 #1 substring$ "-" = } 1251 | { "-" * 1252 | t #2 global.max$ substring$ 't := 1253 | } 1254 | while$ 1255 | } 1256 | if$ 1257 | } 1258 | { t #1 #1 substring$ * 1259 | t #2 global.max$ substring$ 't := 1260 | } 1261 | if$ 1262 | } 1263 | while$ 1264 | } 1265 | 1266 | % 年,卷(期) 1267 | FUNCTION {format.year.volume.number} { 1268 | year empty$ 1269 | { "" } 1270 | { type$ "periodical" = 1271 | { new.block } 1272 | { mid.sentence 'output.state := } 1273 | if$ 1274 | year 1275 | volume empty$ 1276 | 'skip$ 1277 | { bbl.comma * volume * } 1278 | if$ 1279 | number empty$ 1280 | 'skip$ 1281 | { "~(" * number * ")" * } 1282 | if$ 1283 | year2 empty$ 1284 | { skip$ } 1285 | { "~--" * 1286 | year2 "now" = 1287 | { skip$ } 1288 | { year2 * 1289 | volume2 empty$ 1290 | { skip$ } 1291 | { bbl.comma * volume2 * } 1292 | if$ 1293 | number2 empty$ 1294 | 'skip$ 1295 | { "~(" * number2 * ")" * } 1296 | if$ 1297 | } 1298 | if$ 1299 | } 1300 | if$ 1301 | } 1302 | if$ 1303 | % %% DEBUG 1304 | % duplicate$ "format.year.volume.number=" swap$ * debug.output 1305 | % %% END OF DEBUG 1306 | } 1307 | 1308 | % 1309 | FUNCTION {format.date} 1310 | { year empty$ 1311 | { month empty$ 1312 | { "" } 1313 | { "there's a month but no year in " cite$ * warning$ 1314 | month 1315 | } 1316 | if$ 1317 | } 1318 | { month empty$ 1319 | { year } 1320 | { month bbl.comma * year * } 1321 | if$ 1322 | } 1323 | if$ 1324 | } 1325 | function {format.year.year} 1326 | { year empty$ 1327 | 'skip$ 1328 | { year "--" * 1329 | year2 empty$ 1330 | 'skip$ 1331 | { year2 "now" = 1332 | 'skip$ 1333 | { year2 * } 1334 | if$ 1335 | } 1336 | if$ 1337 | } 1338 | if$ 1339 | } 1340 | 1341 | % 专著标题格式 1342 | FUNCTION {format.book.title} { 1343 | new.block % 生成一个新的block 1344 | title 1345 | type$ "proceedings" = 1346 | { address empty$ 1347 | { skip$ } 1348 | { bbl.comma * address * bbl.comma * 1349 | month empty$ 1350 | { skip$ } 1351 | { month * } 1352 | if$ 1353 | year empty$ 1354 | { skip$ } 1355 | { year * } 1356 | if$ 1357 | } 1358 | if$ 1359 | } 1360 | { skip$ } 1361 | if$ 1362 | bib.type.designator * % 标题 + [文献标志代码/电子文献载体标志代码] 1363 | } 1364 | 1365 | % 科技报告标题格式 1366 | FUNCTION {format.techreport.title} { 1367 | title empty$ 1368 | { "" } 1369 | { new.block % 生成一个新的block 1370 | title % 标题 + 1371 | number empty$ % 编号 + 1372 | { "" } 1373 | { bbl.comma * number } 1374 | if$ * 1375 | bib.type.designator * % [文献标志代码/电子文献载体标志代码] 1376 | } 1377 | if$ 1378 | } 1379 | 1380 | % 连续出版物标题格式 1381 | FUNCTION {format.jtitle} 1382 | { title "~[J" * 1383 | url empty$ 1384 | { "]" * } 1385 | { "/OL]" * } 1386 | if$ 1387 | } 1388 | 1389 | % 论文集标题格式 1390 | FUNCTION {format.ptitle.volume} 1391 | { title 1392 | volume empty$ 1393 | { "~[C]" } 1394 | { bbl.colon volume * "~[C]" * } 1395 | if$ * 1396 | %emphasize 1397 | } 1398 | FUNCTION {tie.or.space.connect} 1399 | { duplicate$ text.length$ #3 < 1400 | { "~" } 1401 | { " " } 1402 | if$ 1403 | swap$ * * 1404 | } 1405 | 1406 | FUNCTION {either.or.check} 1407 | { empty$ 1408 | 'pop$ 1409 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 1410 | if$ 1411 | } 1412 | 1413 | FUNCTION {format.bvolume} 1414 | { volume empty$ 1415 | { "" } 1416 | { language empty$ 1417 | { "volume" volume tie.or.space.connect } 1418 | { volume } 1419 | if$ 1420 | series empty$ 1421 | 'skip$ 1422 | { " of " * series emphasize * } 1423 | if$ 1424 | "volume and number" number either.or.check 1425 | } 1426 | if$ 1427 | } 1428 | 1429 | FUNCTION {format.number.series} 1430 | { volume empty$ 1431 | { number empty$ 1432 | { series field.or.null } 1433 | { output.state mid.sentence = 1434 | { "number" } 1435 | { "Number" } 1436 | if$ 1437 | number tie.or.space.connect 1438 | series empty$ 1439 | { "there's a number but no series in " cite$ * warning$ } 1440 | { " in " * series * } 1441 | if$ 1442 | } 1443 | if$ 1444 | } 1445 | { "" } 1446 | if$ 1447 | } 1448 | 1449 | % 版本项格式 1450 | FUNCTION {format.edition} { 1451 | edition empty$ 1452 | { "" } 1453 | { new.block % 版本项按一个block输出 1454 | language empty$ % 英文文献版本号自动转换成数字形式的序数词 1455 | { edition convert.edition 1456 | "l" change.case$ " ed" * 1457 | } 1458 | { edition } % 中文文献版本号直接输出 1459 | if$ 1460 | } 1461 | if$ 1462 | } 1463 | 1464 | 1465 | FUNCTION {format.url} 1466 | { url empty$ 1467 | { "" } 1468 | { new.block 1469 | "\url{" url * "}" * 1470 | } 1471 | if$ 1472 | } 1473 | 1474 | FUNCTION {multi.page.check} 1475 | { 't := 1476 | #0 'multiresult := 1477 | { multiresult not 1478 | t empty$ not 1479 | and 1480 | } 1481 | { t #1 #1 substring$ 1482 | duplicate$ "-" = 1483 | swap$ duplicate$ "," = 1484 | swap$ "+" = 1485 | or or 1486 | { #1 'multiresult := } 1487 | { t #2 global.max$ substring$ 't := } 1488 | if$ 1489 | } 1490 | while$ 1491 | multiresult 1492 | } 1493 | 1494 | FUNCTION {format.pages} 1495 | { pages empty$ 1496 | { "" } 1497 | { before.pages 'output.state := 1498 | pages multi.page.check 1499 | { "" pages n.dashify tie.or.space.connect } 1500 | { "" pages tie.or.space.connect } 1501 | if$ 1502 | } 1503 | if$ 1504 | } 1505 | 1506 | FUNCTION {format.vol.num.pages} 1507 | { volume field.or.null 1508 | number empty$ 1509 | 'skip$ 1510 | { "(" number * ")" * * 1511 | volume empty$ 1512 | { newsletter empty$ 1513 | { "there's a number but no volume in " cite$ * warning$ } 1514 | 'skip$ 1515 | if$ 1516 | } 1517 | 'skip$ 1518 | if$ 1519 | } 1520 | if$ 1521 | pages empty$ 1522 | 'skip$ 1523 | { duplicate$ empty$ 1524 | { pop$ format.pages } 1525 | { bbl.colon * pages n.dashify * } 1526 | if$ 1527 | } 1528 | if$ 1529 | % duplicate$ "top of stack = " swap$ * warning$ 1530 | url empty$ 1531 | 'skip$ 1532 | { refdate empty$ 1533 | { "there's an url but no refdate in " cite$ * warning$ } 1534 | { %duplicate$ "url and refdate is not empty, top of stack = " swap$ * warning$ 1535 | "~[" * refdate * "]" * 1536 | } 1537 | if$ 1538 | %duplicate$ "top of stack = " swap$ * warning$ 1539 | } 1540 | if$ 1541 | } 1542 | 1543 | FUNCTION {format.chapter.pages} 1544 | { chapter empty$ 1545 | { "" } 1546 | { type empty$ 1547 | { "chapter" } 1548 | { type "l" change.case$ } 1549 | if$ 1550 | chapter tie.or.space.connect 1551 | pages empty$ 1552 | 'skip$ 1553 | { ", " * format.pages * } 1554 | if$ 1555 | } 1556 | if$ 1557 | } 1558 | 1559 | FUNCTION {format.in.booktitle} 1560 | { booktitle empty$ 1561 | { "" } 1562 | { editor empty$ 1563 | { language empty$ 1564 | { " " booktitle * } 1565 | % { "Proceedings of " booktitle * } 1566 | { " " booktitle * } 1567 | if$ 1568 | } 1569 | { language empty$ 1570 | % { "In: " format.editors * ", Proceedings of " * booktitle * } 1571 | { " " booktitle * } 1572 | { " " booktitle * } 1573 | if$ 1574 | } 1575 | if$ 1576 | } 1577 | if$ 1578 | } 1579 | 1580 | FUNCTION {format.in.ed.booktitle.volume} 1581 | { booktitle empty$ 1582 | { "" } 1583 | { editor empty$ 1584 | { language empty$ 1585 | % { "Proceedings of " booktitle * } 1586 | { " " booktitle * } 1587 | { " " booktitle * } 1588 | if$ 1589 | } 1590 | { language empty$ 1591 | %{ "In: " format.editors * ", Proceedings of " * booktitle * } 1592 | { " " booktitle * } 1593 | { " " booktitle * } 1594 | if$ 1595 | } 1596 | if$ 1597 | %% volume 1598 | volume empty$ 1599 | 'skip$ 1600 | { language empty$ 1601 | { "Vol." * volume * } 1602 | { ":第" * volume * "卷" * } 1603 | if$ 1604 | } 1605 | if$ 1606 | } 1607 | if$ 1608 | } 1609 | 1610 | FUNCTION {empty.misc.check} 1611 | { author empty$ title empty$ howpublished empty$ 1612 | month empty$ year empty$ note empty$ 1613 | and and and and and 1614 | { "all relevant fields are empty in " cite$ * warning$ } 1615 | 'skip$ 1616 | if$ 1617 | } 1618 | 1619 | FUNCTION {format.thesis.type} 1620 | { type empty$ 1621 | 'skip$ 1622 | { pop$ 1623 | type "t" change.case$ 1624 | } 1625 | if$ 1626 | } 1627 | 1628 | FUNCTION {format.tr.number} 1629 | { type empty$ 1630 | { "Technical Report" } 1631 | 'type 1632 | if$ 1633 | number empty$ 1634 | { "t" change.case$ } 1635 | { number tie.or.space.connect } 1636 | if$ 1637 | } 1638 | 1639 | FUNCTION {format.article.crossref} 1640 | { key empty$ 1641 | { journal empty$ 1642 | { "need key or journal for " cite$ * " to crossref " * crossref * 1643 | warning$ 1644 | "" 1645 | } 1646 | { "In {\em " journal * "\/}" * } 1647 | if$ 1648 | } 1649 | { "In " key * } 1650 | if$ 1651 | " \cite{" * crossref * "}" * 1652 | } 1653 | 1654 | FUNCTION {format.crossref.editor} 1655 | { editor #1 "{ll }{f{~}}" format.name$ 1656 | editor num.names$ duplicate$ 1657 | #2 > 1658 | { pop$ " et~al." * } 1659 | { #2 < 1660 | 'skip$ 1661 | { editor #2 "{ll }{f{~}}" format.name$ "others" = 1662 | { " et~al." * } 1663 | { " and " * editor #2 "{ll }{f{~}}" format.name$ * } 1664 | if$ 1665 | } 1666 | if$ 1667 | } 1668 | if$ 1669 | } 1670 | 1671 | FUNCTION {format.book.crossref} 1672 | { volume empty$ 1673 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 1674 | "In " 1675 | } 1676 | { "Volume" volume tie.or.space.connect 1677 | " of " * 1678 | } 1679 | if$ 1680 | editor empty$ 1681 | editor field.or.null author field.or.null = 1682 | or 1683 | { key empty$ 1684 | { series empty$ 1685 | { "need editor, key, or series for " cite$ * " to crossref " * 1686 | crossref * warning$ 1687 | "" * 1688 | } 1689 | { "{\em " * series * "\/}" * } 1690 | if$ 1691 | } 1692 | { key * } 1693 | if$ 1694 | } 1695 | { format.crossref.editor * } 1696 | if$ 1697 | " \cite{" * crossref * "}" * 1698 | } 1699 | 1700 | FUNCTION {format.incoll.inproc.crossref} 1701 | { editor empty$ 1702 | editor field.or.null author field.or.null = 1703 | or 1704 | { key empty$ 1705 | { booktitle empty$ 1706 | { "need editor, key, or booktitle for " cite$ * " to crossref " * 1707 | crossref * warning$ 1708 | "" 1709 | } 1710 | { "In {\em " booktitle * "\/}" * } 1711 | if$ 1712 | } 1713 | { "In " key * } 1714 | if$ 1715 | } 1716 | { "In " format.crossref.editor * } 1717 | if$ 1718 | " \cite{" * crossref * "}" * 1719 | } 1720 | 1721 | % 出版地: 出版者 1722 | FUNCTION {format.address.publisher} { 1723 | new.block 1724 | type$ "inproceedings" = 1725 | { pubaddress empty$ 1726 | { "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地 1727 | publisher empty$ 1728 | { "there's neither pubaddress nor publisher in " cite$ * warning$ 1729 | "[" * bbl.sine.nomine * "]" * % 无出版者 1730 | } 1731 | { "there's a publisher but no pubaddress in " cite$ * warning$ 1732 | publisher * % 有出版者 1733 | } 1734 | if$ 1735 | } 1736 | { pubaddress bbl.colon * % 有出版地 1737 | publisher empty$ 1738 | { "there's a pubaddress but no publisher in " cite$ * warning$ 1739 | "[" * bbl.sine.nomine * "]" * % 无出版者 1740 | } 1741 | { publisher * } % 有出版者 1742 | if$ 1743 | } 1744 | if$ 1745 | } 1746 | { address empty$ 1747 | { "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地 1748 | publisher empty$ 1749 | { "there's neither address nor publisher in " cite$ * warning$ 1750 | "[" * bbl.sine.nomine * "]" * % 无出版者 1751 | } 1752 | { "there's a publisher but no address in " cite$ * warning$ 1753 | publisher * % 有出版者 1754 | } 1755 | if$ 1756 | } 1757 | { address bbl.colon * % 有出版地 1758 | publisher empty$ 1759 | { "there's a address but no publisher in " cite$ * warning$ 1760 | "[" * bbl.sine.nomine * "]" * % 无出版者 1761 | } 1762 | { publisher * } % 有出版者 1763 | if$ 1764 | } 1765 | if$ 1766 | } 1767 | if$ 1768 | } 1769 | 1770 | % 出版地: 出版者, 出版年 1771 | FUNCTION {format.address.publisher.year} { 1772 | % % DEBUG 1773 | % "-- format.address.publisher.year(){" debug.output 1774 | % "-- address =" address * debug.output 1775 | % "-- publisher=" publisher * debug.output 1776 | % "-- year =" year * debug.output 1777 | % % END OF DEBUG 1778 | new.block 1779 | type$ "inproceedings" = 1780 | { pubaddress empty$ 1781 | { "" % "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地 1782 | publisher empty$ 1783 | { "there's neither pubaddress nor publisher in " cite$ * warning$ 1784 | "" * % "[" * bbl.sine.nomine * "]" * % 无出版者 1785 | } 1786 | { "there's a publisher but no pubaddress in " cite$ * warning$ 1787 | publisher * % 有出版者 1788 | } 1789 | if$ 1790 | } 1791 | { publisher empty$ 1792 | { "there's a pubaddress but no publisher in " cite$ * warning$ 1793 | "" % "[" * bbl.sine.nomine * "]" * % 无出版者 1794 | } 1795 | { pubaddress bbl.colon * % 有出版地 1796 | publisher * } % 有出版者 1797 | if$ 1798 | } 1799 | if$ 1800 | } 1801 | { address empty$ 1802 | { "" % "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地 1803 | publisher empty$ 1804 | { "there's neither address nor publisher in " cite$ * warning$ 1805 | "" * % "[" * bbl.sine.nomine * "]" * % 无出版者 1806 | } 1807 | { "there's a publisher but no address in " cite$ * warning$ 1808 | publisher * % 有出版者 1809 | } 1810 | if$ 1811 | } 1812 | { publisher empty$ 1813 | { "there's a address but no publisher in " cite$ * warning$ 1814 | "" % "[" * bbl.sine.nomine * "]" * % 无出版者 1815 | } 1816 | { address bbl.colon * % 有出版地 1817 | publisher * } % 有出版者 1818 | if$ 1819 | } 1820 | if$ 1821 | } 1822 | if$ 1823 | 1824 | % 出版年 1825 | year empty$ 1826 | { "there's no year in " cite$ * warning$ } 1827 | { type$ "inproceedings" = 1828 | { bbl.comma * year * } 1829 | { publisher empty$ 1830 | { year * } 1831 | { bbl.comma * year * } 1832 | if$ 1833 | } 1834 | if$ 1835 | 1836 | type$ "periodical" = 1837 | { year2 empty$ % 对连续出版物可以排版 year2 1838 | { skip$ } 1839 | { "--" * 1840 | year2 "l" change.case$ "now" = 1841 | { skip$ } 1842 | { year2 * } 1843 | if$ 1844 | } 1845 | if$ 1846 | } 1847 | { skip$ } 1848 | if$ 1849 | } 1850 | if$ 1851 | % % DEBUG 1852 | % duplicate$ "-- }=" swap$ * debug.output 1853 | % % END OF DEBUG 1854 | } 1855 | 1856 | % 出版地: 学校, 出版年 1857 | FUNCTION {format.address.school.year} { 1858 | new.block 1859 | address empty$ 1860 | { "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地 1861 | school empty$ 1862 | { "there's neither address nor school in " cite$ * warning$ 1863 | "[" bbl.sine.nomine * "]" * % 无出版者 1864 | } 1865 | { "there's a school but no address in " cite$ * warning$ 1866 | school * % 有出版者 1867 | } 1868 | if$ 1869 | } 1870 | { address bbl.colon * % 有出版地 1871 | school empty$ 1872 | { "there's a address but no school in " cite$ * warning$ 1873 | "[" bbl.sine.nomine * "]" * % 无出版者 1874 | } 1875 | { school * } % 有出版者 1876 | if$ 1877 | } 1878 | if$ 1879 | % 出版年 1880 | year empty$ 1881 | { "there's no year in " cite$ * warning$ } 1882 | { bbl.comma * year * } 1883 | if$ 1884 | } 1885 | 1886 | 1887 | % FUNCTION {format.title.type} 1888 | % { title empty$ 1889 | % { type empty$ 1890 | % { "" } 1891 | % { "there's a type but no title in " cite$ * warning$ 1892 | % type 1893 | % } 1894 | % if$ 1895 | % } 1896 | % { type empty$ 1897 | % 'title 1898 | % { title bbl.colon * type * } 1899 | % if$ 1900 | % } 1901 | % if$ 1902 | % } 1903 | 1904 | FUNCTION {format.note} { 1905 | note empty$ 1906 | { new.block "" } 1907 | { url empty$ 1908 | { new.block } 1909 | { before.all 'output.state := } 1910 | if$ 1911 | note } 1912 | if$ 1913 | } 1914 | 1915 | %%%%%%%%%%%%%%%%% 1916 | %% 著录格式: 专著 1917 | %%%%%%%%%%%%%%%%% 1918 | 1919 | % 普通图书 1920 | FUNCTION {book} { 1921 | start.entry % 开始 1922 | 1923 | author empty$ % 主要责任者 1924 | { format.editors "author and editor" output.warn } 1925 | { format.authors output.nonnull } 1926 | if$ 1927 | format.book.title "title" output.warn % 题名项 1928 | format.translators output % 其他责任者(可选) 1929 | format.edition output % 版本项 1930 | format.address.publisher.year output.nonnull % 1931 | format.reference.date output % 1932 | format.url output % 获取或访问路径 1933 | format.note output % 备注 1934 | 1935 | fin.entry 1936 | } 1937 | 1938 | % 标准 1939 | FUNCTION {standard} { 1940 | start.entry 1941 | 1942 | organization empty$ % 主要责任人 1943 | { format.institution "organization and institution" output.warn } 1944 | { format.organization output.nonnull } 1945 | if$ 1946 | format.book.title "title" output.warn % 题名项 1947 | format.translators output % 其他责任人 1948 | format.edition output % 版本项 1949 | format.address.publisher.year output.nonnull % 出版项 1950 | format.url output % URL 1951 | format.note output % 备注项 1952 | 1953 | fin.entry 1954 | } 1955 | 1956 | % 学位论文 1957 | FUNCTION {phdthesis} { 1958 | start.entry 1959 | 1960 | format.authors "author" output.warn 1961 | format.book.title "title" output.warn 1962 | format.address.school.year output 1963 | format.note output 1964 | 1965 | fin.entry 1966 | } 1967 | 1968 | % 会议录/论文集 1969 | FUNCTION {proceedings} { 1970 | start.entry 1971 | 1972 | editor empty$ 1973 | { organization empty$ 1974 | { format.institution "author, organization institution" output.warn } 1975 | { format.organization output.nonnull } 1976 | if$ 1977 | } 1978 | { format.editors output.nonnull } 1979 | if$ 1980 | format.book.title "title" output.warn 1981 | format.address.publisher.year output 1982 | format.note output 1983 | 1984 | fin.entry 1985 | } 1986 | 1987 | % 科技报告 1988 | FUNCTION {techreport} { 1989 | start.entry 1990 | 1991 | author empty$ 1992 | { organization empty$ 1993 | { format.institution 1994 | "author, organization and institution" output.warn } 1995 | { format.organization output.nonnull } 1996 | if$ 1997 | } 1998 | { format.authors output.nonnull } 1999 | if$ 2000 | format.techreport.title "title" output.warn 2001 | format.address.publisher.year output.nonnull 2002 | format.url output 2003 | format.note output 2004 | 2005 | fin.entry 2006 | } 2007 | 2008 | %%%%%%%%%%%%%%%%%%%%%%%%%%%% 2009 | %% 著录格式: 专著中析出的文献 2010 | %%%%%%%%%%%%%%%%%%%%%%%%%%%% 2011 | 2012 | FUNCTION {format.collection.editors} { 2013 | booktitle empty$ 2014 | { "" } 2015 | { after.title 'output.state := 2016 | format.editors } 2017 | if$ 2018 | } 2019 | FUNCTION {format.address} { 2020 | booktitle empty$ 2021 | { new.block } 2022 | { mid.sentence 'output.state := } 2023 | if$ 2024 | address empty$ 2025 | { "" } 2026 | { address } 2027 | if$ 2028 | } 2029 | 2030 | FUNCTION {format.month.year} { 2031 | month empty$ 2032 | { "" } 2033 | { month " " * } 2034 | if$ 2035 | year empty$ 2036 | { "There is month but no year in " cite$ * warning$ } 2037 | { year * } 2038 | if$ 2039 | } 2040 | 2041 | FUNCTION {format.collection.title} { 2042 | booktitle empty$ 2043 | { "" } 2044 | { new.block 2045 | "In " booktitle * 2046 | % address empty$ 2047 | % { skip$ } 2048 | % { bbl.comma * address * bbl.comma * 2049 | % month empty$ 2050 | % { skip$ } 2051 | % { month * } 2052 | % if$ 2053 | % year empty$ 2054 | % { skip$ } 2055 | % { " " * year * } 2056 | % if$ 2057 | % } 2058 | % if$ 2059 | } 2060 | if$ 2061 | } 2062 | % 图书中析出的文献 2063 | FUNCTION {inbook} { 2064 | start.entry 2065 | 2066 | author empty$ 2067 | { format.editors "author and editor" output.warn } 2068 | { format.authors output.nonnull } 2069 | if$ 2070 | format.book.title "title" output.warn 2071 | format.collection.editors "editor" output.warn 2072 | format.collection.title "booktitle" output.warn 2073 | format.translators output % 其他责任人 2074 | format.edition output % 版本项 2075 | format.address.publisher.year output.nonnull % 出版项 2076 | format.pages "pages" output.warn % 2077 | format.url output % URL 2078 | format.note output % 备注项 2079 | 2080 | fin.entry 2081 | } 2082 | 2083 | %%%%%%%%%%%%%%%%% 2084 | %% 著录格式: 专利 2085 | %%%%%%%%%%%%%%%%% 2086 | FUNCTION {patent} { 2087 | start.entry 2088 | 2089 | author empty$ 2090 | { format.assignees "assignee" output.warn } 2091 | { format.authors output.nonnull } 2092 | if$ 2093 | format.patent.title "title" output.warn 2094 | format.patent.publication output 2095 | format.url output 2096 | format.note output 2097 | 2098 | fin.entry 2099 | } 2100 | 2101 | % 电子文献更新或修改日期 2102 | FUNCTION {format.update.date} { 2103 | update empty$ 2104 | { "" } 2105 | { output.state mid.sentence = 2106 | { before.all 'output.state := } 2107 | { skip$ } 2108 | if$ 2109 | "~(" update * ")" * } 2110 | if$ 2111 | } 2112 | 2113 | %%%%%%%%%%%%%%%%%%%%% 2114 | %% 著录格式: 电子文献 2115 | %%%%%%%%%%%%%%%%%%%%% 2116 | FUNCTION {electronic} { 2117 | start.entry 2118 | 2119 | author empty$ 2120 | { organization "author and organization" output.warn } 2121 | { format.authors output.nonnull } 2122 | if$ 2123 | format.book.title output 2124 | format.electronic.publication output 2125 | format.update.date output 2126 | format.reference.date output 2127 | format.url output 2128 | format.note output 2129 | 2130 | fin.entry 2131 | } 2132 | 2133 | %%%%%%%%%%%%%%%%%%%%%%% 2134 | %% 著录格式: 连续出版物 2135 | %%%%%%%%%%%%%%%%%%%%%%% 2136 | FUNCTION {periodical} { 2137 | start.entry 2138 | 2139 | editor empty$ 2140 | { format.organization "editors and organization" output.warn } 2141 | { format.editors output.nonnull } 2142 | if$ 2143 | format.book.title "title" output.warn 2144 | format.year.volume.number output 2145 | format.address.publisher.year output 2146 | format.url output 2147 | format.note output 2148 | 2149 | fin.entry 2150 | } 2151 | 2152 | FUNCTION {format.journal.title} { 2153 | journal empty$ 2154 | { "" } 2155 | { new.block journal } 2156 | if$ 2157 | } 2158 | 2159 | % 连续出版物中析出的文献 2160 | FUNCTION {article} 2161 | { start.entry 2162 | 2163 | format.authors "author" output.warn 2164 | format.book.title "title" output.warn 2165 | format.journal.title "journal" output.warn 2166 | format.year.volume.number output 2167 | format.pages "pages" output.warn 2168 | format.reference.date output 2169 | format.url output 2170 | format.note output 2171 | 2172 | fin.entry 2173 | } 2174 | 2175 | FUNCTION {booklet} 2176 | { start.entry 2177 | format.authors output 2178 | new.block 2179 | format.title "title" output.warn 2180 | howpublished address new.block.checkb 2181 | howpublished output 2182 | address output 2183 | format.date output 2184 | new.block 2185 | note output 2186 | fin.entry 2187 | } 2188 | 2189 | FUNCTION {incollection} 2190 | { start.entry 2191 | format.authors "author" output.warn 2192 | new.block 2193 | format.ictitle "title" output.warn 2194 | new.block 2195 | crossref missing$ 2196 | { %format.in.ed.booktitle "booktitle" output.warn 2197 | %format.bvolume output 2198 | format.in.ed.booktitle.volume "booktitle" output.warn 2199 | format.number.series output 2200 | format.chapter.pages output 2201 | new.sentence 2202 | % publisher "publisher" output.warn 2203 | % address output 2204 | format.address.publisher.year output 2205 | format.edition output 2206 | format.date ":" * format.pages * output 2207 | %format.date "year" output.warn 2208 | } 2209 | { format.incoll.inproc.crossref output.nonnull 2210 | format.chapter.pages output 2211 | } 2212 | if$ 2213 | new.block 2214 | note output 2215 | fin.entry 2216 | } 2217 | 2218 | % 论文集中析出的文献 2219 | FUNCTION {inproceedings} { 2220 | start.entry 2221 | 2222 | format.authors "author" output.warn 2223 | format.book.title "title" output.warn 2224 | format.collection.editors "editor" output.warn 2225 | format.collection.title "booktitle" output.warn 2226 | format.address output 2227 | format.month.year output 2228 | % format.address.publisher.year output.nonnull % 出版项 2229 | format.pages "pages" output.warn % 2230 | format.url output % URL 2231 | format.note output % 备注项 2232 | % format.in.booktitle "booktitle" output.warn 2233 | % %format.bvolume output 2234 | % %format.number.series output 2235 | % %format.pages output 2236 | % address empty$ 2237 | % { organization publisher new.sentence.checkb 2238 | % organization output 2239 | % publisher output 2240 | % %format.date "year" output.warn 2241 | % %year output 2242 | % format.date ":" * format.pages * output 2243 | % } 2244 | % { %address output.nonnull 2245 | % format.address.publisher.year output 2246 | % %format.date "year" output.warn 2247 | % % year output 2248 | % format.date ":" * format.pages * output 2249 | % new.sentence 2250 | % organization output 2251 | % %publisher output 2252 | % } 2253 | % if$ 2254 | % new.block 2255 | % pages output 2256 | %remove.dots 2257 | 2258 | % { format.incoll.inproc.crossref output.nonnull 2259 | % format.pages output 2260 | % } 2261 | % if$ 2262 | % new.block 2263 | % note output 2264 | fin.entry 2265 | } 2266 | 2267 | FUNCTION {manual} 2268 | { start.entry 2269 | author empty$ 2270 | { organization empty$ 2271 | 'skip$ 2272 | { organization output.nonnull 2273 | address output 2274 | } 2275 | if$ 2276 | } 2277 | { format.authors output.nonnull } 2278 | if$ 2279 | new.block 2280 | format.book.title "title" output.warn 2281 | author empty$ 2282 | { organization empty$ 2283 | { address new.block.checka 2284 | address output 2285 | } 2286 | 'skip$ 2287 | if$ 2288 | } 2289 | { organization address new.block.checkb 2290 | organization output 2291 | address output 2292 | } 2293 | if$ 2294 | format.edition output 2295 | format.date output 2296 | new.block 2297 | note output 2298 | fin.entry 2299 | } 2300 | 2301 | % FUNCTION {masterthesis.type} 2302 | % { "~[D]" 2303 | % % language empty$ 2304 | % % { "[Master Thesis]" } 2305 | % % { "[硕士学位论文]" } 2306 | % % if$ 2307 | % } 2308 | 2309 | % FUNCTION {mastersthesis} 2310 | % { start.entry 2311 | % format.authors "author" add.period$ output.warn 2312 | % new.block 2313 | % format.title remove.dots " " * masterthesis.type * output 2314 | % new.block 2315 | % format.address.school output 2316 | % %address output 2317 | % %school "school" output.warn 2318 | % format.date "year" output.warn 2319 | % new.block 2320 | % note output 2321 | % fin.entry 2322 | % } 2323 | 2324 | FUNCTION {misc} 2325 | { start.entry 2326 | 2327 | format.authors output 2328 | % title howpublished new.block.checkb 2329 | format.title output 2330 | % howpublished new.block.checka 2331 | % howpublished output 2332 | % format.date output 2333 | format.address output 2334 | format.month.year output 2335 | format.pages "pages" output.warn 2336 | format.url output 2337 | % new.block 2338 | format.note output 2339 | fin.entry 2340 | % empty.misc.check 2341 | } 2342 | 2343 | FUNCTION {phdthesis.type} 2344 | { "~[D]" 2345 | % language empty$ 2346 | % { "[PhD Thesis]" } 2347 | % { "[博士学位论文]" } 2348 | % if$ 2349 | } 2350 | 2351 | 2352 | 2353 | 2354 | FUNCTION {unpublished} 2355 | { start.entry 2356 | format.authors "author" output.warn 2357 | new.block 2358 | format.title "title" output.warn 2359 | new.block 2360 | note "note" output.warn 2361 | format.date output 2362 | fin.entry 2363 | } 2364 | 2365 | % 专用控制条目 BUPTThesisBSTCTL 用于提供方便的用户设置接口 2366 | FUNCTION {BUPTThesisBSTCTL}{ 2367 | is.print.banners.to.terminal 2368 | { "** BUPTThesis BST control entry " quote$ * cite$ * 2369 | quote$ * " detected." * 2370 | top$ 2371 | } 2372 | { skip$ } 2373 | if$ 2374 | % CTLuse_article_number 2375 | % empty$ 2376 | % { skip$ } 2377 | % { CTLuse_article_number 2378 | % yes.no.to.int 2379 | % 'is.use.number.for.article := 2380 | % } 2381 | % if$ 2382 | % CTLuse_paper 2383 | % empty$ 2384 | % { skip$ } 2385 | % { CTLuse_paper 2386 | % yes.no.to.int 2387 | % 'is.use.paper := 2388 | % } 2389 | % if$ 2390 | % CTLuse_forced_etal 2391 | % empty$ 2392 | % { skip$ } 2393 | % { CTLuse_forced_etal 2394 | % yes.no.to.int 2395 | % 'is.forced.et.al := 2396 | % } 2397 | % if$ 2398 | % 显示作者数目 2399 | CTLmax_names_forced_etal 2400 | empty$ 2401 | { skip$ } 2402 | { CTLmax_names_forced_etal 2403 | string.to.integer 2404 | 'max.num.names.before.forced.et.al := 2405 | } 2406 | if$ 2407 | % 论文作者英文姓名 2408 | CTLauthor_name_english 2409 | empty$ 2410 | { skip$ } 2411 | { CTLauthor_name_english 2412 | 'author.name.in.english := 2413 | % #1 'is.for.peer.review := 2414 | % "CTLauthor_name_english=" author.name.in.english * debug.output 2415 | } 2416 | if$ 2417 | % 论文作者中文姓名 2418 | CTLauthor_name_chinese 2419 | empty$ 2420 | { skip$ } 2421 | { CTLauthor_name_chinese 2422 | 'author.name.in.chinese := 2423 | % #1 'is.for.peer.review := 2424 | % "CTLauthor_name_chinese=" author.name.in.chinese * debug.output 2425 | } 2426 | if$ 2427 | CTLfor_peer_review 2428 | empty$ 2429 | { skip$ } 2430 | { CTLfor_peer_review 2431 | yes.no.to.int 2432 | 'is.for.peer.review := 2433 | } 2434 | if$ 2435 | % CTLnames_show_etal 2436 | % empty$ 2437 | % { skip$ } 2438 | % { CTLnames_show_etal 2439 | % string.to.integer 2440 | % 'num.names.shown.with.forced.et.al := 2441 | % } 2442 | % if$ 2443 | % CTLuse_alt_spacing 2444 | % empty$ 2445 | % { skip$ } 2446 | % { CTLuse_alt_spacing 2447 | % yes.no.to.int 2448 | % 'is.use.alt.interword.spacing := 2449 | % } 2450 | % if$ 2451 | % CTLalt_stretch_factor 2452 | % empty$ 2453 | % { skip$ } 2454 | % { CTLalt_stretch_factor 2455 | % 'ALTinterwordstretchfactor := 2456 | % "\renewcommand{\BIBentryALTinterwordstretchfactor}{" 2457 | % ALTinterwordstretchfactor * "}" * 2458 | % write$ newline$ 2459 | % } 2460 | % if$ 2461 | % CTLdash_repeated_names 2462 | % empty$ 2463 | % { skip$ } 2464 | % { CTLdash_repeated_names 2465 | % yes.no.to.int 2466 | % 'is.dash.repeated.names := 2467 | % } 2468 | % if$ 2469 | % CTLname_emph_author_en % 强调显示的作者英文姓名 2470 | % empty$ 2471 | % { skip$ } % 若没有给出则跳过 2472 | % { CTLname_emph_author_en 2473 | % 'name.emph.author.en := % 否则更新 name.emph.author.en 2474 | % } 2475 | % if$ 2476 | % CTLname_emph_author_zh % 强调显示的作者中文姓名 2477 | % empty$ 2478 | % { skip$ } % 若没有给出则跳过 2479 | % { CTLname_emph_author_zh 2480 | % 'name.emph.author.zh := % 否则更新 name.emph.author.zh 2481 | % } 2482 | % if$ 2483 | CTLname_format_string % 英文姓名排版格式字符串 2484 | empty$ 2485 | { skip$ } % 若没有自定义则跳过 2486 | { CTLname_format_string % 否则更新 name.format.string 2487 | 'name.format.string := 2488 | } 2489 | if$ 2490 | % CTLname_latex_cmd 2491 | % empty$ 2492 | % { skip$ } 2493 | % { CTLname_latex_cmd 2494 | % 'name.latex.cmd := 2495 | % } 2496 | % if$ 2497 | % CTLname_url_prefix 2498 | % missing$ 2499 | % { skip$ } 2500 | % { CTLname_url_prefix 2501 | % 'name.url.prefix := 2502 | % } 2503 | % if$ 2504 | 2505 | 2506 | % num.names.shown.with.forced.et.al max.num.names.before.forced.et.al > 2507 | % { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$ 2508 | % max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al := 2509 | % } 2510 | % { skip$ } 2511 | % if$ 2512 | } 2513 | 2514 | %%%%%%%%%%%% 2515 | %% 条目别名 2516 | %%%%%%%%%%%% 2517 | FUNCTION {mastersthesis} {phdthesis} 2518 | FUNCTION {conference} {inproceedings} 2519 | FUNCTION {online} {electronic} 2520 | FUNCTION {internet} {electronic} 2521 | FUNCTION {webpage} {electronic} 2522 | FUNCTION {www} {electronic} 2523 | FUNCTION {default.type} {misc} 2524 | 2525 | 2526 | %%%%%%%%%% 2527 | %% 主程序 2528 | %%%%%%%%%% 2529 | 2530 | READ 2531 | 2532 | EXECUTE {initialize.controls} % 初始化控制变量 2533 | EXECUTE {initialize.status.constants} % 初始化状态常量 2534 | EXECUTE {banner.message} % 显示初始提示信息 2535 | 2536 | EXECUTE {initialize.longest.label} % 初始化最长的标号 2537 | ITERATE {longest.label.pass} % 处理最长的标号 2538 | 2539 | EXECUTE {begin.bib} % 开始 2540 | ITERATE {call.type$} % 2541 | EXECUTE {end.bib} % 结束 2542 | 2543 | EXECUTE {completed.message} % 显示完成提示信息 2544 | 2545 | %% EOF 2546 | --------------------------------------------------------------------------------