├── README.md ├── chap ├── appendix_1.tex ├── chapter1.tex ├── chapter2.tex ├── chapter3.tex └── chapter4.tex ├── cover.pdf ├── cover.tex ├── example ├── bachelor.pdf ├── doctor.pdf └── master.pdf ├── figures ├── clogo.pdf ├── coverpic.pdf ├── logo.pdf ├── logo2.pdf ├── logo3.pdf ├── logoW.pdf ├── logoW2.pdf ├── logoW3.pdf └── shouquan.png ├── format ├── acknowledge.tex ├── cabstractpage.tex └── eabstractpage.tex ├── main.pdf ├── main.tex ├── ref ├── rucbib.bst └── test.bib ├── ructhesis.cls ├── ructhesis.dtx ├── ructhesis.ins └── ructhesis.pdf /README.md: -------------------------------------------------------------------------------- 1 | # RUCThesis 2 | ##中国人民大学LaTeX论文模板 3 | 4 | 目前支持本科、硕士(学硕+专硕)和博士 5 | 6 | **如果已经有ructhesis.cls文件的可以直接使用。** 7 | **目前的版本使用了[2015国标](https://github.com/ustctug/gbt-7714-2015)的参考文献样式。** 8 | 在main.tex文件下使用如下命令: 9 | 10 | 这里我们使用xelatex作为排版引擎,第一步编译main.tex文件,第二步处理参考文献,然后再编译两遍生成pdf文件。 11 | 12 | `$ xelatex main.tex` 13 | `$ bibtex main.tex` 14 | `$ xelatex main.tex` 15 | `$ xelatex main.tex` 16 | 17 | ##重要信息 18 | **1、编辑器要用UTF-8的编码要不然你打开是乱码。** 19 | **2、排版引擎使用XeLaTeX,要不然会报错。** 20 | 21 | 22 | ###必要的字体文件 23 | 24 | 字体 | PostScript名称 25 | ------------ | ------------- 26 | Times New Roman | TimesNewRomanPSMT 27 | Arial | ArialMT 28 | Courier New | CourierNewPSMT 29 | 宋体 | SimSun 30 | 黑体 | SimHei 31 | 仿宋 | FangSong 32 | 33 | 34 | **需要生成封皮的还需要自行下载安装** 35 | 36 | - 方正小标宋 PostScript名称:FZXBSJW–GB1-0 37 | 38 | ###必要的宏包 39 | 40 | **全部都是TeX Live自带的** 41 | - ctexbook 42 | - geometry 43 | - hyperref 44 | - graphicx 45 | - titletoc 46 | - ifxetex 47 | - ifthen 48 | - calc 49 | - lscape 50 | - multicol 51 | - color 52 | - pstricks 53 | 54 | ###想编译模板文件和生成手册的可以执行下述代码 55 | 生成模板文件ructhesis.cls 56 | `$ latex ructhesis.ins` 57 | 生成手册ructhesis.pdf 58 | `$ xelatex ructhesis.dtx` 59 | `$ makeindex -s gind.ist -o ructhesis.ind ructhesis.idx ` 60 | `$ makeindex -s gglo.ist -o ructhesis.gls ructhesis.glo ` 61 | `$ xelatex ructhesis.dtx` 62 | `$ xelatex ructhesis.dtx` 63 | 64 | ###联系 65 | 如果模板本身的问题可以上[GitHub](https://github.com/ZebinWang/ructhesis)上发篇issue。 66 | 67 | 如果想贡献代码的请email我: 68 | 69 | -------------------------------------------------------------------------------- /chap/appendix_1.tex: -------------------------------------------------------------------------------- 1 | \chapter{如何正确安装\LaTeX\ } 2 | 3 | Noun–verb dependencies in various languages and their biological ana- logues. Part A) shows the sentence “Dick saw Jane help Mary draw pictures” trans- lated grammatically into German and Dutch. That is, the words in the sentence are rearranged to reflect the rules of grammar in these two languages, but the sentence is not translated per se. As shown, the English version of the sentence has a rela- tively simple dependency structure between the nouns and verbs that can be modeled using regular grammars. In contrast, German and Dutch require more complicated grammatical models . Part B) shows the biological analogue of the three sen- tences in Part A). Typically, restriction sites can be modeled using regular grammars, whereas complex DNA secondary structures require context–free or context–sensitive grammars . In the first example, the arches are used to represent a “must be followed by” dependency. In the second two examples, they represent a “must be complementary to” dependency. 4 | -------------------------------------------------------------------------------- /chap/chapter1.tex: -------------------------------------------------------------------------------- 1 | \chapter{\LaTeX{} 介绍} 2 | %\section{安装\LaTeX{} } 3 | %\subsection{Mac OS X} 4 | %\begin{figure}[htbp] 5 | %\centering\includegraphics[width=5cm,height=1.32cm]{figures/Logo_2.pdf} 6 | %\caption[示意图]{用LaTeX画图} 7 | %\end{figure} 8 | \LaTeX\footnote{https://zh.wikipedia.org/wiki/LaTeX}(英语发音:/ˈleɪtɛk/ lay-tek或英语发音:/ˈlɑːtɛk/ lah-tek,音译“拉泰赫”),文字形式写作\LaTeX ,是一种基于\TeX\ 的排版系统,由美国电脑学家莱斯利·兰伯特在20世纪80年代初期开发,利用这种格式,即使用户没有排版和程序设计的知识也可以充分发挥由\TeX\ 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。 9 | 10 | \LaTeX\ 使用\TeX\ 作为它的格式化引擎,当前的版本是\LaTeX 2ε。 11 | \begin{figure}[htbp] 12 | \centering 13 | \subfigure[国际象棋]{ 14 | \label{fig:mini:subfig:a} %% label for first subfigure 15 | \begin{minipage}[b]{0.5\textwidth} 16 | \centering 17 | \fenboard{% 18 | r5k1/% 19 | 1b1p1ppp/% 20 | p7/% 21 | 1p1Q4/% 22 | 2p1r3/% 23 | PP4Pq/% 24 | BBP2b1P/% 25 | R4R1K w - - 0 20} 26 | \mbox{}\showboard 27 | \end{minipage}}% 28 | \subfigure[化学式]{ 29 | \label{fig:mini:subfig:b} %% label for second subfigure 30 | \begin{minipage}[b]{0.5\textwidth} 31 | \centering 32 | \chemfig{ 33 | H_3C-[:72]{\color{blue}N}*5(- 34 | *6(-(={\color{red}O})- 35 | {\color{blue}N}(-CH_3)- 36 | (={\color{red}O})- 37 | {\color{blue}N}(-CH_3)-=)-- 38 | {\color{blue}N}=-)} 39 | \end{minipage}} 40 | \caption{\LaTeX\ 绘图示例} 41 | \label{fig:mini:subfig} %% label for entire figure 42 | \end{figure} 43 | 44 | -------------------------------------------------------------------------------- /chap/chapter2.tex: -------------------------------------------------------------------------------- 1 | \chapter{\RUCThesis\ 介绍} 2 | \section{必要的宏包} 3 | 本模板中包含的宏包如下表所示: 4 | \begin{table}[htb] 5 | \centering 6 | \begin{minipage}[t]{0.8\linewidth} 7 | \caption[必要宏包]{本模板中包含的宏包,当然这些必须安装。其实这些在你的\LaTeX\ 里面已经有了。其实这还是一个简单三线表的例子,其实这还是一个长表格标题的例子,当然还是一个表格中插脚注的例子} 8 | \label{tab:template-files} 9 | \begin{tabular*}{\linewidth}{cccccc} 10 | \toprule[1.5pt] 11 | \multicolumn{6}{c}{\sf 宏包文件}\\ \midrule[1pt] 12 | ctexbook & geometry & hyperref & graphicx\footnote{插图宏包} & titletoc & ifxetex \\ 13 | ifthen & calc & lscape\footnote{页面横向放置宏包} & multicol & color & pstricks\\ 14 | \bottomrule[1.5pt] 15 | \end{tabular*} 16 | \end{minipage} 17 | \end{table} 18 | \section{必要的字体} 19 | 字体命令为{\tt\textbackslash rm}衬线字{\tt\textbackslash sf}非衬线字{\tt\textbackslash tt}等线体。\par 20 | 本模板中包含的字体如下表所示: 21 | \begin{longtable}[c]{c*{2}{l}} 22 | \caption{必要的字体}\label{tab:performance}\\ 23 | \toprule[1.5pt] 24 | 字体 & PostScript名称\\\midrule[1pt] 25 | \endfirsthead 26 | \caption[]{必要的字体(续)}\\ 27 | \toprule[1.5pt] 28 | 字体 & PostScript名称\\\midrule[1pt] 29 | \endhead 30 | \hline 31 | \multicolumn{2}{r}{续下页} 32 | \endfoot 33 | \endlastfoot 34 | Times New Roman & TimesNewRomanPSMT \\ 35 | Arial & ArialMT \\ 36 | Courier New & CourierNewPSMT\\ 37 | 宋体 & SimSun \\ 38 | 黑体 & SimHei \\ 39 | 仿宋 & FangSong \\ 40 | 方正小标宋\footnotemark & FZXBSJW–GB1-0 \\ 41 | \bottomrule[1.5pt] 42 | \end{longtable} 43 | \footnotetext{只有在制作封皮的{\tt cover.tex}中用到。} 44 | 45 | 46 | \section{编译源文件} 47 | 如果已经有ructhesis.cls文件的可以直接使用。 48 | 因为2015年12月正式实施了新的参考文献著录国标,新样式还在开发,先借用了一个(可能会报错)。 \par 49 | 这里我们使用xelatex作为引擎,在main.tex文件下使用如下命令:\\ 50 | {\tt 51 | \$ xelatex main.tex\\ 52 | \$ bibtex main.tex\\ 53 | \$ xelatex main.tex\\ 54 | \$ xelatex main.tex\\} 55 | 想编译模板文件和生成手册的可以执行下述代码:\\ 56 | 生成模板文件{\tt ructhesis.cls}\\ 57 | {\tt\$ latex ructhesis.ins}\\ 58 | 生成手册{\tt ructhesis.pdf\\ 59 | \$ xelatex ructhesis.dtx\\ 60 | \$ makeindex -s gind.ist -o ructhesis.ind ructhesis.idx\\ 61 | \$ makeindex -s gglo.ist -o ructhesis.gls ructhesis.glo\\ 62 | \$ xelatex ructhesis.dtx\\ 63 | \$ xelatex ructhesis.dtx}\par 64 | 下图的文件是完整的{\tt RUCThesis}文件,同时下图也是横放大表格或者图片的例子。 65 | 66 | \begin{landscape} 67 | \begin{figure}[htbp] 68 | \centering 69 | \tikzstyle{every node}=[anchor=west] 70 | \begin{tikzpicture}[% 71 | grow via three points={one child at (0.5,-0.7) and 72 | two children at (0.5,-0.7) and (0.5,-1.4)}, 73 | edge from parent path={(\tikzparentnode.south) |- (\tikzchildnode.west)}] 74 | \node {\RUCThesis\ } 75 | child { node {chap} 76 | child { node {chapter1.tex\quad \% 章节文件}} 77 | child { node {...}} 78 | child { node {appendix\_{}1.tex\quad \% 附录}}} 79 | child [missing] {} 80 | child [missing] {} 81 | child [missing] {} 82 | child { node {cover.tex\quad \% 封面文件}} 83 | child { node {figures} 84 | child { node {logo.pdf\quad \% 图像}} 85 | child { node {...}}} 86 | child [missing] {} 87 | child [missing] {} 88 | child { node {format} 89 | child { node {acknowledge.tex\quad \% 致谢}} 90 | child { node {authorization.tex\quad \% 授权书影印件}} 91 | child { node {cabstractpage.tex\quad \% 中文摘要}} 92 | child { node {eabstractpage.tex\quad \% 英文摘要}} 93 | child { node {Originality.tex\quad \% 独创性声明}}} 94 | child [missing] {} 95 | child [missing] {} 96 | child [missing] {} 97 | child [missing] {} 98 | child [missing] {} 99 | child { node {main.tex\quad \% 主文件}} 100 | child { node {ref} 101 | child { node {ruc.bst\quad \% 参考文献样式}} 102 | child { node {yourbib.bib\quad \% 参考文献数据库}}} 103 | child [missing] {} 104 | child [missing] {} 105 | child { node {ructhesis.cls\quad \% \RUCThesis\ 文档类}}; 106 | \end{tikzpicture} 107 | \caption{\RUCThesis\ 文件目录} 108 | \end{figure} 109 | \end{landscape} 110 | 111 | 112 | -------------------------------------------------------------------------------- /chap/chapter3.tex: -------------------------------------------------------------------------------- 1 | \chapter{使用方法} 2 | \section{{\tt main.tex}文件} 3 | 将文档类选择{\tt ructhesis},文档的选项有{\tt bachelor、master、promaster、doctor}代表不同的学位论文排版方式。\par 4 | 在导言区填写扉页相关信息和摘要关键词(需要在关键词间按照本科或者研究生的规定输入空格)。\par 5 | 6 | \begin{longtable}[c]{ll} 7 | \caption{命令(环境)解释}\label{tab:performance}\\ 8 | \toprule[1.5pt] 9 | 命令(环境) & 意义\\\midrule[1pt] 10 | \endfirsthead 11 | \caption[]{命令(环境)解释(续)}\\ 12 | \toprule[1.5pt] 13 | 命令(环境) & 意义\\\midrule[1pt] 14 | \endhead 15 | \hline 16 | \multicolumn{2}{r}{续下页} 17 | \endfoot 18 | \endlastfoot 19 | {\tt \textbackslash maketitle} & 插入扉页 \\ 20 | {\tt \textbackslash originality} & 插入独创性声明 \\ 21 | {\tt \textbackslash authorization} & 插入授权书\\ 22 | {\tt \textbackslash tableofcontents} & 正文目录 \\ 23 | {\tt \textbackslash listoffigures} & 插图目录 \\ 24 | {\tt \textbackslash listoftables} & 表格目录 \\ 25 | {\tt \textbackslash autograph} & 本科签名\footnote{插入签名,在普通章节文件中插入无限制,但在\tt main.tex\rm 文件插入时被插入的章节不能使用\tt\textbackslash include\rm 命令,需使用\tt\textbackslash input\rm 命令。} \\ 26 | {\tt \textbackslash appendix} & 附录 \\ 27 | {\tt \textbackslash bibliographystyle} & 参考文献样式 \\ 28 | {\tt \textbackslash bibliography} &参考文献数据库 \\ 29 | {\tt \textbackslash addcontentsline} & 加入目录 \\ 30 | {\tt abstractzh} & 中文摘要环境 \\ 31 | {\tt abstracten} & 英文摘要环境 \\ 32 | {\tt acknowledge} & 致谢环境 \\ 33 | \bottomrule[1.5pt] 34 | \end{longtable} 35 | \section{{\tt cover.tex}文件} 36 | 在{\tt cover.tex}文件中,可以有博士:doctor,学硕:master,专硕:promaster,本科:bachelor,这几个选项。还有shuji选项用于输出书脊。其中{\tt \textbackslash cover}命令用来生成封皮。在有shuji选项的时候可以利用{\tt \textbackslash covertitle}命令制定书脊文字。需要设置纸张高度为两张A4纸宽度(420mm)再加书脊的宽度,100张A4纸厚度约为1cm。具体的各个封皮的配色方案和样式(无图中虚线)如下图所示: 37 | \begin{figure}[htbp] 38 | \centering\includegraphics[width=14cm,height=9.7cm]{figures/coverpic.pdf} 39 | \caption[cover示意图]{cover示意图} 40 | \end{figure} -------------------------------------------------------------------------------- /chap/chapter4.tex: -------------------------------------------------------------------------------- 1 | \chapter{一些例子} 2 | \section{各种例子} 3 | \subsection{插图表格} 4 | \begin{figure}[htbp] 5 | \centering\includegraphics[width=5cm,height=1.32cm]{figures/logo3.pdf} 6 | \caption[中英校名]{中英校名} 7 | \end{figure} 8 | \begin{table}[htbp] 9 | \noindent\begin{minipage}{0.5\textwidth} 10 | \centering 11 | \caption{并排子表格} 12 | \label{tab:parallel1} 13 | \begin{tabular}{p{2cm}p{2cm}} 14 | \toprule[1.5pt] 15 | 姓名 & 性别 \\\midrule[1pt] 16 | 李狗蛋 & 女 \\\bottomrule[1.5pt] 17 | \end{tabular} 18 | \end{minipage} 19 | \begin{minipage}{0.5\textwidth} 20 | \centering 21 | \caption{并排子表格} 22 | \label{tab:parallel2} 23 | \begin{tabular}{p{2cm}p{2cm}} 24 | \toprule[1.5pt] 25 | 姓名 & 性别 \\\midrule[1pt] 26 | 张狗蛋 & 女 \\\bottomrule[1.5pt] 27 | \end{tabular} 28 | \end{minipage} 29 | \end{table} 30 | \begin{table}[htbp] 31 | \centering 32 | \caption{并排子表格} 33 | \label{tab:subtable} 34 | \subtable[第一个子表格] 35 | { 36 | \begin{tabular}{p{2cm}p{2cm}} 37 | \toprule[1.5pt] 38 | 姓名 & 性别 \\\midrule[1pt] 39 | 田狗蛋 & 男 \\\bottomrule[1.5pt] 40 | \end{tabular} 41 | } 42 | \hskip2cm 43 | \subtable[第二个子表格] 44 | { 45 | \begin{tabular}{p{2cm}p{2cm}} 46 | \toprule[1.5pt] 47 | 姓名 & 性别 \\\midrule[1pt] 48 | 李狗蛋 & 女 \\\bottomrule[1.5pt] 49 | \end{tabular} 50 | } 51 | \end{table} 52 | 53 | \subsection{数学环境} 54 | 下面是几个数学公式的例子:\par 55 | \begin{equation} 56 | \begin{aligned} 57 | P\{S_n \leq t\} &= \int_{-\infty}^{+\infty}f_{S_n}dt \notag \\ 58 | &= \int_0^t\frac{\lambda(\lambda u)^{n-1}}{(n-1)!}e^{-\lambda u}du \\ 59 | &\xlongequal{令 \lambda u=x} \frac{1}{(n-1)!}\int_0^{\lambda t}x^{n-1}e^{-x}dx\\ 60 | &=\frac{-1}{(n-1)!}(e^{-x}x^{n-1}{\Big|}_0^{\lambda t}-\int_0^{\lambda t}e^{-x}dx^{n-1})\\ 61 | &=\frac{-1}{(n-1)!}e^{-x}x^{n-1}{\Big|}_0^{\lambda t}+\frac{1}{(n-2)!}\int_0^{\lambda t}e^{-x}x^{n-2}dx 62 | \end{aligned} 63 | \end{equation}\par 64 | 再来几个: 65 | \begin{equation} 66 | \begin{aligned} 67 | \lambda &=\left (1+\frac{\left(\frac{\bar{X}-\bar{Y}}{\sqrt{((\frac{1}{n}+\frac{1}{m})\sigma^2)}}\right)^2}{\left(\sqrt{\frac{\sum\limits_{i=1}^n(X_i-\bar{X})^2+\sum\limits_{i=1}^m(Y_i-\bar{Y})^2}{(m+n)\sigma^2}}\right)^2(m+n-2)}\right)^{\frac{n+m}{2}} \\ \notag 68 | &=\left(1+\frac{T^2}{n+m-2}\right)^{\frac{n+m}{2}}\\ 69 | 其中\quad T^2 &=\left(\frac{\frac{\bar{X}-\bar{Y}}{\sqrt{((\frac{1}{n}+\frac{1}{m})\sigma^2)}}}{{\sqrt{\frac{\sum\limits_{i=1}^n(X_i-\bar{X})^2+\sum\limits_{i=1}^m(Y_i-\bar{Y})^2}{(m+n)\sigma^2}}}}\right)^2 70 | \end{aligned} 71 | \end{equation} -------------------------------------------------------------------------------- /cover.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/cover.pdf -------------------------------------------------------------------------------- /cover.tex: -------------------------------------------------------------------------------- 1 | % XeLaTeX can use any Mac OS X font. See the setromanfont command below. 2 | % Input to XeLaTeX is full Unicode, so Unicode characters can be typed directly into the source. 3 | 4 | % The next lines tell TeXShop to typeset with xelatex, and to open and save the source with Unicode encoding. 5 | 6 | %!TEX TS-program = xelatex 7 | %!TEX encoding = UTF-8 Unicode 8 | 9 | %需要自行安装方正小标宋字体FZXiaoBiaoSong-B05S 10 | 11 | %博士:doctor,学硕:master,专硕:promaster,本科:bachelor。 12 | \documentclass[baclor,shuji]{ructhesis}%选择学位类型,如需书脊在选项中加入“shuji” 13 | \usepackage{geometry} 14 | \geometry{paperwidth=297mm,paperheight=430mm}%这里并不是A4,需要设置纸张高度为两张A4纸宽度(420mm)再加书脊的宽度,100张A4纸厚度约为1cm。 15 | \begin{document} 16 | %将封面信息补全,相关专业名称过长的请在文字前添加命令\ziju{-0.15} 17 | \title{中国人民大学\LaTeX{} 论文模板}%论文题名,这里如z果需要打印书脊英文字母之间要有空格 18 | \etitle{\LaTeX{} template of Renmin university of China}%英文题目 19 | \author{许白黑}%作者 20 | \advisor{×××}%指导老师 21 | \date{2015年12月11日} 22 | \covertitle{中\\国\\人\\民\\大\\学\\L\\a\\T\\e\\X\\论\\文\\模\\板}%写在书脊上的题目,字与字中间用“\\”隔开 23 | \cover 24 | \end{document} 25 | -------------------------------------------------------------------------------- /example/bachelor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/example/bachelor.pdf -------------------------------------------------------------------------------- /example/doctor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/example/doctor.pdf -------------------------------------------------------------------------------- /example/master.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/example/master.pdf -------------------------------------------------------------------------------- /figures/clogo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/figures/clogo.pdf -------------------------------------------------------------------------------- /figures/coverpic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/figures/coverpic.pdf -------------------------------------------------------------------------------- /figures/logo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/figures/logo.pdf -------------------------------------------------------------------------------- /figures/logo2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/figures/logo2.pdf -------------------------------------------------------------------------------- /figures/logo3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/figures/logo3.pdf -------------------------------------------------------------------------------- /figures/logoW.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/figures/logoW.pdf -------------------------------------------------------------------------------- /figures/logoW2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/figures/logoW2.pdf -------------------------------------------------------------------------------- /figures/logoW3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/figures/logoW3.pdf -------------------------------------------------------------------------------- /figures/shouquan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/figures/shouquan.png -------------------------------------------------------------------------------- /format/acknowledge.tex: -------------------------------------------------------------------------------- 1 | \begin{acknowledge}%致谢 2 | 感谢 3 | \end{acknowledge} -------------------------------------------------------------------------------- /format/cabstractpage.tex: -------------------------------------------------------------------------------- 1 | % the abstract 2 | \begin{abstractzh} 3 | RUCThesis 是根据中国人民大学《本科论文指导手册》和《研究生学位论文及其摘要的撰写和印制要求》而制作的 \LaTeX\ 论文模板。 4 | \end{abstractzh} -------------------------------------------------------------------------------- /format/eabstractpage.tex: -------------------------------------------------------------------------------- 1 | % the abstract 2 | \begin{abstracten} 3 | This is an English Abstract. 4 | \end{abstracten} 5 | -------------------------------------------------------------------------------- /main.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/main.pdf -------------------------------------------------------------------------------- /main.tex: -------------------------------------------------------------------------------- 1 | % XeLaTeX can use any Mac OS X font. See the setromanfont command below. 2 | % Input to XeLaTeX is full Unicode, so Unicode characters can be typed directly into the source. 3 | 4 | % The next lines tell TeXShop to typeset with xelatex, and to open and save the source with Unicode encoding. 5 | 6 | %!TEX TS-program = xelatex 7 | %!TEX encoding = UTF-8 Unicode 8 | 9 | \documentclass[a4paper,bachelor]{ructhesis} 10 | 11 | %自添宏包 12 | \usepackage{skak}%国际象棋 13 | \usepackage{subfigure}%子图http://www.ctex.org/documents/latex/graphics/node111.html 14 | \usepackage{chemfig}%化学式 15 | \usetikzlibrary{trees} 16 | 17 | 18 | 19 | %将封面信息补全,相关专业名称过长的请在文字前添加命令\ziju{-0.15} 20 | %文头 21 | \sign{中国人民大学本科毕业论文} 22 | %\sign{硕士学位论文} 23 | %\sign{博士学位论文} 24 | 25 | 26 | 27 | %以下信息本科研究生都需要补全 28 | \title{中国人民大学LaTeX模板}%论文题名 29 | \author{许白黑}%作者 30 | \school{}%学院 31 | \field{\ }%专业 32 | \studentid{2012202000}%学号 33 | \advisor{}%指导老师 34 | \date{2015年12月11日} 35 | 36 | 37 | %以下本科填写 38 | \grade{}%年级 39 | \score{4.0}%成绩 40 | \thesiscode{论文编码:RUC-BK-专业代码}%论文编码 41 | \subtitle{}%论文副题名,没有不填写 42 | 43 | 44 | %以下研究生填写 45 | \etitle{LaTeX template of Renmin university of China}%英文题目 46 | \keywords{\TeX{}}%论文主题词 47 | %摘要关键词 48 | \keywordzh{中文摘要关键词}%中文摘要关键词 49 | \keyworden{English\qquad template}%英文摘要关键词 50 | 51 | 52 | % 53 | \begin{document} 54 | 55 | %扉页 56 | \maketitle 57 | 58 | %独创性声明 59 | \originality 60 | %授权书在这插入 61 | \authorization{figures/shouquan.png} 62 | %中文摘要 63 | \include{format/cabstractpage} 64 | %英文摘要 65 | \include{format/eabstractpage} 66 | 67 | 68 | \frontmatter 69 | 70 | %正文目录 71 | \tableofcontents 72 | %插图目录 73 | \listoffigures 74 | %表格目录 75 | \listoftables 76 | 77 | 78 | \mainmatter\clearpage 79 | \pagestyle{fancy} 80 | 81 | %正文章节 82 | \include{chap/chapter1} 83 | \include{chap/chapter2} 84 | \include{chap/chapter3} 85 | \input{chap/chapter4}%要插入本科签名的最后一个章节,插入命令使用\input{} 86 | 87 | %本科签名 88 | %\autograph 89 | 90 | 91 | %参考文献 92 | \bibliographystyle{ref/rucbib} 93 | \setcitestyle{super,square,comma,sort&compress} 94 | \bibliography{ref/test} 95 | \nocite{*} 96 | \addcontentsline{toc}{chapter}{参考文献} 97 | 98 | %附录 99 | \appendix 100 | \include{chap/appendix_1} 101 | 102 | %致谢 103 | \include{format/acknowledge} 104 | 105 | 106 | 107 | \end{document} 108 | 109 | 110 | 111 | 112 | 113 | 114 | -------------------------------------------------------------------------------- /ref/rucbib.bst: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `gbt-7714-2015-numerical.bst', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% gbt-7714-2015.dtx (with options: `numerical') 8 | %% 9 | %% Copyright (C) 2016-2016 by Zeping Lee 10 | %% 11 | %% This file may be distributed and/or modified under the 12 | %% conditions of the LaTeX Project Public License, either 13 | %% version 1.2 of this license or (at your option) any later 14 | %% version. The latest version of this license is in: 15 | %% 16 | %% http://www.latex-project.org/lppl.txt 17 | %% 18 | %% and version 1.2 or later is part of all distributions of 19 | %% LaTeX version 1999/12/01 or later. 20 | %% 21 | %% This BibTeX style file is derived from `plainnat.bst' by Patrick W Daly, 22 | %% which was designed for use with the `natbib.sty' package. 23 | %% 24 | ENTRY 25 | { address 26 | author 27 | booktitle 28 | chapter 29 | citedate 30 | doi 31 | eid 32 | edition 33 | editor 34 | editdate 35 | howpublished 36 | institution 37 | isbn 38 | issn 39 | journal 40 | key 41 | language 42 | mark 43 | media 44 | month 45 | note 46 | number 47 | organization 48 | pages 49 | publisher 50 | school 51 | series 52 | title 53 | translator 54 | type 55 | url 56 | volume 57 | year 58 | } 59 | { lang } 60 | { label extra.label sort.label short.list } 61 | 62 | INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash } 63 | 64 | INTEGERS { lang.zh lang.ja lang.en lang.ru lang.default } 65 | 66 | FUNCTION {init.state.consts} 67 | { #0 'before.all := 68 | #1 'mid.sentence := 69 | #2 'after.sentence := 70 | #3 'after.block := 71 | #4 'after.slash := 72 | #4 'lang.zh := 73 | #5 'lang.ja := 74 | #1 'lang.en := 75 | #3 'lang.ru := 76 | #0 'lang.default := 77 | } 78 | 79 | STRINGS { s t } 80 | 81 | FUNCTION {debug} 82 | { 's := 83 | duplicate$ 84 | "DEBUG: " s * " -> `" * 85 | swap$ * "'" * 86 | top$ 87 | } 88 | 89 | FUNCTION {debug.int} 90 | { 's := 91 | duplicate$ int.to.str$ 92 | "DEBUG: " s * " == " * 93 | swap$ * 94 | top$ 95 | } 96 | 97 | FUNCTION {punct.colon} 98 | { ": " 99 | } 100 | 101 | FUNCTION {punct.slash} 102 | { "//" 103 | } 104 | 105 | FUNCTION {punct.space} 106 | { " " 107 | } 108 | 109 | FUNCTION {output.nonnull} 110 | { 's := 111 | output.state mid.sentence = 112 | { ", " * write$ } 113 | { output.state after.block = 114 | { add.period$ write$ 115 | newline$ 116 | "\newblock " write$ 117 | } 118 | { output.state before.all = 119 | 'write$ 120 | { output.state after.slash = 121 | { punct.slash * write$ } 122 | { add.period$ " " * write$ } 123 | if$ 124 | } 125 | if$ 126 | } 127 | if$ 128 | mid.sentence 'output.state := 129 | } 130 | if$ 131 | s 132 | } 133 | 134 | FUNCTION {output} 135 | { duplicate$ empty$ 136 | 'pop$ 137 | 'output.nonnull 138 | if$ 139 | } 140 | 141 | FUNCTION {output.after} 142 | { 't := 143 | duplicate$ empty$ 144 | 'pop$ 145 | { 's := 146 | output.state mid.sentence = 147 | { t * write$ } 148 | { output.state after.block = 149 | { t * write$ 150 | newline$ 151 | "\newblock " write$ 152 | } 153 | { output.state before.all = 154 | 'write$ 155 | { t * write$ } 156 | if$ 157 | } 158 | if$ 159 | mid.sentence 'output.state := 160 | } 161 | if$ 162 | s 163 | } 164 | if$ 165 | } 166 | 167 | FUNCTION {output.check} 168 | { 't := 169 | duplicate$ empty$ 170 | { pop$ "empty " t * " in " * cite$ * warning$ } 171 | 'output.nonnull 172 | if$ 173 | } 174 | 175 | FUNCTION {fin.entry} 176 | { add.period$ 177 | write$ 178 | newline$ 179 | } 180 | 181 | FUNCTION {new.block} 182 | { output.state before.all = 183 | 'skip$ 184 | { output.state after.slash = 185 | 'skip$ 186 | { after.block 'output.state := } 187 | if$ 188 | } 189 | if$ 190 | } 191 | 192 | FUNCTION {new.sentence} 193 | { output.state after.block = 194 | 'skip$ 195 | { output.state before.all = 196 | 'skip$ 197 | { output.state after.slash = 198 | 'skip$ 199 | { after.sentence 'output.state := } 200 | if$ 201 | } 202 | if$ 203 | } 204 | if$ 205 | } 206 | 207 | FUNCTION {new.slash} 208 | { output.state before.all = 209 | 'skip$ 210 | { after.slash 'output.state := } 211 | if$ 212 | } 213 | 214 | FUNCTION {not} 215 | { { #0 } 216 | { #1 } 217 | if$ 218 | } 219 | 220 | FUNCTION {and} 221 | { 'skip$ 222 | { pop$ #0 } 223 | if$ 224 | } 225 | 226 | FUNCTION {or} 227 | { { pop$ #1 } 228 | 'skip$ 229 | if$ 230 | } 231 | 232 | FUNCTION {new.block.checka} 233 | { empty$ 234 | 'skip$ 235 | 'new.block 236 | if$ 237 | } 238 | 239 | FUNCTION {new.block.checkb} 240 | { empty$ 241 | swap$ empty$ 242 | and 243 | 'skip$ 244 | 'new.block 245 | if$ 246 | } 247 | 248 | FUNCTION {new.sentence.checka} 249 | { empty$ 250 | 'skip$ 251 | 'new.sentence 252 | if$ 253 | } 254 | 255 | FUNCTION {new.sentence.checkb} 256 | { empty$ 257 | swap$ empty$ 258 | and 259 | 'skip$ 260 | 'new.sentence 261 | if$ 262 | } 263 | 264 | FUNCTION {field.or.null} 265 | { duplicate$ empty$ 266 | { pop$ "" } 267 | 'skip$ 268 | if$ 269 | } 270 | 271 | FUNCTION {emphasize} 272 | { duplicate$ empty$ 273 | { pop$ "" } 274 | { "\emph{" swap$ * "}" * } 275 | if$ 276 | } 277 | 278 | FUNCTION {is.in.chinese} 279 | { lang lang.zh = 280 | } 281 | 282 | FUNCTION {format.et.al} 283 | { is.in.chinese 284 | { "等"} 285 | { "et~al." } 286 | if$ 287 | } 288 | 289 | FUNCTION {format.anonymous} 290 | { is.in.chinese 291 | { "佚名"} 292 | { "Anon, " year * } 293 | if$ 294 | } 295 | 296 | INTEGERS { nameptr namesleft numnames } 297 | 298 | FUNCTION {format.names} 299 | { 's := 300 | #1 'nameptr := 301 | s num.names$ 'numnames := 302 | numnames 'namesleft := 303 | { namesleft #0 > nameptr #4 < and } 304 | { s nameptr "{vv~}{ll}{ f{ }}" format.name$ "u" change.case$ 305 | s nameptr "{, jj}" format.name$ * 306 | 't := 307 | nameptr #1 > 308 | { namesleft #1 > 309 | { ", " * t * } 310 | { t "others" = 311 | { ", " * format.et.al * } 312 | { ", " * t * } 313 | if$ 314 | } 315 | if$ 316 | nameptr #3 = namesleft #1 > and 317 | { ", " * format.et.al * } 318 | 'skip$ 319 | if$ 320 | } 321 | 't 322 | if$ 323 | nameptr #1 + 'nameptr := 324 | namesleft #1 - 'namesleft := 325 | } 326 | while$ 327 | } 328 | 329 | FUNCTION {format.key} 330 | { empty$ 331 | { key field.or.null } 332 | { "" } 333 | if$ 334 | } 335 | 336 | FUNCTION {format.authors} 337 | { author empty$ 338 | { "" } 339 | { author format.names } 340 | if$ 341 | } 342 | 343 | FUNCTION {format.editors} 344 | { editor empty$ 345 | { "" } 346 | { editor format.names 347 | } 348 | if$ 349 | } 350 | 351 | FUNCTION {format.translators} 352 | { translator empty$ 353 | { "" } 354 | { translator format.names 355 | is.in.chinese 356 | { ",译" * } 357 | 'skip$ 358 | if$ 359 | } 360 | if$ 361 | } 362 | 363 | FUNCTION {format.isbn} 364 | { isbn empty$ 365 | { "" } 366 | { new.block "ISBN " isbn * } 367 | if$ 368 | } 369 | 370 | FUNCTION {format.issn} 371 | { issn empty$ 372 | { "" } 373 | { new.block "ISSN " issn * } 374 | if$ 375 | } 376 | 377 | FUNCTION {format.url} 378 | { url empty$ 379 | { "" } 380 | { new.block "\url{" url * "}" * } 381 | if$ 382 | } 383 | 384 | FUNCTION {format.doi} 385 | { doi empty$ 386 | { "" } 387 | { new.block "\doi{" doi * "}" * } 388 | if$ 389 | } 390 | 391 | FUNCTION {format.title} 392 | { title empty$ 393 | { "" } 394 | { title "t" change.case$ } 395 | if$ 396 | } 397 | 398 | FUNCTION {format.mark} 399 | { mark empty$ 400 | 'skip$ 401 | { pop$ mark } 402 | if$ 403 | "[" swap$ * 404 | media empty$ 405 | { url empty$ 406 | 'skip$ 407 | { "/OL" * } 408 | if$ 409 | } 410 | { "/" * media * } 411 | if$ 412 | "]" * 413 | } 414 | 415 | FUNCTION {format.full.names} 416 | {'s := 417 | #1 'nameptr := 418 | s num.names$ 'numnames := 419 | numnames 'namesleft := 420 | { namesleft #0 > } 421 | { s nameptr 422 | "{vv~}{ll}" format.name$ 't := 423 | nameptr #1 > 424 | { 425 | namesleft #1 > 426 | { ", " * t * } 427 | { 428 | numnames #2 > 429 | { "," * } 430 | 'skip$ 431 | if$ 432 | t "others" = 433 | { " et~al." * } 434 | { " and " * t * } 435 | if$ 436 | } 437 | if$ 438 | } 439 | 't 440 | if$ 441 | nameptr #1 + 'nameptr := 442 | namesleft #1 - 'namesleft := 443 | } 444 | while$ 445 | } 446 | 447 | FUNCTION {author.editor.full} 448 | { author empty$ 449 | { editor empty$ 450 | { "" } 451 | { editor format.full.names } 452 | if$ 453 | } 454 | { author format.full.names } 455 | if$ 456 | } 457 | 458 | FUNCTION {author.full} 459 | { author empty$ 460 | { "" } 461 | { author format.full.names } 462 | if$ 463 | } 464 | 465 | FUNCTION {editor.full} 466 | { editor empty$ 467 | { "" } 468 | { editor format.full.names } 469 | if$ 470 | } 471 | 472 | FUNCTION {make.full.names} 473 | { type$ "book" = 474 | type$ "inbook" = 475 | or 476 | 'author.editor.full 477 | { type$ "proceedings" = 478 | 'editor.full 479 | 'author.full 480 | if$ 481 | } 482 | if$ 483 | } 484 | 485 | FUNCTION {output.bibitem} 486 | { newline$ 487 | "\bibitem[" write$ 488 | label write$ 489 | ")" make.full.names duplicate$ short.list = 490 | { pop$ } 491 | { * } 492 | if$ 493 | "]{" * write$ 494 | cite$ write$ 495 | "}" write$ 496 | newline$ 497 | "" 498 | before.all 'output.state := 499 | } 500 | 501 | 502 | FUNCTION {n.dashify} 503 | { 't := 504 | "" 505 | { t empty$ not } 506 | { t #1 #1 substring$ "-" = 507 | { t #1 #2 substring$ "--" = not 508 | { "--" * 509 | t #2 global.max$ substring$ 't := 510 | } 511 | { { t #1 #1 substring$ "-" = } 512 | { "-" * 513 | t #2 global.max$ substring$ 't := 514 | } 515 | while$ 516 | } 517 | if$ 518 | } 519 | { t #1 #1 substring$ * 520 | t #2 global.max$ substring$ 't := 521 | } 522 | if$ 523 | } 524 | while$ 525 | } 526 | 527 | FUNCTION {format.date} 528 | { year duplicate$ empty$ 529 | { "empty year in " cite$ * warning$ 530 | pop$ "" } 531 | 'skip$ 532 | if$ 533 | month empty$ 534 | 'skip$ 535 | { month 536 | " " * swap$ * 537 | } 538 | if$ 539 | extra.label * 540 | } 541 | 542 | FUNCTION {format.editdate} 543 | { editdate empty$ 544 | { "" } 545 | { "(" citedate * ")" * } 546 | if$ 547 | } 548 | 549 | FUNCTION {format.citedate} 550 | { citedate empty$ 551 | { "" } 552 | { "[" citedate * "]" * } 553 | if$ 554 | } 555 | 556 | FUNCTION {format.btitle} 557 | { title emphasize 558 | } 559 | 560 | FUNCTION {tie.or.space.connect} 561 | { duplicate$ text.length$ #3 < 562 | { "~" } 563 | { " " } 564 | if$ 565 | swap$ * * 566 | } 567 | 568 | FUNCTION {either.or.check} 569 | { empty$ 570 | 'pop$ 571 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 572 | if$ 573 | } 574 | 575 | FUNCTION {is.digit} 576 | { duplicate$ empty$ 577 | { pop$ #0 } 578 | { chr.to.int$ 579 | duplicate$ "0" chr.to.int$ < 580 | { pop$ #0 } 581 | { "9" chr.to.int$ > 582 | { #0 } 583 | { #1 } 584 | if$ 585 | } 586 | if$ 587 | } 588 | if$ 589 | } 590 | 591 | INTEGERS { charptr stringlength } 592 | 593 | FUNCTION {is.number} 594 | { 's := 595 | s empty$ 596 | { #0 } 597 | { s text.length$ 'charptr := 598 | { charptr #0 > 599 | s charptr #1 substring$ is.digit 600 | and 601 | } 602 | { charptr #1 - 'charptr := } 603 | while$ 604 | charptr not 605 | } 606 | if$ 607 | } 608 | 609 | FUNCTION {format.bvolume} 610 | { volume empty$ 611 | { "" } 612 | { volume is.number 613 | { is.in.chinese 614 | { "第" volume * "卷" * } 615 | { "volume" volume tie.or.space.connect } 616 | if$ 617 | } 618 | { volume } 619 | if$ 620 | } 621 | if$ 622 | } 623 | 624 | FUNCTION {format.number} 625 | { number empty$ 626 | { "" } 627 | { number is.number 628 | { is.in.chinese 629 | { "第" volume * "册" * } 630 | { "number" number tie.or.space.connect } 631 | if$ 632 | } 633 | { number } 634 | if$ 635 | } 636 | if$ 637 | } 638 | 639 | FUNCTION {format.number.series} 640 | { volume empty$ 641 | { number empty$ 642 | { series field.or.null } 643 | { output.state mid.sentence = 644 | { "number" } 645 | { "Number" } 646 | if$ 647 | number tie.or.space.connect 648 | series empty$ 649 | { "there's a number but no series in " cite$ * warning$ } 650 | { " in " * series * } 651 | if$ 652 | } 653 | if$ 654 | } 655 | { "" } 656 | if$ 657 | } 658 | 659 | FUNCTION {format.series.volume.title} 660 | { series empty$ 661 | { title 662 | volume empty$ 663 | 'skip$ 664 | { ": " * format.bvolume * } 665 | if$ 666 | } 667 | { series 668 | volume empty$ 669 | { number empty$ 670 | 'skip$ 671 | { ": " * format.number * } 672 | if$ } 673 | { volume empty$ 674 | 'skip$ 675 | { ": " * format.bvolume * } 676 | if$ 677 | } 678 | if$ 679 | "\hspace{1em}" * title * 680 | } 681 | if$ 682 | } 683 | 684 | FUNCTION {num.to.ordinal} 685 | { duplicate$ text.length$ 'charptr := 686 | duplicate$ charptr #1 substring$ 's := 687 | s "1" = 688 | { "st" * } 689 | { s "2" = 690 | { "nd" * } 691 | { s "3" = 692 | { "rd" * } 693 | { "th" * } 694 | if$ 695 | } 696 | if$ 697 | } 698 | if$ 699 | } 700 | 701 | FUNCTION {format.edition} 702 | { edition empty$ 703 | { "" } 704 | { edition is.number 705 | { is.in.chinese 706 | { edition "版" * } 707 | { edition num.to.ordinal " ed." * } 708 | if$ 709 | } 710 | { edition "t" change.case$ 711 | edition "Revised" = 712 | { "Rev. ed." } 713 | { edition "Revised edition" = 714 | { "Rev. ed." } 715 | 'skip$ 716 | if$ 717 | } 718 | if$ 719 | } 720 | if$ 721 | } 722 | if$ 723 | } 724 | 725 | FUNCTION {format.address} 726 | { address empty$ 727 | { url empty$ 728 | { is.in.chinese 729 | { "[出版地不详]" } 730 | { "[S.l.]" } 731 | if$ 732 | } 733 | { "" } 734 | if$ 735 | } 736 | { address } 737 | if$ 738 | } 739 | 740 | FUNCTION {format.publisher} 741 | { publisher empty$ 742 | { url empty$ 743 | { is.in.chinese 744 | { "[出版者不详]" } 745 | { "[s.n.]" } 746 | if$ 747 | } 748 | { "" } 749 | if$ 750 | } 751 | { publisher } 752 | if$ 753 | } 754 | 755 | INTEGERS { multiresult } 756 | 757 | FUNCTION {multi.page.check} 758 | { 't := 759 | #0 'multiresult := 760 | { multiresult not 761 | t empty$ not 762 | and 763 | } 764 | { t #1 #1 substring$ 765 | duplicate$ "-" = 766 | swap$ duplicate$ "," = 767 | swap$ "+" = 768 | or or 769 | { #1 'multiresult := } 770 | { t #2 global.max$ substring$ 't := } 771 | if$ 772 | } 773 | while$ 774 | multiresult 775 | } 776 | 777 | FUNCTION {format.pages} 778 | { pages empty$ 779 | { "" } 780 | { pages } 781 | if$ 782 | } 783 | 784 | FUNCTION {format.eid} 785 | { eid empty$ 786 | { "" } 787 | { "art." eid tie.or.space.connect } 788 | if$ 789 | } 790 | 791 | 792 | FUNCTION {format.year.vol.num} 793 | { format.date field.or.null 794 | volume empty$ 795 | 'skip$ 796 | { ", " volume * * } 797 | if$ 798 | number empty$ 799 | 'skip$ 800 | { " (" number * ")" * * } 801 | if$ 802 | } 803 | 804 | FUNCTION {format.chapter.pages} 805 | { chapter empty$ 806 | 'format.pages 807 | { type empty$ 808 | { "chapter" } 809 | { type "l" change.case$ } 810 | if$ 811 | chapter tie.or.space.connect 812 | pages empty$ 813 | 'skip$ 814 | { ", " * format.pages * } 815 | if$ 816 | } 817 | if$ 818 | } 819 | 820 | FUNCTION {format.in.ed.booktitle} 821 | { booktitle empty$ 822 | { "" } 823 | { editor empty$ 824 | { "In " booktitle emphasize * } 825 | { "In " format.editors * ", " * booktitle emphasize * } 826 | if$ 827 | } 828 | if$ 829 | } 830 | 831 | FUNCTION {empty.misc.check} 832 | { author empty$ title empty$ howpublished empty$ 833 | month empty$ year empty$ note empty$ 834 | and and and and and 835 | key empty$ not and 836 | { "all relevant fields are empty in " cite$ * warning$ } 837 | 'skip$ 838 | if$ 839 | } 840 | 841 | FUNCTION {format.thesis.type} 842 | { type empty$ 843 | 'skip$ 844 | { pop$ 845 | type "t" change.case$ 846 | } 847 | if$ 848 | } 849 | 850 | FUNCTION {format.tr.number} 851 | { type empty$ 852 | { "Technical Report" } 853 | 'type 854 | if$ 855 | number empty$ 856 | { "t" change.case$ } 857 | { number tie.or.space.connect } 858 | if$ 859 | } 860 | 861 | FUNCTION {format.article.crossref} 862 | { key empty$ 863 | { journal empty$ 864 | { "need key or journal for " cite$ * " to crossref " * crossref * 865 | warning$ 866 | "" 867 | } 868 | { "In \emph{" journal * "}" * } 869 | if$ 870 | } 871 | { "In " } 872 | if$ 873 | " \citet{" * crossref * "}" * 874 | } 875 | 876 | FUNCTION {format.book.crossref} 877 | { volume empty$ 878 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 879 | "In " 880 | } 881 | { "Volume" volume tie.or.space.connect 882 | " of " * 883 | } 884 | if$ 885 | editor empty$ 886 | editor field.or.null author field.or.null = 887 | or 888 | { key empty$ 889 | { series empty$ 890 | { "need editor, key, or series for " cite$ * " to crossref " * 891 | crossref * warning$ 892 | "" * 893 | } 894 | { "\emph{" * series * "}" * } 895 | if$ 896 | } 897 | 'skip$ 898 | if$ 899 | } 900 | 'skip$ 901 | if$ 902 | " \citet{" * crossref * "}" * 903 | } 904 | 905 | FUNCTION {format.incoll.inproc.crossref} 906 | { editor empty$ 907 | editor field.or.null author field.or.null = 908 | or 909 | { key empty$ 910 | { booktitle empty$ 911 | { "need editor, key, or booktitle for " cite$ * " to crossref " * 912 | crossref * warning$ 913 | "" 914 | } 915 | { "In \emph{" booktitle * "}" * } 916 | if$ 917 | } 918 | { "In " } 919 | if$ 920 | } 921 | { "In " } 922 | if$ 923 | " \citet{" * crossref * "}" * 924 | } 925 | 926 | FUNCTION {archive} 927 | { output.bibitem 928 | format.authors output 929 | author format.key output 930 | new.block 931 | format.series.volume.title "title" output.check 932 | "A" format.mark "" output.after 933 | new.block 934 | format.translators output 935 | new.block 936 | format.edition output 937 | new.sentence 938 | format.address output 939 | format.publisher punct.colon output.after 940 | format.date "year" output.check 941 | format.pages punct.colon output.after 942 | format.citedate "" output.after 943 | format.url output 944 | format.doi output 945 | fin.entry 946 | } 947 | 948 | FUNCTION {article} 949 | { output.bibitem 950 | format.authors "author" output.check 951 | author format.key output 952 | new.block 953 | format.title "title" output.check 954 | journal empty$ 955 | { "M" format.mark "" output.after 956 | new.block 957 | format.translators output 958 | new.slash 959 | format.editors output 960 | new.block 961 | booktitle "booktitle" output.check 962 | new.block 963 | format.bvolume punct.colon output.after 964 | new.block 965 | format.edition output 966 | new.block 967 | format.address output 968 | format.publisher punct.colon output.after 969 | format.date "year" output.check 970 | format.pages punct.colon output.after 971 | } 972 | { "J" format.mark "" output.after 973 | new.block 974 | journal "journal" output.check 975 | new.block 976 | format.year.vol.num output 977 | format.pages punct.colon output.after 978 | } 979 | if$ 980 | format.citedate "" output.after 981 | format.url output 982 | format.doi output 983 | fin.entry 984 | } 985 | 986 | FUNCTION {book} 987 | { output.bibitem 988 | author empty$ 989 | { format.editors "author and editor" output.check 990 | editor format.key output 991 | } 992 | { format.authors output.nonnull 993 | crossref missing$ 994 | { "author and editor" editor either.or.check } 995 | 'skip$ 996 | if$ 997 | } 998 | if$ 999 | new.block 1000 | format.series.volume.title "title" output.check 1001 | "M" format.mark "" output.after 1002 | new.block 1003 | format.translators output 1004 | new.block 1005 | format.edition output 1006 | new.sentence 1007 | format.address output 1008 | format.publisher punct.colon output.after 1009 | format.date "year" output.check 1010 | format.pages punct.colon output.after 1011 | format.citedate "" output.after 1012 | format.url output 1013 | format.doi output 1014 | fin.entry 1015 | } 1016 | 1017 | FUNCTION {collection} 1018 | { output.bibitem 1019 | author empty$ 1020 | { format.editors "author and editor" output.check 1021 | editor format.key output 1022 | } 1023 | { format.authors output.nonnull 1024 | crossref missing$ 1025 | { "author and editor" editor either.or.check } 1026 | 'skip$ 1027 | if$ 1028 | } 1029 | if$ 1030 | new.block 1031 | format.series.volume.title "title" output.check 1032 | "G" format.mark "" output.after 1033 | new.block 1034 | format.translators output 1035 | new.block 1036 | format.edition output 1037 | new.sentence 1038 | format.address output 1039 | format.publisher punct.colon output.after 1040 | format.date "year" output.check 1041 | format.pages punct.colon output.after 1042 | format.citedate "" output.after 1043 | format.url output 1044 | format.doi output 1045 | fin.entry 1046 | } 1047 | 1048 | FUNCTION {database} 1049 | { output.bibitem 1050 | format.authors output 1051 | author format.key output 1052 | new.block 1053 | format.series.volume.title "title" output.check 1054 | "DB" format.mark "" output.after 1055 | new.block 1056 | format.date "year" output.check 1057 | format.editdate "" output.after 1058 | format.citedate "" output.after 1059 | format.url output 1060 | format.doi output 1061 | fin.entry 1062 | } 1063 | 1064 | FUNCTION {dataset} 1065 | { output.bibitem 1066 | format.authors output 1067 | author format.key output 1068 | new.block 1069 | format.series.volume.title "title" output.check 1070 | "DS" format.mark "" output.after 1071 | new.block 1072 | format.translators output 1073 | new.block 1074 | format.edition output 1075 | new.sentence 1076 | format.address output 1077 | format.publisher punct.colon output.after 1078 | format.date "year" output.check 1079 | format.pages punct.colon output.after 1080 | format.editdate "" output.after 1081 | format.citedate "" output.after 1082 | format.url output 1083 | format.doi output 1084 | fin.entry 1085 | } 1086 | 1087 | FUNCTION {inbook} { book } 1088 | 1089 | FUNCTION {incollection} { book } 1090 | 1091 | FUNCTION {inproceedings} 1092 | { output.bibitem 1093 | format.authors "author" output.check 1094 | author format.key output 1095 | new.block 1096 | format.title "title" output.check 1097 | "C" format.mark "" output.after 1098 | new.block 1099 | format.translators output 1100 | new.slash 1101 | editor empty$ 1102 | { organization } 1103 | { format.editors } 1104 | if$ output 1105 | booktitle "booktitle" output.check 1106 | new.block 1107 | format.bvolume punct.colon output.after 1108 | new.block 1109 | format.edition output 1110 | new.sentence 1111 | format.address output 1112 | publisher empty$ 1113 | { organization } 1114 | { format.publisher } 1115 | if$ punct.colon output.after 1116 | format.date "year" output.check 1117 | format.pages punct.colon output.after 1118 | format.citedate "" output.after 1119 | format.url output 1120 | format.doi output 1121 | fin.entry 1122 | } 1123 | 1124 | FUNCTION {conference} { inproceedings } 1125 | 1126 | FUNCTION {manual} 1127 | { output.bibitem 1128 | format.authors output 1129 | author format.key output 1130 | new.block 1131 | format.series.volume.title "title" output.check 1132 | organization address new.block.checkb 1133 | organization output 1134 | format.address output 1135 | format.edition output 1136 | format.date output 1137 | format.url output 1138 | new.block 1139 | note output 1140 | fin.entry 1141 | } 1142 | 1143 | FUNCTION {map} 1144 | { output.bibitem 1145 | format.authors output 1146 | author format.key output 1147 | new.block 1148 | format.series.volume.title "title" output.check 1149 | "CM" format.mark "" output.after 1150 | new.block 1151 | format.translators output 1152 | new.block 1153 | format.edition output 1154 | new.sentence 1155 | format.address output 1156 | format.publisher punct.colon output.after 1157 | format.date "year" output.check 1158 | format.pages punct.colon output.after 1159 | format.citedate "" output.after 1160 | format.url output 1161 | format.doi output 1162 | fin.entry 1163 | } 1164 | 1165 | FUNCTION {mastersthesis} 1166 | { output.bibitem 1167 | format.authors output 1168 | author format.key output 1169 | new.block 1170 | format.series.volume.title "title" output.check 1171 | "D" format.mark "" output.after 1172 | new.block 1173 | format.translators output 1174 | new.block 1175 | format.edition output 1176 | new.sentence 1177 | format.address output 1178 | school empty$ 1179 | { format.publisher } 1180 | { school } 1181 | if$ punct.colon output.after 1182 | format.date "year" output.check 1183 | format.pages punct.colon output.after 1184 | format.citedate "" output.after 1185 | format.url output 1186 | format.doi output 1187 | fin.entry 1188 | } 1189 | 1190 | FUNCTION {misc} 1191 | { output.bibitem 1192 | format.authors output 1193 | author format.key output 1194 | new.block 1195 | format.series.volume.title "title" output.check 1196 | "M" format.mark "" output.after 1197 | new.block 1198 | format.translators output 1199 | new.block 1200 | format.edition output 1201 | new.sentence 1202 | format.address output 1203 | format.publisher punct.colon output.after 1204 | format.date "year" output.check 1205 | format.pages punct.colon output.after 1206 | format.citedate "" output.after 1207 | format.url output 1208 | format.doi output 1209 | fin.entry 1210 | } 1211 | 1212 | FUNCTION {newspaper} 1213 | { output.bibitem 1214 | format.authors "author" output.check 1215 | author format.key output 1216 | new.block 1217 | format.title "title" output.check 1218 | "N" format.mark "" output.after 1219 | new.block 1220 | journal "journal" output.check 1221 | new.block 1222 | format.year.vol.num output 1223 | format.pages punct.colon output.after 1224 | format.citedate "" output.after 1225 | format.url output 1226 | format.doi output 1227 | fin.entry 1228 | } 1229 | 1230 | FUNCTION {patent} 1231 | { output.bibitem 1232 | format.authors output 1233 | author format.key output 1234 | new.block 1235 | format.title "title" output.check 1236 | "P" format.mark "" output.after 1237 | new.block 1238 | format.date "year" output.check 1239 | format.citedate "" output.after 1240 | format.url output 1241 | format.doi output 1242 | fin.entry 1243 | } 1244 | 1245 | FUNCTION {phdthesis} { mastersthesis } 1246 | 1247 | FUNCTION {proceedings} 1248 | { output.bibitem 1249 | format.editors output 1250 | editor format.key output 1251 | new.block 1252 | format.series.volume.title "title" output.check 1253 | "C" format.mark "" output.after 1254 | new.block 1255 | format.translators output 1256 | new.block 1257 | format.edition output 1258 | new.sentence 1259 | format.address output 1260 | publisher empty$ 1261 | { organization } 1262 | { format.publisher } 1263 | if$ punct.colon output.after 1264 | format.date "year" output.check 1265 | format.pages punct.colon output.after 1266 | format.citedate "" output.after 1267 | format.url output 1268 | format.doi output 1269 | fin.entry 1270 | } 1271 | 1272 | FUNCTION {program} 1273 | { output.bibitem 1274 | format.authors output 1275 | author format.key output 1276 | new.block 1277 | format.series.volume.title "title" output.check 1278 | "CP" format.mark "" output.after 1279 | new.block 1280 | format.date "year" output.check 1281 | format.editdate "" output.after 1282 | format.citedate "" output.after 1283 | format.url output 1284 | format.doi output 1285 | fin.entry 1286 | } 1287 | 1288 | FUNCTION {standard} 1289 | { output.bibitem 1290 | format.authors output 1291 | author format.key output 1292 | new.block 1293 | format.series.volume.title "title" output.check 1294 | "S" format.mark "" output.after 1295 | new.block 1296 | format.translators output 1297 | new.block 1298 | format.edition output 1299 | new.sentence 1300 | format.address output 1301 | format.publisher punct.colon output.after 1302 | format.date "year" output.check 1303 | format.pages punct.colon output.after 1304 | format.citedate "" output.after 1305 | format.url output 1306 | format.doi output 1307 | fin.entry 1308 | } 1309 | 1310 | FUNCTION {techreport} 1311 | { output.bibitem 1312 | author empty$ 1313 | { institution output 1314 | institution format.key output 1315 | } 1316 | { format.authors output 1317 | author format.key output 1318 | } 1319 | if$ 1320 | new.block 1321 | format.series.volume.title "title" output.check 1322 | "R" format.mark "" output.after 1323 | new.block 1324 | format.translators output 1325 | new.block 1326 | format.edition output 1327 | new.sentence 1328 | format.address output 1329 | format.publisher punct.colon output.after 1330 | format.date "year" output.check 1331 | format.pages punct.colon output.after 1332 | format.editdate "" output.after 1333 | format.citedate "" output.after 1334 | format.url output 1335 | format.doi output 1336 | fin.entry 1337 | } 1338 | 1339 | FUNCTION {unpublished} 1340 | { output.bibitem 1341 | format.authors "author" output.check 1342 | author format.key output 1343 | new.block 1344 | format.title "title" output.check 1345 | new.block 1346 | note "note" output.check 1347 | format.date output 1348 | format.url output 1349 | fin.entry 1350 | } 1351 | 1352 | FUNCTION {default.type} { misc } 1353 | 1354 | MACRO {jan} {"January"} 1355 | 1356 | MACRO {feb} {"February"} 1357 | 1358 | MACRO {mar} {"March"} 1359 | 1360 | MACRO {apr} {"April"} 1361 | 1362 | MACRO {may} {"May"} 1363 | 1364 | MACRO {jun} {"June"} 1365 | 1366 | MACRO {jul} {"July"} 1367 | 1368 | MACRO {aug} {"August"} 1369 | 1370 | MACRO {sep} {"September"} 1371 | 1372 | MACRO {oct} {"October"} 1373 | 1374 | MACRO {nov} {"November"} 1375 | 1376 | MACRO {dec} {"December"} 1377 | 1378 | MACRO {acmcs} {"ACM Computing Surveys"} 1379 | 1380 | MACRO {acta} {"Acta Informatica"} 1381 | 1382 | MACRO {cacm} {"Communications of the ACM"} 1383 | 1384 | MACRO {ibmjrd} {"IBM Journal of Research and Development"} 1385 | 1386 | MACRO {ibmsj} {"IBM Systems Journal"} 1387 | 1388 | MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 1389 | 1390 | MACRO {ieeetc} {"IEEE Transactions on Computers"} 1391 | 1392 | MACRO {ieeetcad} 1393 | {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 1394 | 1395 | MACRO {ipl} {"Information Processing Letters"} 1396 | 1397 | MACRO {jacm} {"Journal of the ACM"} 1398 | 1399 | MACRO {jcss} {"Journal of Computer and System Sciences"} 1400 | 1401 | MACRO {scp} {"Science of Computer Programming"} 1402 | 1403 | MACRO {sicomp} {"SIAM Journal on Computing"} 1404 | 1405 | MACRO {tocs} {"ACM Transactions on Computer Systems"} 1406 | 1407 | MACRO {tods} {"ACM Transactions on Database Systems"} 1408 | 1409 | MACRO {tog} {"ACM Transactions on Graphics"} 1410 | 1411 | MACRO {toms} {"ACM Transactions on Mathematical Software"} 1412 | 1413 | MACRO {toois} {"ACM Transactions on Office Information Systems"} 1414 | 1415 | MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 1416 | 1417 | MACRO {tcs} {"Theoretical Computer Science"} 1418 | 1419 | READ 1420 | 1421 | EXECUTE {init.state.consts} 1422 | 1423 | INTEGERS { ascii } 1424 | 1425 | FUNCTION {char.lang} 1426 | { chr.to.int$ 'ascii := 1427 | ascii #31 > ascii #128 < and 1428 | { lang.en } 1429 | { ascii #227 > ascii #234 < and 1430 | { lang.zh } 1431 | { ascii #227 = 1432 | { lang.ja } 1433 | { lang.default } 1434 | if$ 1435 | } 1436 | if$ 1437 | } 1438 | if$ 1439 | } 1440 | 1441 | FUNCTION {set.language} 1442 | { language empty$ 1443 | { lang.default 'lang := 1444 | author field.or.null title field.or.null * 's := 1445 | s empty$ 1446 | 'skip$ 1447 | { #1 'charptr := 1448 | s text.length$ #1 + 'stringlength := 1449 | { charptr stringlength < } 1450 | { s charptr #1 substring$ char.lang 1451 | duplicate$ #3 > 1452 | { charptr #2 + 'charptr := } 1453 | 'skip$ 1454 | if$ 1455 | duplicate$ lang > 1456 | { 'lang := } 1457 | 'pop$ 1458 | if$ 1459 | charptr #1 + 'charptr := 1460 | } 1461 | while$ 1462 | } 1463 | if$ 1464 | } 1465 | { language "en" = 1466 | { lang.en } 1467 | { language "zh" = 1468 | { lang.zh } 1469 | { language "ja" = 1470 | { lang.ja } 1471 | { lang.default } 1472 | if$ 1473 | } 1474 | if$ 1475 | } 1476 | if$ 1477 | 'lang := 1478 | } 1479 | if$ 1480 | } 1481 | 1482 | FUNCTION {sortify} 1483 | { purify$ 1484 | "l" change.case$ 1485 | } 1486 | 1487 | INTEGERS { len } 1488 | 1489 | FUNCTION {chop.word} 1490 | { 's := 1491 | 'len := 1492 | s #1 len substring$ = 1493 | { s len #1 + global.max$ substring$ } 1494 | 's 1495 | if$ 1496 | } 1497 | 1498 | FUNCTION {format.lab.names} 1499 | { 's := 1500 | s #1 "{vv~}{ll}" format.name$ 1501 | s num.names$ #1 > 1502 | { "~" * format.et.al * } 1503 | 'skip$ 1504 | if$ 1505 | } 1506 | 1507 | FUNCTION {author.key.label} 1508 | { author empty$ 1509 | { key empty$ 1510 | { cite$ #1 #3 substring$ } 1511 | 'key 1512 | if$ 1513 | } 1514 | { author format.lab.names } 1515 | if$ 1516 | } 1517 | 1518 | FUNCTION {author.editor.key.label} 1519 | { author empty$ 1520 | { editor empty$ 1521 | { key empty$ 1522 | { cite$ #1 #3 substring$ } 1523 | 'key 1524 | if$ 1525 | } 1526 | { editor format.lab.names } 1527 | if$ 1528 | } 1529 | { author format.lab.names } 1530 | if$ 1531 | } 1532 | 1533 | FUNCTION {author.key.organization.label} 1534 | { author empty$ 1535 | { key empty$ 1536 | { organization empty$ 1537 | { cite$ #1 #3 substring$ } 1538 | { "The " #4 organization chop.word #3 text.prefix$ } 1539 | if$ 1540 | } 1541 | 'key 1542 | if$ 1543 | } 1544 | { author format.lab.names } 1545 | if$ 1546 | } 1547 | 1548 | FUNCTION {editor.key.organization.label} 1549 | { editor empty$ 1550 | { key empty$ 1551 | { organization empty$ 1552 | { cite$ #1 #3 substring$ } 1553 | { "The " #4 organization chop.word #3 text.prefix$ } 1554 | if$ 1555 | } 1556 | 'key 1557 | if$ 1558 | } 1559 | { editor format.lab.names } 1560 | if$ 1561 | } 1562 | 1563 | FUNCTION {calc.short.authors} 1564 | { type$ "book" = 1565 | type$ "inbook" = 1566 | or 1567 | 'author.editor.key.label 1568 | { type$ "proceedings" = 1569 | 'editor.key.organization.label 1570 | { type$ "manual" = 1571 | 'author.key.organization.label 1572 | 'author.key.label 1573 | if$ 1574 | } 1575 | if$ 1576 | } 1577 | if$ 1578 | 'short.list := 1579 | } 1580 | 1581 | FUNCTION {calc.label} 1582 | { calc.short.authors 1583 | short.list 1584 | "(" 1585 | * 1586 | year duplicate$ empty$ 1587 | short.list key field.or.null = or 1588 | { pop$ "" } 1589 | 'skip$ 1590 | if$ 1591 | * 1592 | 'label := 1593 | } 1594 | 1595 | INTEGERS { seq.num } 1596 | 1597 | FUNCTION {init.seq} 1598 | { #0 'seq.num :=} 1599 | 1600 | EXECUTE {init.seq} 1601 | 1602 | FUNCTION {int.to.fix} 1603 | { "000000000" swap$ int.to.str$ * 1604 | #-1 #10 substring$ 1605 | } 1606 | 1607 | FUNCTION {presort} 1608 | { set.language 1609 | calc.label 1610 | label sortify 1611 | " " 1612 | * 1613 | seq.num #1 + 'seq.num := 1614 | seq.num int.to.fix 1615 | 'sort.label := 1616 | sort.label * 1617 | #1 entry.max$ substring$ 1618 | 'sort.key$ := 1619 | } 1620 | 1621 | ITERATE {presort} 1622 | 1623 | SORT 1624 | 1625 | STRINGS { longest.label last.label next.extra } 1626 | 1627 | INTEGERS { longest.label.width last.extra.num number.label } 1628 | 1629 | FUNCTION {initialize.longest.label} 1630 | { "" 'longest.label := 1631 | #0 int.to.chr$ 'last.label := 1632 | "" 'next.extra := 1633 | #0 'longest.label.width := 1634 | #0 'last.extra.num := 1635 | #0 'number.label := 1636 | } 1637 | 1638 | FUNCTION {forward.pass} 1639 | { last.label label = 1640 | { last.extra.num #1 + 'last.extra.num := 1641 | last.extra.num int.to.chr$ 'extra.label := 1642 | } 1643 | { "a" chr.to.int$ 'last.extra.num := 1644 | "" 'extra.label := 1645 | label 'last.label := 1646 | } 1647 | if$ 1648 | number.label #1 + 'number.label := 1649 | } 1650 | 1651 | FUNCTION {reverse.pass} 1652 | { next.extra "b" = 1653 | { "a" 'extra.label := } 1654 | 'skip$ 1655 | if$ 1656 | extra.label 'next.extra := 1657 | extra.label 1658 | duplicate$ empty$ 1659 | 'skip$ 1660 | { "{\natexlab{" swap$ * "}}" * } 1661 | if$ 1662 | 'extra.label := 1663 | label extra.label * 'label := 1664 | } 1665 | 1666 | EXECUTE {initialize.longest.label} 1667 | 1668 | ITERATE {forward.pass} 1669 | 1670 | REVERSE {reverse.pass} 1671 | 1672 | FUNCTION {bib.sort.order} 1673 | { sort.label 'sort.key$ := 1674 | } 1675 | 1676 | ITERATE {bib.sort.order} 1677 | 1678 | SORT 1679 | 1680 | FUNCTION {begin.bib} 1681 | { preamble$ empty$ 1682 | 'skip$ 1683 | { preamble$ write$ newline$ } 1684 | if$ 1685 | "\begin{thebibliography}{" number.label int.to.str$ * "}" * 1686 | write$ newline$ 1687 | "\providecommand{\natexlab}[1]{#1}" 1688 | write$ newline$ 1689 | "\providecommand{\url}[1]{\texttt{#1}}" 1690 | write$ newline$ 1691 | "\expandafter\ifx\csname urlstyle\endcsname\relax" 1692 | write$ newline$ 1693 | " \providecommand{\doi}[1]{DOI: #1}\else" 1694 | write$ newline$ 1695 | " \providecommand{\doi}{DOI: \begingroup \urlstyle{rm}\Url}\fi" 1696 | write$ newline$ 1697 | } 1698 | 1699 | EXECUTE {begin.bib} 1700 | 1701 | ITERATE {call.type$} 1702 | 1703 | FUNCTION {end.bib} 1704 | { newline$ 1705 | "\end{thebibliography}" write$ newline$ 1706 | } 1707 | 1708 | EXECUTE {end.bib} -------------------------------------------------------------------------------- /ref/test.bib: -------------------------------------------------------------------------------- 1 | @book{knuth1986texbook, 2 | title={The texbook}, 3 | author={Knuth, Donald Ervin and Bibby, Duane}, 4 | volume={1993}, 5 | year={1986}, 6 | publisher={Addison-Wesley Reading, Mass.} 7 | } 8 | @book{patashnik1988designing, 9 | title={Designing BIBTEX styles}, 10 | author={Patashnik, Oren}, 11 | year={1988}, 12 | publisher={February} 13 | } 14 | @book{lamport1985i1, 15 | title={I1 (\LaTeX)---A Document}, 16 | author={Lamport, Leslie}, 17 | volume={410}, 18 | year={1985}, 19 | publisher={pub-AW} 20 | } 21 | @manual{patashnik2010designing, 22 | title={Designing BIBTEX styles. btxhak. pdf}, 23 | author={Patashnik, O}, 24 | year={2010} 25 | } 26 | @article{陈浩元2005著录文后参考文献的规则及注意事项, 27 | title={著录文后参考文献的规则及注意事项}, 28 | author={陈浩元}, 29 | journal={编辑学报}, 30 | volume={17}, 31 | number={6}, 32 | pages={413--415}, 33 | year={2005} 34 | } 35 | @article{Oetiker2011The, 36 | title={The Not So Short Introduction to LATEX2ε Or L ATEX 2ε in 139 minutes}, 37 | author={Oetiker, Tobias and Partl, Hubert and Hyna, Irene and Schlegl, Elisabeth and Oetiker, Tobias and Partl, Hubert and Hyna, Irene and Schlegl, Elisabeth}, 38 | journal={Myweb.wit.edu}, 39 | year={2011}, 40 | } 41 | @article{Goossens1993The, 42 | title={The LaTeX Companion}, 43 | author={Goossens, Michel}, 44 | journal={Annual Acm Symposium on Principles of Distributed Computing}, 45 | volume={66}, 46 | number={3}, 47 | pages={985–986}, 48 | year={1993}, 49 | } 50 | @article{Reckdahl1997Using, 51 | title={Using Imported Graphics in LATEX2e}, 52 | author={Reckdahl, Keith}, 53 | journal={World Wide Web Site Version}, 54 | year={1997}, 55 | } -------------------------------------------------------------------------------- /ructhesis.cls: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `ructhesis.cls', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% ructhesis.dtx (with options: `cls') 8 | %% Copyright (C) 2014--2016 Zebin Wang 9 | %% -------------------------------------------------------------------------- 10 | %% 11 | %% This work may be distributed and/or modified under the 12 | %% conditions of the LaTeX Project Public License, either 13 | %% version 1.3c of this license or (at your option) any later 14 | %% version. This version of this license is in 15 | %% http://www.latex-project.org/lppl/lppl-1-3c.txt 16 | %% and the latest version of this license is in 17 | %% http://www.latex-project.org/lppl.txt 18 | %% and version 1.3 or later is part of all distributions of 19 | %% LaTeX version 2005/12/01 or later. 20 | %% 21 | %% This work has the LPPL maintenance status `maintained'. 22 | %% 23 | %% The Current Maintainers of this work is Zebin Wang. 24 | %% 25 | %% This work consists of the files RUCThesis.dtx and RUCThesis.ins 26 | %% and the derived file RUCThesis.cls. 27 | %% 28 | %% -------------------------------------------------------------------------- 29 | \NeedsTeXFormat{LaTeX2e} 30 | \ProvidesClass{ructhesis}[2015/12/01 v1.0.0] 31 | \newif\ifruc@bachelor 32 | \newif\ifruc@master 33 | \newif\ifruc@doctor 34 | \newif\ifruc@promaster 35 | \newif\ifruc@shuji 36 | \DeclareOption{bachelor}{\ruc@bachelortrue} 37 | \DeclareOption{master}{\ruc@mastertrue} 38 | \DeclareOption{promaster}{\ruc@promastertrue} 39 | \DeclareOption{doctor}{\ruc@doctortrue} 40 | \DeclareOption{shuji}{\ruc@shujitrue} 41 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} 42 | \ProcessOptions\relax 43 | \ifruc@doctor\LoadClass[UTF8,zihao=-4,twoside,openright,fancyhdr]{ctexbook} 44 | \else\LoadClass[UTF8,zihao=-4,oneside,openany,fancyhdr]{ctexbook}\fi 45 | \def\thesiscode#1{\gdef\@thesiscode{#1}} 46 | \def\sign#1{\gdef\@sign{#1}} 47 | \def\esign#1{\gdef\@esign{#1}} 48 | \def\title#1{\gdef\@title{#1}} 49 | \def\subtitle#1{\gdef\@subtitle{#1}} 50 | \def\author#1{\gdef\@author{#1}} 51 | \def\school#1{\gdef\@school{#1}} 52 | \def\field#1{\gdef\@field{#1}} 53 | \def\grade#1{\gdef\@grade{#1}} 54 | \def\studentid#1{\gdef\@studentid{#1}} 55 | \def\advisor#1{\gdef\@advisor{#1}} 56 | \def\score#1{\gdef\@score{#1}} 57 | \def\date#1{\gdef\@date{#1}} 58 | \def\keywords#1{\gdef\@keywords{#1}} 59 | \def\etitle#1{\gdef\@etitle{#1}} 60 | \def\covertitle#1{\gdef\@covertitle{#1}} 61 | \def\keywordzh#1{\gdef\@keywordzh{#1}} 62 | \def\keyworden#1{\gdef\@keyworden{#1}} 63 | \def\doctorsign{博士学位论文} 64 | \def\doctoresign{DOCTORAL DISSERTATION} 65 | \def\mastersign{硕士学位论文} 66 | \def\masteresign{THESIS OF MASTER DEGREE} 67 | \def\promastersign{专业硕士学位论文} 68 | \def\promasteresign{THESIS OF PROFESSION MASTER DEGREE} 69 | \def\bachelorsign{本科毕业论文} 70 | \def\bacheloresign{THESIS OF BACHELOR DEGREE} 71 | \def\cabstractpagesign{摘要} 72 | \def\eabstractpagesign{Abstract} 73 | \def\acknowledgesign{致谢} 74 | \newcommand{\RUCThesis}{{\tt R\kern-.107em\lower.5ex\hbox{U}\kern-.1em CThesis}} 75 | \ifruc@bachelor 76 | \RequirePackage[top=25mm,left=25mm,bottom=25mm,right=20mm,footskip=10mm]{geometry} 77 | \setlength{\topskip}{10mm} 78 | \else 79 | \RequirePackage[top=45mm,left=35mm,bottom=40mm,right=30mm,headsep=20mm]{geometry} 80 | \fi 81 | \RequirePackage{hyperref} 82 | \AtBeginDocument{ 83 | \hypersetup{ 84 | pdftitle={\@title}, 85 | pdfauthor={\@author}, 86 | pdfsubject={中国人民大学学位论文}} 87 | } 88 | \setmainfont{TimesNewRomanPSMT} 89 | \setsansfont{ArialMT} 90 | \setmonofont{CourierNewPSMT} 91 | \xeCJKsetup{AutoFakeSlant={true}} 92 | \setCJKmainfont{SimSun} 93 | \setCJKsansfont{SimHei} 94 | \setCJKmonofont{FangSong} 95 | \newcommand{\rowspace}{% 96 | \setlength{\lineskiplimit}{2.625bp} 97 | \setlength{\lineskip}{2.625bp} 98 | \ifruc@bachelor 99 | \linespread{1.25}\selectfont 100 | \else 101 | \linespread{1.35}\selectfont 102 | \fi 103 | } 104 | \let\ruc@cleardoublepage\cleardoublepage 105 | \newcommand{\ruc@clearemptydoublepage}{% 106 | \clearpage{\pagestyle{empty}\ruc@cleardoublepage}} 107 | \let\cleardoublepage\ruc@clearemptydoublepage 108 | \pagestyle{fancy} 109 | \fancyhf{} 110 | \lhead{} 111 | \rhead{} 112 | \ifruc@bachelor 113 | \chead{\includegraphics[width=4.13cm,height=0.8452cm]{figures/logo.pdf}} 114 | \fancyfoot[CO,CE]{ 第 \thepage 页} 115 | \else 116 | \chead{\zihao{5}\@title} 117 | \if@twoside 118 | \fancyfoot[RO,LE]{\thepage} 119 | \else 120 | \fancyfoot[RO,RE]{\thepage} 121 | \fi 122 | \fi 123 | \fancypagestyle{headings}{ 124 | \fancyhf{} 125 | \lhead{} 126 | \rhead{} 127 | \ifruc@bachelor 128 | \chead{\includegraphics[width=4.13cm,height=0.8452cm]{figures/logo.pdf}} 129 | \fancyfoot[CO,CE]{\thepage} 130 | \else 131 | \chead{}\renewcommand*{\headrulewidth}{0bp} 132 | \if@twoside 133 | \fancyfoot[RO,LE]{\thepage} 134 | \else 135 | \fancyfoot[RO,RE]{\thepage} 136 | \fi 137 | \fi} 138 | \fancypagestyle{myheadings}{ 139 | \fancyhf{} 140 | \lhead{} 141 | \rhead{} 142 | \chead{\includegraphics[width=4.13cm,height=0.8452cm]{figures/logo.pdf}} 143 | \fancyfoot[LO,LE]{} 144 | \fancyfoot[RO,RE]{} 145 | \fancyfoot[CO,CE]{}} 146 | \fancypagestyle{plain}{ 147 | \fancyhf{} 148 | \lhead{} 149 | \rhead{} 150 | \ifruc@bachelor 151 | \chead{}\renewcommand*{\headrulewidth}{0pt} 152 | \fancyfoot[CO,CE]{ 第 \thepage 页} 153 | \else 154 | \chead{} 155 | \renewcommand*{\headrulewidth}{0pt} 156 | \if@twoside 157 | \fancyfoot[RO,LE]{\thepage} 158 | \else 159 | \fancyfoot[RO,RE]{\thepage} 160 | \fi 161 | \fi} 162 | \RequirePackage{graphicx} 163 | \newif\if@subtitle 164 | \ifruc@bachelor 165 | \renewcommand{\maketitle}{ 166 | \newgeometry{top=25mm,left=25mm,bottom=40mm,right=20mm,footskip=0mm,a4paper} 167 | \setlength{\topskip}{5mm} 168 | \thispagestyle{myheadings} 169 | \linespread{1.5}\selectfont 170 | {\hfill\zihao{-4}\sf\@thesiscode 171 | \begin{center}\zihao{1}\rule[0mm]{0mm}{25mm}\@sign\par\vspace{15mm} 172 | \@title\par 173 | \zihao{2}\@subtitletrue\par\vskip\stretch{1}\zihao{3} 174 | 作\qquad 者:\underline{\makebox[90mm]\@author}\hfill\par 175 | 学\qquad 院:\underline{\makebox[90mm]\@school}\hfill\par 176 | 专\qquad 业:\underline{\makebox[90mm]\@field}\hfill\par 177 | 年\qquad 级:\underline{\makebox[90mm]\@grade}\hfill\par 178 | 学\qquad 号:\underline{\makebox[90mm]\@studentid}\hfill\par 179 | 指导教师:\underline{\makebox[90mm]\@advisor}\hfill\par 180 | 论文成绩:\underline{\makebox[90mm]\@score}\hfill\par 181 | 日\qquad 期:\underline{\makebox[90mm]\@date}\hfill 182 | \end{center}} 183 | \restoregeometry 184 | \rowspace%本科全文行距 185 | } 186 | \else 187 | \renewcommand{\maketitle}{ 188 | \pagestyle{empty} 189 | \begin{center} 190 | \includegraphics[width=7.6cm,height=1.474cm]{figures/clogo.pdf}\\ 191 | \sf\zihao{1}\ziju{0.4}\@sign\par 192 | \tt\zihao{3} 193 | \vspace{25mm}\ziju{0}\linespread{1.5}\selectfont 194 | (中文题目)\underline{\parbox[b]{110mm}\@title}\hfill\par\vspace{3mm} 195 | (英文题目)\underline{\parbox[b]{110mm}\@etitle}\hfill\par 196 | \vfill\ziju{0.65} 197 | 作者学号:\underline{\makebox[80mm]\@studentid}\hfill\par 198 | 作者姓名:\underline{\makebox[80mm]\@author}\hfill\par 199 | 所在学院:\underline{\makebox[80mm]{\ziju{0.2}\@school}}\hfill\par 200 | 专业名称:\underline{\parbox[b]{80mm}{\centering\ziju{0}\@field}}\hfill\par\ziju{0.65} 201 | 导师姓名:\underline{\makebox[80mm]\@advisor}\hfill\par\ % 202 | \ziju{0.25} 203 | 论文主题词:\underline{\parbox[b]{80mm}{\vspace*{1pt}\centering\ziju{0}\@keywords}} 204 | \hfill\par\ziju{0} 205 | 论文提交日期:\underline{\makebox[80mm]\@date}\hfill 206 | \end{center} 207 | \rowspace%研究生全文行距 208 | \clearpage 209 | \if@twoside 210 | \thispagestyle{empty} 211 | \vspace*{\stretch{1}} 212 | {\zihao{5} 213 | \definecolor{light-gray}{gray}{0.86} 214 | \noindent 215 | \textcolor{light-gray}{ 216 | Typeset by \LaTeXe{}\\ 217 | With package \tt{\RUCThesis}\\ 218 | }} 219 | \cleardoublepage 220 | \fi 221 | } 222 | \fi 223 | \newenvironment{abstractzh} 224 | {\clearpage\chapter*{\cabstractpagesign}\vspace*{-5mm} 225 | \pagenumbering{Roman}\zihao{-4}\rm} 226 | {\par\vspace*{7mm}\noindent\sf\zihao{-4}关键词: 227 | \rm\zihao{-4}\@keywordzh 228 | \thispagestyle{headings}} 229 | \newenvironment{abstracten} 230 | {\clearpage 231 | \ifruc@bachelor\linespread{2}\selectfont 232 | \chapter*{\bf{\eabstractpagesign}}\vspace*{-5mm} 233 | \else\chapter*{\sf{\eabstractpagesign}}\vspace*{-5mm}\fi 234 | \zihao{-4}\rm} 235 | {\par\vspace*{7mm}\noindent 236 | \zihao{-4}\textbf{Key Words : } 237 | \rm\zihao{-4}\@keyworden 238 | \thispagestyle{headings}\rowspace} 239 | \newenvironment{acknowledge} 240 | {\chapter*{\acknowledgesign}\vspace*{-5mm} 241 | \addcontentsline{toc}{chapter}{\acknowledgesign}\zihao{-4}\rm} 242 | {\thispagestyle{plain}} 243 | \newcommand{\authorization}[1] 244 | {\ifruc@doctor\cleardoublepage\else\clearpage\fi 245 | \newgeometry{top=0mm,left=0mm,bottom=0mm,right=0mm, 246 | text={\paperwidth,\paperheight},marginparwidth=0mm}\hspace{-9mm} 247 | \thispagestyle{empty} 248 | \includegraphics[width=\paperwidth-1mm ,totalheight=\paperheight-1mm]{#1} 249 | \restoregeometry} 250 | \newcommand{\originality}{ 251 | \chapter*{\zihao{-2}\heiti 独创性声明} 252 | {\tt\zihao{-4}本人郑重声明:所呈交的论文是我个人在导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得中国人民大学或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。\par} 253 | \vskip 10mm\hfill 254 | 论文作者:\rule[-1ex]{30mm}{0.25pt}\qquad 255 | 日\qquad 期:\rule[-1ex]{30mm}{0.25pt}\par 256 | \vfil\centerline{\heiti\zihao{-2}关于论文使用授权的说明} 257 | \vskip 13mm 258 | {\tt 本人完全了解中国人民大学有关保留、使用学位论文的规定,即:学校有保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。\par 259 | \vskip 10mm\hfill 260 | 论文作者:\rule[-1ex]{30mm}{0.25pt}\qquad 261 | 日\qquad 期:\rule[-1ex]{30mm}{0.25pt}\par 262 | \hfill \rule[0mm]{0mm}{8mm} 263 | 指导老师:\rule[-1ex]{30mm}{0.25pt}\qquad 264 | 日\qquad 期:\rule[-1ex]{30mm}{0.25pt}\par} 265 | \thispagestyle{empty} 266 | } 267 | \setcounter{secnumdepth}{4} 268 | \ifruc@bachelor 269 | \ctexset{ 270 | chapter = { 271 | name = {,}, 272 | number = \arabic{chapter} 273 | }, 274 | section = { 275 | number = \thechapter.\arabic{section} 276 | }, 277 | subsection = { 278 | number = \thesection.\arabic{subsection} 279 | }, 280 | subsubsection = { 281 | number = \thesubsection.\arabic{subsubsection} 282 | }, 283 | chapter/format =\vspace{-15mm}\centering, 284 | chapter/numberformat = \bf\zihao{3}, 285 | chapter/titleformat = \sf\zihao{3}, 286 | chapter/nameformat = \sf\zihao{3}, 287 | section/format = , 288 | section/numberformat = \bf\zihao{4}, 289 | section/titleformat = \sf\zihao{4}, 290 | subsection/format = , 291 | subsection/numberformat = \bf\zihao{-4}, 292 | subsection/titleformat = \sf\zihao{-4}, 293 | subsubsection/format = , 294 | subsubsection/numberformat = \bf\zihao{5}, 295 | subsubsection/titleformat =\sf \zihao{5} 296 | } 297 | \else 298 | \ctexset{ 299 | chapter = { 300 | name = {第,章}, 301 | number = \arabic{chapter} 302 | }, 303 | chapter/format =\centering, 304 | chapter/numberformat = \bf\zihao{-2}, 305 | chapter/nameformat = \sf\zihao{-2}, 306 | chapter/titleformat = \sf\zihao{-2}, 307 | section/format = , 308 | section/titleformat =\sf\zihao{-3}, 309 | section/numberformat = \bf\zihao{-3}, 310 | subsection/format = , 311 | subsection/numberformat = \bf\zihao{-4}, 312 | subsection/titleformat = \sf\zihao{-4}, 313 | subsubsection/format = , 314 | subsubsection/titleformat = \sf\zihao{5}, 315 | subsubsection/numberformat = \bf\zihao{5} 316 | } 317 | \fi 318 | \RequirePackage{titletoc} 319 | \titlecontents{chapter}[0pt]{\sf\zihao{4}\addvspace{2pt}\filright} 320 | {\contentspush{\thecontentslabel\ }} 321 | {}{\titlerule*[10pt]{.}{\bf\contentspage}} 322 | \titlecontents{section}[2em]{\rm\zihao{-4}\addvspace{2pt}\filright} 323 | {\contentspush{\thecontentslabel\ }} 324 | {}{\titlerule*[10pt]{.}\contentspage} 325 | \titlecontents{subsection}[4em]{\rm\zihao{-4}\addvspace{2pt}\filright} 326 | {\contentspush{\thecontentslabel\ }} 327 | {}{\titlerule*[10pt]{.}\contentspage} 328 | \titlecontents{figure}[10pt]{\rm\zihao{-4}\addvspace{2pt}} 329 | {图~\thecontentslabel\, } 330 | {}{\titlerule*[10pt]{.}\contentspage} 331 | \titlecontents{table}[10pt]{ \rm\zihao{-4}\addvspace{2pt}} 332 | {表~\thecontentslabel\, } 333 | {}{\titlerule*[10pt]{.}\contentspage} 334 | \RequirePackage{ifxetex} 335 | \RequirePackage{ifthen,calc} 336 | \def\ruc@textcircled#1{% 337 | \ifnum \value{#1} <10 \textcircled{\zihao{-6}\arabic{#1}} 338 | \else\ifnum \value{#1} <100 \textcircled{\zihao{7}\arabic{#1}}\fi 339 | \fi} 340 | \ifruc@bachelor 341 | \renewcommand{\thefootnote}{\ruc@textcircled{footnote}} 342 | \renewcommand{\thempfootnote}{\ruc@textcircled{mpfootnote}} 343 | \def\footnoterule{\vskip-3\p@\hrule\@width0.3\textwidth\@height0.4\p@\vskip2.6\p@} 344 | \let\ruc@footnotesize\footnotesize 345 | \renewcommand\footnotesize{\ruc@footnotesize\zihao{-5}} 346 | \def\@makefnmark{\textsuperscript{\hbox{\normalfont\@thefnmark}}} 347 | \long\def\@makefntext#1{ 348 | \bgroup 349 | \newbox\ruc@tempboxa 350 | \setbox\ruc@tempboxa\hbox{% 351 | \hb@xt@ 1.5em{\@thefnmark\hss}} 352 | \leftmargin\wd\ruc@tempboxa 353 | \rightmargin\z@ 354 | \linewidth \columnwidth 355 | \advance \linewidth -\leftmargin 356 | \parshape \@ne \leftmargin \linewidth 357 | \footnotesize 358 | \@setpar{{\@@par}}% 359 | \leavevmode 360 | \llap{\box\ruc@tempboxa}% 361 | #1 362 | \par\egroup}\else\fi 363 | \ifruc@bachelor 364 | \newcommand{\autograph}{ % 365 | {\noindent\zihao{4}\sf\rule[0mm]{0mm}{15mm}作者签名: 366 | \rule[-1ex]{30mm}{0.25pt}}} 367 | \else\fi 368 | \RequirePackage{lscape} 369 | \RequirePackage{multicol} 370 | \RequirePackage{color} 371 | \RequirePackage[dvipsnames,prologue,table]{pstricks} 372 | \definecolor{rucblue}{rgb}{0.129,0.482,0.663} 373 | \definecolor{rucorange}{rgb}{0.976,0.769,0.325} 374 | \definecolor{rucred}{rgb}{0.569,0.129,0.2} 375 | \definecolor{rucgreen}{rgb}{0.333,0.608,0.627} 376 | \definecolor{rucwhite}{rgb}{0.999,0.999,0.999} 377 | \definecolor{rucbalck}{rgb}{0,0,0} 378 | \setCJKfamilyfont{X}{FZXBSJW--GB1-0} 379 | \newcommand{\X}{\CJKfamily{X}} 380 | \newcommand{\cover}{ 381 | \newgeometry{top=0mm,left=20mm,bottom=0mm,right=0mm,voffset=10mm,columnsep=5.5cm} 382 | \ifruc@doctor 383 | \pagecolor{rucorange} 384 | \else 385 | \ifruc@master 386 | \pagecolor{rucblue} 387 | \else 388 | \ifruc@promaster 389 | \pagecolor{rucgreen} 390 | \else 391 | \pagecolor{rucred} 392 | \fi 393 | \fi 394 | \fi 395 | \begin{landscape} 396 | \begin{multicols}{2} 397 | \rule[0mm]{22mm}{0mm} 398 | \ifruc@doctor 399 | \includegraphics[width=5.7cm,height=1.14cm]{figures/logo.pdf}\\ 400 | \else 401 | \ifruc@promaster 402 | \includegraphics[width=6.3cm,height=1.26cm]{figures/logoW.pdf}\\ 403 | \else 404 | \includegraphics[width=5.7cm,height=1.14cm]{figures/logoW.pdf}\\ 405 | \fi\fi 406 | {\X 407 | \ifruc@doctor 408 | \color{rucred} 409 | \else\color{rucwhite} 410 | \fi\zihao{2}\rule[10mm]{30mm}{0mm} 411 | \ifruc@doctor 412 | \makebox[5.7cm][s]{\doctorsign}\\ 413 | \zihao{-4}\rule[6mm]{32mm}{0mm}\makebox[5.7cm][s]{\doctoresign} 414 | \else 415 | \ifruc@master 416 | \makebox[5.7cm][s]{\mastersign}\\ 417 | \zihao{-4}\rule[6mm]{32mm}{0mm}\makebox[5.7cm][s]{\masteresign} 418 | \else 419 | \ifruc@promaster 420 | \makebox[6.3cm][s]{\promastersign}\\ 421 | \zihao{-5}\rule[6mm]{32mm}{0mm}\makebox[6.3cm][s]{\promasteresign} 422 | \else 423 | \makebox[5.7cm][s]{\bachelorsign}\\ 424 | \zihao{5}\rule[0mm]{32mm}{0mm}\makebox[5.7cm][s]{\bacheloresign} 425 | \fi\fi\fi} 426 | \vfill 427 | \begin{center} 428 | \rule[0mm]{0mm}{30mm}\\ 429 | \ifruc@doctor 430 | \includegraphics[width=2cm,height=2cm]{figures/logo2.pdf}\vspace{2mm}\\ 431 | \includegraphics[width=5.7cm,height=1.5048cm]{figures/logo3.pdf}\\ 432 | \else 433 | \includegraphics[width=2cm,height=2cm]{figures/logoW2.pdf}\vspace{2mm}\\ 434 | \includegraphics[width=5.7cm,height=1.5048cm]{figures/logoW3.pdf}\\ 435 | \fi 436 | {\X 437 | \ifruc@doctor 438 | \color{rucred} 439 | \else 440 | \color{rucwhite} 441 | \fi 442 | \zihao{0}\ziju{0.3} 443 | \ifruc@doctor\doctorsign 444 | \else 445 | \ifruc@master\mastersign 446 | \else 447 | \ifruc@promaster\ziju{0.1}\promastersign 448 | \else\bachelorsign 449 | \fi\fi\fi\par\zihao{-4}\rule[0mm]{0mm}{10mm} 450 | \ifruc@doctor\doctoresign 451 | \else 452 | \ifruc@master\masteresign 453 | \else 454 | \ifruc@promaster\promasteresign 455 | \else\bacheloresign 456 | \fi\fi\fi\par}\sf\zihao{-3} 457 | \vspace{40mm}\ziju{0}\linespread{1.5}\rule[0mm]{0mm}{30mm} 458 | \ifruc@doctor\color{rucbalck}\else\color{rucwhite}\fi 459 | 论文题目:\underline{\parbox[b]{100mm}\@title}\hfill\par \rule[0mm]{0mm}{10mm} 460 | 英\qquad 文:\underline{\parbox[b]{100mm}\@etitle}\hfill\par 461 | \vspace{20mm}\ 462 | 作\qquad 者:\underline{\makebox[100mm]\@author}\hfill\par\rule[0mm]{0mm}{10mm} 463 | 指导教师:\underline{\makebox[100mm]\@advisor}\hfill\par 464 | \vspace{18mm}\@date 465 | \end{center} 466 | \end{multicols} 467 | \thispagestyle{empty} 468 | \ifruc@shuji 469 | \ifruc@doctor\color{rucbalck}\else\color{rucwhite}\fi 470 | \uput[u]{0}(0.5\paperheight,15){{\sf\zihao{3}\shortstack[c]{\@covertitle}}} 471 | \uput[u]{0}(0.5\paperheight,3){{\sf\zihao{3}\shortstack[c]{中\\国\\人\\民\\大\\学}}} 472 | \else\fi 473 | \end{landscape} 474 | \restoregeometry 475 | } 476 | \RequirePackage{natbib}%参考文献 477 | \RequirePackage{caption2} 478 | \captionstyle{normal} 479 | \renewcommand{\captionfont}{\zihao{5}\rm} 480 | \renewcommand{\captionlabelfont}{\zihao{5}\bf} 481 | \renewcommand{\captionlabeldelim}{\,\,} 482 | \RequirePackage{booktabs}%三线表 483 | \RequirePackage{colortbl}%表格颜色 484 | \RequirePackage{diagbox}%表头制作 485 | \RequirePackage{longtable}%长表格 486 | \let\ruc@LT@array\LT@array 487 | \def\LT@array{\zihao{5}\rm\ruc@LT@array} 488 | \let\old@tabular\@tabular 489 | \def\ruc@tabular{\old@tabular\zihao{5}} 490 | \RequirePackage{multirow}%跨行宏包 491 | \setlength{\abovecaptionskip}{6pt} 492 | \setlength{\belowcaptionskip}{6pt} 493 | \RequirePackage{wrapfig}%图文混排,段落首字下沉 494 | \RequirePackage{subfigure}%子图 495 | \RequirePackage{tikz}%绘图 496 | \RequirePackage{amsmath,amsfonts}% 497 | \RequirePackage{latexsym,bm}% 498 | \RequirePackage{extarrows}% 499 | \RequirePackage{pifont}% 500 | \endinput 501 | \endinput 502 | %% 503 | %% End of file `ructhesis.cls'. 504 | -------------------------------------------------------------------------------- /ructhesis.dtx: -------------------------------------------------------------------------------- 1 | %\iffalse meta-comment 2 | % Copyright (C) 2003--2015 Zebin Wang 3 | % -------------------------------------------------------------------------- 4 | % 5 | % This work may be distributed and/or modified under the 6 | % conditions of the LaTeX Project Public License, either 7 | % version 1.3c of this license or (at your option) any later 8 | % version. This version of this license is in 9 | % http://www.latex-project.org/lppl/lppl-1-3c.txt 10 | % and the latest version of this license is in 11 | % http://www.latex-project.org/lppl.txt 12 | % and version 1.3 or later is part of all distributions of 13 | % LaTeX version 2005/12/01 or later. 14 | % 15 | % This work has the LPPL maintenance status `maintained'. 16 | % 17 | % The Current Maintainers of this work is Zebin Wang. 18 | % 19 | % This work consists of the files RUCThesis.dtx and RUCThesis.ins 20 | % and the derived file RUCThesis.cls. 21 | % 22 | % -------------------------------------------------------------------------- 23 | %\fi 24 | %\iffalse 25 | %<*driver> 26 | \ProvidesFile{ructhesis.dtx}[2015/12/23 V.1.0.0] 27 | \documentclass[10pt]{ltxdoc} 28 | \usepackage[UTF8]{ctex} 29 | \usepackage{tikz} 30 | \usepackage{listings} 31 | \usepackage{xcolor} 32 | \usepackage{hyperref} 33 | \usetikzlibrary{trees} 34 | \EnableCrossrefs 35 | \CodelineIndex 36 | \RecordChanges 37 | \begin{document} 38 | \DocInput{\jobname.dtx} 39 | \end{document} 40 | % 41 | %\fi 42 | % 43 | % \DoNotIndex{\begin,\end,\begingroup,\endgroup} 44 | % \DoNotIndex{\ifx,\ifdim,\ifnum,\ifcase,\else,\or,\fi} 45 | % \DoNotIndex{\let,\def,\xdef,\newcommand,\renewcommand} 46 | % \DoNotIndex{\expandafter,\csname,\endcsname,\relax,\protect} 47 | % \DoNotIndex{\Huge,\huge,\LARGE,\Large,\large,\normalsize} 48 | % \DoNotIndex{\small,\footnotesize,\scriptsize,\tiny} 49 | % \DoNotIndex{\normalfont,\bfseries,\slshape,\interlinepenalty} 50 | % \DoNotIndex{\hfil,\par,\hskip,\vskip,\vspace,\quad} 51 | % \DoNotIndex{\centering,\raggedright} 52 | % \DoNotIndex{\c@secnumdepth,\@startsection,\@setfontsize} 53 | % \DoNotIndex{\ ,\@plus,\@minus,\p@,\z@,\@m,\@M,\@ne,\m@ne} 54 | % \DoNotIndex{\@@par,\DeclareOperation,\RequirePackage,\LoadClass} 55 | % \DoNotIndex{\AtBeginDocument,\AtEndDocument,\\,\,} 56 | % 57 | % \IndexPrologue{\section*{索引}% 58 | % \addcontentsline{toc}{section}{索~~~~引}} 59 | % \GlossaryPrologue{\section*{修改记录}% 60 | % \addcontentsline{toc}{section}{修改记录}} 61 | % \title{中国人民大学\LaTeX\ 论文模板} 62 | % \author{王泽斌\\ {\tt me@zebinwang.com}} 63 | % \date{2015.12.23} 64 | % \maketitle 65 | % \begin{abstract}\noindent 66 | % RUCThesis文档类旨在建立符合中国人民大学《本科论文指导手册》和《研究生学位论 文及其摘要的撰写和印制要求》的 \LaTeX\ 学位论文模板。 67 | % \end{abstract} 68 | % \vskip2cm 69 | % \def\abstractname{免责声明} 70 | % \begin{abstract} 71 | % \noindent 72 | % \begin{enumerate} 73 | % \item 本模板的发布遵守 \LaTeX{} Project Public License,使用前请认真阅读协议内 74 | % 容。 75 | % \item 任何个人或组织以本模板为基础进行的使用、修改、拓展而产生的一切后果自行承担。 76 | % \end{enumerate} 77 | % \end{abstract} 78 | % \clearpage 79 | % \begin{multicols}{2}[ 80 | % \setlength{\columnseprule}{.4pt} 81 | % \setlength{\columnsep}{18pt}] 82 | % \tableofcontents 83 | % \end{multicols} 84 | % \clearpage 85 | % \section{安装} 86 | % \subsection{下载} 87 | % 目前RUCThesis提供如下两种下载方式: 88 | % \href{https://github.com/ZebinWang/ructhesis}{GitHub}、\href{}{CTAN} 89 | % \subsection{文件组成} 90 | %下图为本模板的文件结构。其中\tt chap\rm 为章节目录,\tt figure\rm 为图像文件夹其中名称中有logo字样的为模板必要的图像,\tt ref\rm 为参考文献文件夹。其余所有文件都已标注在图中。 91 | % \begin{figure}[htbp] 92 | % \centering 93 | % \tikzstyle{every node}=[anchor=west] 94 | % \begin{tikzpicture}[% 95 | % grow via three points={one child at (0.5,-0.5) and 96 | % two children at (0.5,-0.5) and (0.5,-1.0)}, 97 | % edge from parent path={(\tikzparentnode.south) |- (\tikzchildnode.west)}] 98 | % \node {RUCThesis} 99 | % child { node {chap} 100 | % child { node {chapter1.tex\quad \% 章节文件}} 101 | % child { node {...}} 102 | % child { node {appendix\_{}1.tex\quad \% 附录}}} 103 | % child [missing] {} 104 | % child [missing] {} 105 | % child [missing] {} 106 | % child { node {cover.tex\quad \% 封面文件}} 107 | % child { node {figures} 108 | % child { node {logo.pdf\quad \% 图像}} 109 | % child { node {...}}} 110 | % child [missing] {} 111 | % child [missing] {} 112 | % child { node {format} 113 | % child { node {acknowledge.tex\quad \% 致谢}} 114 | % child { node {authorization.tex\quad \% 授权书影印件}} 115 | % child { node {cabstractpage.tex\quad \% 中文摘要}} 116 | % child { node {eabstractpage.tex\quad \% 英文摘要}} 117 | % child { node {Originality.tex\quad \% 独创性声明}}} 118 | % child [missing] {} 119 | % child [missing] {} 120 | % child [missing] {} 121 | % child [missing] {} 122 | % child [missing] {} 123 | % child { node {main.tex\quad \% 主文件}} 124 | % child { node {ref} 125 | % child { node {ruc.bst\quad \% 参考文献样式}} 126 | % child { node {yourbib.bib\quad \% 参考文献数据库}}} 127 | % child [missing] {} 128 | % child [missing] {} 129 | % child { node {ructhesis.cls\quad \% RUCThesis文档类}} 130 | % child { node {ructhesis.dtx\quad \% RUCThesis源代码}} 131 | % child { node {ructhesis.ins\quad \% RUCThesis安装文件}}; 132 | % \end{tikzpicture} 133 | % \caption{RUCThesis文件目录} 134 | % \end{figure} 135 | % \subsection{生成模板} 136 | % 如果对本模板机理不感兴趣的读者可以略过这里。模板源文件是\tt ructhesis.ins\rm 和\tt ructhesis.dtx\rm 文件,在终端中执行如下代码: 137 | %\\ \tt \$ latex ructhesis.ins 138 | %\\\rm 可以得到ructhesis.cls文件,继续执行如下代码: 139 | %\\ \tt \$ xelatex ructhesis.dtx 140 | %\\ \tt \$ makeindex -s gind.ist -o ructhesis.ind ructhesis.idx 141 | %\\ \tt \$ makeindex -s gglo.ist -o ructhesis.gls ructhesis.glo 142 | %\\ \tt \$ xelatex ructhesis.dtx 143 | %\\ \tt \$ xelatex ructhesis.dtx 144 | %\\\rm 可以得到本文档,这里不再赘述。 145 | %\subsection{使用模板} 146 | %如果你的模板文件中已经有\tt ructhesis.cls\rm 文件可以直接略过上一步。 147 | %\StopEventually{\PrintChanges\PrintIndex} 148 | % \section{程序代码} 149 | % \subsection{文档类及选项定义} 150 | % \begin{macrocode} 151 | %<*cls> 152 | \NeedsTeXFormat{LaTeX2e} 153 | \ProvidesClass{ructhesis}[2015/12/01 v1.0.0] 154 | \newif\ifruc@bachelor 155 | \newif\ifruc@master 156 | \newif\ifruc@doctor 157 | \newif\ifruc@promaster 158 | \newif\ifruc@shuji 159 | % \end{macrocode} 160 | % \begin{macro}{bachelor} 161 | % \begin{macro}{master} 162 | % \begin{macro}{promaster} 163 | % \begin{macro}{doctor} 本科、硕士、专业硕士、博士选项 164 | % \begin{macrocode} 165 | \DeclareOption{bachelor}{\ruc@bachelortrue} 166 | \DeclareOption{master}{\ruc@mastertrue} 167 | \DeclareOption{promaster}{\ruc@promastertrue} 168 | \DeclareOption{doctor}{\ruc@doctortrue} 169 | % \end{macrocode} 170 | % \end{macro} 171 | % \end{macro} 172 | % \end{macro} 173 | % \end{macro} 174 | % \begin{macro}{shuji} 这个选项只能在\tt cover.tex\rm 中使用,代表封皮是否打印书脊。 175 | % \begin{macrocode} 176 | \DeclareOption{shuji}{\ruc@shujitrue} 177 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} 178 | \ProcessOptions\relax 179 | \ifruc@doctor\LoadClass[UTF8,zihao=-4,twoside,openright,fancyhdr]{ctexbook} 180 | \else\LoadClass[UTF8,zihao=-4,oneside,openany,fancyhdr]{ctexbook}\fi 181 | % \end{macrocode} 182 | % \end{macro} 183 | % \subsection{宏} 184 | % \begin{macrocode} 185 | \def\thesiscode#1{\gdef\@thesiscode{#1}} 186 | \def\sign#1{\gdef\@sign{#1}} 187 | \def\esign#1{\gdef\@esign{#1}} 188 | \def\title#1{\gdef\@title{#1}} 189 | \def\subtitle#1{\gdef\@subtitle{#1}} 190 | \def\author#1{\gdef\@author{#1}} 191 | \def\school#1{\gdef\@school{#1}} 192 | \def\field#1{\gdef\@field{#1}} 193 | \def\grade#1{\gdef\@grade{#1}} 194 | \def\studentid#1{\gdef\@studentid{#1}} 195 | \def\advisor#1{\gdef\@advisor{#1}} 196 | \def\score#1{\gdef\@score{#1}} 197 | \def\date#1{\gdef\@date{#1}} 198 | \def\keywords#1{\gdef\@keywords{#1}} 199 | \def\etitle#1{\gdef\@etitle{#1}} 200 | \def\covertitle#1{\gdef\@covertitle{#1}} 201 | \def\keywordzh#1{\gdef\@keywordzh{#1}} 202 | \def\keyworden#1{\gdef\@keyworden{#1}} 203 | \def\doctorsign{博士学位论文} 204 | \def\doctoresign{DOCTORAL DISSERTATION} 205 | \def\mastersign{硕士学位论文} 206 | \def\masteresign{THESIS OF MASTER DEGREE} 207 | \def\promastersign{专业硕士学位论文} 208 | \def\promasteresign{THESIS OF PROFESSION MASTER DEGREE} 209 | \def\bachelorsign{本科毕业论文} 210 | \def\bacheloresign{THESIS OF BACHELOR DEGREE} 211 | \def\cabstractpagesign{摘要} 212 | \def\eabstractpagesign{Abstract} 213 | \def\acknowledgesign{致谢} 214 | \newcommand{\RUCThesis}{{\tt R\kern-.107em\lower.5ex\hbox{U}\kern-.1em CThesis}} 215 | % \end{macrocode} 216 | % \subsection{页面布局} 217 | % \begin{macrocode} 218 | \ifruc@bachelor 219 | \RequirePackage[top=25mm,left=25mm,bottom=25mm,right=20mm,footskip=10mm]{geometry} 220 | \setlength{\topskip}{10mm} 221 | \else 222 | \RequirePackage[top=45mm,left=35mm,bottom=40mm,right=30mm,headsep=20mm]{geometry} 223 | \fi 224 | % \end{macrocode} 225 | % \subsection{PDF} 226 | % \begin{macrocode} 227 | \RequirePackage{hyperref} 228 | \AtBeginDocument{ 229 | \hypersetup{ 230 | pdftitle={\@title}, 231 | pdfauthor={\@author}, 232 | pdfsubject={中国人民大学学位论文}} 233 | } 234 | % \end{macrocode} 235 | % \subsection{字体} 236 | % \begin{macrocode} 237 | \setmainfont{TimesNewRomanPSMT} 238 | \setsansfont{ArialMT} 239 | \setmonofont{CourierNewPSMT} 240 | \xeCJKsetup{AutoFakeSlant={true}} 241 | \setCJKmainfont{SimSun} 242 | \setCJKsansfont{SimHei} 243 | \setCJKmonofont{FangSong} 244 | % \end{macrocode} 245 | % \subsection{行距} 246 | % \begin{macro}{\rowspace} 全文行距调整 247 | % \begin{macrocode} 248 | \newcommand{\rowspace}{% 249 | \setlength{\lineskiplimit}{2.625bp} 250 | \setlength{\lineskip}{2.625bp} 251 | \ifruc@bachelor 252 | \linespread{1.25}\selectfont 253 | \else 254 | \linespread{1.35}\selectfont 255 | \fi 256 | } 257 | % \end{macrocode} 258 | % \end{macro} 259 | % \subsection{空白页样式} 260 | % \begin{macro}{\cleardoublepage} 空白页样式设为empty 261 | % \begin{macrocode} 262 | \let\ruc@cleardoublepage\cleardoublepage 263 | \newcommand{\ruc@clearemptydoublepage}{% 264 | \clearpage{\pagestyle{empty}\ruc@cleardoublepage}} 265 | \let\cleardoublepage\ruc@clearemptydoublepage 266 | % \end{macrocode} 267 | % \end{macro} 268 | % \subsection{页眉页脚} 269 | % \noindent 这里之所以定义了这么多,完全是为了处理本科的要求...... 270 | % \begin{macrocode} 271 | \pagestyle{fancy} 272 | \fancyhf{} 273 | \lhead{} 274 | \rhead{} 275 | \ifruc@bachelor 276 | \chead{\includegraphics[width=4.13cm,height=0.8452cm]{figures/logo.pdf}} 277 | \fancyfoot[CO,CE]{ 第 \thepage 页} 278 | \else 279 | \chead{\zihao{5}\@title} 280 | \if@twoside 281 | \fancyfoot[RO,LE]{\thepage} 282 | \else 283 | \fancyfoot[RO,RE]{\thepage} 284 | \fi 285 | \fi 286 | \fancypagestyle{headings}{ 287 | \fancyhf{} 288 | \lhead{} 289 | \rhead{} 290 | \ifruc@bachelor 291 | \chead{\includegraphics[width=4.13cm,height=0.8452cm]{figures/logo.pdf}} 292 | \fancyfoot[CO,CE]{\thepage} 293 | \else 294 | \chead{}\renewcommand*{\headrulewidth}{0bp} 295 | \if@twoside 296 | \fancyfoot[RO,LE]{\thepage} 297 | \else 298 | \fancyfoot[RO,RE]{\thepage} 299 | \fi 300 | \fi} 301 | \fancypagestyle{myheadings}{ 302 | \fancyhf{} 303 | \lhead{} 304 | \rhead{} 305 | \chead{\includegraphics[width=4.13cm,height=0.8452cm]{figures/logo.pdf}} 306 | \fancyfoot[LO,LE]{} 307 | \fancyfoot[RO,RE]{} 308 | \fancyfoot[CO,CE]{}} 309 | \fancypagestyle{plain}{ 310 | \fancyhf{} 311 | \lhead{} 312 | \rhead{} 313 | \ifruc@bachelor 314 | \chead{}\renewcommand*{\headrulewidth}{0pt} 315 | \fancyfoot[CO,CE]{ 第 \thepage 页} 316 | \else 317 | \chead{} 318 | \renewcommand*{\headrulewidth}{0pt} 319 | \if@twoside 320 | \fancyfoot[RO,LE]{\thepage} 321 | \else 322 | \fancyfoot[RO,RE]{\thepage} 323 | \fi 324 | \fi} 325 | % \end{macrocode} 326 | % \subsection{扉页} 327 | % \begin{macro}{\maketitle} 插入扉页 328 | % \begin{macrocode} 329 | \RequirePackage{graphicx} 330 | \newif\if@subtitle 331 | \ifruc@bachelor 332 | \renewcommand{\maketitle}{ 333 | \newgeometry{top=25mm,left=25mm,bottom=40mm,right=20mm,footskip=0mm,a4paper} 334 | \setlength{\topskip}{5mm} 335 | \thispagestyle{myheadings} 336 | \linespread{1.5}\selectfont 337 | {\hfill\zihao{-4}\sf\@thesiscode 338 | \begin{center}\zihao{1}\rule[0mm]{0mm}{25mm}\@sign\par\vspace{15mm} 339 | \@title\par 340 | \zihao{2}\@subtitletrue\par\vskip\stretch{1}\zihao{3} 341 | 作\qquad 者:\underline{\makebox[90mm]\@author}\hfill\par 342 | 学\qquad 院:\underline{\makebox[90mm]\@school}\hfill\par 343 | 专\qquad 业:\underline{\makebox[90mm]\@field}\hfill\par 344 | 年\qquad 级:\underline{\makebox[90mm]\@grade}\hfill\par 345 | 学\qquad 号:\underline{\makebox[90mm]\@studentid}\hfill\par 346 | 指导教师:\underline{\makebox[90mm]\@advisor}\hfill\par 347 | 论文成绩:\underline{\makebox[90mm]\@score}\hfill\par 348 | 日\qquad 期:\underline{\makebox[90mm]\@date}\hfill 349 | \end{center}} 350 | \restoregeometry 351 | \rowspace%本科全文行距 352 | } 353 | \else 354 | \renewcommand{\maketitle}{ 355 | \pagestyle{empty} 356 | \begin{center} 357 | \includegraphics[width=7.6cm,height=1.474cm]{figures/clogo.pdf}\\ 358 | \sf\zihao{1}\ziju{0.4}\@sign\par 359 | \tt\zihao{3} 360 | \vspace{25mm}\ziju{0}\linespread{1.5}\selectfont 361 | (中文题目)\underline{\parbox[b]{110mm}\@title}\hfill\par\vspace{3mm} 362 | (英文题目)\underline{\parbox[b]{110mm}\@etitle}\hfill\par 363 | \vfill\ziju{0.65} 364 | 作者学号:\underline{\makebox[80mm]\@studentid}\hfill\par 365 | 作者姓名:\underline{\makebox[80mm]\@author}\hfill\par 366 | 所在学院:\underline{\makebox[80mm]{\ziju{0.2}\@school}}\hfill\par 367 | 专业名称:\underline{\parbox[b]{80mm}{\centering\ziju{0}\@field}}\hfill\par\ziju{0.65} 368 | 导师姓名:\underline{\makebox[80mm]\@advisor}\hfill\par\ % 369 | \ziju{0.25} 370 | 论文主题词:\underline{\parbox[b]{80mm}{\vspace*{1pt}\centering\ziju{0}\@keywords}} 371 | \hfill\par\ziju{0} 372 | 论文提交日期:\underline{\makebox[80mm]\@date}\hfill 373 | \end{center} 374 | \rowspace%研究生全文行距 375 | \clearpage 376 | \if@twoside 377 | \thispagestyle{empty} 378 | \vspace*{\stretch{1}} 379 | {\zihao{5} 380 | \definecolor{light-gray}{gray}{0.86} 381 | \noindent 382 | \textcolor{light-gray}{ 383 | Typeset by \LaTeXe{}\\ 384 | With package \tt{\RUCThesis}\\ 385 | }} 386 | \cleardoublepage 387 | \fi 388 | } 389 | \fi 390 | % \end{macrocode} 391 | % \end{macro} 392 | % \subsection{中文摘要} 393 | % \begin{macro}{abstractzh} 中文摘要环境 394 | % \begin{macrocode} 395 | \newenvironment{abstractzh} 396 | {\clearpage\chapter*{\cabstractpagesign}\vspace*{-5mm} 397 | \pagenumbering{Roman}\zihao{-4}\rm} 398 | {\par\vspace*{7mm}\noindent\sf\zihao{-4}关键词: 399 | \rm\zihao{-4}\@keywordzh 400 | \thispagestyle{headings}} 401 | % \end{macrocode} 402 | % \end{macro} 403 | % \subsection{英文摘要} 404 | % \begin{macro}{abstracten} 英文摘要环境 405 | % \begin{macrocode} 406 | \newenvironment{abstracten} 407 | {\clearpage 408 | \ifruc@bachelor\linespread{2}\selectfont 409 | \chapter*{\bf{\eabstractpagesign}}\vspace*{-5mm} 410 | \else\chapter*{\sf{\eabstractpagesign}}\vspace*{-5mm}\fi 411 | \zihao{-4}\rm} 412 | {\par\vspace*{7mm}\noindent 413 | \zihao{-4}\textbf{Key Words : } 414 | \rm\zihao{-4}\@keyworden 415 | \thispagestyle{headings}\rowspace} 416 | % \end{macrocode} 417 | % \end{macro} 418 | % \subsection{致谢} 419 | % \begin{macro}{\acknowledge} 致谢环境 420 | % \begin{macrocode} 421 | \newenvironment{acknowledge} 422 | {\chapter*{\acknowledgesign}\vspace*{-5mm} 423 | \addcontentsline{toc}{chapter}{\acknowledgesign}\zihao{-4}\rm} 424 | {\thispagestyle{plain}} 425 | % \end{macrocode} 426 | % \end{macro} 427 | % \subsection{授权} 428 | % \begin{macro}{\authorization} 插入授权影印件 429 | % \begin{macrocode} 430 | \newcommand{\authorization}[1] 431 | {\ifruc@doctor\cleardoublepage\else\clearpage\fi 432 | \newgeometry{top=0mm,left=0mm,bottom=0mm,right=0mm, 433 | text={\paperwidth,\paperheight},marginparwidth=0mm}\hspace{-9mm} 434 | \thispagestyle{empty} 435 | \includegraphics[width=\paperwidth-1mm ,totalheight=\paperheight-1mm]{#1} 436 | \restoregeometry} 437 | % \end{macrocode} 438 | % \end{macro} 439 | % \subsection{独创性声明} 440 | % \begin{macro}{\originality} 插入独创性声明 441 | % \begin{macrocode} 442 | \newcommand{\originality}{ 443 | \chapter*{\zihao{-2}\heiti 独创性声明} 444 | {\tt\zihao{-4}本人郑重声明:所呈交的论文是我个人在导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得中国人民大学或其他教育机构的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。\par} 445 | \vskip 10mm\hfill 446 | 论文作者:\rule[-1ex]{30mm}{0.25pt}\qquad 447 | 日\qquad 期:\rule[-1ex]{30mm}{0.25pt}\par 448 | \vfil\centerline{\heiti\zihao{-2}关于论文使用授权的说明} 449 | \vskip 13mm 450 | {\tt 本人完全了解中国人民大学有关保留、使用学位论文的规定,即:学校有保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。\par 451 | \vskip 10mm\hfill 452 | 论文作者:\rule[-1ex]{30mm}{0.25pt}\qquad 453 | 日\qquad 期:\rule[-1ex]{30mm}{0.25pt}\par 454 | \hfill \rule[0mm]{0mm}{8mm} 455 | 指导老师:\rule[-1ex]{30mm}{0.25pt}\qquad 456 | 日\qquad 期:\rule[-1ex]{30mm}{0.25pt}\par} 457 | \thispagestyle{empty} 458 | } 459 | % \end{macrocode} 460 | % \end{macro} 461 | % \subsection{章节标题} 462 | % \begin{macrocode} 463 | \setcounter{secnumdepth}{4} 464 | \ifruc@bachelor 465 | \ctexset{ 466 | chapter = { 467 | name = {,}, 468 | number = \arabic{chapter} 469 | }, 470 | section = { 471 | number = \thechapter.\arabic{section} 472 | }, 473 | subsection = { 474 | number = \thesection.\arabic{subsection} 475 | }, 476 | subsubsection = { 477 | number = \thesubsection.\arabic{subsubsection} 478 | }, 479 | chapter/format =\vspace{-15mm}\centering, 480 | chapter/numberformat = \bf\zihao{3}, 481 | chapter/titleformat = \sf\zihao{3}, 482 | chapter/nameformat = \sf\zihao{3}, 483 | section/format = , 484 | section/numberformat = \bf\zihao{4}, 485 | section/titleformat = \sf\zihao{4}, 486 | subsection/format = , 487 | subsection/numberformat = \bf\zihao{-4}, 488 | subsection/titleformat = \sf\zihao{-4}, 489 | subsubsection/format = , 490 | subsubsection/numberformat = \bf\zihao{5}, 491 | subsubsection/titleformat =\sf \zihao{5} 492 | } 493 | \else 494 | \ctexset{ 495 | chapter = { 496 | name = {第,章}, 497 | number = \arabic{chapter} 498 | }, 499 | chapter/format =\centering, 500 | chapter/numberformat = \bf\zihao{-2}, 501 | chapter/nameformat = \sf\zihao{-2}, 502 | chapter/titleformat = \sf\zihao{-2}, 503 | section/format = , 504 | section/titleformat =\sf\zihao{-3}, 505 | section/numberformat = \bf\zihao{-3}, 506 | subsection/format = , 507 | subsection/numberformat = \bf\zihao{-4}, 508 | subsection/titleformat = \sf\zihao{-4}, 509 | subsubsection/format = , 510 | subsubsection/titleformat = \sf\zihao{5}, 511 | subsubsection/numberformat = \bf\zihao{5} 512 | } 513 | \fi 514 | % \end{macrocode} 515 | % \subsection{目录样式} 516 | % \begin{macrocode} 517 | \RequirePackage{titletoc} 518 | \titlecontents{chapter}[0pt]{\sf\zihao{4}\addvspace{2pt}\filright} 519 | {\contentspush{\thecontentslabel\ }} 520 | {}{\titlerule*[10pt]{.}{\bf\contentspage}} 521 | \titlecontents{section}[2em]{\rm\zihao{-4}\addvspace{2pt}\filright} 522 | {\contentspush{\thecontentslabel\ }} 523 | {}{\titlerule*[10pt]{.}\contentspage} 524 | \titlecontents{subsection}[4em]{\rm\zihao{-4}\addvspace{2pt}\filright} 525 | {\contentspush{\thecontentslabel\ }} 526 | {}{\titlerule*[10pt]{.}\contentspage} 527 | \titlecontents{figure}[10pt]{\rm\zihao{-4}\addvspace{2pt}} 528 | {图~\thecontentslabel\, } 529 | {}{\titlerule*[10pt]{.}\contentspage} 530 | \titlecontents{table}[10pt]{ \rm\zihao{-4}\addvspace{2pt}} 531 | {表~\thecontentslabel\, } 532 | {}{\titlerule*[10pt]{.}\contentspage} 533 | % \end{macrocode} 534 | % \subsection{本科脚注} 535 | % \begin{macro}{\ruc@textcircled} 本科的圆形脚注... 536 | % \begin{macrocode} 537 | \RequirePackage{ifxetex} 538 | \RequirePackage{ifthen,calc} 539 | \def\ruc@textcircled#1{% 540 | \ifnum \value{#1} <10 \textcircled{\zihao{-6}\arabic{#1}} 541 | \else\ifnum \value{#1} <100 \textcircled{\zihao{7}\arabic{#1}}\fi 542 | \fi} 543 | \ifruc@bachelor 544 | \renewcommand{\thefootnote}{\ruc@textcircled{footnote}} 545 | \renewcommand{\thempfootnote}{\ruc@textcircled{mpfootnote}} 546 | \def\footnoterule{\vskip-3\p@\hrule\@width0.3\textwidth\@height0.4\p@\vskip2.6\p@} 547 | \let\ruc@footnotesize\footnotesize 548 | \renewcommand\footnotesize{\ruc@footnotesize\zihao{-5}} 549 | \def\@makefnmark{\textsuperscript{\hbox{\normalfont\@thefnmark}}} 550 | \long\def\@makefntext#1{ 551 | \bgroup 552 | \newbox\ruc@tempboxa 553 | \setbox\ruc@tempboxa\hbox{% 554 | \hb@xt@ 1.5em{\@thefnmark\hss}} 555 | \leftmargin\wd\ruc@tempboxa 556 | \rightmargin\z@ 557 | \linewidth \columnwidth 558 | \advance \linewidth -\leftmargin 559 | \parshape \@ne \leftmargin \linewidth 560 | \footnotesize 561 | \@setpar{{\@@par}}% 562 | \leavevmode 563 | \llap{\box\ruc@tempboxa}% 564 | #1 565 | \par\egroup}\else\fi 566 | % \end{macrocode} 567 | % \end{macro} 568 | % \subsection{本科签名} 569 | % \begin{macro}{\autograph} 插入签名,在普通章节文件中插入无限制,但在\tt main.tex\rm 文件插入时被插入的章节不能使用\tt\textbackslash include\rm 命令,需使用\tt\textbackslash input\rm 命令。 570 | % \begin{macrocode} 571 | \ifruc@bachelor 572 | \newcommand{\autograph}{ % 573 | {\noindent\zihao{4}\sf\rule[0mm]{0mm}{15mm}作者签名: 574 | \rule[-1ex]{30mm}{0.25pt}}} 575 | \else\fi 576 | % \end{macrocode} 577 | % \end{macro} 578 | % \subsection{封面} 579 | % \noindent 封皮都是研究生院统一从印刷厂印制,普通的打印店貌似做不出来...... 580 | % \begin{macrocode} 581 | \RequirePackage{lscape} 582 | \RequirePackage{multicol} 583 | \RequirePackage{color} 584 | \RequirePackage[dvipsnames,prologue,table]{pstricks} 585 | \definecolor{rucblue}{rgb}{0.129,0.482,0.663} 586 | \definecolor{rucorange}{rgb}{0.976,0.769,0.325} 587 | \definecolor{rucred}{rgb}{0.569,0.129,0.2} 588 | \definecolor{rucgreen}{rgb}{0.333,0.608,0.627} 589 | \definecolor{rucwhite}{rgb}{0.999,0.999,0.999} 590 | \definecolor{rucbalck}{rgb}{0,0,0} 591 | % \end{macrocode} 592 | % \begin{macro}{\X}封面标识使用的是方正小标宋字体,PostScript名称:FZXBSJW--GB1-0 593 | % \begin{macrocode} 594 | \setCJKfamilyfont{X}{FZXBSJW--GB1-0} 595 | \newcommand{\X}{\CJKfamily{X}} 596 | % \end{macrocode} 597 | % \end{macro} 598 | % \begin{macro}{\cover}封面生成命令需在\tt cover.tex\rm 文件中使用 599 | % \begin{macrocode} 600 | \newcommand{\cover}{ 601 | \newgeometry{top=0mm,left=20mm,bottom=0mm,right=0mm,voffset=10mm,columnsep=5.5cm} 602 | \ifruc@doctor 603 | \pagecolor{rucorange} 604 | \else 605 | \ifruc@master 606 | \pagecolor{rucblue} 607 | \else 608 | \ifruc@promaster 609 | \pagecolor{rucgreen} 610 | \else 611 | \pagecolor{rucred} 612 | \fi 613 | \fi 614 | \fi 615 | \begin{landscape} 616 | \begin{multicols}{2} 617 | \rule[0mm]{22mm}{0mm} 618 | \ifruc@doctor 619 | \includegraphics[width=5.7cm,height=1.14cm]{figures/logo.pdf}\\ 620 | \else 621 | \ifruc@promaster 622 | \includegraphics[width=6.3cm,height=1.26cm]{figures/logoW.pdf}\\ 623 | \else 624 | \includegraphics[width=5.7cm,height=1.14cm]{figures/logoW.pdf}\\ 625 | \fi\fi 626 | {\X 627 | \ifruc@doctor 628 | \color{rucred} 629 | \else\color{rucwhite} 630 | \fi\zihao{2}\rule[10mm]{30mm}{0mm} 631 | \ifruc@doctor 632 | \makebox[5.7cm][s]{\doctorsign}\\ 633 | \zihao{-4}\rule[6mm]{32mm}{0mm}\makebox[5.7cm][s]{\doctoresign} 634 | \else 635 | \ifruc@master 636 | \makebox[5.7cm][s]{\mastersign}\\ 637 | \zihao{-4}\rule[6mm]{32mm}{0mm}\makebox[5.7cm][s]{\masteresign} 638 | \else 639 | \ifruc@promaster 640 | \makebox[6.3cm][s]{\promastersign}\\ 641 | \zihao{-5}\rule[6mm]{32mm}{0mm}\makebox[6.3cm][s]{\promasteresign} 642 | \else 643 | \makebox[5.7cm][s]{\bachelorsign}\\ 644 | \zihao{5}\rule[0mm]{32mm}{0mm}\makebox[5.7cm][s]{\bacheloresign} 645 | \fi\fi\fi} 646 | \vfill 647 | \begin{center} 648 | \rule[0mm]{0mm}{30mm}\\ 649 | \ifruc@doctor 650 | \includegraphics[width=2cm,height=2cm]{figures/logo2.pdf}\vspace{2mm}\\ 651 | \includegraphics[width=5.7cm,height=1.5048cm]{figures/logo3.pdf}\\ 652 | \else 653 | \includegraphics[width=2cm,height=2cm]{figures/logoW2.pdf}\vspace{2mm}\\ 654 | \includegraphics[width=5.7cm,height=1.5048cm]{figures/logoW3.pdf}\\ 655 | \fi 656 | {\X 657 | \ifruc@doctor 658 | \color{rucred} 659 | \else 660 | \color{rucwhite} 661 | \fi 662 | \zihao{0}\ziju{0.3} 663 | \ifruc@doctor\doctorsign 664 | \else 665 | \ifruc@master\mastersign 666 | \else 667 | \ifruc@promaster\ziju{0.1}\promastersign 668 | \else\bachelorsign 669 | \fi\fi\fi\par\zihao{-4}\rule[0mm]{0mm}{10mm} 670 | \ifruc@doctor\doctoresign 671 | \else 672 | \ifruc@master\masteresign 673 | \else 674 | \ifruc@promaster\promasteresign 675 | \else\bacheloresign 676 | \fi\fi\fi\par}\sf\zihao{-3} 677 | \vspace{40mm}\ziju{0}\linespread{1.5}\rule[0mm]{0mm}{30mm} 678 | \ifruc@doctor\color{rucbalck}\else\color{rucwhite}\fi 679 | 论文题目:\underline{\parbox[b]{100mm}\@title}\hfill\par \rule[0mm]{0mm}{10mm} 680 | 英\qquad 文:\underline{\parbox[b]{100mm}\@etitle}\hfill\par 681 | \vspace{20mm}\ 682 | 作\qquad 者:\underline{\makebox[100mm]\@author}\hfill\par\rule[0mm]{0mm}{10mm} 683 | 指导教师:\underline{\makebox[100mm]\@advisor}\hfill\par 684 | \vspace{18mm}\@date 685 | \end{center} 686 | \end{multicols} 687 | \thispagestyle{empty} 688 | % \end{macrocode} 689 | % \end{macro} 690 | % 要求中只有博士是需要书脊的(硕士可选),需要设置纸张高度为两张A4纸宽度(420mm)再加书脊的宽度,100张A4纸厚度约为1cm。 691 | % \begin{macrocode} 692 | \ifruc@shuji 693 | \ifruc@doctor\color{rucbalck}\else\color{rucwhite}\fi 694 | \uput[u]{0}(0.5\paperheight,15){{\sf\zihao{3}\shortstack[c]{\@covertitle}}} 695 | \uput[u]{0}(0.5\paperheight,3){{\sf\zihao{3}\shortstack[c]{中\\国\\人\\民\\大\\学}}} 696 | \else\fi 697 | \end{landscape} 698 | \restoregeometry 699 | } 700 | % \end{macrocode} 701 | % \subsection{参考文献} 702 | % \begin{macrocode} 703 | \RequirePackage{natbib}%参考文献 704 | % \end{macrocode} 705 | % \subsection{图表caption设定} 706 | % \begin{macrocode} 707 | \RequirePackage{caption2} 708 | \captionstyle{normal} 709 | \renewcommand{\captionfont}{\zihao{5}\rm} 710 | \renewcommand{\captionlabelfont}{\zihao{5}\bf} 711 | \renewcommand{\captionlabeldelim}{\,\,} 712 | % \end{macrocode} 713 | % \subsection{表格宏包} 714 | % \begin{macrocode} 715 | \RequirePackage{booktabs}%三线表 716 | \RequirePackage{colortbl}%表格颜色 717 | \RequirePackage{diagbox}%表头制作 718 | \RequirePackage{longtable}%长表格 719 | \let\ruc@LT@array\LT@array 720 | \def\LT@array{\zihao{5}\rm\ruc@LT@array} 721 | \let\old@tabular\@tabular 722 | \def\ruc@tabular{\old@tabular\zihao{5}} 723 | \RequirePackage{multirow}%跨行宏包 724 | % \end{macrocode} 725 | % \subsection{表格caption上下间距} 726 | % \begin{macrocode} 727 | \setlength{\abovecaptionskip}{6pt} 728 | \setlength{\belowcaptionskip}{6pt} 729 | % \end{macrocode} 730 | % \subsection{插图宏包} 731 | % \begin{macrocode} 732 | \RequirePackage{wrapfig}%图文混排,段落首字下沉 733 | \RequirePackage{subfigure}%子图 734 | \RequirePackage{tikz}%绘图 735 | % \end{macrocode} 736 | % \subsection{数学宏包} 737 | % \begin{macrocode} 738 | \RequirePackage{amsmath,amsfonts}% 739 | \RequirePackage{latexsym,bm}% 740 | \RequirePackage{extarrows}% 741 | \RequirePackage{pifont}% 742 | % 743 | % \end{macrocode} 744 | % \Finale 745 | \endinput -------------------------------------------------------------------------------- /ructhesis.ins: -------------------------------------------------------------------------------- 1 | %!TEX TS-program = xelatex 2 | %!TEX encoding = UTF-8 Unicode 3 | %% Copyright (C) 2003--2015 Zebin Wang 4 | %% -------------------------------------------------------------------------- 5 | %% 6 | %% This work may be distributed and/or modified under the 7 | %% conditions of the LaTeX Project Public License, either 8 | %% version 1.3c of this license or (at your option) any later 9 | %% version. This version of this license is in 10 | %% http://www.latex-project.org/lppl/lppl-1-3c.txt 11 | %% and the latest version of this license is in 12 | %% http://www.latex-project.org/lppl.txt 13 | %% and version 1.3 or later is part of all distributions of 14 | %% LaTeX version 2005/12/01 or later. 15 | %% 16 | %% This work has the LPPL maintenance status `maintained'. 17 | %% 18 | %% The Current Maintainers of this work is Zebin Wang. 19 | %% 20 | %% This work consists of the files RUCThesis.dtx and RUCThesis.ins 21 | %% and the derived file RUCThesis.cls. 22 | %% 23 | %% -------------------------------------------------------------------------- 24 | \input docstrip.tex 25 | \keepsilent 26 | 27 | \preamble 28 | Copyright (C) 2014--\the\year Zebin Wang 29 | -------------------------------------------------------------------------- 30 | 31 | This work may be distributed and/or modified under the 32 | conditions of the LaTeX Project Public License, either 33 | version 1.3c of this license or (at your option) any later 34 | version. This version of this license is in 35 | http://www.latex-project.org/lppl/lppl-1-3c.txt 36 | and the latest version of this license is in 37 | http://www.latex-project.org/lppl.txt 38 | and version 1.3 or later is part of all distributions of 39 | LaTeX version 2005/12/01 or later. 40 | 41 | This work has the LPPL maintenance status `maintained'. 42 | 43 | The Current Maintainers of this work is Zebin Wang. 44 | 45 | This work consists of the files RUCThesis.dtx and RUCThesis.ins 46 | and the derived file RUCThesis.cls. 47 | 48 | -------------------------------------------------------------------------- 49 | \endpreamble 50 | 51 | \generate 52 | { 53 | \usedir{tex/latex/ructhesis} 54 | \file{\jobname.cls}{\from{\jobname.dtx}{cls}} 55 | } 56 | 57 | \obeyspaces 58 | \Msg{*************************************************************} 59 | \Msg{* *} 60 | \Msg{* To finish the installation you have to move the following *} 61 | \Msg{* file into proper directories searched by TeX: *} 62 | \Msg{* *} 63 | \Msg{* The recommended directory is TDS:tex/latex/ructhesis *} 64 | \Msg{* *} 65 | \Msg{* ructhesis.cls *} 66 | \Msg{* *} 67 | \Msg{* To produce the documentation run the file ructhesis.dtx *} 68 | \Msg{* through XeLaTeX. *} 69 | \Msg{* *} 70 | \Msg{* Happy TeXing! *} 71 | \Msg{* *} 72 | \Msg{*************************************************************} 73 | 74 | \endbatchfile 75 | -------------------------------------------------------------------------------- /ructhesis.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZebinWang/ructhesis/0b3044b9f684db81d00f5ed62d3855230c287fa8/ructhesis.pdf --------------------------------------------------------------------------------