├── #delete-temp-files.bat ├── README.md ├── example-color.pdf ├── example-color.tex ├── example.pdf ├── example.tex ├── example_1.png ├── example_2.png ├── figures ├── fig.png ├── image1.eps ├── image2.eps ├── image3.eps ├── image4.eps ├── logo.pdf ├── logo2021.pdf ├── logo2022.pdf ├── logo2023.pdf ├── title.pdf ├── title2021.pdf ├── title2022.pdf └── title2023.pdf ├── gmcm.bst ├── gmcmthesis.cls ├── makefiles.bat ├── makefiles.sh └── reference.bib /#delete-temp-files.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.userbak *.nav *.snm *.vrb *.synctex(busy) 3 | 4 | 5 | del /q *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ## 2024 研究生数学建模竞赛 LaTeX 论文模板 3 | 4 | GMCMthesis 是为中国研究生数学建模竞赛编写的 LaTeX 模板, 旨在让大家专注于论文的内容写作, 而不用花费过多精力在格式的定制和调整上. 本手册是相应的参考, 其中提供了一些环境和命令可以让模板的使用更为方便. 同时需要注意, 使用者需要有一定的 LaTeX 的使用经验, 至少要会使用 ctex 宏包的一些功能, 比如调节字距或修改字体大小等等. 5 | 6 | ![example_1](example_1.png) 7 | 8 | ![example_2](example_2.png) 9 | 10 | ## 更新记录 11 | 12 | 2021 年 10 月更新: 13 | 14 | 1. 更新封面格式; 15 | 16 | 2. 更新了内容和字体。 17 | 18 | 2022 年 10 月更新: 19 | 20 | 1. 更新了 Logo 和标题; 21 | 22 | 2. 去掉了封面页码 0; 23 | 24 | 3. 修复了几个小 bug。 25 | 26 | 2023 年 09 月更新: 27 | 28 | 1. 更新了 Logo 和标题; 29 | 30 | 2. 调整了一些字体和间距。 31 | 32 | 2024 年 09 月更新: 33 | 34 | 1. 更新了 Logo 和标题; 35 | 36 | 2. 优化表格示例; 37 | 38 | 3. 修复几个 bug。 39 | -------------------------------------------------------------------------------- /example-color.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/example-color.pdf -------------------------------------------------------------------------------- /example-color.tex: -------------------------------------------------------------------------------- 1 | % !Mode:: "TeX:UTF-8" 2 | %!TEX program = xelatex 3 | 4 | \documentclass[bwprint,fontset=windows]{gmcmthesis} 5 | 6 | \hypersetup{hidelinks} 7 | \usepackage[framemethod=TikZ]{mdframed} 8 | 9 | %\usepackage{fontspec} % for Consolas & Courier New 10 | %\lstset{basicstyle=\small\fontspec{Consolas}} 11 | %\lstset{basicstyle=\small\fontspec{Courier New}} 12 | %\setmonofont{Consolas} 13 | %\setcounter{tocdepth}{3} % 调整目录深度 14 | 15 | \usepackage{subfig} 16 | \usepackage{siunitx} 17 | 18 | \usepackage{colortbl} 19 | \definecolor{color1}{rgb}{0.78,0.88,0.99} 20 | \definecolor{color2}{rgb}{0.36,0.62,0.84} 21 | %\definecolor{color3}{rgb}{0.8235,0.8706,0.9373} 22 | \definecolor{color3}{rgb}{0.88,0.92,0.96} 23 | \definecolor{color4}{rgb}{0.96,0.97,0.98}%{0.9176,0.9373,0.9686} 24 | 25 | % 算法 26 | \usepackage[noend]{algpseudocode} 27 | \usepackage{algorithmicx,algorithm} 28 | \floatname{algorithm}{算法} 29 | \renewcommand{\algorithmicrequire}{\textbf{输入:}} 30 | \renewcommand{\algorithmicensure}{\textbf{输出:}} 31 | 32 | %\numberwithin{equation}{section} 33 | %\numberwithin{figure}{section} 34 | %\numberwithin{table}{section} 35 | 36 | 37 | \newcommand{\red}[1]{\textcolor{red}{#1}} 38 | \newcommand{\blue}[1]{\textcolor{blue}{#1}} 39 | 40 | 41 | %===================== 建模论文题目 ====================== 42 | 43 | \title{全国研究生数学建模竞赛论文标题} 44 | \baominghao{\hspace{6em} 20240900001} %参赛队号 45 | \schoolname{\hspace{5.8em} 学校名称填写} %学校名称 46 | \membera{\hspace{6em} 成员A} %队员A 47 | \memberb{\hspace{6em} 成员B} %队员B 48 | \memberc{\hspace{6em} 成员C} %队员C 49 | 50 | %======================================================= 51 | 52 | 53 | \begin{document} 54 | 55 | %生成标题 56 | \maketitle 57 | 58 | %填写摘要 59 | \begin{abstract} 60 | 本模板是为全国研究生数学建模竞赛编写的 \LaTeX{} 模板, 旨在让大家专注于 61 | 论文的内容写作, 而不用花费过多精力在格式的定制和调整上. 本手册是相应的参考, 其 62 | 中提供了一些环境和命令可以让模板的使用更为方便. 同时需要注意, 使用者需要有一 63 | 定的 \LaTeX{} 的使用经验, 至少要会使用 ctex 宏包的一些功能, 比如调节字距或修改字体 64 | 大小等等. 65 | 66 | \begin{mdframed}[% 67 | roundcorner=5pt,linecolor=gray!50,outerlinewidth=0.5pt, 68 | middlelinewidth=0.3pt,backgroundcolor=gray!2, 69 | innertopmargin=\topskip, frametitle={2024年格式变化说明}, 70 | frametitlefont= \bfseries,frametitlerule=true,frametitlealignment =\raggedright\noindent, 71 | frametitlerulewidth=.5pt, frametitlebackgroundcolor=gray!2,] 72 | 今年的格式变化如下: 73 | \begin{enumerate} 74 | \item 论文前两页 Logo 和 Title 替换; 75 | \item 优化表格实例; 76 | \item 修复若干 bug。 77 | \end{enumerate} 78 | \end{mdframed} 79 | 80 | 这是研究生报名官方网站,点击\href{https://cpipc.chinadegrees.cn}{\fbox{这里}}进入。 81 | 82 | 83 | \keywords{折叠桌\quad 曲线拟合\quad 非线性优化模型\quad 受力分析} 84 | 85 | \end{abstract} 86 | 87 | \pagestyle{plain} 88 | 89 | %目录 不推荐加 90 | \maketoc 91 | 92 | \clearpage 93 | 94 | \section{问题重述} 95 | 96 | \subsection{引言} % 问题的背景 97 | 98 | 创意平板折叠桌注重于表达木制品的优雅和设计师所想要强调的自动化与功能性。为了增大有效使用面积。设计师以长方形木板的宽为直径截取了一个圆形作为桌面,又将木板剩余的面积切割成了若干个长短不一的木条,每根木条的长度为平板宽到圆上一点的距离,分别用两根钢筋贯穿两侧的木条,使用者只需提起木板的两侧,便可以在重力的作用下达到自动升起的效果,相互对称的木条宛如下垂的桌布,精密的制作工艺配以质朴的木材,让这件工艺品看起来就像是工业革命时期的机器。 99 | 100 | 101 | \subsection{问题的提出} 102 | 103 | %\subsubsection{问题的提出内容一} 104 | 105 | \noindent 围绕创意平板折叠桌的动态变化过程、设计加工参数,本文依次提出如下问题: 106 | 107 | \textbf{问题一:} 给定长方形平板尺寸 ($\SI{120}{cm} \times \SI{50}{cm} \times \SI{3}{cm}$),每根木条宽度(\SI{2.5}{cm}),连接桌腿木条的钢筋的位置,折叠后桌子的高度(\SI{53}{cm})。要求建立模型描述此折叠桌的动态变化过程,并在此基础上给出此折叠桌的设计加工参数和桌脚边缘线的数学描述。 108 | 109 | 110 | \textbf{问题二:} 折叠桌的设计应做到产品稳固性好、加工方便、用材最少。对于任意给定的折叠桌高度和圆形桌面直径的设计要求,讨论长方形平板材料和折叠桌的最优设计加工参数,例如,平板尺寸、钢筋位置、开槽长度等。对于桌高 \SI{70}{cm},桌面直径 \SI{80}{cm} 的情形,确定最优设计加工参数。 111 | 112 | 113 | \textbf{问题三:} 给出软件设计的数学模型,可以根据客户任意设定的折叠桌高度、桌面边缘线的形状大小和桌脚边缘线的大致形状,给出所需平板材料的形状尺寸和切实可行的最优设计加工参数,使得生产的折叠桌尽可能接近客户所期望的形状,并根据所建立的模型给出几个设计的创意平板折叠桌。要求给出相应的设计加工参数,画出至少8张动态变化过程的示意图。 114 | 115 | 116 | 117 | \clearpage 118 | \section{模型的假设} 119 | 120 | \begin{enumerate} 121 | \item 忽略实际加工误差对设计的影响; 122 | \item 木条与圆桌面之间的交接处缝隙较小,可忽略; 123 | \item 钢筋强度足够大,不弯曲; 124 | \item 假设地面平整。 125 | \end{enumerate} 126 | 127 | 128 | \section{符号说明} 129 | 130 | \begin{table}[htp!] 131 | \centering 132 | \renewcommand\arraystretch{1.2} %定义表格高度 133 | \newcolumntype{L}{>{\quad}X} 134 | \newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}} 135 | \newcolumntype{C}{>{\centering \arraybackslash}X} 136 | \newcolumntype{R}{>{\raggedright \arraybackslash}X} 137 | \begin{tabularx}{0.9\textwidth}{!{\color{color2}\vrule}P{2cm}!{\color{color2}\vrule}L!{\color{color2}\vrule}} 138 | \arrayrulecolor{color2}\hline %\toprule 139 | \rowcolor{color2} 140 | \textbf{符号} & \quad \textbf{意义} \\ 141 | \arrayrulecolor{color2}\hline %\midrule 142 | %\rowcolor[gray]{0.90} 143 | \rowcolor{color3} 144 | $ a $ & 符号1的意义 \\ 145 | \arrayrulecolor{color2}\hline 146 | \rowcolor{color4} 147 | $ b $ & 符号2的意义 \\ 148 | \arrayrulecolor{color2}\hline 149 | \rowcolor{color3} 150 | $ c $ & 符号3的意义符号3的意义 \\ 151 | \arrayrulecolor{color2}\hline 152 | \rowcolor{color4} 153 | $ d $ & 符号4的意义 \\ 154 | \arrayrulecolor{color2}\hline 155 | \rowcolor{color3} 156 | $ e $ & 符号5的意义 \\ 157 | \arrayrulecolor{color2}\hline 158 | \rowcolor{color4} 159 | $ f $ & 符号6的意义符号6的意义 \\ 160 | \arrayrulecolor{color2}\hline 161 | \rowcolor{color3} 162 | $ g $ & 符号7的意义 \\ 163 | \arrayrulecolor{color2}\hline 164 | \rowcolor{color4} 165 | $ h $ & 符号8的意义 \\ 166 | \arrayrulecolor{color2}\hline 167 | \rowcolor{color3} 168 | $ i $ & 符号9的意义符号9的意义 \\ 169 | \arrayrulecolor{color2}\hline 170 | \rowcolor{color4} 171 | $ k $ & 符号10的意义 \\ 172 | \arrayrulecolor{color2}\hline 173 | \rowcolor{color3} 174 | $ l $ & 符号11的意义 \\ 175 | \arrayrulecolor{color2}\hline 176 | \rowcolor{color4} 177 | $ m $ & 符号12的意义 \\ 178 | \arrayrulecolor{color2}\hline 179 | \rowcolor{color3} 180 | $ n $ & 符号13的意义 \\ 181 | \arrayrulecolor{color2}\hline 182 | \rowcolor{color4} 183 | $ p $ & 符号14的意义 \\ 184 | \arrayrulecolor{color2}\hline 185 | \rowcolor{color3} 186 | $ q $ & 符号15的意义 \\ 187 | \arrayrulecolor{color2}\hline %\bottomrule 188 | \end{tabularx} 189 | \end{table} 190 | 191 | %\begin{tabularx}{\textwidth-18pt}{XXX} 192 | %\hline 193 | %Input & Output& Action return \\ 194 | %\hline 195 | %DNF & simulation & jsp\\ 196 | %\hline 197 | %\end{tabularx} 198 | 199 | 200 | \section{模型的建立} 201 | 202 | \subsection{问题一分析} 203 | 题目要求建立模型描述折叠桌的动态变化图,由于在折叠时用力大小的不同,我们不能描述在某一时刻折叠桌的具体形态,但我们可以用每根木条的角度变化来描述折叠桌的动态变化。首先,我们知道折叠桌前后左右对称,我们可以运用几何知识求出四分之一木条的角度变化。最后,根据初始时刻和最终形态两种状态求出桌腿木条开槽的长度 204 | 205 | 206 | \subsection{算法示例} 207 | 208 | 数学建模求解算法示例: 209 | \begin{center} 210 | \begin{minipage}{0.8\textwidth} 211 | \begin{algorithm}[H]%[!htp] 212 | \caption{算法的名字} %算法的名字 213 | {\bf 输入:} %算法的输入, \hspace*{0.02in}用来控制位置,同时利用 \\ 进行换行 214 | input parameters A, B, C\\ 215 | {\bf 输出:} %算法的结果输出 216 | output result 217 | \begin{algorithmic}[1] 218 | \State some description 算法介绍 % \State 后写一般语句 219 | \For{condition} % For 语句,需要和EndFor对应 220 | \State ... 221 | \If{condition} % If 语句,需要和EndIf对应 222 | \State ... 223 | \Else 224 | \State ... 225 | \EndIf 226 | \EndFor 227 | \While{condition} % While语句,需要和EndWhile对应 228 | \State ... 229 | \EndWhile 230 | \State \Return result 231 | \end{algorithmic} 232 | \end{algorithm} 233 | \end{minipage} 234 | \end{center} 235 | \vspace{2ex} 236 | 237 | \section{表格和图形} 238 | 239 | \subsection{表格} 240 | 241 | 使用 tabular 环境, 如下表格: 表~\ref{tab:foo}. 通过 \verb|autoref| 引用表格: \autoref{tab:foo}. 242 | 243 | 这里可使用命令 \verb|\tabcolsep| 和 \verb|\arraystretch| 分别控制列间距和行间距. 244 | 245 | \begin{table}[htp!] 246 | \centering 247 | \setlength{\tabcolsep}{12pt} % 6pt standard 248 | \renewcommand{\arraystretch}{1.2} 249 | \caption{学术活动安排样例} 250 | \label{tab:foo} 251 | \begin{tabular}{|c|c|c|c|} 252 | \hline 253 | \textbf{日期} & \textbf{地点} & \textbf{活动名称} & \textbf{备注} \\ \hline 254 | 2024年8月1日 & 上海 & 学术研讨会 & 主题:人工智能 \\ \hline 255 | 2024年8月15日 & 北京 & 学术交流会 & 重点:数学建模 \\ \hline 256 | 2024年9月1日 & 深圳 & 研究研讨会 & 主题:数据科学 \\ \hline 257 | 2024年10月15日 & 广州 & 创新论坛 & 重点:科技创新 \\ \hline 258 | \end{tabular} 259 | \end{table} 260 | 261 | 262 | \clearpage 263 | 264 | 三线表 265 | \begin{table}[htp!] 266 | \newcolumntype{L}{X} 267 | \newcolumntype{C}{>{\centering \arraybackslash}X} 268 | \newcolumntype{R}{>{\raggedright \arraybackslash}X} 269 | \centering 270 | \caption{某校学生升高体重样本} 271 | \label{tab:heightweight} 272 | \begin{tabularx}{0.9\textwidth}{CCCC} 273 | \toprule 274 | 序号 & 年龄 & 身高 & 体重 \\ 275 | \midrule 276 | 001 & 15 & 156 & 42 \\ 277 | 002 & 16 & 158 & 45 \\ 278 | 003 & 14 & 162 & 48 \\ 279 | 004 & 15 & 163 & 50 \\ 280 | \cmidrule{2-4} 281 | 平均 & 15 & 159.75 & 46.25 \\ 282 | \bottomrule 283 | \end{tabularx} 284 | \end{table} 285 | 286 | % 某行业产量与生产费用的数据 287 | % \begin{table}[htp!] 288 | % \centering 289 | % \caption{某行业产量与生产费用的数据}%\label{} 290 | % \newcolumntype{Y}{>{\centering\arraybackslash}X} 291 | % \newcolumntype{Z}{!{\vline}@{\color{white}\vrule width \doublerulesep}!{\vrule}}%自定义列格式(双线) 292 | % \begin{tabularx}{0.94\textwidth}{c|c|YZc|c|Y} 293 | % \Xhline{0.9pt} 294 | % 企业编号& 产量(台)&生产费用(万元)&企业编号&产量(台)&生产费用(万元)\\\Xcline{1-3}{0.6pt}\Xcline{4-6}{0.6pt} 295 | % 1 & 40 & 130 & 7& 84& 165\\ 296 | % 2 & 42 & 150 & 8& 100& 170\\ 297 | % 3 & 50 & 155 & 9& 116& 167\\ 298 | % 4 & 55 & 140 & 10& 125& 180\\ 299 | % 5 & 65 & 150 & 11& 130& 175\\ 300 | % 6 & 78 & 154 & 12& 140& 185\\\Xhline{0.72pt} 301 | % \end{tabularx} 302 | % \end{table} 303 | 304 | 研究生数学建模2019年F题结果示例 305 | \begin{table}[htp!] 306 | \centering 307 | \caption{问题1结果1 (左) 与 问题2结果 (右)} 308 | \begin{minipage}[h]{0.48\linewidth} 309 | \renewcommand\arraystretch{1.2} %定义表格高度 310 | \newcolumntype{Y}{>{\centering\arraybackslash}X} 311 | \begin{tabularx}{0.9\textwidth}{|Y|Y|Y|} 312 | \hline 313 | \rowcolor{color1} 314 | 数据集1 & 数据集1 & 数据集2 \\ 315 | \hline 316 | \rowcolor[gray]{0.95} 317 | A问题1 & A问题1 & A问题1 \\ 318 | \hline 319 | \rowcolor[gray]{0.9} 320 | 503 & 503 & 163 \\ 321 | \rowcolor[gray]{0.95} 322 | 294 & 200 & 114 \\ 323 | \rowcolor[gray]{0.9} 324 | 91 & 80 & 8 \\ 325 | \rowcolor[gray]{0.95} 326 | 607 & 237 & 309 \\ 327 | \rowcolor[gray]{0.9} 328 | 540 & 170 & 305 \\ 329 | \rowcolor[gray]{0.95} 330 | 250 & 278 & 123 \\ 331 | \rowcolor[gray]{0.9} 332 | 340 & 369 & 45 \\ 333 | \rowcolor[gray]{0.95} 334 | 277 & 214 & 160 \\ 335 | \rowcolor[gray]{0.9} 336 | B & 397 & 92 \\ 337 | \rowcolor[gray]{0.95} 338 | & B & 93 \\ 339 | \rowcolor[gray]{0.9} 340 | & & 61 \\ 341 | \rowcolor[gray]{0.95} 342 | & & 292 \\ 343 | \rowcolor[gray]{0.9} 344 | & & B \\ 345 | \rowcolor[gray]{0.95} 346 | 104861 & 103518 & 109342 \\ 347 | \hline 348 | \end{tabularx} 349 | \end{minipage} 350 | \begin{minipage}[h]{0.48\linewidth} 351 | \renewcommand\arraystretch{1.2} %定义表格高度 352 | \newcolumntype{Y}{>{\centering\arraybackslash}X} 353 | \begin{tabularx}{0.9\textwidth}{|Y|Y|Y|} 354 | \hline 355 | \rowcolor{color1} 356 | 数据集1 & 数据集1 & 数据集2 \\ 357 | \hline 358 | \rowcolor[gray]{0.95} 359 | A问题2 & A问题2 & A问题2 \\ 360 | \hline 361 | \rowcolor[gray]{0.9} 362 | 503 & 503 & 163 \\ 363 | \rowcolor[gray]{0.95} 364 | 294 & 200 & 114 \\ 365 | \rowcolor[gray]{0.9} 366 | 91 & 80 & 8 \\ 367 | \rowcolor[gray]{0.95} 368 | 607 & 237 & 309 \\ 369 | \rowcolor[gray]{0.9} 370 | 540 & 170 & 305 \\ 371 | \rowcolor[gray]{0.95} 372 | 250 & 278 & 123 \\ 373 | \rowcolor[gray]{0.9} 374 | 340 & 369 & 45 \\ 375 | \rowcolor[gray]{0.95} 376 | 277 & 214 & 160 \\ 377 | \rowcolor[gray]{0.9} 378 | B & 397 & 92 \\ 379 | \rowcolor[gray]{0.95} 380 | & B & 93 \\ 381 | \rowcolor[gray]{0.9} 382 | & & 61 \\ 383 | \rowcolor[gray]{0.95} 384 | & & 292 \\ 385 | \rowcolor[gray]{0.9} 386 | & & B \\ 387 | \rowcolor[gray]{0.95} 388 | 104917 & 103563 &109427 \\ 389 | \hline 390 | \end{tabularx} 391 | \end{minipage} 392 | \end{table} 393 | 394 | \clearpage 395 | \begin{table}[htp!] 396 | %\small 397 | \centering 398 | \renewcommand\arraystretch{1.2} %定义表格高度 399 | \newcolumntype{Y}{>{\centering\arraybackslash}X} 400 | \caption{问题3结果} 401 | \begin{tabularx}{0.9\textwidth}{|Y|Y|Y|Y|Y|Y|} 402 | \hline %定义表格宽度 403 | \rowcolor{color1} 404 | 数据集1 & 数据集1 & \multicolumn{2}{c|}{数据集2 (无问题点)} & \multicolumn{2}{c|}{数据集2 (有问题点)} \\ 405 | \hline 406 | \rowcolor[gray]{0.95} 407 | A问题3 & A问题3 & \multicolumn{2}{c|}{A问题3} & \multicolumn{2}{c|}{A问题3} \\ 408 | \hline 409 | \rowcolor[gray]{0.9} 410 | 503 & 503 & 169 & 73 & 169 & 73 \\ 411 | \rowcolor[gray]{0.95} 412 | 69 & 69 & 322 & 249 & 322 & 249 \\ 413 | \rowcolor[gray]{0.9} 414 | 506 & 506 & 270 & 274 & 270 & 274 \\ 415 | \rowcolor[gray]{0.95} 416 | 371 & 371 & 89 & 12 & 89 & 12 \\ 417 | \rowcolor[gray]{0.9} 418 | 183 & 183 & 236 & 216 & 236 & 216 \\ 419 | \rowcolor[gray]{0.95} 420 | 194 & 194 & 132 & 16 & 132 & 16 \\ 421 | \rowcolor[gray]{0.9} 422 | 450 & 450 & 53 & 282 & 53 & 282 \\ 423 | \rowcolor[gray]{0.95} 424 | 286 & 113 & 112 & 84 & 112 & 141 \\ 425 | \rowcolor[gray]{0.9} 426 | 485 & 485 & 268 & 287 & 268 & 291 \\ 427 | \rowcolor[gray]{0.95} 428 | \red{B (9D)}~~ & 248 & 250 & 99 & 250 &161 \\ 429 | \rowcolor[gray]{0.9} 430 | & \red{B (10D)} & 243 & \red{B (21D)} & 243 & \red{B (21D)} \\ 431 | \rowcolor[gray]{0.95} 432 | & & & & & \\ 433 | \rowcolor[gray]{0.9} 434 | 104861m & 103518m & & 168924m & &161650m \\ 435 | \hline 436 | \end{tabularx} 437 | \end{table} 438 | 439 | 440 | 441 | \subsection{图形} 442 | 443 | 图形并列 444 | \begin{figure}[htp!] 445 | \begin{minipage}[t]{0.48\linewidth} 446 | \centering 447 | \includegraphics[width=0.9\textwidth]{image1} 448 | \caption{fig1} 449 | \label{fig:side:a} 450 | \end{minipage}% 451 | \begin{minipage}[t]{0.48\linewidth} 452 | \centering 453 | \includegraphics[width=0.9\textwidth]{image2} % 2.2in 454 | \caption{fig2} 455 | \label{fig:side:b} 456 | \end{minipage} 457 | \end{figure} 458 | 459 | 460 | \clearpage 461 | 这是一个算法流程图 462 | \begin{figure}[htp!] 463 | \centering 464 | \includegraphics[width=.55\textwidth]{fig.png} 465 | \caption{算法流程图} 466 | \end{figure} 467 | 468 | 多图并排 469 | \begin{figure}[!htp] 470 | \centering 471 | \subfloat[Arabic numerals]{\includegraphics[width=0.4\textwidth]{image1}}\qquad 472 | \subfloat[Arabic numerals]{\includegraphics[width=0.4\textwidth]{image2}} \\ 473 | \subfloat[Arabic numerals]{\includegraphics[width=0.4\textwidth]{image3}}\qquad 474 | \subfloat[Arabic numerals]{\includegraphics[width=0.4\textwidth]{image4}} 475 | \caption{多图示例} 476 | \end{figure} 477 | 478 | 479 | \subsection{问题三分析} 480 | 481 | 482 | 题目要求制作软件的意思就是客户给定折叠桌高度、桌面边缘线的形状大小和桌脚边缘线的大致形状,将这些信息输入程序就得到客户想要的桌子。我们在求解最优设计加工参数时,自行给定桌面边缘线形状(椭圆、相交圆等),桌脚边缘线形状,折叠桌高度,应用第二问的非线性规划模型,用MATLAB软件绘制折叠桌截面图,得到自己设计的创意平板折叠桌。 483 | 484 | 485 | \section{模型评价} 486 | 487 | 这里是模型评价 488 | 489 | 490 | 491 | %参考文献 手工录入 492 | %\begin{thebibliography}{9}%宽度9 493 | % \bibitem{bib:one} .... 494 | % \bibitem{bib:two} .... 495 | %\end{thebibliography} 496 | 497 | %采用bibtex方案 498 | \cite{mittelbach_latex_2004,wright_latex3_2009,beeton_unicode_2008,vieth_experiences_2009} 499 | 500 | \bibliographystyle{gmcm} 501 | \bibliography{reference} 502 | 503 | 504 | \clearpage 505 | %附录 506 | \begin{appendices} 507 | %\setcounter{page}{1} %如果需要可以自行重置页码。 508 | \section{MATLAB 源程序} 509 | \renewcommand{\thesubsection}{A\thinskip.\thinskip\arabic{subsection}} 510 | \subsection{第1问程序} 511 | \vspace{-2ex} 512 | 513 | \begin{Matlab}{code.m} 514 | clear all 515 | kk=2; 516 | [mdd,ndd]=size(dd); 517 | while ~isempty(V) 518 | [tmpd,j]=min(W(i,V)); 519 | tmpj=V(j); 520 | for k=2:ndd 521 | [tmp1,jj]=min(dd(1,k)+W(dd(2,k),V)); 522 | tmp2=V(jj); 523 | tt(k-1,:)=[tmp1,tmp2,jj]; 524 | end 525 | tmp=[tmpd,tmpj,j;tt]; 526 | [tmp3,tmp4]=min(tmp(:,1)); 527 | if tmp3==tmpd, 528 | ss(1:2,kk)=[i;tmp(tmp4,2)]; 529 | else 530 | tmp5=find(ss(:,tmp4)~=0); 531 | tmp6=length(tmp5); 532 | if dd(2,tmp4)==ss(tmp6,tmp4) 533 | ss(1:tmp6+1,kk)=[ss(tmp5,tmp4);tmp(tmp4,2)]; 534 | else, ss(1:3,kk)=[i;dd(2,tmp4);tmp(tmp4,2)]; 535 | end 536 | end 537 | dd=[dd,[tmp3;tmp(tmp4,2)]]; 538 | V(tmp(tmp4,3))=[]; 539 | [mdd,ndd]=size(dd);kk=kk+1; 540 | end; 541 | S=ss; D=dd(1,:); 542 | \end{Matlab} 543 | \vspace{2ex} 544 | 545 | \clearpage 546 | \section{Python 源程序} 547 | \renewcommand{\thesubsection}{B\thinskip.\thinskip\arabic{subsection}} 548 | \subsection{第2问程序} 549 | \vspace{-2ex} 550 | \begin{Python}{mip1.py} 551 | # This example formulates and solves the following simple MIP model: 552 | # maximize 553 | # x + y + 2 z 554 | # subject to 555 | # x + 2 y + 3 z <= 4 556 | # x + y >= 1 557 | # x, y, z binary 558 | 559 | # import gurobipy as gp 560 | from gurobipy import * #GRB 561 | try: 562 | # Create a new model 563 | m = Model("mip1") 564 | # Create variables 565 | x = m.addVar(vtype=GRB.BINARY, name="x") 566 | y = m.addVar(vtype=GRB.BINARY, name="y") 567 | z = m.addVar(vtype=GRB.BINARY, name="z") 568 | # Set objective 569 | m.setObjective(x + y + 2 * z, GRB.MAXIMIZE) 570 | # Add constraint: x + 2 y + 3 z <= 4 571 | m.addConstr(x + 2 * y + 3 * z <= 4, "c0") 572 | # Add constraint: x + y >= 1 573 | m.addConstr(x + y >= 1, "c1") 574 | # Optimize model 575 | m.optimize() 576 | for v in m.getVars(): 577 | print('%s %g' % (v.varName, v.x)) 578 | print('Obj: %g' % m.objVal) 579 | 580 | except GurobiError as e: 581 | print('Error code ' + str(e.errno) + ': ' + str(e)) 582 | 583 | except AttributeError: 584 | print('Encountered an attribute error') 585 | \end{Python} 586 | 587 | \end{appendices} 588 | 589 | 590 | 591 | \end{document} 592 | -------------------------------------------------------------------------------- /example.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/example.pdf -------------------------------------------------------------------------------- /example.tex: -------------------------------------------------------------------------------- 1 | % !Mode:: "TeX:UTF-8" 2 | %!TEX program = xelatex 3 | 4 | %\documentclass[bwprint,fontset=windows]{gmcmthesis} 5 | \documentclass[bwprint]{gmcmthesis} 6 | 7 | \hypersetup{hidelinks} 8 | \usepackage[framemethod=TikZ]{mdframed} 9 | 10 | %\usepackage{fontspec} % for Consolas & Courier New 11 | %\lstset{basicstyle=\small\fontspec{Consolas}} 12 | %\lstset{basicstyle=\small\fontspec{Courier New}} 13 | %\setmonofont{Consolas} 14 | %\setcounter{tocdepth}{3} % 调整目录深度 15 | 16 | \usepackage{subfig} 17 | \usepackage{siunitx} 18 | 19 | \usepackage{colortbl} 20 | \definecolor{color1}{rgb}{0.78,0.88,0.99} 21 | \definecolor{color2}{rgb}{0.36,0.62,0.84} 22 | %\definecolor{color3}{rgb}{0.8235,0.8706,0.9373} 23 | \definecolor{color3}{rgb}{0.88,0.92,0.96} 24 | \definecolor{color4}{rgb}{0.96,0.97,0.98}%{0.9176,0.9373,0.9686} 25 | 26 | % 算法 27 | \usepackage[noend]{algpseudocode} 28 | \usepackage{algorithmicx,algorithm} 29 | \floatname{algorithm}{算法} 30 | \renewcommand{\algorithmicrequire}{\textbf{输入:}} 31 | \renewcommand{\algorithmicensure}{\textbf{输出:}} 32 | 33 | %\numberwithin{equation}{section} 34 | %\numberwithin{figure}{section} 35 | %\numberwithin{table}{section} 36 | 37 | 38 | \newcommand{\red}[1]{\textcolor{red}{#1}} 39 | \newcommand{\blue}[1]{\textcolor{blue}{#1}} 40 | 41 | 42 | %===================== 建模论文题目 ====================== 43 | 44 | \title{全国研究生数学建模竞赛论文标题} 45 | \baominghao{\hspace{6em} 20240900001} %参赛队号 46 | \schoolname{\hspace{5.8em} 学校名称填写} %学校名称 47 | \membera{\hspace{6em} 成员A} %队员A 48 | \memberb{\hspace{6em} 成员B} %队员B 49 | \memberc{\hspace{6em} 成员C} %队员C 50 | 51 | %======================================================= 52 | 53 | 54 | \begin{document} 55 | 56 | %生成标题 57 | \maketitle 58 | 59 | %填写摘要 60 | \begin{abstract} 61 | 本模板是为全国研究生数学建模竞赛编写的 \LaTeX{} 模板, 旨在让大家专注于 62 | 论文的内容写作, 而不用花费过多精力在格式的定制和调整上. 本手册是相应的参考, 其 63 | 中提供了一些环境和命令可以让模板的使用更为方便. 同时需要注意, 使用者需要有一 64 | 定的 \LaTeX{} 的使用经验, 至少要会使用 ctex 宏包的一些功能, 比如调节字距或修改字体 65 | 大小等等. 66 | 67 | \begin{mdframed}[% 68 | roundcorner=5pt,linecolor=gray!50,outerlinewidth=0.5pt, 69 | middlelinewidth=0.3pt,backgroundcolor=gray!2, 70 | innertopmargin=\topskip, frametitle={2024年格式变化说明}, 71 | frametitlefont= \bfseries,frametitlerule=true,frametitlealignment =\raggedright\noindent, 72 | frametitlerulewidth=.5pt, frametitlebackgroundcolor=gray!2,] 73 | 今年的格式变化如下: 74 | \begin{enumerate} 75 | \item 论文前两页 Logo 和 Title 替换; 76 | \item 优化表格实例; 77 | \item 修复若干 bug。 78 | \end{enumerate} 79 | \end{mdframed} 80 | 81 | 这是研究生报名官方网站,点击\href{https://cpipc.acge.org.cn/}{\fbox{这里}}进入。 82 | 83 | 84 | \keywords{折叠桌\quad 曲线拟合\quad 非线性优化模型\quad 受力分析} 85 | 86 | \end{abstract} 87 | 88 | \pagestyle{plain} 89 | 90 | %目录 不推荐加 91 | \maketoc 92 | 93 | \clearpage 94 | 95 | \section{问题重述} 96 | 97 | \subsection{引言} % 问题的背景 98 | 99 | 创意平板折叠桌注重于表达木制品的优雅和设计师所想要强调的自动化与功能性。为了增大有效使用面积。设计师以长方形木板的宽为直径截取了一个圆形作为桌面,又将木板剩余的面积切割成了若干个长短不一的木条,每根木条的长度为平板宽到圆上一点的距离,分别用两根钢筋贯穿两侧的木条,使用者只需提起木板的两侧,便可以在重力的作用下达到自动升起的效果,相互对称的木条宛如下垂的桌布,精密的制作工艺配以质朴的木材,让这件工艺品看起来就像是工业革命时期的机器。 100 | 101 | 102 | \subsection{问题的提出} 103 | 104 | %\subsubsection{问题的提出内容一} 105 | 106 | \noindent 围绕创意平板折叠桌的动态变化过程、设计加工参数,本文依次提出如下问题: 107 | 108 | \textbf{问题一:} 给定长方形平板尺寸 ($\SI{120}{cm} \times \SI{50}{cm} \times \SI{3}{cm}$),每根木条宽度(\SI{2.5}{cm}),连接桌腿木条的钢筋的位置,折叠后桌子的高度(\SI{53}{cm})。要求建立模型描述此折叠桌的动态变化过程,并在此基础上给出此折叠桌的设计加工参数和桌脚边缘线的数学描述。 109 | 110 | 111 | \textbf{问题二:} 折叠桌的设计应做到产品稳固性好、加工方便、用材最少。对于任意给定的折叠桌高度和圆形桌面直径的设计要求,讨论长方形平板材料和折叠桌的最优设计加工参数,例如,平板尺寸、钢筋位置、开槽长度等。对于桌高 \SI{70}{cm},桌面直径 \SI{80}{cm} 的情形,确定最优设计加工参数。 112 | 113 | 114 | \textbf{问题三:} 给出软件设计的数学模型,可以根据客户任意设定的折叠桌高度、桌面边缘线的形状大小和桌脚边缘线的大致形状,给出所需平板材料的形状尺寸和切实可行的最优设计加工参数,使得生产的折叠桌尽可能接近客户所期望的形状,并根据所建立的模型给出几个设计的创意平板折叠桌。要求给出相应的设计加工参数,画出至少8张动态变化过程的示意图。 115 | 116 | 117 | 118 | \clearpage 119 | \section{模型的假设} 120 | 121 | \begin{enumerate} 122 | \item 忽略实际加工误差对设计的影响; 123 | \item 木条与圆桌面之间的交接处缝隙较小,可忽略; 124 | \item 钢筋强度足够大,不弯曲; 125 | \item 假设地面平整。 126 | \end{enumerate} 127 | 128 | 129 | 130 | \section{符号说明} 131 | 132 | \begin{table}[htp!] 133 | \centering 134 | \renewcommand\arraystretch{1.2} %定义表格高度 135 | \newcolumntype{L}{>{\quad}X} 136 | \newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}} 137 | \newcolumntype{C}{>{\centering \arraybackslash}X} 138 | \newcolumntype{R}{>{\raggedright \arraybackslash}X} 139 | \begin{tabularx}{0.9\textwidth}{|P{1cm}|L|} 140 | \hline %\toprule 141 | 符号 & \quad 意义 \\ 142 | \hline %\midrule 143 | %\rowcolor[gray]{0.90} 144 | $ a $ & 符号1的意义 \\ 145 | \hline 146 | $ b $ & 符号2的意义 \\ 147 | \hline 148 | $ c $ & 符号3的意义符号3的意义 \\ 149 | \hline 150 | $ d $ & 符号4的意义 \\ 151 | \hline 152 | $ e $ & 符号5的意义 \\ 153 | \hline 154 | $ f $ & 符号6的意义符号6的意义 \\ 155 | \hline 156 | $ g $ & 符号7的意义 \\ 157 | \hline 158 | $ h $ & 符号8的意义 \\ 159 | \hline 160 | $ i $ & 符号9的意义符号9的意义 \\ 161 | \hline 162 | 163 | $ k $ & 符号10的意义 \\ 164 | \hline 165 | $ l $ & 符号11的意义 \\ 166 | \hline 167 | $ m $ & 符号12的意义 \\ 168 | \hline 169 | $ n $ & 符号13的意义 \\ 170 | \hline 171 | $ p $ & 符号14的意义 \\ 172 | \hline 173 | $ q $ & 符号15的意义 \\ 174 | \hline %\bottomrule 175 | \end{tabularx} 176 | \end{table} 177 | 178 | 179 | %\begin{tabularx}{\textwidth-18pt}{XXX} 180 | %\hline 181 | %Input & Output& Action return \\ 182 | %\hline 183 | %DNF & simulation & jsp\\ 184 | %\hline 185 | %\end{tabularx} 186 | 187 | 188 | \section{模型的建立} 189 | 190 | \subsection{问题一分析} 191 | 题目要求建立模型描述折叠桌的动态变化图,由于在折叠时用力大小的不同,我们不能描述在某一时刻折叠桌的具体形态,但我们可以用每根木条的角度变化来描述折叠桌的动态变化。首先,我们知道折叠桌前后左右对称,我们可以运用几何知识求出四分之一木条的角度变化。最后,根据初始时刻和最终形态两种状态求出桌腿木条开槽的长度 192 | 193 | 194 | \subsection{算法示例} 195 | 196 | 数学建模求解算法示例: 197 | \begin{center} 198 | \begin{minipage}{0.8\textwidth} 199 | \begin{algorithm}[H]%[!htp] 200 | \caption{算法的名字} %算法的名字 201 | {\bf 输入:} %算法的输入, \hspace*{0.02in}用来控制位置,同时利用 \\ 进行换行 202 | input parameters A, B, C\\ 203 | {\bf 输出:} %算法的结果输出 204 | output result 205 | \begin{algorithmic}[1] 206 | \State some description 算法介绍 % \State 后写一般语句 207 | \For{condition} % For 语句,需要和EndFor对应 208 | \State ... 209 | \If{condition} % If 语句,需要和EndIf对应 210 | \State ... 211 | \Else 212 | \State ... 213 | \EndIf 214 | \EndFor 215 | \While{condition} % While语句,需要和EndWhile对应 216 | \State ... 217 | \EndWhile 218 | \State \Return result 219 | \end{algorithmic} 220 | \end{algorithm} 221 | \end{minipage} 222 | \end{center} 223 | \vspace{2ex} 224 | 225 | \section{表格和图形} 226 | 227 | \subsection{表格} 228 | 229 | 使用 tabular 环境, 如下表格: 表~\ref{tab:foo}. 通过 \verb|autoref| 引用表格: \autoref{tab:foo}. 230 | 231 | 这里可使用命令 \verb|\tabcolsep| 和 \verb|\arraystretch| 分别控制列间距和行间距. 232 | 233 | \begin{table}[htp!] 234 | \centering 235 | \setlength{\tabcolsep}{12pt} % 6pt standard 236 | \renewcommand{\arraystretch}{1.2} 237 | \caption{学术活动安排样例} 238 | \label{tab:foo} 239 | \begin{tabular}{|c|c|c|c|} 240 | \hline 241 | \textbf{日期} & \textbf{地点} & \textbf{活动名称} & \textbf{备注} \\ \hline 242 | 2024年8月1日 & 上海 & 学术研讨会 & 主题:人工智能 \\ \hline 243 | 2024年8月15日 & 北京 & 学术交流会 & 重点:数学建模 \\ \hline 244 | 2024年9月1日 & 深圳 & 研究研讨会 & 主题:数据科学 \\ \hline 245 | 2024年10月15日 & 广州 & 创新论坛 & 重点:科技创新 \\ \hline 246 | \end{tabular} 247 | \end{table} 248 | 249 | 250 | \clearpage 251 | 252 | 三线表 253 | \begin{table}[htp!] 254 | \newcolumntype{L}{X} 255 | \newcolumntype{C}{>{\centering \arraybackslash}X} 256 | \newcolumntype{R}{>{\raggedright \arraybackslash}X} 257 | \centering 258 | \caption{某校学生升高体重样本} 259 | \label{tab:heightweight} 260 | \begin{tabularx}{0.9\textwidth}{CCCC} 261 | \toprule 262 | 序号 & 年龄 & 身高 & 体重 \\ 263 | \midrule 264 | 001 & 15 & 156 & 42 \\ 265 | 002 & 16 & 158 & 45 \\ 266 | 003 & 14 & 162 & 48 \\ 267 | 004 & 15 & 163 & 50 \\ 268 | \cmidrule{2-4} 269 | 平均 & 15 & 159.75 & 46.25 \\ 270 | \bottomrule 271 | \end{tabularx} 272 | \end{table} 273 | 274 | % 某行业产量与生产费用的数据 275 | % \begin{table}[htp!] 276 | % \centering 277 | % \caption{某行业产量与生产费用的数据}%\label{} 278 | % \newcolumntype{Y}{>{\centering\arraybackslash}X} 279 | % \newcolumntype{Z}{!{\vline}@{\color{white}\vrule width \doublerulesep}!{\vrule}}%自定义列格式(双线) 280 | % \begin{tabularx}{0.94\textwidth}{c|c|YZc|c|Y} 281 | % \Xhline{0.9pt} 282 | % 企业编号& 产量(台)&生产费用(万元)&企业编号&产量(台)&生产费用(万元)\\\Xcline{1-3}{0.6pt}\Xcline{4-6}{0.6pt} 283 | % 1 & 40 & 130 & 7& 84& 165\\ 284 | % 2 & 42 & 150 & 8& 100& 170\\ 285 | % 3 & 50 & 155 & 9& 116& 167\\ 286 | % 4 & 55 & 140 & 10& 125& 180\\ 287 | % 5 & 65 & 150 & 11& 130& 175\\ 288 | % 6 & 78 & 154 & 12& 140& 185\\\Xhline{0.72pt} 289 | % \end{tabularx} 290 | % \end{table} 291 | 292 | 研究生数学建模2019年F题结果示例 293 | \begin{table}[htp!] 294 | \centering 295 | \caption{问题1结果1 (左) 与 问题2结果 (右)} 296 | \begin{minipage}[h]{0.48\linewidth} 297 | \renewcommand\arraystretch{1.2} %定义表格高度 298 | \newcolumntype{Y}{>{\centering\arraybackslash}X} 299 | \begin{tabularx}{0.9\textwidth}{|Y|Y|Y|} 300 | \hline 301 | 数据集1 & 数据集1 & 数据集2 \\ 302 | \hline 303 | A问题1 & A问题1 & A问题1 \\ 304 | \hline 305 | 503 & 503 & 163 \\ 306 | 294 & 200 & 114 \\ 307 | 91 & 80 & 8 \\ 308 | 607 & 237 & 309 \\ 309 | 540 & 170 & 305 \\ 310 | 250 & 278 & 123 \\ 311 | 340 & 369 & 45 \\ 312 | 277 & 214 & 160 \\ 313 | B & 397 & 92 \\ 314 | & B & 93 \\ 315 | & & 61 \\ 316 | & & 292 \\ 317 | & & B \\ 318 | 104861 & 103518 & 109342 \\ 319 | \hline 320 | \end{tabularx} 321 | \end{minipage} 322 | \begin{minipage}[h]{0.48\linewidth} 323 | \renewcommand\arraystretch{1.2} %定义表格高度 324 | \newcolumntype{Y}{>{\centering\arraybackslash}X} 325 | \begin{tabularx}{0.9\textwidth}{|Y|Y|Y|} 326 | \hline 327 | 数据集1 & 数据集1 & 数据集2 \\ 328 | \hline 329 | A问题2 & A问题2 & A问题2 \\ 330 | \hline 331 | 503 & 503 & 163 \\ 332 | 294 & 200 & 114 \\ 333 | 91 & 80 & 8 \\ 334 | 607 & 237 & 309 \\ 335 | 540 & 170 & 305 \\ 336 | 250 & 278 & 123 \\ 337 | 340 & 369 & 45 \\ 338 | 277 & 214 & 160 \\ 339 | B & 397 & 92 \\ 340 | & B & 93 \\ 341 | & & 61 \\ 342 | & & 292 \\ 343 | & & B \\ 344 | 104917 & 103563 &109427 \\ 345 | \hline 346 | \end{tabularx} 347 | \end{minipage} 348 | \end{table} 349 | 350 | \clearpage 351 | \begin{table}[htp!] 352 | %\small 353 | \centering 354 | \renewcommand\arraystretch{1.2} %定义表格高度 355 | \newcolumntype{Y}{>{\centering\arraybackslash}X} 356 | \caption{问题3结果} 357 | \begin{tabularx}{0.9\textwidth}{|Y|Y|Y|Y|Y|Y|} 358 | \hline %定义表格宽度 359 | 数据集1 & 数据集1 & \multicolumn{2}{c|}{数据集2 (无问题点)} & \multicolumn{2}{c|}{数据集2 (有问题点)} \\ 360 | \hline 361 | A问题3 & A问题3 & \multicolumn{2}{c|}{A问题3} & \multicolumn{2}{c|}{A问题3} \\ 362 | \hline 363 | 503 & 503 & 169 & 73 & 169 & 73 \\ 364 | \hline 365 | 69 & 69 & 322 & 249 & 322 & 249 \\ 366 | \hline 367 | 506 & 506 & 270 & 274 & 270 & 274 \\ 368 | \hline 369 | 371 & 371 & 89 & 12 & 89 & 12 \\ 370 | \hline 371 | 183 & 183 & 236 & 216 & 236 & 216 \\ 372 | \hline 373 | 194 & 194 & 132 & 16 & 132 & 16 \\ 374 | \hline 375 | 450 & 450 & 53 & 282 & 53 & 282 \\ 376 | \hline 377 | 286 & 113 & 112 & 84 & 112 & 141 \\ 378 | \hline 379 | 485 & 485 & 268 & 287 & 268 & 291 \\ 380 | \hline 381 | \red{B (9D)}~~ & 248 & 250 & 99 & 250 &161 \\ 382 | \hline 383 | & \red{B (10D)} & 243 & \red{B (21D)} & 243 & \red{B (21D)} \\ 384 | \hline 385 | & & & & & \\ 386 | \hline 387 | 104861m & 103518m & & 168924m & &161650m \\ 388 | \hline 389 | \end{tabularx} 390 | \end{table} 391 | 392 | 393 | \subsection{图形} 394 | 395 | 图形并列 396 | \begin{figure}[htp!] 397 | \begin{minipage}[t]{0.48\linewidth} 398 | \centering 399 | \includegraphics[width=0.9\textwidth]{image1} 400 | \caption{fig1} 401 | \label{fig:side:a} 402 | \end{minipage}% 403 | \begin{minipage}[t]{0.48\linewidth} 404 | \centering 405 | \includegraphics[width=0.9\textwidth]{image2} % 2.2in 406 | \caption{fig2} 407 | \label{fig:side:b} 408 | \end{minipage} 409 | \end{figure} 410 | 411 | 这是一个算法流程图 412 | \begin{figure}[htp!] 413 | \centering 414 | \includegraphics[width=.55\textwidth]{fig.png} 415 | \caption{算法流程图} 416 | \end{figure} 417 | 418 | 多图并排 419 | \begin{figure}[!htp] 420 | \centering 421 | \subfloat[Arabic numerals]{\includegraphics[width=0.4\textwidth]{image1}}\qquad 422 | \subfloat[Arabic numerals]{\includegraphics[width=0.4\textwidth]{image2}} \\ 423 | \subfloat[Arabic numerals]{\includegraphics[width=0.4\textwidth]{image3}}\qquad 424 | \subfloat[Arabic numerals]{\includegraphics[width=0.4\textwidth]{image4}} 425 | \caption{多图示例} 426 | \end{figure} 427 | 428 | 429 | \clearpage 430 | \subsection{问题三分析} 431 | 432 | 题目要求制作软件的意思就是客户给定折叠桌高度、桌面边缘线的形状大小和桌脚边缘线的大致形状,将这些信息输入程序就得到客户想要的桌子。我们在求解最优设计加工参数时,自行给定桌面边缘线形状(椭圆、相交圆等),桌脚边缘线形状,折叠桌高度,应用第二问的非线性规划模型,用MATLAB软件绘制折叠桌截面图,得到自己设计的创意平板折叠桌。 433 | 434 | 435 | \section{模型评价} 436 | 437 | 这里是模型评价 438 | 439 | 440 | 441 | %参考文献 手工录入 442 | %\begin{thebibliography}{9}%宽度9 443 | % \bibitem{bib:one} .... 444 | % \bibitem{bib:two} .... 445 | %\end{thebibliography} 446 | 447 | %采用bibtex方案 448 | \cite{mittelbach_latex_2004,wright_latex3_2009,beeton_unicode_2008,vieth_experiences_2009} 449 | 450 | \bibliographystyle{gmcm} 451 | \bibliography{reference} 452 | 453 | 454 | \clearpage 455 | %附录 456 | \begin{appendices} 457 | %\setcounter{page}{1} %如果需要可以自行重置页码。 458 | \section{MATLAB 源程序} 459 | \renewcommand{\thesubsection}{A\thinskip.\thinskip\arabic{subsection}} 460 | \subsection{第1问程序} 461 | \vspace{-2ex} 462 | 463 | \begin{Matlab}{code.m} 464 | clear all 465 | kk=2; 466 | [mdd,ndd]=size(dd); 467 | while ~isempty(V) 468 | [tmpd,j]=min(W(i,V)); 469 | tmpj=V(j); 470 | for k=2:ndd 471 | [tmp1,jj]=min(dd(1,k)+W(dd(2,k),V)); 472 | tmp2=V(jj); 473 | tt(k-1,:)=[tmp1,tmp2,jj]; 474 | end 475 | tmp=[tmpd,tmpj,j;tt]; 476 | [tmp3,tmp4]=min(tmp(:,1)); 477 | if tmp3==tmpd, 478 | ss(1:2,kk)=[i;tmp(tmp4,2)]; 479 | else 480 | tmp5=find(ss(:,tmp4)~=0); 481 | tmp6=length(tmp5); 482 | if dd(2,tmp4)==ss(tmp6,tmp4) 483 | ss(1:tmp6+1,kk)=[ss(tmp5,tmp4);tmp(tmp4,2)]; 484 | else, ss(1:3,kk)=[i;dd(2,tmp4);tmp(tmp4,2)]; 485 | end 486 | end 487 | dd=[dd,[tmp3;tmp(tmp4,2)]]; 488 | V(tmp(tmp4,3))=[]; 489 | [mdd,ndd]=size(dd);kk=kk+1; 490 | end; 491 | S=ss; D=dd(1,:); 492 | \end{Matlab} 493 | \vspace{2ex} 494 | 495 | \clearpage 496 | \section{Python 源程序} 497 | \renewcommand{\thesubsection}{B\thinskip.\thinskip\arabic{subsection}} 498 | \subsection{第2问程序} 499 | \vspace{-2ex} 500 | \begin{Python}{mip1.py} 501 | # This example formulates and solves the following simple MIP model: 502 | # maximize 503 | # x + y + 2 z 504 | # subject to 505 | # x + 2 y + 3 z <= 4 506 | # x + y >= 1 507 | # x, y, z binary 508 | 509 | # import gurobipy as gp 510 | from gurobipy import * #GRB 511 | try: 512 | # Create a new model 513 | m = Model("mip1") 514 | # Create variables 515 | x = m.addVar(vtype=GRB.BINARY, name="x") 516 | y = m.addVar(vtype=GRB.BINARY, name="y") 517 | z = m.addVar(vtype=GRB.BINARY, name="z") 518 | # Set objective 519 | m.setObjective(x + y + 2 * z, GRB.MAXIMIZE) 520 | # Add constraint: x + 2 y + 3 z <= 4 521 | m.addConstr(x + 2 * y + 3 * z <= 4, "c0") 522 | # Add constraint: x + y >= 1 523 | m.addConstr(x + y >= 1, "c1") 524 | # Optimize model 525 | m.optimize() 526 | for v in m.getVars(): 527 | print('%s %g' % (v.varName, v.x)) 528 | print('Obj: %g' % m.objVal) 529 | 530 | except GurobiError as e: 531 | print('Error code ' + str(e.errno) + ': ' + str(e)) 532 | 533 | except AttributeError: 534 | print('Encountered an attribute error') 535 | \end{Python} 536 | 537 | \end{appendices} 538 | 539 | 540 | 541 | \end{document} 542 | -------------------------------------------------------------------------------- /example_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/example_1.png -------------------------------------------------------------------------------- /example_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/example_2.png -------------------------------------------------------------------------------- /figures/fig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/figures/fig.png -------------------------------------------------------------------------------- /figures/image1.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-3.0 EPSF-3.0 2 | %%Creator: (MATLAB, The Mathworks, Inc. Version 9.6.0.1072779 \(R2019a\). Operating System: Windows 10) 3 | %%Title: ./image1.eps 4 | %%CreationDate: 2020-09-06T22:28:27 5 | %%Pages: (atend) 6 | %%BoundingBox: 33 20 383 295 7 | %%LanguageLevel: 2 8 | %%EndComments 9 | %%BeginProlog 10 | %%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.2 0 11 | %%Version: 1.2 0 12 | %%Copyright: (Copyright 2001-2003,2010 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0) 13 | /bd{bind def}bind def 14 | /ld{load def}bd 15 | /GR/grestore ld 16 | /GS/gsave ld 17 | /RM/rmoveto ld 18 | /C/curveto ld 19 | /t/show ld 20 | /L/lineto ld 21 | /ML/setmiterlimit ld 22 | /CT/concat ld 23 | /f/fill ld 24 | /N/newpath ld 25 | /S/stroke ld 26 | /CC/setcmykcolor ld 27 | /A/ashow ld 28 | /cp/closepath ld 29 | /RC/setrgbcolor ld 30 | /LJ/setlinejoin ld 31 | /GC/setgray ld 32 | /LW/setlinewidth ld 33 | /M/moveto ld 34 | /re {4 2 roll M 35 | 1 index 0 rlineto 36 | 0 exch rlineto 37 | neg 0 rlineto 38 | cp } bd 39 | /_ctm matrix def 40 | /_tm matrix def 41 | /BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd 42 | /ET { _ctm setmatrix } bd 43 | /iTm { _ctm setmatrix _tm concat } bd 44 | /Tm { _tm astore pop iTm 0 0 moveto } bd 45 | /ux 0.0 def 46 | /uy 0.0 def 47 | /F { 48 | /Tp exch def 49 | /Tf exch def 50 | Tf findfont Tp scalefont setfont 51 | /cf Tf def /cs Tp def 52 | } bd 53 | /ULS {currentpoint /uy exch def /ux exch def} bd 54 | /ULE { 55 | /Tcx currentpoint pop def 56 | gsave 57 | newpath 58 | cf findfont cs scalefont dup 59 | /FontMatrix get 0 get /Ts exch def /FontInfo get dup 60 | /UnderlinePosition get Ts mul /To exch def 61 | /UnderlineThickness get Ts mul /Tt exch def 62 | ux uy To add moveto Tcx uy To add lineto 63 | Tt setlinewidth stroke 64 | grestore 65 | } bd 66 | /OLE { 67 | /Tcx currentpoint pop def 68 | gsave 69 | newpath 70 | cf findfont cs scalefont dup 71 | /FontMatrix get 0 get /Ts exch def /FontInfo get dup 72 | /UnderlinePosition get Ts mul /To exch def 73 | /UnderlineThickness get Ts mul /Tt exch def 74 | ux uy To add cs add moveto Tcx uy To add cs add lineto 75 | Tt setlinewidth stroke 76 | grestore 77 | } bd 78 | /SOE { 79 | /Tcx currentpoint pop def 80 | gsave 81 | newpath 82 | cf findfont cs scalefont dup 83 | /FontMatrix get 0 get /Ts exch def /FontInfo get dup 84 | /UnderlinePosition get Ts mul /To exch def 85 | /UnderlineThickness get Ts mul /Tt exch def 86 | ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto 87 | Tt setlinewidth stroke 88 | grestore 89 | } bd 90 | /QT { 91 | /Y22 exch store 92 | /X22 exch store 93 | /Y21 exch store 94 | /X21 exch store 95 | currentpoint 96 | /Y21 load 2 mul add 3 div exch 97 | /X21 load 2 mul add 3 div exch 98 | /X21 load 2 mul /X22 load add 3 div 99 | /Y21 load 2 mul /Y22 load add 3 div 100 | /X22 load /Y22 load curveto 101 | } bd 102 | /SSPD { 103 | dup length /d exch dict def 104 | { 105 | /v exch def 106 | /k exch def 107 | currentpagedevice k known { 108 | /cpdv currentpagedevice k get def 109 | v cpdv ne { 110 | /upd false def 111 | /nullv v type /nulltype eq def 112 | /nullcpdv cpdv type /nulltype eq def 113 | nullv nullcpdv or 114 | { 115 | /upd true def 116 | } { 117 | /sametype v type cpdv type eq def 118 | sametype { 119 | v type /arraytype eq { 120 | /vlen v length def 121 | /cpdvlen cpdv length def 122 | vlen cpdvlen eq { 123 | 0 1 vlen 1 sub { 124 | /i exch def 125 | /obj v i get def 126 | /cpdobj cpdv i get def 127 | obj cpdobj ne { 128 | /upd true def 129 | exit 130 | } if 131 | } for 132 | } { 133 | /upd true def 134 | } ifelse 135 | } { 136 | v type /dicttype eq { 137 | v { 138 | /dv exch def 139 | /dk exch def 140 | /cpddv cpdv dk get def 141 | dv cpddv ne { 142 | /upd true def 143 | exit 144 | } if 145 | } forall 146 | } { 147 | /upd true def 148 | } ifelse 149 | } ifelse 150 | } if 151 | } ifelse 152 | upd true eq { 153 | d k v put 154 | } if 155 | } if 156 | } if 157 | } forall 158 | d length 0 gt { 159 | d setpagedevice 160 | } if 161 | } bd 162 | /RE { % /NewFontName [NewEncodingArray] /FontName RE - 163 | findfont dup length dict begin 164 | { 165 | 1 index /FID ne 166 | {def} {pop pop} ifelse 167 | } forall 168 | /Encoding exch def 169 | /FontName 1 index def 170 | currentdict definefont pop 171 | end 172 | } bind def 173 | %%EndResource 174 | %%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0 175 | %%Version: 1.0 0 176 | %%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0) 177 | /BeginEPSF { %def 178 | /b4_Inc_state save def % Save state for cleanup 179 | /dict_count countdictstack def % Count objects on dict stack 180 | /op_count count 1 sub def % Count objects on operand stack 181 | userdict begin % Push userdict on dict stack 182 | /showpage { } def % Redefine showpage, { } = null proc 183 | 0 setgray 0 setlinecap % Prepare graphics state 184 | 1 setlinewidth 0 setlinejoin 185 | 10 setmiterlimit [ ] 0 setdash newpath 186 | /languagelevel where % If level not equal to 1 then 187 | {pop languagelevel % set strokeadjust and 188 | 1 ne % overprint to their defaults. 189 | {false setstrokeadjust false setoverprint 190 | } if 191 | } if 192 | } bd 193 | /EndEPSF { %def 194 | count op_count sub {pop} repeat % Clean up stacks 195 | countdictstack dict_count sub {end} repeat 196 | b4_Inc_state restore 197 | } bd 198 | %%EndResource 199 | %FOPBeginFontDict 200 | %%IncludeResource: font Courier-Oblique 201 | %%IncludeResource: font Courier-BoldOblique 202 | %%IncludeResource: font Courier-Bold 203 | %%IncludeResource: font ZapfDingbats 204 | %%IncludeResource: font Symbol 205 | %%IncludeResource: font Helvetica 206 | %%IncludeResource: font Helvetica-Oblique 207 | %%IncludeResource: font Helvetica-Bold 208 | %%IncludeResource: font Helvetica-BoldOblique 209 | %%IncludeResource: font Times-Roman 210 | %%IncludeResource: font Times-Italic 211 | %%IncludeResource: font Times-Bold 212 | %%IncludeResource: font Times-BoldItalic 213 | %%IncludeResource: font Courier 214 | %FOPEndFontDict 215 | %%BeginResource: encoding WinAnsiEncoding 216 | /WinAnsiEncoding [ 217 | /.notdef /.notdef /.notdef /.notdef /.notdef 218 | /.notdef /.notdef /.notdef /.notdef /.notdef 219 | /.notdef /.notdef /.notdef /.notdef /.notdef 220 | /.notdef /.notdef /.notdef /.notdef /.notdef 221 | /.notdef /.notdef /.notdef /.notdef /.notdef 222 | /.notdef /.notdef /.notdef /.notdef /.notdef 223 | /.notdef /.notdef /space /exclam /quotedbl 224 | /numbersign /dollar /percent /ampersand /quotesingle 225 | /parenleft /parenright /asterisk /plus /comma 226 | /hyphen /period /slash /zero /one 227 | /two /three /four /five /six 228 | /seven /eight /nine /colon /semicolon 229 | /less /equal /greater /question /at 230 | /A /B /C /D /E 231 | /F /G /H /I /J 232 | /K /L /M /N /O 233 | /P /Q /R /S /T 234 | /U /V /W /X /Y 235 | /Z /bracketleft /backslash /bracketright /asciicircum 236 | /underscore /quoteleft /a /b /c 237 | /d /e /f /g /h 238 | /i /j /k /l /m 239 | /n /o /p /q /r 240 | /s /t /u /v /w 241 | /x /y /z /braceleft /bar 242 | /braceright /asciitilde /bullet /Euro /bullet 243 | /quotesinglbase /florin /quotedblbase /ellipsis /dagger 244 | /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft 245 | /OE /bullet /Zcaron /bullet /bullet 246 | /quoteleft /quoteright /quotedblleft /quotedblright /bullet 247 | /endash /emdash /asciitilde /trademark /scaron 248 | /guilsinglright /oe /bullet /zcaron /Ydieresis 249 | /space /exclamdown /cent /sterling /currency 250 | /yen /brokenbar /section /dieresis /copyright 251 | /ordfeminine /guillemotleft /logicalnot /sfthyphen /registered 252 | /macron /degree /plusminus /twosuperior /threesuperior 253 | /acute /mu /paragraph /middot /cedilla 254 | /onesuperior /ordmasculine /guillemotright /onequarter /onehalf 255 | /threequarters /questiondown /Agrave /Aacute /Acircumflex 256 | /Atilde /Adieresis /Aring /AE /Ccedilla 257 | /Egrave /Eacute /Ecircumflex /Edieresis /Igrave 258 | /Iacute /Icircumflex /Idieresis /Eth /Ntilde 259 | /Ograve /Oacute /Ocircumflex /Otilde /Odieresis 260 | /multiply /Oslash /Ugrave /Uacute /Ucircumflex 261 | /Udieresis /Yacute /Thorn /germandbls /agrave 262 | /aacute /acircumflex /atilde /adieresis /aring 263 | /ae /ccedilla /egrave /eacute /ecircumflex 264 | /edieresis /igrave /iacute /icircumflex /idieresis 265 | /eth /ntilde /ograve /oacute /ocircumflex 266 | /otilde /odieresis /divide /oslash /ugrave 267 | /uacute /ucircumflex /udieresis /yacute /thorn 268 | /ydieresis 269 | ] def 270 | %%EndResource 271 | %FOPBeginFontReencode 272 | /Courier-Oblique findfont 273 | dup length dict begin 274 | {1 index /FID ne {def} {pop pop} ifelse} forall 275 | /Encoding WinAnsiEncoding def 276 | currentdict 277 | end 278 | /Courier-Oblique exch definefont pop 279 | /Courier-BoldOblique findfont 280 | dup length dict begin 281 | {1 index /FID ne {def} {pop pop} ifelse} forall 282 | /Encoding WinAnsiEncoding def 283 | currentdict 284 | end 285 | /Courier-BoldOblique exch definefont pop 286 | /Courier-Bold findfont 287 | dup length dict begin 288 | {1 index /FID ne {def} {pop pop} ifelse} forall 289 | /Encoding WinAnsiEncoding def 290 | currentdict 291 | end 292 | /Courier-Bold exch definefont pop 293 | /Helvetica findfont 294 | dup length dict begin 295 | {1 index /FID ne {def} {pop pop} ifelse} forall 296 | /Encoding WinAnsiEncoding def 297 | currentdict 298 | end 299 | /Helvetica exch definefont pop 300 | /Helvetica-Oblique findfont 301 | dup length dict begin 302 | {1 index /FID ne {def} {pop pop} ifelse} forall 303 | /Encoding WinAnsiEncoding def 304 | currentdict 305 | end 306 | /Helvetica-Oblique exch definefont pop 307 | /Helvetica-Bold findfont 308 | dup length dict begin 309 | {1 index /FID ne {def} {pop pop} ifelse} forall 310 | /Encoding WinAnsiEncoding def 311 | currentdict 312 | end 313 | /Helvetica-Bold exch definefont pop 314 | /Helvetica-BoldOblique findfont 315 | dup length dict begin 316 | {1 index /FID ne {def} {pop pop} ifelse} forall 317 | /Encoding WinAnsiEncoding def 318 | currentdict 319 | end 320 | /Helvetica-BoldOblique exch definefont pop 321 | /Times-Roman findfont 322 | dup length dict begin 323 | {1 index /FID ne {def} {pop pop} ifelse} forall 324 | /Encoding WinAnsiEncoding def 325 | currentdict 326 | end 327 | /Times-Roman exch definefont pop 328 | /Times-Italic findfont 329 | dup length dict begin 330 | {1 index /FID ne {def} {pop pop} ifelse} forall 331 | /Encoding WinAnsiEncoding def 332 | currentdict 333 | end 334 | /Times-Italic exch definefont pop 335 | /Times-Bold findfont 336 | dup length dict begin 337 | {1 index /FID ne {def} {pop pop} ifelse} forall 338 | /Encoding WinAnsiEncoding def 339 | currentdict 340 | end 341 | /Times-Bold exch definefont pop 342 | /Times-BoldItalic findfont 343 | dup length dict begin 344 | {1 index /FID ne {def} {pop pop} ifelse} forall 345 | /Encoding WinAnsiEncoding def 346 | currentdict 347 | end 348 | /Times-BoldItalic exch definefont pop 349 | /Courier findfont 350 | dup length dict begin 351 | {1 index /FID ne {def} {pop pop} ifelse} forall 352 | /Encoding WinAnsiEncoding def 353 | currentdict 354 | end 355 | /Courier exch definefont pop 356 | %FOPEndFontReencode 357 | %%EndProlog 358 | %%Page: 1 1 359 | %%PageBoundingBox: 0 0 420 315 360 | %%BeginPageSetup 361 | [1 0 0 -1 0 315] CT 362 | %%EndPageSetup 363 | GS 364 | [0.375 0 0 0.375 0 0] CT 365 | 1 GC 366 | N 367 | 0 0 1120 840 re 368 | f 369 | GR 370 | GS 371 | [0.375 0 0 0.375 0 0] CT 372 | 1 GC 373 | N 374 | 0 0 1120 840 re 375 | f 376 | GR 377 | GS 378 | [0.375 0 0 0.375 0 0] CT 379 | 1 GC 380 | N 381 | 146 748 M 382 | 1014 748 L 383 | 1014 63 L 384 | 146 63 L 385 | cp 386 | f 387 | GR 388 | GS 389 | [0.375 0 0 0.375 0 0] CT 390 | 0.149 GC 391 | 2 setlinecap 392 | 1 LJ 393 | 1.333 LW 394 | N 395 | 146 748 M 396 | 1014 748 L 397 | S 398 | GR 399 | GS 400 | [0.375 0 0 0.375 0 0] CT 401 | 0.149 GC 402 | 2 setlinecap 403 | 1 LJ 404 | 1.333 LW 405 | N 406 | 146 63 M 407 | 1014 63 L 408 | S 409 | GR 410 | GS 411 | [0.375 0 0 0.375 0 0] CT 412 | 0.149 GC 413 | 2 setlinecap 414 | 1 LJ 415 | 1.333 LW 416 | N 417 | 146 748 M 418 | 146 739.32 L 419 | S 420 | GR 421 | GS 422 | [0.375 0 0 0.375 0 0] CT 423 | 0.149 GC 424 | 2 setlinecap 425 | 1 LJ 426 | 1.333 LW 427 | N 428 | 580 748 M 429 | 580 739.32 L 430 | S 431 | GR 432 | GS 433 | [0.375 0 0 0.375 0 0] CT 434 | 0.149 GC 435 | 2 setlinecap 436 | 1 LJ 437 | 1.333 LW 438 | N 439 | 1014 748 M 440 | 1014 739.32 L 441 | S 442 | GR 443 | GS 444 | [0.375 0 0 0.375 0 0] CT 445 | 0.149 GC 446 | 2 setlinecap 447 | 1 LJ 448 | 1.333 LW 449 | N 450 | 146 63 M 451 | 146 71.68 L 452 | S 453 | GR 454 | GS 455 | [0.375 0 0 0.375 0 0] CT 456 | 0.149 GC 457 | 2 setlinecap 458 | 1 LJ 459 | 1.333 LW 460 | N 461 | 580 63 M 462 | 580 71.68 L 463 | S 464 | GR 465 | GS 466 | [0.375 0 0 0.375 0 0] CT 467 | 0.149 GC 468 | 2 setlinecap 469 | 1 LJ 470 | 1.333 LW 471 | N 472 | 1014 63 M 473 | 1014 71.68 L 474 | S 475 | GR 476 | GS 477 | [0.375 0 0 0.375 54.75 284.50001] CT 478 | 0.149 GC 479 | /Helvetica 26.667 F 480 | GS 481 | [1 0 0 1 0 0] CT 482 | -12 27 moveto 483 | 1 -1 scale 484 | (-5) t 485 | GR 486 | GR 487 | GS 488 | [0.375 0 0 0.375 217.5 284.50001] CT 489 | 0.149 GC 490 | /Helvetica 26.667 F 491 | GS 492 | [1 0 0 1 0 0] CT 493 | -7.5 27 moveto 494 | 1 -1 scale 495 | (0) t 496 | GR 497 | GR 498 | GS 499 | [0.375 0 0 0.375 380.25 284.50001] CT 500 | 0.149 GC 501 | /Helvetica 26.667 F 502 | GS 503 | [1 0 0 1 0 0] CT 504 | -7.5 27 moveto 505 | 1 -1 scale 506 | (5) t 507 | GR 508 | GR 509 | GS 510 | [0.375 0 0 0.375 0 0] CT 511 | 0.149 GC 512 | 2 setlinecap 513 | 1 LJ 514 | 1.333 LW 515 | N 516 | 146 748 M 517 | 146 63 L 518 | S 519 | GR 520 | GS 521 | [0.375 0 0 0.375 0 0] CT 522 | 0.149 GC 523 | 2 setlinecap 524 | 1 LJ 525 | 1.333 LW 526 | N 527 | 1014 748 M 528 | 1014 63 L 529 | S 530 | GR 531 | GS 532 | [0.375 0 0 0.375 0 0] CT 533 | 0.149 GC 534 | 2 setlinecap 535 | 1 LJ 536 | 1.333 LW 537 | N 538 | 146 748 M 539 | 154.68 748 L 540 | S 541 | GR 542 | GS 543 | [0.375 0 0 0.375 0 0] CT 544 | 0.149 GC 545 | 2 setlinecap 546 | 1 LJ 547 | 1.333 LW 548 | N 549 | 146 679.5 M 550 | 154.68 679.5 L 551 | S 552 | GR 553 | GS 554 | [0.375 0 0 0.375 0 0] CT 555 | 0.149 GC 556 | 2 setlinecap 557 | 1 LJ 558 | 1.333 LW 559 | N 560 | 146 611 M 561 | 154.68 611 L 562 | S 563 | GR 564 | GS 565 | [0.375 0 0 0.375 0 0] CT 566 | 0.149 GC 567 | 2 setlinecap 568 | 1 LJ 569 | 1.333 LW 570 | N 571 | 146 542.5 M 572 | 154.68 542.5 L 573 | S 574 | GR 575 | GS 576 | [0.375 0 0 0.375 0 0] CT 577 | 0.149 GC 578 | 2 setlinecap 579 | 1 LJ 580 | 1.333 LW 581 | N 582 | 146 474 M 583 | 154.68 474 L 584 | S 585 | GR 586 | GS 587 | [0.375 0 0 0.375 0 0] CT 588 | 0.149 GC 589 | 2 setlinecap 590 | 1 LJ 591 | 1.333 LW 592 | N 593 | 146 405.5 M 594 | 154.68 405.5 L 595 | S 596 | GR 597 | GS 598 | [0.375 0 0 0.375 0 0] CT 599 | 0.149 GC 600 | 2 setlinecap 601 | 1 LJ 602 | 1.333 LW 603 | N 604 | 146 337 M 605 | 154.68 337 L 606 | S 607 | GR 608 | GS 609 | [0.375 0 0 0.375 0 0] CT 610 | 0.149 GC 611 | 2 setlinecap 612 | 1 LJ 613 | 1.333 LW 614 | N 615 | 146 268.5 M 616 | 154.68 268.5 L 617 | S 618 | GR 619 | GS 620 | [0.375 0 0 0.375 0 0] CT 621 | 0.149 GC 622 | 2 setlinecap 623 | 1 LJ 624 | 1.333 LW 625 | N 626 | 146 200 M 627 | 154.68 200 L 628 | S 629 | GR 630 | GS 631 | [0.375 0 0 0.375 0 0] CT 632 | 0.149 GC 633 | 2 setlinecap 634 | 1 LJ 635 | 1.333 LW 636 | N 637 | 146 131.5 M 638 | 154.68 131.5 L 639 | S 640 | GR 641 | GS 642 | [0.375 0 0 0.375 0 0] CT 643 | 0.149 GC 644 | 2 setlinecap 645 | 1 LJ 646 | 1.333 LW 647 | N 648 | 146 63 M 649 | 154.68 63 L 650 | S 651 | GR 652 | GS 653 | [0.375 0 0 0.375 0 0] CT 654 | 0.149 GC 655 | 2 setlinecap 656 | 1 LJ 657 | 1.333 LW 658 | N 659 | 1014 748 M 660 | 1005.32 748 L 661 | S 662 | GR 663 | GS 664 | [0.375 0 0 0.375 0 0] CT 665 | 0.149 GC 666 | 2 setlinecap 667 | 1 LJ 668 | 1.333 LW 669 | N 670 | 1014 679.5 M 671 | 1005.32 679.5 L 672 | S 673 | GR 674 | GS 675 | [0.375 0 0 0.375 0 0] CT 676 | 0.149 GC 677 | 2 setlinecap 678 | 1 LJ 679 | 1.333 LW 680 | N 681 | 1014 611 M 682 | 1005.32 611 L 683 | S 684 | GR 685 | GS 686 | [0.375 0 0 0.375 0 0] CT 687 | 0.149 GC 688 | 2 setlinecap 689 | 1 LJ 690 | 1.333 LW 691 | N 692 | 1014 542.5 M 693 | 1005.32 542.5 L 694 | S 695 | GR 696 | GS 697 | [0.375 0 0 0.375 0 0] CT 698 | 0.149 GC 699 | 2 setlinecap 700 | 1 LJ 701 | 1.333 LW 702 | N 703 | 1014 474 M 704 | 1005.32 474 L 705 | S 706 | GR 707 | GS 708 | [0.375 0 0 0.375 0 0] CT 709 | 0.149 GC 710 | 2 setlinecap 711 | 1 LJ 712 | 1.333 LW 713 | N 714 | 1014 405.5 M 715 | 1005.32 405.5 L 716 | S 717 | GR 718 | GS 719 | [0.375 0 0 0.375 0 0] CT 720 | 0.149 GC 721 | 2 setlinecap 722 | 1 LJ 723 | 1.333 LW 724 | N 725 | 1014 337 M 726 | 1005.32 337 L 727 | S 728 | GR 729 | GS 730 | [0.375 0 0 0.375 0 0] CT 731 | 0.149 GC 732 | 2 setlinecap 733 | 1 LJ 734 | 1.333 LW 735 | N 736 | 1014 268.5 M 737 | 1005.32 268.5 L 738 | S 739 | GR 740 | GS 741 | [0.375 0 0 0.375 0 0] CT 742 | 0.149 GC 743 | 2 setlinecap 744 | 1 LJ 745 | 1.333 LW 746 | N 747 | 1014 200 M 748 | 1005.32 200 L 749 | S 750 | GR 751 | GS 752 | [0.375 0 0 0.375 0 0] CT 753 | 0.149 GC 754 | 2 setlinecap 755 | 1 LJ 756 | 1.333 LW 757 | N 758 | 1014 131.5 M 759 | 1005.32 131.5 L 760 | S 761 | GR 762 | GS 763 | [0.375 0 0 0.375 0 0] CT 764 | 0.149 GC 765 | 2 setlinecap 766 | 1 LJ 767 | 1.333 LW 768 | N 769 | 1014 63 M 770 | 1005.32 63 L 771 | S 772 | GR 773 | GS 774 | [0.375 0 0 0.375 50.74999 280.5] CT 775 | 0.149 GC 776 | /Helvetica 26.667 F 777 | GS 778 | [1 0 0 1 0 0] CT 779 | -24 10.5 moveto 780 | 1 -1 scale 781 | (-1) t 782 | GR 783 | GR 784 | GS 785 | [0.375 0 0 0.375 50.74999 254.8125] CT 786 | 0.149 GC 787 | /Helvetica 26.667 F 788 | GS 789 | [1 0 0 1 0 0] CT 790 | -46 10.5 moveto 791 | 1 -1 scale 792 | (-0.8) t 793 | GR 794 | GR 795 | GS 796 | [0.375 0 0 0.375 50.74999 229.125] CT 797 | 0.149 GC 798 | /Helvetica 26.667 F 799 | GS 800 | [1 0 0 1 0 0] CT 801 | -46 10.5 moveto 802 | 1 -1 scale 803 | (-0.6) t 804 | GR 805 | GR 806 | GS 807 | [0.375 0 0 0.375 50.74999 203.4375] CT 808 | 0.149 GC 809 | /Helvetica 26.667 F 810 | GS 811 | [1 0 0 1 0 0] CT 812 | -46 10.5 moveto 813 | 1 -1 scale 814 | (-0.4) t 815 | GR 816 | GR 817 | GS 818 | [0.375 0 0 0.375 50.74999 177.75] CT 819 | 0.149 GC 820 | /Helvetica 26.667 F 821 | GS 822 | [1 0 0 1 0 0] CT 823 | -46 10.5 moveto 824 | 1 -1 scale 825 | (-0.2) t 826 | GR 827 | GR 828 | GS 829 | [0.375 0 0 0.375 50.74999 152.0625] CT 830 | 0.149 GC 831 | /Helvetica 26.667 F 832 | GS 833 | [1 0 0 1 0 0] CT 834 | -15 10.5 moveto 835 | 1 -1 scale 836 | (0) t 837 | GR 838 | GR 839 | GS 840 | [0.375 0 0 0.375 50.74999 126.375] CT 841 | 0.149 GC 842 | /Helvetica 26.667 F 843 | GS 844 | [1 0 0 1 0 0] CT 845 | -38 10.5 moveto 846 | 1 -1 scale 847 | (0.2) t 848 | GR 849 | GR 850 | GS 851 | [0.375 0 0 0.375 50.74999 100.6875] CT 852 | 0.149 GC 853 | /Helvetica 26.667 F 854 | GS 855 | [1 0 0 1 0 0] CT 856 | -38 10.5 moveto 857 | 1 -1 scale 858 | (0.4) t 859 | GR 860 | GR 861 | GS 862 | [0.375 0 0 0.375 50.74999 74.99999] CT 863 | 0.149 GC 864 | /Helvetica 26.667 F 865 | GS 866 | [1 0 0 1 0 0] CT 867 | -38 10.5 moveto 868 | 1 -1 scale 869 | (0.6) t 870 | GR 871 | GR 872 | GS 873 | [0.375 0 0 0.375 50.74999 49.3125] CT 874 | 0.149 GC 875 | /Helvetica 26.667 F 876 | GS 877 | [1 0 0 1 0 0] CT 878 | -38 10.5 moveto 879 | 1 -1 scale 880 | (0.8) t 881 | GR 882 | GR 883 | GS 884 | [0.375 0 0 0.375 50.74999 23.625] CT 885 | 0.149 GC 886 | /Helvetica 26.667 F 887 | GS 888 | [1 0 0 1 0 0] CT 889 | -15 10.5 moveto 890 | 1 -1 scale 891 | (1) t 892 | GR 893 | GR 894 | GS 895 | [0.375 0 0 0.375 0 0] CT 896 | 0 0.447 0.741 RC 897 | 1 LJ 898 | 1.333 LW 899 | N 900 | 146 77.068 M 901 | 148.263 74.648 L 902 | 150.526 72.452 L 903 | 152.788 70.482 L 904 | 155.051 68.74 L 905 | 157.314 67.227 L 906 | 159.577 65.943 L 907 | 160.708 65.388 L 908 | 161.84 64.891 L 909 | 162.971 64.451 L 910 | 164.102 64.07 L 911 | 165.437 63.694 L 912 | 166.771 63.4 L 913 | 168.106 63.186 L 914 | 169.44 63.053 L 915 | 170.775 63.001 L 916 | 172.109 63.03 L 917 | 173.444 63.14 L 918 | 174.778 63.331 L 919 | 176.113 63.602 L 920 | 177.447 63.955 L 921 | 178.782 64.388 L 922 | 180.117 64.902 L 923 | 181.451 65.496 L 924 | 182.786 66.171 L 925 | 184.12 66.926 L 926 | 185.455 67.761 L 927 | 188.036 69.603 L 928 | 190.618 71.742 L 929 | 193.2 74.176 L 930 | 195.781 76.903 L 931 | 198.363 79.921 L 932 | 200.945 83.227 L 933 | 206.108 90.692 L 934 | 210.809 98.455 L 935 | 215.509 107.118 L 936 | 224.909 127.041 L 937 | 234.587 150.959 L 938 | 244.265 178.037 L 939 | 264.364 242.871 L 940 | 286.131 322.757 L 941 | 303.818 391.726 L 942 | 325.805 477.927 L 943 | 343.273 543.379 L 944 | 362.304 608.271 L 945 | 372.516 639.267 L 946 | 382.727 667.032 L 947 | 392.209 689.583 L 948 | 396.95 699.604 L 949 | 401.691 708.748 L 950 | 406.814 717.611 L 951 | 411.937 725.386 L 952 | 414.498 728.858 L 953 | 417.059 732.048 L 954 | 419.621 734.954 L 955 | 422.182 737.573 L 956 | 424.933 740.064 L 957 | 427.683 742.218 L 958 | 429.059 743.169 L 959 | 430.434 744.035 L 960 | 431.809 744.816 L 961 | 433.185 745.511 L 962 | 434.56 746.122 L 963 | 435.936 746.646 L 964 | 437.311 747.086 L 965 | 438.686 747.439 L 966 | 440.062 747.707 L 967 | 441.437 747.888 L 968 | 442.812 747.984 L 969 | 444.188 747.994 L 970 | 445.278 747.94 L 971 | 446.369 747.833 L 972 | 447.459 747.671 L 973 | 448.55 747.456 L 974 | 449.641 747.186 L 975 | 450.731 746.863 L 976 | 451.822 746.485 L 977 | 452.912 746.054 L 978 | 455.093 745.031 L 979 | 457.274 743.793 L 980 | 459.455 742.341 L 981 | 461.636 740.677 L 982 | 464.281 738.375 L 983 | 466.926 735.765 L 984 | 469.57 732.847 L 985 | 472.215 729.626 L 986 | 477.505 722.285 L 987 | 482.794 713.767 L 988 | 487.368 705.477 L 989 | 491.942 696.355 L 990 | 501.091 675.714 L 991 | 511.473 648.671 L 992 | 521.855 618.154 L 993 | 540.545 555.876 L 994 | 560.09 483.376 L 995 | 580 405.5 L 996 | 599.732 328.308 L 997 | 619.455 255.124 L 998 | 639.966 187.261 L 999 | 649.438 159.812 L 1000 | 658.909 135.286 L 1001 | 669.563 111.552 L 1002 | 674.89 101.324 L 1003 | 680.218 92.241 L 1004 | 684.754 85.435 L 1005 | 689.291 79.503 L 1006 | 691.559 76.87 L 1007 | 693.827 74.461 L 1008 | 696.095 72.278 L 1009 | 698.364 70.323 L 1010 | 700.787 68.487 L 1011 | 703.211 66.914 L 1012 | 704.423 66.226 L 1013 | 705.634 65.604 L 1014 | 706.846 65.049 L 1015 | 708.058 64.56 L 1016 | 709.27 64.137 L 1017 | 710.482 63.781 L 1018 | 711.693 63.492 L 1019 | 712.905 63.269 L 1020 | 714.117 63.113 L 1021 | 715.329 63.023 L 1022 | 716.541 63.001 L 1023 | 717.752 63.045 L 1024 | 719.006 63.161 L 1025 | 720.261 63.348 L 1026 | 721.515 63.607 L 1027 | 722.769 63.937 L 1028 | 724.023 64.339 L 1029 | 725.277 64.812 L 1030 | 726.531 65.356 L 1031 | 727.785 65.97 L 1032 | 729.039 66.656 L 1033 | 730.294 67.413 L 1034 | 732.802 69.137 L 1035 | 735.31 71.143 L 1036 | 737.818 73.427 L 1037 | 740.3 75.961 L 1038 | 742.782 78.764 L 1039 | 745.264 81.834 L 1040 | 747.747 85.169 L 1041 | 752.711 92.622 L 1042 | 757.675 101.098 L 1043 | 762.574 110.439 L 1044 | 767.474 120.72 L 1045 | 777.273 143.968 L 1046 | 787.144 170.753 L 1047 | 797.015 200.571 L 1048 | 816.727 267.621 L 1049 | 837.893 347.397 L 1050 | 856.182 419.274 L 1051 | 874.979 492.483 L 1052 | 895.636 568.129 L 1053 | 916.337 634.734 L 1054 | 925.714 660.835 L 1055 | 935.091 683.959 L 1056 | 942.536 700.019 L 1057 | 946.259 707.243 L 1058 | 949.981 713.913 L 1059 | 956.122 723.671 L 1060 | 959.193 727.956 L 1061 | 962.263 731.838 L 1062 | 965.334 735.311 L 1063 | 968.404 738.371 L 1064 | 971.475 741.015 L 1065 | 974.545 743.239 L 1066 | 976.966 744.694 L 1067 | 978.176 745.323 L 1068 | 979.386 745.886 L 1069 | 980.596 746.382 L 1070 | 981.806 746.813 L 1071 | 983.016 747.177 L 1072 | 984.226 747.474 L 1073 | 985.436 747.706 L 1074 | 986.646 747.87 L 1075 | 987.856 747.968 L 1076 | 989.066 748 L 1077 | 990.276 747.965 L 1078 | 991.486 747.863 L 1079 | 992.696 747.695 L 1080 | 993.906 747.461 L 1081 | 995.162 747.147 L 1082 | 996.418 746.762 L 1083 | 997.674 746.305 L 1084 | 998.93 745.777 L 1085 | 1000.186 745.178 L 1086 | 1001.441 744.508 L 1087 | 1003.953 742.954 L 1088 | 1006.465 741.118 L 1089 | 1008.977 739.001 L 1090 | 1011.488 736.605 L 1091 | 1014 733.932 L 1092 | S 1093 | GR 1094 | %%Trailer 1095 | %%Pages: 1 1096 | %%EOF 1097 | -------------------------------------------------------------------------------- /figures/image2.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-3.0 EPSF-3.0 2 | %%Creator: (MATLAB, The Mathworks, Inc. Version 9.6.0.1072779 \(R2019a\). Operating System: Windows 10) 3 | %%Title: ./image2.eps 4 | %%CreationDate: 2020-09-06T22:29:12 5 | %%Pages: (atend) 6 | %%BoundingBox: 33 20 382 295 7 | %%LanguageLevel: 2 8 | %%EndComments 9 | %%BeginProlog 10 | %%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.2 0 11 | %%Version: 1.2 0 12 | %%Copyright: (Copyright 2001-2003,2010 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0) 13 | /bd{bind def}bind def 14 | /ld{load def}bd 15 | /GR/grestore ld 16 | /GS/gsave ld 17 | /RM/rmoveto ld 18 | /C/curveto ld 19 | /t/show ld 20 | /L/lineto ld 21 | /ML/setmiterlimit ld 22 | /CT/concat ld 23 | /f/fill ld 24 | /N/newpath ld 25 | /S/stroke ld 26 | /CC/setcmykcolor ld 27 | /A/ashow ld 28 | /cp/closepath ld 29 | /RC/setrgbcolor ld 30 | /LJ/setlinejoin ld 31 | /GC/setgray ld 32 | /LW/setlinewidth ld 33 | /M/moveto ld 34 | /re {4 2 roll M 35 | 1 index 0 rlineto 36 | 0 exch rlineto 37 | neg 0 rlineto 38 | cp } bd 39 | /_ctm matrix def 40 | /_tm matrix def 41 | /BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd 42 | /ET { _ctm setmatrix } bd 43 | /iTm { _ctm setmatrix _tm concat } bd 44 | /Tm { _tm astore pop iTm 0 0 moveto } bd 45 | /ux 0.0 def 46 | /uy 0.0 def 47 | /F { 48 | /Tp exch def 49 | /Tf exch def 50 | Tf findfont Tp scalefont setfont 51 | /cf Tf def /cs Tp def 52 | } bd 53 | /ULS {currentpoint /uy exch def /ux exch def} bd 54 | /ULE { 55 | /Tcx currentpoint pop def 56 | gsave 57 | newpath 58 | cf findfont cs scalefont dup 59 | /FontMatrix get 0 get /Ts exch def /FontInfo get dup 60 | /UnderlinePosition get Ts mul /To exch def 61 | /UnderlineThickness get Ts mul /Tt exch def 62 | ux uy To add moveto Tcx uy To add lineto 63 | Tt setlinewidth stroke 64 | grestore 65 | } bd 66 | /OLE { 67 | /Tcx currentpoint pop def 68 | gsave 69 | newpath 70 | cf findfont cs scalefont dup 71 | /FontMatrix get 0 get /Ts exch def /FontInfo get dup 72 | /UnderlinePosition get Ts mul /To exch def 73 | /UnderlineThickness get Ts mul /Tt exch def 74 | ux uy To add cs add moveto Tcx uy To add cs add lineto 75 | Tt setlinewidth stroke 76 | grestore 77 | } bd 78 | /SOE { 79 | /Tcx currentpoint pop def 80 | gsave 81 | newpath 82 | cf findfont cs scalefont dup 83 | /FontMatrix get 0 get /Ts exch def /FontInfo get dup 84 | /UnderlinePosition get Ts mul /To exch def 85 | /UnderlineThickness get Ts mul /Tt exch def 86 | ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto 87 | Tt setlinewidth stroke 88 | grestore 89 | } bd 90 | /QT { 91 | /Y22 exch store 92 | /X22 exch store 93 | /Y21 exch store 94 | /X21 exch store 95 | currentpoint 96 | /Y21 load 2 mul add 3 div exch 97 | /X21 load 2 mul add 3 div exch 98 | /X21 load 2 mul /X22 load add 3 div 99 | /Y21 load 2 mul /Y22 load add 3 div 100 | /X22 load /Y22 load curveto 101 | } bd 102 | /SSPD { 103 | dup length /d exch dict def 104 | { 105 | /v exch def 106 | /k exch def 107 | currentpagedevice k known { 108 | /cpdv currentpagedevice k get def 109 | v cpdv ne { 110 | /upd false def 111 | /nullv v type /nulltype eq def 112 | /nullcpdv cpdv type /nulltype eq def 113 | nullv nullcpdv or 114 | { 115 | /upd true def 116 | } { 117 | /sametype v type cpdv type eq def 118 | sametype { 119 | v type /arraytype eq { 120 | /vlen v length def 121 | /cpdvlen cpdv length def 122 | vlen cpdvlen eq { 123 | 0 1 vlen 1 sub { 124 | /i exch def 125 | /obj v i get def 126 | /cpdobj cpdv i get def 127 | obj cpdobj ne { 128 | /upd true def 129 | exit 130 | } if 131 | } for 132 | } { 133 | /upd true def 134 | } ifelse 135 | } { 136 | v type /dicttype eq { 137 | v { 138 | /dv exch def 139 | /dk exch def 140 | /cpddv cpdv dk get def 141 | dv cpddv ne { 142 | /upd true def 143 | exit 144 | } if 145 | } forall 146 | } { 147 | /upd true def 148 | } ifelse 149 | } ifelse 150 | } if 151 | } ifelse 152 | upd true eq { 153 | d k v put 154 | } if 155 | } if 156 | } if 157 | } forall 158 | d length 0 gt { 159 | d setpagedevice 160 | } if 161 | } bd 162 | /RE { % /NewFontName [NewEncodingArray] /FontName RE - 163 | findfont dup length dict begin 164 | { 165 | 1 index /FID ne 166 | {def} {pop pop} ifelse 167 | } forall 168 | /Encoding exch def 169 | /FontName 1 index def 170 | currentdict definefont pop 171 | end 172 | } bind def 173 | %%EndResource 174 | %%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0 175 | %%Version: 1.0 0 176 | %%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0) 177 | /BeginEPSF { %def 178 | /b4_Inc_state save def % Save state for cleanup 179 | /dict_count countdictstack def % Count objects on dict stack 180 | /op_count count 1 sub def % Count objects on operand stack 181 | userdict begin % Push userdict on dict stack 182 | /showpage { } def % Redefine showpage, { } = null proc 183 | 0 setgray 0 setlinecap % Prepare graphics state 184 | 1 setlinewidth 0 setlinejoin 185 | 10 setmiterlimit [ ] 0 setdash newpath 186 | /languagelevel where % If level not equal to 1 then 187 | {pop languagelevel % set strokeadjust and 188 | 1 ne % overprint to their defaults. 189 | {false setstrokeadjust false setoverprint 190 | } if 191 | } if 192 | } bd 193 | /EndEPSF { %def 194 | count op_count sub {pop} repeat % Clean up stacks 195 | countdictstack dict_count sub {end} repeat 196 | b4_Inc_state restore 197 | } bd 198 | %%EndResource 199 | %FOPBeginFontDict 200 | %%IncludeResource: font Courier-Oblique 201 | %%IncludeResource: font Courier-BoldOblique 202 | %%IncludeResource: font Courier-Bold 203 | %%IncludeResource: font ZapfDingbats 204 | %%IncludeResource: font Symbol 205 | %%IncludeResource: font Helvetica 206 | %%IncludeResource: font Helvetica-Oblique 207 | %%IncludeResource: font Helvetica-Bold 208 | %%IncludeResource: font Helvetica-BoldOblique 209 | %%IncludeResource: font Times-Roman 210 | %%IncludeResource: font Times-Italic 211 | %%IncludeResource: font Times-Bold 212 | %%IncludeResource: font Times-BoldItalic 213 | %%IncludeResource: font Courier 214 | %FOPEndFontDict 215 | %%BeginResource: encoding WinAnsiEncoding 216 | /WinAnsiEncoding [ 217 | /.notdef /.notdef /.notdef /.notdef /.notdef 218 | /.notdef /.notdef /.notdef /.notdef /.notdef 219 | /.notdef /.notdef /.notdef /.notdef /.notdef 220 | /.notdef /.notdef /.notdef /.notdef /.notdef 221 | /.notdef /.notdef /.notdef /.notdef /.notdef 222 | /.notdef /.notdef /.notdef /.notdef /.notdef 223 | /.notdef /.notdef /space /exclam /quotedbl 224 | /numbersign /dollar /percent /ampersand /quotesingle 225 | /parenleft /parenright /asterisk /plus /comma 226 | /hyphen /period /slash /zero /one 227 | /two /three /four /five /six 228 | /seven /eight /nine /colon /semicolon 229 | /less /equal /greater /question /at 230 | /A /B /C /D /E 231 | /F /G /H /I /J 232 | /K /L /M /N /O 233 | /P /Q /R /S /T 234 | /U /V /W /X /Y 235 | /Z /bracketleft /backslash /bracketright /asciicircum 236 | /underscore /quoteleft /a /b /c 237 | /d /e /f /g /h 238 | /i /j /k /l /m 239 | /n /o /p /q /r 240 | /s /t /u /v /w 241 | /x /y /z /braceleft /bar 242 | /braceright /asciitilde /bullet /Euro /bullet 243 | /quotesinglbase /florin /quotedblbase /ellipsis /dagger 244 | /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft 245 | /OE /bullet /Zcaron /bullet /bullet 246 | /quoteleft /quoteright /quotedblleft /quotedblright /bullet 247 | /endash /emdash /asciitilde /trademark /scaron 248 | /guilsinglright /oe /bullet /zcaron /Ydieresis 249 | /space /exclamdown /cent /sterling /currency 250 | /yen /brokenbar /section /dieresis /copyright 251 | /ordfeminine /guillemotleft /logicalnot /sfthyphen /registered 252 | /macron /degree /plusminus /twosuperior /threesuperior 253 | /acute /mu /paragraph /middot /cedilla 254 | /onesuperior /ordmasculine /guillemotright /onequarter /onehalf 255 | /threequarters /questiondown /Agrave /Aacute /Acircumflex 256 | /Atilde /Adieresis /Aring /AE /Ccedilla 257 | /Egrave /Eacute /Ecircumflex /Edieresis /Igrave 258 | /Iacute /Icircumflex /Idieresis /Eth /Ntilde 259 | /Ograve /Oacute /Ocircumflex /Otilde /Odieresis 260 | /multiply /Oslash /Ugrave /Uacute /Ucircumflex 261 | /Udieresis /Yacute /Thorn /germandbls /agrave 262 | /aacute /acircumflex /atilde /adieresis /aring 263 | /ae /ccedilla /egrave /eacute /ecircumflex 264 | /edieresis /igrave /iacute /icircumflex /idieresis 265 | /eth /ntilde /ograve /oacute /ocircumflex 266 | /otilde /odieresis /divide /oslash /ugrave 267 | /uacute /ucircumflex /udieresis /yacute /thorn 268 | /ydieresis 269 | ] def 270 | %%EndResource 271 | %FOPBeginFontReencode 272 | /Courier-Oblique findfont 273 | dup length dict begin 274 | {1 index /FID ne {def} {pop pop} ifelse} forall 275 | /Encoding WinAnsiEncoding def 276 | currentdict 277 | end 278 | /Courier-Oblique exch definefont pop 279 | /Courier-BoldOblique findfont 280 | dup length dict begin 281 | {1 index /FID ne {def} {pop pop} ifelse} forall 282 | /Encoding WinAnsiEncoding def 283 | currentdict 284 | end 285 | /Courier-BoldOblique exch definefont pop 286 | /Courier-Bold findfont 287 | dup length dict begin 288 | {1 index /FID ne {def} {pop pop} ifelse} forall 289 | /Encoding WinAnsiEncoding def 290 | currentdict 291 | end 292 | /Courier-Bold exch definefont pop 293 | /Helvetica findfont 294 | dup length dict begin 295 | {1 index /FID ne {def} {pop pop} ifelse} forall 296 | /Encoding WinAnsiEncoding def 297 | currentdict 298 | end 299 | /Helvetica exch definefont pop 300 | /Helvetica-Oblique findfont 301 | dup length dict begin 302 | {1 index /FID ne {def} {pop pop} ifelse} forall 303 | /Encoding WinAnsiEncoding def 304 | currentdict 305 | end 306 | /Helvetica-Oblique exch definefont pop 307 | /Helvetica-Bold findfont 308 | dup length dict begin 309 | {1 index /FID ne {def} {pop pop} ifelse} forall 310 | /Encoding WinAnsiEncoding def 311 | currentdict 312 | end 313 | /Helvetica-Bold exch definefont pop 314 | /Helvetica-BoldOblique findfont 315 | dup length dict begin 316 | {1 index /FID ne {def} {pop pop} ifelse} forall 317 | /Encoding WinAnsiEncoding def 318 | currentdict 319 | end 320 | /Helvetica-BoldOblique exch definefont pop 321 | /Times-Roman findfont 322 | dup length dict begin 323 | {1 index /FID ne {def} {pop pop} ifelse} forall 324 | /Encoding WinAnsiEncoding def 325 | currentdict 326 | end 327 | /Times-Roman exch definefont pop 328 | /Times-Italic findfont 329 | dup length dict begin 330 | {1 index /FID ne {def} {pop pop} ifelse} forall 331 | /Encoding WinAnsiEncoding def 332 | currentdict 333 | end 334 | /Times-Italic exch definefont pop 335 | /Times-Bold findfont 336 | dup length dict begin 337 | {1 index /FID ne {def} {pop pop} ifelse} forall 338 | /Encoding WinAnsiEncoding def 339 | currentdict 340 | end 341 | /Times-Bold exch definefont pop 342 | /Times-BoldItalic findfont 343 | dup length dict begin 344 | {1 index /FID ne {def} {pop pop} ifelse} forall 345 | /Encoding WinAnsiEncoding def 346 | currentdict 347 | end 348 | /Times-BoldItalic exch definefont pop 349 | /Courier findfont 350 | dup length dict begin 351 | {1 index /FID ne {def} {pop pop} ifelse} forall 352 | /Encoding WinAnsiEncoding def 353 | currentdict 354 | end 355 | /Courier exch definefont pop 356 | %FOPEndFontReencode 357 | %%EndProlog 358 | %%Page: 1 1 359 | %%PageBoundingBox: 0 0 420 315 360 | %%BeginPageSetup 361 | [1 0 0 -1 0 315] CT 362 | %%EndPageSetup 363 | GS 364 | [0.375 0 0 0.375 0 0] CT 365 | 1 GC 366 | N 367 | 0 0 1120 840 re 368 | f 369 | GR 370 | GS 371 | [0.375 0 0 0.375 0 0] CT 372 | 1 GC 373 | N 374 | 0 0 1120 840 re 375 | f 376 | GR 377 | GS 378 | [0.375 0 0 0.375 0 0] CT 379 | 1 GC 380 | N 381 | 146 748 M 382 | 1014 748 L 383 | 1014 63 L 384 | 146 63 L 385 | cp 386 | f 387 | GR 388 | GS 389 | [0.375 0 0 0.375 0 0] CT 390 | 0.149 GC 391 | 2 setlinecap 392 | 1 LJ 393 | 1.333 LW 394 | N 395 | 146 748 M 396 | 1014 748 L 397 | S 398 | GR 399 | GS 400 | [0.375 0 0 0.375 0 0] CT 401 | 0.149 GC 402 | 2 setlinecap 403 | 1 LJ 404 | 1.333 LW 405 | N 406 | 146 63 M 407 | 1014 63 L 408 | S 409 | GR 410 | GS 411 | [0.375 0 0 0.375 0 0] CT 412 | 0.149 GC 413 | 2 setlinecap 414 | 1 LJ 415 | 1.333 LW 416 | N 417 | 146 748 M 418 | 146 739.32 L 419 | S 420 | GR 421 | GS 422 | [0.375 0 0 0.375 0 0] CT 423 | 0.149 GC 424 | 2 setlinecap 425 | 1 LJ 426 | 1.333 LW 427 | N 428 | 363 748 M 429 | 363 739.32 L 430 | S 431 | GR 432 | GS 433 | [0.375 0 0 0.375 0 0] CT 434 | 0.149 GC 435 | 2 setlinecap 436 | 1 LJ 437 | 1.333 LW 438 | N 439 | 580 748 M 440 | 580 739.32 L 441 | S 442 | GR 443 | GS 444 | [0.375 0 0 0.375 0 0] CT 445 | 0.149 GC 446 | 2 setlinecap 447 | 1 LJ 448 | 1.333 LW 449 | N 450 | 797 748 M 451 | 797 739.32 L 452 | S 453 | GR 454 | GS 455 | [0.375 0 0 0.375 0 0] CT 456 | 0.149 GC 457 | 2 setlinecap 458 | 1 LJ 459 | 1.333 LW 460 | N 461 | 1014 748 M 462 | 1014 739.32 L 463 | S 464 | GR 465 | GS 466 | [0.375 0 0 0.375 0 0] CT 467 | 0.149 GC 468 | 2 setlinecap 469 | 1 LJ 470 | 1.333 LW 471 | N 472 | 146 63 M 473 | 146 71.68 L 474 | S 475 | GR 476 | GS 477 | [0.375 0 0 0.375 0 0] CT 478 | 0.149 GC 479 | 2 setlinecap 480 | 1 LJ 481 | 1.333 LW 482 | N 483 | 363 63 M 484 | 363 71.68 L 485 | S 486 | GR 487 | GS 488 | [0.375 0 0 0.375 0 0] CT 489 | 0.149 GC 490 | 2 setlinecap 491 | 1 LJ 492 | 1.333 LW 493 | N 494 | 580 63 M 495 | 580 71.68 L 496 | S 497 | GR 498 | GS 499 | [0.375 0 0 0.375 0 0] CT 500 | 0.149 GC 501 | 2 setlinecap 502 | 1 LJ 503 | 1.333 LW 504 | N 505 | 797 63 M 506 | 797 71.68 L 507 | S 508 | GR 509 | GS 510 | [0.375 0 0 0.375 0 0] CT 511 | 0.149 GC 512 | 2 setlinecap 513 | 1 LJ 514 | 1.333 LW 515 | N 516 | 1014 63 M 517 | 1014 71.68 L 518 | S 519 | GR 520 | GS 521 | [0.375 0 0 0.375 54.75 284.50001] CT 522 | 0.149 GC 523 | /Helvetica 26.667 F 524 | GS 525 | [1 0 0 1 0 0] CT 526 | -12 27 moveto 527 | 1 -1 scale 528 | (-1) t 529 | GR 530 | GR 531 | GS 532 | [0.375 0 0 0.375 136.125 284.50001] CT 533 | 0.149 GC 534 | /Helvetica 26.667 F 535 | GS 536 | [1 0 0 1 0 0] CT 537 | -23 27 moveto 538 | 1 -1 scale 539 | (-0.5) t 540 | GR 541 | GR 542 | GS 543 | [0.375 0 0 0.375 217.5 284.50001] CT 544 | 0.149 GC 545 | /Helvetica 26.667 F 546 | GS 547 | [1 0 0 1 0 0] CT 548 | -7.5 27 moveto 549 | 1 -1 scale 550 | (0) t 551 | GR 552 | GR 553 | GS 554 | [0.375 0 0 0.375 298.875 284.50001] CT 555 | 0.149 GC 556 | /Helvetica 26.667 F 557 | GS 558 | [1 0 0 1 0 0] CT 559 | -19 27 moveto 560 | 1 -1 scale 561 | (0.5) t 562 | GR 563 | GR 564 | GS 565 | [0.375 0 0 0.375 380.25 284.50001] CT 566 | 0.149 GC 567 | /Helvetica 26.667 F 568 | GS 569 | [1 0 0 1 0 0] CT 570 | -7.5 27 moveto 571 | 1 -1 scale 572 | (1) t 573 | GR 574 | GR 575 | GS 576 | [0.375 0 0 0.375 0 0] CT 577 | 0.149 GC 578 | 2 setlinecap 579 | 1 LJ 580 | 1.333 LW 581 | N 582 | 146 748 M 583 | 146 63 L 584 | S 585 | GR 586 | GS 587 | [0.375 0 0 0.375 0 0] CT 588 | 0.149 GC 589 | 2 setlinecap 590 | 1 LJ 591 | 1.333 LW 592 | N 593 | 1014 748 M 594 | 1014 63 L 595 | S 596 | GR 597 | GS 598 | [0.375 0 0 0.375 0 0] CT 599 | 0.149 GC 600 | 2 setlinecap 601 | 1 LJ 602 | 1.333 LW 603 | N 604 | 146 748 M 605 | 154.68 748 L 606 | S 607 | GR 608 | GS 609 | [0.375 0 0 0.375 0 0] CT 610 | 0.149 GC 611 | 2 setlinecap 612 | 1 LJ 613 | 1.333 LW 614 | N 615 | 146 679.5 M 616 | 154.68 679.5 L 617 | S 618 | GR 619 | GS 620 | [0.375 0 0 0.375 0 0] CT 621 | 0.149 GC 622 | 2 setlinecap 623 | 1 LJ 624 | 1.333 LW 625 | N 626 | 146 611 M 627 | 154.68 611 L 628 | S 629 | GR 630 | GS 631 | [0.375 0 0 0.375 0 0] CT 632 | 0.149 GC 633 | 2 setlinecap 634 | 1 LJ 635 | 1.333 LW 636 | N 637 | 146 542.5 M 638 | 154.68 542.5 L 639 | S 640 | GR 641 | GS 642 | [0.375 0 0 0.375 0 0] CT 643 | 0.149 GC 644 | 2 setlinecap 645 | 1 LJ 646 | 1.333 LW 647 | N 648 | 146 474 M 649 | 154.68 474 L 650 | S 651 | GR 652 | GS 653 | [0.375 0 0 0.375 0 0] CT 654 | 0.149 GC 655 | 2 setlinecap 656 | 1 LJ 657 | 1.333 LW 658 | N 659 | 146 405.5 M 660 | 154.68 405.5 L 661 | S 662 | GR 663 | GS 664 | [0.375 0 0 0.375 0 0] CT 665 | 0.149 GC 666 | 2 setlinecap 667 | 1 LJ 668 | 1.333 LW 669 | N 670 | 146 337 M 671 | 154.68 337 L 672 | S 673 | GR 674 | GS 675 | [0.375 0 0 0.375 0 0] CT 676 | 0.149 GC 677 | 2 setlinecap 678 | 1 LJ 679 | 1.333 LW 680 | N 681 | 146 268.5 M 682 | 154.68 268.5 L 683 | S 684 | GR 685 | GS 686 | [0.375 0 0 0.375 0 0] CT 687 | 0.149 GC 688 | 2 setlinecap 689 | 1 LJ 690 | 1.333 LW 691 | N 692 | 146 200 M 693 | 154.68 200 L 694 | S 695 | GR 696 | GS 697 | [0.375 0 0 0.375 0 0] CT 698 | 0.149 GC 699 | 2 setlinecap 700 | 1 LJ 701 | 1.333 LW 702 | N 703 | 146 131.5 M 704 | 154.68 131.5 L 705 | S 706 | GR 707 | GS 708 | [0.375 0 0 0.375 0 0] CT 709 | 0.149 GC 710 | 2 setlinecap 711 | 1 LJ 712 | 1.333 LW 713 | N 714 | 146 63 M 715 | 154.68 63 L 716 | S 717 | GR 718 | GS 719 | [0.375 0 0 0.375 0 0] CT 720 | 0.149 GC 721 | 2 setlinecap 722 | 1 LJ 723 | 1.333 LW 724 | N 725 | 1014 748 M 726 | 1005.32 748 L 727 | S 728 | GR 729 | GS 730 | [0.375 0 0 0.375 0 0] CT 731 | 0.149 GC 732 | 2 setlinecap 733 | 1 LJ 734 | 1.333 LW 735 | N 736 | 1014 679.5 M 737 | 1005.32 679.5 L 738 | S 739 | GR 740 | GS 741 | [0.375 0 0 0.375 0 0] CT 742 | 0.149 GC 743 | 2 setlinecap 744 | 1 LJ 745 | 1.333 LW 746 | N 747 | 1014 611 M 748 | 1005.32 611 L 749 | S 750 | GR 751 | GS 752 | [0.375 0 0 0.375 0 0] CT 753 | 0.149 GC 754 | 2 setlinecap 755 | 1 LJ 756 | 1.333 LW 757 | N 758 | 1014 542.5 M 759 | 1005.32 542.5 L 760 | S 761 | GR 762 | GS 763 | [0.375 0 0 0.375 0 0] CT 764 | 0.149 GC 765 | 2 setlinecap 766 | 1 LJ 767 | 1.333 LW 768 | N 769 | 1014 474 M 770 | 1005.32 474 L 771 | S 772 | GR 773 | GS 774 | [0.375 0 0 0.375 0 0] CT 775 | 0.149 GC 776 | 2 setlinecap 777 | 1 LJ 778 | 1.333 LW 779 | N 780 | 1014 405.5 M 781 | 1005.32 405.5 L 782 | S 783 | GR 784 | GS 785 | [0.375 0 0 0.375 0 0] CT 786 | 0.149 GC 787 | 2 setlinecap 788 | 1 LJ 789 | 1.333 LW 790 | N 791 | 1014 337 M 792 | 1005.32 337 L 793 | S 794 | GR 795 | GS 796 | [0.375 0 0 0.375 0 0] CT 797 | 0.149 GC 798 | 2 setlinecap 799 | 1 LJ 800 | 1.333 LW 801 | N 802 | 1014 268.5 M 803 | 1005.32 268.5 L 804 | S 805 | GR 806 | GS 807 | [0.375 0 0 0.375 0 0] CT 808 | 0.149 GC 809 | 2 setlinecap 810 | 1 LJ 811 | 1.333 LW 812 | N 813 | 1014 200 M 814 | 1005.32 200 L 815 | S 816 | GR 817 | GS 818 | [0.375 0 0 0.375 0 0] CT 819 | 0.149 GC 820 | 2 setlinecap 821 | 1 LJ 822 | 1.333 LW 823 | N 824 | 1014 131.5 M 825 | 1005.32 131.5 L 826 | S 827 | GR 828 | GS 829 | [0.375 0 0 0.375 0 0] CT 830 | 0.149 GC 831 | 2 setlinecap 832 | 1 LJ 833 | 1.333 LW 834 | N 835 | 1014 63 M 836 | 1005.32 63 L 837 | S 838 | GR 839 | GS 840 | [0.375 0 0 0.375 50.74999 280.5] CT 841 | 0.149 GC 842 | /Helvetica 26.667 F 843 | GS 844 | [1 0 0 1 0 0] CT 845 | -24 10.5 moveto 846 | 1 -1 scale 847 | (-1) t 848 | GR 849 | GR 850 | GS 851 | [0.375 0 0 0.375 50.74999 254.8125] CT 852 | 0.149 GC 853 | /Helvetica 26.667 F 854 | GS 855 | [1 0 0 1 0 0] CT 856 | -46 10.5 moveto 857 | 1 -1 scale 858 | (-0.8) t 859 | GR 860 | GR 861 | GS 862 | [0.375 0 0 0.375 50.74999 229.125] CT 863 | 0.149 GC 864 | /Helvetica 26.667 F 865 | GS 866 | [1 0 0 1 0 0] CT 867 | -46 10.5 moveto 868 | 1 -1 scale 869 | (-0.6) t 870 | GR 871 | GR 872 | GS 873 | [0.375 0 0 0.375 50.74999 203.4375] CT 874 | 0.149 GC 875 | /Helvetica 26.667 F 876 | GS 877 | [1 0 0 1 0 0] CT 878 | -46 10.5 moveto 879 | 1 -1 scale 880 | (-0.4) t 881 | GR 882 | GR 883 | GS 884 | [0.375 0 0 0.375 50.74999 177.75] CT 885 | 0.149 GC 886 | /Helvetica 26.667 F 887 | GS 888 | [1 0 0 1 0 0] CT 889 | -46 10.5 moveto 890 | 1 -1 scale 891 | (-0.2) t 892 | GR 893 | GR 894 | GS 895 | [0.375 0 0 0.375 50.74999 152.0625] CT 896 | 0.149 GC 897 | /Helvetica 26.667 F 898 | GS 899 | [1 0 0 1 0 0] CT 900 | -15 10.5 moveto 901 | 1 -1 scale 902 | (0) t 903 | GR 904 | GR 905 | GS 906 | [0.375 0 0 0.375 50.74999 126.375] CT 907 | 0.149 GC 908 | /Helvetica 26.667 F 909 | GS 910 | [1 0 0 1 0 0] CT 911 | -38 10.5 moveto 912 | 1 -1 scale 913 | (0.2) t 914 | GR 915 | GR 916 | GS 917 | [0.375 0 0 0.375 50.74999 100.6875] CT 918 | 0.149 GC 919 | /Helvetica 26.667 F 920 | GS 921 | [1 0 0 1 0 0] CT 922 | -38 10.5 moveto 923 | 1 -1 scale 924 | (0.4) t 925 | GR 926 | GR 927 | GS 928 | [0.375 0 0 0.375 50.74999 74.99999] CT 929 | 0.149 GC 930 | /Helvetica 26.667 F 931 | GS 932 | [1 0 0 1 0 0] CT 933 | -38 10.5 moveto 934 | 1 -1 scale 935 | (0.6) t 936 | GR 937 | GR 938 | GS 939 | [0.375 0 0 0.375 50.74999 49.3125] CT 940 | 0.149 GC 941 | /Helvetica 26.667 F 942 | GS 943 | [1 0 0 1 0 0] CT 944 | -38 10.5 moveto 945 | 1 -1 scale 946 | (0.8) t 947 | GR 948 | GR 949 | GS 950 | [0.375 0 0 0.375 50.74999 23.625] CT 951 | 0.149 GC 952 | /Helvetica 26.667 F 953 | GS 954 | [1 0 0 1 0 0] CT 955 | -15 10.5 moveto 956 | 1 -1 scale 957 | (1) t 958 | GR 959 | GR 960 | GS 961 | [0.375 0 0 0.375 0 0] CT 962 | 0 0.447 0.741 RC 963 | 1 LJ 964 | 1.333 LW 965 | N 966 | 250.295 219.173 M 967 | 422.555 321.595 L 968 | 632.103 432.949 L 969 | 753.101 498.013 L 970 | 808.776 529.401 L 971 | 859.651 559.632 L 972 | 904.661 588.425 L 973 | 924.665 602.198 L 974 | 942.86 615.511 L 975 | 959.149 628.334 L 976 | 966.552 634.553 L 977 | 973.448 640.637 L 978 | 979.826 646.585 L 979 | 985.68 652.391 L 980 | 991.001 658.054 L 981 | 995.782 663.569 L 982 | 999.887 668.761 L 983 | 1003.477 673.808 L 984 | 1006.546 678.71 L 985 | 1009.091 683.462 L 986 | 1011.108 688.062 L 987 | 1012.596 692.508 L 988 | 1013.553 696.797 L 989 | 1013.977 700.927 L 990 | 1013.867 704.896 L 991 | 1013.225 708.701 L 992 | 1012.05 712.34 L 993 | 1010.344 715.812 L 994 | 1008.11 719.115 L 995 | 1005.349 722.246 L 996 | 1002.066 725.205 L 997 | 998.265 727.988 L 998 | 993.949 730.596 L 999 | 989.125 733.026 L 1000 | 983.798 735.277 L 1001 | 977.974 737.348 L 1002 | 971.662 739.238 L 1003 | 964.869 740.946 L 1004 | 957.603 742.47 L 1005 | 949.872 743.81 L 1006 | 941.688 744.966 L 1007 | 933.059 745.936 L 1008 | 914.51 747.319 L 1009 | 894.318 747.954 L 1010 | 872.582 747.842 L 1011 | 851.543 747.089 L 1012 | 829.398 745.719 L 1013 | 782.158 741.134 L 1014 | 731.628 734.12 L 1015 | 678.631 724.728 L 1016 | 624.03 713.027 L 1017 | 568.712 699.099 L 1018 | 513.578 683.048 L 1019 | 459.524 664.988 L 1020 | 405.932 644.434 L 1021 | 380.205 633.46 L 1022 | 355.34 622.048 L 1023 | 331.445 610.221 L 1024 | 308.623 598.001 L 1025 | 286.972 585.412 L 1026 | 266.585 572.478 L 1027 | 247.55 559.224 L 1028 | 238.566 552.484 L 1029 | 229.951 545.674 L 1030 | 221.713 538.797 L 1031 | 213.861 531.856 L 1032 | 206.405 524.854 L 1033 | 199.352 517.795 L 1034 | 192.71 510.683 L 1035 | 186.486 503.519 L 1036 | 180.686 496.309 L 1037 | 175.317 489.055 L 1038 | 170.385 481.761 L 1039 | 165.895 474.431 L 1040 | 161.852 467.067 L 1041 | 158.26 459.674 L 1042 | 155.012 451.97 L 1043 | 152.259 444.241 L 1044 | 150.003 436.493 L 1045 | 148.247 428.728 L 1046 | 146.994 420.952 L 1047 | 146.245 413.167 L 1048 | 146 405.379 L 1049 | 146.26 397.591 L 1050 | 147.025 389.806 L 1051 | 148.294 382.03 L 1052 | 150.065 374.266 L 1053 | 152.337 366.518 L 1054 | 155.106 358.79 L 1055 | 158.369 351.087 L 1056 | 162.123 343.412 L 1057 | 166.363 335.768 L 1058 | 171.085 328.161 L 1059 | 176.282 320.594 L 1060 | 181.949 313.07 L 1061 | 188.08 305.595 L 1062 | 194.666 298.171 L 1063 | 201.701 290.803 L 1064 | 209.175 283.493 L 1065 | 217.082 276.248 L 1066 | 225.41 269.068 L 1067 | 234.151 261.96 L 1068 | 243.295 254.926 L 1069 | 252.83 247.969 L 1070 | 273.031 234.304 L 1071 | 294.661 220.993 L 1072 | 319.58 207.009 L 1073 | 345.92 193.506 L 1074 | 373.537 180.518 L 1075 | 402.281 168.075 L 1076 | 431.995 156.209 L 1077 | 462.517 144.947 L 1078 | 525.313 124.345 L 1079 | 589.301 106.47 L 1080 | 653.087 91.494 L 1081 | 715.279 79.564 L 1082 | 774.523 70.795 L 1083 | 819.597 66.057 L 1084 | 861.221 63.493 L 1085 | 880.55 63.032 L 1086 | 898.795 63.119 L 1087 | 915.891 63.755 L 1088 | 931.777 64.939 L 1089 | 946.396 66.668 L 1090 | 953.213 67.736 L 1091 | 959.693 68.94 L 1092 | 965.832 70.278 L 1093 | 971.623 71.751 L 1094 | 977.061 73.357 L 1095 | 982.141 75.097 L 1096 | 986.859 76.968 L 1097 | 991.21 78.972 L 1098 | 995.191 81.106 L 1099 | 998.797 83.37 L 1100 | 1002.026 85.763 L 1101 | 1004.875 88.284 L 1102 | 1007.341 90.932 L 1103 | 1009.421 93.706 L 1104 | 1011.468 97.328 L 1105 | 1012.914 101.142 L 1106 | 1013.757 105.143 L 1107 | 1013.997 109.33 L 1108 | 1013.632 113.701 L 1109 | 1012.663 118.252 L 1110 | 1011.092 122.981 L 1111 | 1008.92 127.885 L 1112 | 1006.152 132.96 L 1113 | 1002.79 138.205 L 1114 | 998.839 143.614 L 1115 | 994.305 149.186 L 1116 | 989.195 154.916 L 1117 | 983.514 160.802 L 1118 | 977.272 166.839 L 1119 | 970.477 173.023 L 1120 | 963.138 179.352 L 1121 | 955.265 185.82 L 1122 | 937.964 199.161 L 1123 | 918.67 213.012 L 1124 | 897.491 227.34 L 1125 | 849.956 257.281 L 1126 | 796.419 288.69 L 1127 | 701.969 340.845 L 1128 | 600.689 394.613 L 1129 | 498.251 448.653 L 1130 | 400.391 501.616 L 1131 | 350.982 529.54 L 1132 | 305.392 556.546 L 1133 | 264.379 582.431 L 1134 | 245.806 594.893 L 1135 | 228.628 607.004 L 1136 | 212.915 618.741 L 1137 | 198.734 630.083 L 1138 | 186.144 641.008 L 1139 | 180.462 646.308 L 1140 | 175.197 651.497 L 1141 | 170.354 656.571 L 1142 | 165.938 661.529 L 1143 | 161.955 666.368 L 1144 | 158.407 671.087 L 1145 | 155.3 675.682 L 1146 | 152.635 680.152 L 1147 | 150.417 684.494 L 1148 | 148.646 688.707 L 1149 | 147.247 693.082 L 1150 | 146.368 697.304 L 1151 | 146.009 701.369 L 1152 | 146.172 705.277 L 1153 | 146.856 709.025 L 1154 | 148.061 712.61 L 1155 | 149.785 716.032 L 1156 | 152.025 719.287 L 1157 | 154.779 722.375 L 1158 | 158.045 725.294 L 1159 | 161.817 728.043 L 1160 | 166.092 730.619 L 1161 | 170.864 733.021 L 1162 | 176.128 735.248 L 1163 | 181.877 737.3 L 1164 | 188.104 739.174 L 1165 | 194.802 740.87 L 1166 | 201.962 742.387 L 1167 | 209.577 743.724 L 1168 | 217.637 744.88 L 1169 | 226.133 745.855 L 1170 | 235.053 746.649 L 1171 | 254.126 747.689 L 1172 | 274.765 747.998 L 1173 | 296.869 747.576 L 1174 | 320.335 746.423 L 1175 | 345.047 744.542 L 1176 | 393.842 739.132 L 1177 | 445.719 731.266 L 1178 | 499.818 721.001 L 1179 | 555.244 708.413 L 1180 | 611.08 693.595 L 1181 | 666.402 676.656 L 1182 | 720.294 657.721 L 1183 | 746.423 647.548 L 1184 | 771.863 636.929 L 1185 | 798.454 624.977 L 1186 | 823.989 612.553 L 1187 | 848.344 599.684 L 1188 | 871.401 586.397 L 1189 | 893.049 572.722 L 1190 | 913.182 558.687 L 1191 | 922.651 551.544 L 1192 | 931.705 544.322 L 1193 | 940.334 537.026 L 1194 | 948.527 529.66 L 1195 | 956.275 522.226 L 1196 | 963.567 514.73 L 1197 | 970.395 507.175 L 1198 | 976.752 499.566 L 1199 | 982.628 491.906 L 1200 | 988.018 484.199 L 1201 | 992.914 476.45 L 1202 | 997.311 468.663 L 1203 | 1001.203 460.842 L 1204 | 1004.586 452.992 L 1205 | 1007.455 445.115 L 1206 | 1009.807 437.218 L 1207 | 1011.64 429.303 L 1208 | 1012.951 421.376 L 1209 | 1013.738 413.44 L 1210 | 1014 405.5 L 1211 | 1013.697 396.973 L 1212 | 1012.79 388.451 L 1213 | 1011.278 379.939 L 1214 | 1009.166 371.444 L 1215 | 1006.454 362.969 L 1216 | 1003.148 354.521 L 1217 | 999.251 346.104 L 1218 | 994.77 337.725 L 1219 | 989.71 329.387 L 1220 | 984.079 321.097 L 1221 | 977.884 312.858 L 1222 | 971.134 304.678 L 1223 | 963.838 296.56 L 1224 | 956.007 288.509 L 1225 | 947.652 280.531 L 1226 | 938.784 272.63 L 1227 | 929.415 264.812 L 1228 | 919.559 257.081 L 1229 | 909.23 249.442 L 1230 | 898.441 241.899 L 1231 | 875.546 227.124 L 1232 | 851.003 212.79 L 1233 | 824.949 198.935 L 1234 | 797.528 185.591 L 1235 | 768.894 172.793 L 1236 | 739.207 160.572 L 1237 | 690.376 142.448 L 1238 | 639.998 125.964 L 1239 | 588.779 111.223 L 1240 | 537.438 98.316 L 1241 | 486.692 87.323 L 1242 | 437.255 78.314 L 1243 | 389.818 71.345 L 1244 | 345.047 66.458 L 1245 | 319.468 64.523 L 1246 | 295.233 63.37 L 1247 | 272.465 63 L 1248 | 251.284 63.416 L 1249 | 231.797 64.616 L 1250 | 222.72 65.509 L 1251 | 214.105 66.597 L 1252 | 205.961 67.879 L 1253 | 198.3 69.355 L 1254 | 191.13 71.023 L 1255 | 184.463 72.883 L 1256 | 178.305 74.934 L 1257 | 172.665 77.174 L 1258 | 167.55 79.602 L 1259 | 162.967 82.217 L 1260 | 158.922 85.017 L 1261 | 155.419 88.001 L 1262 | 152.464 91.167 L 1263 | 150.061 94.513 L 1264 | 148.211 98.037 L 1265 | 146.919 101.738 L 1266 | 146.185 105.612 L 1267 | 146.01 109.658 L 1268 | 146.395 113.874 L 1269 | 147.338 118.257 L 1270 | 148.84 122.805 L 1271 | 150.898 127.515 L 1272 | 153.123 131.716 L 1273 | 155.761 136.035 L 1274 | 158.807 140.469 L 1275 | 162.26 145.017 L 1276 | 166.115 149.677 L 1277 | 170.37 154.446 L 1278 | 175.019 159.323 L 1279 | 180.059 164.305 L 1280 | 185.485 169.391 L 1281 | 191.291 174.578 L 1282 | 204.022 185.246 L 1283 | 218.203 196.292 L 1284 | 233.778 207.696 L 1285 | 268.87 231.503 L 1286 | 308.757 256.501 L 1287 | 352.823 282.522 L 1288 | 400.391 309.384 L 1289 | 517.402 372.503 L 1290 | 639.357 436.783 L 1291 | 756.624 499.962 L 1292 | 810.572 530.438 L 1293 | 859.945 559.813 L 1294 | 899.663 585.096 L 1295 | 917.632 597.267 L 1296 | 934.242 609.094 L 1297 | 949.426 620.558 L 1298 | 963.124 631.637 L 1299 | 975.281 642.312 L 1300 | 980.765 647.491 L 1301 | 985.846 652.563 L 1302 | 990.519 657.523 L 1303 | 994.779 662.372 L 1304 | 998.622 667.105 L 1305 | 1002.043 671.721 L 1306 | 1005.039 676.218 L 1307 | 1007.608 680.594 L 1308 | 1009.747 684.847 L 1309 | 1011.453 688.976 L 1310 | 1012.725 692.977 L 1311 | 1013.562 696.85 L 1312 | 1013.962 700.592 L 1313 | 1013.926 704.203 L 1314 | 1013.453 707.68 L 1315 | 1012.544 711.022 L 1316 | 1011.199 714.227 L 1317 | 1009.421 717.294 L 1318 | 1007.1 720.352 L 1319 | 1004.308 723.256 L 1320 | 1001.05 726.005 L 1321 | 997.328 728.597 L 1322 | 993.148 731.031 L 1323 | 988.512 733.305 L 1324 | 983.428 735.42 L 1325 | 977.899 737.373 L 1326 | 971.933 739.164 L 1327 | 965.535 740.791 L 1328 | 958.713 742.255 L 1329 | 951.475 743.554 L 1330 | 943.827 744.688 L 1331 | 935.78 745.656 L 1332 | 918.52 747.092 L 1333 | 899.77 747.86 L 1334 | 879.614 747.958 L 1335 | 858.139 747.387 L 1336 | 835.441 746.147 L 1337 | 786.777 741.672 L 1338 | 734.478 734.568 L 1339 | 678.414 724.686 L 1340 | 620.554 712.213 L 1341 | 561.954 697.252 L 1342 | 503.684 679.923 L 1343 | 446.805 660.367 L 1344 | 419.214 649.803 L 1345 | 392.357 638.742 L 1346 | 366.357 627.209 L 1347 | 341.332 615.226 L 1348 | 317.397 602.816 L 1349 | 294.661 590.007 L 1350 | 273.413 576.942 L 1351 | 253.541 563.535 L 1352 | 244.148 556.712 L 1353 | 235.132 549.813 L 1354 | 226.503 542.843 L 1355 | 218.27 535.804 L 1356 | 210.443 528.7 L 1357 | 203.031 521.534 L 1358 | 196.041 514.311 L 1359 | 189.482 507.034 L 1360 | 183.361 499.706 L 1361 | 177.684 492.331 L 1362 | 172.459 484.912 L 1363 | 167.691 477.454 L 1364 | 163.385 469.961 L 1365 | 159.547 462.435 L 1366 | 156.18 454.881 L 1367 | 153.289 447.302 L 1368 | 150.876 439.702 L 1369 | 148.944 432.085 L 1370 | 147.496 424.455 L 1371 | 146.533 416.816 L 1372 | 146.056 409.171 L 1373 | 146.066 401.524 L 1374 | 146.562 393.879 L 1375 | 147.545 386.24 L 1376 | 149.012 378.61 L 1377 | 150.963 370.994 L 1378 | 153.395 363.395 L 1379 | 156.306 355.817 L 1380 | 159.69 348.268 L 1381 | 163.544 340.747 L 1382 | 167.866 333.259 L 1383 | 172.649 325.806 L 1384 | 177.888 318.393 L 1385 | 183.578 311.024 L 1386 | 189.712 303.701 L 1387 | 196.283 296.43 L 1388 | 203.285 289.212 L 1389 | 210.708 282.053 L 1390 | 218.545 274.955 L 1391 | 226.787 267.922 L 1392 | 235.425 260.957 L 1393 | 244.448 254.064 L 1394 | 263.613 240.509 L 1395 | 284.196 227.282 L 1396 | 306.103 214.41 L 1397 | 329.238 201.919 L 1398 | 353.496 189.833 L 1399 | 378.769 178.177 L 1400 | 404.943 166.973 L 1401 | 459.524 146.012 L 1402 | 518.563 126.407 L 1403 | 578.792 109.205 L 1404 | 639.043 94.554 L 1405 | 698.152 82.582 L 1406 | 754.973 73.391 L 1407 | 808.407 67.059 L 1408 | 833.527 64.984 L 1409 | 857.419 63.643 L 1410 | 879.966 63.038 L 1411 | 901.06 63.17 L 1412 | 919.161 63.948 L 1413 | 935.861 65.353 L 1414 | 943.663 66.29 L 1415 | 951.089 67.383 L 1416 | 958.132 68.632 L 1417 | 964.784 70.035 L 1418 | 971.038 71.592 L 1419 | 976.888 73.302 L 1420 | 982.328 75.166 L 1421 | 987.351 77.181 L 1422 | 991.954 79.346 L 1423 | 996.131 81.662 L 1424 | 999.878 84.126 L 1425 | 1003.191 86.738 L 1426 | 1006.067 89.497 L 1427 | 1008.502 92.401 L 1428 | 1010.494 95.448 L 1429 | 1012.041 98.638 L 1430 | 1013.142 101.969 L 1431 | 1013.795 105.439 L 1432 | 1014 109.048 L 1433 | 1013.756 112.792 L 1434 | 1013.063 116.671 L 1435 | 1011.923 120.682 L 1436 | 1010.337 124.825 L 1437 | 1008.306 129.096 L 1438 | 1005.832 133.494 L 1439 | 1002.918 138.018 L 1440 | 999.567 142.664 L 1441 | 995.782 147.431 L 1442 | 991.011 152.934 L 1443 | 985.703 158.585 L 1444 | 979.864 164.379 L 1445 | 973.502 170.313 L 1446 | 966.625 176.384 L 1447 | 959.243 182.588 L 1448 | 943.001 195.382 L 1449 | 924.861 208.663 L 1450 | 904.918 222.403 L 1451 | 860.046 251.125 L 1452 | 809.324 281.283 L 1453 | 753.811 312.595 L 1454 | 633.127 377.51 L 1455 | 423.036 489.142 L 1456 | 250.295 591.827 L 1457 | S 1458 | GR 1459 | %%Trailer 1460 | %%Pages: 1 1461 | %%EOF 1462 | -------------------------------------------------------------------------------- /figures/image3.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-3.0 EPSF-3.0 2 | %%Creator: (MATLAB, The Mathworks, Inc. Version 9.6.0.1072779 \(R2019a\). Operating System: Windows 10) 3 | %%Title: ./image3.eps 4 | %%CreationDate: 2020-09-06T22:30:12 5 | %%Pages: (atend) 6 | %%BoundingBox: 33 20 383 295 7 | %%LanguageLevel: 2 8 | %%EndComments 9 | %%BeginProlog 10 | %%BeginResource: procset (Apache XML Graphics Std ProcSet) 1.2 0 11 | %%Version: 1.2 0 12 | %%Copyright: (Copyright 2001-2003,2010 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0) 13 | /bd{bind def}bind def 14 | /ld{load def}bd 15 | /GR/grestore ld 16 | /GS/gsave ld 17 | /RM/rmoveto ld 18 | /C/curveto ld 19 | /t/show ld 20 | /L/lineto ld 21 | /ML/setmiterlimit ld 22 | /CT/concat ld 23 | /f/fill ld 24 | /N/newpath ld 25 | /S/stroke ld 26 | /CC/setcmykcolor ld 27 | /A/ashow ld 28 | /cp/closepath ld 29 | /RC/setrgbcolor ld 30 | /LJ/setlinejoin ld 31 | /GC/setgray ld 32 | /LW/setlinewidth ld 33 | /M/moveto ld 34 | /re {4 2 roll M 35 | 1 index 0 rlineto 36 | 0 exch rlineto 37 | neg 0 rlineto 38 | cp } bd 39 | /_ctm matrix def 40 | /_tm matrix def 41 | /BT { _ctm currentmatrix pop matrix _tm copy pop 0 0 moveto } bd 42 | /ET { _ctm setmatrix } bd 43 | /iTm { _ctm setmatrix _tm concat } bd 44 | /Tm { _tm astore pop iTm 0 0 moveto } bd 45 | /ux 0.0 def 46 | /uy 0.0 def 47 | /F { 48 | /Tp exch def 49 | /Tf exch def 50 | Tf findfont Tp scalefont setfont 51 | /cf Tf def /cs Tp def 52 | } bd 53 | /ULS {currentpoint /uy exch def /ux exch def} bd 54 | /ULE { 55 | /Tcx currentpoint pop def 56 | gsave 57 | newpath 58 | cf findfont cs scalefont dup 59 | /FontMatrix get 0 get /Ts exch def /FontInfo get dup 60 | /UnderlinePosition get Ts mul /To exch def 61 | /UnderlineThickness get Ts mul /Tt exch def 62 | ux uy To add moveto Tcx uy To add lineto 63 | Tt setlinewidth stroke 64 | grestore 65 | } bd 66 | /OLE { 67 | /Tcx currentpoint pop def 68 | gsave 69 | newpath 70 | cf findfont cs scalefont dup 71 | /FontMatrix get 0 get /Ts exch def /FontInfo get dup 72 | /UnderlinePosition get Ts mul /To exch def 73 | /UnderlineThickness get Ts mul /Tt exch def 74 | ux uy To add cs add moveto Tcx uy To add cs add lineto 75 | Tt setlinewidth stroke 76 | grestore 77 | } bd 78 | /SOE { 79 | /Tcx currentpoint pop def 80 | gsave 81 | newpath 82 | cf findfont cs scalefont dup 83 | /FontMatrix get 0 get /Ts exch def /FontInfo get dup 84 | /UnderlinePosition get Ts mul /To exch def 85 | /UnderlineThickness get Ts mul /Tt exch def 86 | ux uy To add cs 10 mul 26 idiv add moveto Tcx uy To add cs 10 mul 26 idiv add lineto 87 | Tt setlinewidth stroke 88 | grestore 89 | } bd 90 | /QT { 91 | /Y22 exch store 92 | /X22 exch store 93 | /Y21 exch store 94 | /X21 exch store 95 | currentpoint 96 | /Y21 load 2 mul add 3 div exch 97 | /X21 load 2 mul add 3 div exch 98 | /X21 load 2 mul /X22 load add 3 div 99 | /Y21 load 2 mul /Y22 load add 3 div 100 | /X22 load /Y22 load curveto 101 | } bd 102 | /SSPD { 103 | dup length /d exch dict def 104 | { 105 | /v exch def 106 | /k exch def 107 | currentpagedevice k known { 108 | /cpdv currentpagedevice k get def 109 | v cpdv ne { 110 | /upd false def 111 | /nullv v type /nulltype eq def 112 | /nullcpdv cpdv type /nulltype eq def 113 | nullv nullcpdv or 114 | { 115 | /upd true def 116 | } { 117 | /sametype v type cpdv type eq def 118 | sametype { 119 | v type /arraytype eq { 120 | /vlen v length def 121 | /cpdvlen cpdv length def 122 | vlen cpdvlen eq { 123 | 0 1 vlen 1 sub { 124 | /i exch def 125 | /obj v i get def 126 | /cpdobj cpdv i get def 127 | obj cpdobj ne { 128 | /upd true def 129 | exit 130 | } if 131 | } for 132 | } { 133 | /upd true def 134 | } ifelse 135 | } { 136 | v type /dicttype eq { 137 | v { 138 | /dv exch def 139 | /dk exch def 140 | /cpddv cpdv dk get def 141 | dv cpddv ne { 142 | /upd true def 143 | exit 144 | } if 145 | } forall 146 | } { 147 | /upd true def 148 | } ifelse 149 | } ifelse 150 | } if 151 | } ifelse 152 | upd true eq { 153 | d k v put 154 | } if 155 | } if 156 | } if 157 | } forall 158 | d length 0 gt { 159 | d setpagedevice 160 | } if 161 | } bd 162 | /RE { % /NewFontName [NewEncodingArray] /FontName RE - 163 | findfont dup length dict begin 164 | { 165 | 1 index /FID ne 166 | {def} {pop pop} ifelse 167 | } forall 168 | /Encoding exch def 169 | /FontName 1 index def 170 | currentdict definefont pop 171 | end 172 | } bind def 173 | %%EndResource 174 | %%BeginResource: procset (Apache XML Graphics EPS ProcSet) 1.0 0 175 | %%Version: 1.0 0 176 | %%Copyright: (Copyright 2002-2003 The Apache Software Foundation. License terms: http://www.apache.org/licenses/LICENSE-2.0) 177 | /BeginEPSF { %def 178 | /b4_Inc_state save def % Save state for cleanup 179 | /dict_count countdictstack def % Count objects on dict stack 180 | /op_count count 1 sub def % Count objects on operand stack 181 | userdict begin % Push userdict on dict stack 182 | /showpage { } def % Redefine showpage, { } = null proc 183 | 0 setgray 0 setlinecap % Prepare graphics state 184 | 1 setlinewidth 0 setlinejoin 185 | 10 setmiterlimit [ ] 0 setdash newpath 186 | /languagelevel where % If level not equal to 1 then 187 | {pop languagelevel % set strokeadjust and 188 | 1 ne % overprint to their defaults. 189 | {false setstrokeadjust false setoverprint 190 | } if 191 | } if 192 | } bd 193 | /EndEPSF { %def 194 | count op_count sub {pop} repeat % Clean up stacks 195 | countdictstack dict_count sub {end} repeat 196 | b4_Inc_state restore 197 | } bd 198 | %%EndResource 199 | %FOPBeginFontDict 200 | %%IncludeResource: font Courier-Oblique 201 | %%IncludeResource: font Courier-BoldOblique 202 | %%IncludeResource: font Courier-Bold 203 | %%IncludeResource: font ZapfDingbats 204 | %%IncludeResource: font Symbol 205 | %%IncludeResource: font Helvetica 206 | %%IncludeResource: font Helvetica-Oblique 207 | %%IncludeResource: font Helvetica-Bold 208 | %%IncludeResource: font Helvetica-BoldOblique 209 | %%IncludeResource: font Times-Roman 210 | %%IncludeResource: font Times-Italic 211 | %%IncludeResource: font Times-Bold 212 | %%IncludeResource: font Times-BoldItalic 213 | %%IncludeResource: font Courier 214 | %FOPEndFontDict 215 | %%BeginResource: encoding WinAnsiEncoding 216 | /WinAnsiEncoding [ 217 | /.notdef /.notdef /.notdef /.notdef /.notdef 218 | /.notdef /.notdef /.notdef /.notdef /.notdef 219 | /.notdef /.notdef /.notdef /.notdef /.notdef 220 | /.notdef /.notdef /.notdef /.notdef /.notdef 221 | /.notdef /.notdef /.notdef /.notdef /.notdef 222 | /.notdef /.notdef /.notdef /.notdef /.notdef 223 | /.notdef /.notdef /space /exclam /quotedbl 224 | /numbersign /dollar /percent /ampersand /quotesingle 225 | /parenleft /parenright /asterisk /plus /comma 226 | /hyphen /period /slash /zero /one 227 | /two /three /four /five /six 228 | /seven /eight /nine /colon /semicolon 229 | /less /equal /greater /question /at 230 | /A /B /C /D /E 231 | /F /G /H /I /J 232 | /K /L /M /N /O 233 | /P /Q /R /S /T 234 | /U /V /W /X /Y 235 | /Z /bracketleft /backslash /bracketright /asciicircum 236 | /underscore /quoteleft /a /b /c 237 | /d /e /f /g /h 238 | /i /j /k /l /m 239 | /n /o /p /q /r 240 | /s /t /u /v /w 241 | /x /y /z /braceleft /bar 242 | /braceright /asciitilde /bullet /Euro /bullet 243 | /quotesinglbase /florin /quotedblbase /ellipsis /dagger 244 | /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft 245 | /OE /bullet /Zcaron /bullet /bullet 246 | /quoteleft /quoteright /quotedblleft /quotedblright /bullet 247 | /endash /emdash /asciitilde /trademark /scaron 248 | /guilsinglright /oe /bullet /zcaron /Ydieresis 249 | /space /exclamdown /cent /sterling /currency 250 | /yen /brokenbar /section /dieresis /copyright 251 | /ordfeminine /guillemotleft /logicalnot /sfthyphen /registered 252 | /macron /degree /plusminus /twosuperior /threesuperior 253 | /acute /mu /paragraph /middot /cedilla 254 | /onesuperior /ordmasculine /guillemotright /onequarter /onehalf 255 | /threequarters /questiondown /Agrave /Aacute /Acircumflex 256 | /Atilde /Adieresis /Aring /AE /Ccedilla 257 | /Egrave /Eacute /Ecircumflex /Edieresis /Igrave 258 | /Iacute /Icircumflex /Idieresis /Eth /Ntilde 259 | /Ograve /Oacute /Ocircumflex /Otilde /Odieresis 260 | /multiply /Oslash /Ugrave /Uacute /Ucircumflex 261 | /Udieresis /Yacute /Thorn /germandbls /agrave 262 | /aacute /acircumflex /atilde /adieresis /aring 263 | /ae /ccedilla /egrave /eacute /ecircumflex 264 | /edieresis /igrave /iacute /icircumflex /idieresis 265 | /eth /ntilde /ograve /oacute /ocircumflex 266 | /otilde /odieresis /divide /oslash /ugrave 267 | /uacute /ucircumflex /udieresis /yacute /thorn 268 | /ydieresis 269 | ] def 270 | %%EndResource 271 | %FOPBeginFontReencode 272 | /Courier-Oblique findfont 273 | dup length dict begin 274 | {1 index /FID ne {def} {pop pop} ifelse} forall 275 | /Encoding WinAnsiEncoding def 276 | currentdict 277 | end 278 | /Courier-Oblique exch definefont pop 279 | /Courier-BoldOblique findfont 280 | dup length dict begin 281 | {1 index /FID ne {def} {pop pop} ifelse} forall 282 | /Encoding WinAnsiEncoding def 283 | currentdict 284 | end 285 | /Courier-BoldOblique exch definefont pop 286 | /Courier-Bold findfont 287 | dup length dict begin 288 | {1 index /FID ne {def} {pop pop} ifelse} forall 289 | /Encoding WinAnsiEncoding def 290 | currentdict 291 | end 292 | /Courier-Bold exch definefont pop 293 | /Helvetica findfont 294 | dup length dict begin 295 | {1 index /FID ne {def} {pop pop} ifelse} forall 296 | /Encoding WinAnsiEncoding def 297 | currentdict 298 | end 299 | /Helvetica exch definefont pop 300 | /Helvetica-Oblique findfont 301 | dup length dict begin 302 | {1 index /FID ne {def} {pop pop} ifelse} forall 303 | /Encoding WinAnsiEncoding def 304 | currentdict 305 | end 306 | /Helvetica-Oblique exch definefont pop 307 | /Helvetica-Bold findfont 308 | dup length dict begin 309 | {1 index /FID ne {def} {pop pop} ifelse} forall 310 | /Encoding WinAnsiEncoding def 311 | currentdict 312 | end 313 | /Helvetica-Bold exch definefont pop 314 | /Helvetica-BoldOblique findfont 315 | dup length dict begin 316 | {1 index /FID ne {def} {pop pop} ifelse} forall 317 | /Encoding WinAnsiEncoding def 318 | currentdict 319 | end 320 | /Helvetica-BoldOblique exch definefont pop 321 | /Times-Roman findfont 322 | dup length dict begin 323 | {1 index /FID ne {def} {pop pop} ifelse} forall 324 | /Encoding WinAnsiEncoding def 325 | currentdict 326 | end 327 | /Times-Roman exch definefont pop 328 | /Times-Italic findfont 329 | dup length dict begin 330 | {1 index /FID ne {def} {pop pop} ifelse} forall 331 | /Encoding WinAnsiEncoding def 332 | currentdict 333 | end 334 | /Times-Italic exch definefont pop 335 | /Times-Bold findfont 336 | dup length dict begin 337 | {1 index /FID ne {def} {pop pop} ifelse} forall 338 | /Encoding WinAnsiEncoding def 339 | currentdict 340 | end 341 | /Times-Bold exch definefont pop 342 | /Times-BoldItalic findfont 343 | dup length dict begin 344 | {1 index /FID ne {def} {pop pop} ifelse} forall 345 | /Encoding WinAnsiEncoding def 346 | currentdict 347 | end 348 | /Times-BoldItalic exch definefont pop 349 | /Courier findfont 350 | dup length dict begin 351 | {1 index /FID ne {def} {pop pop} ifelse} forall 352 | /Encoding WinAnsiEncoding def 353 | currentdict 354 | end 355 | /Courier exch definefont pop 356 | %FOPEndFontReencode 357 | %%EndProlog 358 | %%Page: 1 1 359 | %%PageBoundingBox: 0 0 420 315 360 | %%BeginPageSetup 361 | [1 0 0 -1 0 315] CT 362 | %%EndPageSetup 363 | GS 364 | [0.375 0 0 0.375 0 0] CT 365 | 1 GC 366 | N 367 | 0 0 1120 840 re 368 | f 369 | GR 370 | GS 371 | [0.375 0 0 0.375 0 0] CT 372 | 1 GC 373 | N 374 | 0 0 1120 840 re 375 | f 376 | GR 377 | GS 378 | [0.375 0 0 0.375 0 0] CT 379 | 1 GC 380 | N 381 | 146 748 M 382 | 1014 748 L 383 | 1014 63 L 384 | 146 63 L 385 | cp 386 | f 387 | GR 388 | GS 389 | [0.375 0 0 0.375 0 0] CT 390 | 0.149 GC 391 | 2 setlinecap 392 | 1 LJ 393 | 1.333 LW 394 | N 395 | 146 748 M 396 | 1014 748 L 397 | S 398 | GR 399 | GS 400 | [0.375 0 0 0.375 0 0] CT 401 | 0.149 GC 402 | 2 setlinecap 403 | 1 LJ 404 | 1.333 LW 405 | N 406 | 146 63 M 407 | 1014 63 L 408 | S 409 | GR 410 | GS 411 | [0.375 0 0 0.375 0 0] CT 412 | 0.149 GC 413 | 2 setlinecap 414 | 1 LJ 415 | 1.333 LW 416 | N 417 | 146 748 M 418 | 146 739.32 L 419 | S 420 | GR 421 | GS 422 | [0.375 0 0 0.375 0 0] CT 423 | 0.149 GC 424 | 2 setlinecap 425 | 1 LJ 426 | 1.333 LW 427 | N 428 | 580 748 M 429 | 580 739.32 L 430 | S 431 | GR 432 | GS 433 | [0.375 0 0 0.375 0 0] CT 434 | 0.149 GC 435 | 2 setlinecap 436 | 1 LJ 437 | 1.333 LW 438 | N 439 | 1014 748 M 440 | 1014 739.32 L 441 | S 442 | GR 443 | GS 444 | [0.375 0 0 0.375 0 0] CT 445 | 0.149 GC 446 | 2 setlinecap 447 | 1 LJ 448 | 1.333 LW 449 | N 450 | 146 63 M 451 | 146 71.68 L 452 | S 453 | GR 454 | GS 455 | [0.375 0 0 0.375 0 0] CT 456 | 0.149 GC 457 | 2 setlinecap 458 | 1 LJ 459 | 1.333 LW 460 | N 461 | 580 63 M 462 | 580 71.68 L 463 | S 464 | GR 465 | GS 466 | [0.375 0 0 0.375 0 0] CT 467 | 0.149 GC 468 | 2 setlinecap 469 | 1 LJ 470 | 1.333 LW 471 | N 472 | 1014 63 M 473 | 1014 71.68 L 474 | S 475 | GR 476 | GS 477 | [0.375 0 0 0.375 54.75 284.50001] CT 478 | 0.149 GC 479 | /Helvetica 26.667 F 480 | GS 481 | [1 0 0 1 0 0] CT 482 | -12 27 moveto 483 | 1 -1 scale 484 | (-5) t 485 | GR 486 | GR 487 | GS 488 | [0.375 0 0 0.375 217.5 284.50001] CT 489 | 0.149 GC 490 | /Helvetica 26.667 F 491 | GS 492 | [1 0 0 1 0 0] CT 493 | -7.5 27 moveto 494 | 1 -1 scale 495 | (0) t 496 | GR 497 | GR 498 | GS 499 | [0.375 0 0 0.375 380.25 284.50001] CT 500 | 0.149 GC 501 | /Helvetica 26.667 F 502 | GS 503 | [1 0 0 1 0 0] CT 504 | -7.5 27 moveto 505 | 1 -1 scale 506 | (5) t 507 | GR 508 | GR 509 | GS 510 | [0.375 0 0 0.375 0 0] CT 511 | 0.149 GC 512 | 2 setlinecap 513 | 1 LJ 514 | 1.333 LW 515 | N 516 | 146 748 M 517 | 146 63 L 518 | S 519 | GR 520 | GS 521 | [0.375 0 0 0.375 0 0] CT 522 | 0.149 GC 523 | 2 setlinecap 524 | 1 LJ 525 | 1.333 LW 526 | N 527 | 1014 748 M 528 | 1014 63 L 529 | S 530 | GR 531 | GS 532 | [0.375 0 0 0.375 0 0] CT 533 | 0.149 GC 534 | 2 setlinecap 535 | 1 LJ 536 | 1.333 LW 537 | N 538 | 146 748 M 539 | 154.68 748 L 540 | S 541 | GR 542 | GS 543 | [0.375 0 0 0.375 0 0] CT 544 | 0.149 GC 545 | 2 setlinecap 546 | 1 LJ 547 | 1.333 LW 548 | N 549 | 146 679.5 M 550 | 154.68 679.5 L 551 | S 552 | GR 553 | GS 554 | [0.375 0 0 0.375 0 0] CT 555 | 0.149 GC 556 | 2 setlinecap 557 | 1 LJ 558 | 1.333 LW 559 | N 560 | 146 611 M 561 | 154.68 611 L 562 | S 563 | GR 564 | GS 565 | [0.375 0 0 0.375 0 0] CT 566 | 0.149 GC 567 | 2 setlinecap 568 | 1 LJ 569 | 1.333 LW 570 | N 571 | 146 542.5 M 572 | 154.68 542.5 L 573 | S 574 | GR 575 | GS 576 | [0.375 0 0 0.375 0 0] CT 577 | 0.149 GC 578 | 2 setlinecap 579 | 1 LJ 580 | 1.333 LW 581 | N 582 | 146 474 M 583 | 154.68 474 L 584 | S 585 | GR 586 | GS 587 | [0.375 0 0 0.375 0 0] CT 588 | 0.149 GC 589 | 2 setlinecap 590 | 1 LJ 591 | 1.333 LW 592 | N 593 | 146 405.5 M 594 | 154.68 405.5 L 595 | S 596 | GR 597 | GS 598 | [0.375 0 0 0.375 0 0] CT 599 | 0.149 GC 600 | 2 setlinecap 601 | 1 LJ 602 | 1.333 LW 603 | N 604 | 146 337 M 605 | 154.68 337 L 606 | S 607 | GR 608 | GS 609 | [0.375 0 0 0.375 0 0] CT 610 | 0.149 GC 611 | 2 setlinecap 612 | 1 LJ 613 | 1.333 LW 614 | N 615 | 146 268.5 M 616 | 154.68 268.5 L 617 | S 618 | GR 619 | GS 620 | [0.375 0 0 0.375 0 0] CT 621 | 0.149 GC 622 | 2 setlinecap 623 | 1 LJ 624 | 1.333 LW 625 | N 626 | 146 200 M 627 | 154.68 200 L 628 | S 629 | GR 630 | GS 631 | [0.375 0 0 0.375 0 0] CT 632 | 0.149 GC 633 | 2 setlinecap 634 | 1 LJ 635 | 1.333 LW 636 | N 637 | 146 131.5 M 638 | 154.68 131.5 L 639 | S 640 | GR 641 | GS 642 | [0.375 0 0 0.375 0 0] CT 643 | 0.149 GC 644 | 2 setlinecap 645 | 1 LJ 646 | 1.333 LW 647 | N 648 | 146 63 M 649 | 154.68 63 L 650 | S 651 | GR 652 | GS 653 | [0.375 0 0 0.375 0 0] CT 654 | 0.149 GC 655 | 2 setlinecap 656 | 1 LJ 657 | 1.333 LW 658 | N 659 | 1014 748 M 660 | 1005.32 748 L 661 | S 662 | GR 663 | GS 664 | [0.375 0 0 0.375 0 0] CT 665 | 0.149 GC 666 | 2 setlinecap 667 | 1 LJ 668 | 1.333 LW 669 | N 670 | 1014 679.5 M 671 | 1005.32 679.5 L 672 | S 673 | GR 674 | GS 675 | [0.375 0 0 0.375 0 0] CT 676 | 0.149 GC 677 | 2 setlinecap 678 | 1 LJ 679 | 1.333 LW 680 | N 681 | 1014 611 M 682 | 1005.32 611 L 683 | S 684 | GR 685 | GS 686 | [0.375 0 0 0.375 0 0] CT 687 | 0.149 GC 688 | 2 setlinecap 689 | 1 LJ 690 | 1.333 LW 691 | N 692 | 1014 542.5 M 693 | 1005.32 542.5 L 694 | S 695 | GR 696 | GS 697 | [0.375 0 0 0.375 0 0] CT 698 | 0.149 GC 699 | 2 setlinecap 700 | 1 LJ 701 | 1.333 LW 702 | N 703 | 1014 474 M 704 | 1005.32 474 L 705 | S 706 | GR 707 | GS 708 | [0.375 0 0 0.375 0 0] CT 709 | 0.149 GC 710 | 2 setlinecap 711 | 1 LJ 712 | 1.333 LW 713 | N 714 | 1014 405.5 M 715 | 1005.32 405.5 L 716 | S 717 | GR 718 | GS 719 | [0.375 0 0 0.375 0 0] CT 720 | 0.149 GC 721 | 2 setlinecap 722 | 1 LJ 723 | 1.333 LW 724 | N 725 | 1014 337 M 726 | 1005.32 337 L 727 | S 728 | GR 729 | GS 730 | [0.375 0 0 0.375 0 0] CT 731 | 0.149 GC 732 | 2 setlinecap 733 | 1 LJ 734 | 1.333 LW 735 | N 736 | 1014 268.5 M 737 | 1005.32 268.5 L 738 | S 739 | GR 740 | GS 741 | [0.375 0 0 0.375 0 0] CT 742 | 0.149 GC 743 | 2 setlinecap 744 | 1 LJ 745 | 1.333 LW 746 | N 747 | 1014 200 M 748 | 1005.32 200 L 749 | S 750 | GR 751 | GS 752 | [0.375 0 0 0.375 0 0] CT 753 | 0.149 GC 754 | 2 setlinecap 755 | 1 LJ 756 | 1.333 LW 757 | N 758 | 1014 131.5 M 759 | 1005.32 131.5 L 760 | S 761 | GR 762 | GS 763 | [0.375 0 0 0.375 0 0] CT 764 | 0.149 GC 765 | 2 setlinecap 766 | 1 LJ 767 | 1.333 LW 768 | N 769 | 1014 63 M 770 | 1005.32 63 L 771 | S 772 | GR 773 | GS 774 | [0.375 0 0 0.375 50.74999 280.5] CT 775 | 0.149 GC 776 | /Helvetica 26.667 F 777 | GS 778 | [1 0 0 1 0 0] CT 779 | -24 10.5 moveto 780 | 1 -1 scale 781 | (-1) t 782 | GR 783 | GR 784 | GS 785 | [0.375 0 0 0.375 50.74999 254.8125] CT 786 | 0.149 GC 787 | /Helvetica 26.667 F 788 | GS 789 | [1 0 0 1 0 0] CT 790 | -46 10.5 moveto 791 | 1 -1 scale 792 | (-0.8) t 793 | GR 794 | GR 795 | GS 796 | [0.375 0 0 0.375 50.74999 229.125] CT 797 | 0.149 GC 798 | /Helvetica 26.667 F 799 | GS 800 | [1 0 0 1 0 0] CT 801 | -46 10.5 moveto 802 | 1 -1 scale 803 | (-0.6) t 804 | GR 805 | GR 806 | GS 807 | [0.375 0 0 0.375 50.74999 203.4375] CT 808 | 0.149 GC 809 | /Helvetica 26.667 F 810 | GS 811 | [1 0 0 1 0 0] CT 812 | -46 10.5 moveto 813 | 1 -1 scale 814 | (-0.4) t 815 | GR 816 | GR 817 | GS 818 | [0.375 0 0 0.375 50.74999 177.75] CT 819 | 0.149 GC 820 | /Helvetica 26.667 F 821 | GS 822 | [1 0 0 1 0 0] CT 823 | -46 10.5 moveto 824 | 1 -1 scale 825 | (-0.2) t 826 | GR 827 | GR 828 | GS 829 | [0.375 0 0 0.375 50.74999 152.0625] CT 830 | 0.149 GC 831 | /Helvetica 26.667 F 832 | GS 833 | [1 0 0 1 0 0] CT 834 | -15 10.5 moveto 835 | 1 -1 scale 836 | (0) t 837 | GR 838 | GR 839 | GS 840 | [0.375 0 0 0.375 50.74999 126.375] CT 841 | 0.149 GC 842 | /Helvetica 26.667 F 843 | GS 844 | [1 0 0 1 0 0] CT 845 | -38 10.5 moveto 846 | 1 -1 scale 847 | (0.2) t 848 | GR 849 | GR 850 | GS 851 | [0.375 0 0 0.375 50.74999 100.6875] CT 852 | 0.149 GC 853 | /Helvetica 26.667 F 854 | GS 855 | [1 0 0 1 0 0] CT 856 | -38 10.5 moveto 857 | 1 -1 scale 858 | (0.4) t 859 | GR 860 | GR 861 | GS 862 | [0.375 0 0 0.375 50.74999 74.99999] CT 863 | 0.149 GC 864 | /Helvetica 26.667 F 865 | GS 866 | [1 0 0 1 0 0] CT 867 | -38 10.5 moveto 868 | 1 -1 scale 869 | (0.6) t 870 | GR 871 | GR 872 | GS 873 | [0.375 0 0 0.375 50.74999 49.3125] CT 874 | 0.149 GC 875 | /Helvetica 26.667 F 876 | GS 877 | [1 0 0 1 0 0] CT 878 | -38 10.5 moveto 879 | 1 -1 scale 880 | (0.8) t 881 | GR 882 | GR 883 | GS 884 | [0.375 0 0 0.375 50.74999 23.625] CT 885 | 0.149 GC 886 | /Helvetica 26.667 F 887 | GS 888 | [1 0 0 1 0 0] CT 889 | -15 10.5 moveto 890 | 1 -1 scale 891 | (1) t 892 | GR 893 | GR 894 | GS 895 | [0.375 0 0 0.375 0 0] CT 896 | 0 0.447 0.741 RC 897 | 1 LJ 898 | 1.333 LW 899 | N 900 | 146 77.068 M 901 | 148.263 74.648 L 902 | 150.526 72.452 L 903 | 152.788 70.482 L 904 | 155.051 68.74 L 905 | 157.314 67.227 L 906 | 159.577 65.943 L 907 | 160.708 65.388 L 908 | 161.84 64.891 L 909 | 162.971 64.451 L 910 | 164.102 64.07 L 911 | 165.437 63.694 L 912 | 166.771 63.4 L 913 | 168.106 63.186 L 914 | 169.44 63.053 L 915 | 170.775 63.001 L 916 | 172.109 63.03 L 917 | 173.444 63.14 L 918 | 174.778 63.331 L 919 | 176.113 63.602 L 920 | 177.447 63.955 L 921 | 178.782 64.388 L 922 | 180.117 64.902 L 923 | 181.451 65.496 L 924 | 182.786 66.171 L 925 | 184.12 66.926 L 926 | 185.455 67.761 L 927 | 188.036 69.603 L 928 | 190.618 71.742 L 929 | 193.2 74.176 L 930 | 195.781 76.903 L 931 | 198.363 79.921 L 932 | 200.945 83.227 L 933 | 206.108 90.692 L 934 | 210.809 98.455 L 935 | 215.509 107.118 L 936 | 224.909 127.041 L 937 | 234.587 150.959 L 938 | 244.265 178.037 L 939 | 264.364 242.871 L 940 | 286.131 322.757 L 941 | 303.818 391.726 L 942 | 325.805 477.927 L 943 | 343.273 543.379 L 944 | 362.304 608.271 L 945 | 372.516 639.267 L 946 | 382.727 667.032 L 947 | 392.209 689.583 L 948 | 396.95 699.604 L 949 | 401.691 708.748 L 950 | 406.814 717.611 L 951 | 411.937 725.386 L 952 | 414.498 728.858 L 953 | 417.059 732.048 L 954 | 419.621 734.954 L 955 | 422.182 737.573 L 956 | 424.933 740.064 L 957 | 427.683 742.218 L 958 | 429.059 743.169 L 959 | 430.434 744.035 L 960 | 431.809 744.816 L 961 | 433.185 745.511 L 962 | 434.56 746.122 L 963 | 435.936 746.646 L 964 | 437.311 747.086 L 965 | 438.686 747.439 L 966 | 440.062 747.707 L 967 | 441.437 747.888 L 968 | 442.812 747.984 L 969 | 444.188 747.994 L 970 | 445.278 747.94 L 971 | 446.369 747.833 L 972 | 447.459 747.671 L 973 | 448.55 747.456 L 974 | 449.641 747.186 L 975 | 450.731 746.863 L 976 | 451.822 746.485 L 977 | 452.912 746.054 L 978 | 455.093 745.031 L 979 | 457.274 743.793 L 980 | 459.455 742.341 L 981 | 461.636 740.677 L 982 | 464.281 738.375 L 983 | 466.926 735.765 L 984 | 469.57 732.847 L 985 | 472.215 729.626 L 986 | 477.505 722.285 L 987 | 482.794 713.767 L 988 | 487.368 705.477 L 989 | 491.942 696.355 L 990 | 501.091 675.714 L 991 | 511.473 648.671 L 992 | 521.855 618.154 L 993 | 540.545 555.876 L 994 | 560.09 483.376 L 995 | 580 405.5 L 996 | 599.732 328.308 L 997 | 619.455 255.124 L 998 | 639.966 187.261 L 999 | 649.438 159.812 L 1000 | 658.909 135.286 L 1001 | 669.563 111.552 L 1002 | 674.89 101.324 L 1003 | 680.218 92.241 L 1004 | 684.754 85.435 L 1005 | 689.291 79.503 L 1006 | 691.559 76.87 L 1007 | 693.827 74.461 L 1008 | 696.095 72.278 L 1009 | 698.364 70.323 L 1010 | 700.787 68.487 L 1011 | 703.211 66.914 L 1012 | 704.423 66.226 L 1013 | 705.634 65.604 L 1014 | 706.846 65.049 L 1015 | 708.058 64.56 L 1016 | 709.27 64.137 L 1017 | 710.482 63.781 L 1018 | 711.693 63.492 L 1019 | 712.905 63.269 L 1020 | 714.117 63.113 L 1021 | 715.329 63.023 L 1022 | 716.541 63.001 L 1023 | 717.752 63.045 L 1024 | 719.006 63.161 L 1025 | 720.261 63.348 L 1026 | 721.515 63.607 L 1027 | 722.769 63.937 L 1028 | 724.023 64.339 L 1029 | 725.277 64.812 L 1030 | 726.531 65.356 L 1031 | 727.785 65.97 L 1032 | 729.039 66.656 L 1033 | 730.294 67.413 L 1034 | 732.802 69.137 L 1035 | 735.31 71.143 L 1036 | 737.818 73.427 L 1037 | 740.3 75.961 L 1038 | 742.782 78.764 L 1039 | 745.264 81.834 L 1040 | 747.747 85.169 L 1041 | 752.711 92.622 L 1042 | 757.675 101.098 L 1043 | 762.574 110.439 L 1044 | 767.474 120.72 L 1045 | 777.273 143.968 L 1046 | 787.144 170.753 L 1047 | 797.015 200.571 L 1048 | 816.727 267.621 L 1049 | 837.893 347.397 L 1050 | 856.182 419.274 L 1051 | 874.979 492.483 L 1052 | 895.636 568.129 L 1053 | 916.337 634.734 L 1054 | 925.714 660.835 L 1055 | 935.091 683.959 L 1056 | 942.536 700.019 L 1057 | 946.259 707.243 L 1058 | 949.981 713.913 L 1059 | 956.122 723.671 L 1060 | 959.193 727.956 L 1061 | 962.263 731.838 L 1062 | 965.334 735.311 L 1063 | 968.404 738.371 L 1064 | 971.475 741.015 L 1065 | 974.545 743.239 L 1066 | 976.966 744.694 L 1067 | 978.176 745.323 L 1068 | 979.386 745.886 L 1069 | 980.596 746.382 L 1070 | 981.806 746.813 L 1071 | 983.016 747.177 L 1072 | 984.226 747.474 L 1073 | 985.436 747.706 L 1074 | 986.646 747.87 L 1075 | 987.856 747.968 L 1076 | 989.066 748 L 1077 | 990.276 747.965 L 1078 | 991.486 747.863 L 1079 | 992.696 747.695 L 1080 | 993.906 747.461 L 1081 | 995.162 747.147 L 1082 | 996.418 746.762 L 1083 | 997.674 746.305 L 1084 | 998.93 745.777 L 1085 | 1000.186 745.178 L 1086 | 1001.441 744.508 L 1087 | 1003.953 742.954 L 1088 | 1006.465 741.118 L 1089 | 1008.977 739.001 L 1090 | 1011.488 736.605 L 1091 | 1014 733.932 L 1092 | S 1093 | GR 1094 | GS 1095 | [0.375 0 0 0.375 0 0] CT 1096 | 0.851 0.325 0.098 RC 1097 | 1 LJ 1098 | 1.333 LW 1099 | N 1100 | 146 308.346 M 1101 | 164.102 378.451 L 1102 | 185.455 462.41 L 1103 | 206.108 540.414 L 1104 | 224.909 604.917 L 1105 | 234.587 634.661 L 1106 | 244.265 661.56 L 1107 | 254.314 686.122 L 1108 | 259.339 697.013 L 1109 | 264.364 706.927 L 1110 | 269.805 716.523 L 1111 | 275.247 724.898 L 1112 | 277.968 728.617 L 1113 | 280.689 732.018 L 1114 | 283.41 735.098 L 1115 | 286.131 737.855 L 1116 | 288.342 739.855 L 1117 | 290.552 741.637 L 1118 | 292.763 743.202 L 1119 | 294.974 744.547 L 1120 | 297.185 745.673 L 1121 | 298.291 746.153 L 1122 | 299.396 746.578 L 1123 | 300.502 746.947 L 1124 | 301.607 747.261 L 1125 | 302.713 747.52 L 1126 | 303.818 747.723 L 1127 | 305.192 747.898 L 1128 | 306.566 747.987 L 1129 | 307.941 747.991 L 1130 | 309.315 747.909 L 1131 | 310.689 747.74 L 1132 | 312.063 747.487 L 1133 | 313.437 747.147 L 1134 | 314.811 746.722 L 1135 | 316.186 746.211 L 1136 | 317.56 745.615 L 1137 | 318.934 744.933 L 1138 | 320.308 744.167 L 1139 | 321.682 743.316 L 1140 | 323.056 742.38 L 1141 | 325.805 740.254 L 1142 | 327.988 738.327 L 1143 | 330.172 736.189 L 1144 | 332.355 733.841 L 1145 | 334.539 731.286 L 1146 | 338.906 725.558 L 1147 | 343.273 719.021 L 1148 | 348.031 710.996 L 1149 | 352.788 702.054 L 1150 | 362.304 681.526 L 1151 | 372.516 655.818 L 1152 | 382.727 626.65 L 1153 | 401.691 564.707 L 1154 | 422.182 489.368 L 1155 | 444.188 403.397 L 1156 | 461.636 335.054 L 1157 | 482.794 256.243 L 1158 | 501.091 195.046 L 1159 | 511.473 164.307 L 1160 | 521.855 137.014 L 1161 | 531.2 115.718 L 1162 | 535.873 106.314 L 1163 | 540.545 97.777 L 1164 | 545.432 89.804 L 1165 | 550.318 82.831 L 1166 | 552.761 79.727 L 1167 | 555.204 76.881 L 1168 | 557.647 74.295 L 1169 | 560.09 71.971 L 1170 | 562.579 69.875 L 1171 | 565.067 68.056 L 1172 | 567.556 66.514 L 1173 | 568.8 65.847 L 1174 | 570.045 65.25 L 1175 | 571.289 64.723 L 1176 | 572.534 64.266 L 1177 | 573.778 63.88 L 1178 | 575.022 63.563 L 1179 | 576.267 63.317 L 1180 | 577.511 63.141 L 1181 | 578.756 63.035 L 1182 | 580 63 L 1183 | 581.233 63.035 L 1184 | 582.467 63.138 L 1185 | 583.7 63.311 L 1186 | 584.933 63.553 L 1187 | 586.166 63.864 L 1188 | 587.4 64.244 L 1189 | 588.633 64.693 L 1190 | 589.866 65.21 L 1191 | 591.099 65.796 L 1192 | 592.333 66.451 L 1193 | 594.799 67.966 L 1194 | 597.266 69.754 L 1195 | 599.732 71.812 L 1196 | 602.198 74.139 L 1197 | 604.663 76.733 L 1198 | 607.128 79.592 L 1199 | 609.594 82.714 L 1200 | 614.524 89.736 L 1201 | 619.455 97.777 L 1202 | 624.582 107.193 L 1203 | 629.71 117.649 L 1204 | 639.966 141.534 L 1205 | 649.438 166.871 L 1206 | 658.909 195.046 L 1207 | 680.218 267.026 L 1208 | 698.364 335.054 L 1209 | 717.752 411.053 L 1210 | 737.818 489.368 L 1211 | 757.675 562.489 L 1212 | 777.273 626.65 L 1213 | 787.144 654.9 L 1214 | 797.015 679.928 L 1215 | 806.871 701.38 L 1216 | 811.799 710.692 L 1217 | 816.727 719.021 L 1218 | 822.019 726.839 L 1219 | 824.665 730.302 L 1220 | 827.31 733.463 L 1221 | 829.956 736.319 L 1222 | 832.602 738.869 L 1223 | 835.248 741.108 L 1224 | 837.893 743.036 L 1225 | 840.18 744.449 L 1226 | 842.466 745.627 L 1227 | 843.609 746.127 L 1228 | 844.752 746.569 L 1229 | 845.895 746.951 L 1230 | 847.038 747.274 L 1231 | 848.181 747.538 L 1232 | 849.324 747.742 L 1233 | 850.467 747.888 L 1234 | 851.61 747.973 L 1235 | 852.753 748 L 1236 | 853.896 747.967 L 1237 | 855.039 747.875 L 1238 | 856.182 747.723 L 1239 | 857.357 747.505 L 1240 | 858.531 747.225 L 1241 | 859.706 746.882 L 1242 | 860.881 746.476 L 1243 | 862.056 746.008 L 1244 | 863.231 745.478 L 1245 | 865.58 744.23 L 1246 | 867.93 742.735 L 1247 | 870.279 740.992 L 1248 | 872.629 739.003 L 1249 | 874.979 736.771 L 1250 | 877.561 734.037 L 1251 | 880.143 731.012 L 1252 | 882.725 727.699 L 1253 | 885.307 724.102 L 1254 | 890.472 716.064 L 1255 | 895.636 706.927 L 1256 | 900.812 696.7 L 1257 | 905.987 685.439 L 1258 | 916.337 659.976 L 1259 | 935.091 604.917 L 1260 | 949.981 554.455 L 1261 | 974.545 462.41 L 1262 | 993.906 386.29 L 1263 | 1014 308.346 L 1264 | S 1265 | GR 1266 | %%Trailer 1267 | %%Pages: 1 1268 | %%EOF 1269 | -------------------------------------------------------------------------------- /figures/logo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/figures/logo.pdf -------------------------------------------------------------------------------- /figures/logo2021.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/figures/logo2021.pdf -------------------------------------------------------------------------------- /figures/logo2022.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/figures/logo2022.pdf -------------------------------------------------------------------------------- /figures/logo2023.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/figures/logo2023.pdf -------------------------------------------------------------------------------- /figures/title.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/figures/title.pdf -------------------------------------------------------------------------------- /figures/title2021.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/figures/title2021.pdf -------------------------------------------------------------------------------- /figures/title2022.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/figures/title2022.pdf -------------------------------------------------------------------------------- /figures/title2023.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/andy123t/GMCMthesis/30c90c639645fff537847b02922019ee2822bf75/figures/title2023.pdf -------------------------------------------------------------------------------- /gmcm.bst: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `gbt7714-unsrt.bst', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% gbt7714.dtx (with options: `2015,numerical') 8 | %% Version: 2018/08/05 v1.0.9 9 | %% 10 | %% Copyright (C) 2016-2018 by Zeping Lee 11 | %% 12 | %% This file may be distributed and/or modified under the 13 | %% conditions of the LaTeX Project Public License, either version 1.3c 14 | %% of this license or (at your option) any later version. 15 | %% The latest version of this license is in 16 | %% https://www.latex-project.org/lppl.txt 17 | %% and version 1.3c or later is part of all distributions of LaTeX 18 | %% version 2005/12/01 or later. 19 | %% 20 | 21 | INTEGERS { 22 | uppercase.name 23 | max.num.authors 24 | period.between.author.year 25 | sentence.case.title 26 | link.title 27 | show.mark 28 | slash.for.extraction 29 | in.booktitle 30 | italic.jounal 31 | bold.journal.volume 32 | show.missing.address.publisher 33 | show.url 34 | show.doi 35 | show.note 36 | } 37 | 38 | FUNCTION {load.config} 39 | { 40 | #0 'uppercase.name := 41 | #3 'max.num.authors := 42 | #0 'period.between.author.year := 43 | #0 'sentence.case.title := 44 | #0 'link.title := 45 | #0 'show.mark := 46 | #0 'slash.for.extraction := 47 | #0 'in.booktitle := 48 | #0 'italic.jounal := 49 | #0 'bold.journal.volume := 50 | #0 'show.missing.address.publisher := 51 | #0 'show.url := 52 | #0 'show.doi := 53 | #0 'show.note := 54 | } 55 | 56 | ENTRY 57 | { address 58 | author 59 | booktitle 60 | date 61 | doi 62 | edition 63 | editor 64 | howpublished 65 | institution 66 | journal 67 | key 68 | language 69 | mark 70 | medium 71 | note 72 | number 73 | organization 74 | pages 75 | publisher 76 | school 77 | series 78 | title 79 | translator 80 | url 81 | urldate 82 | volume 83 | year 84 | } 85 | { entry.lang entry.is.electronic entry.numbered } 86 | { label extra.label sort.label short.list entry.mark entry.url } 87 | 88 | INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash } 89 | 90 | INTEGERS { lang.zh lang.ja lang.en lang.ru lang.other } 91 | 92 | INTEGERS { charptr len } 93 | 94 | FUNCTION {init.state.consts} 95 | { #0 'before.all := 96 | #1 'mid.sentence := 97 | #2 'after.sentence := 98 | #3 'after.block := 99 | #4 'after.slash := 100 | #3 'lang.zh := 101 | #4 'lang.ja := 102 | #1 'lang.en := 103 | #2 'lang.ru := 104 | #0 'lang.other := 105 | } 106 | 107 | FUNCTION {bbl.anonymous} 108 | { entry.lang lang.zh = 109 | { "佚名" } 110 | { "Anon" } 111 | if$ 112 | } 113 | 114 | FUNCTION {bbl.space} 115 | { entry.lang lang.zh = 116 | { "\ " } 117 | { " " } 118 | if$ 119 | } 120 | 121 | FUNCTION {bbl.et.al} 122 | { entry.lang lang.zh = 123 | { "等" } 124 | { entry.lang lang.ja = 125 | { "他" } 126 | { entry.lang lang.ru = 127 | { "идр" } 128 | { "et~al." } 129 | if$ 130 | } 131 | if$ 132 | } 133 | if$ 134 | } 135 | 136 | FUNCTION {bbl.colon} { ": " } 137 | 138 | FUNCTION {bbl.wide.space} { "\quad " } 139 | 140 | FUNCTION {bbl.slash} { "//\allowbreak " } 141 | 142 | FUNCTION {bbl.sine.loco} 143 | { entry.lang lang.zh = 144 | { "[出版地不详]" } 145 | { "[S.l.]" } 146 | if$ 147 | } 148 | 149 | FUNCTION {bbl.sine.nomine} 150 | { entry.lang lang.zh = 151 | { "[出版者不详]" } 152 | { "[s.n.]" } 153 | if$ 154 | } 155 | 156 | FUNCTION {bbl.sine.loco.sine.nomine} 157 | { entry.lang lang.zh = 158 | { "[出版地不详: 出版者不详]" } 159 | { "[S.l.: s.n.]" } 160 | if$ 161 | } 162 | 163 | FUNCTION {not} 164 | { { #0 } 165 | { #1 } 166 | if$ 167 | } 168 | 169 | FUNCTION {and} 170 | { 'skip$ 171 | { pop$ #0 } 172 | if$ 173 | } 174 | 175 | FUNCTION {or} 176 | { { pop$ #1 } 177 | 'skip$ 178 | if$ 179 | } 180 | 181 | STRINGS { s t } 182 | 183 | FUNCTION {output.nonnull} 184 | { 's := 185 | output.state mid.sentence = 186 | { ", " * write$ } 187 | { output.state after.block = 188 | { "," * write$ 189 | newline$ 190 | "\newblock " write$ 191 | } 192 | { output.state before.all = 193 | 'write$ 194 | { output.state after.slash = 195 | { bbl.slash * write$ 196 | newline$ 197 | } 198 | { add.period$ " " * write$ } 199 | if$ 200 | } 201 | if$ 202 | } 203 | if$ 204 | mid.sentence 'output.state := 205 | } 206 | if$ 207 | s 208 | } 209 | 210 | FUNCTION {output} 211 | { duplicate$ empty$ 212 | 'pop$ 213 | 'output.nonnull 214 | if$ 215 | } 216 | 217 | FUNCTION {output.after} 218 | { 't := 219 | duplicate$ empty$ 220 | 'pop$ 221 | { 's := 222 | output.state mid.sentence = 223 | { t * write$ } 224 | { output.state after.block = 225 | { add.period$ write$ 226 | newline$ 227 | "\newblock " write$ 228 | } 229 | { output.state before.all = 230 | 'write$ 231 | { output.state after.slash = 232 | { bbl.slash * write$ } 233 | { add.period$ " " * write$ } 234 | if$ 235 | } 236 | if$ 237 | } 238 | if$ 239 | mid.sentence 'output.state := 240 | } 241 | if$ 242 | s 243 | } 244 | if$ 245 | } 246 | 247 | FUNCTION {output.check} 248 | { 't := 249 | duplicate$ empty$ 250 | { pop$ "empty " t * " in " * cite$ * warning$ } 251 | 'output.nonnull 252 | if$ 253 | } 254 | 255 | FUNCTION {fin.entry} 256 | { add.period$ 257 | write$ 258 | newline$ 259 | } 260 | 261 | FUNCTION {new.block} 262 | { output.state before.all = 263 | 'skip$ 264 | { output.state after.slash = 265 | 'skip$ 266 | { after.block 'output.state := } 267 | if$ 268 | } 269 | if$ 270 | } 271 | 272 | FUNCTION {new.sentence} 273 | { output.state after.block = 274 | 'skip$ 275 | { output.state before.all = 276 | 'skip$ 277 | { output.state after.slash = 278 | 'skip$ 279 | { after.sentence 'output.state := } 280 | if$ 281 | } 282 | if$ 283 | } 284 | if$ 285 | } 286 | 287 | FUNCTION {new.slash} 288 | { output.state before.all = 289 | 'skip$ 290 | { slash.for.extraction 291 | { after.slash 'output.state := } 292 | { after.block 'output.state := } 293 | if$ 294 | } 295 | if$ 296 | } 297 | 298 | FUNCTION {new.block.checka} 299 | { empty$ 300 | 'skip$ 301 | 'new.block 302 | if$ 303 | } 304 | 305 | FUNCTION {new.block.checkb} 306 | { empty$ 307 | swap$ empty$ 308 | and 309 | 'skip$ 310 | 'new.block 311 | if$ 312 | } 313 | 314 | FUNCTION {new.sentence.checka} 315 | { empty$ 316 | 'skip$ 317 | 'new.sentence 318 | if$ 319 | } 320 | 321 | FUNCTION {new.sentence.checkb} 322 | { empty$ 323 | swap$ empty$ 324 | and 325 | 'skip$ 326 | 'new.sentence 327 | if$ 328 | } 329 | 330 | FUNCTION {field.or.null} 331 | { duplicate$ empty$ 332 | { pop$ "" } 333 | 'skip$ 334 | if$ 335 | } 336 | 337 | FUNCTION {italicize} 338 | { duplicate$ empty$ 339 | { pop$ "" } 340 | { "\textit{" swap$ * "}" * } 341 | if$ 342 | } 343 | 344 | INTEGERS { byte second.byte } 345 | 346 | INTEGERS { char.lang tmp.lang } 347 | 348 | STRINGS { tmp.str } 349 | 350 | FUNCTION {get.str.lang} 351 | { 'tmp.str := 352 | lang.other 'tmp.lang := 353 | #1 'charptr := 354 | tmp.str text.length$ #1 + 'len := 355 | { charptr len < } 356 | { tmp.str charptr #1 substring$ chr.to.int$ 'byte := 357 | byte #128 < 358 | { charptr #1 + 'charptr := 359 | byte #64 > byte #91 < and byte #96 > byte #123 < and or 360 | { lang.en 'char.lang := } 361 | { lang.other 'char.lang := } 362 | if$ 363 | } 364 | { tmp.str charptr #1 + #1 substring$ chr.to.int$ 'second.byte := 365 | byte #224 < 366 | { charptr #2 + 'charptr := 367 | byte #207 > byte #212 < and 368 | byte #212 = second.byte #176 < and or 369 | { lang.ru 'char.lang := } 370 | { lang.other 'char.lang := } 371 | if$ 372 | } 373 | { byte #240 < 374 | { charptr #3 + 'charptr := 375 | byte #227 > byte #234 < and 376 | { lang.zh 'char.lang := } 377 | { byte #227 = 378 | { second.byte #143 > 379 | { lang.zh 'char.lang := } 380 | { second.byte #128 > second.byte #132 < and 381 | { lang.ja 'char.lang := } 382 | { lang.other 'char.lang := } 383 | if$ 384 | } 385 | if$ 386 | } 387 | { byte #239 = 388 | second.byte #163 > second.byte #172 < and and 389 | { lang.zh 'char.lang := } 390 | { lang.other 'char.lang := } 391 | if$ 392 | } 393 | if$ 394 | } 395 | if$ 396 | } 397 | { charptr #4 + 'charptr := 398 | byte #240 = second.byte #159 > and 399 | { lang.zh 'char.lang := } 400 | { lang.other 'char.lang := } 401 | if$ 402 | } 403 | if$ 404 | } 405 | if$ 406 | } 407 | if$ 408 | char.lang tmp.lang > 409 | { char.lang 'tmp.lang := } 410 | 'skip$ 411 | if$ 412 | } 413 | while$ 414 | tmp.lang 415 | } 416 | 417 | FUNCTION {check.entry.lang} 418 | { author field.or.null 419 | title field.or.null * 420 | get.str.lang 421 | } 422 | 423 | FUNCTION {set.entry.lang} 424 | { language empty$ 425 | { check.entry.lang } 426 | { language "english" = language "american" = or language "british" = or 427 | { lang.en } 428 | { language "chinese" = 429 | { lang.zh } 430 | { language "japanese" = 431 | { lang.ja } 432 | { language "russian" = 433 | { lang.ru } 434 | { check.entry.lang } 435 | if$ 436 | } 437 | if$ 438 | } 439 | if$ 440 | } 441 | if$ 442 | } 443 | if$ 444 | 'entry.lang := 445 | } 446 | 447 | FUNCTION {set.entry.numbered} 448 | { type$ "patent" = 449 | type$ "standard" = or 450 | type$ "techreport" = or 451 | { #1 'entry.numbered := } 452 | { #0 'entry.numbered := } 453 | if$ 454 | } 455 | 456 | INTEGERS { nameptr namesleft numnames name.lang } 457 | 458 | FUNCTION {format.names} 459 | { 's := 460 | #1 'nameptr := 461 | s num.names$ 'numnames := 462 | numnames 'namesleft := 463 | { namesleft #0 > } 464 | { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := 465 | nameptr max.num.authors > 466 | { bbl.et.al 467 | #1 'namesleft := 468 | } 469 | { t "others" = 470 | { bbl.et.al } 471 | { t get.str.lang 'name.lang := 472 | name.lang lang.en = 473 | { t #1 "{vv~}{ll}{~f{~}}" format.name$ 474 | uppercase.name 475 | { "u" change.case$ } 476 | 'skip$ 477 | if$ 478 | t #1 "{, jj}" format.name$ * 479 | } 480 | { t #1 "{ll}{ff}" format.name$ } 481 | if$ 482 | } 483 | if$ 484 | } 485 | if$ 486 | nameptr #1 > 487 | { ", " swap$ * * } 488 | 'skip$ 489 | if$ 490 | nameptr #1 + 'nameptr := 491 | namesleft #1 - 'namesleft := 492 | } 493 | while$ 494 | } 495 | 496 | FUNCTION {format.key} 497 | { empty$ 498 | { key field.or.null } 499 | { "" } 500 | if$ 501 | } 502 | 503 | FUNCTION {format.authors} 504 | { author empty$ not 505 | { author format.names } 506 | { "empty author in " cite$ * warning$ 507 | "" 508 | } 509 | if$ 510 | } 511 | 512 | FUNCTION {format.editors} 513 | { editor empty$ 514 | { "" } 515 | { editor format.names } 516 | if$ 517 | } 518 | 519 | FUNCTION {format.translators} 520 | { translator empty$ 521 | { "" } 522 | { translator format.names 523 | entry.lang lang.zh = 524 | { translator num.names$ #3 > 525 | { "译" * } 526 | { ", 译" * } 527 | if$ 528 | } 529 | 'skip$ 530 | if$ 531 | } 532 | if$ 533 | } 534 | 535 | FUNCTION {format.full.names} 536 | {'s := 537 | #1 'nameptr := 538 | s num.names$ 'numnames := 539 | numnames 'namesleft := 540 | { namesleft #0 > } 541 | { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := 542 | t get.str.lang 'name.lang := 543 | name.lang lang.en = 544 | { t #1 "{vv~}{ll}" format.name$ 't := } 545 | { t #1 "{ll}{ff}" format.name$ 't := } 546 | if$ 547 | nameptr #1 > 548 | { 549 | namesleft #1 > 550 | { ", " * t * } 551 | { 552 | numnames #2 > 553 | { "," * } 554 | 'skip$ 555 | if$ 556 | t "others" = 557 | { " et~al." * } 558 | { " and " * t * } 559 | if$ 560 | } 561 | if$ 562 | } 563 | 't 564 | if$ 565 | nameptr #1 + 'nameptr := 566 | namesleft #1 - 'namesleft := 567 | } 568 | while$ 569 | } 570 | 571 | FUNCTION {author.editor.full} 572 | { author empty$ 573 | { editor empty$ 574 | { "" } 575 | { editor format.full.names } 576 | if$ 577 | } 578 | { author format.full.names } 579 | if$ 580 | } 581 | 582 | FUNCTION {author.full} 583 | { author empty$ 584 | { "" } 585 | { author format.full.names } 586 | if$ 587 | } 588 | 589 | FUNCTION {editor.full} 590 | { editor empty$ 591 | { "" } 592 | { editor format.full.names } 593 | if$ 594 | } 595 | 596 | FUNCTION {make.full.names} 597 | { type$ "book" = 598 | type$ "inbook" = 599 | or 600 | 'author.editor.full 601 | { type$ "collection" = 602 | type$ "proceedings" = 603 | or 604 | 'editor.full 605 | 'author.full 606 | if$ 607 | } 608 | if$ 609 | } 610 | 611 | FUNCTION {output.bibitem} 612 | { newline$ 613 | "\bibitem[{" write$ 614 | label write$ 615 | ")" make.full.names duplicate$ short.list = 616 | { pop$ } 617 | { * } 618 | if$ 619 | "}]{" * write$ 620 | cite$ write$ 621 | "}" write$ 622 | newline$ 623 | "" 624 | before.all 'output.state := 625 | } 626 | 627 | FUNCTION {change.sentence.case} 628 | { entry.lang lang.en = 629 | { "t" change.case$ } 630 | 'skip$ 631 | if$ 632 | } 633 | 634 | FUNCTION {add.link} 635 | { url empty$ not 636 | { "\href{" url * "}{" * swap$ * "}" * } 637 | { doi empty$ not 638 | { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } 639 | 'skip$ 640 | if$ 641 | } 642 | if$ 643 | } 644 | 645 | FUNCTION {format.title} 646 | { title empty$ 647 | { "" } 648 | { title 649 | sentence.case.title 650 | 'change.sentence.case 651 | 'skip$ 652 | if$ 653 | entry.numbered number empty$ not and 654 | { bbl.colon * number * } 655 | 'skip$ 656 | if$ 657 | link.title 658 | 'add.link 659 | 'skip$ 660 | if$ 661 | } 662 | if$ 663 | } 664 | 665 | FUNCTION {tie.or.space.connect} 666 | { duplicate$ text.length$ #3 < 667 | { "~" } 668 | { " " } 669 | if$ 670 | swap$ * * 671 | } 672 | 673 | FUNCTION {either.or.check} 674 | { empty$ 675 | 'pop$ 676 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 677 | if$ 678 | } 679 | 680 | FUNCTION {is.digit} 681 | { duplicate$ empty$ 682 | { pop$ #0 } 683 | { chr.to.int$ 684 | duplicate$ "0" chr.to.int$ < 685 | { pop$ #0 } 686 | { "9" chr.to.int$ > 687 | { #0 } 688 | { #1 } 689 | if$ 690 | } 691 | if$ 692 | } 693 | if$ 694 | } 695 | 696 | FUNCTION {is.number} 697 | { 's := 698 | s empty$ 699 | { #0 } 700 | { s text.length$ 'charptr := 701 | { charptr #0 > 702 | s charptr #1 substring$ is.digit 703 | and 704 | } 705 | { charptr #1 - 'charptr := } 706 | while$ 707 | charptr not 708 | } 709 | if$ 710 | } 711 | 712 | FUNCTION {format.volume} 713 | { volume empty$ not 714 | { volume is.number 715 | { entry.lang lang.zh = 716 | { "第 " volume * " 卷" * } 717 | { "volume" volume tie.or.space.connect } 718 | if$ 719 | } 720 | { volume } 721 | if$ 722 | } 723 | { "" } 724 | if$ 725 | } 726 | 727 | FUNCTION {format.number} 728 | { number empty$ not 729 | { number is.number 730 | { entry.lang lang.zh = 731 | { "第 " number * " 册" * } 732 | { "number" number tie.or.space.connect } 733 | if$ 734 | } 735 | { number } 736 | if$ 737 | } 738 | { "" } 739 | if$ 740 | } 741 | 742 | FUNCTION {format.volume.number} 743 | { volume empty$ not 744 | { format.volume } 745 | { format.number } 746 | if$ 747 | } 748 | 749 | FUNCTION {format.title.vol.num} 750 | { title 751 | sentence.case.title 752 | 'change.sentence.case 753 | 'skip$ 754 | if$ 755 | entry.numbered 756 | { number empty$ not 757 | { bbl.colon * number * } 758 | 'skip$ 759 | if$ 760 | } 761 | { format.volume.number 's := 762 | s empty$ not 763 | { bbl.colon * s * } 764 | 'skip$ 765 | if$ 766 | } 767 | if$ 768 | } 769 | 770 | FUNCTION {format.series.vol.num.title} 771 | { format.volume.number 's := 772 | series empty$ not 773 | { series 774 | sentence.case.title 775 | 'change.sentence.case 776 | 'skip$ 777 | if$ 778 | entry.numbered 779 | { bbl.wide.space * } 780 | { bbl.colon * 781 | s empty$ not 782 | { s * bbl.wide.space * } 783 | 'skip$ 784 | if$ 785 | } 786 | if$ 787 | title * 788 | sentence.case.title 789 | 'change.sentence.case 790 | 'skip$ 791 | if$ 792 | entry.numbered number empty$ not and 793 | { bbl.colon * number * } 794 | 'skip$ 795 | if$ 796 | } 797 | { format.title.vol.num } 798 | if$ 799 | link.title 800 | 'add.link 801 | 'skip$ 802 | if$ 803 | } 804 | 805 | FUNCTION {format.booktitle.vol.num} 806 | { booktitle 807 | entry.numbered 808 | 'skip$ 809 | { format.volume.number 's := 810 | s empty$ not 811 | { bbl.colon * s * } 812 | 'skip$ 813 | if$ 814 | } 815 | if$ 816 | } 817 | 818 | FUNCTION {format.series.vol.num.booktitle} 819 | { format.volume.number 's := 820 | series empty$ not 821 | { series bbl.colon * 822 | entry.numbered 823 | { bbl.colon * } 824 | { s empty$ not and 825 | { s * bbl.wide.space * } 826 | { bbl.colon * } 827 | if$ 828 | } 829 | booktitle * 830 | } 831 | { format.booktitle.vol.num } 832 | if$ 833 | in.booktitle 834 | { duplicate$ empty$ not entry.lang lang.en = and 835 | { "In: " swap$ * } 836 | 'skip$ 837 | if$ 838 | } 839 | 'skip$ 840 | if$ 841 | } 842 | 843 | FUNCTION {format.journal} 844 | { journal 845 | italic.jounal 846 | 'italicize 847 | 'skip$ 848 | if$ 849 | } 850 | 851 | FUNCTION {set.entry.mark} 852 | { entry.mark empty$ not 853 | 'pop$ 854 | { mark empty$ not 855 | { pop$ mark 'entry.mark := } 856 | { 'entry.mark := } 857 | if$ 858 | } 859 | if$ 860 | } 861 | 862 | FUNCTION {format.mark} 863 | { show.mark 864 | { medium empty$ not 865 | { entry.mark "/" * medium * 'entry.mark := } 866 | { entry.is.electronic 867 | { entry.mark "/OL" * 'entry.mark := } 868 | 'skip$ 869 | if$ 870 | } 871 | if$ 872 | "\allowbreak[" entry.mark * "]" * 873 | } 874 | { "" } 875 | if$ 876 | } 877 | 878 | FUNCTION {num.to.ordinal} 879 | { duplicate$ text.length$ 'charptr := 880 | duplicate$ charptr #1 substring$ 's := 881 | s "1" = 882 | { "st" * } 883 | { s "2" = 884 | { "nd" * } 885 | { s "3" = 886 | { "rd" * } 887 | { "th" * } 888 | if$ 889 | } 890 | if$ 891 | } 892 | if$ 893 | } 894 | 895 | FUNCTION {format.edition} 896 | { edition empty$ 897 | { "" } 898 | { edition is.number 899 | { entry.lang lang.zh = 900 | { edition " 版" * } 901 | { edition num.to.ordinal " ed." * } 902 | if$ 903 | } 904 | { entry.lang lang.en = 905 | { edition change.sentence.case 's := 906 | s "Revised" = s "Revised edition" = or 907 | { "Rev. ed." } 908 | { s " ed." *} 909 | if$ 910 | } 911 | { edition } 912 | if$ 913 | } 914 | if$ 915 | } 916 | if$ 917 | } 918 | 919 | FUNCTION {format.publisher} 920 | { publisher empty$ not 921 | { publisher } 922 | { school empty$ not 923 | { school } 924 | { organization empty$ not 925 | { organization } 926 | { institution empty$ not 927 | { institution } 928 | { "" } 929 | if$ 930 | } 931 | if$ 932 | } 933 | if$ 934 | } 935 | if$ 936 | } 937 | 938 | FUNCTION {format.address.publisher} 939 | { address empty$ not 940 | { address 941 | format.publisher empty$ not 942 | { bbl.colon * format.publisher * } 943 | { entry.is.electronic not show.missing.address.publisher and 944 | { bbl.colon * bbl.sine.nomine * } 945 | 'skip$ 946 | if$ 947 | } 948 | if$ 949 | } 950 | { entry.is.electronic not show.missing.address.publisher and 951 | { format.publisher empty$ not 952 | { bbl.sine.loco bbl.colon * format.publisher * } 953 | { bbl.sine.loco.sine.nomine } 954 | if$ 955 | } 956 | { format.publisher empty$ not 957 | { format.publisher } 958 | { "" } 959 | if$ 960 | } 961 | if$ 962 | } 963 | if$ 964 | } 965 | 966 | FUNCTION {extract.before.dash} 967 | { duplicate$ empty$ 968 | { pop$ "" } 969 | { 's := 970 | #1 'charptr := 971 | s text.length$ #1 + 'len := 972 | { charptr len < 973 | s charptr #1 substring$ "-" = not 974 | and 975 | } 976 | { charptr #1 + 'charptr := } 977 | while$ 978 | s #1 charptr #1 - substring$ 979 | } 980 | if$ 981 | } 982 | 983 | FUNCTION {extract.after.dash} 984 | { duplicate$ empty$ 985 | { pop$ "" } 986 | { 's := 987 | #1 'charptr := 988 | s text.length$ #1 + 'len := 989 | { charptr len < 990 | s charptr #1 substring$ "-" = not 991 | and 992 | } 993 | { charptr #1 + 'charptr := } 994 | while$ 995 | { charptr len < 996 | s charptr #1 substring$ "-" = 997 | and 998 | } 999 | { charptr #1 + 'charptr := } 1000 | while$ 1001 | s charptr global.max$ substring$ 1002 | } 1003 | if$ 1004 | } 1005 | 1006 | FUNCTION {contains.dash} 1007 | { duplicate$ empty$ 1008 | { pop$ #0 } 1009 | { 's := 1010 | { s empty$ not 1011 | s #1 #1 substring$ "-" = not 1012 | and 1013 | } 1014 | { s #2 global.max$ substring$ 's := } 1015 | while$ 1016 | s empty$ not 1017 | } 1018 | if$ 1019 | } 1020 | 1021 | FUNCTION {format.year} 1022 | { year empty$ not 1023 | { year extract.before.dash } 1024 | { date empty$ not 1025 | { date extract.before.dash } 1026 | { "empty year in " cite$ * warning$ 1027 | urldate empty$ not 1028 | { "[" urldate extract.before.dash * "]" * } 1029 | { "" } 1030 | if$ 1031 | } 1032 | if$ 1033 | } 1034 | if$ 1035 | extra.label * 1036 | } 1037 | 1038 | FUNCTION {format.date} 1039 | { type$ "patent" = type$ "newspaper" = or 1040 | date empty$ not and 1041 | { date } 1042 | { year } 1043 | if$ 1044 | } 1045 | 1046 | FUNCTION {format.editdate} 1047 | { date empty$ not 1048 | { "\allowbreak(" date * ")" * } 1049 | { "" } 1050 | if$ 1051 | } 1052 | 1053 | FUNCTION {format.urldate} 1054 | { urldate empty$ not entry.is.electronic and 1055 | { urldate } 1056 | { "" } 1057 | if$ 1058 | } 1059 | 1060 | FUNCTION {hyphenate} 1061 | { 't := 1062 | "" 1063 | { t empty$ not } 1064 | { t #1 #1 substring$ "-" = 1065 | { "-" * 1066 | { t #1 #1 substring$ "-" = } 1067 | { t #2 global.max$ substring$ 't := } 1068 | while$ 1069 | } 1070 | { t #1 #1 substring$ * 1071 | t #2 global.max$ substring$ 't := 1072 | } 1073 | if$ 1074 | } 1075 | while$ 1076 | } 1077 | 1078 | FUNCTION {format.pages} 1079 | { pages empty$ 1080 | { "" } 1081 | { pages hyphenate } 1082 | if$ 1083 | } 1084 | 1085 | FUNCTION {format.journal.volume} 1086 | { volume empty$ not 1087 | { bold.journal.volume 1088 | { "\textbf{" volume * "}" * } 1089 | { volume } 1090 | if$ 1091 | } 1092 | { "" } 1093 | if$ 1094 | } 1095 | 1096 | FUNCTION {format.journal.number} 1097 | { number empty$ not 1098 | { "\penalty0 (" number * ")" * } 1099 | { "" } 1100 | if$ 1101 | } 1102 | 1103 | FUNCTION {format.journal.pages} 1104 | { pages empty$ 1105 | { "" } 1106 | { ":\penalty0 " pages hyphenate * } 1107 | if$ 1108 | } 1109 | 1110 | FUNCTION {format.periodical.year.volume.number} 1111 | { year empty$ not 1112 | { year extract.before.dash } 1113 | { "empty year in periodical " cite$ * warning$ } 1114 | if$ 1115 | volume empty$ not 1116 | { ", " * volume extract.before.dash * } 1117 | 'skip$ 1118 | if$ 1119 | number empty$ not 1120 | { "\penalty0 (" * number extract.before.dash * ")" * } 1121 | 'skip$ 1122 | if$ 1123 | year contains.dash 1124 | { "--" * 1125 | year extract.after.dash empty$ 1126 | volume extract.after.dash empty$ and 1127 | number extract.after.dash empty$ and not 1128 | { year extract.after.dash empty$ not 1129 | { year extract.after.dash * } 1130 | { year extract.before.dash * } 1131 | if$ 1132 | volume empty$ not 1133 | { ", " * volume extract.after.dash * } 1134 | 'skip$ 1135 | if$ 1136 | number empty$ not 1137 | { "\penalty0 (" * number extract.after.dash * ")" * } 1138 | 'skip$ 1139 | if$ 1140 | } 1141 | 'skip$ 1142 | if$ 1143 | } 1144 | 'skip$ 1145 | if$ 1146 | } 1147 | 1148 | FUNCTION {check.url} 1149 | { url empty$ not 1150 | { "\url{" url * "}" * 'entry.url := 1151 | #1 'entry.is.electronic := 1152 | } 1153 | { howpublished empty$ not 1154 | { howpublished #1 #5 substring$ "\url{" = 1155 | { howpublished 'entry.url := 1156 | #1 'entry.is.electronic := 1157 | } 1158 | 'skip$ 1159 | if$ 1160 | } 1161 | { note empty$ not 1162 | { note #1 #5 substring$ "\url{" = 1163 | { note 'entry.url := 1164 | #1 'entry.is.electronic := 1165 | } 1166 | 'skip$ 1167 | if$ 1168 | } 1169 | 'skip$ 1170 | if$ 1171 | } 1172 | if$ 1173 | } 1174 | if$ 1175 | } 1176 | 1177 | FUNCTION {format.url} 1178 | { entry.url empty$ not 1179 | { new.block entry.url } 1180 | { "" } 1181 | if$ 1182 | } 1183 | 1184 | FUNCTION {check.doi} 1185 | { doi empty$ not 1186 | { #1 'entry.is.electronic := } 1187 | 'skip$ 1188 | if$ 1189 | } 1190 | 1191 | FUNCTION {is.in.url} 1192 | { 's := 1193 | s empty$ 1194 | { #1 } 1195 | { entry.url empty$ 1196 | { #0 } 1197 | { s text.length$ 'len := 1198 | entry.url text.length$ 'charptr := 1199 | { entry.url charptr len substring$ s = not 1200 | charptr #0 > 1201 | and 1202 | } 1203 | { charptr #1 - 'charptr := } 1204 | while$ 1205 | charptr 1206 | } 1207 | if$ 1208 | } 1209 | if$ 1210 | } 1211 | 1212 | FUNCTION {format.doi} 1213 | { "" 1214 | doi empty$ not show.doi and 1215 | { "" 's := 1216 | doi 't := 1217 | #0 'numnames := 1218 | { t empty$ not} 1219 | { t #1 #1 substring$ 'tmp.str := 1220 | tmp.str "," = tmp.str " " = or t #2 #1 substring$ empty$ or 1221 | { t #2 #1 substring$ empty$ 1222 | { s tmp.str * 's := } 1223 | 'skip$ 1224 | if$ 1225 | s empty$ s is.in.url or 1226 | 'skip$ 1227 | { numnames #1 + 'numnames := 1228 | numnames #1 > 1229 | { ", " * } 1230 | { "DOI: " * } 1231 | if$ 1232 | "\doi{" s * "}" * * 1233 | } 1234 | if$ 1235 | "" 's := 1236 | } 1237 | { s tmp.str * 's := } 1238 | if$ 1239 | t #2 global.max$ substring$ 't := 1240 | } 1241 | while$ 1242 | 's := 1243 | s empty$ not 1244 | { new.block s } 1245 | { "" } 1246 | if$ 1247 | } 1248 | 'skip$ 1249 | if$ 1250 | } 1251 | 1252 | FUNCTION {check.electronic} 1253 | { "" 'entry.url := 1254 | #0 'entry.is.electronic := 1255 | 'check.doi 1256 | 'skip$ 1257 | if$ 1258 | 'check.url 1259 | 'skip$ 1260 | if$ 1261 | medium empty$ not 1262 | { medium "MT" = medium "DK" = or medium "CD" = or medium "OL" = or 1263 | { #1 'entry.is.electronic := } 1264 | 'skip$ 1265 | if$ 1266 | } 1267 | 'skip$ 1268 | if$ 1269 | } 1270 | 1271 | FUNCTION {format.note} 1272 | { note empty$ not show.note and 1273 | { note } 1274 | { "" } 1275 | if$ 1276 | } 1277 | 1278 | FUNCTION {empty.misc.check} 1279 | { author empty$ title empty$ 1280 | year empty$ 1281 | and and 1282 | key empty$ not and 1283 | { "all relevant fields are empty in " cite$ * warning$ } 1284 | 'skip$ 1285 | if$ 1286 | } 1287 | 1288 | FUNCTION {monograph} 1289 | { output.bibitem 1290 | author empty$ not 1291 | { format.authors } 1292 | { editor empty$ not 1293 | { format.editors } 1294 | { "empty author and editor in " cite$ * warning$ 1295 | "" 1296 | } 1297 | if$ 1298 | } 1299 | if$ 1300 | output 1301 | new.block 1302 | format.series.vol.num.title "title" output.check 1303 | "M" set.entry.mark 1304 | format.mark "" output.after 1305 | new.block 1306 | format.translators output 1307 | new.sentence 1308 | format.edition output 1309 | new.block 1310 | format.address.publisher output 1311 | format.pages output 1312 | format.year "year" output.check 1313 | fin.entry 1314 | } 1315 | 1316 | FUNCTION {incollection} 1317 | { output.bibitem 1318 | format.authors output 1319 | author format.key output 1320 | new.block 1321 | format.title "title" output.check 1322 | "M" set.entry.mark 1323 | format.mark "" output.after 1324 | new.block 1325 | format.translators output 1326 | new.slash 1327 | format.editors output 1328 | new.block 1329 | format.series.vol.num.booktitle "booktitle" output.check 1330 | new.block 1331 | format.edition output 1332 | new.block 1333 | format.address.publisher output 1334 | format.pages output 1335 | format.year "year" output.check 1336 | fin.entry 1337 | } 1338 | 1339 | FUNCTION {periodical} 1340 | { output.bibitem 1341 | format.authors output 1342 | author format.key output 1343 | new.block 1344 | format.title "title" output.check 1345 | "J" set.entry.mark 1346 | format.mark "" output.after 1347 | new.block 1348 | format.periodical.year.volume.number output 1349 | new.block 1350 | format.address.publisher output 1351 | format.date "year" output.check 1352 | fin.entry 1353 | } 1354 | 1355 | FUNCTION {article} 1356 | { output.bibitem 1357 | format.authors output 1358 | author format.key output 1359 | new.block 1360 | format.title "title" output.check 1361 | "J" set.entry.mark 1362 | format.mark "" output.after 1363 | new.block 1364 | format.journal "journal" output.check 1365 | format.journal.volume output 1366 | format.journal.number "" output.after 1367 | format.journal.pages "" output.after 1368 | format.year "year" output.check 1369 | fin.entry 1370 | } 1371 | 1372 | FUNCTION {patent} 1373 | { output.bibitem 1374 | format.authors output 1375 | author format.key output 1376 | new.block 1377 | format.title "title" output.check 1378 | "P" set.entry.mark 1379 | format.mark "" output.after 1380 | new.block 1381 | format.date "year" output.check 1382 | format.urldate "" output.after 1383 | format.url output 1384 | format.doi output 1385 | new.block 1386 | format.note output 1387 | fin.entry 1388 | } 1389 | 1390 | FUNCTION {electronic} 1391 | { #1 #1 check.electronic 1392 | #1 'entry.is.electronic := 1393 | output.bibitem 1394 | format.authors output 1395 | author format.key output 1396 | new.block 1397 | format.series.vol.num.title "title" output.check 1398 | "EB" set.entry.mark 1399 | format.mark "" output.after 1400 | new.block 1401 | format.url output 1402 | format.urldate output 1403 | fin.entry 1404 | } 1405 | 1406 | FUNCTION {misc} 1407 | { journal empty$ not 1408 | 'article 1409 | { booktitle empty$ not 1410 | 'incollection 1411 | { publisher empty$ not 1412 | 'monograph 1413 | { entry.is.electronic 1414 | 'electronic 1415 | { "Z" set.entry.mark 1416 | monograph 1417 | } 1418 | if$ 1419 | } 1420 | if$ 1421 | } 1422 | if$ 1423 | } 1424 | if$ 1425 | empty.misc.check 1426 | } 1427 | 1428 | FUNCTION {archive} 1429 | { "A" set.entry.mark 1430 | misc 1431 | } 1432 | 1433 | FUNCTION {book} { monograph } 1434 | 1435 | FUNCTION {booklet} { book } 1436 | 1437 | FUNCTION {collection} 1438 | { "G" set.entry.mark 1439 | monograph 1440 | } 1441 | 1442 | FUNCTION {database} 1443 | { "DB" set.entry.mark 1444 | electronic 1445 | } 1446 | 1447 | FUNCTION {dataset} 1448 | { "DS" set.entry.mark 1449 | electronic 1450 | } 1451 | 1452 | FUNCTION {inbook} { book } 1453 | 1454 | FUNCTION {inproceedings} 1455 | { "C" set.entry.mark 1456 | incollection 1457 | } 1458 | 1459 | FUNCTION {conference} { inproceedings } 1460 | 1461 | FUNCTION {map} 1462 | { "CM" set.entry.mark 1463 | misc 1464 | } 1465 | 1466 | FUNCTION {manual} { monograph } 1467 | 1468 | FUNCTION {mastersthesis} 1469 | { "D" set.entry.mark 1470 | monograph 1471 | } 1472 | 1473 | FUNCTION {newspaper} 1474 | { "N" set.entry.mark 1475 | article 1476 | } 1477 | 1478 | FUNCTION {online} 1479 | { "EB" set.entry.mark 1480 | electronic 1481 | } 1482 | 1483 | FUNCTION {phdthesis} { mastersthesis } 1484 | 1485 | FUNCTION {proceedings} 1486 | { "C" set.entry.mark 1487 | monograph 1488 | } 1489 | 1490 | FUNCTION {software} 1491 | { "CP" set.entry.mark 1492 | electronic 1493 | } 1494 | 1495 | FUNCTION {standard} 1496 | { "S" set.entry.mark 1497 | misc 1498 | } 1499 | 1500 | FUNCTION {techreport} 1501 | { "R" set.entry.mark 1502 | misc 1503 | } 1504 | 1505 | FUNCTION {unpublished} 1506 | { "Z" set.entry.mark 1507 | misc 1508 | } 1509 | 1510 | FUNCTION {default.type} { misc } 1511 | 1512 | MACRO {jan} {"January"} 1513 | 1514 | MACRO {feb} {"February"} 1515 | 1516 | MACRO {mar} {"March"} 1517 | 1518 | MACRO {apr} {"April"} 1519 | 1520 | MACRO {may} {"May"} 1521 | 1522 | MACRO {jun} {"June"} 1523 | 1524 | MACRO {jul} {"July"} 1525 | 1526 | MACRO {aug} {"August"} 1527 | 1528 | MACRO {sep} {"September"} 1529 | 1530 | MACRO {oct} {"October"} 1531 | 1532 | MACRO {nov} {"November"} 1533 | 1534 | MACRO {dec} {"December"} 1535 | 1536 | MACRO {acmcs} {"ACM Computing Surveys"} 1537 | 1538 | MACRO {acta} {"Acta Informatica"} 1539 | 1540 | MACRO {cacm} {"Communications of the ACM"} 1541 | 1542 | MACRO {ibmjrd} {"IBM Journal of Research and Development"} 1543 | 1544 | MACRO {ibmsj} {"IBM Systems Journal"} 1545 | 1546 | MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 1547 | 1548 | MACRO {ieeetc} {"IEEE Transactions on Computers"} 1549 | 1550 | MACRO {ieeetcad} 1551 | {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 1552 | 1553 | MACRO {ipl} {"Information Processing Letters"} 1554 | 1555 | MACRO {jacm} {"Journal of the ACM"} 1556 | 1557 | MACRO {jcss} {"Journal of Computer and System Sciences"} 1558 | 1559 | MACRO {scp} {"Science of Computer Programming"} 1560 | 1561 | MACRO {sicomp} {"SIAM Journal on Computing"} 1562 | 1563 | MACRO {tocs} {"ACM Transactions on Computer Systems"} 1564 | 1565 | MACRO {tods} {"ACM Transactions on Database Systems"} 1566 | 1567 | MACRO {tog} {"ACM Transactions on Graphics"} 1568 | 1569 | MACRO {toms} {"ACM Transactions on Mathematical Software"} 1570 | 1571 | MACRO {toois} {"ACM Transactions on Office Information Systems"} 1572 | 1573 | MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 1574 | 1575 | MACRO {tcs} {"Theoretical Computer Science"} 1576 | 1577 | FUNCTION {sortify} 1578 | { purify$ 1579 | "l" change.case$ 1580 | } 1581 | 1582 | FUNCTION {chop.word} 1583 | { 's := 1584 | 'len := 1585 | s #1 len substring$ = 1586 | { s len #1 + global.max$ substring$ } 1587 | 's 1588 | if$ 1589 | } 1590 | 1591 | FUNCTION {format.lab.names} 1592 | { 's := 1593 | s #1 "{vv~}{ll}{, jj}{, ff}" format.name$ 't := 1594 | t get.str.lang 'name.lang := 1595 | name.lang lang.en = 1596 | { t #1 "{vv~}{ll}" format.name$} 1597 | { t #1 "{ll}{ff}" format.name$} 1598 | if$ 1599 | s num.names$ #1 > 1600 | { bbl.space * bbl.et.al * } 1601 | 'skip$ 1602 | if$ 1603 | } 1604 | 1605 | FUNCTION {author.key.label} 1606 | { author empty$ 1607 | { key empty$ 1608 | { cite$ #1 #3 substring$ } 1609 | 'key 1610 | if$ 1611 | } 1612 | { author format.lab.names } 1613 | if$ 1614 | } 1615 | 1616 | FUNCTION {author.editor.key.label} 1617 | { author empty$ 1618 | { editor empty$ 1619 | { key empty$ 1620 | { cite$ #1 #3 substring$ } 1621 | 'key 1622 | if$ 1623 | } 1624 | { editor format.lab.names } 1625 | if$ 1626 | } 1627 | { author format.lab.names } 1628 | if$ 1629 | } 1630 | 1631 | FUNCTION {author.key.organization.label} 1632 | { author empty$ 1633 | { key empty$ 1634 | { organization empty$ 1635 | { cite$ #1 #3 substring$ } 1636 | { "The " #4 organization chop.word #3 text.prefix$ } 1637 | if$ 1638 | } 1639 | 'key 1640 | if$ 1641 | } 1642 | { author format.lab.names } 1643 | if$ 1644 | } 1645 | 1646 | FUNCTION {editor.key.organization.label} 1647 | { editor empty$ 1648 | { key empty$ 1649 | { organization empty$ 1650 | { cite$ #1 #3 substring$ } 1651 | { "The " #4 organization chop.word #3 text.prefix$ } 1652 | if$ 1653 | } 1654 | 'key 1655 | if$ 1656 | } 1657 | { editor format.lab.names } 1658 | if$ 1659 | } 1660 | 1661 | FUNCTION {calc.short.authors} 1662 | { type$ "book" = 1663 | type$ "inbook" = 1664 | or 1665 | 'author.editor.key.label 1666 | { type$ "collection" = 1667 | type$ "proceedings" = 1668 | or 1669 | { editor empty$ not 1670 | 'editor.key.organization.label 1671 | 'author.key.organization.label 1672 | if$ 1673 | } 1674 | 'author.key.label 1675 | if$ 1676 | } 1677 | if$ 1678 | 'short.list := 1679 | } 1680 | 1681 | FUNCTION {calc.label} 1682 | { calc.short.authors 1683 | short.list 1684 | "(" 1685 | * 1686 | format.year duplicate$ empty$ 1687 | short.list key field.or.null = or 1688 | { pop$ "" } 1689 | 'skip$ 1690 | if$ 1691 | * 1692 | 'label := 1693 | } 1694 | 1695 | INTEGERS { seq.num } 1696 | 1697 | FUNCTION {init.seq} 1698 | { #0 'seq.num :=} 1699 | 1700 | FUNCTION {int.to.fix} 1701 | { "000000000" swap$ int.to.str$ * 1702 | #-1 #10 substring$ 1703 | } 1704 | 1705 | FUNCTION {presort} 1706 | { set.entry.lang 1707 | set.entry.numbered 1708 | show.url show.doi check.electronic 1709 | calc.label 1710 | label sortify 1711 | " " 1712 | * 1713 | seq.num #1 + 'seq.num := 1714 | seq.num int.to.fix 1715 | 'sort.label := 1716 | sort.label * 1717 | #1 entry.max$ substring$ 1718 | 'sort.key$ := 1719 | } 1720 | 1721 | STRINGS { longest.label last.label next.extra } 1722 | 1723 | INTEGERS { longest.label.width last.extra.num number.label } 1724 | 1725 | FUNCTION {initialize.longest.label} 1726 | { "" 'longest.label := 1727 | #0 int.to.chr$ 'last.label := 1728 | "" 'next.extra := 1729 | #0 'longest.label.width := 1730 | #0 'last.extra.num := 1731 | #0 'number.label := 1732 | } 1733 | 1734 | FUNCTION {forward.pass} 1735 | { last.label label = 1736 | { last.extra.num #1 + 'last.extra.num := 1737 | last.extra.num int.to.chr$ 'extra.label := 1738 | } 1739 | { "a" chr.to.int$ 'last.extra.num := 1740 | "" 'extra.label := 1741 | label 'last.label := 1742 | } 1743 | if$ 1744 | number.label #1 + 'number.label := 1745 | } 1746 | 1747 | FUNCTION {reverse.pass} 1748 | { next.extra "b" = 1749 | { "a" 'extra.label := } 1750 | 'skip$ 1751 | if$ 1752 | extra.label 'next.extra := 1753 | extra.label 1754 | duplicate$ empty$ 1755 | 'skip$ 1756 | { "{\natexlab{" swap$ * "}}" * } 1757 | if$ 1758 | 'extra.label := 1759 | label extra.label * 'label := 1760 | } 1761 | 1762 | FUNCTION {bib.sort.order} 1763 | { sort.label 'sort.key$ := 1764 | } 1765 | 1766 | FUNCTION {begin.bib} 1767 | { preamble$ empty$ 1768 | 'skip$ 1769 | { preamble$ write$ newline$ } 1770 | if$ 1771 | "\begin{thebibliography}{" number.label int.to.str$ * "}" * 1772 | write$ newline$ 1773 | "\providecommand{\natexlab}[1]{#1}" 1774 | write$ newline$ 1775 | "\providecommand{\url}[1]{#1}" 1776 | write$ newline$ 1777 | "\expandafter\ifx\csname urlstyle\endcsname\relax\relax\else" 1778 | write$ newline$ 1779 | " \urlstyle{same}\fi" 1780 | write$ newline$ 1781 | show.doi 1782 | { "\providecommand{\href}[2]{\url{#2}}" 1783 | write$ newline$ 1784 | "\providecommand{\doi}[1]{\href{https://doi.org/#1}{#1}}" 1785 | write$ newline$ 1786 | } 1787 | 'skip$ 1788 | if$ 1789 | } 1790 | 1791 | FUNCTION {end.bib} 1792 | { newline$ 1793 | "\end{thebibliography}" write$ newline$ 1794 | } 1795 | 1796 | READ 1797 | 1798 | EXECUTE {init.state.consts} 1799 | 1800 | EXECUTE {load.config} 1801 | 1802 | EXECUTE {init.seq} 1803 | 1804 | ITERATE {presort} 1805 | 1806 | SORT 1807 | 1808 | EXECUTE {initialize.longest.label} 1809 | 1810 | ITERATE {forward.pass} 1811 | 1812 | REVERSE {reverse.pass} 1813 | 1814 | ITERATE {bib.sort.order} 1815 | 1816 | SORT 1817 | 1818 | EXECUTE {begin.bib} 1819 | 1820 | ITERATE {call.type$} 1821 | 1822 | EXECUTE {end.bib} 1823 | -------------------------------------------------------------------------------- /gmcmthesis.cls: -------------------------------------------------------------------------------- 1 | % 2 | % This is file `gmcmthesis.cls', 3 | % created by latexstudio.net 4 | % update by andy123t 5 | % 6 | 7 | \NeedsTeXFormat{LaTeX2e}[1995/12/01] 8 | \ProvidesClass{gmcmthesis}[2023/09/19 v2.4 update by andy123t] 9 | %% Inital Code 10 | \newif\if@gmcm@bwprint\@gmcm@bwprintfalse 11 | \newif\if@gmcm@preface\@gmcm@prefacetrue 12 | % tokens definition 13 | %%%% 承诺书 14 | \newcommand\gmcm@tokens@keywords{} 15 | \newcommand*\gmcm@tokens@tihao{} 16 | \newcommand*\gmcm@tokens@baominghao{} 17 | \newcommand*\gmcm@tokens@schoolname{} 18 | \newcommand*\gmcm@tokens@membera{} 19 | \newcommand*\gmcm@tokens@memberb{} 20 | \newcommand*\gmcm@tokens@memberc{} 21 | \newcommand*\gmcm@tokens@supervisor{} 22 | \newcommand*\gmcm@tokens@yearinput{} 23 | \newcommand*\gmcm@tokens@monthinput{} 24 | \newcommand*\gmcm@tokens@dayinput{} 25 | %%%% 编号专用页 26 | % 没有 27 | %% Declaration of Options 28 | \DeclareOption{colorprint}{\@gmcm@bwprintfalse} 29 | \DeclareOption{bwprint}{\@gmcm@bwprinttrue} 30 | \DeclareOption{withoutpreface}{\@gmcm@prefacefalse} 31 | \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexart}} 32 | %% Executing of Options 33 | \ExecuteOptions{colorprint} 34 | \ProcessOptions\relax 35 | %% Loading Class 36 | \LoadClass[a4paper,zihao=-4]{ctexart} 37 | %% Loading Package 38 | \RequirePackage{ifxetex} 39 | \RequireXeTeX 40 | \ifxetex\else 41 | \ClassError{mcmthesis}{You must use the `xelatex' driver\MessageBreak Please choose `xelatex'}{% 42 | Just choose `xelatex', no `pdflatex' or `latex' and so on.} 43 | \fi 44 | % 页面布局 45 | \RequirePackage{geometry} 46 | % 数学宏包 47 | \RequirePackage{amsmath} 48 | \RequirePackage{amsfonts} 49 | \RequirePackage{amssymb} 50 | \RequirePackage{bm} 51 | % 设置颜色 52 | \RequirePackage{color,xcolor} 53 | % 插入图片 54 | \RequirePackage{graphicx} 55 | % 表格 56 | \RequirePackage{tabularx,array} 57 | % 调整单元格格式 58 | \RequirePackage{makecell} 59 | %% 长表格 60 | \RequirePackage{longtable} 61 | %% booktabs 提供了\toprule 等命令. 62 | \RequirePackage{booktabs} 63 | %% multirow 支持在表格中跨行 64 | \RequirePackage{multirow} 65 | %% 调整间隔, 让表格更好看些 66 | \RequirePackage{bigstrut} 67 | %% 在跨行表格中输入定界符 68 | \RequirePackage{bigdelim} 69 | % 保护脆落命令 70 | \RequirePackage{cprotect} 71 | % 设置代码环境 72 | \RequirePackage{listings} 73 | 74 | % 设置代码环境 75 | \usepackage{listings,color} 76 | 77 | % Matlab highlight color settings 78 | %\definecolor{mBasic}{RGB}{248,248,242} % default 79 | \definecolor{mKeyword}{RGB}{0,0,255} % bule 80 | \definecolor{mString}{RGB}{160,32,240} % purple 81 | \definecolor{mComment}{RGB}{34,139,34} % green 82 | \definecolor{mBackground}{RGB}{245,245,245} % lightgrey 83 | \definecolor{mNumber}{RGB}{128,128,128} % gray 84 | 85 | % Python highlight color settings 86 | %\definecolor{pBasic}{RGB}{248, 248, 242} % default 87 | \definecolor{pKeyword}{RGB}{228,0,128} % magenta 88 | \definecolor{pString}{RGB}{148,0,209} % purple 89 | \definecolor{pComment}{RGB}{117,113,94} % gray 90 | \definecolor{pIdentifier}{RGB}{166, 226, 46} % 91 | \definecolor{pBackground}{RGB}{245,245,245} % lightgrey 92 | \definecolor{pNumber}{RGB}{128,128,128} % gray 93 | 94 | \lstnewenvironment{Matlab}[1]{ 95 | \lstset{language=matlab, % choose the language of the code 96 | xleftmargin=20pt, 97 | xrightmargin=20pt, 98 | frame=tlbr,framesep=4pt,framerule=0.5pt, % sets the frame style 99 | %frame=shadowbox,rulesepcolor=\color{red!20!green!20!blue!20}, 100 | basicstyle=\small\fontspec{Courier New}, 101 | keywordstyle={\color{mKeyword}}, % sets color for keywords 102 | stringstyle={\color{mString}}, % sets color for strings 103 | commentstyle={\color{mComment}}, % sets color for comments 104 | backgroundcolor=\color{gray!5},%\color{pBackground}, % choose the background color 105 | rulecolor=\color{gray!50}, 106 | title=#1, % \lstname show the filename of files 107 | keywords={break,case,catch,classdef,continue,else,elseif,end,for, 108 | function,global,if,otherwise,parfor,persistent,return,spmd,switch,try,while}, 109 | showspaces=false, % show spaces adding particular underscores 110 | showstringspaces=false, % underline spaces within strings 111 | showtabs=false, % show tabs within strings adding particular underscores 112 | tabsize=4, % sets default tabsize to 2 spaces 113 | captionpos=t, % sets the caption-position to bottom 114 | breaklines=true, % sets automatic line breaking 115 | }}{} 116 | 117 | \lstnewenvironment{Python}[1]{ 118 | \lstset{language=python, % choose the language of the code 119 | xleftmargin=20pt, 120 | xrightmargin=20pt, 121 | frame=single,framesep=4pt,framerule=0.5pt, % sets the frame style 122 | %frame=shadowbox,rulesepcolor=\color{red!20!green!20!blue!20}, 123 | basicstyle=\small\ttfamily, % sets font style for the code 124 | %basicstyle=\footnotesize\fontspec{Consolas}, 125 | keywordstyle=\color{pKeyword}, % sets color for keywords 126 | stringstyle=\color{pString}, % sets color for strings 127 | commentstyle=\color{pComment}, % sets color for comments 128 | backgroundcolor=\color{gray!5},%\color{pBackground}, % choose the background color 129 | rulecolor=\color{gray!50}, 130 | title=#1, % \lstnames how the filename of files 131 | emph={format_string,eff_ana_bf,permute,eff_ana_btr}, 132 | emphstyle=\color{pIdentifier} 133 | showspaces=false, % show spaces adding particular underscores 134 | showstringspaces=false, % underline spaces within strings 135 | showtabs=false, % show tabs within strings adding particular underscores 136 | tabsize=4, % sets default tabsize to 2 spaces 137 | captionpos=t, % sets the caption-position to bottom 138 | breaklines=true, % sets automatic line breaking 139 | }}{} 140 | 141 | % \RequirePackage{listings} 142 | % \definecolor{dkgreen}{rgb}{0,0.6,0} 143 | % \definecolor{gray}{rgb}{0.5,0.5,0.5} 144 | % \definecolor{mauve}{rgb}{0.58,0,0.82} 145 | % \lstset{ 146 | % xleftmargin=20pt, 147 | % xrightmargin=20pt, 148 | % frame=single, 149 | % aboveskip=3mm, 150 | % belowskip=3mm, 151 | % showstringspaces=false, 152 | % columns=flexible, 153 | % framerule=0.5pt, 154 | % framesep=4pt, 155 | % rulecolor=\color{gray!35}, 156 | % backgroundcolor=\color{gray!5}, 157 | % basicstyle={\normalsize\ttfamily}, 158 | % numbers=none, 159 | % numberstyle=\tiny\color{gray}, 160 | % keywordstyle=\color{blue}, 161 | % commentstyle=\color{dkgreen}, 162 | % stringstyle=\color{mauve}, 163 | % breaklines=true, 164 | % breakatwhitespace=true, 165 | % tabsize=3, 166 | % } 167 | 168 | 169 | % 首行缩进 170 | \RequirePackage{indentfirst} 171 | % 设置浮动体的标题 172 | \RequirePackage{caption} 173 | % 定制列表环境 174 | \RequirePackage{enumitem} 175 | % 下划线 176 | \RequirePackage{ulem} 177 | % 尺寸计算 178 | \RequirePackage{calc} 179 | \RequirePackage{titletoc,url} 180 | %参考文献 181 | \RequirePackage[numbers]{natbib} 182 | \setlength{\bibsep}{0pt plus 0.3ex} 183 | 184 | \RequirePackage{etoolbox} 185 | \AtBeginEnvironment{thebibliography}{% 186 | \phantomsection 187 | \addcontentsline{toc}{section}{\refname} 188 | } 189 | % 超链接 hyperref 的设置 190 | \RequirePackage{hyperref} 191 | %% Document Layout 192 | % 页面布局 193 | \geometry{top=30.0mm,bottom=25.0mm,left=22.5mm,right=22.5mm,headsep=8mm} 194 | \renewcommand*{\baselinestretch}{1.38} 195 | % 每行缩进两个汉字 196 | \setlength\parindent{2em} 197 | % 设置字体 198 | % 代码来自https://github.com/OsbertWang/GMCMthesis 这个是OsbertWang,修正支持让各个系统自适应支持近似字体。 199 | \newif\ifmcm@mac 200 | \newif\ifmcm@windows 201 | \newif\ifmcm@fandol 202 | 203 | 204 | \@ifclasslater{ctexart}{2015/05/06}{ 205 | %\newcommand\mcm@strifeq{\csname str_if_eq_x:nnTF\endcsname} 206 | %修订错误来自:https://github.com/ustctug/ustcthesis/issues/241 207 | \newcommand\mcm@strifeq[4]{% 208 | \edef\ustc@tmp@a{#1}% 209 | \edef\ustc@tmp@b{#2}% 210 | \ifx\ustc@tmp@a\ustc@tmp@b 211 | #3% 212 | \else 213 | #4% 214 | \fi 215 | } 216 | \newcommand\mcm@fontset{\csname g__ctex_fontset_tl\endcsname} 217 | \mcm@strifeq{\mcm@fontset}{mac}{\mcm@mactrue}{} 218 | \mcm@strifeq{\mcm@fontset}{windows}{\mcm@windowstrue}{} 219 | \mcm@strifeq{\mcm@fontset}{fandol}{\mcm@fandoltrue}{} 220 | }{ 221 | \mcm@windowstrue 222 | } 223 | 224 | \ifmcm@fandol 225 | \setmainfont[ 226 | Extension = .otf, 227 | UprightFont = *-regular, 228 | BoldFont = *-bold, 229 | ItalicFont = *-italic, 230 | BoldItalicFont = *-bolditalic, 231 | ]{texgyretermes} 232 | \setsansfont[ 233 | Extension = .otf, 234 | UprightFont = *-regular, 235 | BoldFont = *-bold, 236 | ItalicFont = *-italic, 237 | BoldItalicFont = *-bolditalic, 238 | ]{texgyreheros} 239 | \setmonofont[ 240 | Extension = .otf, 241 | UprightFont = *-regular, 242 | BoldFont = *-bold, 243 | ItalicFont = *-italic, 244 | BoldItalicFont = *-bolditalic, 245 | Scale = MatchLowercase, 246 | ]{texgyrecursor} 247 | \else 248 | \setmainfont{Times New Roman} 249 | \setsansfont{Arial} 250 | \ifmcm@mac 251 | \setmonofont[Scale=MatchLowercase]{Menlo} 252 | \else 253 | \setmonofont[Scale=MatchLowercase]{Courier New} 254 | \fi 255 | \fi 256 | 257 | \ifmcm@mac 258 | \setCJKmainfont[ 259 | UprightFont = * Light, 260 | BoldFont = * Bold, 261 | ItalicFont = Kaiti SC, 262 | BoldItalicFont = Kaiti SC Bold, 263 | ]{Songti SC} 264 | \setCJKsansfont{Heiti SC} 265 | \setCJKfamilyfont{zhsong}[ 266 | UprightFont = * Light, 267 | BoldFont = * Bold, 268 | ]{Songti SC} 269 | \setCJKfamilyfont{zhhei}{Heiti SC} 270 | \setCJKfamilyfont{zhkai}{Kaiti SC} 271 | \setCJKfamilyfont{zhli}{Baoli SC} 272 | \newcommand*\lishu{\CJKfamily{zhli}} 273 | \else 274 | \ifmcm@windows 275 | \IfFileExists{C:/bootfont.bin}{ 276 | \setCJKmainfont[AutoFakeBold=2.15,ItalicFont=KaiTi_GB2312]{SimSun} 277 | \setCJKfamilyfont{zhkai}[AutoFakeBold=2.15]{KaiTi_GB2312} 278 | }{ 279 | \setCJKmainfont[AutoFakeBold=2.15,ItalicFont=KaiTi]{SimSun} 280 | \setCJKfamilyfont{zhkai}[AutoFakeBold=2.15]{KaiTi} 281 | } 282 | \setCJKsansfont[AutoFakeBold=2.15]{SimHei} 283 | \setCJKfamilyfont{zhsong}[AutoFakeBold=2.15]{SimSun} 284 | \setCJKfamilyfont{zhhei}[AutoFakeBold=2.15]{SimHei} 285 | \ifx\lishu\undefined% 286 | \setCJKfamilyfont{zhli}{LiSu} 287 | \newcommand*\lishu{\CJKfamily{zhli}} %% Do this if it is undefined 288 | \fi 289 | \else 290 | \ifmcm@fandol 291 | % \setCJKfamilyfont{zhli}{LiSu} % 需要隶书字体 最好更换其他相似字体 292 | % \newcommand*\lishu{\CJKfamily{zhli}} 293 | \providecommand{\lishu}{\kaishu} 294 | \PackageWarning{heavenlyclouds}{用楷书代替隶书} 295 | \fi 296 | \fi 297 | \fi 298 | 299 | % \ifmcm@windows 300 | % \setCJKfamilyfont{xw}{STXinwei} 301 | % \newcommand*{\xinwei}{\CJKfamily{xw}} 302 | % \else 303 | % \ifmcm@mac 304 | % \setCJKfamilyfont{xw}{Weibei SC} 305 | % \fi 306 | % \ifmcm@fandol 307 | % % \setCJKfamilyfont{xw}{STXinwei} % 需要安装华文新魏字体 最好更换其他相似字体 308 | % \providecommand{\xinwei}{\kaishu} 309 | % \PackageWarning{heavenlyclouds}{用楷书代替华文新魏} 310 | % \fi 311 | % \fi 312 | 313 | 314 | % 数学环境, 定理等设置 315 | \newtheorem{definition}{\gmcm@cap@definition} 316 | \newtheorem{theorem}{\gmcm@cap@theorem} 317 | \newtheorem{lemma}{\gmcm@cap@lemma} 318 | \newtheorem{corollary}{\gmcm@cap@corollary} 319 | \newtheorem{assumption}{\gmcm@cap@assumption} 320 | \newtheorem{conjecture}{\gmcm@cap@conjecture} 321 | \newtheorem{axiom}{\gmcm@cap@axiom} 322 | \newtheorem{principle}{\gmcm@cap@principle} 323 | \newtheorem{problem}{\gmcm@cap@problem} 324 | \newtheorem{example}{\gmcm@cap@example} 325 | \newtheorem{proof}{\gmcm@cap@proof} 326 | \newtheorem{solution}{\gmcm@cap@solution} 327 | 328 | % 浮动环境设置 329 | % 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境, 330 | % 而这通常不是我们想要的, 我们将这个要求降低到 5%. 331 | \renewcommand*{\textfraction}{0.05} 332 | % 有时如果多个浮动环境连续放在一起, \LaTeX{} 333 | % 会将它们分在几个不同页,即使它们可在同一页放 334 | % 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮 335 | % 动环境的最大比例. 336 | \renewcommand*{\topfraction}{0.9} 337 | \renewcommand*{\bottomfraction}{0.8} 338 | % 有时\LaTeX{}会把一个浮动环境单独放在一页, 339 | % 我们要求这个环境至少要占据 85% 才能单独放在一页. 340 | % 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|. 341 | \renewcommand*{\floatpagefraction}{0.85} 342 | % 关于图片 graphicx 343 | % 如果图片没有指定后缀, 依次按下列顺序搜索 344 | \DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png} 345 | % 设置图表搜索路径, 可以给图表文件夹取如下名字 346 | \graphicspath{{figures/}{figure/}{pictures/}% 347 | {picture/}{pic/}{pics/}{image/}{images/}} 348 | % 图表标题 349 | \DeclareCaptionFont{song}{\songti} 350 | \DeclareCaptionFont{minusfour}{\zihao{-4}} 351 | \captionsetup[figure]{% 352 | format=hang, % 标题从第二行开始都有缩进, 应该和 justification=raggedright 的效果一样. 353 | labelsep=quad, % 分隔符是一个空格 354 | font={song,minusfour}, % 图的字体, 宋体小四 355 | position=bottom % position=bottom, 不代表标题放在下面, 标题仍放在你放\caption的位置. 356 | } 357 | \captionsetup[table]{% 358 | format=hang, % 标题从第二行开始都有缩进, 应该和 justification=raggedright 的效果一样. 359 | labelsep=quad, % 分隔符是一个空格 360 | font={song,minusfour}, % 表的字体, 宋体小四 361 | position=top % position=bottom, 不代表标题放在下面, 标题仍放在你放\caption的位置. 362 | } 363 | % 列表环境设置 364 | \setlist{% 365 | topsep=0.3em, % 列表顶端的垂直空白 366 | partopsep=0pt, % 列表环境前面紧接着一个空白行时其顶端的额外垂直空白 367 | itemsep=0ex plus 0.1ex, % 列表项之间的额外垂直空白 368 | parsep=0pt, % 列表项内的段落之间的垂直空白 369 | leftmargin=1.5em, % 环境的左边界和列表之间的水平距离 370 | rightmargin=0em, % 环境的右边界和列表之间的水平距离 371 | labelsep=0.5em, % 包含标签的盒子与列表项的第一行文本之间的间隔 372 | labelwidth=2em % 包含标签的盒子的正常宽度;若实际宽度更宽,则使用实际宽度。 373 | } 374 | 375 | % 超链接 376 | % \AtBeginDocument{% 377 | \hypersetup{% 378 | % % unicode=false, % hyperref 和 xetex 同时使用时不能开启 Unicode 选项. 379 | hyperfootnotes=true, 380 | hyperindex=true, 381 | colorlinks=true, 382 | bookmarksnumbered=true, 383 | bookmarksopen=true, 384 | bookmarksopenlevel=0, 385 | allcolors=black, 386 | breaklinks=true}% 387 | % } 388 | % \if@gmcm@bwprint 389 | % \AtBeginDocument{\hypersetup{hidelinks}} 390 | % \else\relax\fi 391 | \def\UrlAlphabet{% 392 | \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j% 393 | \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t% 394 | \do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D% 395 | \do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N% 396 | \do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X% 397 | \do\Y\do\Z} 398 | \def\UrlDigits{\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\0} 399 | \g@addto@macro{\UrlBreaks}{\UrlOrds} 400 | \g@addto@macro{\UrlBreaks}{\UrlAlphabet} 401 | \g@addto@macro{\UrlBreaks}{\UrlDigits} 402 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 403 | 404 | %% Document Markup 405 | 406 | % 生成封面, 使用\maketitle 407 | \renewcommand{\maketitle}{\par 408 | \begingroup 409 | \newpage 410 | \global\@topnum\z@ % Prevents figures from going at top of page. 411 | \ge@maketitle % 412 | \endgroup 413 | \global\let\thanks\relax 414 | \global\let\maketitle\relax 415 | \global\let\@maketitle\relax 416 | \global\let\@thanks\@empty 417 | \global\let\@author\@empty 418 | \global\let\@date\@empty 419 | \global\let\@title\@empty 420 | \global\let\title\relax 421 | \global\let\author\relax 422 | \global\let\date\relax 423 | \global\let\and\relax 424 | } 425 | \def\ge@maketitle{% 426 | \clearpage 427 | %\thispagestyle{plain}% 428 | \thispagestyle{empty} 429 | \pdfbookmark[1]{封~面}{cover} 430 | \if@gmcm@preface 431 | %\setcounter{page}{0} 432 | %\def\thepage{0} 433 | 434 | \begin{center} 435 | {\includegraphics{logo}} 436 | 437 | \vskip1.5cm 438 | {\zihao{2} \gmcm@ges@string@contents \par} 439 | \end{center} 440 | 441 | \vskip4em 442 | 443 | % \thispagestyle{gmcmheadings} 444 | \renewcommand\arraystretch{1.5} 445 | %\noindent 446 | \begin{tabularx}{\textwidth-40pt}{lX} 447 | \zihao{-2}\bfseries 学\qquad 校&\zihao{-2}\bfseries\gmcm@tokens@schoolname\\ 448 | \Xhline{1.2pt}\\ 449 | \zihao{-2}\bfseries 参赛队号&\zihao{-2}\bfseries\gmcm@tokens@baominghao\\ 450 | \Xhline{1.2pt}\\[-15pt] 451 | \multirow{3}{*}{\zihao{-2}\bfseries 队员姓名}&\zihao{-2}\bfseries 1. \gmcm@tokens@membera\hfill\null\\ 452 | \cline{2-2}\\[-15pt] 453 | &\zihao{-2}\bfseries 2. \gmcm@tokens@memberb\hfill\null\\ 454 | \cline{2-2}\\[-15pt] 455 | &\zihao{-2}\bfseries 3. \gmcm@tokens@memberc\hfill\null\\ 456 | \Xhline{1.2pt} 457 | \end{tabularx} 458 | 459 | \makenametitle 460 | } 461 | 462 | \def\makenametitle{ 463 | \clearpage 464 | \thispagestyle{plain}% 465 | \pdfbookmark[1]{标~题}{title} 466 | \setcounter{page}{1} 467 | \begin{center} 468 | %{\includegraphics[width=4cm]{logo}} 469 | {\zihao{2} \gmcm@ges@string@contents \par} 470 | \end{center} 471 | 472 | \vskip0.6cm% 473 | 474 | \begin{center} 475 | \begin{tabularx}{.95\textwidth}{@{}lX@{}} 476 | {\zihao{-2}\lishu 题\quad 目: } &\hfill\zihao{3}\heiti \@title\hfill\null\\ 477 | \cline{2-2} 478 | \end{tabularx} 479 | \end{center} 480 | 481 | \vskip0.2cm% 482 | } 483 | 484 | 485 | % 中文标题格式设置 486 | % 目录深度 487 | \setcounter{secnumdepth}{3} 488 | \def\@seccntformat#1{\csname the#1\endcsname\ \ } 489 | % 节标题格式, 居中, 使用\chinese命令修改计数器, \kern 使得数字和内容不至于太远 490 | \newcommand{\thinskip}{\hskip 0.05em\relax} 491 | % \renewcommand\thesection{\arabic{section}\thinskip.} 492 | \renewcommand\thesubsection{\arabic{section}\thinskip.\thinskip\arabic{subsection}} 493 | \renewcommand\thesubsubsection{\thesubsection\thinskip.\thinskip\arabic{subsubsection}} 494 | \renewcommand\section{\@startsection{section}{1}{\z@}% 495 | {2.5ex \@plus -1ex \@minus -.2ex}% 496 | {2.3ex \@plus.2ex}% 497 | {\bfseries\centering\zihao{4}\heiti}} 498 | \renewcommand\subsection{\@startsection{subsection}{2}{\z@}% 499 | {1.25ex\@plus -1ex \@minus -.2ex}% 500 | {1.25ex \@plus .2ex}% 501 | {\normalfont\normalsize\bfseries}} 502 | \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% 503 | {1.25ex\@plus -1ex \@minus -.2ex}% 504 | {1.2ex \@plus .2ex}% 505 | {\normalfont\normalsize\bfseries}} 506 | \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 507 | {3.25ex \@plus1ex \@minus.2ex}% 508 | {-1em}% 509 | {\normalfont\normalsize\bfseries}} 510 | \renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 511 | {3.25ex \@plus1ex \@minus .2ex}% 512 | {-1em}% 513 | {\normalfont\normalsize\bfseries}} 514 | 515 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 516 | %% Define new environment and command 517 | %% 摘要两个字设置为 -2 号. 518 | %% 定义摘要环境 519 | \renewenvironment{abstract}{% 520 | \if@twocolumn 521 | \section*{\gmcm@cap@abstractname}% 522 | \else 523 | \begin{center}% 524 | {\zihao{-2}\lishu\gmcm@cap@abstractname\vspace{\z@}}% 525 | \end{center}% 526 | \quotation 527 | \fi} 528 | {\if@twocolumn\else\endquotation\newpage\null\fi} 529 | \renewenvironment{quotation} 530 | {\list{}{\listparindent 2em% 531 | \itemindent \listparindent 532 | \rightmargin\z@ 533 | \leftmargin\z@ 534 | \parsep \z@ \@plus\p@}% 535 | \item\relax} 536 | {\endlist} 537 | 538 | \newcommand\keywords[1]{% 539 | \renewcommand{\gmcm@tokens@keywords}{#1} 540 | \par 541 | \vskip1ex 542 | {\noindent\zihao{-3}\lishu\gmcm@cap@keywordsname:}~{\gmcm@tokens@keywords} 543 | } 544 | 545 | 546 | \newcommand*\baominghao[1]{% 547 | \renewcommand{\gmcm@tokens@baominghao}{#1}} 548 | \newcommand*\schoolname[1]{% 549 | \renewcommand{\gmcm@tokens@schoolname}{#1}} 550 | \newcommand*\membera[1]{% 551 | \renewcommand{\gmcm@tokens@membera}{#1}} 552 | \newcommand*\memberb[1]{% 553 | \renewcommand{\gmcm@tokens@memberb}{#1}} 554 | \newcommand*\memberc[1]{% 555 | \renewcommand{\gmcm@tokens@memberc}{#1}} 556 | 557 | 558 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 559 | 560 | %% Initialization 561 | %%%数学定理相关的常量 562 | \newcommand*{\gmcm@cap@definition}{定义} 563 | \newcommand*{\gmcm@cap@theorem}{定理} 564 | \newcommand*{\gmcm@cap@lemma}{引理} 565 | \newcommand*{\gmcm@cap@corollary}{推论} 566 | \newcommand*{\gmcm@cap@assumption}{假设} 567 | \newcommand*{\gmcm@cap@conjecture}{猜想} 568 | \newcommand*{\gmcm@cap@axiom}{公理} 569 | \newcommand*{\gmcm@cap@principle}{定律} 570 | \newcommand*{\gmcm@cap@problem}{问题} 571 | \newcommand*{\gmcm@cap@example}{例} 572 | \newcommand*{\gmcm@cap@proof}{证明} 573 | \newcommand*{\gmcm@cap@solution}{解} 574 | %%% 中文标题名称 575 | \newcommand*{\gmcm@cap@abstractname}{摘\quad 要: } 576 | %%% 中文关键字 577 | \newcommand*{\gmcm@cap@keywordsname}{关键词} 578 | 579 | % 常量 580 | 581 | %\newcommand\gmcm@ges@string@contents{“华为杯”第十五届全国研究生\par 数学建模竞赛} 582 | \newcommand\gmcm@ges@string@contents{\includegraphics{title}} 583 | 584 | \renewcommand{\thetable}{\arabic{section}.\arabic{table}} 585 | \renewcommand{\theequation}{\arabic{section}.\arabic{equation}} 586 | \renewcommand{\thefigure}{\arabic{section}.\arabic{figure}} 587 | 588 | % 字图与子标题 589 | % \RequirePackage{subcaption} 590 | \RequirePackage[titles]{tocloft} 591 | %\renewcommand{\cftdot}{$\cdot$} 592 | %\renewcommand{\cftsecdotsep}{1.5} 593 | \renewcommand{\cftsecdotsep}{4.5} 594 | \setlength{\cftbeforesecskip}{7pt} 595 | \setlength{\cftbeforesubsecskip}{3pt} 596 | %\setlength{\cftbeforesubsecskip}{5pt} 597 | \renewcommand{\cftsecfont}{\bfseries\zihao{-4}\heiti} 598 | \renewcommand{\cftsecleader}{\cftdotfill{\cftsecdotsep}} 599 | \renewcommand{\cftsecaftersnumb}{\hskip.4em} 600 | 601 | % ----------- 设置新的生成目录命令 ------------- 602 | \newcommand{\maketoc}{ 603 | \phantomsection 604 | \pdfbookmark[1]{目~录}{contents} 605 | \tableofcontents 606 | } 607 | 608 | \RequirePackage{titletoc} 609 | \RequirePackage[title,titletoc]{appendix} 610 | 611 | \newcommand*{\gmcm@cap@appendixname}{附录} 612 | \renewcommand*\appendixname{\gmcm@cap@appendixname} 613 | 614 | % 定义附录 615 | % \let\oldappendix\appendix 616 | \renewcommand\appendix{\par 617 | \setcounter{section}{0}% 618 | \setcounter{subsection}{0}% 619 | \gdef\thesection{\appendixname\@Alph\c@section} 620 | %\gdef\thesubsection{\@Alph\c@section\thinskip.\thinskip\c@subsection} 621 | } 622 | 623 | 624 | % 设置目录格式 625 | % 节的目录格式 626 | % \titlecontents{section}[0pt]{\vspace{2mm}\bfseries\heiti} 627 | % {\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage} 628 | % % 小节的目录格式 629 | % \titlecontents{subsection}[30pt]{\songti} 630 | % {\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage} 631 | 632 | % \titlecontents{subsubsection}[55pt]{\songti} 633 | % {\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage} 634 | 635 | % \pagestyle{plain} 636 | 637 | \endinput 638 | -------------------------------------------------------------------------------- /makefiles.bat: -------------------------------------------------------------------------------- 1 | @rem ------------------------------------------------ 2 | @rem LaTeX Automated Compiler 3 | @rem ------------------------------------------------ 4 | @echo off 5 | @rem ------------------------------------------------ 6 | @rem ->> Set tex compiler 7 | @rem ------------------------------------------------ 8 | set CompileName="xelatex" 9 | @rem ------------------------------------------------ 10 | @rem ------------------------------------------------ 11 | @rem ->> Get source filename 12 | @rem ------------------------------------------------ 13 | for %%F in (*.tex) do ( 14 | set FileName=%%~nF 15 | ) 16 | @rem ------------------------------------------------ 17 | @rem ->> Set environmental variables 18 | @rem ------------------------------------------------ 19 | set TEXINPUTS=.//;%TEXINPUTS% 20 | set BIBINPUTS=.//;%BIBINPUTS% 21 | set BSTINPUTS=.//;%BSTINPUTS% 22 | @rem ------------------------------------------------ 23 | @rem ->> Build textual content 24 | @rem ------------------------------------------------ 25 | %CompileName% %FileName% 26 | @rem ------------------------------------------------ 27 | @rem ->> Build references and links 28 | @rem ------------------------------------------------ 29 | bibtex %FileName% 30 | %CompileName% %FileName% 31 | %CompileName% %FileName% 32 | @rem ------------------------------------------------ 33 | @rem ->> Delete temporary file 34 | @rem ------------------------------------------------ 35 | del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.userbak *.nav *.snm *.vrb *.synctex(busy) 36 | del /q *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk 37 | @rem ------------------------------------------------ 38 | @rem ->> View compiled file 39 | @rem ------------------------------------------------ 40 | echo ------------------------------------------------ 41 | echo %CompileName% %FileName%.tex finished... 42 | echo ------------------------------------------------ 43 | 44 | -------------------------------------------------------------------------------- /makefiles.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #-> Get source filename 4 | find . -name "*.tex"|while read FileName; 5 | do 6 | #--- Process FileName.tex --- 7 | echo "$FileName" 8 | echo "${FileName%.tex}" 9 | #-> Compile the main file 10 | xelatex --synctex=-1 "$FileName" 11 | bibtex "${FileName%.tex}" 12 | xelatex --synctex=-1 "$FileName" 13 | xelatex --synctex=-1 "$FileName" 14 | #clear aux files 15 | rm -r *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.userbak *.nav *.snm *.vrb 16 | done 17 | 18 | -------------------------------------------------------------------------------- /reference.bib: -------------------------------------------------------------------------------- 1 | @book{mittelbach_latex_2004, 2 | author = {Mittelbach, Frank and Goossens, Michel and Braams, Johannes and Carlisle, David and Rowley, Chris}, 3 | title = {The {\LaTeX} Companion}, 4 | edition = {2}, 5 | address = {Reading, MA, USA}, 6 | publisher = {Addison-Wesley}, 7 | pages = {107--109}, 8 | year = {2004} 9 | } 10 | 11 | @article{wright_latex3_2009, 12 | author = {Wright, Joseph}, 13 | title = {{\LaTeX}3 programming: External perspective}, 14 | journal = {TUGboat}, 15 | volume = {30}, 16 | number = {1}, 17 | pages = {107--109}, 18 | year = {2009}, 19 | urldate = {2018-07-21}, 20 | url = {http://tug.org/TUGboat/tb30-1/tb94wright-latex3.pdf}, 21 | } 22 | 23 | @online{beeton_unicode_2008, 24 | author = {Beeton, Barbara and Freytag, Asmus and Sargent III, Murray}, 25 | title = {Unicode support for mathematics}, 26 | url = {http://www.unicode.org/reports/tr25/}, 27 | urldate = {2018-07-21}, 28 | institution = {Unicode, Inc.}, 29 | year = {2008}, 30 | } 31 | 32 | @inproceedings{vieth_experiences_2009, 33 | author = {Vieth, Ulrik}, 34 | title = {Experiences typesetting mathematical physics}, 35 | booktitle = {Proceedings of EuroTeX}, 36 | year = {2009}, 37 | pages = {13}, 38 | url = {http://tug.org/TUGboat/tb30-3/tb96vieth.pdf}, 39 | } 40 | --------------------------------------------------------------------------------