Browse Source

init commit

sqyx008 6 năm trước cách đây
mục cha
commit
e3f7f83fda
16 tập tin đã thay đổi với 3667 bổ sung0 xóa
  1. 247 0
      BUPTthesisbachelor.sty
  2. 43 0
      README.md
  3. 67 0
      abstract.cfg
  4. 78 0
      abstract.tex
  5. 2542 0
      buptbachelor.bst
  6. BIN
      docs/cover.pdf
  7. BIN
      docs/statement.pdf
  8. BIN
      docs/translation.pdf
  9. 93 0
      main.bbl
  10. 36 0
      main.cfg
  11. 23 0
      main.fot
  12. BIN
      main.pdf
  13. BIN
      main.synctex.gz
  14. 293 0
      main.tex
  15. BIN
      pictures/autoencoder.png
  16. 245 0
      ref.bib

+ 247 - 0
BUPTthesisbachelor.sty

@@ -0,0 +1,247 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                  %
+%   Copyright (c) 2010 - 2011 Caspar Zhang <casparant@gmail.com>   %
+%                                                                  %
+%   This copyrighted material is made available to anyone wishing  %
+%   to use, modify, copy, or redistribute it subject to the terms  %
+%   and conditions of the GNU General Public License version 2.    %
+%                                                                  %
+%   This program is distributed in the hope that it will be        %
+%   useful, but WITHOUT ANY WARRANTY; without even the implied     %
+%   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR        %
+%   PURPOSE. See the GNU General Public License for more details.  %
+%                                                                  %
+%   You should have received a copy of the GNU General Public      %
+%   License along with this program; if not, write to the Free     %
+%   Software Foundation, Inc., 51 Franklin Street, Fifth Floor,    %
+%   Boston, MA 02110-1301, USA.                                    %
+%                                                                  %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+\usepackage[fntef]{ctex} % invole CJKfntef
+\usepackage{ctex}
+\usepackage{setspace} % spacing
+\usepackage{xcolor}   % color
+\usepackage{xltxtra}  % print a XeLaTeX
+
+% Font family
+\setmainfont[Mapping=tex-text]{Times New Roman}
+
+% Font size
+\newcommand{\chuhao}{\zihao{0}}
+\newcommand{\xiaochuhao}{\zihao{-0}}
+\newcommand{\yihao}{\zihao{1}}
+\newcommand{\xiaoyihao}{\zihao{-1}}
+\newcommand{\erhao}{\zihao{2}}
+\newcommand{\xiaoerhao}{\zihao{-2}}
+\newcommand{\sanhao}{\zihao{3}}
+\newcommand{\xiaosanhao}{\zihao{-3}}
+\newcommand{\sihao}{\zihao{4}}
+\newcommand{\xiaosihao}{\zihao{-4}}
+\newcommand{\wuhao}{\zihao{5}}
+\newcommand{\xiaowuhao}{\zihao{-5}}
+\newcommand{\liuhao}{\zihao{6}}
+\newcommand{\xiaoliuhao}{\zihao{-6}}
+\newcommand{\qihao}{\zihao{7}}
+\newcommand{\bahao}{\zihao{8}}
+% Normal font size is SiHao
+\renewcommand{\normalsize}{\xiaosihao\songti\normalfont}
+
+% Serveral Font pre-setting
+\newcommand{\thesistitlefont}{\centering\heiti\sanhao\textbf} %论文题目的字体
+\newcommand{\thesistitleenfont}{\centering\sanhao\bf}     %论文英文题目的字体
+\newcommand{\covernamefont}{\heiti\yihao\bf}    % 封面上“本科论文”字样的字体
+\newcommand{\coveritemsfont}{\songti\sanhao\bf} % 封面上姓名等条目的字体
+\newcommand{\coverdatefont}{\songti\sanhao\bf}  % 封面上的日期的字体
+\newcommand{\statetitlefirst}{\songti\xiaosanhao\bf}   %诚信声明标题第一行的字体
+\newcommand{\statetitlesecond}{\songti\xiaosanhao\bf}  %诚信声明标题第二行的字体
+\newcommand{\abscnname}{\heiti\xiaosanhao\textbf}         % 中文“摘要”字样的字体
+\newcommand{\abscnkey}{\heiti\xiaosihao\textbf}       % 中文摘要“关键字”字样的字体
+\newcommand{\abscnkeys}{\songti\xiaosihao\normalfont} % 中文摘要关键字的字体
+\newcommand{\absenname}{\xiaosanhao\textbf}               % 英文``Abstract''字样的字体
+\newcommand{\absenkey}{\xiaosihao\textbf}                 % 英文``KEY WORDS''字样的字体
+\newcommand{\absenkeys}{\xiaosihao\normalfont}        % 英文关键字的字体
+\newcommand{\headfont}{\songti\xiaowuhao\normalfont}             % 页眉字体
+\newcommand{\toctitlefont}{\heiti\sanhao\textbf}            % “目录”字样的字体
+\newcommand{\tocchapterfont}{\heiti\xiaosihao} % 目录上第X章的字体
+\newcommand{\tocsectionfont}{\songti\xiaosihao\normalfont}         % 目录上X.Y节的字体
+\newcommand{\tocsubsectionfont}{\songti\xiaosihao\normalfont}      % 目录上X.Y.Z小节的字体
+\newcommand{\textchapterfont}{\centering\heiti\sanhao\bfseries} % 正文上第X章的字体
+\newcommand{\textsectionfont}{\heiti\sihao\bfseries}            % 正文上X.Y节的字体
+\newcommand{\textsubsectionfont}{\heiti\xiaosihao\bfseries}     % 正文上X.Y.Z小节的字体
+\newcommand{\footnotefont}{\songti\xiaowuhao\normalfont}     % 脚注字体
+%\newcommand{\ftcaptionfont}{\kaishu\wuhao\normalfont}         % 图表标题的字体
+\newcommand{\ftcaptionfont}{\kaishu\wuhao}         % 图表标题的字体
+\newcommand{\reftitlefont}{\heiti\sanhao\textbf}      % “参考文献”字样的字体
+\newcommand{\refbodyfont}{\songti\wuhao\normalfont}          % 参考文献字体
+\newcommand{\thanktitlefont}{\heiti\sanhao\textbf}    % “致谢”字样的字体
+\newcommand{\appendixtitlefont}{\heiti\sanhao\textbf} % “附录”字样的字体
+
+% Word spacing
+% Usage: \ziju{spacing} spacing can be 1em, 10pt, etc.
+%\newcommand{\ziju}[1]{\renewcommand{\CJKglue}{\hskip #1}}
+
+%%%%%% Page Style %%%%%%
+
+% Margin
+% FIXME: Not very precise, but meets the need of the Word template.
+\usepackage[left=2.5cm,margin=2.5cm,headheight=1.5cm,footskip=1.5cm]{geometry}
+
+% Header and footer
+\usepackage{fancyhdr}
+\fancyhf{}  % clear head and foot
+\fancyhead[C]{\headfont{北京邮电大学本科毕业设计(论文)}}
+\fancyfoot[C]{\thepage}
+
+% Bookmark  (Chinese bookmark supported)
+\usepackage[xetex, pdfstartview=FitH, 
+bookmarksnumbered=true, bookmarksopen=true, colorlinks=true, 
+pdfborder=001, linkcolor=black, citecolor=black]{hyperref}
+
+% Line spread
+\renewcommand{\baselinestretch}{1.2}
+% \setlength{\itemsep}{-5pt} % item seperate too wide
+
+% Indentation
+%\usepackage{indentfirst} 
+%\setlength{\parindent}{2em} % indent 2em
+
+% Footnote
+\usepackage[perpage]{footmisc}
+\usepackage{footnpag} % footnote per page
+\usepackage{footnote}
+\let\ftnt=\footnote
+\renewcommand{\footnote}[1]{\ftnt{\footnotefont{#1}}} % footnote fontstyle
+
+%%%%%% Detail style %%%%%%
+% Underline
+% Usage: \ul[length]{<text>}
+\makeatletter
+\newcommand\ul[2][4cm]{\hskip1pt\underline{\hb@xt@ #1{\hss#2\hss}}\hskip3pt}
+\makeatother
+\def\ULthickness{1.1pt}%
+
+% Content style
+\usepackage{titletoc}
+\renewcommand\contentsname{\centerline{\toctitlefont{目\qquad{}录}}}
+\titlecontents{chapter}[0em]{\tocchapterfont}
+    {\CTEXnumber{\CJKsection}{\thecontentslabel}{第\CJKsection{章}\quad{}}}
+    {}
+    {\hspace{.5em}\titlerule*[10pt]{$\cdot$}\contentspage}
+\titlecontents{section}[2em]{\tocsectionfont}{%
+    \thecontentslabel\quad{}}{}{%
+    \hspace{.5em}\titlerule*[10pt]{$\cdot$}\contentspage}%
+\titlecontents{subsection}[3em]{\tocsubsectionfont}{%
+    \thecontentslabel\quad{}}{}{%
+    \hspace{.5em}\titlerule*[10pt]{$\cdot$}\contentspage}%
+\makeatletter % Content Page style
+\renewcommand\frontmatter{%
+    \if@openright\cleardoublepage\else\clearpage\fi%
+    \@mainmatterfalse%
+    \pagenumbering{Roman}% Roman style page number
+    \pagestyle{plain}}%
+\makeatother%
+
+\makeatletter % Translation Page style
+\renewcommand\backmatter{%
+    \if@openright\cleardoublepage\else\clearpage\fi%
+    \@mainmatterfalse%
+    \pagestyle{empty}
+}
+\makeatother%
+
+% Text style
+\usepackage{titlesec}
+\titleformat{\chapter}[hang]{\textchapterfont}{第\chinese{chapter}章}{1em}{}
+\titlespacing{\chapter}{0pt}{3ex plus .5ex minus .5ex}{3ex plus .5ex minus .5ex} % 缩短章节标题的上边距
+\titleformat{\section}{\textsectionfont}{\thesection}{1em}{}
+\titleformat{\subsection}{\textsubsectionfont}{\qquad{}\thesubsection}{1em}{}
+\titleformat{\subsubsection}{\textsubsectionfont}{\qquad{}\thesubsubsection}{0.5em}{}
+
+% Reference style
+% \usepackage[numbers,sort&compress]{natbib}
+\usepackage[super,numbers,sort&compress]{natbib}
+%\usepackage[backend=biber,texencoding=utf8,bibencoding=utf8]{biblatex}
+\renewcommand\bibname{\centerline{\reftitlefont{参考文献}}}
+%\renewcommand{\citet}[1]{\textsuperscript{\cite{#1}}}
+\setcitestyle{square}
+
+% Appendix
+% TODO: this needs imporvement
+\usepackage{appendix}
+
+%% Some tweaking/features/styles
+
+% Figure & Table
+%\usepackage{caption}
+\usepackage{caption2,caption3}
+\renewcommand{\captionfont}{\ftcaptionfont}
+\renewcommand{\captionlabelfont}{\ftcaptionfont}
+\renewcommand{\captionlabeldelim}{}
+\renewcommand{\tablename}{表}
+\renewcommand{\thetable}{~\arabic{chapter}-\arabic{table}~}
+\renewcommand{\figurename}{图}
+\renewcommand{\thefigure}{~\arabic{chapter}-\arabic{figure}~}
+\renewcommand{\theequation}{\arabic{chapter}-\arabic{equation}~}
+
+% figure tweaking
+% New figure environment
+% Usage: \buptfigure[scale]{figure path}{caption}{label}
+\usepackage{graphicx} % graphic package
+\newcommand{\buptfigure}[4][width=11cm]{%
+\begin{figure}[!htbp]%
+    \begin{center}%
+        \includegraphics[#1]{#2}%
+    \end{center}%
+    \caption{#3}%
+    \label{#4}
+\end{figure}}
+
+% table tweaking
+% New table environment
+% Usage: \begin{bupttable}{caption}{label} 
+%            <normal table>
+%        \end{bupttable}
+\usepackage{multirow} % multirow 
+\newenvironment{bupttable}[2]{%
+\begin{table}[!htbp]%
+    \centering%
+    \renewcommand{\arraystretch}{1.38}%
+    \setlength{\abovecaptionskip}{0pt}%
+    \setlength{\belowcaptionskip}{10pt}%
+    \caption{#1}%
+    \label{#2}}{%
+\end{table}}%
+
+% equation tweaking
+\usepackage{amsmath,delarray,bm,mathtools}
+\newtagform{newtag}[]{式(}{)}
+\usetagform{newtag}
+
+% Theorem
+\newtheorem{definition}{定义}
+
+% Code
+\usepackage{listings}
+%\renewcommand{\ttdefault}{bch}
+\lstset{
+    basicstyle=\ttfamily\wuhao, %五号等宽字体
+    extendedchars=true,
+    keywordstyle=\color{blue},
+    commentstyle=\color{green!30!black}, 
+    showspaces=false,          % 显示空格
+    showstringspaces=true,    % 字符串中显示空格
+    showtabs=false,            % 显示 TAB
+    tabsize=2,                 % TAB 被当作两个空格
+    captionpos=b,              % 标题位置
+    breaklines=true,           % 自动断行
+    breakatwhitespace=true,   
+    basewidth={0.5em,0.35em},
+%    xleftmargin=.5em,
+%    xrightmargin=.5em,
+%    aboveskip=1ex,
+%    columns=flexible,        % 如果不指定等宽字体用这个
+%    mathescape,
+    escapeinside={\%*}{*)}
+}

+ 43 - 0
README.md

@@ -0,0 +1,43 @@
+# 北京邮电大学本科学位论文模板
+* 作者:Caspar Zhang <casparant@gmail.com>
+* 修改: Bing Hsu <hello@antinucleon.com>
+* 修改: Guohua Wu <ghmeta@163.com>
+* 修改:Qiang Sheng<sqyx008@outlook.com>
+
+# 主要修改
+* 加入外文译文板块,将附录合并于主文件,将封面、诚信声明改为PDF导入,修正了部分参考文献的格式;部分格式依据2018年的本科毕设指导手册修改。
+
+#系统需求
+Windows + Xelatex
+建议安装TexLive,直接打开main.tex即可操作
+
+#如何使用
+编辑以下文件
+
+- main.cfg: 包含了论文中需要填写的项目,比如论文名称等。论文的致谢部分也放在了这里。
+
+- abstract.cfg: 包含了论文的中英文摘要。
+
+- main.tex: 论文的主体、附录、外文译文
+
+- bib.ref: 论文的参考文献库
+
+用素材填充以下文件夹
+
+- pictures:将图片放入该文件夹
+
+- docs:将封面、诚信声明、外文文献原文的PDF放入该文件夹
+
+#编译
+在TexLive环境下
+先用XeLatex编译一遍;
+再用bibTex编译一遍;
+再用XeLatex编译一遍。
+(如果里面引用号码没有显示,就再XeLatex编译一遍。)
+
+#日期
+2018/4/24
+
+# BTW
+希望能有北邮的开源组织来维护和模块化本科生毕设Latex模板……
+(当然更希望北邮的教务部门**锐意进取、大胆创新、敢为人先**地提供**官方**的毕设Latex模板)

+ 67 - 0
abstract.cfg

@@ -0,0 +1,67 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                  %
+%   Copyright (c) 2010 - 2011 Caspar Zhang <casparant@gmail.com>   %
+%                                                                  %
+%   This copyrighted material is made available to anyone wishing  %
+%   to use, modify, copy, or redistribute it subject to the terms  %
+%   and conditions of the GNU General Public License version 2.    %
+%                                                                  %
+%   This program is distributed in the hope that it will be        %
+%   useful, but WITHOUT ANY WARRANTY; without even the implied     %
+%   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR        %
+%   PURPOSE. See the GNU General Public License for more details.  %
+%                                                                  %
+%   You should have received a copy of the GNU General Public      %
+%   License along with this program; if not, write to the Free     %
+%   Software Foundation, Inc., 51 Franklin Street, Fifth Floor,    %
+%   Boston, MA 02110-1301, USA.                                    %
+%                                                                  %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% 你只需要修改下面内容就可以完成中英文摘要,
+% 这要求你具有一定的LaTeX基础,但是还是那句话,
+% 如果你足够聪明,不具有LaTeX基础也可以完成。
+
+% 中文摘要
+\def\abstractcn{
+%从这里开始写你的摘要,分段需要空一行。
+在人类发展过程中,绝大多数媒介都是2D媒介,比如壁画、竹简、书本、油画、影片、相片、电脑绘图等等把壮丽的风景、美丽的模型浓缩到一个平面上。但是VR本质上就是3D媒介,它是有空间感的,你可以在VR中看到整个空间,把感受到的环境、物体,在虚拟世界中忠实完整地呈现出来。这会让所有的创意、设计产业有非常大的改变。
+
+基于虚拟现实技术在现实世界中的发展,传统意义上的第一部虚拟现实电影在80年代初开始出现,而计算机技术的进步使得人们开始研究更经济更能被普通民众所能接触到的的VR技术。 90年代,全球范围内大量涌现的虚拟现实电影对于出现在商场中的科技产生了影响。自从2012年的Oculus Kickstarter以来,虚拟现实技术在大屏幕上出现了复苏,它逐渐地成为了一个更亲近普通群众和可被大家接收的消费者设备。
+
+区别于以往的视频类型,对观众来说,以往的2D、3D电影我们都是在“观看”屏幕当中的人物表演,观众会受到画框的限制而VR则是邀请你进入一种360°沉浸式的体验状态。因此也意味着视频观看不再受到以往导演想让观众看哪儿,观众就只能看哪儿的局限。简单来说,VR就是戴上这些可穿戴眼镜或者头盔后,你就是主角,进入到设计师们给你设定好的这些场景,在这里你可以尽情体验真实的过山车、跳伞运动等现实视觉体验。
+
+因此本文致力于研究全景视频微电影在虚拟现实头戴式显示器中的体验方式,在Unity游戏引擎中应用了球面投影着色器并通过“时光机”脚本使得全景视频能够在游戏引擎中进行播放控制。同时,基于Valve公司的SteamVR插件,提出了能够应用在微电影中的交互方式,例如凝视交互、手柄交互等。
+%摘要结束
+}
+
+% 中文关键字 
+% TODO: 改成可变长度的
+\def\abscnkeyone{全景拍摄}
+\def\abscnkeytwo{投影模型}
+\def\abscnkeythree{游戏引擎框架}
+\def\abscnkeyfour{VR交互}
+\def\abscnkeyfive{}
+
+% ABSTRACT
+\def\abstracten{
+%Your abstract here, to make a new paragraph, give an extra blank line please.
+Traditionally based off of technological developments happening in the real world, some of the first movies with VR technology started coming out in the early 80’s when advancements in computer technology allowed research to begin on more affordable VR.  With the 90’s came a large influx of VR movies on the coattails of the tech appearing in arcades across the globe.  Since the Oculus Kickstarter in 2012, VR has seen a revival on the big screen as it becomes a more affordable and accessible consumer device.
+
+In the process of human development, the vast majority of media are 2D media, such as murals, bamboo slips, books, paintings, films, photos, computer graphics, etc. make the magnificent scenery and models condensed to a plane. But VR is essentially a 3D media, it is a sense of space,so you can see the whole space in the VR, the feelings of the environment, objects, in the virtual world faithfully and completely presented.
+
+Different from the previous video type, for the audience, the previous 2D, 3D movies we are in the "watch" screen where the characters perform. Therefore the audience will be limited by the frame while VR invites you into a 360 ° immersion type of experience. So it also means that the video is no longer subject to the limitations made by directors who want to let the audience see where the audience can only see. In short, VR is when wearing these wearable glasses or helmets, you are the protagonist, stepping into the designers who have already set these scenes, where you can enjoy the real roller coaster, skydiving and other realistic visual experience.
+
+Therefore, this paper is devoted to the study of panoramic micro-film in the virtual reality headset in the experience of the way, applying the equirectangular projection shader and the "time machine" script that makes the panoramic video can be played in the game engine playback controller. At the same time, based on Valve's SteamVR plug-in , this paper proposes the interactive ways which can be applied in micro-films, such as staring interaction, handle interaction.
+%Abstract done
+}
+
+% Key Words 
+% TODO: 改成可变长度的
+\def\absenkeyone{Panorama}
+\def\absenkeytwo{Projection Models}
+\def\absenkeythree{Game Engine Framework}
+\def\absenkeyfour{VR Interaction}
+\def\absenkeyfive{}
+
+

+ 78 - 0
abstract.tex

@@ -0,0 +1,78 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                  %
+%   Modified by Bing Hsu <hello@antinucleon.com> 2013              %
+%   Forked From (c) 2010 - 2011 Caspar Zhang <casparant@gmail.com> %
+%                                                                  %
+%   This copyrighted material is made available to anyone wishing  %
+%   to use, modify, copy, or redistribute it subject to the terms  %
+%   and conditions of the GNU General Public License version 2.    %
+%                                                                  %
+%   This program is distributed in the hope that it will be        %
+%   useful, but WITHOUT ANY WARRANTY; without even the implied     %
+%   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR        %
+%   PURPOSE. See the GNU General Public License for more details.  %
+%                                                                  %
+%   You should have received a copy of the GNU General Public      %
+%   License along with this program; if not, write to the Free     %
+%   Software Foundation, Inc., 51 Franklin Street, Fifth Floor,    %
+%   Boston, MA 02110-1301, USA.                                    %
+%                                                                  %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\input{abstract.cfg}
+
+% 中文摘要
+\begin{titlepage}
+    \begin{spacing}{1.05}
+        \centering
+        \parbox[c]{.6\textwidth}{\thesistitlefont{\thesistitle}}
+    \end{spacing}
+
+    \begin{spacing}{1.6}
+        \centering
+        \sanhao\quad{} \\ 
+        \abscnname{摘\quad{}要} \\ 
+        \xiaosanhao\quad{}
+    \end{spacing}
+    
+    \normalsize
+
+    \abstractcn
+    
+    \quad{}
+
+    \abscnkey{关键词}\quad{}%
+    \abscnkeys{\abscnkeyone\quad{}%
+                      \abscnkeytwo\quad{}%
+                      \abscnkeythree\quad{}%
+                      \abscnkeyfour\quad{}%
+                      \abscnkeyfive}%
+\end{titlepage}
+
+% Abstract
+\begin{titlepage}
+    \begin{spacing}{1.05}
+        \centering
+        \parbox[c]{.6\textwidth}{\thesistitleenfont{\thesistitleen}}
+    \end{spacing}
+
+    \begin{spacing}{1.6}
+        \centering
+        \sanhao\quad{} \\ 
+        \abscnname{ABSTRACT} \\ 
+        \xiaosanhao\quad{}
+    \end{spacing}
+
+    \normalsize
+
+    \abstracten
+    
+    \quad{}
+
+    \absenkey{KEY WORDS}\quad{}%
+    \absenkeys{\absenkeyone\quad{}%
+                      \absenkeytwo\quad{}%
+                      \absenkeythree\quad{}%
+                      \absenkeyfour\quad{}%
+                      \absenkeyfive}%
+\end{titlepage}

+ 2542 - 0
buptbachelor.bst

@@ -0,0 +1,2542 @@
+%% BUPTThesis.bst
+%%
+%% 北京邮电大学研究生学位论文参考文献 BibTeX 样式
+%% 
+%% 项目主页:http://code.google.com/p/buptthesis/
+%% 
+%% 本样式基于 IEEEtran 和 ThuThesis 修改而成,基本满足北京邮电大学研究生论文格式要求
+%%
+%% 作者:
+%% 张煜 (email:dazzlezhang@gmail.com)
+%%
+%% 更新记录:
+%% $LastChangedBy$
+%% $LastChangedDate$
+%% $LastChangedRevision$
+
+%% 一些设置的缺省值
+% 英文姓名排版格式字符串, 按<last name全称>~<first name首字母><, Jr.>格式
+FUNCTION {default.name.format.string} {"{vv~}{ll}{~f}{, Jj}"}
+
+% 列出的最多作者数目, 即当作者数目超过下列数字时, 超出部分的作者姓名将略去
+FUNCTION {default.max.num.names.before.forced.et.al} { #3 }
+
+% 是否为盲审版本, #0 表示盲审将隐去作者信息, #1 表示非盲审
+FUNCTION {default.is.for.peer.review} { #0 }
+%%%%%%%%%%%%%%
+% 一些辅助函数
+%%%%%%%%%%%%%%
+% #0 不在终端显示开始/完成的提示信息
+% #1 显示提示信息
+FUNCTION {is.print.banners.to.terminal} {#1}
+
+%%%%%%%%%%%%%%%%
+% 版本与提示信息
+%%%%%%%%%%%%%%%%
+% 版本信息
+FUNCTION{bst.file.version} { "0.2" }
+FUNCTION{bst.file.date} { "2009/01/25" }
+FUNCTION{bst.file.website} { 
+  "http://code.google.com/p/buptthesis/" }
+
+% 开始提示信息
+FUNCTION {banner.message}{ 
+  is.print.banners.to.terminal
+    { "-- BUPTThesis.bst version" " " * bst.file.version *
+      " (" * bst.file.date * ") " * "by Yu Zhang." *
+       top$
+       "-- " bst.file.website *
+       top$
+       "-- See the " quote$ * "userguide.pdf" * quote$ * 
+       " manual for usage information." *
+       top$
+    }
+    { skip$ }
+  if$
+}
+
+% 完成提示信息
+FUNCTION {completed.message} { 
+  is.print.banners.to.terminal
+    { "" top$ "Done." top$ }
+    { skip$ }
+  if$
+}
+
+%%%%%%%%%%%%%%%%%%%
+%% 预定义的字符串宏
+%%%%%%%%%%%%%%%%%%%
+% 英文月份
+MACRO {jan} {"January"}
+MACRO {feb} {"February"}
+MACRO {mar} {"March"}
+MACRO {apr} {"April"}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"August"}
+MACRO {sep} {"September"}
+MACRO {oct} {"October"}
+MACRO {nov} {"November"}
+MACRO {dec} {"December"}
+
+%%%%%%%%%%%%
+%% 条目定义
+%%%%%%%%%%%%
+ENTRY { address			% 地址
+	assignee		% 标准授权人
+	author			% 作者
+	booktitle		% 专著/论文集名
+	chapter			% 
+	day			%
+	dayfiled		%
+	edition			% 版本
+	editor			% 编者
+	howpublished		% 出版形式
+	esubtype		% 电子文献子类
+	institution		% 
+	journal			% 期刊
+	key			%
+	language		% 语言
+	month			% 月
+	monthfiled		%
+	nationality		%
+	newsletter		%
+	note			%
+	number			%
+	number2			%
+	organization		%
+	pages			%
+	publisher		%
+	refdate			%
+	update			% 电子文档更新或修改日期
+	school			%
+	series			%
+	title			%
+	translator		%
+	type			%
+	volume			%
+	volume2			%
+	year			%
+	year2			%
+	yearfiled		%
+	url			% URL
+	pubaddress		% 出版地
+	CTLname_format_string	% 作者英文姓名排版格式
+	CTLmax_names_forced_etal % 强制略去的最大作者数
+	CTLauthor_name_english	 % 作者英文姓名
+	CTLauthor_name_chinese	 % 作者中文姓名
+	CTLfor_peer_review	 % 是否匿名
+  }
+  {}
+  { label }
+
+%%%%%%%%%%%%%
+%% 字符串常量
+%%%%%%%%%%%%%
+% FUNCTION {bbl.anonymous}   { language empty$ { "Anon" }  { "佚名" } if$ }
+FUNCTION {bbl.anonymous} { "" }
+FUNCTION {bbl.etal}        { language empty$ { "~et~al" } { "~等" } if$ }
+FUNCTION {bbl.sine.loco}   { language empty$ { "S.~l." } { "出版地不详" } if$ }
+FUNCTION {bbl.sine.nomine} { language empty$ { "s.~n." } { "出版者不详" } if$ }
+
+FUNCTION {bbl.comma}       { language empty$ { ", " } { "," } if$ }
+FUNCTION {bbl.colon}       { language empty$ { ": " } { ":" } if$ }
+FUNCTION {bbl.period}      { language empty$ { "." } { "." } if$ }
+FUNCTION {bbl.parallel}    { "~//~" }
+
+FUNCTION {bbl.st}          { "st" }	% 序数词后缀
+FUNCTION {bbl.nd}          { "nd" }	% 序数词后缀
+FUNCTION {bbl.rd}          { "rd" }	% 序数词后缀
+FUNCTION {bbl.th}          { "th" }	% 序数词后缀
+
+FUNCTION {bbl.number}      { "第" }
+FUNCTION {bbl.author}      { "作者" }
+
+%%%%%%%%%%%%
+%% 整型变量
+%%%%%%%%%%%
+INTEGERS { output.state before.all mid.sentence after.title after.sentence url.sentence after.block before.pages }
+INTEGERS { number.label longest.label.width multiresult 
+	   nameptr namesleft numnames lastnamecapitalized namelength charptr }
+INTEGERS { max.num.names.before.forced.et.al }
+INTEGERS { is.for.peer.review }
+
+%%%%%%%%%%%%%
+%% 字符串变量
+%%%%%%%%%%%%%
+STRINGS { s 
+	  t 
+	  longest.label 
+	  thename 
+	  name.emph.author.en	% 强调现实的作者英文姓名
+	  name.emph.author.zh	% 强调显示的作者中文姓名
+	  name.format.string	% 姓名的格式字符串
+	  author.name.in.english % 作者英文姓名
+	  author.name.in.chinese % 作者中文姓名
+}
+
+%%%%%%%%%%%%%%%%%%%%%
+%% LaTeX 参考文献代码
+%%%%%%%%%%%%%%%%%%%%%
+
+% 输出 .bbl 文件开始
+FUNCTION {begin.bib} { 
+  "% Generated by BUPTThesis.bst, version: " bst.file.version * 
+  " (" * bst.file.date * ")" *
+  write$ newline$		% 输出注释行,说明产生该bbl的bst及版本
+
+  preamble$ empty$		% 输出前导
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+
+  "\begin{thebibliography}{"  longest.label  * "}" * 
+  write$ newline$		% 输出 \begin{thebiliography}{x}
+}
+
+% 输出 .bbl 文件结束部分
+FUNCTION {end.bib} {
+  newline$
+  "\end{thebibliography}" 
+  write$ newline$
+}
+
+%%%%%%%%%%%%
+%% 底层函数
+%%%%%%%%%%%%
+
+% 控制变量初始化
+FUNCTION {initialize.controls} {
+  default.name.format.string 'name.format.string :=
+  default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al :=
+  default.is.for.peer.review 'is.for.peer.review :=
+}
+
+% 初始化最长 label
+FUNCTION {initialize.longest.label} { 
+  "" 'longest.label :=
+  #1 'number.label :=
+  #0 'longest.label.width :=
+}
+
+% 最长 label pass
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+  number.label #1 + 'number.label :=
+  label width$ longest.label.width >
+    { label 'longest.label :=
+      label width$ 'longest.label.width :=
+    }
+    { skip$ }
+  if$
+}
+
+% 逻辑非: 栈顶元素的逻辑非
+FUNCTION {not} {
+    { #0 }
+    { #1 }
+  if$
+}
+
+% 逻辑与
+FUNCTION {and} {   
+    { skip$ }
+    { pop$ #0 }
+  if$
+}
+
+% 逻辑或
+FUNCTION {or} {
+    { pop$ #1 }
+    { skip$ }
+  if$
+}
+
+% 返回 #1 : 栈顶字符是数字"0"~"9"
+% 返回 #0 : 其他
+FUNCTION {is.num} {
+  chr.to.int$
+  duplicate$ "0" chr.to.int$ < not
+  swap$ "9" chr.to.int$ > not and
+}
+
+% 栈顶整数乘以10
+FUNCTION {bump.int.mag} {
+  #0 'multiresult :=		% 初始化乘运算结果 y <- 0
+  { duplicate$ #0 > }		% 栈顶整数 x = 0 时才停止循环
+  { #1 -			% x <- x - 1
+    multiresult #10 +		
+    'multiresult :=		% y <- y + 10
+  }
+  while$
+  pop$				% 释放 x 
+  multiresult			% y 压栈返回
+}
+
+% 将栈顶字符("0"~"9")转换为整数(0~9)
+FUNCTION {char.to.integer} { 
+  duplicate$ 
+  is.num
+    { chr.to.int$ "0" chr.to.int$ - }
+    { "noninteger character " quote$ * swap$ * quote$ *
+      " in integer field of " * cite$ * warning$
+      #0			% 如果栈定字符不是("0"~"9"), 给出警告返回 0
+    }
+  if$
+}
+
+% 将栈顶字符串转换为整数
+FUNCTION {string.to.integer} { 
+  duplicate$ text.length$ 'namesleft := % namesleft <- 字符串长度
+  #1 'nameptr :=			% nameptr   <- 1
+  #0 'numnames :=			% numnames  <- 0
+  { nameptr namesleft > not }		% while( ! ( nameptr > namesleft ) )
+  { duplicate$ nameptr #1 substring$	% 取第 nameptr 个字符 x
+    char.to.integer numnames bump.int.mag + 
+    'numnames :=		        % numnames <- chr2int( x ) + 10 * numnames
+    nameptr #1 +			
+    'nameptr :=				% nameptr <- nameptr + 1
+  }
+  while$
+  pop$				        % 释放栈顶元素
+  numnames				% numnames 压栈返回
+}
+
+% convert the strings "yes" or "no" to #1 or #0 respectively
+FUNCTION {yes.no.to.int}
+{ "l" change.case$ duplicate$
+    "yes" =
+    { pop$  #1 }
+    { duplicate$ "no" =
+        { pop$ #0 }
+        { "unknown boolean " quote$ * swap$ * quote$ *
+          " in " * cite$ * warning$
+          #0
+        }
+      if$
+    }
+  if$
+}
+
+% 初始化状态常量
+FUNCTION {initialize.status.constants}
+{ #0 'before.all :=		% 起始
+  #1 'mid.sentence :=		% 句中
+  #2 'after.sentence :=		% 句末
+  #3 'after.block :=		% 块后
+  #4 'after.title :=            %
+  #5 'before.pages :=		%
+}
+
+FUNCTION {remove.char}
+{ 't :=
+  's :=
+  ""
+  { s empty$ not }
+  { s #1 #1 substring$
+    s #2 global.max$ substring$ 's :=
+    duplicate$ t = 'pop$
+      { * }
+    if$
+  }
+  while$
+}
+
+STRINGS {z}
+FUNCTION {remove.period}
+{ 'z :=
+  ""
+  { z empty$ not }
+  { z #1 #1 substring$
+    z #2 global.max$ substring$ 'z :=
+    duplicate$ "." = 'pop$
+      { * }
+    if$
+  }
+  while$
+}
+
+FUNCTION {remove.dots} {
+  duplicate$ "input=" swap$ * warning$ 
+  "language=" language * warning$
+  language empty$
+    { "." remove.char 
+      duplicate$ "output('.')=" swap$ * warning$ }
+    { "." remove.char 
+      duplicate$ "output('.')=" swap$ * warning$
+      "." remove.char 
+      duplicate$ "output('.')=" swap$ * warning$ }
+  if$
+}
+
+FUNCTION {bibinfo.check}
+{ swap$
+  duplicate$ missing$
+    {
+      pop$ pop$
+      ""
+    }
+    { duplicate$ empty$
+        {
+          swap$ pop$
+        }
+        { swap$
+          pop$
+        }
+      if$
+    }
+  if$
+}
+
+%%%%%%%%%%%%
+%% 调试例程
+%%%%%%%%%%%%
+
+% 默认调试输出函数
+FUNCTION {debug.output} {
+  "[DEBUG] " swap$ * top$ 
+}
+
+% 状态调试输出函数
+FUNCTION {debug.output.status} {
+  "---- output.state=" 
+  output.state before.all = 
+    { "before.all" }
+    { output.state mid.sentence =
+	{ "mid.sentence" }
+	{ output.state after.sentence =
+	    { "after.sentence" }
+	    { output.state url.sentence =
+		{ "url.sentence" }	
+		{ output.state before.pages =
+		    { "before.pages" }
+		      { "after.block" }
+		  if$
+		}
+	      if$
+	    }
+	  if$
+	}
+      if$
+    }
+  if$
+  * debug.output
+}
+
+FUNCTION {output.year}
+{ 't :=
+  number empty$
+  volume empty$
+  and
+    { add.period$ write$ }
+    { ", " * write$ }
+  if$
+  t
+}
+
+% STRINGS {z}
+% FUNCTION {remove.dots}
+% { 'z :=
+%   ""
+%   { z empty$ not }
+%   { z #1 #1 substring$
+%     z #2 global.max$ substring$ 'z :=
+%     duplicate$ bbl.period = 'pop$
+%       { * }
+%     if$
+%   }
+%   while$
+%   %z
+% }
+
+% 对于中文文献, 用全角句点替换英文句点
+FUNCTION {replace.half.width.period} {
+%   % DEBUG
+%   duplicate$ "-- replace.half.width.period(" swap$ * ")" * debug.output
+%   % END OF DEBUG
+  language empty$
+    { " " * }				   % 对于英文文献, 在句点后加一空格
+    { duplicate$ text.length$ 'numnames := % numnames 等于字符串长度
+%       % DEBUG
+%       numnames int.to.str$ "---- text.length$=" swap$ * debug.output
+%       % END OF DEBUG
+      duplicate$ numnames #1 substring$ "." =
+	{ % % DEBUG
+% 	  "---- Found '.' at the end" debug.output
+% 	  % END OF DEBUG
+	  numnames #1 -
+	  #1 swap$ substring$
+	  bbl.period *
+	}
+	{ skip$ }
+      if$
+    }
+  if$
+%   % DEBUG
+%   duplicate$ "---- Return=" swap$ * debug.output
+%   % END OF DEBUG
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% 输出例程: 输出栈顶项并根据需要添加标点符号
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% 非空项输出函数: 用于输出非空项
+FUNCTION {output.nonnull} {
+%   % DEBUG
+%   duplicate$ "output.nonnull(" swap$ * ")" * debug.output
+%   debug.output.status
+%   % END OF DEBUG
+  swap$
+  % 根据当前输出状态添加前置标点符号
+  % before.all      起始, 不添加任何标点符号直接输出
+  % mid.sentence    句中, 前置逗号输出
+  % after.sentence  句末, 前置句号输出
+  % after.block     块后, 前置句号, 后置 \newblock 输出
+  % after.title
+  output.state mid.sentence =
+    { bbl.comma * write$ }	% mid.sentence 前置逗号
+    { output.state after.block =
+	{ add.period$		    % 块后, 后置句号
+	  replace.half.width.period % 为中文文献替换句点
+	  write$ 
+	  newline$  
+%	  "\newblock "  write$ 
+	} % 后置 \newblock 输出
+	{ output.state before.all =
+            { write$ }		% 起始, 不添加任何标点符号直接输出
+            { output.state after.title =
+		{ bbl.parallel *
+		  write$ }
+		{ output.state before.pages =
+		    { bbl.colon * 
+		      write$ }
+		    { add.period$ 	% 句末, 前置句号输出
+		      replace.half.width.period 
+		      write$ }		% 
+		  if$
+		}
+	      if$
+	    }
+	  if$
+	}
+      if$
+      mid.sentence 'output.state :=
+    }
+  if$
+  % s
+}
+
+% 无警告输出函数
+FUNCTION {output} { 
+  duplicate$ empty$
+    { pop$ }			% 若输出项为空, 则舍去空输出项
+    { output.nonnull }		% 否则调用非空输出函数
+  if$
+}
+
+% 警告输出函数: 同 output, 但是对于空项给出警告提示
+FUNCTION {output.warn}
+{ 't :=
+  duplicate$ empty$
+    { pop$ "empty " t * " in " * cite$ * warning$ }
+    { output.nonnull }
+  if$
+}
+
+% 将数字字符串转换成序数词形式字符串(例如: "7" -> "7th")
+FUNCTION {num.to.ordinal} { 
+  duplicate$ #-1 #1 substring$ "1" =
+     { bbl.st * }
+     { duplicate$ #-1 #1 substring$ "2" =
+         { bbl.nd * }
+         { duplicate$ #-1 #1 substring$ "3" =
+             { bbl.rd * }
+             { bbl.th * }
+           if$
+         }
+       if$
+     }
+   if$
+}
+
+% 从字符串中提取前导数字的函数
+% 如果栈顶字符串以数字开头(例如: "11th"), 则将字符串用其数字部分(即,"11")
+% 替换. 否则, 保持原字符串不变. 用于版本转换函数(convert.edition)
+% s 保存提取出的数字, t 保存剩余待扫描的字符串.
+FUNCTION {extract.num} {
+  duplicate$ 't :=		% t <- 输入字符串
+  "" 's :=			% s <- ""
+  { t empty$ not }		% while( t != "" ) {
+  { t #1 #1 substring$		%   tmp <- t[0]
+    t #2 global.max$ substring$ 
+    't :=			%   t <- t[2:global.max$]
+    duplicate$ is.num		%   if( is.num( tmp ) )
+      { s swap$ * 's := }	%     s <- s & tmp
+      { pop$ "" 't := }		%   else t <- ""
+    if$				% }
+  }				% 
+  while$			% if( s == "" )
+  s empty$			%   ;
+    'skip$			% else
+    { pop$ s }			%   return s
+  if$				%
+}
+
+% 将1st~10th单词形式的序数词转换成阿拉伯数字形式
+FUNCTION {word.to.num} {
+  duplicate$ "l" change.case$ 
+  's :=				% s <- lower( arg )
+  s "first" =			% if ( s == "first" )
+    { pop$ "1" }		%   return "1"
+    { skip$ }
+  if$
+  s "second" =			% if ( s == "second" )
+    { pop$ "2" }		%   return "2"
+    { skip$ }
+  if$
+  s "third" =
+    { pop$ "3" }
+    { skip$ }
+  if$
+  s "fourth" =
+    { pop$ "4" }
+    { skip$ }
+  if$
+  s "fifth" =
+    { pop$ "5" }
+    { skip$ }
+  if$
+  s "sixth" =
+    { pop$ "6" }
+    { skip$ }
+  if$
+  s "seventh" =
+    { pop$ "7" }
+    { skip$ }
+  if$
+  s "eighth" =
+    { pop$ "8" }
+    { skip$ }
+  if$
+  s "ninth" =
+    { pop$ "9" }
+    { skip$ }
+  if$
+  s "tenth" =
+    { pop$ "10" }
+    { skip$ }
+  if$
+}
+
+% 转换字符串形式的序数词为数字形式的序数词
+% 例如: 将 "Eleventh" 转换为 "11th"
+FUNCTION {convert.edition} { 
+  duplicate$ empty$ 'skip$
+    { duplicate$ #1 #1 substring$ 
+      is.num			% if( is.num( arg[1] ) ) {
+        { extract.num		%   tmp <- extract.num( arg )
+          num.to.ordinal	%   tmp <- num.to.ordinal( tmp )
+        }			% } else {
+        { word.to.num		%   tmp <- word.to.num( arg )
+          duplicate$ #1 #1 substring$ 
+	  is.num		%   if( is.num( tmp[1] ) )
+            { num.to.ordinal }	%     tmp <- num.to.ordinal( tmp )
+            { "edition ordinal word " 
+	      quote$ * edition * quote$ *
+              " may be too high (or improper) for conversion" * 
+	      " in " * cite$ * warning$ % else output warning
+            }
+          if$
+        }
+      if$
+    }
+  if$
+}
+
+FUNCTION {start.entry}
+{ newline$
+  "\bibitem{" write$
+  cite$ write$
+  "}" write$
+  newline$
+  ""
+  before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+  replace.half.width.period
+  write$
+  newline$
+}
+
+% FUNCTION {fin.entry}
+% { duplicate$ empty$
+%     'pop$
+%     'write$
+%   if$
+%   newline$
+% }
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+    'skip$
+    { output.state before.all =
+    'skip$
+    { after.sentence 'output.state := }
+      if$
+    }
+  if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+    'skip$
+    'new.sentence
+  if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.sentence
+  if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+    { pop$ "" }
+    { "{\em " swap$ * "}" * }
+  if$
+}
+
+
+
+
+
+FUNCTION {format.language}
+{ language empty$
+    'skip$
+    'skip$
+  if$
+ }
+FUNCTION {is.space}
+{ chr.to.int$
+  duplicate$ #32 =
+    { pop$ #1 }
+    { pop$ #0 }
+  if$
+}
+FUNCTION {is.lower.char}
+{
+  chr.to.int$
+  duplicate$ #96 >
+    { #123 < 
+	{ #1 }
+	{ #0 }
+      if$
+    }
+    { pop$ #0 }
+  if$
+}
+
+% 将last name转换为全大写
+FUNCTION {capitalize.last.name} {
+  "u" change.case$
+}
+% FUNCTION {capitalize.last.name}
+% { 
+%   'thename :=			% 输入参数 thename
+%   thename text.length$ 
+%   'namelength :=		% namelength := thename 的长度
+%   #1 'charptr :=
+%   #0 'lastnamecapitalized :=
+%   ""
+  
+%   { charptr #1 - namelength < 
+%     %     % debug
+%     %     duplicate$ int.to.str$ "( charptr + #1 > namelength ) == " swap$ * warning$ 
+%     %     % eod
+%   }
+%   { 
+%     %     % debug
+%     %     "charptr = " charptr int.to.str$ * 
+%     %     ", lastnamecapitalized = " * 
+%     %     lastnamecapitalized int.to.str$ * warning$
+%     %     % eod
+%     lastnamecapitalized #1 = 
+% 	{	thename charptr namelength charptr - #1 + substring$ *
+% 		namelength #1 + 'charptr := 
+% 		% 	% debug
+% 		% 	duplicate$ "top of the stack = " swap$ * warning$
+% 		% 	% eod
+% 	}
+% 	{ thename charptr #1 substring$ 
+% 	  % 	% debug
+% 	  % 	duplicate$ "the char = " swap$ * warning$
+% 	  % 	% eod
+% 	  duplicate$ is.lower.char 
+% 	    % 	% debug
+% 	    % 	duplicate$ int.to.str$ "is.lower.char = " swap$ * warning$
+% 	    % 	  % eod
+% 	    { "u" change.case$ * }
+% 	    { duplicate$ is.space
+% 		% 	    % debug
+% 		% 	    duplicate$ int.to.str$ "is.space = " swap$ * warning$
+% 		% 	      % eod
+% 		{ #1 'lastnamecapitalized :=
+% 		  *
+% 		}
+% 		{ *
+% 		}
+% 	      if$
+% 	    }
+% 	  if$
+% 	  % 	% debug
+% 	  % 	duplicate$ "top of the stack = " swap$ * warning$
+% 	  % 	% eod
+% 	  charptr #1 + 'charptr :=
+% 	}
+%     if$
+%   }
+%   while$
+% }
+% 格式化盲审姓名
+FUNCTION {format.names.for.peer.review} {
+  's :=				% s := author域
+  #1 'nameptr :=		% nameptr 是姓名指针,初始化为 1
+  s num.names$ 'numnames :=     % 利用 num.names$ 获得 s 中的作者数量存入 nameptr
+  numnames 'namesleft :=	% 未处理的姓名数 namesleft := numnames
+  % 循环处理所有姓名
+  { namesleft #0 > }		% if namesleft > #0 (还有姓名没有格式化)
+  { s nameptr 			% 选择第 nameptr 个姓名
+    name.format.string		% 按 name.format.string 的格式排版
+    format.name$		% 调用 format.name$
+    remove.period		% 并删除缩写符号'.'
+    't :=			% 格式化后的姓名暂存于 t
+    language empty$		
+      { author.name.in.english }% 如果是英文文献将 author.name.in.english 压栈
+      { author.name.in.chinese } % 否则将 author.name.in.chinese 压栈
+    if$
+    t =				% 用当前的姓名与栈上的姓名做比较
+      { nameptr int.to.str$	% 将作者序号转化为字符串
+	"\CJKnumber{" swap$ * "}" * % 使用中文数字
+	bbl.number swap$ * bbl.author * % 加上``第''和``作者''
+%	duplicate$ debug.output
+      }
+      { skip$ }
+    if$
+    nameptr #1 + 'nameptr :=	% 姓名指针加 1
+    namesleft #1 - 'namesleft := % 剩余姓名数减 1
+  }
+  while$
+}
+% 格式化非盲审姓名
+FUNCTION {format.names.for.non.peer.review} { 
+  % 初始化
+  's :=				% s := author域
+  #1 'nameptr :=		% nameptr 是姓名指针,初始化为 1
+  s num.names$ 'numnames :=	% 利用 num.names$ 获得 s 中的作者数量存入 nameptr
+  numnames 'namesleft :=	% 未处理的姓名数 namesleft := numnames
+  % 循环处理所有姓名
+  { namesleft #0 > }		% if namesleft > #0 (还有姓名没有格式化)
+  { s nameptr 			% 选择第 nameptr 个姓名
+    name.format.string		% 按 name.format.string 的格式排版
+    format.name$		% 调用 format.name$
+%     language empty$		
+%       {	"u" change.case$ }	% 如果不是语言为空, 做大写转换
+%       {	skip$ }
+%     if$				% <language 判断结束>
+    remove.period		% 并删除缩写符号'.'
+    't :=			% 格式化后的姓名暂存于 t
+    nameptr #1 >
+      { nameptr max.num.names.before.forced.et.al #1 + =
+          { "others" 't :=	% 如果当前作者的序数已经超出了最大列显作者数
+            #1 'namesleft := }	% 则置未处理姓名数为#1, 以便跳出循环
+          { bbl.comma * }		% 如果作者序数在允许范围内, 则添加逗号
+        if$			% <et al 判断结束>
+        namesleft #1 >		% 若当前姓名不是最后一个
+          { t * }		% 显示当前姓名	
+          { t "others" =	% 若当前姓名是最后一个且后面有略去的姓名
+              { bbl.etal * }	% 添加", et~al"或",等"
+	            { t * }		% 如果没有略去姓名,以句点结束
+	          if$			% <others 判断结束>
+	        }
+        if$ 			% <namesleft 判断结束>
+      }
+      { t }			% 如果是第一个作者, 直接将排版后的姓名压栈
+    if$
+    nameptr #1 + 'nameptr :=	% 姓名指针加 1
+    namesleft #1 - 'namesleft := % 剩余姓名数减 1
+  }
+  while$
+}
+% 格式化姓名
+FUNCTION {format.names} {
+  is.for.peer.review 
+    { format.names.for.peer.review }	 % 格式化盲审姓名
+    { format.names.for.non.peer.review } % 格式化非盲审姓名
+  if$
+}
+FUNCTION {format.authors}
+{ author empty$
+    { bbl.anonymous
+      "The author in " cite$ * " is missing." * warning$ }
+    { author format.names }
+  if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+    { bbl.anonymous
+      "The editor in " cite$ * " is missing." * warning$ 
+    }
+    { editor format.names }
+  if$
+}
+
+FUNCTION {format.assignees} {
+  assignee empty$
+    { "" }
+    { assignee format.names }
+  if$
+}
+
+% 译者格式
+FUNCTION {format.translators}
+{ translator empty$
+    { "" }			% 无译者
+    { new.block			% 有译者
+      translator format.names ",译" *
+    }
+  if$
+}
+
+% 机构格式
+FUNCTION {format.institution} { 
+  institution empty$
+    { "" }
+    { institution }
+  if$
+}
+
+% 组织格式
+FUNCTION {format.organization} { 
+  organization empty$
+    { "" }
+    { organization }
+  if$
+}
+
+% 文献类型标志代码/电子文献载体标志代码
+FUNCTION {bib.type.designator} {
+%   % DEBUG
+%   "bib.type.designator(type:" type$ * debug.output
+%   "                    url: " url empty$ { "<N/A>" }{ url } if$  * debug.output
+%   % END OF DEBUG
+
+  % 文献类型标志代码
+  type$ "book" = type$ "inbook" = or
+    { "M" }
+    { type$ "standard" = 
+	{ "S" }
+	{ type$ "proceedings" = type$ "conference" = or type$ "inproceedings" = or
+	    { "C" }
+	    { type$ "patent" =
+		{ "P" }
+		{ type$ "phdthesis" = type$ "mastersthesis" = or
+		    { "D" }
+		    { type$ "techreport" = 
+			{ "R" }
+			{ type$ "article" = type$ "periodical" = or
+			    { "J" }
+			    { type$ "online" = type$ "webpage" = or type$ "www" = or
+				{ "EB" }
+				{ type$ "electronic" =
+				    { esubtype empty$
+					{ url empty$
+					    { "" }
+					    { "EB" }
+					  if$
+					}
+					{ esubtype "webpage" = 
+					    { "EB" }
+					    { esubtype "database" =
+						{ "DB" }
+						{ esubtype "program" =
+						    { "CP" }
+						    { "" }
+						  if$ % electronics[program]
+						}
+					      if$ % electronics[database]
+					    }
+					  if$ % electronics[webpage]
+					}
+				      if$
+				    }
+				    { "" } % 其他
+				  if$	   % electronics
+				}
+			      if$ % online/webpage/www
+			    }
+			  if$	% article/periodical
+			}
+		      if$ 	% techreport
+		    }
+		  if$		% phdthesis/mastersthesis
+		}
+	      if$ 		% patent
+	    }
+	  if$			% proceedings/inproceedings/conference
+	}
+      if$			% standard
+    }
+  if$ 				% book/inbook
+%   % DEBUG
+%   duplicate$ "                    doc.designator: " swap$ * debug.output
+%   % END OF DEBUG
+  % 电子文献载体标志代码
+  duplicate$ "" =
+    { skip$ }
+    { "~[" swap$ *
+      howpublished empty$ 
+	{ url empty$
+	    { "" }
+	    { "/OL" }
+	  if$
+	}
+	{ howpublished "online" =
+	    { "/OL" }
+	    { howpublished "magtype" =
+		{ "MT" }
+		{ howpublished "disk" =
+		    { "DK" }
+		    { howpublished "cdrom" =
+			{ "CD" }
+			{ "" }
+		      if$	% cdrom
+		    }
+		  if$		% disk
+		}
+	      if$		% magitude type
+	    }
+	  if$			% online
+	}
+      if$ 
+      * "]" *
+    }
+  if$
+}
+
+FUNCTION {format.title}
+{ title empty$
+    { "" }
+    { new.block
+      title }
+  if$
+}
+
+% 格式化年月日``YYYY-MM-DD''
+FUNCTION {format.year.month.day} { 
+  year empty$
+    { "YYYY" }
+    { year }
+  if$
+  "-" *
+  month empty$
+    { "MM" * } 
+    { month text.length$ #2 <
+	{ "0" * }
+	{ skip$ }
+      if$
+      month * 
+    }
+  if$
+  "-" *
+  day empty$
+    { "DD" * }
+    { day text.length$ #2 <
+	{ "0" * }
+	'skip$
+      if$
+      day *
+    }
+  if$
+}
+
+FUNCTION {format.reference.date} {
+  refdate empty$
+    { ""
+      url empty$
+	{ skip$ }
+	{ "The refdate in " cite$ * " is missing." * warning$ }
+      if$
+    }
+    { output.state mid.sentence =
+	{ before.all 'output.state := }
+	{ skip$ }
+      if$
+      "~[" refdate * "]" * }
+  if$
+}
+
+% patent的题名项: 专利题名: 专利国别, 专利号~[文献类型标志]
+FUNCTION {format.patent.title} { 
+  title empty$			% 专利提名
+    { "" }
+    { new.block
+      title bbl.colon * 
+      nationality empty$		% 专利国别, 专利号
+	{ % 专利国别为必备项
+	  "The nationality in " cite$ * " is missing." * warning$
+	}
+	{ number empty$
+	    { % 专利号为必选项
+	      "The number in " cite$ * " is missing." * warning$
+	    }
+	    { % 产生``专利国别, 专利号''
+	      nationality * bbl.comma * number *
+	    }
+	  if$
+	}
+      if$
+      % 文献类型标志
+      bib.type.designator *
+    }
+  if$
+}
+
+% patent的出版项:
+FUNCTION {format.patent.publication} { 
+  new.block
+  format.year.month.day
+%   % DEBUG
+%   duplicate$ "End of format.patent.publication, top = " swap$ * debug.output
+%   % END OF DEBUG
+  url empty$
+    { skip$ }
+    { refdate empty$
+	{ "The refdate in " cite$ * " is missing." * warning$ }
+	{ "~[" * refdate * "]" * }
+      if$
+    }
+  if$
+}
+
+% electronic的主要责任者:
+%   author 或 organization
+FUNCTION {format.electronic.authors}
+{
+  author empty$
+    { organization empty$
+	{ " " }
+	{ organization }
+      if$
+    }
+    { format.authors }
+  if$
+}
+
+% electronic的出版项
+FUNCTION {format.electronic.publication} { 
+  new.block
+  % 出版地: 出版者
+  address empty$
+    { "" }
+    { address 
+      publisher empty$
+	{ skip$ }
+	{ bbl.colon * publisher * }
+      if$
+    }
+  if$
+  
+  % 出版年
+  year empty$
+    { skip$ }
+    { publisher empty$ 
+	{ "" }
+	{ bbl.comma }
+      if$ 
+      * year * }
+  if$
+}
+
+%% article的标题格式
+FUNCTION {format.atitle}
+{ title empty$
+    { "" }
+    { title 
+      newsletter empty$
+	{ "~[J" * }
+	{ newsletter "yes" =
+	    { "~[N" * }
+	    { "~[J" * }
+	  if$
+	}
+      if$
+      url empty$
+	{ "]" * }
+	{ "/OL]" * }
+      if$
+    }
+  if$
+}
+%% incollection的标题格式
+FUNCTION {format.ictitle}
+{ title empty$
+    { "" }
+    { title "~[M]~//~" * 
+      editor format.names *
+    }
+  if$
+}
+%% inproceedings的标题格式
+FUNCTION {format.iptitle}
+{ title empty$
+    { "" }
+    { title "~[C]~//~" * 
+      editor format.names *
+    }
+  if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+    { t #1 #2 substring$ "--" = not
+        { "--" *
+          t #2 global.max$ substring$ 't :=
+        }
+        {   { t #1 #1 substring$ "-" = }
+        { "-" *
+          t #2 global.max$ substring$ 't :=
+        }
+          while$
+        }
+      if$
+    }
+    { t #1 #1 substring$ *
+      t #2 global.max$ substring$ 't :=
+    }
+      if$
+    }
+  while$
+}
+
+% 年,卷(期)
+FUNCTION {format.year.volume.number} {
+  year empty$
+    { "" }
+    { type$ "periodical" =
+	{ new.block }
+	{ mid.sentence 'output.state := }
+      if$
+      year 
+      volume empty$
+	'skip$
+	{ bbl.comma * volume * }
+      if$
+      number empty$
+	'skip$
+	{ "~(" * number * ")" * }
+      if$ 
+      year2 empty$
+	{ skip$ }
+	{ "~--" * 
+	  year2 "now" =
+	    { skip$ }
+	    { year2 * 
+	      volume2 empty$
+		{ skip$ }
+		{ bbl.comma * volume2 * }
+	      if$
+	      number2 empty$
+		'skip$
+		{ "~(" * number2 * ")" * }
+	      if$
+	    }
+	  if$
+	}
+      if$
+    }
+  if$
+%   %% DEBUG
+%   duplicate$ "format.year.volume.number=" swap$ * debug.output
+%   %% END OF DEBUG
+}
+
+%
+FUNCTION {format.date}
+{ year empty$
+    { month empty$
+	{ "" }
+	{ "there's a month but no year in " cite$ * warning$
+	  month
+	}
+      if$
+    }
+    { month empty$
+	{ year }
+	{ month bbl.comma * year * }
+      if$
+    }
+  if$
+}
+function {format.year.year}
+{ year empty$
+    'skip$
+    { year "--" *
+    year2 empty$
+      'skip$
+      { year2 "now" =
+	  'skip$
+	  { year2 * }
+	if$
+      }
+    if$
+    }
+  if$
+}
+
+% 专著标题格式
+FUNCTION {format.book.title} { 
+  new.block			% 生成一个新的block
+  title 
+  type$ "proceedings" =
+    { address empty$
+	{ skip$ }
+	{ bbl.comma * address * bbl.comma * 
+	  month empty$
+	    { skip$ }
+	    { month * }
+	  if$
+	  year empty$
+	    { skip$ }
+	    { year * }
+	  if$
+	}
+      if$
+    }
+    { skip$ }
+  if$
+  bib.type.designator *	% 标题 + [文献标志代码/电子文献载体标志代码]
+}
+
+% 科技报告标题格式
+FUNCTION {format.techreport.title} { 
+  title empty$
+    { "" }
+    { new.block			% 生成一个新的block
+      title			% 标题 + 
+      number empty$		% 编号 +
+	{ "" }
+	{ bbl.comma * number }
+      if$ *	  
+      bib.type.designator *	% [文献标志代码/电子文献载体标志代码]
+    }
+  if$
+}
+
+% 连续出版物标题格式
+FUNCTION {format.jtitle}
+{ title "~[J" *
+  url empty$
+    { "]" * }
+    { "/OL]" * }
+  if$
+}
+
+% 论文集标题格式
+FUNCTION {format.ptitle.volume}
+{ title 
+  volume empty$
+    { "~[C]" }
+    { bbl.colon volume * "~[C]" * }
+  if$ *
+  %emphasize
+}
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { " " }
+  if$
+  swap$ * *
+}
+
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+    { "" }
+    { language empty$
+	{ "volume" volume tie.or.space.connect }
+	{ volume }
+      if$
+      series empty$
+    'skip$
+    { " of " * series emphasize * }
+      if$
+      "volume and number" number either.or.check
+    }
+  if$
+}
+
+FUNCTION {format.number.series}
+{ volume empty$
+    { number empty$
+    { series field.or.null }
+    { output.state mid.sentence =
+        { "number" }
+        { "Number" }
+      if$
+      number tie.or.space.connect
+      series empty$
+        { "there's a number but no series in " cite$ * warning$ }
+        { " in " * series * }
+      if$
+    }
+      if$
+    }
+    { "" }
+  if$
+}
+
+% 版本项格式
+FUNCTION {format.edition} { 
+  edition empty$
+    { "" }
+    { new.block			% 版本项按一个block输出
+      language empty$		% 英文文献版本号自动转换成数字形式的序数词
+	{ edition convert.edition
+	  "l" change.case$ " ed" * 
+	}
+	{ edition }		% 中文文献版本号直接输出
+      if$
+    }
+  if$
+}
+
+
+FUNCTION {format.url}
+{ url empty$
+    { "" }
+    { new.block
+      "\url{" url * "}" * 
+    }
+  if$
+}
+
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+    { #1 'multiresult := }
+    { t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+    { "" }
+    { before.pages 'output.state :=
+      pages multi.page.check
+	{ "" pages n.dashify tie.or.space.connect }
+	{ "" pages tie.or.space.connect }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+  number empty$
+    'skip$
+    { "(" number * ")" * *
+      volume empty$
+	{ newsletter empty$
+	    { "there's a number but no volume in " cite$ * warning$ }
+	    'skip$
+	  if$
+	}
+	'skip$
+      if$
+    }
+  if$
+  pages empty$
+    'skip$
+    { duplicate$ empty$
+	{ pop$ format.pages }
+	{ bbl.colon * pages n.dashify * }
+      if$
+    }
+  if$
+  % duplicate$ "top of stack = " swap$ * warning$
+  url empty$
+    'skip$
+    { refdate empty$ 
+	{ "there's an url but no refdate  in " cite$ * warning$ }
+	{ %duplicate$ "url and refdate is not empty, top of stack = " swap$ * warning$
+	  "~[" * refdate * "]" * 
+	}
+      if$
+      %duplicate$ "top of stack = " swap$ * warning$
+    }
+  if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    { "" }
+    { type empty$
+      { "chapter" }
+      { type "l" change.case$ }
+    if$
+    chapter tie.or.space.connect
+    pages empty$
+      'skip$
+      { ", " * format.pages * }
+    if$
+    }
+  if$
+}
+
+FUNCTION {format.in.booktitle}
+{ booktitle empty$
+    { "" }
+    { editor empty$
+	{ language empty$
+	    { " " booktitle * }
+	    %        { "Proceedings of " booktitle * }
+            { " " booktitle * }
+	  if$
+	}
+	{ language empty$
+%            { "In: " format.editors * ", Proceedings of " * booktitle * }
+	    { " " booktitle * }
+            { " " booktitle * }
+	  if$
+	}
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle.volume}
+{ booktitle empty$
+    { "" }
+    { editor empty$
+	{ language empty$
+%            { "Proceedings of " booktitle * }
+	    { " " booktitle * }
+            { " " booktitle * }
+	  if$
+	}
+	{ language empty$
+          %{ "In: " format.editors * ", Proceedings of " * booktitle * }
+	    { " " booktitle * }
+            { " " booktitle * }
+	  if$
+	}
+      if$
+      %% volume
+      volume empty$
+	'skip$
+	{ language empty$
+	    { "Vol." * volume * }
+	    { ":第" * volume * "卷" * }
+	  if$
+	}
+      if$
+    }  
+  if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+  month empty$ year empty$ note empty$
+  and and and and and
+    { "all relevant fields are empty in " cite$ * warning$ }
+    'skip$
+  if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+    'skip$
+    { pop$
+      type "t" change.case$
+    }
+  if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+    { "Technical Report" }
+    'type
+  if$
+  number empty$
+    { "t" change.case$ }
+    { number tie.or.space.connect }
+  if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+    { journal empty$
+    { "need key or journal for " cite$ * " to crossref " * crossref *
+      warning$
+      ""
+    }
+    { "In {\em " journal * "\/}" * }
+      if$
+    }
+    { "In " key * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{ll }{f{~}}" format.name$
+  editor num.names$ duplicate$
+  #2 >
+    { pop$ " et~al." * }
+    { #2 <
+	'skip$
+	{ editor #2 "{ll }{f{~}}" format.name$ "others" =
+            { " et~al." * }
+            { " and " * editor #2 "{ll }{f{~}}" format.name$ * }
+	  if$
+	}
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+      "In "
+    }
+    { "Volume" volume tie.or.space.connect
+      " of " *
+    }
+  if$
+  editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+	{ series empty$
+            { "need editor, key, or series for " cite$ * " to crossref " *
+              crossref * warning$
+              "" *
+            }
+            { "{\em " * series * "\/}" * }
+	  if$
+	}
+	{ key * }
+      if$
+    }
+    { format.crossref.editor * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+    { booktitle empty$
+        { "need editor, key, or booktitle for " cite$ * " to crossref " *
+          crossref * warning$
+          ""
+        }
+        { "In {\em " booktitle * "\/}" * }
+      if$
+    }
+    { "In " key * }
+      if$
+    }
+    { "In " format.crossref.editor * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+% 出版地: 出版者
+FUNCTION {format.address.publisher} {
+  new.block
+  type$ "inproceedings" =
+    { pubaddress empty$
+	{ "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地
+	  publisher empty$
+	    { "there's neither pubaddress nor publisher in " cite$ * warning$
+	      "[" * bbl.sine.nomine * "]" * % 无出版者
+	    }
+	    { "there's a publisher but no pubaddress in " cite$ * warning$
+	      publisher *		% 有出版者
+	    }
+	  if$
+	}
+	{ pubaddress bbl.colon *	% 有出版地
+	  publisher empty$
+	    { "there's a pubaddress but no publisher in " cite$ * warning$
+	      "[" * bbl.sine.nomine * "]" * % 无出版者
+	    }
+	    { publisher * }		% 有出版者
+	  if$
+	}
+      if$
+    }
+    { address empty$
+	{ "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地
+	  publisher empty$
+	    { "there's neither address nor publisher in " cite$ * warning$
+	      "[" * bbl.sine.nomine * "]" * % 无出版者
+	    }
+	    { "there's a publisher but no address in " cite$ * warning$
+	      publisher *		% 有出版者
+	    }
+	  if$
+	}
+	{ address bbl.colon *	% 有出版地
+	  publisher empty$
+	    { "there's a address but no publisher in " cite$ * warning$
+	      "[" * bbl.sine.nomine * "]" * % 无出版者
+	    }
+	    { publisher * }		% 有出版者
+	  if$
+	}
+      if$
+    }
+  if$
+}
+
+% 出版地: 出版者, 出版年
+FUNCTION {format.address.publisher.year} { 
+%   % DEBUG
+%   "-- format.address.publisher.year(){" debug.output
+%   "--   address  =" address * debug.output
+%   "--   publisher=" publisher * debug.output
+%   "--   year     =" year * debug.output
+%   % END OF DEBUG
+  new.block
+  type$ "inproceedings" =
+    { pubaddress empty$
+	{ "" % "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地
+	  publisher empty$
+	    { "there's neither pubaddress nor publisher in " cite$ * warning$
+	      "" * % "[" * bbl.sine.nomine * "]" * % 无出版者
+	    }
+	    { "there's a publisher but no pubaddress in " cite$ * warning$
+	      publisher *		% 有出版者
+	    }
+	  if$
+	}
+	{ publisher empty$
+	    { "there's a pubaddress but no publisher in " cite$ * warning$
+	      "" % "[" * bbl.sine.nomine * "]" * % 无出版者
+	    }
+	    { pubaddress bbl.colon *	% 有出版地
+	      publisher * }		% 有出版者
+	  if$
+	}
+      if$
+    }
+    { address empty$
+	{ "" % "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地
+	  publisher empty$
+	    { "there's neither address nor publisher in " cite$ * warning$
+	      "" * % "[" * bbl.sine.nomine * "]" * % 无出版者
+	    }
+	    { "there's a publisher but no address in " cite$ * warning$
+	      publisher *		% 有出版者
+	    }
+	  if$
+	}
+	{ publisher empty$
+	    { "there's a address but no publisher in " cite$ * warning$
+	      "" % "[" * bbl.sine.nomine * "]" * % 无出版者
+	    }
+	    { address bbl.colon *	% 有出版地
+	      publisher * }		% 有出版者
+	  if$
+	}
+      if$
+    }
+  if$
+  
+  % 出版年
+  year empty$
+    { "there's no year in " cite$ * warning$ }
+    { type$ "inproceedings" =
+	{ bbl.comma * year * }
+	{ publisher empty$ 
+	    { year * }
+	    { bbl.comma * year * }
+	  if$
+	}
+      if$
+	
+      type$ "periodical" =
+	{ year2 empty$		% 对连续出版物可以排版 year2
+	    { skip$ }
+	    { "--" * 
+	      year2 "l" change.case$ "now" =
+		{ skip$ }
+		{ year2 * }
+	      if$
+	    }
+	  if$
+	}
+	{ skip$ }
+      if$
+    }
+  if$
+%   % DEBUG
+%   duplicate$ "-- }=" swap$ * debug.output
+%   % END OF DEBUG
+}
+
+% 出版地: 学校, 出版年
+FUNCTION {format.address.school.year} {   
+  new.block
+  address empty$
+    { "[" bbl.sine.loco * "]" * bbl.colon * % 无出版地
+      school empty$
+	{ "there's neither address nor school in " cite$ * warning$
+	  "[" bbl.sine.nomine * "]" * % 无出版者
+	}
+	{ "there's a school but no address in " cite$ * warning$
+	   school *		% 有出版者
+	}
+      if$
+    }
+    { address bbl.colon *	% 有出版地
+      school empty$
+	{ "there's a address but no school in " cite$ * warning$
+	  "[" bbl.sine.nomine * "]" * % 无出版者
+	}
+	{ school * }		% 有出版者
+      if$
+    }
+  if$
+  % 出版年
+  year empty$
+    { "there's no year in " cite$ * warning$ }
+    { bbl.comma * year * }
+  if$
+}
+
+
+% FUNCTION {format.title.type}
+% { title empty$
+%     { type empty$
+%         { "" }
+%         { "there's a type but no title in " cite$ * warning$
+%           type
+%         }
+%       if$
+%     }
+%     { type empty$
+%         'title
+%         { title bbl.colon * type * }
+%       if$
+%     }
+%   if$
+% }
+
+FUNCTION {format.note} {
+  note empty$
+    { new.block "" }
+    { url empty$
+	{ new.block }
+	{ before.all 'output.state := }
+      if$
+      note }
+  if$
+}
+
+%%%%%%%%%%%%%%%%%
+%% 著录格式: 专著
+%%%%%%%%%%%%%%%%%
+
+% 普通图书
+FUNCTION {book} { 
+  start.entry			% 开始
+
+  author empty$			% 主要责任者
+    { format.editors "author and editor" output.warn }
+    { format.authors output.nonnull }
+  if$		
+  format.book.title "title"      output.warn	   % 题名项		
+  format.translators             output		   % 其他责任者(可选)
+  format.edition                 output		   % 版本项
+  format.address.publisher.year  output.nonnull	   %
+  format.reference.date          output		   % 
+  format.url                     output		   % 获取或访问路径
+  format.note                    output		   % 备注  
+
+  fin.entry
+}
+
+% 标准
+FUNCTION {standard} { 
+  start.entry
+  
+  organization empty$		% 主要责任人
+    { format.institution "organization and institution" output.warn }
+    { format.organization output.nonnull }
+  if$
+  format.book.title "title"     output.warn    % 题名项
+  format.translators            output	       % 其他责任人
+  format.edition                output	       % 版本项
+  format.address.publisher.year output.nonnull % 出版项
+  format.url                    output	       % URL
+  format.note                   output	       % 备注项
+
+  fin.entry
+}
+
+% 学位论文 
+FUNCTION {phdthesis} {
+  start.entry
+
+  format.authors "author"    output.warn
+  format.book.title "title"  output.warn
+  format.address.school.year output
+  format.note                output
+
+  fin.entry
+}
+
+% 会议录/论文集
+FUNCTION {proceedings} { 
+  start.entry
+  
+  editor empty$
+    { organization empty$
+	{ format.institution "author, organization institution" output.warn }
+	{ format.organization output.nonnull }
+      if$
+    }
+    { format.editors output.nonnull }
+  if$
+  format.book.title "title"     output.warn
+  format.address.publisher.year output
+  format.note                   output
+
+  fin.entry
+}
+
+% 科技报告
+FUNCTION {techreport} { 
+  start.entry
+  
+  author empty$
+    { organization empty$
+	{ format.institution 
+	  "author, organization and institution" output.warn }
+	{ format.organization output.nonnull }
+      if$
+    }
+    { format.authors output.nonnull }
+  if$
+  format.techreport.title "title" output.warn
+  format.address.publisher.year   output.nonnull
+  format.url                      output
+  format.note                     output
+
+  fin.entry
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% 著录格式: 专著中析出的文献
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {format.collection.editors} {
+  booktitle empty$
+    { "" }
+    { after.title 'output.state :=
+      format.editors }
+  if$
+}
+FUNCTION {format.address} {
+  booktitle empty$
+    { new.block }
+    { mid.sentence 'output.state := }
+  if$
+  address empty$
+    { "" }
+    { address }
+  if$
+}
+
+FUNCTION {format.month.year} {
+  month empty$
+    { "" }
+    { month " " * }
+  if$
+  year empty$
+    { "There is month but no year in " cite$ * warning$ }
+    { year * }
+  if$ 
+}
+
+FUNCTION {format.collection.title} {
+  booktitle empty$
+    { "" }
+    { new.block 
+      "In " booktitle *
+%       address empty$
+% 	{ skip$ }
+% 	{ bbl.comma * address * bbl.comma * 
+% 	  month empty$
+% 	    { skip$ }
+% 	    { month * }
+% 	  if$
+% 	  year empty$
+% 	    { skip$ }
+% 	    { " " * year * }
+% 	  if$
+% 	}
+%       if$
+    }
+  if$
+}
+% 图书中析出的文献
+FUNCTION {inbook} { 
+  start.entry
+  
+  author empty$
+    { format.editors "author and editor" output.warn }
+    { format.authors output.nonnull }
+  if$
+  format.book.title "title"     output.warn
+  format.collection.editors "editor" output.warn
+  format.collection.title "booktitle" output.warn
+  format.translators            output	       % 其他责任人
+  format.edition                output	       % 版本项
+  format.address.publisher.year	output.nonnull % 出版项
+  format.pages "pages"          output.warn    %
+  format.url                    output	       % URL
+  format.note                   output	       % 备注项
+
+  fin.entry
+}
+
+%%%%%%%%%%%%%%%%%
+%% 著录格式: 专利
+%%%%%%%%%%%%%%%%%
+FUNCTION {patent} {
+  start.entry
+  
+  author empty$
+    { format.assignees "assignee" output.warn }
+    { format.authors output.nonnull }
+  if$
+  format.patent.title "title" output.warn
+  format.patent.publication output 
+  format.url output
+  format.note output
+  
+  fin.entry
+}
+
+% 电子文献更新或修改日期
+FUNCTION {format.update.date} {
+  update empty$
+    { "" }
+    { output.state mid.sentence =
+	{ before.all 'output.state := }
+	{ skip$ }
+      if$
+      "~(" update * ")" * }
+  if$
+}
+
+%%%%%%%%%%%%%%%%%%%%%
+%% 著录格式: 电子文献
+%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {electronic} {
+  start.entry
+  
+  author empty$
+    { organization "author and organization" output.warn }
+    { format.authors output.nonnull }
+  if$
+  format.book.title output
+  format.electronic.publication output
+  format.update.date output
+  format.reference.date output
+  format.url output
+  format.note output
+
+  fin.entry
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%% 著录格式: 连续出版物
+%%%%%%%%%%%%%%%%%%%%%%%
+FUNCTION {periodical} { 
+  start.entry
+  
+  editor empty$
+    { format.organization "editors and organization" output.warn }
+    { format.editors output.nonnull }
+  if$
+  format.book.title "title" output.warn
+  format.year.volume.number output
+  format.address.publisher.year output
+  format.url output
+  format.note output
+
+  fin.entry
+}
+
+FUNCTION {format.journal.title} {
+  journal empty$
+    { "" }
+    { new.block journal }
+  if$
+}
+
+% 连续出版物中析出的文献
+FUNCTION {article}
+{ start.entry
+
+  format.authors "author" output.warn
+  format.book.title "title" output.warn
+  format.journal.title "journal" output.warn
+  format.year.volume.number output
+  format.pages "pages" output.warn
+  format.reference.date output
+  format.url output
+  format.note output
+  
+  fin.entry
+}
+
+FUNCTION {booklet}
+{ start.entry
+  format.authors output
+  new.block
+  format.title "title" output.warn
+  howpublished address new.block.checkb
+  howpublished output
+  address output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {incollection}
+{ start.entry
+  format.authors "author" output.warn
+  new.block
+  format.ictitle "title" output.warn
+  new.block
+  crossref missing$
+    { %format.in.ed.booktitle "booktitle" output.warn
+      %format.bvolume output
+      format.in.ed.booktitle.volume "booktitle" output.warn
+      format.number.series output
+      format.chapter.pages output
+      new.sentence
+%      publisher "publisher" output.warn
+%      address output
+      format.address.publisher.year output
+      format.edition output
+      format.date ":" * format.pages * output
+      %format.date "year" output.warn
+    }
+    { format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+% 论文集中析出的文献
+FUNCTION {inproceedings} { 
+  start.entry
+
+  format.authors "author" output.warn
+  format.book.title "title"  output.warn
+  format.collection.editors "editor" output.warn
+  format.collection.title "booktitle" output.warn
+  format.address output
+  format.month.year output
+%  format.address.publisher.year	output.nonnull % 出版项
+  format.pages "pages"          output.warn    %
+  format.url                    output	       % URL
+  format.note                   output	       % 备注项 
+%   format.in.booktitle "booktitle" output.warn
+%       %format.bvolume output
+%       %format.number.series output
+%       %format.pages output
+%       address empty$
+% 	{ organization publisher new.sentence.checkb
+% 	  organization output
+% 	  publisher output
+% 	  %format.date "year" output.warn
+% 	  %year output
+% 	  format.date ":" * format.pages * output
+% 	}
+% 	{ %address output.nonnull
+% 	  format.address.publisher.year output  
+% 	  %format.date "year" output.warn
+% 	  % year output
+% 	  format.date ":" * format.pages * output
+% 	  new.sentence
+% 	  organization output
+% 	  %publisher output
+% 	}
+%       if$
+%       new.block
+      % pages output
+      %remove.dots
+    
+%     { format.incoll.inproc.crossref output.nonnull
+%       format.pages output
+%     }
+%   if$
+%   new.block
+%   note output  
+  fin.entry
+}
+
+FUNCTION {manual}
+{ start.entry
+  author empty$
+    { organization empty$
+    'skip$
+    { organization output.nonnull
+      address output
+    }
+      if$
+    }
+    { format.authors output.nonnull }
+  if$
+  new.block
+  format.book.title "title" output.warn
+  author empty$
+    { organization empty$
+    { address new.block.checka
+      address output
+    }
+    'skip$
+      if$
+    }
+    { organization address new.block.checkb
+      organization output
+      address output
+    }
+  if$
+  format.edition output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+% FUNCTION {masterthesis.type}
+% { "~[D]" 
+% % language empty$
+% %     { "[Master Thesis]" }
+% %     { "[硕士学位论文]" }
+% %   if$
+% }
+
+% FUNCTION {mastersthesis}
+% { start.entry
+%   format.authors "author" add.period$ output.warn
+%   new.block
+%   format.title remove.dots " " * masterthesis.type * output
+%   new.block
+%   format.address.school output
+%   %address output
+%   %school "school" output.warn  
+%   format.date "year" output.warn
+%   new.block
+%   note output
+%   fin.entry
+% }
+
+FUNCTION {misc}
+{ start.entry
+
+  format.authors output
+%  title howpublished new.block.checkb
+  format.title output
+%  howpublished new.block.checka
+%  howpublished output
+%  format.date output
+  format.address output
+  format.month.year output
+  format.pages "pages" output.warn
+  format.url output
+%  new.block
+  format.note output
+  fin.entry
+%  empty.misc.check
+}
+
+FUNCTION {phdthesis.type}
+{ "~[D]" 
+% language empty$
+%     { "[PhD Thesis]" }
+%     { "[博士学位论文]" }
+%   if$ 
+}
+
+
+
+
+FUNCTION {unpublished}
+{ start.entry
+  format.authors "author" output.warn
+  new.block
+  format.title "title" output.warn
+  new.block
+  note "note" output.warn
+  format.date output
+  fin.entry
+}
+
+% 专用控制条目 BUPTThesisBSTCTL 用于提供方便的用户设置接口
+FUNCTION {BUPTThesisBSTCTL}{
+  is.print.banners.to.terminal
+    { "** BUPTThesis BST control entry " quote$ * cite$ * 
+      quote$ * " detected." *
+      top$
+    }
+    { skip$ }
+  if$
+%   CTLuse_article_number
+%   empty$
+%     { skip$ }
+%     { CTLuse_article_number
+%       yes.no.to.int
+%       'is.use.number.for.article :=
+%     }
+%   if$
+%   CTLuse_paper
+%   empty$
+%     { skip$ }
+%     { CTLuse_paper
+%       yes.no.to.int
+%       'is.use.paper :=
+%     }
+%   if$
+%   CTLuse_forced_etal
+%   empty$
+%     { skip$ }
+%     { CTLuse_forced_etal
+%       yes.no.to.int
+%       'is.forced.et.al :=
+%     }
+%   if$
+  % 显示作者数目
+  CTLmax_names_forced_etal
+  empty$
+    { skip$ }
+    { CTLmax_names_forced_etal
+      string.to.integer
+      'max.num.names.before.forced.et.al :=
+    }
+  if$
+  % 论文作者英文姓名
+  CTLauthor_name_english
+  empty$
+    { skip$ }
+    { CTLauthor_name_english 
+      'author.name.in.english := 
+      % #1 'is.for.peer.review := 
+%      "CTLauthor_name_english=" author.name.in.english * debug.output
+    }
+  if$
+  % 论文作者中文姓名
+  CTLauthor_name_chinese
+  empty$
+    { skip$ }
+    { CTLauthor_name_chinese
+      'author.name.in.chinese := 
+      % #1 'is.for.peer.review :=
+%      "CTLauthor_name_chinese=" author.name.in.chinese * debug.output
+    }
+  if$
+  CTLfor_peer_review
+  empty$
+    { skip$ }
+    { CTLfor_peer_review
+      yes.no.to.int
+      'is.for.peer.review :=
+    }
+  if$
+%   CTLnames_show_etal
+%   empty$
+%     { skip$ }
+%     { CTLnames_show_etal
+%       string.to.integer
+%       'num.names.shown.with.forced.et.al :=
+%     }
+%   if$
+%   CTLuse_alt_spacing
+%   empty$
+%     { skip$ }
+%     { CTLuse_alt_spacing
+%       yes.no.to.int
+%       'is.use.alt.interword.spacing :=
+%     }
+%   if$
+%   CTLalt_stretch_factor
+%   empty$
+%     { skip$ }
+%     { CTLalt_stretch_factor
+%       'ALTinterwordstretchfactor :=
+%       "\renewcommand{\BIBentryALTinterwordstretchfactor}{"
+%       ALTinterwordstretchfactor * "}" *
+%       write$ newline$
+%     }
+%   if$
+%   CTLdash_repeated_names
+%   empty$
+%     { skip$ }
+%     { CTLdash_repeated_names
+%       yes.no.to.int
+%       'is.dash.repeated.names :=
+%     }
+%  if$
+%   CTLname_emph_author_en	% 强调显示的作者英文姓名
+%   empty$
+%     { skip$ }			% 若没有给出则跳过
+%     { CTLname_emph_author_en
+%       'name.emph.author.en :=	% 否则更新 name.emph.author.en
+%     }
+%   if$
+%   CTLname_emph_author_zh	% 强调显示的作者中文姓名
+%   empty$
+%     { skip$ }			% 若没有给出则跳过
+%     { CTLname_emph_author_zh
+%       'name.emph.author.zh :=	% 否则更新 name.emph.author.zh
+%     }
+%   if$
+  CTLname_format_string		% 英文姓名排版格式字符串
+  empty$
+    { skip$ }			% 若没有自定义则跳过
+    { CTLname_format_string	% 否则更新 name.format.string
+      'name.format.string :=
+    }
+  if$
+%   CTLname_latex_cmd
+%   empty$
+%     { skip$ }
+%     { CTLname_latex_cmd
+%       'name.latex.cmd :=
+%     }
+%   if$
+%   CTLname_url_prefix
+%   missing$
+%     { skip$ }
+%     { CTLname_url_prefix
+%       'name.url.prefix :=
+%     }
+%   if$
+
+
+%   num.names.shown.with.forced.et.al max.num.names.before.forced.et.al >
+%     { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$ 
+%       max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al :=
+%     }
+%     { skip$ }
+%   if$
+}
+
+%%%%%%%%%%%%
+%% 条目别名
+%%%%%%%%%%%%
+FUNCTION {mastersthesis} {phdthesis}
+FUNCTION {conference}    {inproceedings}
+FUNCTION {online}        {electronic}
+FUNCTION {internet}      {electronic}
+FUNCTION {webpage}       {electronic}
+FUNCTION {www}           {electronic}
+FUNCTION {default.type}  {misc}
+
+
+%%%%%%%%%%
+%% 主程序
+%%%%%%%%%%
+
+READ
+
+EXECUTE {initialize.controls}	      % 初始化控制变量
+EXECUTE {initialize.status.constants} % 初始化状态常量
+EXECUTE {banner.message}	      % 显示初始提示信息
+
+EXECUTE {initialize.longest.label}    % 初始化最长的标号
+ITERATE {longest.label.pass}	      % 处理最长的标号
+
+EXECUTE {begin.bib}	              % 开始
+ITERATE {call.type$}		      %
+EXECUTE {end.bib}		      % 结束
+
+EXECUTE {completed.message}	      % 显示完成提示信息
+
+%% EOF

BIN
docs/cover.pdf


BIN
docs/statement.pdf


BIN
docs/translation.pdf


+ 93 - 0
main.bbl

@@ -0,0 +1,93 @@
+% Generated by BUPTThesis.bst, version: 0.2 (2009/01/25)
+\begin{thebibliography}{10}
+
+\bibitem{webster_social_media}
+Merriam-Webster.
+Social Media~[EB/OL].
+2018~[2018-04-15].
+\url{http://www.merriam-webster.com/dictionary/social media}.
+
+\bibitem{digital_in_2018}
+We Are Social.
+Digital in 2018: World's Internet Users Pass the 4 Billion Mark~[EB/OL].
+2018~[2018-04-15].
+\url{https://wearesocial.com/uk/blog/2018/01/global-digital-report-2018}.
+
+\bibitem{pew_news_use_2017}
+Pew Research Center.
+News Use Across Social Media Platforms 2017~[EB/OL].
+2017~[2018-04-15].
+\url{http://www.journalism.org/2017/09/07/news-use-across-social-media-platforms-2017}.
+
+\bibitem{internet_news_2016}
+中国互联网络信息中心.
+2016年中国互联网新闻市场研究报告~[EB/OL].
+2017~[2018-04-15].
+\url{http://www.cnnic.cn/hlwfzyj/hlwxzbg/mtbg/201701/P020170112309068736023.pdf}.
+
+\bibitem{false_news_spread_2018}
+Vosoughi~S, Roy~D, Aral~S.
+The spread of true and false news online~[J].
+Science, 2018, 359~(6380):  1146--1151.
+
+\bibitem{唐绪军2013中国新媒体发展报告}
+唐绪军,吴信训,黄楚新~等.
+中国新媒体发展报告No.4(2013)~[M].
+社会科学文献出版社,2013.
+
+\bibitem{唐绪军2015中国新媒体发展报告}
+唐绪军,吴信训,黄楚新~等.
+中国新媒体发展报告No.6(2015)~[M].
+社会科学文献出版社,2015.
+
+\bibitem{Bengio2006A}
+Bengio~Y, Ducharme~R, Vincent~P~et~al.
+A neural probabilistic language model.~[J].
+Journal of Machine Learning Research, 2006, 3~(6):  1137--1155.
+
+\bibitem{Hinton1986Learning}
+Hinton~G~E.
+Learning distributed representations of concepts.~[C].
+In Eighth Conference of the Cognitive Science Society, 1986.
+
+\bibitem{mikolov2013distributed}
+Mikolov~T, Sutskever~I, Chen~K~et~al.
+Distributed representations of words and phrases and their
+  compositionality~[C].
+In Advances in neural information processing systems, 2013:  3111--3119.
+
+\bibitem{Chen2016Behavior}
+Chen~W, Chai~K~Y, Lau~C~T~et~al.
+Behavior deviation: An anomaly detection view of rumor preemption~[C].
+In Information Technology, Electronics and Mobile Communication Conference,
+  2016:  1--7.
+
+\bibitem{Yan2017OneHot}
+Zhang~Y, Chen~W, Chai~K~Y~et~al.
+A distance-based outlier detection method for rumor detection exploiting user
+  behaviorial differences~[C].
+In International Conference on Data and Software Engineering, 2017:  1--6.
+
+\bibitem{Goodfellow2016DeepLearning}
+Goodfellow~I, Bengio~Y, Courville~A.
+Deep Learning~[M].
+The MIT Press, 2016.
+
+\bibitem{Sakurada2014Anomaly}
+Sakurada~M, Yairi~T.
+Anomaly Detection Using Autoencoders with Nonlinear Dimensionality
+  Reduction~[C].
+In Mlsda 2014 Workshop on Machine Learning for Sensory Data Analysis, 2014: ~4.
+
+\bibitem{Yan2017Autoencoder}
+Zhang~Y, Chen~W, Chai~K~Y~et~al.
+Detecting rumors on Online Social Networks using multi-layer autoencoder~[C].
+In 2017 IEEE Technology Engineering Management Conference (TEMSCON), 2017:
+  437--441.
+
+\bibitem{Rumerlhar1986Learning}
+Rumerlhar~D~E.
+Learning representation by back-propagating errors~[J].
+Nature, 1986, 323~(3):  533--536.
+
+\end{thebibliography}

+ 36 - 0
main.cfg

@@ -0,0 +1,36 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                  %
+%   Copyright (c) 2010 - 2011 Caspar Zhang <casparant@gmail.com>   %
+%                                                                  %
+%   This copyrighted material is made available to anyone wishing  %
+%   to use, modify, copy, or redistribute it subject to the terms  %
+%   and conditions of the GNU General Public License version 2.    %
+%                                                                  %
+%   This program is distributed in the hope that it will be        %
+%   useful, but WITHOUT ANY WARRANTY; without even the implied     %
+%   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR        %
+%   PURPOSE. See the GNU General Public License for more details.  %
+%                                                                  %
+%   You should have received a copy of the GNU General Public      %
+%   License along with this program; if not, write to the Free     %
+%   Software Foundation, Inc., 51 Franklin Street, Fifth Floor,    %
+%   Boston, MA 02110-1301, USA.                                    %
+%                                                                  %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% 你只需要修改下面几行就可以完成大部分内容的填写,
+% 这要求你具有一定的LaTeX基础,但是如果你足够聪明,
+% 不具有LaTeX基础也可以完成。
+
+% 论文中文题目
+\def\thesistitle{社猜猜看这个毕设题目是什么}
+
+% 论文英文题目
+\def\thesistitleen{Have a try to guess what the title is}
+
+% Thank Words
+\def\thankwords{
+
+此处请写致谢的内容。
+它可以有多段。
+}

+ 23 - 0
main.fot

@@ -0,0 +1,23 @@
+\relax 
+\c@footnote \z@ 
+\advance\c@footnote \@ne \expandafter\xdef \csname f@1\endcsname {\number\c@footnote }
+\advance\c@footnote \@ne \expandafter\xdef \csname f@2\endcsname {\number\c@footnote }
+\advance\c@footnote \@ne \expandafter\xdef \csname f@3\endcsname {\number\c@footnote }
+\advance\c@footnote \@ne \expandafter\xdef \csname f@4\endcsname {\number\c@footnote }
+\advance\c@footnote \@ne \expandafter\xdef \csname f@5\endcsname {\number\c@footnote }
+\advance\c@footnote \@ne \expandafter\xdef \csname f@6\endcsname {\number\c@footnote }
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 
+\c@footnote \z@ 

BIN
main.pdf


BIN
main.synctex.gz


+ 293 - 0
main.tex

@@ -0,0 +1,293 @@
+\documentclass[a4paper,oneside,12pt]{book}
+\usepackage{BUPTthesisbachelor}
+\usepackage{setspace}
+
+\usepackage[final]{pdfpages}
+
+\usepackage{listings}
+\usepackage{xcolor}
+
+\usepackage{amssymb}
+\usepackage{bm}
+
+\usepackage{algorithm}  
+\usepackage{algorithmicx}  
+\usepackage{algpseudocode}  
+
+\lstdefinestyle{sharpc}{language=[Sharp]C, frame=lrtb, rulecolor=\color{blue!80!black}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%% Begin Documents %%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+
+\includepdf{docs/cover.pdf}  
+\newpage
+
+\includepdf{docs/statement.pdf} 
+\newpage
+
+\input{main.cfg}    % Main items 
+\include{abstract}  % Abstract
+\frontmatter\tableofcontents % Content
+
+% 正文
+\newpage\mainmatter
+\fancypagestyle{plain}{\pagestyle{fancy}} % Add head to new chapter
+\pagestyle{fancy} % Head and foot
+%\let\cleardoublepagebak=\cleardoublepage
+%\let\cleardoublepage\relax % Make new chapter stay on old page
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Main Area %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\chapter{引言}
+\section{研究背景及意义}
+\subsection{社交媒体发展现状}
+社交媒体是一种供用户创建在线社群来分享信息、观点、个人信息和其它内容(如视频)的电子化交流平台,社交网络服务(social network service, SNS)和微博客(microblogging)都属于社交媒体的范畴\cite{webster_social_media},国外较为知名的有Facebook\footnote{http://www.facebook.com/}、Instagram\footnote{https://www.instagram.com/}、Twitter\footnote{http://www.twitter.com/}、LinkedIn\footnote{http://www.linkedin.com/}等,国内较为知名的有新浪微博\footnote{http://www.weibo.com/}。社交媒体营销公司We Are Social的《2018数字报告》\cite{digital_in_2018}显示,截至2018年1月,全球的活跃社交媒体用户已达到31.96亿,同比增长13\%,全人口渗透率达到42\%。其中,知名SNS服务商Facebook月活跃用户数高达21.67亿,微博客服务商Twitter月活跃用户数达到3.3亿,新浪微博月活跃用户数达到3.76亿。可以说,社交媒体已经成为了互联网用户的必需品之一。
+
+在社交媒体的强覆盖下,新闻信息的传播渠道也悄然了发生变化。根据美国皮尤研究中心的2017年9月发布的调查结果\cite{pew_news_use_2017},67\%的美国民众会从社交媒体上获取新闻信息,其中高使用频率用户占20\%。在国内,中国互联网信息中心《2016年中国互联网新闻市场研究报告》\cite{internet_news_2016}也显示,社交媒体已逐渐成为新闻获取、评论、转发、跳转的重要渠道,在2016年下半年,曾经通过社交媒体获取过新闻资讯的用户比例高达90.7\%,在微信、微博等社交媒体参与新闻评论的比例分别为62.8\%和50.2\%。社交媒体正在成为网络上热门事件生成并发酵的源头,在形成传播影响力后带动传统媒体跟进报道,最终形成更大规模的舆论浪潮。
+
+然而,社交媒体在改变用户获取新闻途径,加速信息传播分发的同时,也为虚假信息的传播提供了有利环境。2016年美国大选后,Facebook爆出“假新闻事件”\footnote{https://www.recode.net/2017/4/28/15476142/facebook-report-trump-clinton-russia-us-presidential-election},其被指控在Facebook平台上传播的假新闻严重影响了美国大选结果。2018年3月,《Science》发表了麻省理工学院学者针对真假新闻传播情况的研究\cite{false_news_spread_2018}。研究发现,在Twitter平台上,包含虚假新闻的推文更容易被转发,且更容易形成“病毒式传播”,真实消息传播至1500人的时间,比虚假消息长6倍。而在国内,新浪微博由于其发布方便、传播迅速、受众广泛且总量大的特点,成为了虚假信息传播的重灾区:《中国新媒体发展报告(2013)》\cite{唐绪军2013中国新媒体发展报告}显示,2012年的100件微博热点舆情案例中,有超过1/3出现谣言;《中国新媒体发展报告(2015)》\cite{唐绪军2015中国新媒体发展报告}对2014年传播较广、比较典型的92条假新闻进行了多维度分析,发现有59\%的虚假新闻首发于新浪微博。
+
+此等信息的传播严重损害了有关公众人物的名誉权,降低了社交媒体服务商的商业美誉度,扰乱了网络空间秩序,冲击着网民的认知,极易对民众造成误导,带来诸多麻烦和经济损失,甚至会导致社会秩序的混乱。针对社交媒体谣言采取行动成为了有关部门、服务提供商和广大民众的共同选择。
+
+\section{国内外研究现状}
+本节将与下文有关的关键知识点的研究现状进行概述。
+\subsection{文本的表示方法}
+传统的文本挖掘通常会使用字符匹配、词典比对、知识库搜索等手段和工具,但它们难以起到学习并挖掘抽象的语义联系的作用,难以满足自然语言处理(Natural Language Processing, NLP)任务的需求。为了把文字内容纳入可计算、可度量的范围中来,学者对文字内容进行了编码,对每个词语进行向量化表示,以便作为机器学习任务的输入。其中最著名的是独热表示(One-Hot Represetation)和一种分布式表示模型——Word2Vec。
+
+\textbf{独热表示}
+
+该方法首先需要统计表示范围内所有词的数量$N$,然后给这$N$个词分别编号为$1,2,\ldots,N$,最终使用一个仅第$k$维非0(通常为1)的$N$维向量来表示编号为$k$的词。例如,在词语空间$\Omega=\{\mbox{中国}, \mbox{首都}, \mbox{北京}\}$中,“中国”的独热编码为$[1,0,0]$,“首都”的独热编码为$[0,1,0]$,“北京”的独热编码为$[0,0,1]$。从计算机存储的角度上讲,其结构就是一个Hash表,再与最大熵、条件随机场(Conditional Random Field,CRF)、支持向量机(Support Vector Machine, SVM)等算法相配合,可以解决大多数自然语言处理的基础任务。
+
+显然,这种表示方式的优势在于操作简单,表示简洁,但其缺陷不容忽视:首先需要表示的所有词数量越多,则表示向量就越长,在实际计算中存在严重的稀疏问题,无法像音频、图像等数据获取稠密表示,形成“维数灾难”(Curse of Dimensionality)\cite{Bengio2006A};更为关键的是,独热表示仅仅将词语离散符号化,不能表达词与词之间的关系,从而丢失了许多语义信息。
+
+此外,这种表示方法也经常用于其它取值空间不大的非数值数据的表示上。
+
+\textbf{分布式表示——Word2Vec}
+
+词的分布式表示(Distributed Representation)最早由“神经网络之父”Geoffrey Hinton于1986年提出\cite{Hinton1986Learning},其基本思想是通过训练将每个词表示为$K$维实值短向量(这里的“短”是相对于独热编码而言的),并通过词嵌入(Word Embedding)在向量空间中的距离来表征词语之间的语义相似度。其之所以被称为“分布式”表示,核心在于一个词的$K$个维度中,每一个都承载着一部分词语的抽象语义信息。然而,其在实际应用上算法复杂度过高,故一直没有被广泛地采用。
+
+直到2013年,谷歌提出了著名的词嵌入学习模型Word2Vec\cite{mikolov2013distributed},解决了效率问题。自此词语的分布式表示几乎成为了所有自然语言处理任务的标准预处理方法。为了表达表格的用法,下面插入一个跟这段话没有关系的表格。
+
+\begin{bupttable}{基于浏览者行为的特征}{crowdwisdom}
+    \begin{tabular}{l|l|l}
+		\hline \textbf{特征} & \textbf{描述} & \textbf{形式与理论范围}\\
+		\hline 点赞量 & 微博的点赞数量 & 数值,$\mathbb{N}$ \\
+		\hline 评论量 & 微博的评论数量 & 数值,$\mathbb{N}$ \\
+		\hline 转发量 & 微博的转发数量 & 数值,$\mathbb{N}$ \\
+		\hline
+    \end{tabular}
+\end{bupttable}
+
+\section{模型描述}
+
+\subsection{基于主成分分析}
+在Weiling Chen\cite{Chen2016Behavior}和Yan Zhang\cite{Yan2017OneHot}的工作中,均使用了主成分分析(Principle Component Analysis,  PCA)作为基本的数据降维方法。下面对主成分分析进行介绍。
+
+主成分分析是一种简单的机器学习算法,其功能可以从两方面解释:一方面可以认为它提供了一种压缩数据的方式,另一方面也可以认为它是一种学习数据表示的无监督学习算法。\cite{Goodfellow2016DeepLearning}
+通过PCA,我们可以得到一个恰当的超平面及一个投影矩阵,通过投影矩阵,样本点将被投影在这一超平面上,且满足最大可分性(投影后样本点的方差最大化),直观上讲,也就是能尽可能分开。
+
+对中心化后的样本点集$\bm{X}=\{\bm{x}_1,\bm{x}_2,\ldots,\bm{x}_i,\ldots,\bm{x}_m\}$(有$\sum_{i=1}^{m}\bm{x}_i = 0$),考虑将其最大可分地投影到新坐标系\ $\bm{W}= \{\bm{w}_1,\bm{w}_2,\ldots,\bm{w}_i,\ldots,\bm{w}_d\} $,其中$\bm{w}_i$是标准正交基向量,满足$\|\bm{w}_i\|_2 = 1$, $\bm{w}_i^T\bm{w}_j = 0$($i \not= j$)。假设我们需要$d^\prime$($d^\prime < d$)个主成分,那么样本点$\bm{x}_i$在低维坐标系中的投影是$\bm{z}_i = (z_{i1};z_{i2};\ldots;z_{id^\prime})$,其中$z_{ij} = \bm{w}_j^\mathrm{T}\bm{x}_i$,是$\bm{x}_i$在低维坐标系下第$j$维的坐标。
+对整个样本集,投影后样本点的方差是
+\begin{equation}
+\begin{aligned}
+    & \frac{1}{m}\sum_{i=1}^m \bm{z}_i^\mathrm{T}\bm{z}_i \\
+= & \frac{1}{m}\sum_{i=1}^m (\bm{x}_i^\mathrm{T}\bm{W})^\mathrm{T}(\bm{x}_i^\mathrm{T}\bm{W}) \\
+= & \frac{1}{m}\sum_{i=1}^m \bm{W}^\mathrm{T}\bm{x}_i\bm{x}_i^\mathrm{T}\bm{W} \\
+= & \frac{1}{m} \bm{W}^\mathrm{T}\bm{X}\bm{X}^\mathrm{T}\bm{W} \\
+\end{aligned}
+\end{equation}
+
+由于我们知道新坐标系$\bm{W}$的列向量是标准正交基向量,且样本点集$\bm{X}$已经过中心化,则PCA的优化目标可以写为
+\begin{equation}
+\label{PCA_goal}
+\begin{aligned}
+& \max_{\substack{\bm{W}}}  &  tr(\bm{W}^\mathrm{T}\bm{X}\bm{X}^ \mathrm{T}\bm{W}) \\
+& \operatorname{ s.t. }  &  \bm{W}^\mathrm{T}\bm{W} = \bm{I} \\
+\end{aligned}
+\end{equation}
+
+由于$\bm{X}\bm{X}^ \mathrm{ T }$是协方差矩阵,那么只需对它做特征值分解,即
+\begin{equation}
+\label{PCA_eigenvalue}
+\bm{X}^ \mathrm{ T }\bm{X} = \bm{W}\bm{\Lambda}\bm{W}^ \mathrm{ T } \\
+\end{equation}
+其中$\bm{\Lambda}=diag(\bm{\lambda})$,$\bm{\lambda} = \{\lambda_1,\lambda_2,\ldots,\lambda_m\}$。
+
+具体地,考虑到它是半正定矩阵的二次型,存在最大值,可对式(\ref{PCA_goal})使用拉格朗日乘数法
+\begin{equation}
+\bm{X}\bm{X}^ \mathrm{ T }\bm{w}_i  = \lambda_i \bm{w}_i \\
+\end{equation}
+
+之后将求得的特征值降序排列,取前$d^\prime$个特征值对应的特征向量组成所需的投影矩阵$\bm{W}^\prime =(\bm{w}_1,\bm{w}_2,\ldots,\bm{w}_{d^\prime})$,即可得到PCA的解。PCA算法的描述如算法\ref{PCA_algorithm}所示。
+\begin{algorithm} 
+\floatname{algorithm}{算法}
+\caption{主成分分析(PCA)} 
+\label{PCA_algorithm}
+\renewcommand{\algorithmicrequire}{\textbf{输入:}}
+\renewcommand{\algorithmicensure}{\textbf{输出:}} 
+\begin{algorithmic}[1] 
+\Require 样本集$\bm{x}=\{\bm{x}_1,\bm{x}_2,\ldots,\bm{x}_i,\ldots,\bm{x}_m\}$,低维空间维数$d^\prime$ 
+\Ensure 投影矩阵  $\bm{W}^\prime =(\bm{w}_1,\bm{w}_2,\ldots,\bm{w}_{d^\prime})$
+\State 对所有样本中心化$\bm{x}_i \gets \bm{x}_i - \frac{1}{m}\sum_{i=1}^m \bm{x}_i$
+\State  计算样本的协方差$\bm{X}\bm{X}^ \mathrm{T}$
+\State 对协方差矩阵$\bm{X}\bm{X}^ \mathrm{T}$做特征值分解
+\State 取最大的$d^\prime$个特征值所对应的特征向量$\bm{w}_1,\bm{w}_2,\ldots,\bm{w}_{d^\prime}$
+\end{algorithmic}  
+\end{algorithm}
+
+论文\cite{Chen2016Behavior}认为,通过PCA保留一定的主成分,可以更好地把握历史微博的共性,使历史上的非谣言微博与谣言微博产生可度量的距离。
+
+论文采取了排序的检测方式:如果待判别的微博在特征空间中距离非谣言微博数据的“重心”比任何非谣言微博都要远,即成为了离群点,则认为该微博是一条谣言。但考虑到实验过程中应尽量统一化比较手段,在本节中,我们采用了Yan Zhang论文\cite{Yan2017OneHot}中的阈值法来进行判别:在特征空间中,如果待判定微博没有阈值范围内的相邻点,则认为该微博是一条谣言。
+
+记待判定微博$\bm{w}_0$的经典特征向量为$\bm{f}^{c}_{0}$,它的发布者在$\bm{w_0}$前发布的$k$条微博为$\bm{W} = \bm{w}_1,\bm{w}_2,\ldots,\bm{w}_k$,这$k$条微博对应的经典特征向量集为$\bm{F}^{c}_{W} = \{ \bm{f}^{c}_{1},\bm{f}^{c}_{2},\ldots,\bm{f}^{c}_{k} \}$。令$label = 1$代表谣言,$label = 0$代表非谣言。算法的具体流程如算法\ref{PCA_model}所示。
+
+\begin{algorithm} 
+\floatname{algorithm}{算法}
+\caption{基于PCA的信息可信度评估} 
+\label{PCA_model}
+\renewcommand{\algorithmicrequire}{\textbf{输入:}}
+\renewcommand{\algorithmicensure}{\textbf{输出:}} 
+	\begin{algorithmic}[1] 
+	\Require $\bm{f}^{c}_{0}$,$\bm{F}^{c}_{W}$,保留主成分数$n$
+	\Ensure 标签$label\in \{0,1\}$
+	\State 对所有特征向量应用PCA,保留前$n$个主成分$\bm{o}^{c}_{i} \gets PCA(\bm{f}^{c}_{i}, n)$($i = 0,1,\ldots,k$)
+	\State 计算$\bm{F}^{c}_{W}$中各向量的平均距离$\mu$和标准差$\sigma$
+	\State 计算阈值$thr = {\mu} / {\sigma}$
+	\If {$\min_{1<j\le k} \|\bm{o}^{c}_{0} - \bm{o}^{c}_{j} \|_2 > thr$}
+		\State $ label \gets 1 $
+	\Else
+		\State $ label \gets 0 $
+	\EndIf
+	\end{algorithmic}
+\end{algorithm}
+
+在该工作中,取主成分数$n$为5,$k$为50。
+
+\subsection{基于欠完备自编码器}
+在Mayu  Sakurada的论文\cite{Sakurada2014Anomaly}中,学者使用了自编码器进行异常检测来进行非线性降维。考虑到,PCA和TSVD均停留在线性降维的范畴中,而社交媒体信息的可信度评估问题被认为是极为复杂的非线性问题,Yan Zhang在另一篇工作\cite{Yan2017Autoencoder}中,将历史信息中特征的提取方法由主成分分析变为了欠完备自编码器(undercomplete autoencoder, UAE),得到了基于欠完备自编码器的可信度评估模型。下面介绍自编码器的相关知识。
+
+自编码器(autoencoder, AE)的概念最早源自Rumelhart等人于1986年发表在《Nature》上的文章《Learning representations by back-propagating errors》\cite{Rumerlhar1986Learning}。自编码器是神经网络的一种,经过训练后能尝试将输入复制到输出。\cite{Goodfellow2016DeepLearning}自编码器的结构如图\ref{autoencoder}所示。
+
+\buptfigure{pictures/autoencoder}{自编码器结构}{autoencoder}
+
+自编码器内部有一个隐藏层(hidden layer)$\bm{h}$,可以产生用于表示输入数据的编码(code)。如果输入层(input layer)的输出数据为$\bm{x}$,输出层(output layer)的输出结果为$\hat{\bm{x}}$,那么输入层、隐藏层和输出层有如下函数关系:
+\begin{equation}
+\bm{h}=g_1(\bm{W}\bm{x}+\bm{b}_1)
+\end{equation}
+\begin{equation}
+\hat{\bm{x}}=g_2(\bm{V}\bm{h}+\bm{b}_2)
+\end{equation}
+其中,$\bm{b}_1$和$\bm{b}_2$是偏置项,$g_1$和$g_2$分别是输入层到隐藏层和隐藏层到输出层间的激活函数(activation function),正是由于激活函数$f$和$g$的存在,层与层之间的映射才是非线性的。
+
+由上可知,图\ref{autoencoder}表示的是一个由含有4个神经元的输入层、含有3个神经元的隐藏层和含有4个神经元的输出层组成的自编码器,$+1$代表偏置项。
+
+自编码器分为多种,其中最经典的结构正如\ref{autoencoder}所示,其特点是隐藏层单元数小于输入输出层,Ian Goodfellow在《深度学习》\cite{Goodfellow2016DeepLearning}一书中将这种自编码器称为欠完备自编码器(undercomplete autoencoder)。欠完备自编码器的特点,使其可以\textbf{迫使}隐藏层用小于原始数据的维数来尽可能表示原数据,以期在输出层尽可能将原始数据重构。那么,隐藏层的表示实际上就是一种\textbf{有损压缩编码}的结果,那么由输入层到隐藏层的部分,就可以被看做一个有损的编码器(encoder),而隐藏层到输出层的部分,自然就是解码器(decoder)。
+
+进一步,对于压缩表示这种任务,自编码器的损失函数理应表征输入与输出之间的差别,容易想到使用均方误差(Mean Square Error,MSE):
+\begin{equation}
+\begin{aligned}
+Loss &= MSE(\bm{X},\hat{\bm{X}}) \\
+         &= \frac{1}{nm}\sum_{i=1}^{n} \sum_{j=1}^{m} (x_{ij} -\hat{x}_{ij})^2 \\
+\end{aligned}
+\end{equation}
+其中,$\bm{X}=\{\bm{x}_1,\bm{x}_2,\ldots,\bm{x}_n\}$是输入数据,$\hat{\bm{X}}=\{\hat{\bm{x}}_1,\hat{\bm{x}}_2,\ldots,\hat{\bm{x}}_n\}$是输出数据,假设输入向量和输出向量都有m维,即$\bm{x}_i = (x_{i1},x_{i2},\ldots,x_{im})$,$\hat{\bm{x}}_i = (\hat{x}_{i1},\hat{x}_{i2},\ldots,\hat{x}_{im})$,$i = 1,2,\ldots,n$。
+
+如果欠完备自编码器只针对一条原始数据进行编码表示,其应当尽可能拟合该数据的特征;而如果针对一批数据,其训练学习的结果应当是拟合所有数据中最有共性的部分,以期降低损失。基于这种认识,仿照基于PCA和基于TSVD方法的思路,我们就可以基于UAE的社交媒体信息可信度评估模型。其算法描述如\ref{UAE_model}所示(沿用基于PCA的评估算法中的符号)。
+
+\begin{algorithm} 
+\floatname{algorithm}{算法}
+\caption{基于UAE的信息可信度评估} 
+\label{UAE_model}
+\renewcommand{\algorithmicrequire}{\textbf{输入:}}
+\renewcommand{\algorithmicensure}{\textbf{输出:}} 
+	\begin{algorithmic}[1] 
+	\Require $\bm{f}^{c}_{0}$,$\bm{F}^{c}_{W}$
+	\Ensure 标签$label\in \{0,1\}$
+	\State 用$\bm{F}^{c}_{W}$中的经典特征向量,基于反向传播,训练自编码器网络
+	\State  使$\bm{f}^{c}_{0}$通过训练好的网络,得到输入输出之间的方差损失$l_0$
+	\State  使$\bm{F}^{c}_{W}$中的经典特征向量,通过训练好的网络,得到各自的损失,并求得其均值$\mu$和标准差$\sigma$
+	\State 计算阈值$thr = {\mu} + {\sigma}$
+	\If {$l_0 > thr$}
+		\State $ label \gets 1 $
+	\Else
+		\State $ label \gets 0 $
+	\EndIf
+	\end{algorithmic}
+\end{algorithm}
+
+%%%%%%%%%%%%%%%%%%%%%%% Main Area ENDs Here %%%%%%%%%%%%%%%%%%%%%%%%
+%\let\cleardoublepage=\cleardoublepagebak
+% Reference
+\clearpage\phantomsection\addcontentsline{toc}{chapter}{参考文献}
+\bibliographystyle{buptbachelor}
+\refbodyfont{\bibliography{ref}}
+
+% Thanks to page
+\clearpage\phantomsection\addcontentsline{toc}{chapter}{致\qquad{}谢}
+\chapter*{致\qquad{}谢}
+\normalsize\thankwords
+
+% Appendix
+\chapter*{附\qquad{}录}
+\phantomsection\addcontentsline{toc}{chapter}{附\qquad{}录}
+
+\phantomsection
+\addcontentsline{toc}{section}{附录1\quad{}缩略语表}
+\section*{附录1\quad{}缩略语表}
+\begin{center}
+	\begin{tabular}{ccc}
+		\textbf{英文缩写} & \textbf{英文名称} & \textbf{中文} \\
+		\hline
+		AE & autoencoder & 自编码器\\
+		CRF & conditional random field & 条件随机场\\
+		LR & logistic regression & 逻辑回归\\
+		LSTM & Long Short Term Memory & 长短时记忆单元 \\
+	\end{tabular}
+\end{center}
+
+\phantomsection
+\addcontentsline{toc}{section}{附录2\quad{}数学符号}
+\section*{附录2\quad{}数学符号}
+\begin{center}
+	\begin{tabular}{ccc}
+		\multicolumn{2}{c}{\textbf{数和数组}} \\
+		\\
+		$a$ & 标量(整数或实数)\\
+		$\bm{a}$ & 向量\\
+		$dim()$ & 向量的维数\\
+		$\bm{A}$ & 矩阵\\
+		$\bm{A}^\mathrm{T}$ & 矩阵$\textbf{A}$的转置\\
+		$\bm{I}$ & 单位矩阵(维度依据上下文而定) \\
+ 		$diag(\bm{a})$ & 对角方阵,其中对角元素由向量$\bm{a}$确定 \\
+
+	\end{tabular}
+\end{center}
+
+\newpage\backmatter
+% Translation
+\chapter*{外\quad{}文\quad{}译\quad{}文}
+\vspace{8mm}
+
+\thispagestyle{empty}
+
+\begin{center}
+\sihao\heiti{真假新闻的在线传播}
+
+\xiaosihao\songti{Soroush Vosoughi, Deb Roy, Sinan Aral}
+
+\xiaosihao\songti{麻省理工学院}
+\end{center}
+
+\songti{}
+决策、合作、通信和市场领域的基础理论全都将对真实或准确度的概念化作为几乎一切人类努力的核心。然而,不论是真实信息还是虚假信息都会于在线媒体上迅速传播。定义什么是真、什么是假成了一种常见的政治策略,而不是基于一些各方同意的事实的争论。我们的经济也难免遭受虚假信息传播的影响。虚假流言会影响股价和大规模投资的动向,例如,在一条声称巴拉克·奥巴马在爆炸中受伤的推文发布后,股市市值蒸发了1300亿美元。的确,从自然灾害到恐怖袭击,我们对一切事情的反应都受到了扰乱。
+新的社交网络技术在使信息的传播速度变快和规模变大的同时,也便利了不实信息(即不准确或有误导性的信息)的传播。然而,尽管我们对信息和新闻的获取越来越多地收到这些新技术的引导,但我们仍然对他们在虚假信息传播上的作用知之甚少。尽管媒体对假新闻传播的轶事分析给予了相当多的关注,但仍然几乎没有针对不实信息扩散或其发布源头的大规模实证调查。目前,虚假信息传播的研究仅仅局限于小的、局部的样本的分析上,而这些分析忽略了两个最重要的科学问题:真实信息和虚假信息的传播有什么不同?哪些人类判断中的因素可以解释这些不同?
+
+% Translated Article
+\thispagestyle{empty}
+\begin{center}
+\includepdf[pages=1, scale=0.95, pagecommand=\heiti\sanhao{外\quad{}文\quad{}原\quad{}文}]{docs/translation.pdf}
+\includepdf[pages=2-, scale=0.95, pagecommand={}]{docs/translation.pdf}
+\end{center}
+
+\end{document}

BIN
pictures/autoencoder.png


+ 245 - 0
ref.bib

@@ -0,0 +1,245 @@
+% (1)专著中的文献
+% [序号] 作者.专著名称.版本(第1版不加标注).出版者.出版年:参考页码.
+
+@book{唐绪军2013中国新媒体发展报告,
+  title={中国新媒体发展报告No.4(2013)},
+  author={唐绪军 and 吴信训 and 黄楚新 and 刘瑞生},
+  publisher={社会科学文献出版社},
+  year={2013},
+  language = {Chinese}
+}
+
+@book{唐绪军2015中国新媒体发展报告,
+  title={中国新媒体发展报告No.6(2015)},
+  author={唐绪军 and 吴信训 and 黄楚新 and 刘瑞生},
+  publisher={社会科学文献出版社},
+  year={2015},
+  language = {Chinese}
+}
+
+@book{Kimmel2004Rumors,
+  title={Rumors and Rumor Control: A Manager's Guide to Understanding and Combatting Rumors},
+  author={Kimmel, Allan J},
+  publisher={Lawrence Erlbaum Associates},
+  year={2004}
+}
+
+@book{Goodfellow2016DeepLearning,
+ author = {Goodfellow, Ian and Bengio, Yoshua and Courville, Aaron},
+ title = {Deep Learning},
+ year = {2016},
+ publisher = {The MIT Press},
+} 
+
+
+% (2)期刊中的文献
+% [序号] 作者.文献名称.期刊名称.卷号(期号).年,月:页码范围.
+@article{false_news_spread_2018,
+  title={The spread of true and false news online},
+  author={Vosoughi, Soroush and Roy, Deb and Aral, Sinan},
+  journal={Science},
+  volume={359},
+  number={6380},
+  pages={1146-1151},
+  year={2018}
+}
+
+
+@article{Difonzo2007Rumor,
+  title={Rumor psychology: Social and organizational approaches.},
+  author={Difonzo, Nicholas and Bordia, Prashant},
+  journal={American Psychological Association},
+  year={2007}
+}
+
+@article{Bengio2006A,
+  title={A neural probabilistic language model.},
+  author={Bengio, Yoshua and Ducharme, Réjean and Vincent, Pascal and Jauvin, Christian and Kandola, Jaz and Hofmann, Thomas and Poggio, Tomaso and Shawetaylor, John},
+  journal={Journal of Machine Learning Research},
+  volume={3},
+  number={6},
+  pages={1137-1155},
+  year={2006},
+}
+
+@article{Rumerlhar1986Learning,
+  title={Learning representation by back-propagating errors},
+  author={Rumerlhar, D. E},
+  journal={Nature},
+  volume={323},
+  number={3},
+  pages={533-536},
+  year={1986},
+}
+
+% 以下类型未在bst文件中验证过,如果需要请自行修改bst文件……
+
+% (3)论文集
+% [序号] 作者.论文题目.见(英文用In).主编.论文集名.出版地.出版年:页码范围.
+@inproceedings{Chen2016Behavior,
+  title={Behavior deviation: An anomaly detection view of rumor preemption},
+  author={Chen, Weiling and Chai, Kiat Yeo and Lau, Chiew Tong and Bu, Sung Lee},
+  booktitle={Information Technology, Electronics and Mobile Communication Conference},
+  pages={1-7},
+  year={2016}
+}
+
+@inproceedings{Yan2017OneHot,
+  title={A distance-based outlier detection method for rumor detection exploiting user behaviorial differences},
+  author={Zhang, Yan and Chen, Weiling and Chai, Kiat Yeo and Lau, Chiew Tong and Bu, Sung Lee},
+  booktitle={International Conference on Data and Software Engineering},
+  pages={1-6},
+  year={2017}
+}
+
+@INPROCEEDINGS{Yan2017Autoencoder, 
+  author={Zhang, Yan and Chen, Weiling and Chai, Kiat Yeo and Lau, Chiew Tong and Bu, Sung Lee}, 
+  booktitle={2017 IEEE Technology Engineering Management Conference (TEMSCON)}, 
+  title={Detecting rumors on Online Social Networks using multi-layer autoencoder}, 
+  year={2017},
+  pages={437-441}
+}
+
+@inproceedings{Castillo2011Information,
+  title={Information credibility on twitter},
+  author={Castillo, Carlos and Mendoza, Marcelo and Poblete, Barbara},
+  booktitle={International Conference on World Wide Web, WWW 2011, Hyderabad, India, March 28 - April},
+  pages={675-684},
+  year={2011}
+}
+
+@inproceedings{Kwon2014Prominent,
+  title={Prominent Features of Rumor Propagation in Online Social Media},
+  author={Kwon, Sejeong and Cha, Meeyoung and Jung, Kyomin and Chen, Wei and Wang, Yajun},
+  booktitle={IEEE International Conference on Data Mining},
+  pages={1103-1108},
+  year={2014}
+}
+
+@inproceedings{Yang2012Automatic,
+  title={Automatic detection of rumor on Sina Weibo},
+  author={Yang, Fan and Liu, Yang and Yu, Xiaohui and Yang, Min},
+  pages={1-7},
+  year={2012}
+}
+
+@inproceedings{Cai2014Rumors,
+  title={Rumors detection in Chinese via crowd responses},
+  author={Cai, Guoyong and Wu, Hao and Lv, Rui},
+  booktitle={IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining},
+  pages={912-917},
+  year={2014}
+}
+
+@inproceedings{Hinton1986Learning,
+  title={Learning distributed representations of concepts.},
+  author={Hinton, Geoffrey E},
+  booktitle={Eighth Conference of the Cognitive Science Society},
+  year={1986},
+}
+
+@inproceedings{mikolov2013distributed,
+  title={Distributed representations of words and phrases and their compositionality},
+  author={Mikolov, Tomas and Sutskever, Ilya and Chen, Kai and Corrado, Greg S and Dean, Jeff},
+  booktitle={Advances in neural information processing systems},
+  pages={3111--3119},
+  year={2013}
+}
+
+@inproceedings{Sakurada2014Anomaly,
+  title={Anomaly Detection Using Autoencoders with Nonlinear Dimensionality Reduction},
+  author={Sakurada, Mayu and Yairi, Takehisa},
+  booktitle={Mlsda 2014  Workshop on Machine Learning for Sensory Data Analysis},
+  pages={4},
+  year={2014},
+}
+
+@inproceedings{Jin2017multimodal,
+  author    = {Jin, Zhiwei and Cao, Juan and Guo, Han and Zhang. Yongdong and Luo, Jiebo},
+  title     = {Multimodal Fusion with Recurrent Neural Networks for Rumor Detection on Microblogs},
+  booktitle = {Proceedings of the 2017 {ACM} on Multimedia Conference, {MM} 2017, Mountain View, CA, USA, October 23-27, 2017},
+  pages     = {795--816},
+  year      = {2017}
+}
+
+@InProceedings{Bell2016InsideOut,
+  author = {Bell, Sean and Lawrence Zitnick, C. and Bala, Kavita and Girshick, Ross},
+  title = {Inside-Outside Net: Detecting Objects in Context With Skip Pooling and Recurrent Neural Networks},
+  booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
+  month = {June},
+  year = {2016}
+}
+
+@InProceedings{Lin2017FPN,
+  author = {Lin, Tsung-Yi and Dollar, Piotr and Girshick, Ross and He, Kaiming and Hariharan, Bharath and Belongie, Serge},
+  title = {Feature Pyramid Networks for Object Detection},
+  booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
+  month = {July},
+  year = {2017}
+}
+
+@InProceedings{Cai2016MSCNN,
+  author="Cai, Zhaowei and Fan, Quanfu and Feris, Rogerio S. and Vasconcelos, Nuno",
+  title="A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection",
+  booktitle="Computer Vision -- ECCV 2016",
+  year="2016",
+  pages="354--370"
+}
+
+
+
+% (4)学位论文
+% [序号] 作者.题目.[学位论文](英文用[Dissertation]).保存地点.保存单位:年份.
+
+% (5)专利
+% [序号] 专利申请者.题目.国别.专利文献种类.专利号.批准日期.
+
+% (6)技术标准
+% [序号] 起草责任者.标准代号.标准顺序号-发布年.标准名称.出版地.出版者.出版年度.
+
+
+%(7)在线资料
+
+@ELECTRONIC{webster_social_media,
+  title = {Social Media},
+  organization = {Merriam-Webster},
+  year = {2018},
+  howpublished = {online},
+  refdate = {2018-04-15},
+  url = {http://www.merriam-webster.com/dictionary/social media},
+} 
+
+@ELECTRONIC{digital_in_2018,
+  title = {Digital in 2018: World's Internet Users Pass the 4 Billion Mark},
+  organization = {We Are Social},
+  year = {2018},
+  howpublished = {online},
+  refdate = {2018-04-15},
+  url = {https://wearesocial.com/uk/blog/2018/01/global-digital-report-2018},
+} 
+
+@ELECTRONIC{pew_news_use_2017,
+  title = {News Use Across Social Media Platforms 2017},
+  organization = {Pew Research Center},
+  year = {2017},
+  howpublished = {online},
+  refdate = {2018-04-15},
+  url = {http://www.journalism.org/2017/09/07/news-use-across-social-media-platforms-2017},
+} 
+
+@ELECTRONIC{internet_news_2016,
+  title = {2016年中国互联网新闻市场研究报告},
+  organization = {中国互联网络信息中心},
+  year = {2017},
+  howpublished = {online},
+  refdate = {2018-04-15},
+  url = {http://www.cnnic.cn/hlwfzyj/hlwxzbg/mtbg/201701/P020170112309068736023.pdf},
+  language = {Chinese}
+} 
+
+
+@misc{thulac,
+  author = {Sun, Maosong and Chen, Xinxiong and Zhang, Kaixu and Guo, Zhipeng and Liu, Zhiyuan},
+  title = {THULAC: An Efficient Lexical Analyzer for Chinese},
+  year = {2016}
+}