diff options
author | Karl Berry <karl@freefriends.org> | 2020-02-18 22:28:45 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-02-18 22:28:45 +0000 |
commit | 08515f0c1df0f23da805bdb29d02e793f160c184 (patch) | |
tree | a506f094bd6a8e8415fd5c0f6b67312e1a72616f /Master | |
parent | 55adb6fbcca7a68bd17fa64d3e0f84a9ceb4aa8b (diff) |
hitszthesis (18feb20)
git-svn-id: svn://tug.org/texlive/trunk@53831 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
28 files changed, 4474 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/latex/hitszthesis/README.md b/Master/texmf-dist/doc/latex/hitszthesis/README.md new file mode 100644 index 00000000000..c915afa6243 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/README.md @@ -0,0 +1,54 @@ +<!-- Author : Jingxuan Yang--> +<!-- Program Email: yanglatex2e@gmail.com --> + +[Github](https://github.com/YangLaTeX/YangThesis) | [Download](https://github.com/YangLaTeX/YangThesis/releases) | [Wiki](https://github.com/YangLaTeX/YangThesis/wiki) | [CTAN](https://www.ctan.org/pkg/hitszthesis) + +# Introduction to hitszthesis + +HITSZThesis is a **bachelor dissertation** LaTeX template for **Harbin Institute of Technology, ShenZhen** (HITSZ). Current version is 2.0, updated on 2020/2/18. + +# Documentation +Download and unzip the template. Specific usage documentation and examples can be found in the files below. At present, these documents are <b>only available in Chinese</b>: +* Template usage (hitszthesis.pdf) +* Template example (main.pdf) + +# Downloads +* Published version: [CTAN](https://www.ctan.org/pkg/hitszthesis) +* Developer version: [GitHub](https://github.com/YangLaTeX/hitszthesis) + +# Updates +## Automatic +Get the most up-to-date published version with your TeX distribution from [CTAN](https://www.ctan.org/pkg/hitszthesis). + +## Manual +Download the package from [GitHub](https://github.com/YangLaTeX/hitszthesis) to the root directory of your thesis, then execute the command (Windows users `Shift + right click` white area in the file window and click "Open command line window here" from the popup menu): + +```shell +xetex hitszthesis.ins +``` + +You'll get `hitszthesis.cls` along with other template files. + +# Reporting Issues +Please follow the procedure below: + +* Check the [FAQ](https://github.com/YangLaTeX/hitszthesis/wiki/FAQ) +* [GitHub Issues](https://github.com/YangLaTeX/hitszthesis/issues) + +# Makefile Usage + +```shell +make [{all|thesis|spine|doc|clean|cleanall|distclean}] +``` + +## Targets +* `make thesis` generate thesis main.pdf; +* `make spine` generate book spine for printing spine.pdf; +* `make doc` generate template documentation hitszthesis.pdf; +* `make all` generate thesis and spine, same as `make thesis && make spine`; +* `make clean` delete all examples' files (excluding main.pdf); +* `make cleanall` delete all examples' files and main.pdf; +* `make distclean` delete all examples' and templates' files and PDFs. + +# License +This material is subject to the [LATEX Project Public License 1.3c](https://ctan.org/license/lppl1.3) or any later version. diff --git a/Master/texmf-dist/doc/latex/hitszthesis/dtx-style.sty b/Master/texmf-dist/doc/latex/hitszthesis/dtx-style.sty new file mode 100644 index 00000000000..35e9ac93302 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/dtx-style.sty @@ -0,0 +1,145 @@ +%% +%% This is file `dtx-style.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% hitszthesis.dtx (with options: `dtx-style') +%% +%% This is a generated file. +%% +%% Copyright (C) 2019-2020 by Jingxuan Yang <yanglatex2e@gmail.com> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% To produce the documentation run the original source files ending with `.dtx' +%% through LaTeX. +%% +\RequirePackage{ifxetex} +\ifxetex\else + \ClassError{hitszthesis}{Please use XeLaTeX to compile the file}{} + \end{document} +\fi +\ProvidesPackage{dtx-style} +\RequirePackage{hypdoc} +\RequirePackage{ifthen} +\RequirePackage[UTF8,scheme=chinese]{ctex} +\RequirePackage{newtxtext} +\RequirePackage{newtxmath} +\RequirePackage[ + top=2.5cm, bottom=2.5cm, + left=5cm, right=1.5cm, + headsep=8mm]{geometry} +\RequirePackage{array,longtable,booktabs} +\RequirePackage{listings} +\RequirePackage{fancyhdr} +\RequirePackage{xcolor} +\RequirePackage{enumitem} +\RequirePackage{etoolbox} +\RequirePackage{metalogo} + +\ifthenelse{\equal{\@nameuse{g__ctex_fontset_tl}}{mac}}{% + \xeCJKsetwidth{‘’“”}{1em} +}{} + +\colorlet{hitsz@macro}{blue!60!black} +\colorlet{hitsz@env}{blue!70!black} +\colorlet{hitsz@option}{purple} +\patchcmd{\PrintMacroName}{\MacroFont}{\MacroFont\bfseries\color{hitsz@macro}}{}{} +\patchcmd{\PrintDescribeMacro}{\MacroFont}{\MacroFont\bfseries\color{hitsz@macro}}{}{} +\patchcmd{\PrintDescribeEnv}{\MacroFont}{\MacroFont\bfseries\color{hitsz@env}}{}{} +\patchcmd{\PrintEnvName}{\MacroFont}{\MacroFont\bfseries\color{hitsz@env}}{}{} + +\def\DescribeOption{% + \leavevmode\@bsphack\begingroup\MakePrivateLetters% + \Describe@Option} +\def\Describe@Option#1{\endgroup + \marginpar{\raggedleft\PrintDescribeOption{#1}}% + \hitsz@special@index{option}{#1}\@esphack\ignorespaces} +\def\PrintDescribeOption#1{\strut \MacroFont\bfseries\sffamily\color{hitsz@option} #1\ } +\def\hitsz@special@index#1#2{\@bsphack + \begingroup + \HD@target + \let\HDorg@encapchar\encapchar + \edef\encapchar usage{% + \HDorg@encapchar hdclindex{\the\c@HD@hypercount}{usage}% + }% + \index{#2\actualchar{\string\ttfamily\space#2} + (#1)\encapchar usage}% + \index{#1:\levelchar#2\actualchar + {\string\ttfamily\space#2}\encapchar usage}% + \endgroup + \@esphack} + +\lstdefinestyle{lstStyleBase}{% + basicstyle=\small\ttfamily, + aboveskip=\medskipamount, + belowskip=\medskipamount, + lineskip=0pt, + boxpos=c, + showlines=false, + extendedchars=true, + upquote=true, + tabsize=2, + showtabs=false, + showspaces=false, + showstringspaces=false, + numbers=none, + linewidth=\linewidth, + xleftmargin=4pt, + xrightmargin=0pt, + resetmargins=false, + breaklines=true, + breakatwhitespace=false, + breakindent=0pt, + breakautoindent=true, + columns=flexible, + keepspaces=true, + gobble=2, + framesep=3pt, + rulesep=1pt, + framerule=1pt, + backgroundcolor=\color{gray!5}, + stringstyle=\color{green!40!black!100}, + keywordstyle=\bfseries\color{blue!50!black}, + commentstyle=\slshape\color{black!60}} + +\lstdefinestyle{lstStyleShell}{% + style=lstStyleBase, + frame=l, + rulecolor=\color{purple}, + language=bash} + +\definecolor{hitcolor}{RGB}{21,95,130} +\lstdefinestyle{lstStyleLaTeX}{% + style=lstStyleBase, + frame=l, + rulecolor=\color{hitcolor}, + language=[LaTeX]TeX} + +\lstnewenvironment{latex}{\lstset{style=lstStyleLaTeX}}{} +\lstnewenvironment{shell}{\lstset{style=lstStyleShell}}{} + +\setlist{nosep} + +\DeclareDocumentCommand{\option}{m}{\textsf{#1}} +\DeclareDocumentCommand{\env}{m}{\texttt{#1}} +\DeclareDocumentCommand{\pkg}{s m}{% + \texttt{#2}\IfBooleanF#1{\hitsz@special@index{package}{#2}}} +\DeclareDocumentCommand{\file}{s m}{% + \texttt{#2}\IfBooleanF#1{\hitsz@special@index{file}{#2}}} +\newcommand{\myentry}[1]{% + \marginpar{\raggedleft\color{purple}\bfseries\strut #1}} +\newcommand{\note}[2][Note]{{% + \color{magenta}{\bfseries #1}\emph{#2}}} + +\def\hitszthesis{\textsc{Hitsz}\-\textsc{Thesis}} +\endinput +%% +%% End of file `dtx-style.sty'. diff --git a/Master/texmf-dist/doc/latex/hitszthesis/figure/3angle.png b/Master/texmf-dist/doc/latex/hitszthesis/figure/3angle.png Binary files differnew file mode 100644 index 00000000000..14d16cc9c3a --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/figure/3angle.png diff --git a/Master/texmf-dist/doc/latex/hitszthesis/figure/3grasp.png b/Master/texmf-dist/doc/latex/hitszthesis/figure/3grasp.png Binary files differnew file mode 100644 index 00000000000..baa5ded526a --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/figure/3grasp.png diff --git a/Master/texmf-dist/doc/latex/hitszthesis/figure/3posoreest.png b/Master/texmf-dist/doc/latex/hitszthesis/figure/3posoreest.png Binary files differnew file mode 100644 index 00000000000..23994364dae --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/figure/3posoreest.png diff --git a/Master/texmf-dist/doc/latex/hitszthesis/figure/3rfcn.png b/Master/texmf-dist/doc/latex/hitszthesis/figure/3rfcn.png Binary files differnew file mode 100644 index 00000000000..cd3161a9fee --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/figure/3rfcn.png diff --git a/Master/texmf-dist/doc/latex/hitszthesis/figure/figmutihopcomplex.png b/Master/texmf-dist/doc/latex/hitszthesis/figure/figmutihopcomplex.png Binary files differnew file mode 100644 index 00000000000..014865ad28e --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/figure/figmutihopcomplex.png diff --git a/Master/texmf-dist/doc/latex/hitszthesis/figure/flowchart.png b/Master/texmf-dist/doc/latex/hitszthesis/figure/flowchart.png Binary files differnew file mode 100644 index 00000000000..3637a7db94e --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/figure/flowchart.png diff --git a/Master/texmf-dist/doc/latex/hitszthesis/figure/less1.jpg b/Master/texmf-dist/doc/latex/hitszthesis/figure/less1.jpg Binary files differnew file mode 100644 index 00000000000..5bdb2c1891c --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/figure/less1.jpg diff --git a/Master/texmf-dist/doc/latex/hitszthesis/figure/less2.jpg b/Master/texmf-dist/doc/latex/hitszthesis/figure/less2.jpg Binary files differnew file mode 100644 index 00000000000..d68e0cac5f4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/figure/less2.jpg diff --git a/Master/texmf-dist/doc/latex/hitszthesis/figure/less3.jpg b/Master/texmf-dist/doc/latex/hitszthesis/figure/less3.jpg Binary files differnew file mode 100644 index 00000000000..fba8801e225 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/figure/less3.jpg diff --git a/Master/texmf-dist/doc/latex/hitszthesis/front/HITSZname.jpg b/Master/texmf-dist/doc/latex/hitszthesis/front/HITSZname.jpg Binary files differnew file mode 100644 index 00000000000..3d0df2b0e03 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/front/HITSZname.jpg diff --git a/Master/texmf-dist/doc/latex/hitszthesis/front/thesistitle.eps b/Master/texmf-dist/doc/latex/hitszthesis/front/thesistitle.eps new file mode 100644 index 00000000000..631dc56dddc --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/front/thesistitle.eps @@ -0,0 +1,335 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.14.10 (http://cairographics.org) +%%CreationDate: Sat Aug 26 23:43:48 2017 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%BoundingBox: 0 -1 422 55 +%%EndComments +%%BeginProlog +save +50 dict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +/cairo_flush_ascii85_file { cairo_ascii85_file status { cairo_ascii85_file flushfile } if } def +/cairo_image { image cairo_flush_ascii85_file } def +/cairo_imagemask { imagemask cairo_flush_ascii85_file } def +%%EndProlog +%%BeginSetup +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 -1 422 55 +%%EndPageSetup +q 0 -1 422 56 rectclip q +0 g +20.781 0.454 m 20.582 0.704 20.312 4.915 20.18 9.95 c 20.047 14.927 19.844 + 19.544 19.723 20.208 c 19.512 21.403 19.488 21.415 17.988 21.192 c 17.156 + 21.067 14.938 20.813 13.062 20.634 c 8.965 20.235 7.098 19.766 4.219 18.399 + c 0.973 16.864 0.621 16.958 0.168 19.442 c -0.25 21.751 0.102 22.798 1.293 + 22.798 c 1.676 22.798 2.816 23.032 3.828 23.317 c 5.516 23.79 6.543 24.063 + 12.273 25.559 c 13.32 25.833 15.043 26.298 16.105 26.599 c 17.168 26.895 + 18.309 27.141 18.641 27.141 c 19.082 27.141 19.242 27.466 19.242 28.388 + c 19.242 29.161 19.551 29.989 20.055 30.567 c 20.871 31.505 l 22.859 30.806 + l 23.953 30.423 25.258 29.72 25.754 29.243 c 26.66 28.376 l 32.27 28.821 + l 35.352 29.067 38.203 29.302 38.602 29.349 c 40.082 29.509 40.516 29.274 + 41.535 27.774 c 42.109 26.927 42.68 26.153 42.801 26.056 c 43.188 25.739 + 43.527 22.552 43.281 21.571 c 43.098 20.833 42.824 20.626 42.02 20.626 +c 41.457 20.626 40.902 20.778 40.789 20.962 c 40.676 21.145 39.551 21.638 + 38.293 22.056 c 36.312 22.716 35.297 22.806 30.789 22.72 c 25.574 22.618 + l 25.324 20.626 l 25.188 19.532 25.043 14.727 25 9.95 c 24.961 5.177 24.859 + 0.981 24.773 0.634 c 24.652 0.138 24.238 0.001 22.879 0.001 c 21.918 0.001 + 20.977 0.204 20.781 0.454 c h +202.465 0.454 m 202.309 0.7 202.234 4.911 202.301 9.809 c 202.375 15.247 + 202.246 20.274 201.977 22.72 c 201.535 26.731 l 200.133 26.966 l 198.18 + 27.298 196.074 26.872 194.555 25.845 c 193.848 25.364 193.043 24.97 192.766 + 24.97 c 192.152 24.97 189.68 29.513 189.68 30.641 c 189.68 31.294 189.945 + 31.493 191.039 31.681 c 191.785 31.806 192.965 32.059 193.66 32.239 c 194.359 + 32.419 195.309 32.563 195.777 32.567 c 196.242 32.567 197.746 32.907 199.117 + 33.325 c 201.609 34.083 l 201.707 41.919 l 201.805 49.759 l 203.684 49.864 + l 204.992 49.942 206.055 49.751 207.18 49.239 c 209.047 48.388 209.301 +47.942 208.66 46.665 c 208.371 46.095 208.152 43.868 208.074 40.786 c 207.957 + 35.825 l 209.273 35.825 l 209.996 35.825 211.422 36.095 212.445 36.427 +c 214.23 37.001 214.328 36.997 214.855 36.337 c 215.16 35.954 215.578 35.196 + 215.789 34.649 c 215.996 34.102 216.293 33.653 216.449 33.653 c 216.832 + 33.653 217.645 30.641 217.484 29.806 c 217.367 29.192 216.957 29.13 213.016 + 29.114 c 210.633 29.102 208.41 28.97 208.082 28.817 c 207.363 28.481 206.992 + 22.196 206.918 9.044 c 206.879 2.056 206.781 0.641 206.328 0.352 c 205.535 + -0.144 202.801 -0.077 202.465 0.454 c h +407.906 2.102 m 406.441 2.333 402.094 5.352 402.332 5.974 c 402.445 6.27 + 402.707 6.513 402.914 6.513 c 403.426 6.513 410.059 13.184 410.059 13.7 + c 410.059 13.927 410.184 14.114 410.332 14.114 c 410.895 14.122 413.797 + 19.571 414.762 22.434 c 417.156 29.536 417.203 38.747 414.895 47.946 c +414.594 49.141 414.215 50.649 414.047 51.294 c 413.758 52.427 413.781 52.462 + 414.707 52.259 c 417.59 51.634 417.832 51.333 419.203 46.681 c 422.32 36.099 + 422.586 26.45 420.016 17.052 c 419.426 14.895 416.766 9.188 415.988 8.407 + c 415.711 8.134 415.488 7.778 415.488 7.618 c 415.488 7.462 414.449 6.247 + 413.18 4.919 c 410.883 2.516 409.605 1.833 407.906 2.102 c h +262.418 2.829 m 260.957 3.532 260.273 4.263 260.258 5.145 c 260.25 5.485 + 260.02 6.302 259.746 6.954 c 257.246 12.884 256.172 26.763 257.664 33.872 + c 258.633 38.485 259.824 41.72 261.766 45.02 c 263.887 48.626 268.145 52.833 + 269.668 52.833 c 270.238 52.833 274.098 50.97 274.633 50.438 c 274.883 +50.188 275.41 49.884 275.809 49.755 c 276.207 49.63 276.531 49.407 276.531 + 49.255 c 276.531 49.001 274.07 46.681 273.797 46.681 c 273.5 46.681 270.016 + 42.997 270.016 42.684 c 270.016 42.493 269.887 42.341 269.73 42.341 c 269.445 + 42.341 266.758 38.907 266.758 38.54 c 266.758 38.434 266.391 37.735 265.934 + 36.993 c 264.969 35.411 263.863 32.599 262.914 29.313 c 262.355 27.368 +262.238 25.77 262.254 20.083 c 262.273 13.337 262.504 11.423 263.945 5.97 + c 264.887 2.403 264.906 2.169 264.277 2.196 c 263.953 2.204 263.113 2.493 + 262.418 2.829 c h +386.898 2.415 m 378.605 3.438 377.863 3.704 377.195 5.88 c 375.809 10.376 + 373.941 12.786 371.555 13.149 c 370.211 13.352 370.016 13.251 367.859 11.231 + c 365.59 9.106 365.094 8.774 361.84 7.181 c 360.895 6.716 360.121 6.227 + 360.121 6.095 c 360.121 5.661 357.707 4.341 356.914 4.341 c 354.457 4.341 + 348.902 8.356 348.902 10.134 c 348.902 10.813 349.148 10.856 353.184 10.856 + c 356.52 10.856 358 11.024 359.879 11.614 c 361.207 12.032 362.293 12.52 + 362.293 12.7 c 362.293 12.88 362.457 13.028 362.66 13.028 c 363.078 13.028 + 366.273 16.266 366.273 16.684 c 366.273 17.184 364.309 18.345 362.422 18.966 + c 360.445 19.61 360.137 20.067 360.129 22.356 c 360.121 23.665 360.91 25.829 + 361.527 26.212 c 361.746 26.345 362.91 25.876 364.117 25.169 c 365.324 +24.462 366.445 23.884 366.609 23.884 c 366.773 23.884 367.113 23.638 367.359 + 23.341 c 367.605 23.044 368.086 22.798 368.426 22.798 c 369.125 22.798 +369.891 25.466 369.891 27.891 c 369.891 29.438 369.422 29.681 367.969 28.872 + c 367.48 28.602 365.57 28.431 362.988 28.419 c 359.531 28.411 358.57 28.282 + 357.477 27.696 c 356.164 26.985 356.152 26.985 355.625 27.696 c 355.055 + 28.458 354.332 31.302 354.332 32.774 c 354.332 33.849 355.266 34.282 358.246 + 34.587 c 362.355 35.009 368.797 36.509 370.098 37.349 c 370.312 37.485 +372.266 38.192 374.441 38.919 c 376.617 39.645 378.758 40.47 379.199 40.747 + c 380.543 41.595 381.707 41.372 382.68 40.079 c 384.594 37.528 385.734 +33.751 384.637 33.587 c 384.391 33.548 383.02 33.509 381.59 33.493 c 378.305 + 33.466 377.375 32.841 375.738 29.532 c 374.648 27.325 373.168 21.665 373.152 + 19.653 c 373.148 18.552 378.91 12.809 380.75 12.087 c 381.047 11.97 381.781 + 11.649 382.379 11.38 c 382.973 11.106 384.902 10.372 386.668 9.747 c 390.215 + 8.489 392.648 7.013 393.762 5.446 c 394.797 3.997 394.684 3.372 393.324 + 2.946 c 392.031 2.548 388.324 2.239 386.898 2.415 c h +152.227 4.099 m 149.426 4.513 149.035 4.825 148.445 7.145 c 148.23 7.993 + 147.895 8.684 147.699 8.684 c 147.504 8.684 147.344 8.931 147.344 9.227 + c 147.344 9.528 147.098 9.77 146.801 9.77 c 146.5 9.77 146.258 9.931 146.258 + 10.126 c 146.258 10.52 143.5 11.942 142.73 11.942 c 142.457 11.942 141.797 + 11.481 141.262 10.923 c 138.781 8.333 136.094 6.876 133.781 6.876 c 132.195 + 6.876 129.453 7.86 128.688 8.708 c 128.082 9.376 128.082 9.442 128.707 +10.134 c 129.066 10.532 129.656 10.856 130.016 10.856 c 131.078 10.856 135.316 + 12.778 137.27 14.145 c 138.605 15.083 l 136.484 17.313 l 135.305 18.552 + 134.051 19.54 133.66 19.54 c 132.48 19.54 131.969 20.563 132 22.849 c 132.035 + 25.462 132.816 26.563 134.383 26.22 c 134.996 26.087 135.402 26.149 135.402 + 26.376 c 135.402 26.993 142.492 29.04 144.098 28.888 c 145.492 28.755 145.5 + 28.759 144.836 29.485 c 143.207 31.274 143 32.27 143 38.341 c 143 44.794 + 142.957 44.888 140.816 43.102 c 139.562 42.056 l 139.582 38.852 l 139.59 + 37.087 139.672 34.782 139.762 33.724 c 139.922 31.813 139.918 31.798 138.098 + 30.087 c 135.477 27.626 131.059 26.356 131.059 28.067 c 131.059 28.333 +131.547 29.274 132.145 30.161 c 132.742 31.044 133.23 31.907 133.23 32.079 + c 133.234 32.247 133.496 32.876 133.816 33.474 c 134.238 34.263 134.445 + 35.942 134.574 39.626 c 134.691 42.876 134.926 44.962 135.227 45.442 c +135.656 46.13 139.707 47.766 140.977 47.766 c 141.246 47.766 141.938 48.009 + 142.508 48.309 c 143.953 49.059 146.387 48.985 148.055 48.134 c 149.832 + 47.227 150.133 46.317 149.238 44.587 c 148.355 42.888 147.648 39.95 147.613 + 37.852 c 147.582 35.696 148.406 34.516 150.328 33.966 c 152.465 33.356 +152.77 33.04 152.77 31.454 c 152.77 30.411 152.527 29.841 151.801 29.165 + c 150.82 28.255 148.48 27.618 147.629 28.028 c 147.371 28.153 147.473 28.044 + 147.855 27.786 c 149.988 26.349 150.328 25.423 149.152 24.247 c 148.754 + 23.849 148.43 23.282 148.43 22.993 c 148.43 22.477 148.07 21.552 146.543 + 18.102 c 145.828 16.485 l 146.91 15.571 l 147.504 15.067 148.383 14.329 + 148.863 13.931 c 150.176 12.845 153.766 11.083 156.207 10.329 c 162.23 +8.47 164.34 7.106 163.805 5.415 c 163.562 4.653 163.234 4.54 159.645 3.985 + c 156.93 3.567 155.723 3.587 152.227 4.099 c h +142.797 24.309 m 142.523 25.177 141.594 25.141 139.391 24.181 c 137.582 + 23.391 l 141.676 19.454 l 142.344 21.552 l 142.707 22.708 142.914 23.95 + 142.797 24.309 c h +315.25 4.927 m 312.305 6.091 309.629 8.333 309.27 9.942 c 308.648 12.696 + 308.348 16.372 308.375 20.774 c 308.395 23.579 308.402 26.149 308.395 26.485 + c 308.383 26.927 307.93 26.657 306.797 25.544 c 304.602 23.38 302.277 21.86 + 300.727 21.575 c 299.773 21.399 299.355 21.11 299.219 20.528 c 299.113 +20.083 298.762 19.005 298.438 18.13 c 297.465 15.505 297.832 15.165 299.734 + 16.923 c 301.922 18.938 302.586 18.934 302.586 16.919 c 302.586 14.095 +300.703 10.075 298.281 7.72 c 297.199 6.669 296.75 6.661 295.832 7.692 c + 294.453 9.227 293.852 12.157 294.121 15.993 c 294.41 20.114 294.184 21.352 + 293.145 21.352 c 292.25 21.352 291.098 20.782 290.043 19.825 c 288.664 +18.571 287.23 19.645 286.145 22.735 c 285.496 24.583 286.012 25.618 287.711 + 25.884 c 290.102 26.255 293.352 27.255 293.762 27.743 c 293.98 28.009 294.273 + 28.227 294.41 28.227 c 294.547 28.227 295.02 28.606 295.457 29.067 c 295.895 + 29.532 296.527 30.009 296.859 30.134 c 297.781 30.47 300.223 28.536 300.621 + 27.149 c 300.957 25.985 l 302.855 28.532 l 303.902 29.934 304.758 31.239 + 304.758 31.434 c 304.758 31.63 305 32.29 305.301 32.903 c 305.598 33.516 + 306.086 34.52 306.387 35.13 c 306.684 35.743 306.93 36.528 306.93 36.868 + c 306.93 37.212 307.07 37.645 307.242 37.833 c 307.414 38.024 307.973 39.403 + 308.48 40.903 c 308.988 42.399 309.562 44.028 309.758 44.52 c 309.953 45.013 + 310.395 46.474 310.734 47.766 c 311.078 49.063 311.625 50.813 311.949 51.657 + c 312.52 53.153 312.582 53.192 314.184 53.196 c 315.09 53.196 316.027 53.001 + 316.266 52.763 c 316.848 52.177 316.793 50.329 316.156 49.216 c 315.512 + 48.091 315.449 44.372 316.066 43.724 c 316.312 43.458 316.762 42.774 317.059 + 42.196 c 317.359 41.618 318.426 40.282 319.438 39.224 c 320.445 38.165 +321.992 36.438 322.871 35.388 c 325.047 32.786 327.559 30.399 328.117 30.399 + c 328.371 30.399 328.633 30.27 328.699 30.11 c 328.766 29.954 329.719 29.364 + 330.812 28.798 c 333.949 27.177 336.176 25.614 336.363 24.899 c 336.914 + 22.786 335.586 22.224 330.949 22.61 c 325.246 23.087 323.25 23.989 323.223 + 26.099 c 323.211 27.255 321.867 30.399 321.387 30.399 c 321.195 30.399 +321.043 30.641 321.043 30.942 c 321.043 31.239 320.879 31.485 320.68 31.485 + c 320.48 31.485 320.02 31.77 319.656 32.118 c 319.293 32.466 318.602 33.083 + 318.117 33.493 c 317.637 33.903 316.508 35.059 315.613 36.067 c 314.719 + 37.075 313.648 38.075 313.234 38.29 c 312.551 38.645 312.383 38.477 311.355 + 36.438 c 309.703 33.149 309.098 31.524 309.098 30.349 c 309.098 29.337 +309.145 29.309 310.508 29.528 c 311.625 29.708 312.062 29.606 312.633 29.036 + c 313.273 28.395 313.312 28.106 312.992 26.263 c 312.797 25.13 312.723 +24.118 312.828 24.016 c 312.93 23.911 313.723 24.247 314.586 24.755 c 315.449 + 25.266 316.488 25.833 316.895 26.013 c 317.301 26.192 317.852 26.602 318.113 + 26.923 c 318.875 27.841 319.586 27.606 320.156 26.247 c 321.023 24.165 +320.57 21.712 319.312 21.712 c 319.102 21.712 318.875 21.591 318.809 21.442 + c 318.648 21.079 315.371 18.458 315.082 18.458 c 314.953 18.458 314.355 + 17.997 313.754 17.431 c 312.664 16.415 312.66 16.395 313.051 14.278 c 313.27 + 13.102 313.68 11.915 313.961 11.63 c 314.789 10.802 317.961 10.665 319.562 + 11.388 c 321.227 12.138 321.766 13.536 321.766 17.122 c 321.766 18.431 +321.93 19.602 322.129 19.724 c 322.82 20.153 323.934 19.493 324.164 18.524 + c 324.293 17.989 324.52 17.388 324.672 17.188 c 325.281 16.384 326.793 +9.849 326.809 7.962 c 326.824 6.044 326.402 5.669 323.867 5.376 c 319.918 + 4.919 315.816 4.704 315.25 4.927 c h +121.473 6.602 m 120.414 9.708 120.145 12.118 120.258 17.368 c 120.383 22.977 + l 118.77 22.856 l 117.723 22.774 116.785 22.423 116.117 21.86 c 115.547 + 21.38 114.852 20.989 114.574 20.989 c 113.812 20.989 112.613 23.634 112.512 + 25.524 c 112.426 27.153 112.453 27.2 113.789 27.669 c 114.539 27.931 115.84 + 28.251 116.684 28.376 c 119.211 28.759 122.801 30.251 124.078 31.454 c +125.223 32.532 126.121 32.388 127.402 30.927 c 128.809 29.325 128.879 27.759 + 127.621 26.056 c 127.125 25.38 126.715 24.556 126.715 24.22 c 126.715 23.888 + 126.496 22.981 126.227 22.212 c 125.562 20.298 125.199 17.368 125.625 17.368 + c 125.812 17.368 126.469 17.86 127.078 18.454 c 128.398 19.743 129.973 +19.934 129.973 18.806 c 129.973 18.403 129.73 17.485 129.43 16.77 c 129.133 + 16.056 128.887 15.208 128.887 14.884 c 128.883 14.559 128.641 13.829 128.344 + 13.259 c 128.043 12.688 127.801 12.063 127.801 11.872 c 127.801 11.454 +124.668 7.247 123.875 6.602 c 123.57 6.356 122.941 6.153 122.473 6.153 c + 122.008 6.153 121.559 6.356 121.473 6.602 c h +181.875 7.872 m 180.062 12.13 179.805 13.708 180.109 18.638 c 180.562 25.884 + 180.512 26.438 179.473 25.903 c 178.559 25.434 177.449 24.755 176.965 24.364 + c 175.574 23.251 174.926 23.434 173.891 25.224 c 173.34 26.177 172.785 +27.04 172.66 27.141 c 172.535 27.239 172.246 27.856 172.023 28.513 c 171.676 + 29.528 171.715 29.798 172.289 30.372 c 172.656 30.743 173.668 31.153 174.535 + 31.282 c 176.316 31.552 179.082 32.575 183.066 34.442 c 183.906 34.833 +184.887 35.063 185.242 34.95 c 185.996 34.712 188.086 31.653 188.43 30.282 + c 188.625 29.513 188.434 29.122 187.406 28.149 c 186.711 27.497 185.949 + 26.583 185.719 26.126 c 185.199 25.11 184.73 16.278 185.195 16.298 c 185.91 + 16.325 187.492 18.048 189.113 20.559 c 190.293 22.388 191.008 23.165 191.426 + 23.079 c 192.348 22.888 192.082 19.411 190.965 16.966 c 190.09 15.056 188.59 + 12.298 188.234 11.942 c 187.844 11.552 186.426 9.427 186.426 9.231 c 186.426 + 9.118 185.91 8.462 185.281 7.77 c 183.727 6.063 182.633 6.095 181.875 7.872 + c h +57.926 8.548 m 57.348 9.239 56.527 11.497 56.52 12.403 c 56.512 13.173 +57.469 13.575 60.133 13.915 c 62.109 14.169 63.715 14.563 68.691 16.024 +c 72.648 17.184 72.555 17.036 72.473 22.192 c 72.441 24.384 72.375 24.599 + 71.895 24.118 c 71.594 23.817 71.352 23.489 71.352 23.384 c 71.352 23.024 + 67.984 19.54 67.637 19.54 c 66.953 19.54 63.852 22.997 63.441 24.216 c +63.102 25.216 63.125 25.606 63.551 26.259 c 64.004 26.95 64.391 27.063 66.266 + 27.044 c 67.816 27.028 68.645 27.196 69.113 27.626 c 69.48 27.954 69.945 + 28.227 70.145 28.227 c 70.348 28.227 70.789 28.528 71.125 28.899 c 71.664 + 29.493 71.707 30.165 71.488 34.52 c 71.184 40.575 71.41 41.255 73.719 41.255 + c 75.59 41.255 78.469 40.032 78.758 39.114 c 78.875 38.739 78.723 37.802 + 78.41 37.028 c 77.949 35.876 77.867 34.169 77.945 27.493 c 78.043 19.36 + l 78.926 19.458 l 79.414 19.513 79.855 19.602 79.91 19.657 c 80.43 20.177 + 81.168 25.462 81.637 32.024 c 82.121 38.794 82.473 41.677 83.508 47.29 +c 83.766 48.669 84.703 49.302 86.113 49.036 c 88.926 48.509 89.969 47.001 + 88.707 45.29 c 88.18 44.583 87.824 43.364 87.617 41.571 c 87.449 40.102 + 87.145 37.763 86.938 36.368 c 86.73 34.974 86.566 32.778 86.566 31.481 +c 86.57 29.13 l 87.5 30.216 l 89.414 32.446 89.805 32.942 89.805 33.114 +c 89.805 33.212 90.051 33.579 90.352 33.927 c 90.652 34.274 91.355 35.114 + 91.918 35.79 c 93.238 37.384 94.32 37.161 96.156 34.923 c 97.621 33.134 + 97.68 31.735 96.301 31.298 c 95.895 31.165 93.906 29.446 91.887 27.47 c + 89.871 25.493 87.613 23.595 86.875 23.247 c 85.812 22.751 85.5 22.38 85.395 + 21.481 c 85.316 20.856 85.316 20.165 85.391 19.942 c 85.551 19.462 93.125 + 19.423 95.594 19.891 c 96.492 20.063 97.84 20.321 98.59 20.462 c 99.645 + 20.665 100.113 20.579 100.66 20.087 c 102.062 18.817 103.727 14.122 103.496 + 12.095 c 103.383 11.095 103.289 11.04 101.746 11.079 c 100.852 11.102 98.902 + 11.548 97.418 12.075 c 94.828 12.989 94.406 13.028 87.285 13.016 c 82.078 + 13.005 79.203 12.845 77.684 12.477 c 76.488 12.188 74.68 11.95 73.668 11.946 + c 70.68 11.938 63.766 10.274 60.375 8.747 c 58.289 7.809 58.52 7.829 57.926 + 8.548 c h +11.016 28.677 m 10.027 30.2 10.016 30.266 10.125 35.462 c 10.184 38.349 + 10.039 42.02 9.805 43.622 c 9.43 46.177 9.449 46.677 9.977 47.692 c 10.434 + 48.583 10.805 48.845 11.559 48.825 c 13.102 48.782 15.043 47.958 15.441 + 47.177 c 15.754 46.567 15.988 46.513 17.168 46.794 c 18.238 47.048 18.73 + 46.985 19.465 46.505 c 20.871 45.583 20.414 44.153 17.934 41.712 c 16.324 + 40.126 15.863 39.415 15.711 38.278 c 15.52 36.849 l 16.566 37.825 l 18.434 + 39.563 20.707 40.962 21.301 40.735 c 21.746 40.563 21.824 40.177 21.656 + 38.95 c 21.469 37.587 20.539 35.29 19.953 34.739 c 19.844 34.641 19.398 + 34.091 18.957 33.516 c 16.648 30.509 13.129 27.149 12.281 27.141 c 12.133 + 27.141 11.562 27.833 11.016 28.677 c h +25.684 31.841 m 24.75 32.653 23.625 34.032 23.191 34.907 c 22.434 36.415 + 22.41 36.766 22.676 41.681 c 22.832 44.532 22.977 48.329 23 50.118 c 23.023 + 51.911 23.172 53.579 23.332 53.829 c 23.781 54.52 25.348 54.368 26.758 +53.497 c 28.023 52.712 l 27.809 49.903 l 27.59 47.091 l 28.754 47.481 l +29.395 47.692 30.172 48.091 30.488 48.36 c 31.309 49.067 32.543 48.966 32.98 + 48.153 c 33.574 47.04 33.41 44.423 32.695 43.606 c 31.887 42.681 29.879 + 41.255 29.387 41.255 c 29.18 41.255 29.012 41.11 29.012 40.934 c 29.012 + 40.759 28.523 40.415 27.926 40.169 c 26.965 39.77 26.84 39.544 26.844 38.224 + c 26.852 36.138 27.227 35.72 29.117 35.681 c 31.188 35.634 31.945 36.306 + 32.762 38.895 c 33.109 39.993 33.586 40.888 33.824 40.88 c 35.031 40.849 + 36.609 38.337 36.609 36.45 c 36.609 35.759 36.859 34.489 37.164 33.63 c + 37.688 32.141 37.676 32.028 36.973 31.321 c 36.32 30.665 35.703 30.567 +31.809 30.474 c 27.383 30.368 l h +296.914 34.356 m 294.777 35.325 294.484 36.071 294.785 39.774 c 295.031 + 42.79 295.594 44.161 296.578 44.141 c 296.945 44.134 298.684 41.708 300.68 + 38.423 c 301.555 36.985 301.719 35.466 301.125 34.352 c 300.637 33.446 +298.918 33.446 296.914 34.356 c h +124.816 38.591 m 122.375 39.829 l 122.375 42.13 l 122.375 45.54 123.875 + 48.489 125.613 48.489 c 126.07 48.489 126.535 48.13 126.781 47.587 c 127.008 + 47.087 127.332 46.681 127.496 46.681 c 127.664 46.681 127.801 46.438 127.801 + 46.138 c 127.801 45.841 127.934 45.595 128.098 45.595 c 128.418 45.595 +129.484 43.595 130.191 41.673 c 130.938 39.638 129.73 37.259 127.984 37.321 + c 127.586 37.337 126.16 37.907 124.816 38.591 c h +185.168 39.817 m 183 40.587 182.699 41.337 183.145 44.864 c 183.723 49.47 + 185.5 51.028 186.973 48.22 c 187.363 47.474 187.773 46.782 187.879 46.681 + c 189.934 44.794 191.742 41.169 191.312 39.813 c 191.113 39.184 190.789 + 39.091 189.023 39.13 c 187.895 39.157 186.16 39.466 185.168 39.817 c h +368.988 42.251 m 365.379 44.106 364.602 48.188 367.129 52.016 c 367.988 + 53.321 369.418 53.618 369.754 52.563 c 370.152 51.298 371.145 49.028 371.375 + 48.852 c 371.504 48.755 371.977 47.817 372.426 46.77 c 374.074 42.923 372.277 + 40.559 368.988 42.251 c h +368.988 42.251 m f +Q Q +showpage +%%Trailer +end restore +%%EOF diff --git a/Master/texmf-dist/doc/latex/hitszthesis/hitszthesis.pdf b/Master/texmf-dist/doc/latex/hitszthesis/hitszthesis.pdf Binary files differnew file mode 100644 index 00000000000..01ea746ab86 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/hitszthesis.pdf diff --git a/Master/texmf-dist/doc/latex/hitszthesis/latexmkrc b/Master/texmf-dist/doc/latex/hitszthesis/latexmkrc new file mode 100644 index 00000000000..3ba76129433 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/latexmkrc @@ -0,0 +1,23 @@ +# vim: set ft=perl: + +$pdf_mode = 5; + +$xelatex = "xelatex -file-line-error -halt-on-error -interaction=nonstopmode -no-pdf -synctex=1 %O %S"; +$xdvipdfmx = "xdvipdfmx -q -E -o %D %O %S"; + +$bibtex_use = 1.5; + +$clean_ext = "hd loe synctex.gz thm xdv"; + +$makeindex = "makeindex -s gind.ist %O -o %D %S"; +add_cus_dep('glo', 'gls', 0, 'glo2gls'); +sub glo2gls { + system("makeindex -s gglo.ist -o \"$_[0].gls\" \"$_[0].glo\""); +} +push @generated_exts, 'glo', 'gls'; + +add_cus_dep('nlo', 'nls', 0, 'nlo2nls'); +sub nlo2nls { + system("makeindex -s nomencl.ist -o \"$_[0].nls\" \"$_[0].nlo\""); +} +push @generated_exts, 'nlo', 'nls'; diff --git a/Master/texmf-dist/doc/latex/hitszthesis/main.pdf b/Master/texmf-dist/doc/latex/hitszthesis/main.pdf Binary files differnew file mode 100644 index 00000000000..96295c19201 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/main.pdf diff --git a/Master/texmf-dist/doc/latex/hitszthesis/main.tex b/Master/texmf-dist/doc/latex/hitszthesis/main.tex new file mode 100644 index 00000000000..466bc54b8ca --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/main.tex @@ -0,0 +1,670 @@ +%%============================================= +% !Mode:: "TeX:UTF-8" +% !TEX program = XeLaTeX +%%============================================= +% 模板名称:HITSZThesis +% 模板版本:V2.0 +% 模板作者:杨敬轩(Jingxuan Yang) +% 联系作者:yangjingxuan@stu.hit.edu.cn & yanglatex2e@gmail.com +% 模板交流:QQ群:1039392552,加群请备注LaTeX、HITSZThesis相关说明 +% 模板适用:哈尔滨工业大学(深圳)本科毕业设计(论文) +% 模板编译:XeLaTeX,编译两次,两次,两次!!! +% GNU make 工具:make thesis +% 更多编译细节详见说明文档:hitszthesis.pdf +% 更新时间:02/18/2020 +% 模板帮助:请**务必务必务必**阅读 hitszthesis.pdf 说明文档,文档查看方法: +% cmd 命令行:texdoc hitszthesis +% 推荐前往模板的GitHub仓库获取最新文件,地址: +% https://github.com/YangLaTeX/hitszthesis +%%============================================= + +% 设置文档类别为<hitszthesis> +\documentclass{hitszthesis} + +% 模板提供以下选项 +% 1. 封面标题单行或多行显示: +%% onerow(默认,单行),tworow(两行) +% 2. 封面第二页下划线内容居中或居左显示: +%% infocenter(默认,居中),infoleft(居左) +% 3. 正文数学字体选项: +%% newtxmath(默认,凑合),mtpro2(非常推荐) +%% 将 newtxmath 设置为默认数学字体仅为了避免同学未安装mtpro2字体 +%% 会产生的编译错误 +%% !mtpro2为非免费字体,CTAN禁止提供下载链接,需自行下载该字体 + +% 示例:两行,居左,mtpro2字体,将<\documentclass{hitszthesis}>注释, +% 且将下面语句取消注释 +%\documentclass[tworow, infoleft, mtpro2]{hitszthesis} + +% 自定义设置与额外加载的宏包请写在 \file{hitszthesis.sty} 里 +% 预设该文件为空 +\usepackage{hitszthesis} + +% 填写封面信息 +% 论文标题 +\thesistitle{基于神经网络的机器人智能抓取研究} +% 标题拆分为两行 +% 第一行标题 +\titleone{基于神经网络的} +% 第二行标题 +\titletwo{机器人智能抓取研究} +% 学校名称 +\schoolname{哈尔滨工业大学(深圳)} +% 学院名称 +\departname{机电工程与自动化学院} +% 专业 +\majorin{机械设计制造及其自动化} +% 姓名 +\authorname{杨敬轩} +% 学号 +\studentID{SZ160310217} +% 答辩日期 +\dateinput{2020年6月7日} +% 指导教师 +\instructor{XX 教授} + +%%============================================= +% 开始写文章 +% !!注意本文仅作为排版格式示例,并不作为毕业论文规范 +\begin{document} + +% 若题目过长,则需使用以下命令调整封面第二页下划线长度 +%\infowidth = 8cm + +% 生成封面两页 +\maketitle + +% 开始写前言部分 +\frontmatter + +% 开始写摘要 +\begin{abstract} + +近年来,基于神经网络方法的机器人智能抓取物体的研究方兴未艾。本文首先介绍了该研究的背景,采用神经网络的方法进行机器人智能抓取研究是一个可行的方案。 + +而后,本文总结归纳了神经网络在机器人智能抓取领域的研究历史与研究现状。由实值神经网络的三个里程碑意义的模型到复值神经网络的兴起,神经网络的模型得到了极大地扩展。基于深度学习的方法已经在机器人视觉识别领域取得了重大的成就,识别要抓取的物体图像以后,机器人的抓取策略也很有讲究。 + +本文还重点介绍了基于三种不同的神经网络方法进行的机器人智能抓取研究。首先是基于复值神经网络的方法,该方法包含离散、连续、多值三种模型,复值神经网络以其自然的复数处理能力,使得图像等常需频域处理的信号有了直接的表达和处理方式。 + +然后是基于轻量级卷积神经网络的方法,目前基于神经网络的机器人抓取位姿预测方法的研究使用的网络结构通常具有大量的参数,需要大量的计算和存储资源。基于 SqueezeNet 的轻量级卷积神经网络抓取预测模型在不降低准确率的情况下,网络模型更小,需要的存储资源更少,速度更快。 + +最后是基于级联卷积神经网络的方法,该方法提出一种抓取姿态细估计的卷积神经网络模型 Angle-Net,在此基础上,提出一种两阶段级联式抓取位姿检测模型。 + +% 中文关键词 +\keywords{轻量级;卷积神经网络;复值神经网络;级联神经网络;轻量级卷积神经网络;位姿检测模型} +\end{abstract} + +% 英文摘要 +\begin{abstracten} + +In recent years, the research of intelligent object grabbing by robots based on neural network method is in the ascendant. Firstly, this paper introduces the background of this research, and it is a feasible scheme to apply the neural network method to the intelligent grasping of robots. + +Then, this paper summarizes the research history and status quo of neural network in the field of robotic intelligent grasping. From the three milestone models of real-valued neural networks to the emergence of complex-valued neural networks, the model of neural networks has been greatly expanded. The method based on deep learning has made great achievements in the field of robot vision recognition. After recognizing the object image to be grasped, the strategy of robot grasping is also very exquisite. + +This paper also focuses on the intelligent grasping of robots based on three different neural network methods. Firstly, the method based on complex-valued neural network includes three models: discrete, continuous and multi-valued. Complex-valued neural network, with its natural complex processing ability, makes the signal which often needs to be processed in frequency domain, such as image, have a direct expression and processing mode. + +Then it is based on the method of lightweight convolution neural network. At present, the network structure used in the research of robot grasping pose prediction method based on neural network usually has a large number of parameters, which requires a lot of computing and storage resources. The grabbing prediction model of lightweight convolutional neural network based on SqueezeNet has smaller network model, less storage resources and faster speed without reducing accuracy. + +Finally, based on the method of cascade convolution neural network, a convolution neural network model Angle-Net for fine grabbing attitude estimation is proposed. On this basis, a two-stage cascade grabbing pose detection model is proposed. + +% 英文关键词 +\keywordsen{Lightweight, Convolutional Neural Network, Complex Neural Network, Two stage cascade grabbing pose detection model} +\end{abstracten} + +% 生成目录 +\tableofcontents + +% 开始写正文 +\mainmatter + +% 第1章的标题 +\chapter{绪论} + +% 正文内容,注意LaTeX分段有两种方法,直接空一行或者使用<\par> +% 默认首行缩进,不需要在代码编辑区手动敲空格 +随着社会发展,人口老龄化,劳动力短缺等问题逐渐凸显,对服务机器人的需求也越来越大,但是服务机器人所工作的非结构化环境也带来了许多技术难题,其中十分主要的一个问题就是非结构环境中机器人的自动抓取,因为抓取是机器人与现实世界交互的主要方式之一。不同于工业机器人在结构化环境中对工件的抓取,服务机器人在非结构化环境下的自动抓取面临着诸多挑战,例如动态化环境、光照变化、物体间存在相互遮挡,以及最主要的,非结构化环境中除了已知的物体,还有大量未知物体。对于非结构化环境中工作的服务机器人,预先获取所有需要进行抓取的物体的模型是不现实的,因此机器人必须能够对未知的物体在线进行快速稳定可靠的抓取规划。 + +为了解决上述问题,常用的一种做法就是使用机器学习方法来学习从传感器数据提取出的特征表达到抓取位姿的映射关系,相比于建立物体的模型库来保存抓取经验,机器学习方法可以在没见过的物体上进行抓取经验的迁移。在这个领域中,一些传统的方法通常借助于人工设计的特征来表示和存储抓取经验,并训练分类器,但人工设计的特征往往只针对于某一种特定物体或任务有效,且人工设计特征的工作量大难度高,很难在其他场景进行使用。 + +近年来,以卷积神经网络(Convolutional Neural Network, CNN)为代表的深度学习技术,在计算机视觉和机械设备健康监测等诸多领域取得了重大的突破,在一些领域中达到了超过人类的性能。卷积神经网络可以通过大量数据的训练挖掘出适合于当前任务的特征表达,由于通常卷积神经网络需要堆叠很多层来提高特征表达能力,因此参数较多,需要使用比传统机器学习算法更多的标注数据来进行训练,抑制过拟合提高算法的泛化能力。 + +在机器人抓取规划领域,使用卷积神经网络学习的特征取代人工设计的特征来对抓取进行表示和分类有很大的优势和应用前景。首先,相比于人工设计的特征,卷积神经网络通过大量数据的学习可以挖掘出泛化能力更强效果更好的特征,可以进一步提高抓取规划算法的性能,且省去了复杂的人工特征设计工作。其次,随着硬件计算力和仿真软件性能的提升,视觉传感器的普及,目前已有许多通过实验或者仿真收集的机器人抓取数据集可供使用。 + +综上,有了足够的数据以及合理设计的卷积神经网络结构就可以建立更高性能的自动抓取规划算法,进而提高服务机器人在非结构化环境的交互能力,提高其自主化和智能化程度,提高服务机器人的实用性和推进产业落地。因此,基于卷积神经网络的机器人自动抓取规划具有重要的研究价值,可以带来巨大的经济效益。 + +% 第2章的标题 +\chapter{文献综述} + +% 第2章第1节的标题 +\section{实值神经网络发展历程} + +% <\upcite{}>为在右上角引用参考文献命令 +% <\cite{}>为在正文中引用参考文献命令 +% 目前不支持[1-6]类型的引用,需手动填写<$^{[1\text{-}6]}$> + +人类利用人工神经网络对生物神经网络的结构、机理和功能模拟的研究,经历了近半 +个多世纪漫长而又曲折的过程。具有里程碑意义的是如下三个模型\upcite{bibc1,bibc2}。 + +1943年神经生理学家McCulloch和数学家Pitts提出的第一个人工神经网络模型: +McCulloch-Pitts模型\upcite{bibc3},成为神经网络研究的开端。1949年心理学家D.O.Hebb在文献\upcite{bibc4}中提出了神经元之间突触联系强度可以改变的假设,并据此提出了神经元学习的准则,为神经网络的学习算法奠定了基础。这些重大进展促进了神经网络早期的研究。 + +1958年Rosenblat将McCulloch和Pitts的工作与Hebb的工作结合在一起,设计出的 +一种称为感知机的神经网络模型\upcite{bibc5},首次把人工神经网络的研究从理论付诸工程实践,引起了许多科学家的兴趣。不过在1969年,人工智能创始人之一Minsky和Papert出版了以《感知机》为名的书\upcite{bibc6},书中从数学上深入分析了感知机的原理,指出了其局限性并从理论上对感知机的原理给予了沉重的打击,使得神经网络早期的研究热潮迅速降温,并开始陷入低潮和休眠状态。 + +% <\/>命令解决fi、ff等上边连接在一起的问题 +1982年和1984年美国加州理工大学的生物物理学家J.J.Hopf\/ield提出了Hopf\/ield神经网络\upcite{bibc7,bibc8}。Hopf\/ield神经网络模型的提出具有划时代的伟大意义,使得神经网络的研究从体眠的状态开始复苏。Hopf\/ield在文献\cite{bibc7,bibc8}中设计出用电子电路实现这一网络的方案,从而为神经计算机的研究奠定了基础。更为重要的是他把设计出的神经网络应用于联想记忆以及解决优化领域一直困扰的TSP问题,并取得了巨大的成功,这些重大进展大大促进了神经网络的研究。此外,他还通过引入类似于Lapunov函的“计算能量函数”的概念对网络的动力学特性进行了分析并给出了网络稳定性的条件,从而开启了神经网络稳定性研究。 + +% 节标题 +\section{复值神经网络的兴起} + +复值神经网络(Complex-valued Neural Network)是实值神经网络在复数域的推广。相比实值神经网络,复值神经网络的起步稍晚。其历史可追溯到1975年Widrow提出的复值最小均方(LMS)算法,该算法后来被广泛运用于信号处理领域\upcite{bibc9}。但正如复数的出现和被人认可经历了一个漫长的过程一样,复值神经网络在出现后的相当长时间,并未引起人们的重视。直至近几年来,随着神经网络应用领域的不断扩展,许多需要处理复数信号的领域也提出了用神经网络解决其相关问题的要求,例如量子力学、电磁学、光电子、图像、遥感、时间序列分析等。在这些领域中,基于复数信号的表示、分析和处理具有极大的便利,而复值神经网络则能直接处理复数信号,因而很自然地使二者联系在一起。事实上,在需要幅值和相位(或理解为大小和方向)两方面信息来表示同一信号的场合,运用复值神经网络较之实值神经网络,要更为直接。尽管可以用2个实值神经网络分别表达此类信号的大小和方向(或实部和虚部),但正如复数虽然只是两个实数按某种规则而连接,但依然有其独立于实数而存在的必要性一样,复值神经网络由于复数有实部和虚部,且复数运算规则的特殊性等原因,在其实现和运用过程中表现出一些实值神经网络所不具有特质,因此复值神经网络也不能简单地理解为可用2个实值神经网络所取代。而且在将神经网络从实数域到复数域的推广中,并不是像表面上理解的那样:仅是简单地将一个变量从实数变成复数。如果这样做的话,许多诸如奇异等意想不到的问题就有可能发生\upcite{bibc10}。 + +作为复值神经网络研究领域的先导者,日本的Akira Hirose教授总结了近年来复值神经网络的研究成果,并出版一本名为《复值神经网络的理论及应用》专著\upcite{bibc10}。书中总结了近年来复值神经网络理论的发展和应用情况。 + +% 节标题 +\section{抓取物体图像识别} + +近年来,基于深度学习的方法已经在包括视觉识别\upcite{bib1,bib2},语音识别和自然语言处理等任务上取得了重大成就。美国康奈尔大学 Lenz 等\upcite{bib3}借鉴深度学习在图像检测及图像识别等任务中的成功经验,提出了基于深度学习的机器人抓取检测的方法\upcite{bib3,bib4}。与传统的依靠人工经验抽取样本点特征的方式相比,基于深度学习的机器人抓取检测的方法可以自动学习如何识别和提取待抓取位置的特定特征。越来越多的机器人学者研究如何将深度学习的方法应用于机器人抓取检测上从而使机器人具备更强大的智能。大部分研究学者都是将深度学习的方法用来学习不同形状和位姿的物体的末端执行器的最佳配置,基于深度学习的深层表达能力学习的参数为每个图像预测多个抓取位置进行排序来找到最佳抓取位置。 + +基于深度学习的方法,Lenz 等\upcite{bib3}提出了基于稀疏自编码器的两步级联抓取检测系统,构建两个大小网络用于提取 RGB-D 输入数据的抓取特征,采用滑动窗的方法搜索抓取框,最后在网络顶层添加支持向量机(Support Vector Machine,SVM)作为分类器的网络结构。在标准康奈尔抓取数据集\upcite{bib6}上达到 73.9\%的检测准确率,耗时13.5s,由于采用类似于穷举法的搜索机制,需要在不同大小的图像块上使用分类器进行重复计算,计算量非常大,且十分耗时。 + +Redmon 等\upcite{bib7}认为采用滑动窗口的方法来预测抓取位置是一种非常耗时的方法,而且使用单阶段的网络性能优于 Lenz 等的级联系统。为了避免在不同大小的图像块上重复计算,他们利用卷积神经网络强大的特征提取能力将整个图像输入网络中,在整个图像上直接进行全局的抓取预测,目前大部分学者采用这种方案\upcite{bib5,bib8}。使用类似于 AlexNet\upcite{bib9}的卷积神经网络模型来实现单阶段的检测方法,以更快的速度达到了更高的检测精度,但是这种方法由于卷积神经网络结构的复杂性仍然存在模型较大的缺陷。 + +Kumra 等\upcite{bib4}也采用将整个图像输入卷积神经网络中进行全局的抓取预测,网络结构上,他们采用网络结构更复杂特征提取能力更强的ResNet50提取抓取特征\upcite{bib10},用 SVM 预测抓取配置的参数。精度上可以达到比较好的检测精度,但是由于模型采用层数较深的残差网络,导致网络模型和计算量都比较大。 + +Chu 等\upcite{bib5}提出了一种适合于多物体场景抓取模型,首先使用 ResNet50 对输入图像提取抓取特征,然后使用类似于 RPN 网络的模型进行抓取框的推荐,最后经 ROI Pooling 进行角度参数的分类和抓取框的回归。这种模型适用于多物体的抓取场景, 并且达到了较高的抓取检测准确率,由于模型较深且类似于级联系统导致模型较大。 + +% 节标题 +\section{机器人抓取策略} + +在机器人分拣、 搬运等抓取作业任务中,包括顶抓(top-grasp)和侧抓(side-grasp) 2 种方式的平面抓取(planar grasp)是最为常用的抓取策略。对于任意姿态的未知不规则物体,在光照不均、 背景复杂的场景下,如何利用低成本的单目相机实现快速可靠的机器人自主抓取姿态检测具有很大的挑战。 + +机器人自主抓取姿态规划方法根据感知信息的不同可分为 2 类:一类是基于物体模型的抓取姿态估计\upcite{bibb1,bibb2,bibb3},一类是不依赖物体模型的抓取姿态检测。基于模型的方法需要给定精确、 完整的物体 3 维模型,然而低成本相机的成像噪声大,很难扫描建立精确模型。另外,基于 3 维模型的方法计算复杂,难以适应机器人实时抓取判断的需求。 + +不依赖物体模型的方法借助于机器学习技术,其实质是将抓取位姿检测问题转化成目标识别问题。例如,文\cite{bibb4} 提出了一种用 2 维矢量矩形表示图像上物体抓取位姿的直观方法。机器学习方法的出现令抓取检测不局限于已知物体。早期的学习方法\upcite{bibb4} 需要人为针对特定物体设定特定的视觉特征,不具备灵活性。近年来,深度学习\upcite{bibb5} 发展迅速,其优越性正在于可自主提取与抓取位姿有关的特征。 + +% 章标题 +\chapter{典型神经网络案例分析} + +% 节标题 +\section{基于复值神经网络的机器人智能抓取} + +% 条标题 +\subsection{一类离散时间复值Hopf\/ield神经网络的分析与综合} + +% <$x$>为行内公式 +假设网络神经元的个数为$n$,其中第$i$个神经元的动态描述为: +% 行间公式环境,此公式环境有自动标号 +\begin{equation} +\left\{ +\begin{aligned} + u_i(k+1)&=\sum\limits_{j=1}^nT_{ij}V_{j}(k)+a_iu_i(k)+I_i\\ + V_i(k)&=g_i[u_i(k)]+\intab x\dif x +\end{aligned} +\right. +\end{equation} +其中$u_i(k)\in \mathbb{C},\ V_i(k)\in \mcc$和$I_i\in\mcc$分别为第$i$个神经元在$k$步的状态、输出和阈值,$T_{ij}\in\mcc$为第$j$个神经元到第$i$个神经元的连接权值,$a_i\in\mrr$是第$i$个神经元的动态时间常数,$g(\cdot)$为某种非线性复值函数,即$g_i:\ \mcc\rightarrow\mcc$。 + +若定义$\mathbf{u}=[u_1,\cdots,u_n]^T\in\mcc^n,\ \mathbf{ V}=[V_1,\cdots,V_n]^T\in\mcc^n,\ \mathbf{g}=[g_1,\ldots,g_n]^T\in\mcc^n\rightarrow\mcc^n,\ \mathbf{ T} +=[T_{ij}]\in\mcc^{n\times n},\ \mathbf{A}=\diag(a_i)\triangleq \diag(A_{ii}) +\in\mcc^{n\times n},\ \mathbf{ I}=[I_{i}]\in\mcc^{n}$,则系统动态可写成: +\begin{equation} +\left\{ +\begin{aligned} + \mathbf{u}(k+1)&=\mathbf{T}\cdot\mathbf{V}(k)+\mathbf{A}\mathbf{u}(k)+\mathbf{ I}\\ + \mathbf{V}(k)&=\mathbf{g}[\mathbf{u}(k)] +\end{aligned} +\right. +\end{equation} + +如果需要对公式的子公式进行编号,则使用\lstinline{subnumcases}环境: +\begin{lstlisting} +\begin{subnumcases}{\label{w} w\equiv} + 0 & $c = d = 0$\label{wzero}\\ + \sqrt{|c|}\,\sqrt{\frac{1 + \sqrt{1+(d/c)^2}}{2}} & $|c| \geq |d|$ \\ + \sqrt{|d|}\,\sqrt{\frac{|c/d| + \sqrt{1+(c/d)^2}}{2}} & $|c| < |d|$ +\end{subnumcases} +\end{lstlisting} +上述代码输出如下: +\begin{subnumcases}{\label{w} w\equiv} +0 & $c = d = 0$\label{wzero}\\ +\sqrt{|c|}\,\sqrt{\frac{1 + \sqrt{1+(d/c)^2}}{2}} & $|c| \geq |d|$ \\ +\sqrt{|d|}\,\sqrt{\frac{|c/d| + \sqrt{1+(c/d)^2}}{2}} & $|c| < |d|$ +\end{subnumcases} + +\equref{w}中,\lstinline{label:w}为整个公式的编号,\lstinline{label:wzero}为子公式的编号。 + +% 条标题 +\subsection{一类连续复值 Hopf\/ield 神经网络} + +考虑一类复值Hopf\/ield神经网络,该网络具有$n$个神经元,其动态描述如下: +\begin{equation} +\left\{ +\begin{aligned} + \frac{\dif u_i(t)}{\dif t}&=-c_iu_i(t)+\sum\limits_{j=1}^na_{ij}V_{j}(t)+I_i\\ + V_i(t)&=f_i[u_i(t)] +\end{aligned} +\right. +\end{equation} + +其中$u_i(t)\in \mathbb{C},\ V_i(t)\in \mcc$和$I_i\in\mcc$分别为第$i$个神经元在时刻$t$的状态、输出和阈值,$a_{ij}\in\mcc$为第$j$个神经元到第$i$个神经元的连接权值,$c_i>0$是第$i$个神经元的动态时间常数,$f(\cdot)$为某种非线性复值函数,即$f_i:\ \mcc\rightarrow\mcc$。 + +\subsection{一种具有多值状态的复值 Hopf\/ield 神经网络模型} +具有多值状态的复值 Hopf\/ield 神经网络是传统的二值Hopf\/ield 神经网络在复数域的扩展。该网络具有$n$个神经元,单层全连接结构,每个神经元具有复平面单位圆上的$K$种状态,即若表示第$l$个神经元在第$k$步迭代中的状态为$x_l(k)$,则: +\begin{equation} +x_l(k)=\exp[{i\theta_K\cdot l(k)}],\ \theta_K=\frac{2\pi}{K},\ l(k)=0,\ 1,\ \cdots,\ K-1 +\end{equation} + + \figref{figmulti}给出了状态种类 $K=8$时的神经元状态取值示例,其中状态种类数$K$平分复平面单位圆为$K$等分。当记第$j$个神经元到第$l$个神经元的连接权值为$w_{lj}$时,第$l$神经元在第$k$步迭代后的输出为: +\begin{equation} +y_l(k) = \csign_K\left(\sum\limits_{j=1}^n w_{lj}\cdot x_j(k)\right) +% 公式标签,可用<\eqref{}>引用 +\label{eqiter} +\end{equation} +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.5\textwidth]{figmutihopcomplex.png} + \caption{复值神经元状态$(K=8)$及状态转移规则} + % 图片标签,可用<\figref{}>引用 + \label{figmulti} +\end{figure} + +其中激活函数$\csign(\cdot)$定义如下: +\begin{equation} +\csign(u)= +\left\{ +\begin{array}{cc} + e^{i0},&0\ls\arg[u\cdot\exp(i\pi/K)]<\frac{2\pi}{K}\\ + e^{i\frac{2\pi}{K}},&\frac{2\pi}{K}\ls\arg[u\cdot\exp(i\pi/K)]<\frac{4\pi}{K}\\ + \vdots&\vdots\\ + e^{i\frac{2\pi}{K}(K-1)},&(K-1)\frac{2\pi}{K} + \ls\arg[u\cdot\exp(i\pi/K)]<2\pi\\ +\end{array} +\right. +\end{equation} + +可见,激活函数$\csign(\cdot)$实际上可理解为一种复数域上定义的signum函数,它将神经元状态的加权和映射到了复平面单位圆上最接近该加权和的量化点上,其间加权和幅值固定映射成了1。相应的状态转移过程如\figref{figmulti}所示。 + +从激活函数的定义还可以看出,这种网络是一种全连接回归,且由于神经元的状态有$K$种$(K\gs2)$,因此可将该网络看作传统的二值Hopf\/ield神经网络在复数多值域中的扩展。于是,沿袭Hopf\/ield网络的状态更新方式,该类网络的状态更新也可分同步和异步两种: + +异步方式:网络中的神经元状态等概率地依\equref{eqiter}进行更新,一次只更新一个神经元状态; + +同步方式:网络的每次迭代中,所有神经元状态同时被更新,即依照下式更新:\begin{equation} +{\mathbf{ X}}(k+1)=\mathbf{ Y}(k)=\csign[\mathbf{ W }\cdot\mathbf{ X }(k)] +\end{equation} +其中$\mathbf{ X}(k)$为神经元状态$x(k)$组成的列向量,$\mathbf{ W}=(w_{kj})$为整个网络的连接权矩阵。 + +% 节标题 +\section{基于轻量级卷积神经网络的机器人智能抓取} + +% 条标题 +\subsection{机器人抓取检测的问题描述} + +目前基于神经网络的机器人抓取位姿预测方法的研究主要集中在结合基础分类网络如 AlexNet、ResNet 等提高抓取检测准确性上,这些网络最初是为复杂的分类任务和海量数据的特点而设计的,网络结构通常具有大量的参数,需要大量的计算和存储资源。针对上述深度学习抓取检测方法的不足,文献\cite{bib:one}提出了基于 SqueezeNet 的轻量级卷积神经网络抓取预测模型,在不降低准确率的情况下,该网络模型更小,需要的存储资源更少,速度更快,更适合于移动机器人平台中。 类似的设计轻量级模型的工作如\cite{bib11}。 + +如\figref{figless1}所示的抓取位姿预测问题与如\figref{figless2}所示普通检测问题的区别在于:抓取位姿预测问题不只是在最佳抓取位置处预测出类似于普通检测问题形式的回归框,还要预测出最佳抓取位姿$(x,\ y,\ h,\ w,\ \theta)$。 + +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.4\textwidth]{less1.jpg} + \caption{五维抓取表示} + \label{figless1} +\end{figure} +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.3\textwidth]{less2.jpg} + \caption{普通检测表示} + \label{figless2} +\end{figure} + +机器人抓取位姿检测问题可以被表述为对于给定对象的图像$I$找到最佳抓取位姿$g$。\figref{figless1}显示了一个五维抓取表示\upcite{bib3},以便对物体的潜在的最佳抓取位姿进行表示,五维抓取位姿$g$可以表示为\equref{eqgrasp}: +\begin{equation} +g=f(x,y,h,w,\theta) +\label{eqgrasp} +\end{equation} + +其中$(x,\ y)$是与抓取矩形的中心对应的坐标,$h$是平行板的高度,$w$是平行板之间的最大距离,$\theta$是抓取矩形相对于水平轴的取向。蓝线$h$表示二指机器人手爪的平行板,红线$w$对应于抓取之前手爪的平行板之间的距离,该五维抓取表示给出了在对物体执行抓取时平行板夹具的位置和方向。Lenz 等表明一个最佳的五维抓取表示可以被映射回一个可以被机器人用来执行抓取的七维抓取表示,还可以降低计算成本。 + +% 条标题 +\subsection{多模态轻量级抓取检测模型架构} + +与以前的方法\upcite{bib3,bib4,bib5}相比,文献\cite{bib:one}使用一个小型轻量级的卷积神经网络架构 SqueezeNet-RM(SqueezeNet Regression Model),该架构结合 SqueezeNet\upcite{bib12}参数少的优点和 DenseNet\upcite{bib13}多旁路连接加强特征复用的思想能提升抓取检测准确率的优点,在康奈尔抓取数据集检测任务上,在保证准确率不降低的情况下,网络模型更小,所需存储空间更少,模型速度更快。 + +如\figref{figflowchart}所示,整体架构的思想是在 SqueezeNet 网络模型中引入 DenseNet 增加旁路加强特征复用的思想,conv1 和 conv10 之后加入 Batch Normalization,并在最后一层后面添加一个全连接层。全连接层有六个输出神经元对应抓取矩形框的坐标,四个神经元对应位置和高度,抓取角度使用两个附加的参数化坐标:正弦和余弦的两倍角。网络直接从原始图像回归出抓取位姿$(x,y,h,w,\theta)$。 + +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.4\textwidth]{flowchart} + \caption{SqueezeNet-RM 网络模型} + \label{figflowchart} +\end{figure} + +% 条标题 +\subsection{SqueezeNet轻量级卷积神经网络架构} + +如\figref{figflowchart}, SqueezeNet-RM 网络模型以一个独立的卷积层 conv1 为开端,相邻的是 8 个 f\/ire 模块,之后加一个独立的卷积层 conv10,最后以一个最终的全连接层结束。在层 conv1,f\/ire4,f\/ire8 和 conv10 之后使用步长为 2 的 max-pooling、f\/ire2、f\/ire4、f\/ire6 分别向后面的每一层引出旁路连接,这些相对较后的 pooling 和旁路连接有助于提高检测精度。 + +类似于 Inception\upcite{bib14}和 DenseNet\upcite{bib15}的模块化思想,SqueezeNet 神经网络采用了模块化的设计思想,它的基础模块称为 f\/ire 模块,如\figref{figfire}所示: f\/ire 模块含两部分:squeeze 层和 expand 层。首先使用$1\times1$的卷积操作对输入特征图进行压缩,其卷积核数要少于上一层 feature map 数,输出特征图的数量可以远比输入特征图的数量少,这是 squeeze层的设计。然后,采用不同大小的卷积核$1\times1$和$3\times3$进行卷积操作,将这些卷积操作的输出特征图 concat 起来,这是 expand 层操作,最终将特征图的数量提升上去。将上述 f\/ire 模块堆叠, 得到 SqueezeNet 网络。 + +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.6\textwidth]{less3} + \caption{f\/ire模块} + \label{figfire} +\end{figure} + +SqueezeNet 通过 f\/ire 模块和自身优化结构,采用了以下几种常用的策略实现参数的减少。策略 1: 使用$1\times1$过滤器替换$3\times3$过滤器,因为$1\times1$滤波器具有比$3\times3$滤波器少9倍的参数,见\figref{figfire}中 Squeeze 层。策略 2:使用 Squeeze 层将输入到$3\times3$过滤器的通道的数量减少。具体而言,对于一个完全由$3\times3$滤波器组成的卷积层,该层中的参数的总量是(输入通道的数量)$\times$(滤波器的数量)$\times3\times3$,因此,为了在 CNN 中保持小的参数总数,在采用策略1的同时还要减少$3\times3$滤波器的输入通道的数量。策略 3:延迟降采样, 以使卷积层具有大的激活图,见\figref{figflowchart}中的 Maxpool 位置,大的激活图(通过延迟降采样)可以获得更高的检测精度,有助于提高任务的准确性\upcite{bib16}。策略1和2在试图保持准确性的同时减少CNN中的参数的数量,策略3是在有限的参数运算量上最大化精度。 + +文献\cite{bib:one}采用在ImageNet分类问题上表现最佳的SqueezeNet (Simple Bypass Conection) 架构\upcite{bib12}。 SqueezeNet是一个全卷积网络,在f\/ire9 层之后添加了一个随机失活层dropout\upcite{bib17},以避免过拟合,在 SqueezeNet 网络的最后一层添加一个全连接层Fully Connected Layer (FC层) 作为输出层。 + +% 节标题 +\section{基于级联卷积神经网络的机器人智能抓取} + +% 条标题 +\subsection{机器人抓取检测的问题} + +机器人抓取检测问题包括 2 个部分:抓取位置确定和抓取姿态估计。传统的位置检测方法根据二值化的图像计算物体重心作为抓取位置,但是可抓取位置不在重心处的物体甚多。通常采用滑动窗口法\upcite{bibb6,bibb7} 解决抓取点不在重心上的问题,但此方法以遍历搜索获得最优解,时间代价大。文\cite{bibb8} 对此作出了改进,通过缩小搜索区域范围并减少搜索窗旋转次数来实现时间的优化。Pinto 等人\upcite{bibb9}尝试用随机采样法缩短定位时间,但检测结果因依赖采样位置而表现不稳定,且计算时间减少的成效不明显。 在抓取姿态估计方面,文\cite{bibb7,bibb10}将最优搜索窗的旋转角度作为抓取角度,文\cite{bibb9} 率先以旋转角度为标签将抓取检测感知部分当作分类问题解决,但这些属于粗估计方法,低精度的抓取角度可导致机器人在实际抓取时因受力点错误而抓取失败。因此,减少抓取定位时间消耗和提升姿态估计精度是机器人在线抓取检测时亟待解决的 2 个问题。 + +深度神经网络用于机器人抓取位姿检测的另一个问题是,已有公开模型如文\cite{bibb7}和文\cite{bibb11}所提出的模型等都是在封闭大数据集上训练所得,通常需要随机器人部署而扩展关于实际特定抓取对象的小样本数据集。迁移学习为特定任务小样本集下深度网络模型训练提供了方法。自建的数据集规模虽小,但能够在已经过百万级封闭数据集训练并具有基本特征提取能力的模型上微调训练,令在特定小样本集下训练的模型仍具有卓越的性能。这样不仅能缩短训练周期,还可提升整个系统的拓展性。 + +文献\cite{bib:three}针对任意姿态的未知不规则物体,提出一种适于顶抓策略的平面抓取位姿快速检测方法,其主要研究内容及贡献包括: + +% enumerate,有序列表环境 +% fullwidth,正文不缩进 +% label,设置编号格式,可选:\Alph \alph \Roman \roman 或 \arabic +% itemindent,编号缩进量 +\begin{enumerate}[fullwidth, label=(\arabic*), itemindent=2em] +\item 提出一种抓取姿态细估计的卷积神经网络模型 Anlge-Net。 + +\item 在此基础上,提出一种两阶段级联式抓取位姿检测模型。模型第 1 阶段先以基于区域的全卷积网络\upcite{bibb12}为基础提取少量且可靠的候选抓取位置, 再对候选结果筛选排序确定最优抓取位置,以此加快检测速度;第 2 阶段为 Angle-Net 在前一阶段输出的局部位置图像下计算抓取角度。 相比于文\cite{bibb9}的方法,直接计算的抓取角度误差更小,抓取检测精度得以提升。 +\end{enumerate} + +% 条标题 +\subsection{机器人抓取问题描述} + +机器人平面抓取作业任务如\figref{figgrasp}所示。机器人视觉系统分析给定抓取场景的彩色图像,推断出顶抓策略下的目标物体最优抓取位姿。 + +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.6\textwidth]{3grasp} + \caption{机器人抓取作业任务示例} + \label{figgrasp} +\end{figure} + +为使抓取检测结果与机器人末端执行器位姿对应,图像中抓取位姿检测结果采用基于文\cite{bibb4}方法简化得到的“点线法”表示,如\figref{figgrasp}中的采集图像部分所示,圆点为抓取位置的中心点,图像坐标系下记作$(u, v)$,对应机器人末端执行器两指连线的中点;短实线对应机器人末端执行器的两指连线,抓取角度$\theta$为该线顺时针旋转时与图像坐标系下$X$轴正方向的夹角,对应机器人末端执行器绕机器人 基坐标系$Z$轴旋转的角度。考虑到抓取角度的对称性,设$\theta\in [0, 180)$。线长$l$对应机器人末端执行器尝试抓取时的两指开度。 + +针对上述研究目标和相关定义,机器人抓取检测问题可描述如下:$t$时刻机器人获取目标的$n$维度特征序列$X (t) = (x_1(t), x_2(t),\cdots, x_n(t))$,有 +\begin{equation} +G(u(t), v(t), \theta(t), l(t)) = F(X (t)) +\end{equation} + +其中,$F$为级联机器人平面抓取位姿检测模型,$G$为“点线法”表示的抓取检测结果。 + +% 条标题 +\subsection{R-FCN与Angle-Net级联的抓取检测器} + +抓取位姿检测任务包括抓取点确定和抓取姿态估计 2 个阶段。采取由粗到细的方式,针对各部分任务设计对应的卷积神经网络,并将网络级联成最终的检测模型。 + +模型结构如\figref{figpoe}所示,第 1 个阶段可视作定位与分类问题,以 R-FCN 为基础实现抓取定位以及抓取角度的粗估计;第 2 个阶段转换成回归问题,通过构造 Angle-Net 模型实现抓取角度的精细估计。 + +\begin{figure}[!htbp] + \centering + \includegraphics[width=\textwidth]{3posoreest} + \caption{抓取位姿检测模型结构} + \label{figpoe} +\end{figure} + +针对目标检测问题已提出了许多优秀的深度学习模型,根据文\upcite{bibb14}的研究,基于区域的全卷积网络(R-FCN)兼具优秀的检测速度和准确率。故本文选用 R-FCN 实现图像中候选抓取位置的提取, 可抓取位置在图像上由边界框(bounding-box)标出,抓取点即为边界框中心点.为实现抓取角度的 粗估计,以抓取角度$\theta$为分类标签,共计 4 类:$0\degree,\ 45\degree,\ 90\degree,\ 135\degree$。为在提高检测速度的同时尽量降低对检测结果的影响,抓取位置候选框定为 300 个。 R-FCN 模型输入为任意尺寸的包含目标物体的场景图像,输出为候选框及其对应的可靠性分数,通过筛选和排序确定在工作区域内分数最高的抓取位置。 + +深度网络目标检测模型根据感兴趣区域(RoI)池化层分为两大类:一类是共享计算的全卷积子网络模型,如 R-CNN\upcite{bibb15}、 快速 R-CNN\upcite{bibb16}、 更快 R-CNN \upcite{bibb17};另一类为不共享计算的作用于各自 RoI 的子网络模型,如 SSD (single shot multibox detector)\upcite{bibb18}、YOLO (you only look once) \upcite{bibb19}。R-FCN 基于 R-CNN 的框架,即先进行区域建议再进行区域分类的策略,为了使检测能对目标的平移做出准确 响应,采用全卷积网络(FCN),用专门的卷积层构建位置敏感分数图 (position-sensitive score map)。每个空间敏感地图对 RoI 的相对空间位置信息进行编码,并在 FCN 上面增加 1 个位置敏感的RoI池化层来监管这些分数图。R-FCN 的结构如\figref{figrfcn}所示。 + +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.6\textwidth]{3rfcn} + \caption{R-FCN 模型结构} + \label{figrfcn} +\end{figure} + +设待检测类别共有$c$类,在机器人抓取检测模型中$c = 4$。R-FCN 结构中的基础卷积网络基于残差网络(ResNet)\upcite{bibb20},采用 ResNet 的前 100 层并在其最后接一个$1\times1\times1024$的全卷积层。基础卷积网络用于特征提取并输出特征图。区域建议网络沿用更快R-CNN中的区域建议网络(region proposal network,RPN)\upcite{bibb17}网络,生成多个 RoI,即抓取位置候选区域,每个 RoI 被分成$k\times k$块。$k^2$位置敏感分数图作为 R-FCN 中的最后一层卷积层,其功能是输出用于分类的结果。R-FCN 中对RoI 的$(i, j)$块$(0\ls i, j\ls k-1)$进行位置敏感的池化操作,定义为\equref{eqrcijt}: +\begin{equation} +r_c(i,j\mid\theta)=\sum_{(x,y)\in(i,j)}\frac{z_{i,j,c}(x+x_0,\ y+y_0|\Theta)}{n} +\label{eqrcijt} +\end{equation} + +其中,$r_c(i,j\mid\theta)$表示$ (i, j) $块对第$ C $类的池化响应;$z_{i,j,c}$是 $k^2(4 + 1)$分数图中的一个,$(x_0, y_0)$ 表示 RoI 的左上角;$n$表示的是每一块当中的像素值,$\Theta$为待学习参数。 + +池化操作后输出$k^2$个位置敏感的分数图,利用\equref{eqrc}和\equref{eqsc}得到每一类最终的分数,用于计算损失。 +\begin{equation} +r_c(\Theta)=\sum_{i,j}r_c(i,j\mid\theta) +\label{eqrc} +\end{equation} +\begin{equation} +s_c(\Theta)=\dfrac{\exp[{r_c(\Theta)}]}{\sum\limits_{c'=0}^C\exp[{r_{c'}(\Theta)}]} +\label{eqsc} +\end{equation} + +用模型直接输出角度值替代角度分类标签值可实现更高精度的抓取姿态估计,故构建姿态细估计模型 Angle-Net,结构如\figref{figangle}所示。 + +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.6\textwidth]{3angle} + \caption{Angle-Net 结构} + \label{figangle} +\end{figure} + +Angle-Net 由 4 个卷积层和 2 个全连接层组成。卷积层的卷积核个数分别为 16、 32、 64、 128,全连接层的神经元个数均为 4096。 损失函数(loss function)作为模型预测值与真实值差异程度的估量函数,决定了模型训练的收敛速度和最终效果。 Angle-Net 的损失函数采用L1范数函数,为防止过拟合,在损失函数的基础上加上正则化项,定义如\equref{eqnor}: +\begin{equation} +L=\frac{1}{N}\left(\Big|\theta'-\theta_0\Big|+\sum\limits_i^n\lambda\omega_i^2\right) +\label{eqnor} +\end{equation} +其中,$\theta_0$为期望的抓取角度,$\lambda$为正则化项,$\omega_i$为模型权值参数。 + +\subsubsection{四级标题示例} + +% 条标题 +\section{表格绘制示例} + +表格按规定为五号字,引用表格示例:\tabref{symbol}. + +% 第一列不用填写,自动编号的三线表 +% 设置表格第一列计数器归零 +\setcounter{rowno}{0} +\begin{center} +\renewcommand{\arraystretch}{1.25} +\begin{table}[H] +\centering %居中 +\setlength{\abovecaptionskip}{0pt} +\setlength{\belowcaptionskip}{0pt} +\caption{符号说明}\label{symbol} +\begin{tabular}{>{\stepcounter{rowno}\therowno}ccl} + \toprule[1.5pt] +\multicolumn{1}{c}{序号}& \makebox[0.2\textwidth][c]{符号} & \makebox[0.4\textwidth][c]{意义} \\ \midrule + &$CNCi\#$&编号为$i$的CNC, $i=1,2,\cdots,8$\\ + &$t_{mj}$ & RGV移动$j$个单位所需时间, $j=0,1,2,3$ \\ + &$t_{cnc}$ & CNC加工完成一道工序的物料所需时间 \\ + &$t_{cnc1}$ & CNC加工完成第一道工序所需时间 \\ + &$t_{cnc2}$ & CNC加工完成第二道工序所需时间 \\ +\bottomrule[1.5pt] +\end{tabular} +\end{table} +\end{center} + +定义定理等环境示例:模板支持以下环境:definition、theorem、proposition、corollary、lemma、remark、exam、exer、note、proof、assumption、conclusion、solution,第二对\{\}内的内容为此定理的label,可以用此label引用,定理\ref{thm:sin}如下。 +\begin{theorem}{正弦定理}{thm:sin} +\begin{equation} +\frac{a}{\sin A}=\frac{b}{\sin B}=\frac{c}{\sin C} +\end{equation} +\vspace{0.01cm} +\end{theorem} +% 证明环境 +\begin{proof} +以下是一段无意义文字:\lipsum[5] +\end{proof} + +% 结论 +\chapter*{结\quad 论} +\addcontentsline{toc}{chapter}{结\quad 论} + +学位论文的结论作为论文正文的最后一章单独排写,但不加章标题序号。结论是对整个论文主要成果的总结。在结论中应明确指出本研究内容的创新性成果或创新点(含新见解、新观点),并指出今后进一步在本研究方向进行研究工作的展望与设想,上述各项用(1).(2). $\cdots$表述,不要将结论写成论文的摘要。结论字数一般在2000字以内。 + +% 参考文献 +% 文献个数小于99 +\begin{thebibliography}{99} +\addcontentsline{toc}{chapter}{参考文献} + +% 每条参考文献均需用<\bibitem{}>引出, +% 花括号里的内容为此条参考文献的标签label, +% 可用<\upcite{}>和<\cite{}>引用。 + +\bibitem{bibc1} 焦李成.神经网络系统理论[M].西安:西安电子科技大学出版社,1991. +\bibitem{bibc2} 何玉彬,李新忠.神经网络控制及其应用[M].北京:科学出版社,2000. +\bibitem{bibc3} McCulloch W S, Pitts W A. A logical calculus of the ideas immanent in nervous activity[J]. Bulletin of Mathematical Biophysics, 1943, 5: 115-133. +\bibitem{bibc4} Hebb D O. The Organization of Behaviour [M]. New York, John Wiley\&Sons Inc., 1949. +\bibitem{bibc5} Rosenblatt. The perception: a probabilistic model for information storage and organization in the brain [J]. Psychology Review, 1958, 65: 386-408. +\bibitem{bibc6} Minsky M, Papert S. Perceptron [M]. Cambridge, MA: MIT Press, 1969. +\bibitem{bibc7} Hopf\/ield J J. Neural networks and physical systems with emergent collective computational abilities[C]. Proceeding of the National Academy of Science. USA (Biophysics), 1982, 79: 2554-2558. +\bibitem{bibc8} Hopf\/ield J J. Neurons with graded response have collective computational properties like those of two-state neurons[C]. Proceedins of the National Academy of Science, USA(Biophysics), 1984, 81:3088-3092. +\bibitem{bibc9} Widrow B, McCool J, Ball M. The complex LMS algorithm [C]. Proc. IEEE, 1975, 63(4):719-720 +\bibitem{bibc10} Hirose A. Complex-valued neural networks: theories and applications [M]. World Scientif\/ic Series on Innovation Intelligence, vol 5, Singapore: World Scientif\/ic Publishing Co. Pte. Ltd. 2003 + +\bibitem{bib1} 谢林江, 季桂树, 彭清, 等. 改进的卷积神经网络在行人检测中的应用[J]. 计算机科学与探索, 2018, 12(5):708-718. +\bibitem{bib2}王耀玮, 唐伦, 刘云龙, 等. 基于多任务卷积神经网络的车辆多属性识别[J]. 计算机工程与应用, 2018, 54(8):21-27. +\bibitem{bib3} Lenz I, Lee H, Saxena A. Deep learning for detecting robotic grasps[J]. The International Journal of Robotics Research, 2015, 34(4-5):705-724. +\bibitem{bib4} Kumra S, Kanan C. Robotic grasp detection using deep convolutional neural networks[C]//2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2017: 769-776. +\bibitem{bib5} Chu F J, Xu R, Vela P A. Real-world multiobject, multigrasp detection[J]. IEEE Robotics and Automation Letters, 2018, 3(4): 3355-3362. +\bibitem{bib6} Robot Learning Lab: Learning to Grasp[EB/OL].(2009) [2019-03-12]. +\bibitem{bib7} Redmon J, Angelova A. Real-time grasp detection using convolutional neural networks[C]//2015 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2015: 1316-1322. +\bibitem{bib8} Ni P, Zhang W, Bai W, et al. A New Approach Based on Two-stream CNNs for Novel Objects Grasping in Clutter[J]. Journal of Intelligent \& Robotic Systems, 2018(2):1-17. +\bibitem{bib9} Krizhevsky A, Sutskever I, Hinton G E. Imagenet classif\/ication with deep convolutional neural networks[C]// Advances in neural information processing systems. 2012: 1097-1105. +\bibitem{bib10} He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778. + +\bibitem{bibb1} Dogar M, Hsiao K, Ciocarlie M, et al. Physics-based grasp planning through clutter[C]//Robotics: Science and Systems VIII. Cambridge, USA: MIT Press, 2012: 8pp. +\bibitem{bibb2} Goldfeder C, Ciocarlie M, Dang H, et al. The Columbia grasp database[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2009: 1710-1716. +\bibitem{bibb3} Weisz J, Allen P K. Pose error robust grasping from contact wrench space metrics[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2012: 557- 562. +\bibitem{bibb4} Jiang Y, Moseson S, Saxena A. Eff\/icient grasping from RGB-D images: Learning using a new rectangle representation[C]// IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE,2011: 3304-3311. +\bibitem{bibb5} Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504-507. + +\bibitem{bib11} Qiang Z, Li Z, Li J, et al. Vehicle color recognition using +Multiple-Layer Feature Representations of lightweight convolutional neural network[J]. Signal Processing, 2018, 147: 146-153. + + \bibitem{bib:one} 马倩倩,李晓娟,施智平.轻量级卷积神经网络的机器人抓取检测研究[J/OL].计算机工程与应用:1-11[2019-04-09]. + + \bibitem{bib12} Iandola F N, Han S, Moskewicz M W, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< +0.5 MB model size[J].2016. + + \bibitem{bib13} Huang G, Liu Z, Van Der Maaten L, et al. Densely connected convolutional networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition, 2017: 4700-4708. + + \bibitem{bib14} Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]// Proceedings of the IEEE conference on computer vision and pat- tern recognition. 2016: 2818-2826. + \bibitem{bib15} Huang G, Liu Z, Van Der Maaten L, et al. Densely connected convolutional networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4700-4708. + \bibitem{bib16} He K, Sun J. Convolutional neural networks at con-strained time cost[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 5353-5360. + \bibitem{bib17} Srivastava N, Hinton G, Krizhevsky A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. The Journal of Machine Learning Research, 2014, 15(1): 1929-1958. + +\bibitem{bibb6} 仲训杲,徐敏,仲训昱,等.基于多模特征深度学习的机器人抓取判别方法 [J].自动化学报,2016,42(7):1022- 1029. +\bibitem{bibb7} Lenz I, Lee H, Saxena A. Deep learning for detecting robotic grasps[J]. International Journal of Robotics Research, 2015, 34(4/5): 705-724. +\bibitem{bibb8} 杜学丹,蔡莹皓,鲁涛,等.一种基于深度学习的机械臂抓取方法 [J].机器人,2017,39(6):820-828,837. +\bibitem{bibb9} Pinto L, Gupta A. Supersizing self-supervision: Learning to grasp from 50k tries and 700 robot hours[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2016: 3406-3413. +\bibitem{bibb10} Guo D, Sun F C, Liu H P, et al. A hybrid deep architecture for robotic grasp detection[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2017: 1609-1614. +\bibitem{bibb11} 刘义军.基于 FPGA 的线结构光视觉测量系统研究 [D]. 长 春:吉林大学,2017:23-49. + + \bibitem{bib:three} 夏晶,钱堃,马旭东,刘环.基于级联卷积神经网络的机器人平面抓取位姿快速检测[J].机器人,2018,40(06):794-802. + +\bibitem{bibb12} 邹媛媛,赵明扬,张雷.基于量块的线结构光视觉传感器直接标定方法 [J]. 中国激光,2014,41(11):189-194. +\bibitem{bibb13} 卢津,孙惠斌,常智勇.新型正交消隐点的摄像机标定方法 [J]. 中国激光,2014,41(2):294-302. + +\bibitem{bibb14} Huang J, Rathod V, Sun C, et al. Speed/accuracy trade-offs for modern convolutional object detectors[A/OL]. (2017-04-25) [2017-12-07]. +\bibitem{bibb15} Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2014: 580-587. +\bibitem{bibb16} Girshick R. Fast R-CNN[C]//IEEE International Conference on Computer Vision. Piscataway, USA: IEEE, 2015: 1440-1448. +\bibitem{bibb17} Ren S Q, He K M, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[M]// Advances in Neural Information Processing Systems 28. Cam- bridge, USA: MIT Press, 2015: 91-99. +\bibitem{bibb18} Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Vision. Cham, Switzerland: Springer, 2016: 21-37. +\bibitem{bibb19} Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA:IEEE, 2016: 779-788. +\bibitem{bibb20} Szegedy C, Ioffe S, Vanhoucke V, et al. Inception-v4, Inception-ResNet and the impact of residual connections on learning [A/OL]. (2016-08-23) [2017-12-07]. + +\bibitem{bib:two} 李传浩. 基于卷积神经网络的机器人自动抓取规划研究[D].哈尔滨工业大学,2018. + + \bibitem{bib:four} 胡琳,晁飞.基于双神经网络结构的发展型机器人3D抓取[J].电脑知识与技术,2012,8(12):2859-2862. +\bibitem{bib:five} 刘晓玉. 复杂环境下基于神经网络的工件识别与机器人智能抓取[D].武汉科技大学,2009. +\bibitem{bib:six} 游辉胜. 基于模糊神经网络的单目视觉伺服机器人智能抓取[D].武汉科技大学,2008. +\end{thebibliography} + +% 原创性声明 +\declaration + +% 致谢 +\chapter*{致\quad 谢} +\addcontentsline{toc}{chapter}{致\quad 谢} + +衷心感谢导师XXX教授对本人的精心指导。$\cdots\cdots$,他的言传身教将使我终生受益。 + +感谢XXX教授,以及实验室全体老师和同窗们的热情帮助和支持! + +本课题承蒙XXXX基金资助,特此致谢。 + +$\cdots$ + +% 开始写附录 +\appendix + +% 注意:由于模板的一些限制,附录部分章节需要手动编号 +% 附录的章节均需要使用带星号的版本 +\chapter*{附录A\hskip.5em 外文资料翻译} +\addcontentsline{toc}{chapter}{附录A\hskip.5em 外文资料翻译} +% 设置章节编号为1,即A +\setcounter{chapter}{1} +% 重置所有计数器 +\setcounter{equation}{0} +\setcounter{figure}{0} +\setcounter{table}{0} + +题目:基于驾驶员—车辆—道路交互的驾驶安全场 + +期刊:IEEE Transactions on Intelligent Transportation Systems, 2015, 16: 2203-2214. + +摘要:车辆驾驶安全受许多因素的影响,包括驾驶员、车辆和道路环境,它们之间的相互作用非常复杂。现有的评估驾驶安全性的方法仅考虑有限的因素及其相互作用,基于运动学和动力学的车辆驾驶安全辅助系统难以适应日益复杂的交通环境。在本文中,我们提出了一个新的概念——驾驶安全场。驾驶安全场利用场论来表示由驾驶员、车辆、道路状况和其他交通因素引起的风险因素。本文构建了一个统一的驾驶安全场模型,包括以下三个部分:(1)势能场,由道路上的静止物体构成,例如停止的车辆;(2)动能场,由道路上的移动物体构成,例如车辆和行人;(3)行为场,由驾驶员的个人特征构成。 + +\section*{A.1\hskip.5em 求和算子} + +\textbf{求和算子} 是用以表达多个数求和运算的一个缩略符号,它在统计学和计量经济学分析中扮演着重要作用。如果 $\{x_i: i=1, 2, \cdots, n\}$ 表示 $n$ 个数的一个序列,那么我们就把这 $n$ 个数的和写为\equref{eq:1}: +\begin{equation} +\label{eq:1} +\sum_{i=1}^n x_i \equiv x_1 + x_2 +\cdots + x_n +\end{equation} + +引用图片示例:\figref{appen:angle} + +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.6\textwidth]{3angle} + \caption{附录插图示例:Angle-Net 结构} + \label{appen:angle} +\end{figure} + +\chapter*{附录B\hskip.5em 其他附录文本} +\addcontentsline{toc}{chapter}{附录B\hskip.5em 其他附录文本} +% 设置章节编号为1,即A +\setcounter{chapter}{2} +% 重置所有计数器 +\setcounter{equation}{0} +\setcounter{figure}{0} +\setcounter{table}{0} + +\lipsum[2] + +\section*{B.1\hskip.5em 求和算子} + +\textbf{求和算子} 是用以表达多个数求和运算的一个缩略符号,它在统计学和计量经济学分析中扮演着重要作用。如果 $\{x_i: i=1, 2, \cdots, n\}$ 表示 $n$ 个数的一个序列,那么我们就把这 $n$ 个数的和写为\equref{eq:2}: +\begin{equation} +\label{eq:2} +a^2+b^2=c^2 +\end{equation} + +引用图片示例:\figref{appen:fire} + +\begin{figure}[!htbp] + \centering + \includegraphics[width=0.6\textwidth]{less3} + \caption{附录插图示例:f\/ire模块} + \label{appen:fire} +\end{figure} + +% 结束文档撰写 +\end{document} diff --git a/Master/texmf-dist/doc/latex/hitszthesis/spine.pdf b/Master/texmf-dist/doc/latex/hitszthesis/spine.pdf Binary files differnew file mode 100644 index 00000000000..68581cc563a --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/spine.pdf diff --git a/Master/texmf-dist/doc/latex/hitszthesis/spine.tex b/Master/texmf-dist/doc/latex/hitszthesis/spine.tex new file mode 100644 index 00000000000..b4144230d80 --- /dev/null +++ b/Master/texmf-dist/doc/latex/hitszthesis/spine.tex @@ -0,0 +1,14 @@ +\documentclass{hitszthesis} + +% 论文标题 +\thesistitle{基于神经网络的机器人智能抓取研究} + +% 姓名 +\authorname{杨敬轩} + +\begin{document} + +% 使用默认标题和默认作者 +\spine + +\end{document} diff --git a/Master/texmf-dist/source/latex/hitszthesis/Makefile b/Master/texmf-dist/source/latex/hitszthesis/Makefile new file mode 100644 index 00000000000..ce3df42ab93 --- /dev/null +++ b/Master/texmf-dist/source/latex/hitszthesis/Makefile @@ -0,0 +1,83 @@ +# Makefile for HITSZThesis + +PACKAGE = hitszthesis +THESIS = main +SPINE = spine + +SOURCES = $(PACKAGE).ins $(PACKAGE).dtx +CLSFILE = dtx-style.sty $(PACKAGE).cls + +LATEXMK = latexmk + +# make deletion work on Windows +ifdef SystemRoot + RM = del /Q +else + RM = rm -f +endif + +.PHONY: all all-dev clean distclean dist thesis viewthesis spine viewspine doc viewdoc cls check save savepdf test FORCE_MAKE + +thesis: $(THESIS).pdf + +all: thesis spine + +all-dev: doc all + +cls: $(CLSFILE) + +$(CLSFILE): $(SOURCES) + xetex $(PACKAGE).ins + +doc: $(PACKAGE).pdf + +spine: $(SPINE).pdf + +$(PACKAGE).pdf: cls FORCE_MAKE + $(LATEXMK) $(PACKAGE).dtx + +$(THESIS).pdf: cls FORCE_MAKE + $(LATEXMK) $(THESIS) + +$(SPINE).pdf: cls FORCE_MAKE + $(LATEXMK) $(SPINE) + +viewdoc: doc + $(LATEXMK) -pv $(PACKAGE).dtx + +viewthesis: thesis + $(LATEXMK) -pv $(THESIS) + +viewspine: spine + $(LATEXMK) -pv $(SPINE) + +save: + bash testfiles/save.sh + +savepdf: + bash testfiles/save-pdf.sh + +test: + l3build check + +clean: + $(LATEXMK) -c $(PACKAGE).dtx $(THESIS) $(SPINE) + -@$(RM) *~ main-survey.* + +cleanall: clean + -@$(RM) $(PACKAGE).pdf $(THESIS).pdf $(SPINE).pdf + +distclean: cleanall + -@$(RM) $(CLSFILE) + -@$(RM) -r dist + +check: FORCE_MAKE +ifeq ($(version),) + @echo "Error: version missing: \"make [check|dist] version=X.Y\""; exit 1 +else + @[[ $(shell grep -E -c '$(version) A Bachelor Thesis Template for Harbin Institute of Technology, ShenZhen|\\def\\version\{$(version)\}' hitszthesis.dtx) -eq 3 ]] || (echo "update version in hitszthesis.dtx before release"; exit 1) + @[[ $(shell grep -E -c '"version": "$(version)"' package.json) -eq 1 ]] || (echo "update version in package.json before release"; exit 1) +endif + +dist: check all-dev + npm run build -- --version=$(version)
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/hitszthesis/hitszthesis.dtx b/Master/texmf-dist/source/latex/hitszthesis/hitszthesis.dtx new file mode 100644 index 00000000000..ffb6069343b --- /dev/null +++ b/Master/texmf-dist/source/latex/hitszthesis/hitszthesis.dtx @@ -0,0 +1,2401 @@ +% \iffalse meta-comment +% +% Copyright (C) 2019-2020 by Jingxuan Yang <yanglatex2e@gmail.com> +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{hitszthesis.dtx}[2020/02/18 v2.0 A Bachelor Thesis Template for Harbin Institute of Technology, ShenZhen (HITSZ) ] +\documentclass{ltxdoc} +\usepackage{dtx-style} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges + +\begin{document} + \DocInput{\jobname.dtx} +\end{document} +%</driver> +% \fi +% +% \GetFileInfo{\jobname.dtx} +% +% \DoNotIndex{\newenvironment,\@bsphack,\@empty,\@esphack,\sfcode} +% \DoNotIndex{\addtocounter,\label,\let,\linewidth,\newcounter} +% \DoNotIndex{\noindent,\normalfont,\par,\parskip,\phantomsection} +% \DoNotIndex{\providecommand,\ProvidesPackage,\refstepcounter} +% \DoNotIndex{\RequirePackage,\setcounter,\setlength,\string,\strut} +% \DoNotIndex{\textbackslash,\texttt,\ttfamily,\usepackage} +% \DoNotIndex{\begin,\end,\begingroup,\endgroup,\par,\\} +% \DoNotIndex{\if,\ifx,\ifdim,\ifnum,\ifcase,\else,\or,\fi} +% \DoNotIndex{\let,\def,\xdef,\edef,\newcommand,\renewcommand} +% \DoNotIndex{\expandafter,\csname,\endcsname,\relax,\protect} +% \DoNotIndex{\Huge,\huge,\LARGE,\Large,\large,\normalsize} +% \DoNotIndex{\small,\footnotesize,\scriptsize,\tiny} +% \DoNotIndex{\normalfont,\bfseries,\slshape,\sffamily,\interlinepenalty} +% \DoNotIndex{\textbf,\textit,\textsf,\textsc} +% \DoNotIndex{\hfil,\par,\hskip,\vskip,\vspace,\quad} +% \DoNotIndex{\centering,\raggedright,\ref} +% \DoNotIndex{\c@secnumdepth,\@startsection,\@setfontsize} +% \DoNotIndex{\ ,\@plus,\@minus,\p@,\z@,\@m,\@M,\@ne,\m@ne} +% \DoNotIndex{\@@par,\DeclareOperation,\RequirePackage,\LoadClass} +% \DoNotIndex{\AtBeginDocument,\AtEndDocument} +% \DoNotIndex{\widowpenalty,\vfill,\usetikzlibrary,\usecounter} +% \DoNotIndex{\underline,\to,\text,\textsuperscript,\textwidth} +% \DoNotIndex{\thanks,\subsubsection,\subsection,\sloppy,\rule} +% \DoNotIndex{\ProvidesClass,\makebox,\makeatletter,\makeatother} +% \DoNotIndex{\,,\.,\;} +% +% \changes{v1.0}{2019/9/26}{Initial creation} +% \changes{v1.1}{2019/10/30}{Fix loading \pkg{mtpro2} bug, add \pkg{etex} package} +% \changes{v1.2}{2020/02/15}{Add two options: onerow or tworow, infoleft or infocenter, migrate settings file into cls file, initial commit on ctan} +% \changes{v2.0}{2020/02/18}{Format cls file to dtx file, regulate thesis template for HITSZ} +% +% \def\indexname{索引} +% \def\glossaryname{修改记录} +% \IndexPrologue{\section{\indexname}} +% \GlossaryPrologue{\section{\glossaryname}} +% +% \definecolor{hitcolor}{RGB}{21,95,130} +% \title{\bfseries\color{hitcolor}\hitszthesis:哈尔滨工业大学(深圳)\\ 本科毕业设计(论文)模板} +% \author{{\Large\fangsong 杨敬轩}\\[5pt]\texttt{yanglatex2e@gmail.com}\\[5pt]\texttt{yangjingxuan@stu.hit.edu.cn}} +% \date{\fileversion\ (\filedate)} +% \maketitle\thispagestyle{empty} +% +% \vskip0.5cm +% +% \def\abstractname{\Large 摘要} +% \begin{abstract}\normalsize\vskip0.5cm +% \hitszthesis 宏包旨在建立一个规格严格、功夫到家的哈尔滨工业大学(深圳)学位论文模板,目前只包含本科毕业设计(论文)模板。模板的构建基于 \pkg{hitszthesis.dtx} 与 \pkg{hitszthesis.ins},在使用本模板之前,请仔细阅读\file{hitszthesis.pdf}(本文件)、\file{main.tex}(撰写示例)及\file{main.pdf}(撰写效果)。 +% \end{abstract} +% +% \vskip1.5cm +% \def\abstractname{\Large 免责声明} +% \begin{abstract} +% \normalsize\noindent +% \begin{enumerate} +% \item 本模板的发布遵守 \href{http://www.latex-project.org/lppl.txt}{\LaTeX\ Project Public License},使用前请认真阅读协议内 +% 容。 +% \item 本模板为作者根据哈尔滨工业大学(深圳)教务处颁发的《本科毕业设计(论文)撰写规范》、《书写范例》 +% 编写而成,旨在供哈尔滨工业大学(深圳)本科毕业生撰写学位论文使用。 +% \item 哈尔滨工业大学(深圳)教务处只提供毕业论文写作指南,不提供官方模板,也不会授 +% 权第三方模板为官方模板,所以此模板仅为写作指南的参考实现,不保证格式审查老师 +% 不提意见。任何由于使用本模板而引起的论文格式审查问题均与本模板作者无关。 +% \item 任何个人或组织以本模板为基础进行修改、扩展而生成的新的专用模板,请严格遵 +% 守 \href{http://www.latex-project.org/lppl.txt}{\LaTeX\ Project Public License} 协议。由于违犯协议而引起的任何纠纷争端均与 +% 本模板作者无关。 +% \end{enumerate} +% \end{abstract} +% +% +% \clearpage +% \pagestyle{fancy} +% \begin{multicols}{2}[ +% \setlength{\columnseprule}{.4pt} +% \setlength{\columnsep}{18pt}] +% \large +% \tableofcontents +% \end{multicols} +% \clearpage +% +% \section{模板介绍} +% \hitszthesis\ (\textbf{H}arbin \textbf{I}nstitute of \textbf{T}echnology, +% \textbf{S}hen\textbf{Z}hen \LaTeX\ +% \textbf{Thesis} Template) 是为了帮助哈尔滨工业大学(深圳)本科毕业生撰写毕业论文而编写 +% 的 \LaTeX\ 论文模板。 +% +% 本文档将尽量完整的介绍模板的使用方法,如有不清楚之处可以参考示例文档或者根据 +% 第~\ref{sec:howtoask} 节说明提问,有兴趣者可以联系作者参与完善此手册,非常欢迎窝工学子对本代码作出贡献。 +% +% \note[注意:]{模板的作用在于减少论文写作过程中格式调整的时间。前提是遵守模板的 +% 用法,否则即便用了 \textup{\hitszthesis}\ 也难以保证输出的论文符合学校规范。} +% +% +% \section{安装} +% \label{sec:installation} +% +% \hitszthesis\ 已经上传CTAN,将包含在2020年主要的 \TeX\ 发行版中。% 安装方法:打开命令行,输入以下命令即可 +% \begin{shell} +% $ tlmgr install hitszthesis +% \end{shell} +% 阅读本说明文档可以使用以下命令: +% \begin{shell} +% $ texdoc hitszthesis +% \end{shell} +% +% 如果要使用开发版,需自己下载,\hitszthesis\ 相关链接: +% \begin{itemize} +% \item 主页:\href{https://github.com/YangLaTeX/hitszthesis}{GitHub} +% \item 下载:\href{http://www.ctan.org/pkg/hitszthesis}{CTAN} +% \end{itemize} +% +% \subsection{模板的组成} +% 下表列出了 \hitszthesis\ 的主要文件及其功能介绍: +% +% \begin{longtable}{l|p{8cm}} +% \toprule +% {\heiti 文件(夹)} & {\heiti 功能描述}\\\midrule +% \endfirsthead +% \midrule +% {\heiti 文件(夹)} & {\heiti 功能描述}\\\midrule +% \endhead +% \endfoot +% \endlastfoot +% hitszthesis.ins & \textsc{DocStrip} 驱动文件(开发用) \\ +% hitszthesis.dtx & \textsc{DocStrip} 源文件(开发用)\\\midrule +% hitszthesis.cls & 模板类文件(由上述两个文件生成)\\\midrule +% main.tex & 示例文档主文件\\ +% spine.tex & 书脊示例文档\\ +% figure/ & 示例文档插图路径\\ +% front/ & 示例文档封面插图路径\\ +% hitszthesis.sty & 为示例文档加载其它宏包\\\midrule +% Makefile & Makefile\\ +% latexmkrc & latexmk 配置文件 \\ +% README.md & Readme\\ +% \textbf{hitszthesis.pdf} & 用户手册(本文档)\\\bottomrule +% \end{longtable} +% +% 几点说明: +% \begin{itemize} +% \item \file{hitszthesis.cls} 可由 \file{hitszthesis.ins} +% 和 \file{hitszthesis.dtx} 生成,但为了降低同学们的使用难度,故 +% 将 \file{hitszthesis.cls} 文件一起发布。 +% \item 使用前请一定阅读文档:\file{hitszthesis.pdf}。 +% \end{itemize} +% +% \subsection{生成模板} +% \label{sec:generate-cls} +% \note[提示:]{若使用 \TeX 发行版自带的 \textup{\hitszthesis}\ 或 Github 上发布的版本,可忽 +% 略此节,直接阅读第~\ref{sec:generate-thesis} 节。若下载 CTAN 包或者 Github 开发 +% 代码,请阅读本节了解生成模板文件的步骤。} +% +% 模板解压缩后生成文件夹 \file{hitszthesis-vX.Y}\footnote{\texttt{vX.Y} 为版本 +% 号。},其中包括:模板源文件(\file{hitszthesis.ins} 和 \file{hitszthesis.dtx}),示例文档 +% (\file{main.tex},\file{spine.tex},\file{hitszthesis.sty}\footnote{可能用到的包 +% 以及一些命令定义都放在这里,以免 \file{hitszthesis.cls} 过分臃 +% 肿。},文件夹\file{figure/} 和 \file{front/} 。在使用之前需要先生成模 +% 板文件和配置文件(具体命令细节请参考 \file{README.md} 和 \file{Makefile}): +% +% \begin{shell} +% $ cd hitszthesis-vX.Y +% # 生成 hitszthesis.cls 与 dtx-style.sty +% $ xetex hitszthesis.ins +% +% # 下面的命令用来生成用户手册,首先生成索引 +% $ xelatex hitszthesis.dtx +% $ makeindex -s gind.ist -o hitszthesis.ind hitszthesis.idx +% $ makeindex -s gglo.ist -o hitszthesis.gls hitszthesis.glo +% +% # 最后两次编译生成说明文档 hitszthesis.pdf +% $ xelatex hitszthesis.dtx +% $ xelatex hitszthesis.dtx +% \end{shell} +% +% \subsection{生成论文} +% \label{sec:generate-thesis} +% 本节介绍几种常见的生成论文的方法。用户可根据自己的情况选择。 +% +% \subsubsection{\XeLaTeX} +% \label{sec:xelatex} +% 很多用户对 \LaTeX\ 命令执行的次数不太清楚。一个基本的原则是多次运行 \LaTeX\ 命 +% 令直至不再出现警告。下面给出生成示例文档的详细过程(\texttt{\#} 开头的行为注 +% 释),首先来看推荐的 \texttt{xelatex} 方式: +% \begin{shell} +% # 1. 发现里面的引用关系,文件后缀 .tex 可以省略 +% $ xelatex main +% +% # 2. 编译参考文件源文件,生成 bbl 文件 +% $ bibtex main +% +% # 3. 下面解决引用 +% $ xelatex main +% $ xelatex main # 此时生成完整的 pdf 文件 +% \end{shell} +% +% \subsubsection{latexmk} +% \label{sec:latexmk} +% \texttt{latexmk} 命令支持全自动生成 \LaTeX\ 编写的文档,并且支持使用不同的工具 +% 链来进行生成,它会自动运行多次工具直到交叉引用都被解决。下面给出了一个用 +% \texttt{latexmk} 调用 \texttt{xelatex} 生成最终文档的示例: +% \begin{shell} +% $ latexmk main.tex # 生成论文 main.pdf +% $ latexmk spine.tex # 生成书脊 spine.pdf +% $ latexmk hitszthesis.dtx # 生成说明文档 hitszthesis.pdf +% $ latexmk -c # 清理编译生成的辅助文件 +% \end{shell} +% +% \subsubsection{GNU make} +% \label{sec:make} +% \note[提示:]{若要使用 \texttt{make} 编译,需自行下载模板。因为 \TeX\ 发行版中 +% 的 \file{Makefile} 不在当前目录。} +% +% 上面的方法虽然不困难,但是每次都输入还是非常麻烦,所以 \hitszthesis\ 提供了一 +% 个 \file{Makefile}。如果可以使用 GNU make 工具, +% 则使用 \texttt{make} 生成文件是最方便的办法。 +% +% \begin{shell} +% $ make clean # 清理辅助文件 +% $ make cls # 生成 hitszthesis.cls +% $ make doc # 生成说明文档 hitszthesis.pdf +% $ make thesis # 生成示例文档 main.pdf +% $ make spine # 生成书脊 spine.pdf +% \end{shell} +% +% \hitszthesis\ 的 \file{Makefile} 默认用 \texttt{latexmk} 调用\texttt{xelatex} 编 +% 译。如有需要可修 +% 改 \file{Makefile} 开头的参数或通过命令行传递参数(请参看 \file{README.md}), +% 进一步还可以修改 \file{latexmkrc} 进行定制。 +% +% \subsection{升级} +% \label{sec:updgrade} +% \hitszthesis\ 升级非常简单,可以通过 \TeX\ 发行版的包管理工具自动更新发行版, +% \begin{shell} +% # 更新 hitszthesis 宏包 +% $ tlmgr update hitszthesis +% # 或者直接更新全部宏包至最新版 +% $ tlmgr update --all +% \end{shell} +% +% 也可以下载最新的开发版,将 \file{hitszthesis.ins},\file{hitszthesis.dtx},拷贝至工作目录覆盖相应的文件,然后运行: +% \begin{shell} +% $ xetex hitszthesis.ins +% \end{shell} +% 生成新的类文件和配置文件即可。 +% +% 还可以直接拷贝 \file{hitszthesis.cls}替换原有文件,避免执行上面的命令行。 +% +% \section{使用说明} +% \label{sec:usage} +% 本手册假定用户已经能处理一般的 \LaTeX\ 文档,并对 \BibTeX\ 有一定了解。如果 +% 从来没有接触过 \TeX\ 和 \LaTeX,建议先学习相关的基础知识。 +% +% \subsection{关于提问} +% \label{sec:howtoask} +% 按照优先级推荐提问的位置如下: +% +% \begin{itemize} +% \item Github Issues: \href{http://github.com/YangLaTeX/hitszthesis/issues}{http://github.com/YangLaTeX/hitszthesis/issues} +% \item QQ group: 1039392552 +% \item Email: \href{mailto:yanglatex2e@gmail.com}{yanglatex2e@gmail.com}, \href{mailto:yangjingxuan@stu.hit.edu.cn}{yangjingxuan@stu.hit.edu.cn} +% \end{itemize} +% +% \subsection{示例文件} +% \label{sec:userguide} +% +% 模板核心文件为:\file{hitszthesis.cls}, +% 但如果没有示例文档会很难下手,所以推荐从模板自带的示例文档入手,其中包括了论文 +% 写作用到的所有命令及其使用方法,只需要用自己的内容进行相应替换就可以。对于不清 +% 楚的命令可以查阅本手册。下面的例子描述了模板中章节的组织形式,来自于示例文档, +% 具体内容可以参考模板附带的 \file{main.tex}。 +% +% \lstinputlisting[style=lstStyleLaTeX]{main.tex} +% +% \subsection{论文选项} +% \label{sec:option} +% +% \DescribeOption{covertitle} +% 选择论文类型,当前支持:\option{onerow},\option{tworow},其中 +% \option{onerow}为默认选项。 +% \begin{latex} +% % 封面标题两行 +% \documentclass[covertitle=tworow]{hitszthesis} +% \end{latex} +% +% \DescribeOption{infoalign} +% 论文封面第二页下划线部分内容对齐方式。可选:\option{infoleft},\option{infocenter},其中\option{infocenter}为默认选项。 +% \begin{latex} +% % 封面第二页信息居左对齐 +% \documentclass[infoalign=infoleft]{hitszthesis} +% \end{latex} +% +% \subsection{引用方式} +% \label{sec:citestyle} +% +% \myentry{引用} +% \DescribeMacro{\upcite} +% 学校要求的参考文献引用有两种模式:(1)上标模式。比如“同样的工作有很 +% 多$^{[1,2]}$\ldots”。(2)正文模式。比如“文[3] 中详细说明了\ldots”。其中上标 +% 模式采用 \cs{upcite}\marg{key},而 \cs{cite}\marg{key} 则用来生成正文模式。 +% +% 关于参考文献表推荐使用 \cs{thebibliography} 环境,虽然有些麻烦, +% 但是避免了使用 \BibTeX 带来的很多格式设置问题。 +% 有余力者可以尝试使用 \BibTeX, +% \BibTeX 默认情况下可以自动识别文献语言, +% 并自动处理文献类型和载体类型标识,也可以手动指定,如: +% \begin{latex} +% @misc{citekey, +% language = {japanese}, +% mark = {Z}, +% medium = {DK}, +% ... +% \end{latex} +% 可选的语言有 english, chinese, japanese, russian。 +% +% \subsection{中文字体} +% \label{sec:chinese-fonts} +% +% \subsubsection{字体配置} +% \label{sec:font-config} +% 模板默认使用 \CTeX\ 的字体配置。关于中文字体安装、配置的所有问题不在本模板讨论 +% 范围。 +% +% \subsubsection{字体命令} +% \label{sec:fontcmds} +% \myentry{字体} +% \DescribeMacro{\songti} +% \DescribeMacro{\fangsong} +% \DescribeMacro{\heiti} +% \DescribeMacro{\kaishu} +% 用来切换宋体、仿宋、黑体、楷体四种基本字体。 +% +% \begin{latex} +% {\songti 乾:元,亨,利贞} +% {\fangsong 初九,潜龙勿用} +% {\heiti 九二,见龙在田,利见大人} +% {\kaishu 九三,君子终日乾乾,夕惕若,厉,无咎} +% \end{latex} +% +% \myentry{字号} +% \DescribeMacro{\chuhao} +% \DescribeMacro{\xiaochu} +% \DescribeMacro{\yihao} +% \DescribeMacro{\xiaoyi} +% \DescribeMacro{\bahao} +% 定义字体大小,分别为: +% +% \begin{center} +% \begin{tabular}{llllll} +% \toprule +% \cs{chuhao} & \cs{xiaochu} & \cs{yihao} & \cs{xiaoyi} & \cs{erhao} & \cs{xiaoer}\\ +% \cs{sanhao} & \cs{xiaosan} & \cs{sihao} & \cs{xiaosi} & \cs{wuhao} & \cs{xiaowu}\\ +% \cs{liuhao} & \cs{xiaoliu} & \cs{qihao} & \cs{bahao}\\\bottomrule +% \end{tabular} +% \end{center} +% +% 使用方法为:\cs{command}\oarg{num},其中 \cs{command} 为字号命令,\meta{num} 为行距。比 +% 如 \cs{xiaosi}[1.5] 表示选择小四字体,行距 1.5 倍。 +% +% \begin{latex} +% {\erhao 二号} +% {\sanhao[1.5] 三号,一点五倍行距} +% {\sihao 四号} +% {\qihao[2] 七号,两倍行距} +% \end{latex} +% +% 也可以使用 \CTeX\ 定义的 \cs{zihao}\marg{num} 来切换字号,具体用法参看其文 +% 档。 +% +% \subsection{封面信息} +% \label{sec:titlepage} +% 封面信息配置方法:每个信息利用命令独立设置,大多数命令的使用方法都是 \cs{command}\marg{arg},例外者将具体指出。 +% +% \myentry{封面信息} +% \DescribeMacro{\thesistitle} +% \cs{thesistitle}\marg{arg},输入论文标题 +% +% \DescribeMacro{\titleone} +% \cs{titleone}\marg{arg},输入论文标题第一行 +% +% \DescribeMacro{\titletwo} +% \cs{titletwo}\marg{arg},输入论文标题第二行 +% +% \DescribeMacro{\schoolname} +% \cs{schoolname}\marg{arg},输入学校名称 +% +% \DescribeMacro{\departname} +% \cs{departname}\marg{arg},输入学院名称 +% +% \DescribeMacro{\majorin} +% \cs{majorin}\marg{arg},输入专业 +% +% \DescribeMacro{\authorname} +% \cs{authorname}\marg{arg},输入姓名 +% +% \DescribeMacro{\studentID} +% \cs{studentID}\marg{arg},输入学号 +% +% \DescribeMacro{\dateinput} +% \cs{dateinput}\marg{arg},输入答辩日期 +% +% \DescribeMacro{\instructor} +% \cs{instructor}\marg{arg},输入指导教师 +% +% \subsubsection{摘要} +% \myentry{摘要关键词} +% \DescribeEnv{abstract} +% \DescribeEnv{abstracten} +% \DescribeMacro{\keywords} +% \DescribeMacro{\keywordsen} +% \begin{latex} +% \begin{abstract} +% 摘要请写在这里... +% \keywords{xxx} +% \end{abstract} +% +% \begin{abstracten} +% Here comes the abstract in English... +% \keywordsen{xxx} +% \end{abstracten} +% \end{latex} +% +% \subsection{目录和索引表} +% 目录、插图和表格等索引命令分别如下, +% 将其插入到期望的位置即可 +% (带星号的命令表示对应的索引表不会出现在目录中): +% +% \myentry{目录索引} +% \DescribeMacro{\tableofcontents} +% \DescribeMacro{\listoffigures} +% \DescribeMacro{\listoffigures*} +% \DescribeMacro{\listoftables} +% \DescribeMacro{\listoftables*} +% \begin{longtable}{ll} +% \toprule +% {\heiti 用途} & {\heiti 命令} \\\midrule +% 目录 & \cs{tableofcontents} \\\midrule +% 插图索引 & \cs{listoffigures} \\ +% & \cs{listoffigures*} \\\midrule +% 表格索引 & \cs{listoftables} \\ +% & \cs{listoftables*} \\\bottomrule +% \end{longtable} +% +% \LaTeX\ 默认支持插图和表格索引,是通过 \cs{caption} 命令完成的,因此它们必须出 +% 现在浮动环境中,否则不被计数。 +% +% 如果不想让某个表格或者图片出现在索引里面,那么请使用命令 \cs{caption*},这 +% 个命令不会给表格编号,也就是出来的只有标题文字而没有“表~xx”,“图~xx”, +% +% \subsection{封底部分} +% +% \subsubsection{原创性声明} +% \myentry{声明} +% \DescribeMacro{\declaration} +% \cs{declaration}会自动生成原创性声明的全部内容,其中签字部分需要打印后手签。 +% +% \subsubsection{附录} +% \myentry{附录} +% \DescribeMacro{\appendix} +% 附录里主要是外文资料以及翻译,放置在 |\appendix| 后面即可。 +% +% \subsection{自定义} +% \label{sec:othercmd} +% +% \subsubsection{数学环境} +% \label{sec:math} +% \hitszthesis\ 定义了常用的数学环境: +% +% \begin{center} +% \begin{tabular}{*{8}{l}}\toprule +% axiom & theorem & definition & proposition & lemma & postulate ¬e& conclusion\\ +% 公理 & 定理 & 定义 & 命题 & 引理 & 公设 &笔记& 结论\\\midrule +% proof & corollary & example & exercise & assumption & remark & problem & property\\ +% 证明 & 推论 & 例& 练习 & 假设 & 注 & 问题 & 性质\\\bottomrule +% \end{tabular} +% \end{center} +% +% 比如: +% \begin{latex} +% \begin{definition} +% 道千乘之国,敬事而信,节用而爱人,使民以时。 +% \end{definition} +% \end{latex} +% 产生(自动编号): +% \medskip +% +% \noindent\framebox[\linewidth][l]{{\heiti 定义~1.1~~~} % {道千乘之国,敬事而信,节用而爱人,使民以时。}} +% +% \smallskip +% 列举出来的数学环境毕竟是有限的,如果想用\emph{胡说}这样的数学环境,那么可以定义: +% \begin{latex} +% \theoremstyle{ydefstyle} +% \newtheorem{ydefinition}{nonsense}[chapter] +% \end{latex} +% +% 然后这样使用: +% \begin{latex} +% \begin{nonsense} +% 契丹武士要来中原夺武林秘笈。—— 慕容博 +% \end{nonsense} +% \end{latex} +% 产生(自动编号): +% +% \medskip +% \noindent\framebox[\linewidth][l]{{\heiti 胡说~1.1~~~} % {契丹武士要来中原夺武林秘笈。—— 慕容博}} +% +% \subsubsection{列表环境} +% \myentry{列表} +% \DescribeEnv{itemize} +% \DescribeEnv{enumerate} +% \DescribeEnv{description} +% 为了适合中文习惯,模板将这三个常用的列表环境用 \pkg{enumitem} 进行了纵向间距压 +% 缩。一方面清除了多余空间,另一方面用户可以自己指定列表环境的样式(如标签符号, +% 缩进等)。细节请参看 \pkg{enumitem} 文档,此处不再赘述。 +% +% \subsection{书脊} +% \myentry{书脊} +% \DescribeMacro{\spine} +% 生成装订的书脊,为竖排格式,命令格式:\cs{spine}\oarg{标题}\oarg{作者}。默认参 +% 数为论文中文题目和中文作者。如果中文题目中没有英文字母,那么直接调用此命令即可。 +% 否则,可参考参看模板示例文件 \file{spine.tex} 进行微调: +% +% \lstinputlisting[style=lstStyleLaTeX]{spine.tex} +% +% \section{致谢} +% \label{sec:thanks} +% 感谢|thuthesis|、|hithesis|、|elegantbook|模板的作者,本模板基于他们改编而来! +% +% 欢迎各位到 \href{http://github.com/YangLaTeX/hitszthesis/}{\hitszthesis\ Github 主页}贡献! +% +% \StopEventually{\PrintChanges\PrintIndex} +% \clearpage +% +% \section{实现细节} +% +% \subsection{基本信息} +% 设置需要的 \LaTeX 版本,定义提供的类文件名称以及说明文字 +% \begin{macrocode} +%<cls>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<cls>\ProvidesClass{hitszthesis} +%<cls>[2020/02/18 v2.0 A Bachelor Thesis Template for Harbin Institute of Technology, ShenZhen +%<cls> (HITSZ)] +% \end{macrocode} +% +% 检查编译引擎,要求使用 \XeLaTeX,否则提示错误 +% \begin{macrocode} +\RequirePackage{ifxetex} +\ifxetex\else + \ClassError{hitszthesis}{Please use XeLaTeX to compile the file}{} + \end{document} +\fi +% \end{macrocode} +% +% \subsection{定义选项} +% 加载键值对设置宏包 +% \begin{macrocode} +%<*cls> +\RequirePackage{kvoptions} +% \end{macrocode} +% +% 加载对宏包、环境、命令进行操作的强大宏包 +% \begin{macrocode} +\RequirePackage{etoolbox} +% \end{macrocode} +% +% 设置关键词:|hitsz| +% \begin{macrocode} +\SetupKeyvalOptions{family=hitsz, prefix=hitsz@, setkeys=\kvsetkeys} +% \end{macrocode} +% +% \begin{macro}{\ykv} +% 定义设置关键词命令 \cs{ykv} +% \begin{macrocode} +\newcommand{\ykv}[1]{\kvsetkeys{hitsz}{#1}} +% \end{macrocode} +% \end{macro} +% +% 表格信息对齐 +% \begin{macrocode} +\DeclareStringOption[infocenter]{infoalign} +\DeclareVoidOption{infocenter}{\ykv{infoalign = infocenter}} +\DeclareVoidOption{infoleft}{\ykv{infoalign = infoleft}} +% \end{macrocode} +% +% 封面标题行数 +% \begin{macrocode} +\DeclareStringOption[onerow]{covertitle} +\DeclareVoidOption{onerow}{\ykv{covertitle = onerow}} +\DeclareVoidOption{tworow}{\ykv{covertitle = tworow}} +% \end{macrocode} +% +% 数学字体选择 +% \begin{macrocode} +\DeclareStringOption[newtxmath]{mathfont} +\DeclareVoidOption{newtxmath}{\ykv{mathfont = newtxmath}} +\DeclareVoidOption{mtpro2}{\ykv{mathfont = mtpro2}} +% \end{macrocode} +% +% 默认选项 +% \begin{macrocode} +\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{book}} +% \end{macrocode} +% +% 禁用键值对操作 +% \begin{macrocode} +\ProcessKeyvalOptions*\relax +% \end{macrocode} +% +% 加载 |book| 类,A4大小,正文12磅,单面打印 +% \begin{macrocode} +\LoadClass[12pt,a4paper,openany,oneside]{book} +% \end{macrocode} +% +% \subsection{加载宏包} +% 使用 \XeLaTeX 编译 \pkg{mtpro2} 宏包必须加载此宏包 +% \begin{macrocode} +\RequirePackage{etex} +% \end{macrocode} +% +% 加载支持中文的 \pkg{ctex} 宏包 +% \begin{macrocode} +\RequirePackage[UTF8,space=auto,scheme=plain]{ctex} +% \end{macrocode} +% +% 正文和数学字体设置 +% \begin{macrocode} +\RequirePackage{amsmath} +\RequirePackage[T1]{fontenc} +\RequirePackage{newtxtext} +\ifdefstring{\hitsz@mathfont}{mtpro2}{ +\RequirePackage[mtphrb,mtpcal,zswash,uprightGreek]{mtpro2} +}{\relax} +\ifdefstring{\hitsz@mathfont}{newtxmath}{ +\RequirePackage{newtxmath} +\let\openbox\relax +}{\relax} +\renewcommand{\rmdefault}{ptm} +\RequirePackage[scaled=0.92]{helvet} +\RequirePackage{type1cm} +\RequirePackage{lipsum} +% \end{macrocode} +% +% 使字体设置生效,排除其他干扰,不一定起作用,但为防万一需要保留 +% \begin{macrocode} +\RequirePackage{mathdesign} +% \end{macrocode} +% +% \begin{macro}{\kai} +% \begin{macro}{\song} +% 设置中文加粗字体 +% \begin{macrocode} +\setCJKfamilyfont{kai}[AutoFakeBold]{simkai.ttf} +\newcommand*{\kai}{\CJKfamily{kai}} +\setCJKfamilyfont{song}[AutoFakeBold]{SimSun} +\newcommand*{\song}{\CJKfamily{song}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\linespread} +% 行间距,设为1.3,due to 12pt与小四号字的大小微差 +% \begin{macrocode} +\linespread{1.3} +% \end{macrocode} +% \end{macro} +% +% 加载常用宏包 +% 在一页上可以使用单栏和多栏样式 +% \begin{macrocode} +\RequirePackage{multicol} +% \end{macrocode} +% +% 排版代码 +% \begin{macrocode} +\RequirePackage{fancyvrb} +% \end{macrocode} +% +% 自定义目录格式 +% \begin{macrocode} +\RequirePackage{titletoc} +% \end{macrocode} +% +% 设置颜色 +% \begin{macrocode} +\RequirePackage{xcolor} +% \end{macrocode} +% +% 插入图片 +% \begin{macrocode} +\RequirePackage{graphicx} +% \end{macrocode} +% +% 表格 +% \begin{macrocode} +\RequirePackage{array} +% \end{macrocode} +% +% 长表格 +% \begin{macrocode} +\RequirePackage{longtable} +% \end{macrocode} +% +% \pkg{booktabs} 提供了\cs{toprule} 等命令 +% \begin{macrocode} +\RequirePackage{booktabs} +% \end{macrocode} +% +% \pkg{multirow} 支持在表格中跨行 +% \begin{macrocode} +\RequirePackage{multirow} +% \end{macrocode} +% +% 调整间隔, 让表格更好看些 +% \begin{macrocode} +\RequirePackage{bigstrut} +% \end{macrocode} +% +% 在跨行表格中输入定界符 +% \begin{macrocode} +\RequirePackage{bigdelim} +% \end{macrocode} +% +% 保护脆落命令 +% \begin{macrocode} +\RequirePackage{cprotect} +% \end{macrocode} +% +% 定制列表环境 +% \begin{macrocode} +\RequirePackage{enumitem} +% \end{macrocode} +% +% 设置代码环境 +% \begin{macrocode} +\RequirePackage{listings} +% \end{macrocode} +% +% 超链接格式设置 +% \begin{macrocode} +\RequirePackage{hyperref} +% \end{macrocode} +% +% \begin{macro}{\parindent} +% 首行缩进 +% \begin{macrocode} +\RequirePackage{indentfirst} +\setlength\parindent{2em} +% \end{macrocode} +% \end{macro} +% +% 设置浮动体的标题 +% \begin{macrocode} +\RequirePackage{caption} +% \end{macrocode} +% +% 浮动环境 +% \begin{macrocode} +\RequirePackage{float} +% \end{macrocode} +% +% 下划线 +% \begin{macrocode} +\RequirePackage{ulem} +% \end{macrocode} +% +% 尺寸计算 +% \begin{macrocode} +\RequirePackage{calc} +% \end{macrocode} +% +% \pkg{tikz} 绘图 +% \begin{macrocode} +\RequirePackage{tikz} +% \end{macrocode} +% +% 公式字母加粗 +% \begin{macrocode} +\RequirePackage{bm} +% \end{macrocode} +% +% 子公式编号 +% \begin{macrocode} +\RequirePackage{cases} +% \end{macrocode} +% +% 书写单位 +% \begin{macrocode} +\RequirePackage{siunitx} +% \end{macrocode} +% +% \pkg{pdfpages} 宏包便于我们插入扫描后的授权页和声明页 PDF 文档。 +% \begin{macrocode} +\RequirePackage{pdfpages} +\includepdfset{fitpaper=true} +% \end{macrocode} +% +% \begin{macro}{\ttdefault} +% 排版代码 +% \begin{macrocode} +\RequirePackage{listings} +\renewcommand{\ttdefault}{cmtt} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\lstdefinestyle} +% 定义 |ystyle| 样式 +% \begin{macrocode} +\lstdefinestyle{ystyle}{ + basicstyle=% + \ttfamily + \lst@ifdisplaystyle\small\fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\lstset} +% 使用 |ystyle| 样式 +% \begin{macrocode} +\lstset{basicstyle = \ttfamily, style = ystyle, breaklines = true} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\definecolor} +% 定义代码颜色 +% \begin{macrocode} +\definecolor{lightgrey}{rgb}{0.9,0.9,0.9} +\definecolor{frenchplum}{RGB}{190,20,83} +\definecolor{winered}{rgb}{0.5,0,0} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\lstset} +% 设置 \LaTeX 代码排版样式 +% \begin{macrocode} +\lstset{language = [LaTeX]TeX, + texcsstyle = *\color{winered}, + numbers = none, + mathescape, + breaklines = true, + keywordstyle = \color{winered}, + commentstyle = \color{gray}, + emph = {hitszpaper,fontenc,fontspec,xeCJK,FiraMono,xunicode,newtxmath, + figure,fig,image,img,table,itemize,enumerate,newtxtext,newtxtt, + ctex, microtype,description,times,newtx,booktabs,tabular, + PDFLaTeX,XeLaTeX,type1cm,BibTeX,device,color,mode,lang, + amsthm,tcolorbox,titlestyle,cite,marginnote,ctex,listings,base, + subnumcases}, + emphstyle = {\color{frenchplum}}, + morekeywords = {DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule, + institute,version,includegraphics,setmainfont,setsansfont, + setmonofont,setCJKmainfont,setCJKsansfont,setCJKmonofont, + RequirePackage,figref, tabref,email,maketitle,keywords,definecolor, + extrainfo,logo,cover,subtitle,appendix,chapter,hypersetup, + mainmatter,frontmatter,tableofcontents, hitszpar,heiti,kaishu,lstset, + pagecolor,zhnumber,marginpar,part, equote,marginnote}, + frame = single, + tabsize = 2, + rulecolor = \color{black}, + framerule = 0.2pt, + columns = flexible, + % backgroundcolor = \color{lightgrey} +} +% \end{macrocode} +% \end{macro} +% +% \subsection{输入信息} +% \subsubsection{定义输入常量} +% \begin{macro}{\hitsz@tokens@thesistitle} +% 论文标题 +% \begin{macrocode} +\newcommand\hitsz@tokens@thesistitle{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@keywords} +% 关键词,中文 +% \begin{macrocode} +\newcommand\hitsz@tokens@keywords{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@keywordsen} +% 关键词,英文 +% \begin{macrocode} +\newcommand\hitsz@tokens@keywordsen{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@papercategory} +% 论文类别 +% \begin{macrocode} +\newcommand*\hitsz@tokens@papercategory{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@schoolname} +% 学校名称 +% \begin{macrocode} +\newcommand*\hitsz@tokens@schoolname{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@departname} +% 院系 +% \begin{macrocode} +\newcommand*\hitsz@tokens@departname{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@dateinput} +% 日期 +% \begin{macrocode} +\newcommand*\hitsz@tokens@dateinput{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@authorname} +% 姓名 +% \begin{macrocode} +\newcommand*\hitsz@tokens@authorname{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@studentID} +% 学号 +% \begin{macrocode} +\newcommand*\hitsz@tokens@studentID{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@majorin} +% 专业 +% \begin{macrocode} +\newcommand*\hitsz@tokens@majorin{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@instructor} +% 指导教师 +% \begin{macrocode} +\newcommand*\hitsz@tokens@instructor{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@titleone} +% 第一行标题 +% \begin{macrocode} +\newcommand*\hitsz@tokens@titleone{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\hitsz@tokens@titletwo} +% 第二行标题 +% \begin{macrocode} +\newcommand*\hitsz@tokens@titletwo{} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{定义与常量有关的新命令} +% +% \begin{macro}{\thesistitle} +% 输入论文标题 +% \begin{macrocode} +\newcommand*\thesistitle[1]{% + \renewcommand{\hitsz@tokens@thesistitle}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\papercategory} +% 输入论文类别 +% \begin{macrocode} +\newcommand*\papercategory[1]{% + \renewcommand{\hitsz@tokens@papercategory}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\schoolname} +% 输入校名 +% \begin{macrocode} +\newcommand*\schoolname[1]{% + \renewcommand{\hitsz@tokens@schoolname}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\departname} +% 输入院系名称 +% \begin{macrocode} +\newcommand*\departname[1]{% + \renewcommand{\hitsz@tokens@departname}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\dateinput} +% 输入日期 +% \begin{macrocode} +\newcommand*\dateinput[1]{% + \renewcommand{\hitsz@tokens@dateinput}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\authorname} +% 输入姓名 +% \begin{macrocode} +\newcommand*\authorname[1]{% + \renewcommand{\hitsz@tokens@authorname}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\studentID} +% 输入学号 +% \begin{macrocode} +\newcommand*\studentID[1]{% + \renewcommand{\hitsz@tokens@studentID}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\majorin} +% 输入专业 +% \begin{macrocode} +\newcommand*\majorin[1]{% + \renewcommand{\hitsz@tokens@majorin}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\instructor} +% 输入指导教师 +% \begin{macrocode} +\newcommand*\instructor[1]{% + \renewcommand{\hitsz@tokens@instructor}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\titleone} +% 输入第一行标题 +% \begin{macrocode} +\newcommand*\titleone[1]{% + \renewcommand{\hitsz@tokens@titleone}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\titletwo} +% 输入第二行标题 +% \begin{macrocode} +\newcommand*\titletwo[1]{% + \renewcommand{\hitsz@tokens@titletwo}{#1}} +% \end{macrocode} +% \end{macro} +% +% \subsection{定义常量的值} +% \begin{macro}{\listfigurename} +% \begin{macro}{\listtablename} +% \begin{macro}{\abstractname} +% \begin{macro}{\keywordsname} +% \begin{macro}{\keywordsenname} +% \begin{macro}{\contentsname} +% \begin{macro}{\figurename} +% \begin{macro}{\tablename} +% \begin{macro}{\partname} +% \begin{macro}{\bibname} +% \begin{macro}{\appendixname} +% \begin{macro}{\indexname} +% \begin{macro}{\notename} +% \begin{macro}{\proofname} +% \begin{macro}{\problemname} +% \begin{macro}{\definitionname} +% \begin{macro}{\theoremname} +% \begin{macro}{\axiomname} +% \begin{macro}{\postulatename} +% \begin{macro}{\lemmaname} +% \begin{macro}{\propositionname} +% \begin{macro}{\corollaryname} +% \begin{macro}{\examplename} +% \begin{macro}{\exercisename} +% \begin{macro}{\remarkname} +% \begin{macro}{\assumptionname} +% \begin{macro}{\conclusionname} +% 中文标题名称设置 +% \begin{macrocode} +\renewcommand\listfigurename{插图目录} +\renewcommand\listtablename{附表目录} +\renewcommand\abstractname{摘\quad 要} +\newcommand{\keywordsname}{关键词} +\newcommand{\keywordsenname}{Keywords} +\renewcommand{\contentsname}{目\quad 录} +\renewcommand{\figurename}{图} +\renewcommand{\tablename}{表} +\renewcommand{\partname}{部分} +\renewcommand{\bibname}{参考文献} +\renewcommand{\appendixname}{附录~\thechapter} +\renewcommand{\indexname}{索\quad 引} +\newcommand{\notename}{笔记} +\renewcommand*{\proofname}{证明} +\newcommand{\problemname}{问题} +\newcommand{\definitionname}{定义} +\newcommand{\theoremname}{定理} +\newcommand{\axiomname}{公理} +\newcommand{\postulatename}{公设} +\newcommand{\lemmaname}{引理} +\newcommand{\propositionname}{命题} +\newcommand{\corollaryname}{推论} +\newcommand{\examplename}{例} +\newcommand{\exercisename}{练习} +\newcommand{\remarkname}{注} +\newcommand{\assumptionname}{假设} +\newcommand{\conclusionname}{结论} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\solutionname} +% \begin{macro}{\propertyname} +% 继续定义 +% \begin{macrocode} +\newcommand{\solutionname}{解} +\newcommand{\propertyname}{性质} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \vskip0.3cm +% \subsection{字号设置} +% \begin{macro}{\hitsz@def@fontsize} +% 中英字号转换 +% \begin{macrocode} +\def\hitsz@def@fontsize#1#2{% + \expandafter\newcommand\csname #1\endcsname[1][1.3]{% + \fontsize{#2}{##1\dimexpr #2}\selectfont}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\chuhao} +% \begin{macro}{\xiaochu} +% \begin{macro}{\yihao} +% \begin{macro}{\xiaoyi} +% \begin{macro}{\erhao} +% 定义一组字号 +% \begin{macrocode} +\hitsz@def@fontsize{chuhao}{42bp} +\hitsz@def@fontsize{xiaochu}{36bp} +\hitsz@def@fontsize{yihao}{26bp} +\hitsz@def@fontsize{xiaoyi}{24bp} +\hitsz@def@fontsize{erhao}{22bp} +% \end{macrocode} +% \begin{macro}{\xiaoer} +% \begin{macro}{\sanhao} +% \begin{macro}{\xiaosan} +% \begin{macro}{\sihao} +% \begin{macro}{\banxiaosi} +% \begin{macro}{\xiaosi} +% \begin{macro}{\dawu} +% \begin{macro}{\wuhao} +% \begin{macro}{\xiaowu} +% \begin{macro}{\liuhao} +% \begin{macro}{\xiaoliu} +% \begin{macro}{\qihao} +% \begin{macro}{\bahao} +% 继续定义字号 +% \begin{macrocode} +\hitsz@def@fontsize{xiaoer}{18bp} +\hitsz@def@fontsize{sanhao}{16bp} +\hitsz@def@fontsize{xiaosan}{15bp} +\hitsz@def@fontsize{sihao}{14bp} +\hitsz@def@fontsize{banxiaosi}{13bp} +\hitsz@def@fontsize{xiaosi}{12bp} +\hitsz@def@fontsize{dawu}{11bp} +\hitsz@def@fontsize{wuhao}{10.5bp} +\hitsz@def@fontsize{xiaowu}{9bp} +\hitsz@def@fontsize{liuhao}{7.5bp} +\hitsz@def@fontsize{xiaoliu}{6.5bp} +\hitsz@def@fontsize{qihao}{5.5bp} +\hitsz@def@fontsize{bahao}{5bp} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{图片搜索目录设置} +% \begin{macro}{\graphicspath} +% 图片搜索目录 +% \begin{macrocode} +\graphicspath{{./figure/}{./figures/}{./image/}{./images/} +{./graphics/}{./graphic/}{./pictures/}{./picture/}{./front/}} +% \end{macrocode} +% \end{macro} +% +% \subsection{页面设置} +% \begin{macro}{\geometry} +% 页面设置,按照撰写示例word模板设置页边距 +% \begin{macrocode} +\RequirePackage{geometry} +\geometry{ + a4paper, + left=30mm, + right=30mm, + top=41mm, + bottom=30mm, + headheight = 2.17cm, + headsep = 1mm, + footskip = 0cm, +} +% \end{macrocode} +% \end{macro} +% +% \subsection{超链接设置} +% \begin{macro}{\hypersetup} +% 超链接设置,设置目录、图表公式引用的跳转 +% \begin{macrocode} +\RequirePackage{hyperref} +\hypersetup{ + breaklinks, + unicode, + linktoc=all, + bookmarksnumbered=true, + bookmarksopen=true, + pdfsubject={哈尔滨工业大学(深圳)本科毕业设计(论文)}, + pdftitle = {哈尔滨工业大学(深圳)本科毕业设计(论文)}, + pdfauthor = {杨敬轩}, + pdfkeywords={HITSZThesis, Dissertation}, + pdfcreator={XeLaTeX with hitszthesis class}, + colorlinks, + linkcolor=black, + citecolor=black, + plainpages=false, + pdfstartview=FitH, + pdfborder={0 0 0}, +} +% \end{macrocode} +% \end{macro} +% +% \subsection{正文内容设置} +% 章节设置 +% \begin{macrocode} +\RequirePackage[pagestyles]{titlesec} +\RequirePackage{apptools} +% \end{macrocode} +% +% \begin{macro}{\setcounter} +% \begin{macro}{\chaptername} +% 更改章节编号样式 +% \begin{macrocode} +\setcounter{secnumdepth}{3} +\renewcommand{\chaptername}{第 \thechapter\;章} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\titleformat} +% 设置章节标题样式 +% \begin{macrocode} +\titleformat{\chapter}[hang]{\centering\heiti} +{\filcenter\xiaoer\enspace\heiti{% +\IfAppendix{\appendixname}{\chaptername}\enspace}}{1pt}{\xiaoer} +% \end{macrocode} +% +% 设置节标题样式 +% \begin{macrocode} +\titleformat{\section}[hang]{\heiti} +{\xiaosan\heiti{\thesection}\enspace}{1pt}{\xiaosan\heiti\filright} +% \end{macrocode} +% +% 设置条标题样式 +% \begin{macrocode} +\titleformat{\subsection}[hang]{\heiti} +{\sihao\heiti\thesubsection\enspace}{1pt}{\sihao\heiti\filright} +% \end{macrocode} +% +% 设置四级标题样式 +% \begin{macrocode} +\titleformat{\subsubsection}[hang]{\heiti} +{\xiaosi\heiti\thesubsubsection\enspace}{1pt}{\xiaosi\heiti\filright} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\titlespacing} +% 设置标题与上下文间距 +% \begin{macrocode} +\titlespacing{\chapter}{0pt}{0bp}{14.4bp} +\titlespacing{\section}{0pt}{7.5bp}{7.5bp} +\titlespacing{\subsection}{0pt}{7bp}{7bp} +\titlespacing{\subsubsection}{0pt}{6bp}{6bp} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\captionsetup} +% 图表标题设置,字号为small,分割符为空格 +% \begin{macrocode} +\RequirePackage[font=small,labelsep=quad]{caption} +% \end{macrocode} +% +% 标题与图表的间距为3pt +% \begin{macrocode} +\captionsetup[table]{skip=3pt} +\captionsetup[figure]{skip=10pt} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\figref} +% \begin{macro}{\tabref} +% \begin{macro}{\equref} +% 图表的引用格式 +% \begin{macrocode} +\newcommand\figref[1]{图\ref{#1}} +\newcommand\tabref[1]{表\ref{#1}} +\newcommand\equref[1]{式(\ref{#1})} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\setlist} +% 设置列表环境各项间无自动间距 +% \begin{macrocode} +\setlist{nolistsep} +% \end{macrocode} +% \end{macro} +% +% \subsection{定理样式设置} +% 定义各类定理样式 +% \begin{macrocode} +\RequirePackage{amsthm} +\let\proof\relax +\let\endproof\relax +% \end{macrocode} +% +% \begin{macro}{\newtheoremstyle} +% 定义新定义样式 +% \begin{macrocode} +\newtheoremstyle{ydefstyle}{3pt}{3pt}{\itshape}{}{\bfseries}{}{% + 0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} +% \end{macrocode} +% +% 定义新定理样式 +% \begin{macrocode} +\newtheoremstyle{ythmstyle}{3pt}{3pt}{\itshape}{}{\bfseries}{}{% + 0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} +% \end{macrocode} +% +% 定义新命题样式 +% \begin{macrocode} +\newtheoremstyle{yprostyle}{3pt}{3pt}{\itshape}{}{\bfseries}{}{% + 0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\theoremstyle} +% \begin{macro}{\newtheorem} +% 应用定义样式 +% \begin{macrocode} +\theoremstyle{ydefstyle} +\newtheorem{ydefinition}{\definitionname }[chapter] +% \end{macrocode} +% +% 应用定理样式 +% \begin{macrocode} +\theoremstyle{ythmstyle} +\newtheorem{ytheorem}{\theoremname }[chapter] +\newtheorem{ylemma}{\lemmaname }[chapter] +\newtheorem{ycorollary}{\corollaryname }[chapter] +\newtheorem{ypostulate}{\postulatename }[chapter] +\newtheorem{yaxiom}{\axiomname }[chapter] +% \end{macrocode} +% +% 应用命题样式 +% \begin{macrocode} +\theoremstyle{yprostyle} +\newtheorem{yproposition}{\propositionname }[chapter] +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{environment}{theorem} +% 定义新定理环境 +% \begin{macrocode} +\newenvironment{theorem}[2] + {\ifstrempty{#1}{\ytheorem}{\ytheorem[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endytheorem} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{definition} +% 定义新定义环境 +% \begin{macrocode} +\newenvironment{definition}[2] + {\ifstrempty{#1}{\ydefinition}{\ydefinition[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endydefinition} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{lemma} +% 定义新引理环境 +% \begin{macrocode} +\newenvironment{lemma}[2] + {\ifstrempty{#1}{\ylemma}{\ylemma[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endylemma} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{corollary} +% 定义新推论环境 +% \begin{macrocode} +\newenvironment{corollary}[2] + {\ifstrempty{#1}{\ycorollary}{\ycorollary[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endycorollary} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{postulate} +% 定义新公设环境 +% \begin{macrocode} +\newenvironment{postulate}[2] + {\ifstrempty{#1}{\ypostulate}{\ypostulate[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endypostulate} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{axiom} +% 定义新公理环境 +% \begin{macrocode} +\newenvironment{axiom}[2] + {\ifstrempty{#1}{\yaxiom}{\yaxiom[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endyaxiom} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{proposition} +% 定义新命题环境 +% \begin{macrocode} +\newenvironment{proposition}[2] + {\ifstrempty{#1}{\yproposition}{\yproposition[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endyproposition} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{note} +% 定义新注解环境 +% \begin{macrocode} +\newenvironment{note}{ + \par\noindent\textbf{\notename\,} + \itshape}{\par} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{proof} +% 定义新证明环境 +% \begin{macrocode} +\newenvironment{proof}{ + \par\noindent\textbf{\proofname\;} +}{\hfill$\Box$\quad\par} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{solution} +% 定义新解答环境 +% \begin{macrocode} +\newenvironment{solution}{\medskip\par\noindent\textbf{\solutionname} \itshape}{\par} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{remark} +% 定义新注释环境 +% \begin{macrocode} +\newenvironment{remark}{\noindent\textbf{\remarkname}}{\par} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{assumption} +% 定义新假设环境 +% \begin{macrocode} +\newenvironment{assumption}{\par\noindent\textbf{\assumptionname}}{\par} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{conclusion} +% 定义新结论环境 +% \begin{macrocode} +\newenvironment{conclusion}{\par\noindent\textbf{\conclusionname}}{\par} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{property} +% 定义新性质环境 +% \begin{macrocode} +\newenvironment{property}{\par\noindent\textbf{\propertyname}}{\par} +% \end{macrocode} +% \end{environment} +% +% \subsection{封面设置} +% \begin{macro}{\maketitle} +% 重定义\cs{maketitle}命令 +% \begin{macrocode} +\renewcommand{\maketitle}{\par + \begingroup + \newgeometry{left=20mm,right=20mm,top=30mm,bottom=35mm} + \newpage + % 禁止图片位于页面最上方 + \global\@topnum\z@ + \@maketitle % 下面再设置封面具体内容 + \endgroup + % 先取消原来封面样式的所有设置,以便后面重写此命令 + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +% 定义封面具体内容 +\newdimen\infowidth +\infowidth = 6.5cm +\def\@maketitle{% + \newpage + % 开始写封面 + \thispagestyle{empty} + \vspace*{2cm} + %%------------------------ + \begin{center} + \ifdefstring{\hitsz@covertitle}{tworow}{ + \parbox[t][1.4cm][t]{\textwidth}{ + \begin{center}\erhao[0]\bfseries\hitsz@tokens@titleone\end{center} + }\par + \parbox[t][2.5cm][t]{\textwidth}{ + \begin{center}\erhao[0]\bfseries\hitsz@tokens@titletwo\end{center} + }\par + }{\relax} + \ifdefstring{\hitsz@covertitle}{onerow}{ + \parbox[t][3.4cm][t]{\textwidth}{ + \begin{center}\erhao[0]\bfseries\hitsz@tokens@thesistitle\end{center} + } + }{\relax} + \parbox[t][8.7cm][t]{\textwidth}{ + \begin{center}\xiaoer[0]\song\textbf{\ziju{0.2}\hitsz@tokens@authorname}\end{center} + } + \begin{center} + \bfseries + \begin{tabular}{rl} +{\xiaosi 学\hphantom{教师}院:} & \xiaosi\hitsz@tokens@departname\\[14pt] +{\xiaosi 学\hphantom{教师}号:} & \xiaosi\hitsz@tokens@studentID + \end{tabular} + \hspace{0.5cm} + \begin{tabular}{rl} +{\xiaosi 专\hphantom{教师}业:} & \xiaosi\hitsz@tokens@majorin\\[14pt] +{\xiaosi 指导教师:} & \xiaosi\hitsz@tokens@instructor + \end{tabular} + \end{center} + % 日期 + \vspace{2.6cm} + {\xiaosi[0]\song\textbf{2020年7月}} + \end{center} + %%---------------------------- +%% 第二页 +\clearpage +\thispagestyle{empty} + \vspace*{0.8cm} + \centering\includegraphics[width=8cm]{HITSZname} + \vspace{1.3cm} + \begin{center} + \centering\includegraphics[width=10.5cm]{thesistitle} + \vfill + \parbox[t][14.2cm][b]{\textwidth} + {\heiti\xiaosan + \begin{center} \renewcommand{\arraystretch}{2.6} \bfseries + % 居中对齐 + \ifdefstring{\hitsz@infoalign}{infocenter}{ + \begin{tabular}{l@{\ \ }c} + {\xiaoer 题\hphantom{\ 导\ \ \ }目} & + \underline{\makebox[\infowidth]{% + \xiaoer \hitsz@tokens@titleone}}\\ + & \underline{\makebox[\infowidth]{% + \xiaoer \hitsz@tokens@titletwo}}\\ + & \\ + {\xiaosan 专\hphantom{\ 导\ 教\ }业} & + \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@majorin}}\\ + {\xiaosan 学\hphantom{\ 导\ 教\ }号} & + \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@studentID}}\\ + {\xiaosan 学\hphantom{\ 导\ 教\ }生} & + \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@authorname}}\\ + {\xiaosan 指\ 导\ 教\ 师} & \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@instructor}}\\ + {\xiaosan 答\ 辩\ 日\ 期} & \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@dateinput}} + \end{tabular} \renewcommand{\arraystretch}{1} + }{\relax} + % 左对齐 + \ifdefstring{\hitsz@infoalign}{infoleft}{ + \begin{tabular}{l@{\ \ }c} + {\xiaoer 题\hphantom{\ 导\ \ \ }目} & + \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaoer \hitsz@tokens@titleone}}\\ + & \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaoer \hitsz@tokens@titletwo}}\\ + & \\ + {\xiaosan 专\hphantom{\ 导\ 教\ }业} & + \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@majorin}}\\ + {\xiaosan 学\hphantom{\ 导\ 教\ }号} & + \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@studentID}}\\ + {\xiaosan 学\hphantom{\ 导\ 教\ }生} & + \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@authorname}}\\ + {\xiaosan 指\ 导\ 教\ 师} & \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@instructor}}\\ + {\xiaosan 答\ 辩\ 日\ 期} & \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@dateinput}} + \end{tabular} \renewcommand{\arraystretch}{1} + }{\relax} + \end{center} + } + \end{center} + \restoregeometry + \clearpage +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\frontmatter} +% 设置前言页码编号为大写罗马数字 +% \begin{macrocode} +\renewcommand{\frontmatter}{% +\cleardoublepage +\@mainmatterfalse +\pagenumbering{Roman} +} +% \end{macrocode} +% \end{macro} +% +% \subsection{中英文摘要环境与关键词命令设置} +% \begin{environment}{abstract} +%% 中文摘要环境 +% \begin{macrocode} +\newenvironment{abstract}{\chapter*{\abstractname} +\addcontentsline{toc}{chapter}{\abstractname} +}{\if@twocolumn\else\null\fi} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{keywords} +% 中文关键词环境 +% \begin{macrocode} +\newcommand\keywords[1]{% + \renewcommand{\hitsz@tokens@keywords}{#1} + {\vskip18pt + \hspace{-30bp}\begin{tabular}{lp{132mm}} + {\zihao{-4}\heiti\keywordsname:}& + {\xiaosi\hitsz@tokens@keywords} + \end{tabular}} +} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{abstracten} +% 英文摘要环境 +% \begin{macrocode} +\newenvironment{abstracten}{\chapter*{\bfseries Abstract} +\addcontentsline{toc}{chapter}{ABSTRACT} +}{\if@twocolumn\else\null\fi} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{keywordsen} +% 英文关键词环境 +% \begin{macrocode} +\newcommand\keywordsen[1]{% + \renewcommand{\hitsz@tokens@keywordsen}{#1} + {\vskip 18pt + \hspace{-30bp}\begin{tabular}{lp{127mm}} + {\zihao{-4}\bf\keywordsenname:}& + {\xiaosi\hitsz@tokens@keywordsen} + \end{tabular}} +} +% \end{macrocode} +% \end{environment} +% +% \subsection{原创性声明设置} +% \begin{macro}{\declaration} +% 定义原创性声明命令 +% \begin{macrocode} +\newcommand{\declaration}{\par + \begingroup + \hitsz@declaration + \endgroup +} +% \end{macrocode} +% +% 定义原创性声明具体内容 +% \begin{macrocode} +\def\hitsztitle{\hitsz@tokens@thesistitle} +\def\hitszauthor{\hitsz@tokens@authorname} +\def\hitsz@declaration{ +\chapter*{\sanhao 哈尔滨工业大学(深圳)本科毕业设计(论文)原创性声明} +\addcontentsline{toc}{chapter}{原创性声明}\par +本人郑重声明:在哈尔滨工业大学(深圳)攻读学士学位期间,所提交的毕业设计(论文)《\hitsztitle》,是本人在导师指导下独立进行研究工作所取得的成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明,其它未注明部分不包含他人已发表或撰写过的研究成果,不存在购买、由他人代写、剽窃和伪造数据等作假行为。 +\par +本人愿为此声明承担法律责任。\par +\vspace{30pt} +\hspace{6em}作者签名:\hspace{8em}日期:\hspace{3em}年\hspace{1.5em}月\hspace{1.5em}日 +} +% \end{macrocode} +% \end{macro} +% +% \subsection{参考文献设置} +% \begin{environment}{thebibliography} +% 重定义参考文献环境 +% \begin{macrocode} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +% \end{macrocode} +% \end{environment} +% +% \subsection{页眉页脚设置} +% \begin{macro}{\pagestyle} +% 定义页眉页脚 +% \begin{macrocode} +\RequirePackage{fancyhdr} +\RequirePackage{lastpage} +\pagestyle{fancy} +% \end{macrocode} +% +% 页眉 +% \begin{macrocode} +\lhead{} +\chead{\wuhao 哈尔滨工业大学(深圳)本科毕业设计(论文)} +\rhead{} +% \end{macrocode} +% +% 页脚 +% \begin{macrocode} +\lfoot{} +\cfoot{\wuhao -\thepage-} +\rfoot{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\makeheadrule} +% 定义页眉双横线样式,注意下面代码中的\pkg{\%}不能删 +% \begin{macrocode} +\newcommand{\makeheadrule}{% +\makebox[0pt][l]{\rule[1mm]{\headwidth}{0.4mm}}% +\rule[0.35\baselineskip]{\headwidth}{0.8mm}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\headrule} +% 定义页眉横线为双横线 +% \begin{macrocode} +\renewcommand{\headrule}{% +{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi% +\makeheadrule}} +% \end{macrocode} +% \end{macro} +% +% \subsection{目录格式设置} +% +% \begin{macro}{\titlecontents} +% 设置目录格式,目录只有三级 +% +% 1级目录格式 +% \begin{macrocode} +\titlecontents{chapter}[0pt]{\vspace{1mm}\heiti} +{第\thecontentslabel\,\,章\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage} +% \end{macrocode} +% +% 2级目录格式 +% \begin{macrocode} +\titlecontents{section}[25pt]{\songti} +{\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage} +% \end{macrocode} +% +% 3级目录格式 +% \begin{macrocode} +\titlecontents{subsection}[47pt]{\songti} +{\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage} +% \end{macrocode} +% \end{macro} +% +% 附录环境设置,暂时无用 +% \begin{macrocode} +\RequirePackage[title,titletoc]{appendix} +% \end{macrocode} +% +% \begin{environment}{tabular} +% 修改表格字号,注意 |tabular| 要放在 |table| 环境里 +% \begin{macrocode} +\BeforeBeginEnvironment{tabular}{\wuhao} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{table} +% 修改表格与后文间距,缩短1cm +% \begin{macrocode} +\AfterEndEnvironment{table}{\vspace{-1cm}} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\newcounter} +% 新计数器,编排表格编号用 +% \begin{macrocode} +\newcounter{rowno} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\thefigure} +% \begin{macro}{\thetable} +% \begin{macro}{\theequation} +% 设置图表公式编号格式为1-1 +% \begin{macrocode} +\renewcommand{\thefigure}{\thechapter-\arabic{figure}} +\renewcommand{\thetable}{\thechapter-\arabic{table}} +\renewcommand{\theequation}{\thechapter-\arabic{equation}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{其他杂项设置} +% \begin{macro}{\usetikzlibrary} +% 使用\pkg{tikz}配置流程图基本图形 +% \begin{macrocode} +\usetikzlibrary{shapes.geometric, arrows} +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{startstop} +% 开始 +% \begin{macrocode} +\tikzstyle{startstop} = [rectangle, rounded corners, minimum width = 2cm, +minimum height=1cm,text centered, draw = black] +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{io} +% 输入输出 +% \begin{macrocode} +\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, +minimum width=2cm, minimum height=1cm, text centered, draw=black] +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{process} +% 过程 +% \begin{macrocode} +\tikzstyle{process} = [rectangle, minimum width=3cm, minimum height=1cm, +text centered, draw=black] +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{decision} +% 判断 +% \begin{macrocode} +\tikzstyle{decision} = [diamond, aspect = 3, text centered, draw=black] +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{arrow} +% 箭头形式 +% \begin{macrocode} +\tikzstyle{arrow} = [->,>=stealth] +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\upcite} +% 参考文献标号为上标 +% \begin{macrocode} +\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{\cite{#1}}}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\thefootnote} +% 设置脚注编号格式 +% \begin{macrocode} +\renewcommand{\thefootnote}{\fnsymbol{footnote}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\chapter} +% 解决book类文档章首页和目录页没有页眉页脚的问题 +% \begin{macrocode} +\makeatletter +\renewcommand\chapter{ + \if@openright\cleardoublepage + \else\clearpage + \fi + \thispagestyle{fancy} + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter +} +\makeatother +% \end{macrocode} +% \end{macro} +% +% \subsection{新数学命令设置} +% \begin{macro}{\dif} +% \begin{macro}{\no} +% \begin{macro}{\dis} +% \begin{macro}{\ls} +% \begin{macro}{\gs} +% 新简记数学命令 +% \begin{macrocode} +\newcommand\dif{\text{d}} +\newcommand\no{\noindent} +\newcommand\dis{\displaystyle} +\newcommand\ls{\leqslant} +\newcommand\gs{\geqslant} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\limit} +% \begin{macro}{\limn} +% \begin{macro}{\limxz} +% \begin{macro}{\limxi} +% \begin{macro}{\limxpi} +% \begin{macro}{\limxni} +% \begin{macro}{\limtpi} +% \begin{macro}{\limtni} +% 极限 +% \begin{macrocode} +\newcommand\limit{\dis\lim\limits} +\newcommand\limn{\dis\lim\limits_{n\to\infty}} +\newcommand\limxz{\dis\lim\limits_{x\to0}} +\newcommand\limxi{\dis\lim\limits_{x\to\infty}} +\newcommand\limxpi{\dis\lim\limits_{x\to+\infty}} +\newcommand\limxni{\dis\lim\limits_{x\to-\infty}} +\newcommand\limtpi{\dis\lim\limits_{t\to+\infty}} +\newcommand\limtni{\dis\lim\limits_{t\to-\infty}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\sumn} +% \begin{macro}{\sumnz} +% $n$求和 +% \begin{macrocode} +\newcommand\sumn{\dis\sum\limits_{n=1}^{\infty}} +\newcommand\sumnz{\dis\sum\limits_{n=0}^{\infty}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\sumi} +% \begin{macro}{\sumiz} +% \begin{macro}{\sumin} +% \begin{macro}{\sumizn} +% $i$求和 +% \begin{macrocode} +\newcommand\sumi{\dis\sum\limits_{i=1}^{\infty}} +\newcommand\sumiz{\dis\sum\limits_{i=0}^{\infty}} +\newcommand\sumin{\dis\sum\limits_{i=1}^{n}} +\newcommand\sumizn{\dis\sum\limits_{i=0}^{n}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\sumk} +% \begin{macro}{\sumkz} +% \begin{macro}{\sumkn} +% \begin{macro}{\sumkfn} +% $k$求和 +% \begin{macrocode} +\newcommand\sumk{\dis\sum\limits_{k=1}^{\infty}} +\newcommand\sumkz{\dis\sum\limits_{k=0}^{\infty}} +\newcommand\sumkn{\dis\sum\limits_{k=0}^n} +\newcommand\sumkfn{\dis\sum\limits_{k=1}^n} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\pzx} +% \begin{macro}{\pzy} +% $z$偏微分 +% \begin{macrocode} +\newcommand\pzx{\dis\frac{\partial z}{\partial x}} +\newcommand\pzy{\dis\frac{\partial z}{\partial y}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\pfx} +% \begin{macro}{\pfy} +% $f$偏微分 +% \begin{macrocode} +\newcommand\pfx{\dis\frac{\partial f}{\partial x}} +\newcommand\pfy{\dis\frac{\partial f}{\partial y}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\pzxx} +% \begin{macro}{\pzxy} +% \begin{macro}{\pzyx} +% \begin{macro}{\pzyy} +% $z$二重偏微分 +% \begin{macrocode} +\newcommand\pzxx{\dis\frac{\partial^2 z}{\partial x^2}} +\newcommand\pzxy{\dis\frac{\partial^2 z}{\partial x\partial y}} +\newcommand\pzyx{\dis\frac{\partial^2 z}{\partial y\partial x}} +\newcommand\pzyy{\dis\frac{\partial^2 z}{\partial y^2}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\pfxx} +% \begin{macro}{\pfxy} +% \begin{macro}{\pfyx} +% \begin{macro}{\pfyy} +% $f$二重偏微分 +% \begin{macrocode} +\newcommand\pfxx{\dis\frac{\partial^2 f}{\partial x^2}} +\newcommand\pfxy{\dis\frac{\partial^2 f}{\partial x\partial y}} +\newcommand\pfyx{\dis\frac{\partial^2 f}{\partial y\partial x}} +\newcommand\pfyy{\dis\frac{\partial^2 f}{\partial y^2}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\intzi} +% \begin{macro}{\intd} +% \begin{macro}{\intab} +% 积分 +% \begin{macrocode} +\newcommand\intzi{\dis\int_{0}^{+\infty}} +\newcommand\intd{\dis\int} +\newcommand\intab{\dis\int_a^b} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\degree} +% 角度符号 +% \begin{macrocode} +\newcommand{\degree}{^\circ} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ma} +% 花体 +% \begin{macrocode} +\newcommand\ma{\mathcal{A}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\mb} +% \begin{macro}{\mc} +% \begin{macro}{\me} +% \begin{macro}{\mg} +% 继续定义 +% \begin{macrocode} +\newcommand\mb{\mathcal{B}} +\newcommand\mc{\mathcal{C}} +\newcommand\me{\mathcal{E}} +\newcommand\mg{\mathcal{g}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\mcc} +% \begin{macro}{\mrr} +% \begin{macro}{\mzz} +% 重体 +% \begin{macrocode} +\newcommand\mcc{\mathbb{C}} +\newcommand\mrr{\mathbb{R}} +\newcommand\mzz{\mathbb{Z}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\vx} +% \begin{macro}{\vX} +% \begin{macro}{\vy} +% \begin{macro}{\vY} +% 向量 +% \begin{macrocode} +\newcommand\vx{\bf{x}} +\newcommand\vX{\bf{X}} +\newcommand\vy{\bf{y}} +\newcommand\vY{\bf{Y}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\sgn} +% \begin{macro}{\arccot} +% \begin{macro}{\arccosh} +% 定义新数学符号 +% \begin{macrocode} +\DeclareMathOperator{\sgn}{sgn} +\DeclareMathOperator{\arccot}{arccot} +\DeclareMathOperator{\arccosh}{arccosh} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\arcsinh} +% \begin{macro}{\arctanh} +% \begin{macro}{\arccoth} +% \begin{macro}{\grad} +% \begin{macro}{\argmax} +% \begin{macro}{\argmin} +% \begin{macro}{\diag} +% \begin{macro}{\csign} +% 继续定义数学符号 +% \begin{macrocode} +\DeclareMathOperator{\arcsinh}{arcsinh} +\DeclareMathOperator{\arctanh}{arctanh} +\DeclareMathOperator{\arccoth}{arccoth} +\DeclareMathOperator{\grad}{\bf{grad}} +\DeclareMathOperator{\argmax}{argmax} +\DeclareMathOperator{\argmin}{argmin} +\DeclareMathOperator{\diag}{diag} +\DeclareMathOperator{\csign}{csign} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsection{书脊} +% \label{sec:spine} +% \begin{macro}{\spine} +% 单独使用书脊命令会在新的一页产生竖排书脊。 +% \begin{macrocode} +\newcommand{\spine}{% + \begingroup + \hitsz@spine + \endgroup +} +\def\hitsz@spine{% + \newpage\thispagestyle{empty}% + \fangsong\addCJKfontfeatures*{RawFeature={vertical:}} + \xiaosan\ziju{0.4}% + \noindent\hfill\rotatebox[origin=lt]{-90}{% + \makebox[\textheight]{\hitsztitle \hfill \hitszauthor} + } +} +% \end{macrocode} +% \end{macro} +% +% \subsection{其它} +% \label{sec:other} +% +% 在模板文档结束时即装入配置文件,这样用户就能在导言区进行相应的修改。 +% \begin{macrocode} +\AtEndOfClass{\sloppy} +%</cls> +% \end{macrocode} +% +% \iffalse +% \begin{macrocode} +%<*dtx-style> +\ProvidesPackage{dtx-style} +\RequirePackage{hypdoc} +\RequirePackage{ifthen} +\RequirePackage[UTF8,scheme=chinese]{ctex} +\RequirePackage{newtxtext} +\RequirePackage{newtxmath} +\RequirePackage[ + top=2.5cm, bottom=2.5cm, + left=5cm, right=1.5cm, + headsep=8mm]{geometry} +\RequirePackage{array,longtable,booktabs} +\RequirePackage{listings} +\RequirePackage{fancyhdr} +\RequirePackage{xcolor} +\RequirePackage{enumitem} +\RequirePackage{etoolbox} +\RequirePackage{metalogo} + +\ifthenelse{\equal{\@nameuse{g__ctex_fontset_tl}}{mac}}{% + \xeCJKsetwidth{‘’“”}{1em} +}{} + +\colorlet{hitsz@macro}{blue!60!black} +\colorlet{hitsz@env}{blue!70!black} +\colorlet{hitsz@option}{purple} +\patchcmd{\PrintMacroName}{\MacroFont}{\MacroFont\bfseries\color{hitsz@macro}}{}{} +\patchcmd{\PrintDescribeMacro}{\MacroFont}{\MacroFont\bfseries\color{hitsz@macro}}{}{} +\patchcmd{\PrintDescribeEnv}{\MacroFont}{\MacroFont\bfseries\color{hitsz@env}}{}{} +\patchcmd{\PrintEnvName}{\MacroFont}{\MacroFont\bfseries\color{hitsz@env}}{}{} + +\def\DescribeOption{% + \leavevmode\@bsphack\begingroup\MakePrivateLetters% + \Describe@Option} +\def\Describe@Option#1{\endgroup + \marginpar{\raggedleft\PrintDescribeOption{#1}}% + \hitsz@special@index{option}{#1}\@esphack\ignorespaces} +\def\PrintDescribeOption#1{\strut \MacroFont\bfseries\sffamily\color{hitsz@option} #1\ } +\def\hitsz@special@index#1#2{\@bsphack + \begingroup + \HD@target + \let\HDorg@encapchar\encapchar + \edef\encapchar usage{% + \HDorg@encapchar hdclindex{\the\c@HD@hypercount}{usage}% + }% + \index{#2\actualchar{\string\ttfamily\space#2} + (#1)\encapchar usage}% + \index{#1:\levelchar#2\actualchar + {\string\ttfamily\space#2}\encapchar usage}% + \endgroup + \@esphack} + +\lstdefinestyle{lstStyleBase}{% + basicstyle=\small\ttfamily, + aboveskip=\medskipamount, + belowskip=\medskipamount, + lineskip=0pt, + boxpos=c, + showlines=false, + extendedchars=true, + upquote=true, + tabsize=2, + showtabs=false, + showspaces=false, + showstringspaces=false, + numbers=none, + linewidth=\linewidth, + xleftmargin=4pt, + xrightmargin=0pt, + resetmargins=false, + breaklines=true, + breakatwhitespace=false, + breakindent=0pt, + breakautoindent=true, + columns=flexible, + keepspaces=true, + gobble=2, + framesep=3pt, + rulesep=1pt, + framerule=1pt, + backgroundcolor=\color{gray!5}, + stringstyle=\color{green!40!black!100}, + keywordstyle=\bfseries\color{blue!50!black}, + commentstyle=\slshape\color{black!60}} + +\lstdefinestyle{lstStyleShell}{% + style=lstStyleBase, + frame=l, + rulecolor=\color{purple}, + language=bash} + +\definecolor{hitcolor}{RGB}{21,95,130} +\lstdefinestyle{lstStyleLaTeX}{% + style=lstStyleBase, + frame=l, + rulecolor=\color{hitcolor}, + language=[LaTeX]TeX} + +\lstnewenvironment{latex}{\lstset{style=lstStyleLaTeX}}{} +\lstnewenvironment{shell}{\lstset{style=lstStyleShell}}{} + +\setlist{nosep} + +\DeclareDocumentCommand{\option}{m}{\textsf{#1}} +\DeclareDocumentCommand{\env}{m}{\texttt{#1}} +\DeclareDocumentCommand{\pkg}{s m}{% + \texttt{#2}\IfBooleanF#1{\hitsz@special@index{package}{#2}}} +\DeclareDocumentCommand{\file}{s m}{% + \texttt{#2}\IfBooleanF#1{\hitsz@special@index{file}{#2}}} +\newcommand{\myentry}[1]{% + \marginpar{\raggedleft\color{purple}\bfseries\strut #1}} +\newcommand{\note}[2][Note]{{% + \color{magenta}{\bfseries #1}\emph{#2}}} + +\def\hitszthesis{\textsc{Hitsz}\-\textsc{Thesis}} +%</dtx-style> +% \end{macrocode} +% \fi +% +% \Finale +% +\endinput +% \iffalse +% Local Variables: +% mode: doctex +% TeX-master: t +% End: +% \fi diff --git a/Master/texmf-dist/source/latex/hitszthesis/hitszthesis.ins b/Master/texmf-dist/source/latex/hitszthesis/hitszthesis.ins new file mode 100644 index 00000000000..bdcb66f961d --- /dev/null +++ b/Master/texmf-dist/source/latex/hitszthesis/hitszthesis.ins @@ -0,0 +1,66 @@ +%% +%% Copyright (C) 2019-2020 by Jingxuan Yang <yanglatex2e@gmail.com> +%% +%% This file is part of the HITSZThesis package project. +%% ------------------------------------------------------------------------------ +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. + +\input docstrip + +\askforoverwritefalse +\showprogress +\keepsilent + +\usedir{tex/latex/hitszthesis} + +\preamble + +This is a generated file. + +Copyright (C) 2019-\the\year by Jingxuan Yang <yanglatex2e@gmail.com> + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +To produce the documentation run the original source files ending with `.dtx' +through LaTeX. + +\endpreamble + +\generate{\file{\jobname.cls}{\from{\jobname.dtx}{cls}} + \usepreamble\defaultpreamble\usepostamble\defaultpostamble + \file{dtx-style.sty}{\from{\jobname.dtx}{dtx-style}}} + +\ifToplevel{% + \Msg{***********************************************************} + \Msg{*} + \Msg{* To finish the installation you have to move the following} + \Msg{* files into a directory searched by TeX:} + \Msg{*} + \Msg{* The recommended directory is TEXMF/tex/latex/hitszthesis} + \Msg{*} + \Msg{* \space\space hitszthesis.cls} + \Msg{* \space\space hitszthesis-author-year.bst} + \Msg{* \space\space hitszthesis-numeric.bst} + \Msg{*} + \Msg{* To produce the documentation run the file hitszthesis.dtx} + \Msg{* through LaTeX.} + \Msg{*} + \Msg{* Happy TeXing!} + \Msg{***********************************************************}} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/hitszthesis/hitszthesis.cls b/Master/texmf-dist/tex/latex/hitszthesis/hitszthesis.cls new file mode 100644 index 00000000000..be9beec8799 --- /dev/null +++ b/Master/texmf-dist/tex/latex/hitszthesis/hitszthesis.cls @@ -0,0 +1,648 @@ +%% +%% This is file `hitszthesis.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% hitszthesis.dtx (with options: `cls') +%% +%% This is a generated file. +%% +%% Copyright (C) 2019-2020 by Jingxuan Yang <yanglatex2e@gmail.com> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% To produce the documentation run the original source files ending with `.dtx' +%% through LaTeX. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesClass{hitszthesis} +[2020/02/18 v2.0 A Bachelor Thesis Template for Harbin Institute of Technology, ShenZhen + (HITSZ)] +\RequirePackage{ifxetex} +\ifxetex\else + \ClassError{hitszthesis}{Please use XeLaTeX to compile the file}{} + \end{document} +\fi +\RequirePackage{kvoptions} +\RequirePackage{etoolbox} +\SetupKeyvalOptions{family=hitsz, prefix=hitsz@, setkeys=\kvsetkeys} +\newcommand{\ykv}[1]{\kvsetkeys{hitsz}{#1}} +\DeclareStringOption[infocenter]{infoalign} +\DeclareVoidOption{infocenter}{\ykv{infoalign = infocenter}} +\DeclareVoidOption{infoleft}{\ykv{infoalign = infoleft}} +\DeclareStringOption[onerow]{covertitle} +\DeclareVoidOption{onerow}{\ykv{covertitle = onerow}} +\DeclareVoidOption{tworow}{\ykv{covertitle = tworow}} +\DeclareStringOption[newtxmath]{mathfont} +\DeclareVoidOption{newtxmath}{\ykv{mathfont = newtxmath}} +\DeclareVoidOption{mtpro2}{\ykv{mathfont = mtpro2}} +\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{book}} +\ProcessKeyvalOptions*\relax +\LoadClass[12pt,a4paper,openany,oneside]{book} +\RequirePackage{etex} +\RequirePackage[UTF8,space=auto,scheme=plain]{ctex} +\RequirePackage{amsmath} +\RequirePackage[T1]{fontenc} +\RequirePackage{newtxtext} +\ifdefstring{\hitsz@mathfont}{mtpro2}{ +\RequirePackage[mtphrb,mtpcal,zswash,uprightGreek]{mtpro2} +}{\relax} +\ifdefstring{\hitsz@mathfont}{newtxmath}{ +\RequirePackage{newtxmath} +\let\openbox\relax +}{\relax} +\renewcommand{\rmdefault}{ptm} +\RequirePackage[scaled=0.92]{helvet} +\RequirePackage{type1cm} +\RequirePackage{lipsum} +\RequirePackage{mathdesign} +\setCJKfamilyfont{kai}[AutoFakeBold]{simkai.ttf} +\newcommand*{\kai}{\CJKfamily{kai}} +\setCJKfamilyfont{song}[AutoFakeBold]{SimSun} +\newcommand*{\song}{\CJKfamily{song}} +\linespread{1.3} +\RequirePackage{multicol} +\RequirePackage{fancyvrb} +\RequirePackage{titletoc} +\RequirePackage{xcolor} +\RequirePackage{graphicx} +\RequirePackage{array} +\RequirePackage{longtable} +\RequirePackage{booktabs} +\RequirePackage{multirow} +\RequirePackage{bigstrut} +\RequirePackage{bigdelim} +\RequirePackage{cprotect} +\RequirePackage{enumitem} +\RequirePackage{listings} +\RequirePackage{hyperref} +\RequirePackage{indentfirst} +\setlength\parindent{2em} +\RequirePackage{caption} +\RequirePackage{float} +\RequirePackage{ulem} +\RequirePackage{calc} +\RequirePackage{tikz} +\RequirePackage{bm} +\RequirePackage{cases} +\RequirePackage{siunitx} +\RequirePackage{pdfpages} +\includepdfset{fitpaper=true} +\RequirePackage{listings} +\renewcommand{\ttdefault}{cmtt} +\lstdefinestyle{ystyle}{ + basicstyle=% + \ttfamily + \lst@ifdisplaystyle\small\fi +} +\lstset{basicstyle = \ttfamily, style = ystyle, breaklines = true} +\definecolor{lightgrey}{rgb}{0.9,0.9,0.9} +\definecolor{frenchplum}{RGB}{190,20,83} +\definecolor{winered}{rgb}{0.5,0,0} +\lstset{language = [LaTeX]TeX, + texcsstyle = *\color{winered}, + numbers = none, + mathescape, + breaklines = true, + keywordstyle = \color{winered}, + commentstyle = \color{gray}, + emph = {hitszpaper,fontenc,fontspec,xeCJK,FiraMono,xunicode,newtxmath, + figure,fig,image,img,table,itemize,enumerate,newtxtext,newtxtt, + ctex, microtype,description,times,newtx,booktabs,tabular, + PDFLaTeX,XeLaTeX,type1cm,BibTeX,device,color,mode,lang, + amsthm,tcolorbox,titlestyle,cite,marginnote,ctex,listings,base, + subnumcases}, + emphstyle = {\color{frenchplum}}, + morekeywords = {DeclareSymbolFont,SetSymbolFont,toprule,midrule,bottomrule, + institute,version,includegraphics,setmainfont,setsansfont, + setmonofont,setCJKmainfont,setCJKsansfont,setCJKmonofont, + RequirePackage,figref, tabref,email,maketitle,keywords,definecolor, + extrainfo,logo,cover,subtitle,appendix,chapter,hypersetup, + mainmatter,frontmatter,tableofcontents, hitszpar,heiti,kaishu,lstset, + pagecolor,zhnumber,marginpar,part, equote,marginnote}, + frame = single, + tabsize = 2, + rulecolor = \color{black}, + framerule = 0.2pt, + columns = flexible, + % backgroundcolor = \color{lightgrey} +} +\newcommand\hitsz@tokens@thesistitle{} +\newcommand\hitsz@tokens@keywords{} +\newcommand\hitsz@tokens@keywordsen{} +\newcommand*\hitsz@tokens@papercategory{} +\newcommand*\hitsz@tokens@schoolname{} +\newcommand*\hitsz@tokens@departname{} +\newcommand*\hitsz@tokens@dateinput{} +\newcommand*\hitsz@tokens@authorname{} +\newcommand*\hitsz@tokens@studentID{} +\newcommand*\hitsz@tokens@majorin{} +\newcommand*\hitsz@tokens@instructor{} +\newcommand*\hitsz@tokens@titleone{} +\newcommand*\hitsz@tokens@titletwo{} +\newcommand*\thesistitle[1]{% +\renewcommand{\hitsz@tokens@thesistitle}{#1}} +\newcommand*\papercategory[1]{% +\renewcommand{\hitsz@tokens@papercategory}{#1}} +\newcommand*\schoolname[1]{% +\renewcommand{\hitsz@tokens@schoolname}{#1}} +\newcommand*\departname[1]{% +\renewcommand{\hitsz@tokens@departname}{#1}} +\newcommand*\dateinput[1]{% +\renewcommand{\hitsz@tokens@dateinput}{#1}} +\newcommand*\authorname[1]{% +\renewcommand{\hitsz@tokens@authorname}{#1}} +\newcommand*\studentID[1]{% +\renewcommand{\hitsz@tokens@studentID}{#1}} +\newcommand*\majorin[1]{% +\renewcommand{\hitsz@tokens@majorin}{#1}} +\newcommand*\instructor[1]{% +\renewcommand{\hitsz@tokens@instructor}{#1}} +\newcommand*\titleone[1]{% +\renewcommand{\hitsz@tokens@titleone}{#1}} +\newcommand*\titletwo[1]{% +\renewcommand{\hitsz@tokens@titletwo}{#1}} +\renewcommand\listfigurename{插图目录} +\renewcommand\listtablename{附表目录} +\renewcommand\abstractname{摘\quad 要} +\newcommand{\keywordsname}{关键词} +\newcommand{\keywordsenname}{Keywords} +\renewcommand{\contentsname}{目\quad 录} +\renewcommand{\figurename}{图} +\renewcommand{\tablename}{表} +\renewcommand{\partname}{部分} +\renewcommand{\bibname}{参考文献} +\renewcommand{\appendixname}{附录~\thechapter} +\renewcommand{\indexname}{索\quad 引} +\newcommand{\notename}{笔记} +\renewcommand*{\proofname}{证明} +\newcommand{\problemname}{问题} +\newcommand{\definitionname}{定义} +\newcommand{\theoremname}{定理} +\newcommand{\axiomname}{公理} +\newcommand{\postulatename}{公设} +\newcommand{\lemmaname}{引理} +\newcommand{\propositionname}{命题} +\newcommand{\corollaryname}{推论} +\newcommand{\examplename}{例} +\newcommand{\exercisename}{练习} +\newcommand{\remarkname}{注} +\newcommand{\assumptionname}{假设} +\newcommand{\conclusionname}{结论} +\newcommand{\solutionname}{解} +\newcommand{\propertyname}{性质} +\def\hitsz@def@fontsize#1#2{% + \expandafter\newcommand\csname #1\endcsname[1][1.3]{% + \fontsize{#2}{##1\dimexpr #2}\selectfont}} +\hitsz@def@fontsize{chuhao}{42bp} +\hitsz@def@fontsize{xiaochu}{36bp} +\hitsz@def@fontsize{yihao}{26bp} +\hitsz@def@fontsize{xiaoyi}{24bp} +\hitsz@def@fontsize{erhao}{22bp} +\hitsz@def@fontsize{xiaoer}{18bp} +\hitsz@def@fontsize{sanhao}{16bp} +\hitsz@def@fontsize{xiaosan}{15bp} +\hitsz@def@fontsize{sihao}{14bp} +\hitsz@def@fontsize{banxiaosi}{13bp} +\hitsz@def@fontsize{xiaosi}{12bp} +\hitsz@def@fontsize{dawu}{11bp} +\hitsz@def@fontsize{wuhao}{10.5bp} +\hitsz@def@fontsize{xiaowu}{9bp} +\hitsz@def@fontsize{liuhao}{7.5bp} +\hitsz@def@fontsize{xiaoliu}{6.5bp} +\hitsz@def@fontsize{qihao}{5.5bp} +\hitsz@def@fontsize{bahao}{5bp} +\graphicspath{{./figure/}{./figures/}{./image/}{./images/} +{./graphics/}{./graphic/}{./pictures/}{./picture/}{./front/}} +\RequirePackage{geometry} +\geometry{ +a4paper, +left=30mm, +right=30mm, +top=41mm, +bottom=30mm, +headheight = 2.17cm, +headsep = 1mm, +footskip = 0cm, +} +\RequirePackage{hyperref} +\hypersetup{ +breaklinks, +unicode, +linktoc=all, +bookmarksnumbered=true, +bookmarksopen=true, +pdfsubject={哈尔滨工业大学(深圳)本科毕业设计(论文)}, +pdftitle = {哈尔滨工业大学(深圳)本科毕业设计(论文)}, +pdfauthor = {杨敬轩}, +pdfkeywords={HITSZThesis, Dissertation}, +pdfcreator={XeLaTeX with hitszthesis class}, +colorlinks, +linkcolor=black, +citecolor=black, +plainpages=false, +pdfstartview=FitH, +pdfborder={0 0 0}, +} +\RequirePackage[pagestyles]{titlesec} +\RequirePackage{apptools} +\setcounter{secnumdepth}{3} +\renewcommand{\chaptername}{第 \thechapter\;章} +\titleformat{\chapter}[hang]{\centering\heiti} +{\filcenter\xiaoer\enspace\heiti{% +\IfAppendix{\appendixname}{\chaptername}\enspace}}{1pt}{\xiaoer} +\titleformat{\section}[hang]{\heiti} +{\xiaosan\heiti{\thesection}\enspace}{1pt}{\xiaosan\heiti\filright} +\titleformat{\subsection}[hang]{\heiti} +{\sihao\heiti\thesubsection\enspace}{1pt}{\sihao\heiti\filright} +\titleformat{\subsubsection}[hang]{\heiti} +{\xiaosi\heiti\thesubsubsection\enspace}{1pt}{\xiaosi\heiti\filright} +\titlespacing{\chapter}{0pt}{0bp}{14.4bp} +\titlespacing{\section}{0pt}{7.5bp}{7.5bp} +\titlespacing{\subsection}{0pt}{7bp}{7bp} +\titlespacing{\subsubsection}{0pt}{6bp}{6bp} +\RequirePackage[font=small,labelsep=quad]{caption} +\captionsetup[table]{skip=3pt} +\captionsetup[figure]{skip=10pt} +\newcommand\figref[1]{图\ref{#1}} +\newcommand\tabref[1]{表\ref{#1}} +\newcommand\equref[1]{式(\ref{#1})} +\setlist{nolistsep} +\RequirePackage{amsthm} +\let\proof\relax +\let\endproof\relax +\newtheoremstyle{ydefstyle}{3pt}{3pt}{\itshape}{}{\bfseries}{}{% +0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} +\newtheoremstyle{ythmstyle}{3pt}{3pt}{\itshape}{}{\bfseries}{}{% +0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} +\newtheoremstyle{yprostyle}{3pt}{3pt}{\itshape}{}{\bfseries}{}{% +0.5em}{\thmname{#1} \thmnumber{#2} \thmnote{(#3)}} +\theoremstyle{ydefstyle} +\newtheorem{ydefinition}{\definitionname }[chapter] +\theoremstyle{ythmstyle} +\newtheorem{ytheorem}{\theoremname }[chapter] +\newtheorem{ylemma}{\lemmaname }[chapter] +\newtheorem{ycorollary}{\corollaryname }[chapter] +\newtheorem{ypostulate}{\postulatename }[chapter] +\newtheorem{yaxiom}{\axiomname }[chapter] +\theoremstyle{yprostyle} +\newtheorem{yproposition}{\propositionname }[chapter] +\newenvironment{theorem}[2] + {\ifstrempty{#1}{\ytheorem}{\ytheorem[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endytheorem} +\newenvironment{definition}[2] + {\ifstrempty{#1}{\ydefinition}{\ydefinition[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endydefinition} +\newenvironment{lemma}[2] + {\ifstrempty{#1}{\ylemma}{\ylemma[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endylemma} +\newenvironment{corollary}[2] + {\ifstrempty{#1}{\ycorollary}{\ycorollary[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endycorollary} +\newenvironment{postulate}[2] + {\ifstrempty{#1}{\ypostulate}{\ypostulate[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endypostulate} +\newenvironment{axiom}[2] + {\ifstrempty{#1}{\yaxiom}{\yaxiom[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endyaxiom} +\newenvironment{proposition}[2] + {\ifstrempty{#1}{\yproposition}{\yproposition[#1]}\ifstrempty{#2}{}{\label{#2}}} + {\endyproposition} +\newenvironment{note}{ + \par\noindent\textbf{\notename\,} + \itshape}{\par} +\newenvironment{proof}{ + \par\noindent\textbf{\proofname\;} +}{\hfill$\Box$\quad\par} +\newenvironment{solution}{\medskip\par\noindent\textbf{\solutionname} \itshape}{\par} +\newenvironment{remark}{\noindent\textbf{\remarkname}}{\par} +\newenvironment{assumption}{\par\noindent\textbf{\assumptionname}}{\par} +\newenvironment{conclusion}{\par\noindent\textbf{\conclusionname}}{\par} +\newenvironment{property}{\par\noindent\textbf{\propertyname}}{\par} +\renewcommand{\maketitle}{\par +\begingroup + \newgeometry{left=20mm,right=20mm,top=30mm,bottom=35mm} + \newpage + % 禁止图片位于页面最上方 + \global\@topnum\z@ + \@maketitle % 下面再设置封面具体内容 + \endgroup + % 先取消原来封面样式的所有设置,以便后面重写此命令 + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax +} +\newdimen\infowidth +\infowidth = 6.5cm +\def\@maketitle{% + \newpage + % 开始写封面 + \thispagestyle{empty} + \vspace*{2cm} + %%------------------------ + \begin{center} + \ifdefstring{\hitsz@covertitle}{tworow}{ + \parbox[t][1.4cm][t]{\textwidth}{ + \begin{center}\erhao[0]\bfseries\hitsz@tokens@titleone\end{center} +}\par +\parbox[t][2.5cm][t]{\textwidth}{ + \begin{center}\erhao[0]\bfseries\hitsz@tokens@titletwo\end{center} +}\par + }{\relax} + \ifdefstring{\hitsz@covertitle}{onerow}{ + \parbox[t][3.4cm][t]{\textwidth}{ + \begin{center}\erhao[0]\bfseries\hitsz@tokens@thesistitle\end{center} +} + }{\relax} + \parbox[t][8.7cm][t]{\textwidth}{ + \begin{center}\xiaoer[0]\song\textbf{\ziju{0.2}\hitsz@tokens@authorname}\end{center} + } + \begin{center} + \bfseries + \begin{tabular}{rl} +{\xiaosi 学\hphantom{教师}院:} & \xiaosi\hitsz@tokens@departname\\[14pt] +{\xiaosi 学\hphantom{教师}号:} & \xiaosi\hitsz@tokens@studentID + \end{tabular} + \hspace{0.5cm} + \begin{tabular}{rl} +{\xiaosi 专\hphantom{教师}业:} & \xiaosi\hitsz@tokens@majorin\\[14pt] +{\xiaosi 指导教师:} & \xiaosi\hitsz@tokens@instructor + \end{tabular} + \end{center} + % 日期 + \vspace{2.6cm} + {\xiaosi[0]\song\textbf{2020年7月}} + \end{center} + %%---------------------------- +%% 第二页 +\clearpage +\thispagestyle{empty} + \vspace*{0.8cm} + \centering\includegraphics[width=8cm]{HITSZname} + \vspace{1.3cm} + \begin{center} + \centering\includegraphics[width=10.5cm]{thesistitle} + \vfill + \parbox[t][14.2cm][b]{\textwidth} + {\heiti\xiaosan + \begin{center} \renewcommand{\arraystretch}{2.6} \bfseries + % 居中对齐 + \ifdefstring{\hitsz@infoalign}{infocenter}{ +\begin{tabular}{l@{\ \ }c} + {\xiaoer 题\hphantom{\ 导\ \ \ }目} & + \underline{\makebox[\infowidth]{% + \xiaoer \hitsz@tokens@titleone}}\\ + & \underline{\makebox[\infowidth]{% + \xiaoer \hitsz@tokens@titletwo}}\\ + & \\ + {\xiaosan 专\hphantom{\ 导\ 教\ }业} & + \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@majorin}}\\ + {\xiaosan 学\hphantom{\ 导\ 教\ }号} & + \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@studentID}}\\ + {\xiaosan 学\hphantom{\ 导\ 教\ }生} & + \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@authorname}}\\ + {\xiaosan 指\ 导\ 教\ 师} & \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@instructor}}\\ + {\xiaosan 答\ 辩\ 日\ 期} & \underline{\makebox[\infowidth]{% + \xiaosan\hitsz@tokens@dateinput}} +\end{tabular} \renewcommand{\arraystretch}{1} +}{\relax} +\ifdefstring{\hitsz@infoalign}{infoleft}{ +\begin{tabular}{l@{\ \ }c} + {\xiaoer 题\hphantom{\ 导\ \ \ }目} & + \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaoer \hitsz@tokens@titleone}}\\ + & \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaoer \hitsz@tokens@titletwo}}\\ + & \\ + {\xiaosan 专\hphantom{\ 导\ 教\ }业} & + \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@majorin}}\\ + {\xiaosan 学\hphantom{\ 导\ 教\ }号} & + \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@studentID}}\\ + {\xiaosan 学\hphantom{\ 导\ 教\ }生} & + \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@authorname}}\\ + {\xiaosan 指\ 导\ 教\ 师} & \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@instructor}}\\ + {\xiaosan 答\ 辩\ 日\ 期} & \underline{\makebox[\infowidth][l]{% + \hspace*{1em}\xiaosan\hitsz@tokens@dateinput}} +\end{tabular} \renewcommand{\arraystretch}{1} +}{\relax} + \end{center} + } + \end{center} + \restoregeometry + \clearpage +} +\renewcommand{\frontmatter}{% +\cleardoublepage +\@mainmatterfalse +\pagenumbering{Roman} +} +%% 中文摘要环境 +\newenvironment{abstract}{\chapter*{\abstractname} +\addcontentsline{toc}{chapter}{\abstractname} +}{\if@twocolumn\else\null\fi} +\newcommand\keywords[1]{% +\renewcommand{\hitsz@tokens@keywords}{#1} +{\vskip18pt +\hspace{-30bp}\begin{tabular}{lp{132mm}} +{\zihao{-4}\heiti\keywordsname:}& +{\xiaosi\hitsz@tokens@keywords} +\end{tabular}} +} +\newenvironment{abstracten}{\chapter*{\bfseries Abstract} +\addcontentsline{toc}{chapter}{ABSTRACT} +}{\if@twocolumn\else\null\fi} +\newcommand\keywordsen[1]{% +\renewcommand{\hitsz@tokens@keywordsen}{#1} +{\vskip 18pt +\hspace{-30bp}\begin{tabular}{lp{127mm}} +{\zihao{-4}\bf\keywordsenname:}& +{\xiaosi\hitsz@tokens@keywordsen} +\end{tabular}} +} +\newcommand{\declaration}{\par +\begingroup + \hitsz@declaration + \endgroup +} +\def\hitsztitle{\hitsz@tokens@thesistitle} +\def\hitszauthor{\hitsz@tokens@authorname} +\def\hitsz@declaration{ +\chapter*{\sanhao 哈尔滨工业大学(深圳)本科毕业设计(论文)原创性声明} +\addcontentsline{toc}{chapter}{原创性声明}\par +本人郑重声明:在哈尔滨工业大学(深圳)攻读学士学位期间,所提交的毕业设计(论文)《\hitsztitle》,是本人在导师指导下独立进行研究工作所取得的成果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明,其它未注明部分不包含他人已发表或撰写过的研究成果,不存在购买、由他人代写、剽窃和伪造数据等作假行为。 +\par +本人愿为此声明承担法律责任。\par +\vspace{30pt} +\hspace{6em}作者签名:\hspace{8em}日期:\hspace{3em}年\hspace{1.5em}月\hspace{1.5em}日 +} +\renewenvironment{thebibliography}[1] + {\chapter*{\bibname}% + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\RequirePackage{fancyhdr} +\RequirePackage{lastpage} +\pagestyle{fancy} +\lhead{} +\chead{\wuhao 哈尔滨工业大学(深圳)本科毕业设计(论文)} +\rhead{} +\lfoot{} +\cfoot{\wuhao -\thepage-} +\rfoot{} +\newcommand{\makeheadrule}{% +\makebox[0pt][l]{\rule[1mm]{\headwidth}{0.4mm}}% +\rule[0.35\baselineskip]{\headwidth}{0.8mm}} +\renewcommand{\headrule}{% +{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi% +\makeheadrule}} +\titlecontents{chapter}[0pt]{\vspace{1mm}\heiti} +{第\thecontentslabel\,\,章\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage} +\titlecontents{section}[25pt]{\songti} +{\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage} +\titlecontents{subsection}[47pt]{\songti} +{\thecontentslabel\hskip.5em}{}{\titlerule*[0.5pc]{.}\contentspage} +\RequirePackage[title,titletoc]{appendix} +\BeforeBeginEnvironment{tabular}{\wuhao} +\AfterEndEnvironment{table}{\vspace{-1cm}} +\newcounter{rowno} +\renewcommand{\thefigure}{\thechapter-\arabic{figure}} +\renewcommand{\thetable}{\thechapter-\arabic{table}} +\renewcommand{\theequation}{\thechapter-\arabic{equation}} +\usetikzlibrary{shapes.geometric, arrows} +\tikzstyle{startstop} = [rectangle, rounded corners, minimum width = 2cm, +minimum height=1cm,text centered, draw = black] +\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, +minimum width=2cm, minimum height=1cm, text centered, draw=black] +\tikzstyle{process} = [rectangle, minimum width=3cm, minimum height=1cm, +text centered, draw=black] +\tikzstyle{decision} = [diamond, aspect = 3, text centered, draw=black] +\tikzstyle{arrow} = [->,>=stealth] +\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{\cite{#1}}}} +\renewcommand{\thefootnote}{\fnsymbol{footnote}} +\makeatletter +\renewcommand\chapter{ +\if@openright\cleardoublepage +\else\clearpage +\fi + \thispagestyle{fancy} + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter +} +\makeatother +\newcommand\dif{\text{d}} +\newcommand\no{\noindent} +\newcommand\dis{\displaystyle} +\newcommand\ls{\leqslant} +\newcommand\gs{\geqslant} +\newcommand\limit{\dis\lim\limits} +\newcommand\limn{\dis\lim\limits_{n\to\infty}} +\newcommand\limxz{\dis\lim\limits_{x\to0}} +\newcommand\limxi{\dis\lim\limits_{x\to\infty}} +\newcommand\limxpi{\dis\lim\limits_{x\to+\infty}} +\newcommand\limxni{\dis\lim\limits_{x\to-\infty}} +\newcommand\limtpi{\dis\lim\limits_{t\to+\infty}} +\newcommand\limtni{\dis\lim\limits_{t\to-\infty}} +\newcommand\sumn{\dis\sum\limits_{n=1}^{\infty}} +\newcommand\sumnz{\dis\sum\limits_{n=0}^{\infty}} +\newcommand\sumi{\dis\sum\limits_{i=1}^{\infty}} +\newcommand\sumiz{\dis\sum\limits_{i=0}^{\infty}} +\newcommand\sumin{\dis\sum\limits_{i=1}^{n}} +\newcommand\sumizn{\dis\sum\limits_{i=0}^{n}} +\newcommand\sumk{\dis\sum\limits_{k=1}^{\infty}} +\newcommand\sumkz{\dis\sum\limits_{k=0}^{\infty}} +\newcommand\sumkn{\dis\sum\limits_{k=0}^n} +\newcommand\sumkfn{\dis\sum\limits_{k=1}^n} +\newcommand\pzx{\dis\frac{\partial z}{\partial x}} +\newcommand\pzy{\dis\frac{\partial z}{\partial y}} +\newcommand\pfx{\dis\frac{\partial f}{\partial x}} +\newcommand\pfy{\dis\frac{\partial f}{\partial y}} +\newcommand\pzxx{\dis\frac{\partial^2 z}{\partial x^2}} +\newcommand\pzxy{\dis\frac{\partial^2 z}{\partial x\partial y}} +\newcommand\pzyx{\dis\frac{\partial^2 z}{\partial y\partial x}} +\newcommand\pzyy{\dis\frac{\partial^2 z}{\partial y^2}} +\newcommand\pfxx{\dis\frac{\partial^2 f}{\partial x^2}} +\newcommand\pfxy{\dis\frac{\partial^2 f}{\partial x\partial y}} +\newcommand\pfyx{\dis\frac{\partial^2 f}{\partial y\partial x}} +\newcommand\pfyy{\dis\frac{\partial^2 f}{\partial y^2}} +\newcommand\intzi{\dis\int_{0}^{+\infty}} +\newcommand\intd{\dis\int} +\newcommand\intab{\dis\int_a^b} +\newcommand{\degree}{^\circ} +\newcommand\ma{\mathcal{A}} +\newcommand\mb{\mathcal{B}} +\newcommand\mc{\mathcal{C}} +\newcommand\me{\mathcal{E}} +\newcommand\mg{\mathcal{g}} +\newcommand\mcc{\mathbb{C}} +\newcommand\mrr{\mathbb{R}} +\newcommand\mzz{\mathbb{Z}} +\newcommand\vx{\bf{x}} +\newcommand\vX{\bf{X}} +\newcommand\vy{\bf{y}} +\newcommand\vY{\bf{Y}} +\DeclareMathOperator{\sgn}{sgn} +\DeclareMathOperator{\arccot}{arccot} +\DeclareMathOperator{\arccosh}{arccosh} +\DeclareMathOperator{\arcsinh}{arcsinh} +\DeclareMathOperator{\arctanh}{arctanh} +\DeclareMathOperator{\arccoth}{arccoth} +\DeclareMathOperator{\grad}{\bf{grad}} +\DeclareMathOperator{\argmax}{argmax} +\DeclareMathOperator{\argmin}{argmin} +\DeclareMathOperator{\diag}{diag} +\DeclareMathOperator{\csign}{csign} +\newcommand{\spine}{% +\begingroup + \hitsz@spine + \endgroup +} +\def\hitsz@spine{% + \newpage\thispagestyle{empty}% + \fangsong\addCJKfontfeatures*{RawFeature={vertical:}} + \xiaosan\ziju{0.4}% + \noindent\hfill\rotatebox[origin=lt]{-90}{% + \makebox[\textheight]{\hitsztitle \hfill \hitszauthor} + } +} +\AtEndOfClass{\sloppy} +\endinput +%% +%% End of file `hitszthesis.cls'. diff --git a/Master/texmf-dist/tex/latex/hitszthesis/hitszthesis.sty b/Master/texmf-dist/tex/latex/hitszthesis/hitszthesis.sty new file mode 100644 index 00000000000..e27d8309cfd --- /dev/null +++ b/Master/texmf-dist/tex/latex/hitszthesis/hitszthesis.sty @@ -0,0 +1,32 @@ +% +% Copyright (C) 2019-2020 by Jingxuan Yang <yanglatex2e@gmail.com> +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +\ProvidesPackage{hitszthesis}[2020/02/18 v2.0 A Collection of Styles for Bachelor Thesis of Harbin Institute of Technology, ShenZhen] + +% 将引入的宏包以及各种自定义命令都放在这里 +% 在 \file{main.tex} 中使用 |\usepackage{hitszthesis}| 引入本文件 + +% 加载宏包 +% \RequirePackage{package} + +% 自定义命令 +% \newcommand\totallynewcommand{command details} +% \renewcommand\existedcommand{command details} + +% etc + + + + +% 结束输入 +\endinput diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 707086846c9..dadc509377e 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -355,7 +355,8 @@ my @TLP_working = qw( hc he-she hecthese helvetic hep hep-paper hepnames hepparticles hepthesis hepunits here heuristica hexgame hf-tikz hfbright hfoldsty - hhtensor histogr historische-zeitschrift hitec hithesis hletter hlist + hhtensor histogr historische-zeitschrift hitec hitszthesis hithesis + hletter hlist hmtrump hobby hobete hobsub hologo hook-pre-commit-pkg horoscop hpsdiss hrefhide hrlatex hu-berlin-bundle hulipsum hustthesis hvfloat hvindex hvqrurl diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index d79d5b52626..bd809e23427 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -576,7 +576,6 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`); 'highlight', "die 'skipping, complicated compilation'", 'hilowres', "die 'skipping, nonfree'", 'historische-zeitschrift', "&MAKEflatten", - 'hitszthesis', "die 'skipping, requires nonfree fonts'", 'hm-ftx', "die 'skipping, use persian-hm-ftx'", 'hm-xbs', "die 'skipping, use persian-hm-xbs'", 'html2latex', "die 'skipping, no self-locating of Perl modules'", diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc index 7885ca787af..72bd38b3278 100644 --- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc @@ -85,6 +85,7 @@ depend har2nat depend hecthese depend hep-paper depend hithesis +depend hitszthesis depend hobete depend hu-berlin-bundle depend hustthesis diff --git a/Master/tlpkg/tlpsrc/hitszthesis.tlpsrc b/Master/tlpkg/tlpsrc/hitszthesis.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/hitszthesis.tlpsrc |