├── README.md ├── src └── imgs │ └── overleaf.png ├── 中国科学院大学学位论文LaTeX模板2022.pdf ├── 中国科学院大学学位论文LaTeX模板2022 ├── Biblio │ ├── gb7714-2015.bbx │ ├── gb7714-2015.cbx │ ├── gb7714-2015ay.bbx │ ├── gb7714-2015ay.cbx │ ├── gbt7714-author-year.bst │ ├── gbt7714-numerical.bst │ └── ref.bib ├── Img │ ├── c06h06.png │ ├── oaspl_a.pdf │ ├── oaspl_b.pdf │ ├── oaspl_c.pdf │ ├── oaspl_d.pdf │ └── ucas_logo.pdf ├── Style │ ├── artracom.sty │ ├── artratex.sty │ ├── ucasthesis.cfg │ └── ucasthesis.cls ├── Tex │ ├── Appendix.tex │ ├── Backmatter.tex │ ├── Chap_Guide.tex │ ├── Chap_Intro.tex │ ├── Chap_UCAS.tex │ ├── Frontinfo.tex │ ├── Frontmatter.tex │ ├── Mainmatter.tex │ ├── Prematter.tex │ └── figuretable.tex ├── Thesis.tex ├── artratex.bat └── artratex.sh └── 修改记录.txt /README.md: -------------------------------------------------------------------------------- 1 | # 中国科学院大学学位论文LaTex模板 2023 版本 2 | 3 | ## 使用说明 4 | 5 | 2022年修订的《中国科学院大学研究生学位论文撰写规范和指导意见》(以下简称《指导意见》)从2023年冬季批次开始实施。为方便各位同学使用,特提供此模板。 6 | 7 | 您在使用此模板进行学位论文撰写时,只需根据《指导意见》在相应章节填写具体内容即可。 8 | 9 | 10 | ### 1. 下载模板 11 | 12 | - 每个学院都提供了下载链接,以各个学院的要求为准 13 | - 这个repo会根据反馈实时更新修正问题,可能与学院提供的模板有所不同 14 | - 如遇到问题,请在issue中提出,我们会尽快解决并更新在这个repo中 15 | - !当前这个repo的模板与word版本的行距是对齐的。如果论文里的边距看起来过窄,请替换artratex.sty为当前repo里的版本。 16 | 17 | ### 2. 使用模板 18 | 支持的系统:Windows, Linux, MacOS,同时支持Overleaf, OnlineLaTex(推荐,Overleaf限制了普通用户的编译时长,大概率无法完全编译成功,切换为OnlineLaTex可以)等在线LaTeX软件 19 | 20 | 中文论文务必使用 XeLaTeX 21 | 22 | Overleaf/OnlineLaTex 的配置参考下图,选择 XeLaTeX 编译器,编译器版本选择 TeX Live 2021。 23 | 24 | ![Overleaf配置](src/imgs/overleaf.png) 25 | 26 | -------------------------------------------------------------------------------- /src/imgs/overleaf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/streamer-AP/UCAS_Paper_2023/4a494ad3a205d09bd8c5ab570763e6cf7b86addb/src/imgs/overleaf.png -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/streamer-AP/UCAS_Paper_2023/4a494ad3a205d09bd8c5ab570763e6cf7b86addb/中国科学院大学学位论文LaTeX模板2022.pdf -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Biblio/gb7714-2015.cbx: -------------------------------------------------------------------------------- 1 | %% 2 | %% --------------------------------------------------------------- 3 | %% biblatex-gb7714-2015 --- A biblatex implementation of the 4 | %% GBT7714-2015 citation style,numerical sequence 5 | %% Maintained by huzhenzhen 6 | %% E-mail: hzzmail@163.com 7 | %% Released under the LaTeX Project Public License v1.3c or later 8 | %% --------------------------------------------------------------- 9 | %% 10 | \def\versionofgbtstyle{2020/07/21 v1.0v} 11 | \ProvidesFile{gb7714-2015.cbx}[\versionofgbtstyle biblatex citation style] 12 | 13 | % 14 | % 加载标准样式 15 | % 16 | \RequireCitationStyle{numeric-comp} %numeric 17 | 18 | 19 | % 20 | % 选项设置 21 | % 22 | \ExecuteBibliographyOptions{ 23 | autocite = superscript , 24 | autopunct = true , 25 | %sorting = none , 26 | maxcitenames=1, 27 | mincitenames=1, 28 | } 29 | 30 | %textcite标注命令中的标点设置 31 | %\DeclareDelimFormat[textcite]{andothersdelim}{\addspace}% 32 | 33 | % 34 | %将连续3篇文献压缩改为连续2篇文献压缩 35 | % 36 | %该宏的目的是抛弃压缩内部的编号,而仅输出最后一个编号,主要通过cbx@tempcnta来控制 37 | %一般情况下cbx@tempcnta为0,所以该宏不输出任何内容。当cbx@tempcnta在cite:comp:comp宏中更改变大后 38 | %说明开始进入需要压缩的范围,当到压缩终点时,cbx@tempcnta必然大于1,则输出内容。 39 | %修改第二行的数字1为0即可将默认的3个开始压缩变为2个开始压缩。 40 | \renewbibmacro*{cite:dump}{% 41 | \ifnumgreater{\value{cbx@tempcnta}}{0}% 42 | {\ifnumgreater{\value{cbx@tempcnta}}{0}%1改为0,可以将压缩起始3个编号改为2个编号 43 | {\bibrangedash}% 44 | {\multicitedelim}% 45 | \bibhyperref[\cbx@lastkey]{% 46 | \ifdef\cbx@lastprefix% 47 | {\printtext[labelprefix]{\cbx@lastprefix}}% 48 | {}% 49 | \printtext[labelnumber]{\cbx@lastnumber}}}% 50 | {}% 51 | \setcounter{cbx@tempcnta}{0}% 52 | \global\undef\cbx@lastprefix} 53 | 54 | % 55 | % 定义一个上标方括号wrapper 56 | % 57 | \newcommand*\mkbibsuperbracket[1]{% 58 | \mkbibsuperscript{\mkbibbrackets{#1}}% 59 | } 60 | 61 | % 修改postnote的输出格式 62 | \DeclareFieldFormat{postnote}{#1} 63 | 64 | % 65 | % 重定义cite命令 66 | % 67 | % 方法:\DeclareCiteCommand{\cite}[\mkbibparens]{precode}{loopcode}{sepcode}{postcode} 68 | % v1.0p版后将cite的处理方式修改为类似pagescite,而不再使用biblatex的标准方式 69 | \DeclareCiteCommand{\cite}[\mkbibsuperscript]%利用mkbibsuperbracket添加方括号 70 | {[\usebibmacro{cite:init}% 71 | \usebibmacro{prenote}} 72 | {\usebibmacro{citeindex}% 73 | \usebibmacro{cite:comp}} 74 | {} 75 | {\usebibmacro{cite:dump}]% 76 | \printfield{postnote}} 77 | % v1.0p 以前用的方式 78 | %\DeclareCiteCommand{\cite}[\mkbibsuperbracket]%利用mkbibsuperbracket添加方括号 79 | % {\usebibmacro{cite:init}% 80 | % \usebibmacro{prenote}} 81 | % {\usebibmacro{citeindex}% 82 | % \usebibmacro{cite:comp}} 83 | % {} 84 | % {\usebibmacro{cite:dump}% 85 | % \usebibmacro{postnote}} 86 | 87 | % 88 | % 定义upcite命令 89 | % 20180604,v1.0l,hzz 90 | % 20190409,v1.0r,hzz 91 | % 方法:对supercite增加[] 92 | \newrobustcmd*{\upcite}{% 93 | \cite} 94 | 95 | % 96 | % 重定义parencite命令,以满足标签带页码的国标要求 97 | % 98 | \DeclareCiteCommand{\parencite}%[\mkbibbrackets] 99 | {[\usebibmacro{cite:init}%] 100 | \usebibmacro{prenote}}% 101 | {\usebibmacro{citeindex}% 102 | \usebibmacro{cite:comp}} 103 | {} 104 | {%[ 105 | \usebibmacro{cite:dump}]% 106 | \mkbibsuperscript{\printfield{postnote}}} 107 | 108 | % 109 | % 新定义pagescite命令,以满足标签带页码的国标要求 110 | % 111 | % 原理方法: 112 | % 1.新增页码输出宏 113 | \newbibmacro*{postpages}{% 114 | \iffieldundef{postnote} 115 | {\printfield[postnote]{pages}} 116 | {\printfield{postnote}}} 117 | % 2.新增\pagescite引用命令 118 | \DeclareCiteCommand{\pagescite}[\mkbibsuperscript]%\mkbibbrackets,仍然用上标 119 | {[\usebibmacro{cite:init}%]直接添加方括号 120 | \usebibmacro{prenote}% 121 | } 122 | {\usebibmacro{citeindex}% 123 | \usebibmacro{cite:comp}} 124 | {} 125 | {\usebibmacro{cite:dump}]% 126 | \usebibmacro{postpages}} 127 | 128 | % 129 | % 定义yearpagescite,为与ay样式兼容,等同于\pagescite 130 | % 131 | \DeclareCiteCommand{\yearpagescite}[\mkbibsuperscript]%\mkbibbrackets,仍然用上标 132 | {[\usebibmacro{cite:init}%]直接添加方括号 133 | \usebibmacro{prenote}% 134 | } 135 | {\usebibmacro{citeindex}% 136 | \usebibmacro{cite:comp}} 137 | {} 138 | {\usebibmacro{cite:dump}]% 139 | \usebibmacro{postpages}} 140 | 141 | % 142 | % 定义\yearcite命令,为与ay样式兼容,且提供不输出页码的标签格式, 143 | % 144 | % 原理方法:等同于\pagescite,但不要页码 145 | \DeclareCiteCommand{\yearcite}[\mkbibsuperscript]%\mkbibbrackets,仍然用上标 146 | {[\usebibmacro{cite:init}%]直接添加方括号 147 | \usebibmacro{prenote}% 148 | } 149 | {\usebibmacro{citeindex}% 150 | \usebibmacro{cite:comp}} 151 | {} 152 | {\usebibmacro{cite:dump}]} 153 | 154 | % 155 | % 定义\authornumcite命令,输出作者信息,然后在后面带上顺序编码 156 | % 20180427,v1.0k,增加,hzz 157 | % gb7714样式新定义的命令都把cite放到最后,比如前面的pagescite,yearcite,这里的\authornumcite 158 | % 区别于biblatex定义的命令都把cite放到前面,比如citeauthor等。 159 | %见numeric.CBX 160 | \newbibmacro*{cite}{% 161 | \printtext[bibhyperref]{% 162 | \printfield{labelprefix}% 163 | \printfield{labelnumber}% 164 | \ifbool{bbx:subentry} 165 | {\printfield{entrysetcount}} 166 | {}}} 167 | %见numeric.CBX,\DeclareCiteCommand{\cite}, 168 | \DeclareCiteCommand{\authornumcite}%[\mkbibsuperscript] 169 | {\usebibmacro{prenote}} 170 | {\iffieldequalstr{userf}{cn}{\renewcommand*{\andothersdelim}{\addthinspace}}%\addthinspace 171 | {\renewcommand*{\andothersdelim}{\addspace}}% 172 | \printnames{labelname}\mkbibsuperscript{\mkbibbrackets{\usebibmacro{citeindex}% 173 | \usebibmacro{cite}}}} 174 | {\multicitedelim} 175 | {\mkbibsuperscript{\printfield{postnote}}} 176 | 177 | 178 | % 179 | % 增加如下多个命令 180 | % 20190409,v1.0r,hzz 181 | % 方法:利用newcommand或newrobustcmd命令进行定义 182 | % 注意\citet和\citep命令之所以不用newrobustcmd,是为避免加载natbib模块后产生冲突 183 | %\DeclareCiteCommand{\citet}% 184 | % {\usebibmacro{prenote}} 185 | % {\iffieldequalstr{userf}{cn}{\renewcommand*{\andothersdelim}{\addthinspace}}%\addthinspace 186 | % {\renewcommand*{\andothersdelim}{\addspace}}% 187 | % \printnames{labelname}\mkbibsuperscript{\mkbibbrackets{\usebibmacro{citeindex}% 188 | % \usebibmacro{cite}}}} 189 | % {\multicitedelim} 190 | % {\mkbibsuperscript{\printfield{postnote}}} 191 | 192 | % 193 | % 重定义citet,因为前面与\authornumcite同定义的命令无法正确处理多个bibtexkey同时给出的压缩情况 194 | % 20200721,v1.0v,hzz 195 | % 方法:利用textcite命令进行定义 196 | % 基本利用textcite命令来写citet,仅利用bool{cbx:incitet}做判断,进而处理不同的上标和页码形式 197 | \newbool{cbx:incitet} 198 | \global\booltrue{cbx:incitet} 199 | 200 | \newbibmacro*{citet}{% 201 | \iffieldequals{namehash}{\cbx@lasthash}% 202 | {\usebibmacro{cite:comp}}% 203 | {\usebibmacro{cite:dump}% 204 | \ifbool{cbx:parens}% 205 | {\mkbibsuperscript{\printtext{\bibclosebracket}}\global\boolfalse{cbx:parens}}% 206 | {}% 207 | \iffirstcitekey 208 | {} 209 | {\textcitedelim}% 210 | \usebibmacro{cite:init}% 211 | \ifnameundef{labelname} 212 | {\printfield[citetitle]{labeltitle}} 213 | {\printnames{labelname}}% 214 | \setunit*{\printdelim{namelabeldelim}}% 215 | \mkbibsuperscript{\printtext{\bibopenbracket}\global\booltrue{cbx:parens}% 216 | \ifnumequal{\value{citecount}}{1} 217 | {\usebibmacro{prenote}}% 218 | {}% 219 | \usebibmacro{cite:comp}% 220 | \stepcounter{textcitecount}% 221 | \savefield{namehash}{\cbx@lasthash}}}} 222 | 223 | \DeclareCiteCommand{\cbx@textcite}% 224 | {\usebibmacro{cite:init}}% 225 | {\usebibmacro{citeindex}% 226 | \ifbool{cbx:incitet}{\usebibmacro{citet}}{\usebibmacro{textcite}}% 227 | }% 228 | {}% 229 | {\ifbool{cbx:incitet}{\mkbibsuperscript{\usebibmacro{cite:dump}\usebibmacro{postnote}}}% 230 | {\usebibmacro{cite:dump}\usebibmacro{postnote}}% 231 | \ifbool{cbx:parens}% 232 | {\ifbool{cbx:incitet}{\mkbibsuperscript{\bibclosebracket}}{\bibclosebracket}% 233 | \global\boolfalse{cbx:parens}}% 234 | {}} 235 | 236 | \newrobustcmd{\cbx@citet@init}[2]{% 237 | \global\booltrue{cbx:incitet}% 238 | \setcounter{textcitetotal}{0}% 239 | \setcounter{textcitecount}{0}% 240 | \def\cbx@savedcites{#1}#2\cbx@savedcites\empty} 241 | 242 | \renewrobustcmd{\cbx@textcite@init}[2]{% 243 | \global\boolfalse{cbx:incitet}% 244 | \setcounter{textcitetotal}{0}% 245 | \setcounter{textcitecount}{0}% 246 | \def\cbx@savedcites{#1}#2\cbx@savedcites\empty} 247 | 248 | \DeclareCiteCommand{\citet}[\cbx@citet@init\cbx@textcite] 249 | {\gdef\cbx@savedkeys{}% 250 | \citetrackerfalse% 251 | \pagetrackerfalse% 252 | \DeferNextCitekeyHook% 253 | \usebibmacro{cite:init}} 254 | {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} 255 | {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% 256 | \global\clearfield{multipostnote}} 257 | {}% 258 | \xappto\cbx@savedkeys{\thefield{entrykey},}% 259 | \iffieldequals{namehash}{\cbx@lasthash} 260 | {} 261 | {\stepcounter{textcitetotal}% 262 | \savefield{namehash}{\cbx@lasthash}}} 263 | {} 264 | {\protected@xappto\cbx@savedcites{% 265 | [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} 266 | 267 | 268 | 269 | \DeclareCiteCommand{\citep}[\mkbibsuperscript]%利用mkbibsuperbracket添加方括号 270 | {[\usebibmacro{cite:init}% 271 | \usebibmacro{prenote}} 272 | {\usebibmacro{citeindex}% 273 | \usebibmacro{cite:comp}} 274 | {} 275 | {\usebibmacro{cite:dump}]% 276 | \printfield{postnote}} 277 | 278 | \newrobustcmd*{\citetns}% 279 | {\textcite} 280 | 281 | \newrobustcmd*{\citepns}% 282 | {\parencite} 283 | 284 | \newrobustcmd*{\inlinecite}% 285 | {\parencite} 286 | 287 | % 288 | % 增加如下复数的命令,以符合biblatex的复数命令习惯 289 | % 20190430,v1.0r,hzz 290 | % citec和citecs命令是实现了[1]-[3]这样的压缩形式。 291 | % authornumcites是常用命令authornumcite的复数形式 292 | \DeclareFieldFormat{labelbracket}{\mkbibbrackets{#1}} 293 | 294 | \newbibmacro*{citec:comp:comp}{% 295 | \ifboolexpr{ 296 | ( test {\iffieldundef{labelprefix}} and test {\ifundef\cbx@lastprefix} ) 297 | or 298 | test {\iffieldequals{labelprefix}{\cbx@lastprefix}} 299 | } 300 | {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}} 301 | {\savefield{entrykey}{\cbx@lastkey}% 302 | \savefield{labelnumber}{\cbx@lastnumber}% 303 | \addtocounter{cbx@tempcnta}{1}} 304 | {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-1} 305 | {} 306 | {\usebibmacro{citec:dump}% 307 | \ifnumgreater{\value{cbx@tempcntb}}{-1} 308 | {\multicitedelim} 309 | {}% 310 | \printtext[bibhyperref]{% 311 | \printfield{labelprefix}% 312 | \printtext[labelbracket]{\printfield{labelnumber}}}}}} 313 | {\usebibmacro{cite:comp:end}}% 314 | \setcounter{cbx@tempcntb}{\thefield{labelnumber}}% 315 | \savefield{labelprefix}{\cbx@lastprefix}} 316 | 317 | \newbibmacro*{citec:comp}{% 318 | \addtocounter{cbx@tempcntb}{1}% 319 | \iffieldundef{shorthand} 320 | {\ifbool{bbx:subentry} 321 | {\iffieldundef{entrysetcount} 322 | {\usebibmacro{citec:comp:comp}} 323 | {\usebibmacro{cite:comp:inset}}} 324 | {\usebibmacro{citec:comp:comp}}} 325 | {\usebibmacro{cite:comp:shand}}} 326 | 327 | \newbibmacro*{citec:dump}{% 328 | \ifnumgreater{\value{cbx@tempcnta}}{0} 329 | {\ifnumgreater{\value{cbx@tempcnta}}{1} 330 | {\bibrangedash} 331 | {\multicitedelim}% 332 | \bibhyperref[\cbx@lastkey]{% 333 | \ifdef\cbx@lastprefix 334 | {\printtext[labelprefix]{\cbx@lastprefix}} 335 | {}% 336 | \printtext[labelbracket]{\cbx@lastnumber}}}%labelnumber 337 | {}% 338 | \setcounter{cbx@tempcnta}{0}% 339 | \global\undef\cbx@lastprefix} 340 | 341 | %\DeclareCiteCommand{\citec}[\mkbibsuperscript]%[\mkbibbrackets] 342 | % {\usebibmacro{cite:init}% 343 | % \usebibmacro{prenote}} 344 | % {\usebibmacro{citeindex}% 345 | % \usebibmacro{citec:comp}} 346 | % {} 347 | % {\usebibmacro{citec:dump}% 348 | % \usebibmacro{postnote}} 349 | 350 | %上面这个用于非压缩情况,这里考虑了压缩的情况 351 | \DeclareCiteCommand{\citec}[\mkbibsuperscript]% 352 | {\ifnumless{\value{multicitecount}}{2} 353 | {\usebibmacro{cite:init}% 354 | \usebibmacro{prenote}} 355 | {\iffieldundef{prenote} 356 | {\iffieldundef{postnote} 357 | {} 358 | {\usebibmacro{citec:dump}% 359 | \usebibmacro{cite:init}% 360 | \setunit{\multicitedelim}}} 361 | {\usebibmacro{citec:dump}% 362 | \usebibmacro{cite:init}% 363 | \setunit{\multicitedelim}% 364 | \usebibmacro{prenote}}}} 365 | {\usebibmacro{citeindex}% 366 | \usebibmacro{citec:comp}} 367 | {} 368 | {\ifboolexpr{ test {\ifnumequal{\value{multicitecount}}{\value{multicitetotal}}} 369 | or not test {\iffieldundef{postnote}}} 370 | {\usebibmacro{citec:dump}% 371 | \usebibmacro{postnote}} 372 | {}} 373 | 374 | \DeclareMultiCiteCommand{\citecs}[\mkbibsuperscript]{\citec}{} 375 | 376 | \DeclareMultiCiteCommand{\authornumcites}[]{\authornumcite}{\multicitedelim} 377 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Biblio/gb7714-2015ay.cbx: -------------------------------------------------------------------------------- 1 | %% 2 | %% --------------------------------------------------------------- 3 | %% biblatex-gb7714-2015 --- A biblatex implementation of the 4 | %% GBT7714-2015 citation style,author year sequence 5 | %% Maintained by huzhenzhen 6 | %% E-mail: hzzmail@163.com 7 | %% Released under the LaTeX Project Public License v1.3c or later 8 | %% --------------------------------------------------------------- 9 | %% 10 | \def\versionofgbtstyle{2020/07/21 v1.0v} 11 | \ProvidesFile{gb7714-2015ay.cbx}[\versionofgbtstyle biblatex citation style] 12 | 13 | % 14 | % 加载标准样式 15 | % 16 | \RequireCitationStyle{authoryear-comp} 17 | 18 | \ExecuteBibliographyOptions{ 19 | %autocite = superscript , 20 | %autopunct = true , 21 | %sorting = none , 22 | maxcitenames=1, 23 | mincitenames=1, 24 | uniquename=init,%因为使用了名字缩写选项,所以需要设置uniquename=init而不是full避免冲突 25 | uniquelist=minyear 26 | } 27 | 28 | % 29 | % 选项设置,针对3.7以下版本 30 | % 31 | % 原理方法:labeldate用于控制是否给引用标签提供日期的成分 32 | \defversion{3.4}{cbxopt}{ 33 | \ExecuteBibliographyOptions{ 34 | labeldate=true 35 | } 36 | } 37 | 38 | % 39 | % 选项设置,针对3.7以上版本 40 | % 41 | % 原理方法:labeldateparts用于控制是否给引用标签提供日期的成分 42 | \defversion{3.7}{cbxopt}{ 43 | \ExecuteBibliographyOptions{ 44 | labeldateparts=true 45 | } 46 | } 47 | 48 | \ifboolexpr{%选择选项设置 49 | test {\iftoggle{iftlfive}}%biblatex<=3.2 50 | or 51 | test {\iftoggle{iftlsix}}%3.3<=biblatex<=3.6 52 | }{\switchversion{3.4}{cbxopt}}{\switchversion{3.7}{cbxopt}}%else: biblatex>=3.7 53 | 54 | 55 | \ifboolexpr{%兼容cite:labelyear+extrayear 56 | test {\iftoggle{iftlfive}}%biblatex<=3.2 57 | or 58 | test {\iftoggle{iftlsix}}%3.3<=biblatex<=3.6 59 | or 60 | test {\iftoggle{iftlseven}}%3.7=biblatex 61 | }{\newbibmacro{cite:labeldate+extradate}{\usebibmacro{cite:labelyear+extrayear}}}{}%else: biblatex>3.7 62 | 63 | %textcite标注命令中的标点设置,注意只针对textcite命令。 64 | % v-old 65 | % v1.0t,20200320,hzz,修改如下 66 | % 在cbx中增加标注中的nameyeardelim标点定义,避免bbx使用其它样式时出现问题 67 | % 同时设置textcite的nameyeardelim为一个短空格,似乎原来直接连上去的不够美观 68 | \DeclareDelimFormat[cite,parencite,pagescite]{nameyeardelim}{\addcomma\space}%\addcomma\space 69 | \DeclareDelimFormat[textcite]{nameyeardelim}{\addthinspace}%\addcomma\space 70 | \DeclareDelimFormat[textcite]{andothersdelim}{\iffieldequalstr{userf}{chinese}{\addthinspace}{\addspace}}% 71 | \AtEveryCitekey{% 72 | \iffieldequalstr{userf}{chinese}{\renewcommand*{\andothersdelim}{\addthinspace}}%\addthinspace 73 | {\renewcommand*{\andothersdelim}{\addspace}}% 74 | } 75 | 76 | 77 | % 78 | % 重定义cite:label,针对biblatex3.8以上版本set条目集的标注(引用)标签 79 | % 80 | % 原理方法:当条目是set时,v3.8以上版本,都没有有用的信息(区别于3.7以下版本set复制第一个成员的信息), 81 | % 于是利用entrykey来给出标签,那么就要set的条目关键字是需要的字符串,注意字符串中间不能有空格 82 | \renewbibmacro*{cite:label}{% 83 | \iffieldundef{label}% 84 | {\iffieldundef{labeltitle}{\printtext[bibhyperref]{\printfield{entrykey}}}%entrykey 85 | {\printtext[bibhyperref]{\printfield[citetitle]{labeltitle}}}}% 86 | {\printtext[bibhyperref]{\printfield{label}}}} 87 | 88 | % 89 | % 重定义cite命令 90 | % 91 | % 方法:\DeclareCiteCommand{\cite}[\mkbibparens]{precode}{loopcode}{sepcode}{postcode} 92 | % v1.0p版后将cite的处理方式修改为类似pagescite,而不再使用biblatex的标准方式 93 | \DeclareCiteCommand{\cite} 94 | {\usebibmacro{cite:init}% 95 | \renewbibmacro*{postnote}{% 96 | \iffieldundef{postnote}% 97 | {}% 98 | {\thefield{postnote}}}% 99 | (\usebibmacro{prenote}}%) 100 | {\usebibmacro{citeindex}% 101 | \usebibmacro{cite}} 102 | {} 103 | {%( 104 | )\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote} 105 | } 106 | 107 | % 108 | % 定义upcite命令 109 | % 20180604,v1.0l,hzz 110 | % 20190409,v1.0r,hzz 111 | % 方法:与cite命令相同 112 | \newrobustcmd*{\upcite}{% 113 | \cite} 114 | 115 | % 116 | % 重定义parencite命令 117 | % 118 | %\DeclareCiteCommand{\parencite} 119 | % {\usebibmacro{cite:init}% 120 | % \renewbibmacro*{postnote}{% 121 | % \iffieldundef{postnote}% 122 | % {}% 123 | % {\nopunct% 124 | % \printfield{postnote}}}% 125 | % (\usebibmacro{prenote}}%) 126 | % {\usebibmacro{citeindex}% 127 | % \usebibmacro{cite}} 128 | % {} 129 | % {%( 130 | % )\mkbibsuperscript{\usebibmacro{postnote}}} 131 | 132 | 133 | % 134 | % 新定义pagescite命令,以满足标签带页码的国标要求 135 | % 136 | % 原理方法: 137 | % 新增\pagescite引用命令 138 | \DeclareCiteCommand{\pagescite} 139 | {\usebibmacro{cite:init}% 140 | \renewbibmacro*{postnote}{% 141 | \iffieldundef{postnote}% 142 | {\thefield{pages}}% 143 | {\thefield{postnote}}}% 144 | (\usebibmacro{prenote}%) 145 | }% 146 | {\usebibmacro{citeindex}% 147 | \usebibmacro{cite}} 148 | {} 149 | {%( 150 | )\mkbibsuperscript{\usebibmacro{postnote}}} 151 | 152 | % 153 | % 定义yearpagescite,用于当文中作者已经存在,需要页码和年份的情况 154 | % 155 | % 原理:增加一个命令yearpagescite 156 | % 参考biblatex.DEF中的\DeclareCiteCommand*{\citeyear}命令 157 | \DeclareCiteCommand{\yearpagescite} 158 | {\usebibmacro{cite:init}% 159 | \renewbibmacro*{postnote}{% 160 | \iffieldundef{postnote}% 161 | {\thefield{pages}}% 162 | {\thefield{postnote}}}% 163 | \printtext{(}\usebibmacro{prenote}}% 164 | {\usebibmacro{cite:labeldate+extradate}}%\printfield{year}\printfield{extrayear} 165 | {\multicitedelim}% 166 | {\printtext{)}\textsuperscript{\usebibmacro{postnote}}} 167 | 168 | % 169 | % 定义yearcite,用于当文中作者已经存在,仅需要年份的情况 170 | % 171 | % 原理:增加一个命令yearcite 172 | \DeclareCiteCommand{\yearcite}%仅输出年份,不要页码 173 | {\usebibmacro{cite:init}% 174 | \printtext{(}\usebibmacro{prenote}}% 175 | {\usebibmacro{cite:labeldate+extradate}}%\printfield{year}\printfield{extrayear} 176 | {\multicitedelim}% 177 | {\printtext{)}} 178 | 179 | % 180 | % 定义\authornumcite命令,输出作者信息,然后在后面带上顺序编码 181 | % 20180427,v1.0k,增加,hzz 182 | % 20190409,v1.0r,hzz 183 | % 为与顺序编码制兼容,增加了命令,定义与citet相同 184 | \newbibmacro*{citeta}{% 185 | \iffieldundef{shorthand} 186 | {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} 187 | {\usebibmacro{cite:label}% 188 | \setunit{\printdelim{nonameyeardelim}}% 189 | \usebibmacro{cite:labeldate+extradate}% 190 | \usebibmacro{cite:reinit}} 191 | {\iffieldequals{namehash}{\cbx@lasthash} 192 | {\ifthenelse{\iffieldequals{labelyear}{\cbx@lastyear}\AND 193 | \(\value{multicitecount}=0\OR\iffieldundef{postnote}\)} 194 | {\setunit{\addcomma}% 195 | \usebibmacro{cite:extradate}} 196 | {\setunit{\compcitedelim}% 197 | \usebibmacro{cite:labeldate+extradate}% 198 | \savefield{labelyear}{\cbx@lastyear}}} 199 | {\printnames{labelname}% 200 | %\setunit{\printdelim{nameyeardelim}}% 201 | (\usebibmacro{cite:labeldate+extradate})% 202 | \savefield{namehash}{\cbx@lasthash}% 203 | \savefield{labelyear}{\cbx@lastyear}}}} 204 | {\usebibmacro{cite:shorthand}% 205 | \usebibmacro{cite:reinit}}% 206 | \setunit{\multicitedelim}} 207 | 208 | \DeclareCiteCommand{\authornumcite}% 209 | {\usebibmacro{cite:init}% 210 | \renewbibmacro*{postnote}{% 211 | \iffieldundef{postnote}% 212 | {}% 213 | {\thefield{postnote}}}% 214 | \usebibmacro{prenote}}% 215 | {\usebibmacro{citeindex}% 216 | \usebibmacro{citeta}} 217 | {} 218 | {\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote} 219 | } 220 | 221 | % 222 | % 增加如下多个命令 223 | % 20190409,v1.0r,hzz 224 | % 方法:利用newcommand或newrobustcmd命令进行定义 225 | % 注意\citet和\citep命令之所以不用newrobustcmd,是为避免加载natbib模块后产生冲突 226 | 227 | %同\authornumcite 228 | %\DeclareCiteCommand{\citet}% 229 | % {\usebibmacro{cite:init}% 230 | % \renewbibmacro*{postnote}{% 231 | % \iffieldundef{postnote}% 232 | % {}% 233 | % {\thefield{postnote}}}% 234 | % \usebibmacro{prenote}}% 235 | % {\usebibmacro{citeindex}% 236 | % \usebibmacro{citet}} 237 | % {} 238 | % {%( 239 | % )\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote} 240 | % } 241 | 242 | 243 | % 244 | % 重定义citet,因为前面与\authornumcite同定义的命令无法正确处理多个bibtexkey同时给出的压缩情况 245 | % 20200721,v1.0v,hzz 246 | % 方法:利用textcite命令进行定义 247 | % 基本利用textcite命令来写citet,仅利用bool{cbx:incitet}做判断,进而处理不同的页码形式 248 | \newbool{cbx:incitet} 249 | \newbibmacro*{citet:postnote}{% 250 | \ifthenelse{\value{multicitecount}=\value{multicitetotal}} 251 | {\setunit{}% 252 | \printtext{% 253 | \ifbool{cbx:parens} 254 | {\bibcloseparen\global\boolfalse{cbx:parens}} 255 | {}}} 256 | {\setunit{% 257 | \ifbool{cbx:parens} 258 | {\bibcloseparen\global\boolfalse{cbx:parens}} 259 | {}% 260 | \textcitedelim}}% 261 | \renewbibmacro*{postnote}{% 262 | \iffieldundef{postnote}% 263 | {}% 264 | {\thefield{postnote}}}% 265 | \mkbibsuperscript{\usebibmacro{postnote}}% 266 | } 267 | 268 | \DeclareCiteCommand{\cbx@textcite} 269 | {\usebibmacro{cite:init}} 270 | {\usebibmacro{citeindex}% 271 | \usebibmacro{textcite}} 272 | {} 273 | {\ifbool{cbx:incitet}{\usebibmacro{citet:postnote}}{\usebibmacro{textcite:postnote}}} 274 | 275 | \newrobustcmd{\cbx@citet@init}[2]{% 276 | \global\booltrue{cbx:incitet}% 277 | \setcounter{textcitetotal}{0}% 278 | \setcounter{textcitecount}{0}% 279 | \def\cbx@savedcites{#1}#2\cbx@savedcites\empty} 280 | 281 | \renewrobustcmd{\cbx@textcite@init}[2]{% 282 | \global\boolfalse{cbx:incitet}% 283 | \setcounter{textcitetotal}{0}% 284 | \setcounter{textcitecount}{0}% 285 | \def\cbx@savedcites{#1}#2\cbx@savedcites\empty} 286 | 287 | \DeclareCiteCommand{\citet}[\cbx@citet@init\cbx@textcite] 288 | {\gdef\cbx@savedkeys{}% 289 | \citetrackerfalse% 290 | \pagetrackerfalse% 291 | \DeferNextCitekeyHook% 292 | \usebibmacro{cite:init}} 293 | {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} 294 | {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% 295 | \global\clearfield{multipostnote}} 296 | {}% 297 | \xappto\cbx@savedkeys{\thefield{entrykey},}% 298 | \iffieldequals{namehash}{\cbx@lasthash} 299 | {} 300 | {\stepcounter{textcitetotal}% 301 | \savefield{namehash}{\cbx@lasthash}}} 302 | {} 303 | {\protected@xappto\cbx@savedcites{% 304 | [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} 305 | 306 | \let\cbx@citets@init\cbx@citet@init 307 | \pretocmd{\cbx@citets@init}{\UseNextMultiCiteHook}{}{} 308 | \DeclareMultiCiteCommand{\citets}[\cbx@citets@init\cbx@textcites]{\citet}{} 309 | 310 | %同cite 311 | \DeclareCiteCommand{\citep} 312 | {\usebibmacro{cite:init}% 313 | \renewbibmacro*{postnote}{% 314 | \iffieldundef{postnote}% 315 | {}% 316 | {\thefield{postnote}}}% 317 | (\usebibmacro{prenote}}%) 318 | {\usebibmacro{citeindex}% 319 | \usebibmacro{cite}} 320 | {} 321 | {%( 322 | )\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote} 323 | } 324 | 325 | \newrobustcmd*{\citetns}% 326 | {\textcite} 327 | 328 | \newrobustcmd*{\citepns}% 329 | {\parencite} 330 | 331 | \newrobustcmd*{\inlinecite}% 332 | {\parencite} 333 | 334 | 335 | % 336 | % 增加如下复数的命令,以符合biblatex的复数命令习惯 337 | % 20190430,v1.0r,hzz 338 | % citec和citecs命令是为了兼容顺序编码制。 339 | % authornumcites是常用命令authornumcite的复数形式 340 | \newrobustcmd*{\citec}% 341 | {\cite} 342 | 343 | \DeclareMultiCiteCommand{\citecs}[]{\cite}{\multicitedelim} 344 | 345 | \DeclareMultiCiteCommand{\authornumcites}[]{\authornumcite}{\multicitedelim} 346 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Biblio/gbt7714-numerical.bst: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `gbt7714-numerical.bst', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% gbt7714.dtx (with options: `2015,numerical') 8 | %% ------------------------------------------------------------------- 9 | %% GB/T 7714-2015 BibTeX Style 10 | %% https://github.com/CTeX-org/gbt7714-bibtex-style 11 | %% Version: 2020/06/08 v2.0.2 12 | %% ------------------------------------------------------------------- 13 | %% Copyright (C) 2016-2020 by Zeping Lee 14 | %% ------------------------------------------------------------------- 15 | %% This file may be distributed and/or modified under the 16 | %% conditions of the LaTeX Project Public License, either version 1.3c 17 | %% of this license or (at your option) any later version. 18 | %% The latest version of this license is in 19 | %% https://www.latex-project.org/lppl.txt 20 | %% and version 1.3c or later is part of all distributions of LaTeX 21 | %% version 2005/12/01 or later. 22 | %% ------------------------------------------------------------------- 23 | INTEGERS { 24 | citation.et.al.min 25 | citation.et.al.use.first 26 | bibliography.et.al.min 27 | bibliography.et.al.use.first 28 | uppercase.name 29 | terms.in.macro 30 | year.after.author 31 | period.after.author 32 | sentence.case.title 33 | link.title 34 | title.in.journal 35 | show.mark 36 | space.before.mark 37 | show.medium.type 38 | slash.for.extraction 39 | in.booktitle 40 | short.journal 41 | italic.journal 42 | bold.journal.volume 43 | show.missing.address.publisher 44 | only.start.page 45 | show.urldate 46 | show.url 47 | show.doi 48 | show.preprint 49 | show.note 50 | show.english.translation 51 | } 52 | 53 | FUNCTION {load.config} 54 | { 55 | #2 'citation.et.al.min := 56 | #1 'citation.et.al.use.first := 57 | #4 'bibliography.et.al.min := 58 | #3 'bibliography.et.al.use.first := 59 | #0 'uppercase.name := 60 | #1 'terms.in.macro := 61 | #0 'year.after.author := 62 | #1 'period.after.author := 63 | #1 'sentence.case.title := 64 | #0 'link.title := 65 | #1 'title.in.journal := 66 | #1 'show.mark := 67 | #1 'space.before.mark := 68 | #1 'show.medium.type := 69 | #1 'slash.for.extraction := 70 | #0 'in.booktitle := 71 | #0 'short.journal := 72 | #0 'italic.journal := 73 | #0 'bold.journal.volume := 74 | #0 'show.missing.address.publisher := 75 | #0 'only.start.page := 76 | #1 'show.urldate := 77 | #1 'show.url := 78 | #1 'show.doi := 79 | #0 'show.preprint := 80 | #0 'show.note := 81 | #0 'show.english.translation := 82 | } 83 | 84 | ENTRY 85 | { address 86 | archivePrefix 87 | author 88 | booktitle 89 | date 90 | doi 91 | edition 92 | editor 93 | eprint 94 | eprinttype 95 | howpublished 96 | institution 97 | journal 98 | journaltitle 99 | key 100 | langid 101 | language 102 | location 103 | mark 104 | medium 105 | note 106 | number 107 | organization 108 | pages 109 | publisher 110 | school 111 | series 112 | shortjournal 113 | title 114 | translation 115 | translator 116 | url 117 | urldate 118 | volume 119 | year 120 | } 121 | { entry.lang entry.is.electronic is.pure.electronic entry.numbered } 122 | { label extra.label sort.label short.list entry.mark entry.url } 123 | 124 | INTEGERS { output.state before.all mid.sentence after.sentence after.block after.slash } 125 | 126 | INTEGERS { lang.zh lang.ja lang.en lang.ru lang.other } 127 | 128 | INTEGERS { charptr len } 129 | 130 | FUNCTION {init.state.consts} 131 | { #0 'before.all := 132 | #1 'mid.sentence := 133 | #2 'after.sentence := 134 | #3 'after.block := 135 | #4 'after.slash := 136 | #3 'lang.zh := 137 | #4 'lang.ja := 138 | #1 'lang.en := 139 | #2 'lang.ru := 140 | #0 'lang.other := 141 | } 142 | 143 | FUNCTION {bbl.anonymous} 144 | { entry.lang lang.zh = 145 | { "佚名" } 146 | { "Anon" } 147 | if$ 148 | } 149 | 150 | FUNCTION {bbl.space} 151 | { entry.lang lang.zh = 152 | { "\ " } 153 | { " " } 154 | if$ 155 | } 156 | 157 | FUNCTION {bbl.and} 158 | { "" } 159 | 160 | FUNCTION {bbl.et.al} 161 | { entry.lang lang.zh = 162 | { "等" } 163 | { entry.lang lang.ja = 164 | { "他" } 165 | { entry.lang lang.ru = 166 | { "идр" } 167 | { "et~al." } 168 | if$ 169 | } 170 | if$ 171 | } 172 | if$ 173 | } 174 | 175 | FUNCTION {citation.and} 176 | { terms.in.macro 177 | { "{\biband}" } 178 | 'bbl.and 179 | if$ 180 | } 181 | 182 | FUNCTION {citation.et.al} 183 | { terms.in.macro 184 | { "{\bibetal}" } 185 | 'bbl.et.al 186 | if$ 187 | } 188 | 189 | FUNCTION {bbl.colon} { ": " } 190 | 191 | FUNCTION {bbl.wide.space} { "\quad " } 192 | 193 | FUNCTION {bbl.slash} { "//\allowbreak " } 194 | 195 | FUNCTION {bbl.sine.loco} 196 | { entry.lang lang.zh = 197 | { "[出版地不详]" } 198 | { "[S.l.]" } 199 | if$ 200 | } 201 | 202 | FUNCTION {bbl.sine.nomine} 203 | { entry.lang lang.zh = 204 | { "[出版者不详]" } 205 | { "[s.n.]" } 206 | if$ 207 | } 208 | 209 | FUNCTION {bbl.sine.loco.sine.nomine} 210 | { entry.lang lang.zh = 211 | { "[出版地不详: 出版者不详]" } 212 | { "[S.l.: s.n.]" } 213 | if$ 214 | } 215 | 216 | FUNCTION {not} 217 | { { #0 } 218 | { #1 } 219 | if$ 220 | } 221 | 222 | FUNCTION {and} 223 | { 'skip$ 224 | { pop$ #0 } 225 | if$ 226 | } 227 | 228 | FUNCTION {or} 229 | { { pop$ #1 } 230 | 'skip$ 231 | if$ 232 | } 233 | 234 | STRINGS { s t } 235 | 236 | FUNCTION {output.nonnull} 237 | { 's := 238 | output.state mid.sentence = 239 | { ", " * write$ } 240 | { output.state after.block = 241 | { add.period$ write$ 242 | newline$ 243 | "\newblock " write$ 244 | } 245 | { output.state before.all = 246 | 'write$ 247 | { output.state after.slash = 248 | { bbl.slash * write$ 249 | newline$ 250 | } 251 | { add.period$ " " * write$ } 252 | if$ 253 | } 254 | if$ 255 | } 256 | if$ 257 | mid.sentence 'output.state := 258 | } 259 | if$ 260 | s 261 | } 262 | 263 | FUNCTION {output} 264 | { duplicate$ empty$ 265 | 'pop$ 266 | 'output.nonnull 267 | if$ 268 | } 269 | 270 | FUNCTION {output.after} 271 | { 't := 272 | duplicate$ empty$ 273 | 'pop$ 274 | { 's := 275 | output.state mid.sentence = 276 | { t * write$ } 277 | { output.state after.block = 278 | { add.period$ write$ 279 | newline$ 280 | "\newblock " write$ 281 | } 282 | { output.state before.all = 283 | 'write$ 284 | { output.state after.slash = 285 | { bbl.slash * write$ } 286 | { add.period$ " " * write$ } 287 | if$ 288 | } 289 | if$ 290 | } 291 | if$ 292 | mid.sentence 'output.state := 293 | } 294 | if$ 295 | s 296 | } 297 | if$ 298 | } 299 | 300 | FUNCTION {output.check} 301 | { 't := 302 | duplicate$ empty$ 303 | { pop$ "empty " t * " in " * cite$ * warning$ } 304 | 'output.nonnull 305 | if$ 306 | } 307 | 308 | FUNCTION {fin.entry} 309 | { add.period$ 310 | write$ 311 | show.english.translation entry.lang lang.zh = and 312 | { ")" 313 | write$ 314 | } 315 | 'skip$ 316 | if$ 317 | newline$ 318 | } 319 | 320 | FUNCTION {new.block} 321 | { output.state before.all = 322 | 'skip$ 323 | { output.state after.slash = 324 | 'skip$ 325 | { after.block 'output.state := } 326 | if$ 327 | } 328 | if$ 329 | } 330 | 331 | FUNCTION {new.sentence} 332 | { output.state after.block = 333 | 'skip$ 334 | { output.state before.all = 335 | 'skip$ 336 | { output.state after.slash = 337 | 'skip$ 338 | { after.sentence 'output.state := } 339 | if$ 340 | } 341 | if$ 342 | } 343 | if$ 344 | } 345 | 346 | FUNCTION {new.slash} 347 | { output.state before.all = 348 | 'skip$ 349 | { slash.for.extraction 350 | { after.slash 'output.state := } 351 | { after.block 'output.state := } 352 | if$ 353 | } 354 | if$ 355 | } 356 | 357 | FUNCTION {new.block.checka} 358 | { empty$ 359 | 'skip$ 360 | 'new.block 361 | if$ 362 | } 363 | 364 | FUNCTION {new.block.checkb} 365 | { empty$ 366 | swap$ empty$ 367 | and 368 | 'skip$ 369 | 'new.block 370 | if$ 371 | } 372 | 373 | FUNCTION {new.sentence.checka} 374 | { empty$ 375 | 'skip$ 376 | 'new.sentence 377 | if$ 378 | } 379 | 380 | FUNCTION {new.sentence.checkb} 381 | { empty$ 382 | swap$ empty$ 383 | and 384 | 'skip$ 385 | 'new.sentence 386 | if$ 387 | } 388 | 389 | FUNCTION {field.or.null} 390 | { duplicate$ empty$ 391 | { pop$ "" } 392 | 'skip$ 393 | if$ 394 | } 395 | 396 | FUNCTION {italicize} 397 | { duplicate$ empty$ 398 | { pop$ "" } 399 | { "\textit{" swap$ * "}" * } 400 | if$ 401 | } 402 | 403 | INTEGERS { byte second.byte } 404 | 405 | INTEGERS { char.lang tmp.lang } 406 | 407 | STRINGS { tmp.str } 408 | 409 | FUNCTION {get.str.lang} 410 | { 'tmp.str := 411 | lang.other 'tmp.lang := 412 | #1 'charptr := 413 | tmp.str text.length$ #1 + 'len := 414 | { charptr len < } 415 | { tmp.str charptr #1 substring$ chr.to.int$ 'byte := 416 | byte #128 < 417 | { charptr #1 + 'charptr := 418 | byte #64 > byte #91 < and byte #96 > byte #123 < and or 419 | { lang.en 'char.lang := } 420 | { lang.other 'char.lang := } 421 | if$ 422 | } 423 | { tmp.str charptr #1 + #1 substring$ chr.to.int$ 'second.byte := 424 | byte #224 < 425 | { charptr #2 + 'charptr := 426 | byte #207 > byte #212 < and 427 | byte #212 = second.byte #176 < and or 428 | { lang.ru 'char.lang := } 429 | { lang.other 'char.lang := } 430 | if$ 431 | } 432 | { byte #240 < 433 | { charptr #3 + 'charptr := 434 | byte #227 > byte #234 < and 435 | { lang.zh 'char.lang := } 436 | { byte #227 = 437 | { second.byte #143 > 438 | { lang.zh 'char.lang := } 439 | { second.byte #128 > second.byte #132 < and 440 | { lang.ja 'char.lang := } 441 | { lang.other 'char.lang := } 442 | if$ 443 | } 444 | if$ 445 | } 446 | { byte #239 = 447 | second.byte #163 > second.byte #172 < and and 448 | { lang.zh 'char.lang := } 449 | { lang.other 'char.lang := } 450 | if$ 451 | } 452 | if$ 453 | } 454 | if$ 455 | } 456 | { charptr #4 + 'charptr := 457 | byte #240 = second.byte #159 > and 458 | { lang.zh 'char.lang := } 459 | { lang.other 'char.lang := } 460 | if$ 461 | } 462 | if$ 463 | } 464 | if$ 465 | } 466 | if$ 467 | char.lang tmp.lang > 468 | { char.lang 'tmp.lang := } 469 | 'skip$ 470 | if$ 471 | } 472 | while$ 473 | tmp.lang 474 | } 475 | 476 | FUNCTION {check.entry.lang} 477 | { author field.or.null 478 | title field.or.null * 479 | get.str.lang 480 | } 481 | 482 | STRINGS { entry.langid } 483 | 484 | FUNCTION {set.entry.lang} 485 | { "" 'entry.langid := 486 | language empty$ not 487 | { language 'entry.langid := } 488 | 'skip$ 489 | if$ 490 | langid empty$ not 491 | { langid 'entry.langid := } 492 | 'skip$ 493 | if$ 494 | entry.langid empty$ 495 | { check.entry.lang } 496 | { entry.langid "english" = entry.langid "american" = or entry.langid "british" = or 497 | { lang.en } 498 | { entry.langid "chinese" = 499 | { lang.zh } 500 | { entry.langid "japanese" = 501 | { lang.ja } 502 | { entry.langid "russian" = 503 | { lang.ru } 504 | { check.entry.lang } 505 | if$ 506 | } 507 | if$ 508 | } 509 | if$ 510 | } 511 | if$ 512 | } 513 | if$ 514 | 'entry.lang := 515 | } 516 | 517 | FUNCTION {set.entry.numbered} 518 | { type$ "patent" = 519 | type$ "standard" = or 520 | type$ "techreport" = or 521 | { #1 'entry.numbered := } 522 | { #0 'entry.numbered := } 523 | if$ 524 | } 525 | 526 | INTEGERS { nameptr namesleft numnames name.lang } 527 | 528 | FUNCTION {format.name} 529 | { "{vv~}{ll}{, jj}{, ff}" format.name$ 't := 530 | t "others" = 531 | { bbl.et.al } 532 | { t get.str.lang 'name.lang := 533 | name.lang lang.en = 534 | { t #1 "{vv~}{ll}{~f{~}}" format.name$ 535 | uppercase.name 536 | { "u" change.case$ } 537 | 'skip$ 538 | if$ 539 | t #1 "{, jj}" format.name$ * 540 | } 541 | { t #1 "{ll}{ff}" format.name$ } 542 | if$ 543 | } 544 | if$ 545 | } 546 | 547 | FUNCTION {format.names} 548 | { 's := 549 | #1 'nameptr := 550 | s num.names$ 'numnames := 551 | "" 552 | numnames 'namesleft := 553 | { namesleft #0 > } 554 | { s nameptr format.name bbl.et.al = 555 | numnames bibliography.et.al.min #1 - > nameptr bibliography.et.al.use.first > and or 556 | { ", " * 557 | bbl.et.al * 558 | #1 'namesleft := 559 | } 560 | { nameptr #1 > 561 | { namesleft #1 = bbl.and "" = not and 562 | { bbl.and * } 563 | { ", " * } 564 | if$ 565 | } 566 | 'skip$ 567 | if$ 568 | s nameptr format.name * 569 | } 570 | if$ 571 | nameptr #1 + 'nameptr := 572 | namesleft #1 - 'namesleft := 573 | } 574 | while$ 575 | } 576 | 577 | FUNCTION {format.key} 578 | { empty$ 579 | { key field.or.null } 580 | { "" } 581 | if$ 582 | } 583 | 584 | FUNCTION {format.authors} 585 | { author empty$ not 586 | { author format.names } 587 | { "empty author in " cite$ * warning$ 588 | "" 589 | } 590 | if$ 591 | } 592 | 593 | FUNCTION {format.editors} 594 | { editor empty$ 595 | { "" } 596 | { editor format.names } 597 | if$ 598 | } 599 | 600 | FUNCTION {format.translators} 601 | { translator empty$ 602 | { "" } 603 | { translator format.names 604 | entry.lang lang.zh = 605 | { translator num.names$ #3 > 606 | { "译" * } 607 | { ", 译" * } 608 | if$ 609 | } 610 | 'skip$ 611 | if$ 612 | } 613 | if$ 614 | } 615 | 616 | FUNCTION {format.full.names} 617 | {'s := 618 | #1 'nameptr := 619 | s num.names$ 'numnames := 620 | numnames 'namesleft := 621 | { namesleft #0 > } 622 | { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't := 623 | t get.str.lang 'name.lang := 624 | name.lang lang.en = 625 | { t #1 "{vv~}{ll}" format.name$ 't := } 626 | { t #1 "{ll}{ff}" format.name$ 't := } 627 | if$ 628 | nameptr #1 > 629 | { 630 | namesleft #1 > 631 | { ", " * t * } 632 | { 633 | numnames #2 > 634 | { "," * } 635 | 'skip$ 636 | if$ 637 | t "others" = 638 | { " et~al." * } 639 | { " and " * t * } 640 | if$ 641 | } 642 | if$ 643 | } 644 | 't 645 | if$ 646 | nameptr #1 + 'nameptr := 647 | namesleft #1 - 'namesleft := 648 | } 649 | while$ 650 | } 651 | 652 | FUNCTION {author.editor.full} 653 | { author empty$ 654 | { editor empty$ 655 | { "" } 656 | { editor format.full.names } 657 | if$ 658 | } 659 | { author format.full.names } 660 | if$ 661 | } 662 | 663 | FUNCTION {author.full} 664 | { author empty$ 665 | { "" } 666 | { author format.full.names } 667 | if$ 668 | } 669 | 670 | FUNCTION {editor.full} 671 | { editor empty$ 672 | { "" } 673 | { editor format.full.names } 674 | if$ 675 | } 676 | 677 | FUNCTION {make.full.names} 678 | { type$ "book" = 679 | type$ "inbook" = 680 | or 681 | 'author.editor.full 682 | { type$ "collection" = 683 | type$ "proceedings" = 684 | or 685 | 'editor.full 686 | 'author.full 687 | if$ 688 | } 689 | if$ 690 | } 691 | 692 | FUNCTION {output.bibitem} 693 | { newline$ 694 | "\bibitem[" write$ 695 | label ")" * 696 | make.full.names duplicate$ short.list = 697 | { pop$ } 698 | { * } 699 | if$ 700 | 's := 701 | s text.length$ 'charptr := 702 | { charptr #0 > s charptr #1 substring$ "[" = not and } 703 | { charptr #1 - 'charptr := } 704 | while$ 705 | charptr #0 > 706 | { "{" s * "}" * } 707 | { s } 708 | if$ 709 | "]{" * write$ 710 | cite$ write$ 711 | "}" write$ 712 | newline$ 713 | "" 714 | before.all 'output.state := 715 | } 716 | 717 | FUNCTION {change.sentence.case} 718 | { entry.lang lang.en = 719 | { "t" change.case$ } 720 | 'skip$ 721 | if$ 722 | } 723 | 724 | FUNCTION {add.link} 725 | { url empty$ not 726 | { "\href{" url * "}{" * swap$ * "}" * } 727 | { doi empty$ not 728 | { "\href{http://dx.doi.org/" doi * "}{" * swap$ * "}" * } 729 | 'skip$ 730 | if$ 731 | } 732 | if$ 733 | } 734 | 735 | FUNCTION {format.title} 736 | { title empty$ 737 | { "" } 738 | { title 739 | sentence.case.title 740 | 'change.sentence.case 741 | 'skip$ 742 | if$ 743 | entry.numbered number empty$ not and 744 | { bbl.colon * number * } 745 | 'skip$ 746 | if$ 747 | link.title 748 | 'add.link 749 | 'skip$ 750 | if$ 751 | } 752 | if$ 753 | } 754 | 755 | FUNCTION {tie.or.space.connect} 756 | { duplicate$ text.length$ #3 < 757 | { "~" } 758 | { " " } 759 | if$ 760 | swap$ * * 761 | } 762 | 763 | FUNCTION {either.or.check} 764 | { empty$ 765 | 'pop$ 766 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 767 | if$ 768 | } 769 | 770 | FUNCTION {is.digit} 771 | { duplicate$ empty$ 772 | { pop$ #0 } 773 | { chr.to.int$ 774 | duplicate$ "0" chr.to.int$ < 775 | { pop$ #0 } 776 | { "9" chr.to.int$ > 777 | { #0 } 778 | { #1 } 779 | if$ 780 | } 781 | if$ 782 | } 783 | if$ 784 | } 785 | 786 | FUNCTION {is.number} 787 | { 's := 788 | s empty$ 789 | { #0 } 790 | { s text.length$ 'charptr := 791 | { charptr #0 > 792 | s charptr #1 substring$ is.digit 793 | and 794 | } 795 | { charptr #1 - 'charptr := } 796 | while$ 797 | charptr not 798 | } 799 | if$ 800 | } 801 | 802 | FUNCTION {format.volume} 803 | { volume empty$ not 804 | { volume is.number 805 | { entry.lang lang.zh = 806 | { "第 " volume * " 卷" * } 807 | { "volume" volume tie.or.space.connect } 808 | if$ 809 | } 810 | { volume } 811 | if$ 812 | } 813 | { "" } 814 | if$ 815 | } 816 | 817 | FUNCTION {format.number} 818 | { number empty$ not 819 | { number is.number 820 | { entry.lang lang.zh = 821 | { "第 " number * " 册" * } 822 | { "number" number tie.or.space.connect } 823 | if$ 824 | } 825 | { number } 826 | if$ 827 | } 828 | { "" } 829 | if$ 830 | } 831 | 832 | FUNCTION {format.volume.number} 833 | { volume empty$ not 834 | { format.volume } 835 | { format.number } 836 | if$ 837 | } 838 | 839 | FUNCTION {format.title.vol.num} 840 | { title 841 | sentence.case.title 842 | 'change.sentence.case 843 | 'skip$ 844 | if$ 845 | entry.numbered 846 | { number empty$ not 847 | { bbl.colon * number * } 848 | 'skip$ 849 | if$ 850 | } 851 | { format.volume.number 's := 852 | s empty$ not 853 | { bbl.colon * s * } 854 | 'skip$ 855 | if$ 856 | } 857 | if$ 858 | } 859 | 860 | FUNCTION {format.series.vol.num.title} 861 | { format.volume.number 's := 862 | series empty$ not 863 | { series 864 | sentence.case.title 865 | 'change.sentence.case 866 | 'skip$ 867 | if$ 868 | entry.numbered 869 | { bbl.wide.space * } 870 | { bbl.colon * 871 | s empty$ not 872 | { s * bbl.wide.space * } 873 | 'skip$ 874 | if$ 875 | } 876 | if$ 877 | title * 878 | sentence.case.title 879 | 'change.sentence.case 880 | 'skip$ 881 | if$ 882 | entry.numbered number empty$ not and 883 | { bbl.colon * number * } 884 | 'skip$ 885 | if$ 886 | } 887 | { format.title.vol.num } 888 | if$ 889 | link.title 890 | 'add.link 891 | 'skip$ 892 | if$ 893 | } 894 | 895 | FUNCTION {format.booktitle.vol.num} 896 | { booktitle 897 | entry.numbered 898 | 'skip$ 899 | { format.volume.number 's := 900 | s empty$ not 901 | { bbl.colon * s * } 902 | 'skip$ 903 | if$ 904 | } 905 | if$ 906 | } 907 | 908 | FUNCTION {format.series.vol.num.booktitle} 909 | { format.volume.number 's := 910 | series empty$ not 911 | { series bbl.colon * 912 | entry.numbered not s empty$ not and 913 | { s * bbl.wide.space * } 914 | 'skip$ 915 | if$ 916 | booktitle * 917 | } 918 | { format.booktitle.vol.num } 919 | if$ 920 | in.booktitle 921 | { duplicate$ empty$ not entry.lang lang.en = and 922 | { "In: " swap$ * } 923 | 'skip$ 924 | if$ 925 | } 926 | 'skip$ 927 | if$ 928 | } 929 | 930 | FUNCTION {remove.period} 931 | { 't := 932 | "" 's := 933 | { t empty$ not } 934 | { t #1 #1 substring$ 'tmp.str := 935 | tmp.str "." = not 936 | { s tmp.str * 's := } 937 | 'skip$ 938 | if$ 939 | t #2 global.max$ substring$ 't := 940 | } 941 | while$ 942 | s 943 | } 944 | 945 | FUNCTION {abbreviate} 946 | { remove.period 947 | 't := 948 | t "l" change.case$ 's := 949 | "" 950 | s "physical review letters" = 951 | { "Phys Rev Lett" } 952 | 'skip$ 953 | if$ 954 | 's := 955 | s empty$ 956 | { t } 957 | { pop$ s } 958 | if$ 959 | } 960 | 961 | FUNCTION {format.journal} 962 | { "" 963 | short.journal 964 | { shortjournal empty$ not 965 | { shortjournal * } 966 | { journal empty$ not 967 | { journal * abbreviate } 968 | { journaltitle empty$ not 969 | { journaltitle * abbreviate } 970 | 'skip$ 971 | if$ 972 | } 973 | if$ 974 | } 975 | if$ 976 | } 977 | { journal empty$ not 978 | { journal * } 979 | { journaltitle empty$ not 980 | { journaltitle * } 981 | 'skip$ 982 | if$ 983 | } 984 | if$ 985 | } 986 | if$ 987 | duplicate$ empty$ not 988 | { italic.journal entry.lang lang.en = and 989 | 'italicize 990 | 'skip$ 991 | if$ 992 | } 993 | 'skip$ 994 | if$ 995 | } 996 | 997 | FUNCTION {set.entry.mark} 998 | { entry.mark empty$ not 999 | 'pop$ 1000 | { mark empty$ not 1001 | { pop$ mark 'entry.mark := } 1002 | { 'entry.mark := } 1003 | if$ 1004 | } 1005 | if$ 1006 | } 1007 | 1008 | FUNCTION {format.mark} 1009 | { show.mark 1010 | { entry.mark 1011 | show.medium.type 1012 | { medium empty$ not 1013 | { "/" * medium * } 1014 | { entry.is.electronic 1015 | { "/OL" * } 1016 | 'skip$ 1017 | if$ 1018 | } 1019 | if$ 1020 | } 1021 | 'skip$ 1022 | if$ 1023 | 'entry.mark := 1024 | space.before.mark 1025 | { " [" entry.mark * "]" * } 1026 | { "[" entry.mark * "]" * } 1027 | if$ 1028 | } 1029 | { "" } 1030 | if$ 1031 | } 1032 | 1033 | FUNCTION {num.to.ordinal} 1034 | { duplicate$ text.length$ 'charptr := 1035 | duplicate$ charptr #1 substring$ 's := 1036 | s "1" = 1037 | { "st" * } 1038 | { s "2" = 1039 | { "nd" * } 1040 | { s "3" = 1041 | { "rd" * } 1042 | { "th" * } 1043 | if$ 1044 | } 1045 | if$ 1046 | } 1047 | if$ 1048 | } 1049 | 1050 | FUNCTION {format.edition} 1051 | { edition empty$ 1052 | { "" } 1053 | { edition is.number 1054 | { entry.lang lang.zh = 1055 | { edition " 版" * } 1056 | { edition num.to.ordinal " ed." * } 1057 | if$ 1058 | } 1059 | { entry.lang lang.en = 1060 | { edition change.sentence.case 's := 1061 | s "Revised" = s "Revised edition" = or 1062 | { "Rev. ed." } 1063 | { s " ed." *} 1064 | if$ 1065 | } 1066 | { edition } 1067 | if$ 1068 | } 1069 | if$ 1070 | } 1071 | if$ 1072 | } 1073 | 1074 | FUNCTION {format.publisher} 1075 | { publisher empty$ not 1076 | { publisher } 1077 | { school empty$ not 1078 | { school } 1079 | { organization empty$ not 1080 | { organization } 1081 | { institution empty$ not 1082 | { institution } 1083 | { "" } 1084 | if$ 1085 | } 1086 | if$ 1087 | } 1088 | if$ 1089 | } 1090 | if$ 1091 | } 1092 | 1093 | FUNCTION {format.address.publisher} 1094 | { address empty$ not 1095 | { address } 1096 | { location empty$ not 1097 | { location } 1098 | { "" } 1099 | if$ 1100 | } 1101 | if$ 1102 | duplicate$ empty$ not 1103 | { format.publisher empty$ not 1104 | { bbl.colon * format.publisher * } 1105 | { entry.is.electronic not show.missing.address.publisher and 1106 | { bbl.colon * bbl.sine.nomine * } 1107 | 'skip$ 1108 | if$ 1109 | } 1110 | if$ 1111 | } 1112 | { pop$ 1113 | entry.is.electronic not show.missing.address.publisher and 1114 | { format.publisher empty$ not 1115 | { bbl.sine.loco bbl.colon * format.publisher * } 1116 | { bbl.sine.loco.sine.nomine } 1117 | if$ 1118 | } 1119 | { format.publisher empty$ not 1120 | { format.publisher } 1121 | { "" } 1122 | if$ 1123 | } 1124 | if$ 1125 | } 1126 | if$ 1127 | } 1128 | 1129 | FUNCTION {extract.before.dash} 1130 | { duplicate$ empty$ 1131 | { pop$ "" } 1132 | { 's := 1133 | #1 'charptr := 1134 | s text.length$ #1 + 'len := 1135 | { charptr len < 1136 | s charptr #1 substring$ "-" = not 1137 | and 1138 | } 1139 | { charptr #1 + 'charptr := } 1140 | while$ 1141 | s #1 charptr #1 - substring$ 1142 | } 1143 | if$ 1144 | } 1145 | 1146 | FUNCTION {extract.after.dash} 1147 | { duplicate$ empty$ 1148 | { pop$ "" } 1149 | { 's := 1150 | #1 'charptr := 1151 | s text.length$ #1 + 'len := 1152 | { charptr len < 1153 | s charptr #1 substring$ "-" = not 1154 | and 1155 | } 1156 | { charptr #1 + 'charptr := } 1157 | while$ 1158 | { charptr len < 1159 | s charptr #1 substring$ "-" = 1160 | and 1161 | } 1162 | { charptr #1 + 'charptr := } 1163 | while$ 1164 | s charptr global.max$ substring$ 1165 | } 1166 | if$ 1167 | } 1168 | 1169 | FUNCTION {contains.dash} 1170 | { duplicate$ empty$ 1171 | { pop$ #0 } 1172 | { 's := 1173 | { s empty$ not 1174 | s #1 #1 substring$ "-" = not 1175 | and 1176 | } 1177 | { s #2 global.max$ substring$ 's := } 1178 | while$ 1179 | s empty$ not 1180 | } 1181 | if$ 1182 | } 1183 | 1184 | FUNCTION {format.year} 1185 | { year empty$ not 1186 | { year extract.before.dash } 1187 | { date empty$ not 1188 | { date extract.before.dash } 1189 | { "empty year in " cite$ * warning$ 1190 | urldate empty$ not 1191 | { "[" urldate extract.before.dash * "]" * } 1192 | { "" } 1193 | if$ 1194 | } 1195 | if$ 1196 | } 1197 | if$ 1198 | extra.label * 1199 | } 1200 | 1201 | FUNCTION {format.date} 1202 | { type$ "patent" = type$ "newspaper" = or 1203 | date empty$ not and 1204 | { date } 1205 | { year } 1206 | if$ 1207 | } 1208 | 1209 | FUNCTION {format.editdate} 1210 | { date empty$ not 1211 | { "\allowbreak(" date * ")" * } 1212 | { "" } 1213 | if$ 1214 | } 1215 | 1216 | FUNCTION {format.urldate} 1217 | { urldate empty$ not 1218 | show.urldate show.url and is.pure.electronic or and 1219 | url empty$ not and 1220 | { "\allowbreak[" urldate * "]" * } 1221 | { "" } 1222 | if$ 1223 | } 1224 | 1225 | FUNCTION {hyphenate} 1226 | { 't := 1227 | "" 1228 | { t empty$ not } 1229 | { t #1 #1 substring$ "-" = 1230 | { "-" * 1231 | { t #1 #1 substring$ "-" = } 1232 | { t #2 global.max$ substring$ 't := } 1233 | while$ 1234 | } 1235 | { t #1 #1 substring$ * 1236 | t #2 global.max$ substring$ 't := 1237 | } 1238 | if$ 1239 | } 1240 | while$ 1241 | } 1242 | 1243 | FUNCTION {format.pages} 1244 | { pages empty$ 1245 | { "" } 1246 | { pages hyphenate } 1247 | if$ 1248 | } 1249 | 1250 | FUNCTION {format.extracted.pages} 1251 | { pages empty$ 1252 | { "" } 1253 | { pages 1254 | only.start.page 1255 | 'extract.before.dash 1256 | 'hyphenate 1257 | if$ 1258 | } 1259 | if$ 1260 | } 1261 | 1262 | FUNCTION {format.journal.volume} 1263 | { volume empty$ not 1264 | { bold.journal.volume 1265 | { "\textbf{" volume * "}" * } 1266 | { volume } 1267 | if$ 1268 | } 1269 | { "" } 1270 | if$ 1271 | } 1272 | 1273 | FUNCTION {format.journal.number} 1274 | { number empty$ not 1275 | { "\penalty0 (" number * ")" * } 1276 | { "" } 1277 | if$ 1278 | } 1279 | 1280 | FUNCTION {format.journal.pages} 1281 | { pages empty$ 1282 | { "" } 1283 | { ": " 1284 | format.extracted.pages * 1285 | } 1286 | if$ 1287 | } 1288 | 1289 | FUNCTION {format.periodical.year.volume.number} 1290 | { year empty$ not 1291 | { year extract.before.dash } 1292 | { "empty year in periodical " cite$ * warning$ } 1293 | if$ 1294 | volume empty$ not 1295 | { ", " * volume extract.before.dash * } 1296 | 'skip$ 1297 | if$ 1298 | number empty$ not 1299 | { "\penalty0 (" * number extract.before.dash * ")" * } 1300 | 'skip$ 1301 | if$ 1302 | year contains.dash 1303 | { "--" * 1304 | year extract.after.dash empty$ 1305 | volume extract.after.dash empty$ and 1306 | number extract.after.dash empty$ and not 1307 | { year extract.after.dash empty$ not 1308 | { year extract.after.dash * } 1309 | { year extract.before.dash * } 1310 | if$ 1311 | volume empty$ not 1312 | { ", " * volume extract.after.dash * } 1313 | 'skip$ 1314 | if$ 1315 | number empty$ not 1316 | { "\penalty0 (" * number extract.after.dash * ")" * } 1317 | 'skip$ 1318 | if$ 1319 | } 1320 | 'skip$ 1321 | if$ 1322 | } 1323 | 'skip$ 1324 | if$ 1325 | } 1326 | 1327 | FUNCTION {check.url} 1328 | { url empty$ not 1329 | { "\url{" url * "}" * 'entry.url := 1330 | #1 'entry.is.electronic := 1331 | } 1332 | { howpublished empty$ not 1333 | { howpublished #1 #5 substring$ "\url{" = 1334 | { howpublished 'entry.url := 1335 | #1 'entry.is.electronic := 1336 | } 1337 | 'skip$ 1338 | if$ 1339 | } 1340 | { note empty$ not 1341 | { note #1 #5 substring$ "\url{" = 1342 | { note 'entry.url := 1343 | #1 'entry.is.electronic := 1344 | } 1345 | 'skip$ 1346 | if$ 1347 | } 1348 | 'skip$ 1349 | if$ 1350 | } 1351 | if$ 1352 | } 1353 | if$ 1354 | } 1355 | 1356 | FUNCTION {format.url} 1357 | { entry.url 1358 | } 1359 | 1360 | FUNCTION {output.url} 1361 | { entry.url empty$ not 1362 | { new.block 1363 | entry.url output 1364 | } 1365 | 'skip$ 1366 | if$ 1367 | } 1368 | 1369 | FUNCTION {check.doi} 1370 | { doi empty$ not 1371 | { #1 'entry.is.electronic := } 1372 | 'skip$ 1373 | if$ 1374 | } 1375 | 1376 | FUNCTION {is.in.url} 1377 | { 's := 1378 | s empty$ 1379 | { #1 } 1380 | { entry.url empty$ 1381 | { #0 } 1382 | { s text.length$ 'len := 1383 | entry.url text.length$ 'charptr := 1384 | { entry.url charptr len substring$ s = not 1385 | charptr #0 > 1386 | and 1387 | } 1388 | { charptr #1 - 'charptr := } 1389 | while$ 1390 | charptr 1391 | } 1392 | if$ 1393 | } 1394 | if$ 1395 | } 1396 | 1397 | FUNCTION {format.doi} 1398 | { "" 1399 | doi empty$ not 1400 | { "" 's := 1401 | doi 't := 1402 | #0 'numnames := 1403 | { t empty$ not} 1404 | { t #1 #1 substring$ 'tmp.str := 1405 | tmp.str "," = tmp.str " " = or t #2 #1 substring$ empty$ or 1406 | { t #2 #1 substring$ empty$ 1407 | { s tmp.str * 's := } 1408 | 'skip$ 1409 | if$ 1410 | s empty$ s is.in.url or 1411 | 'skip$ 1412 | { numnames #1 + 'numnames := 1413 | numnames #1 > 1414 | { ", " * } 1415 | { "DOI: " * } 1416 | if$ 1417 | "\doi{" s * "}" * * 1418 | } 1419 | if$ 1420 | "" 's := 1421 | } 1422 | { s tmp.str * 's := } 1423 | if$ 1424 | t #2 global.max$ substring$ 't := 1425 | } 1426 | while$ 1427 | } 1428 | 'skip$ 1429 | if$ 1430 | } 1431 | 1432 | FUNCTION {output.doi} 1433 | { doi empty$ not show.doi and 1434 | show.english.translation entry.lang lang.zh = and not and 1435 | { new.block 1436 | format.doi output 1437 | } 1438 | 'skip$ 1439 | if$ 1440 | } 1441 | 1442 | FUNCTION {check.electronic} 1443 | { "" 'entry.url := 1444 | #0 'entry.is.electronic := 1445 | 'check.doi 1446 | 'skip$ 1447 | if$ 1448 | 'check.url 1449 | 'skip$ 1450 | if$ 1451 | medium empty$ not 1452 | { medium "MT" = medium "DK" = or medium "CD" = or medium "OL" = or 1453 | { #1 'entry.is.electronic := } 1454 | 'skip$ 1455 | if$ 1456 | } 1457 | 'skip$ 1458 | if$ 1459 | } 1460 | 1461 | FUNCTION {format.eprint} 1462 | { eprinttype empty$ not 1463 | { eprinttype } 1464 | { archivePrefix empty$ not 1465 | { archivePrefix } 1466 | { "" } 1467 | if$ 1468 | } 1469 | if$ 1470 | 's := 1471 | s empty$ not 1472 | { s ": \eprint{" * 1473 | url empty$ not 1474 | { url } 1475 | { "https://" s "l" change.case$ * ".org/abs/" * eprint * } 1476 | if$ 1477 | * "}{" * 1478 | eprint * "}" * 1479 | } 1480 | { eprint } 1481 | if$ 1482 | } 1483 | 1484 | FUNCTION {output.eprint} 1485 | { show.preprint eprint empty$ not and 1486 | { new.block 1487 | format.eprint output 1488 | } 1489 | 'skip$ 1490 | if$ 1491 | } 1492 | 1493 | FUNCTION {format.note} 1494 | { note empty$ not show.note and 1495 | { note } 1496 | { "" } 1497 | if$ 1498 | } 1499 | 1500 | FUNCTION {output.translation} 1501 | { show.english.translation entry.lang lang.zh = and 1502 | { translation empty$ not 1503 | { translation } 1504 | { "[English translation missing!]" } 1505 | if$ 1506 | " (in Chinese)" * output 1507 | write$ 1508 | format.doi duplicate$ empty$ not 1509 | { newline$ 1510 | write$ 1511 | } 1512 | 'pop$ 1513 | if$ 1514 | " \\" write$ 1515 | newline$ 1516 | "(" write$ 1517 | "" 1518 | before.all 'output.state := 1519 | } 1520 | 'skip$ 1521 | if$ 1522 | } 1523 | 1524 | FUNCTION {empty.misc.check} 1525 | { author empty$ title empty$ 1526 | year empty$ 1527 | and and 1528 | key empty$ not and 1529 | { "all relevant fields are empty in " cite$ * warning$ } 1530 | 'skip$ 1531 | if$ 1532 | } 1533 | 1534 | FUNCTION {monograph} 1535 | { output.bibitem 1536 | output.translation 1537 | author empty$ not 1538 | { format.authors } 1539 | { editor empty$ not 1540 | { format.editors } 1541 | { "empty author and editor in " cite$ * warning$ 1542 | "" 1543 | } 1544 | if$ 1545 | } 1546 | if$ 1547 | output 1548 | year.after.author 1549 | { period.after.author 1550 | 'new.sentence 1551 | 'skip$ 1552 | if$ 1553 | format.year "year" output.check 1554 | } 1555 | 'skip$ 1556 | if$ 1557 | new.block 1558 | format.series.vol.num.title "title" output.check 1559 | "M" set.entry.mark 1560 | format.mark "" output.after 1561 | new.block 1562 | format.translators output 1563 | new.sentence 1564 | format.edition output 1565 | new.block 1566 | format.address.publisher output 1567 | year.after.author not 1568 | { format.year "year" output.check } 1569 | 'skip$ 1570 | if$ 1571 | format.pages bbl.colon output.after 1572 | format.urldate "" output.after 1573 | output.url 1574 | output.doi 1575 | new.block 1576 | format.note output 1577 | fin.entry 1578 | } 1579 | 1580 | FUNCTION {incollection} 1581 | { output.bibitem 1582 | output.translation 1583 | format.authors output 1584 | author format.key output 1585 | year.after.author 1586 | { period.after.author 1587 | 'new.sentence 1588 | 'skip$ 1589 | if$ 1590 | format.year "year" output.check 1591 | } 1592 | 'skip$ 1593 | if$ 1594 | new.block 1595 | format.title "title" output.check 1596 | "M" set.entry.mark 1597 | format.mark "" output.after 1598 | new.block 1599 | format.translators output 1600 | new.slash 1601 | format.editors output 1602 | new.block 1603 | format.series.vol.num.booktitle "booktitle" output.check 1604 | new.block 1605 | format.edition output 1606 | new.block 1607 | format.address.publisher output 1608 | year.after.author not 1609 | { format.year "year" output.check } 1610 | 'skip$ 1611 | if$ 1612 | format.extracted.pages bbl.colon output.after 1613 | format.urldate "" output.after 1614 | output.url 1615 | output.doi 1616 | new.block 1617 | format.note output 1618 | fin.entry 1619 | } 1620 | 1621 | FUNCTION {periodical} 1622 | { output.bibitem 1623 | output.translation 1624 | format.authors output 1625 | author format.key output 1626 | year.after.author 1627 | { period.after.author 1628 | 'new.sentence 1629 | 'skip$ 1630 | if$ 1631 | format.year "year" output.check 1632 | } 1633 | 'skip$ 1634 | if$ 1635 | new.block 1636 | format.title "title" output.check 1637 | "J" set.entry.mark 1638 | format.mark "" output.after 1639 | new.block 1640 | format.periodical.year.volume.number output 1641 | new.block 1642 | format.address.publisher output 1643 | year.after.author not 1644 | { format.date "year" output.check } 1645 | 'skip$ 1646 | if$ 1647 | format.urldate "" output.after 1648 | output.url 1649 | output.doi 1650 | new.block 1651 | format.note output 1652 | fin.entry 1653 | } 1654 | 1655 | FUNCTION {article} 1656 | { output.bibitem 1657 | output.translation 1658 | format.authors output 1659 | author format.key output 1660 | year.after.author 1661 | { period.after.author 1662 | 'new.sentence 1663 | 'skip$ 1664 | if$ 1665 | format.year "year" output.check 1666 | } 1667 | 'skip$ 1668 | if$ 1669 | new.block 1670 | title.in.journal 1671 | { format.title "title" output.check 1672 | "J" set.entry.mark 1673 | format.mark "" output.after 1674 | new.block 1675 | } 1676 | 'skip$ 1677 | if$ 1678 | format.journal "journal" output.check 1679 | year.after.author not 1680 | { format.date "year" output.check } 1681 | 'skip$ 1682 | if$ 1683 | format.journal.volume output 1684 | format.journal.number "" output.after 1685 | format.journal.pages "" output.after 1686 | format.urldate "" output.after 1687 | output.url 1688 | output.doi 1689 | new.block 1690 | format.note output 1691 | fin.entry 1692 | } 1693 | 1694 | FUNCTION {patent} 1695 | { output.bibitem 1696 | output.translation 1697 | format.authors output 1698 | author format.key output 1699 | year.after.author 1700 | { period.after.author 1701 | 'new.sentence 1702 | 'skip$ 1703 | if$ 1704 | format.year "year" output.check 1705 | } 1706 | 'skip$ 1707 | if$ 1708 | new.block 1709 | format.title "title" output.check 1710 | "P" set.entry.mark 1711 | format.mark "" output.after 1712 | new.block 1713 | format.date "year" output.check 1714 | format.urldate "" output.after 1715 | output.url 1716 | output.doi 1717 | new.block 1718 | format.note output 1719 | fin.entry 1720 | } 1721 | 1722 | FUNCTION {electronic} 1723 | { #1 #1 check.electronic 1724 | #1 'entry.is.electronic := 1725 | #1 'is.pure.electronic := 1726 | output.bibitem 1727 | output.translation 1728 | format.authors output 1729 | author format.key output 1730 | year.after.author 1731 | { period.after.author 1732 | 'new.sentence 1733 | 'skip$ 1734 | if$ 1735 | format.year "year" output.check 1736 | } 1737 | 'skip$ 1738 | if$ 1739 | new.block 1740 | format.series.vol.num.title "title" output.check 1741 | "EB" set.entry.mark 1742 | format.mark "" output.after 1743 | new.block 1744 | format.address.publisher output 1745 | year.after.author not 1746 | { date empty$ 1747 | { format.date output } 1748 | 'skip$ 1749 | if$ 1750 | } 1751 | 'skip$ 1752 | if$ 1753 | format.pages bbl.colon output.after 1754 | format.editdate "" output.after 1755 | format.urldate "" output.after 1756 | output.url 1757 | output.doi 1758 | new.block 1759 | format.note output 1760 | fin.entry 1761 | } 1762 | 1763 | FUNCTION {preprint} 1764 | { output.bibitem 1765 | output.translation 1766 | author empty$ not 1767 | { format.authors } 1768 | { editor empty$ not 1769 | { format.editors } 1770 | { "empty author and editor in " cite$ * warning$ 1771 | "" 1772 | } 1773 | if$ 1774 | } 1775 | if$ 1776 | output 1777 | year.after.author 1778 | { period.after.author 1779 | 'new.sentence 1780 | 'skip$ 1781 | if$ 1782 | format.year "year" output.check 1783 | } 1784 | 'skip$ 1785 | if$ 1786 | new.block 1787 | title.in.journal 1788 | { format.series.vol.num.title "title" output.check 1789 | "Z" set.entry.mark 1790 | format.mark "" output.after 1791 | new.block 1792 | } 1793 | 'skip$ 1794 | if$ 1795 | format.translators output 1796 | new.sentence 1797 | format.edition output 1798 | new.block 1799 | output.eprint 1800 | year.after.author not 1801 | { format.year "year" output.check } 1802 | 'skip$ 1803 | if$ 1804 | format.pages bbl.colon output.after 1805 | format.urldate "" output.after 1806 | output.url 1807 | new.block 1808 | format.note output 1809 | fin.entry 1810 | } 1811 | 1812 | FUNCTION {misc} 1813 | { journal empty$ not 1814 | 'article 1815 | { booktitle empty$ not 1816 | 'incollection 1817 | { publisher empty$ not 1818 | 'monograph 1819 | { eprint empty$ not show.preprint and 1820 | 'preprint 1821 | { entry.is.electronic 1822 | 'electronic 1823 | { 1824 | "Z" set.entry.mark 1825 | monograph 1826 | } 1827 | if$ 1828 | } 1829 | if$ 1830 | } 1831 | if$ 1832 | } 1833 | if$ 1834 | } 1835 | if$ 1836 | empty.misc.check 1837 | } 1838 | 1839 | FUNCTION {archive} 1840 | { "A" set.entry.mark 1841 | misc 1842 | } 1843 | 1844 | FUNCTION {book} { monograph } 1845 | 1846 | FUNCTION {booklet} { book } 1847 | 1848 | FUNCTION {collection} 1849 | { "G" set.entry.mark 1850 | monograph 1851 | } 1852 | 1853 | FUNCTION {database} 1854 | { "DB" set.entry.mark 1855 | electronic 1856 | } 1857 | 1858 | FUNCTION {dataset} 1859 | { "DS" set.entry.mark 1860 | electronic 1861 | } 1862 | 1863 | FUNCTION {inbook} { book } 1864 | 1865 | FUNCTION {inproceedings} 1866 | { "C" set.entry.mark 1867 | incollection 1868 | } 1869 | 1870 | FUNCTION {conference} { inproceedings } 1871 | 1872 | FUNCTION {map} 1873 | { "CM" set.entry.mark 1874 | misc 1875 | } 1876 | 1877 | FUNCTION {manual} { monograph } 1878 | 1879 | FUNCTION {mastersthesis} 1880 | { "D" set.entry.mark 1881 | monograph 1882 | } 1883 | 1884 | FUNCTION {newspaper} 1885 | { "N" set.entry.mark 1886 | article 1887 | } 1888 | 1889 | FUNCTION {online} 1890 | { "EB" set.entry.mark 1891 | electronic 1892 | } 1893 | 1894 | FUNCTION {phdthesis} { mastersthesis } 1895 | 1896 | FUNCTION {proceedings} 1897 | { "C" set.entry.mark 1898 | monograph 1899 | } 1900 | 1901 | FUNCTION {software} 1902 | { "CP" set.entry.mark 1903 | electronic 1904 | } 1905 | 1906 | FUNCTION {standard} 1907 | { "S" set.entry.mark 1908 | misc 1909 | } 1910 | 1911 | FUNCTION {techreport} 1912 | { "R" set.entry.mark 1913 | misc 1914 | } 1915 | 1916 | FUNCTION {unpublished} { misc } 1917 | 1918 | FUNCTION {default.type} { misc } 1919 | 1920 | MACRO {jan} {"January"} 1921 | 1922 | MACRO {feb} {"February"} 1923 | 1924 | MACRO {mar} {"March"} 1925 | 1926 | MACRO {apr} {"April"} 1927 | 1928 | MACRO {may} {"May"} 1929 | 1930 | MACRO {jun} {"June"} 1931 | 1932 | MACRO {jul} {"July"} 1933 | 1934 | MACRO {aug} {"August"} 1935 | 1936 | MACRO {sep} {"September"} 1937 | 1938 | MACRO {oct} {"October"} 1939 | 1940 | MACRO {nov} {"November"} 1941 | 1942 | MACRO {dec} {"December"} 1943 | 1944 | MACRO {acmcs} {"ACM Computing Surveys"} 1945 | 1946 | MACRO {acta} {"Acta Informatica"} 1947 | 1948 | MACRO {cacm} {"Communications of the ACM"} 1949 | 1950 | MACRO {ibmjrd} {"IBM Journal of Research and Development"} 1951 | 1952 | MACRO {ibmsj} {"IBM Systems Journal"} 1953 | 1954 | MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 1955 | 1956 | MACRO {ieeetc} {"IEEE Transactions on Computers"} 1957 | 1958 | MACRO {ieeetcad} 1959 | {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 1960 | 1961 | MACRO {ipl} {"Information Processing Letters"} 1962 | 1963 | MACRO {jacm} {"Journal of the ACM"} 1964 | 1965 | MACRO {jcss} {"Journal of Computer and System Sciences"} 1966 | 1967 | MACRO {scp} {"Science of Computer Programming"} 1968 | 1969 | MACRO {sicomp} {"SIAM Journal on Computing"} 1970 | 1971 | MACRO {tocs} {"ACM Transactions on Computer Systems"} 1972 | 1973 | MACRO {tods} {"ACM Transactions on Database Systems"} 1974 | 1975 | MACRO {tog} {"ACM Transactions on Graphics"} 1976 | 1977 | MACRO {toms} {"ACM Transactions on Mathematical Software"} 1978 | 1979 | MACRO {toois} {"ACM Transactions on Office Information Systems"} 1980 | 1981 | MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 1982 | 1983 | MACRO {tcs} {"Theoretical Computer Science"} 1984 | 1985 | FUNCTION {sortify} 1986 | { purify$ 1987 | "l" change.case$ 1988 | } 1989 | 1990 | FUNCTION {chop.word} 1991 | { 's := 1992 | 'len := 1993 | s #1 len substring$ = 1994 | { s len #1 + global.max$ substring$ } 1995 | 's 1996 | if$ 1997 | } 1998 | 1999 | FUNCTION {format.lab.name} 2000 | { "{vv~}{ll}{, jj}{, ff}" format.name$ 't := 2001 | t "others" = 2002 | { citation.et.al } 2003 | { t get.str.lang 'name.lang := 2004 | name.lang lang.zh = name.lang lang.ja = or 2005 | { t #1 "{ll}{ff}" format.name$ } 2006 | { t #1 "{vv~}{ll}" format.name$ } 2007 | if$ 2008 | } 2009 | if$ 2010 | } 2011 | 2012 | FUNCTION {format.lab.names} 2013 | { 's := 2014 | #1 'nameptr := 2015 | s num.names$ 'numnames := 2016 | "" 2017 | numnames 'namesleft := 2018 | { namesleft #0 > } 2019 | { s nameptr format.lab.name citation.et.al = 2020 | numnames citation.et.al.min #1 - > nameptr citation.et.al.use.first > and or 2021 | { bbl.space * 2022 | citation.et.al * 2023 | #1 'namesleft := 2024 | } 2025 | { nameptr #1 > 2026 | { namesleft #1 = citation.and "" = not and 2027 | { citation.and * } 2028 | { ", " * } 2029 | if$ 2030 | } 2031 | 'skip$ 2032 | if$ 2033 | s nameptr format.lab.name * 2034 | } 2035 | if$ 2036 | nameptr #1 + 'nameptr := 2037 | namesleft #1 - 'namesleft := 2038 | } 2039 | while$ 2040 | } 2041 | 2042 | FUNCTION {author.key.label} 2043 | { author empty$ 2044 | { key empty$ 2045 | { cite$ #1 #3 substring$ } 2046 | 'key 2047 | if$ 2048 | } 2049 | { author format.lab.names } 2050 | if$ 2051 | } 2052 | 2053 | FUNCTION {author.editor.key.label} 2054 | { author empty$ 2055 | { editor empty$ 2056 | { key empty$ 2057 | { cite$ #1 #3 substring$ } 2058 | 'key 2059 | if$ 2060 | } 2061 | { editor format.lab.names } 2062 | if$ 2063 | } 2064 | { author format.lab.names } 2065 | if$ 2066 | } 2067 | 2068 | FUNCTION {author.key.organization.label} 2069 | { author empty$ 2070 | { key empty$ 2071 | { organization empty$ 2072 | { cite$ #1 #3 substring$ } 2073 | { "The " #4 organization chop.word #3 text.prefix$ } 2074 | if$ 2075 | } 2076 | 'key 2077 | if$ 2078 | } 2079 | { author format.lab.names } 2080 | if$ 2081 | } 2082 | 2083 | FUNCTION {editor.key.organization.label} 2084 | { editor empty$ 2085 | { key empty$ 2086 | { organization empty$ 2087 | { cite$ #1 #3 substring$ } 2088 | { "The " #4 organization chop.word #3 text.prefix$ } 2089 | if$ 2090 | } 2091 | 'key 2092 | if$ 2093 | } 2094 | { editor format.lab.names } 2095 | if$ 2096 | } 2097 | 2098 | FUNCTION {calc.short.authors} 2099 | { type$ "book" = 2100 | type$ "inbook" = 2101 | or 2102 | 'author.editor.key.label 2103 | { type$ "collection" = 2104 | type$ "proceedings" = 2105 | or 2106 | { editor empty$ not 2107 | 'editor.key.organization.label 2108 | 'author.key.organization.label 2109 | if$ 2110 | } 2111 | 'author.key.label 2112 | if$ 2113 | } 2114 | if$ 2115 | 'short.list := 2116 | } 2117 | 2118 | FUNCTION {calc.label} 2119 | { calc.short.authors 2120 | short.list 2121 | "(" 2122 | * 2123 | format.year duplicate$ empty$ 2124 | short.list key field.or.null = or 2125 | { pop$ "" } 2126 | 'skip$ 2127 | if$ 2128 | * 2129 | 'label := 2130 | } 2131 | 2132 | INTEGERS { seq.num } 2133 | 2134 | FUNCTION {init.seq} 2135 | { #0 'seq.num :=} 2136 | 2137 | FUNCTION {int.to.fix} 2138 | { "000000000" swap$ int.to.str$ * 2139 | #-1 #10 substring$ 2140 | } 2141 | 2142 | FUNCTION {presort} 2143 | { set.entry.lang 2144 | set.entry.numbered 2145 | show.url show.doi check.electronic 2146 | #0 'is.pure.electronic := 2147 | calc.label 2148 | label sortify 2149 | " " 2150 | * 2151 | seq.num #1 + 'seq.num := 2152 | seq.num int.to.fix 2153 | 'sort.label := 2154 | sort.label * 2155 | #1 entry.max$ substring$ 2156 | 'sort.key$ := 2157 | } 2158 | 2159 | STRINGS { longest.label last.label next.extra } 2160 | 2161 | INTEGERS { longest.label.width last.extra.num number.label } 2162 | 2163 | FUNCTION {initialize.longest.label} 2164 | { "" 'longest.label := 2165 | #0 int.to.chr$ 'last.label := 2166 | "" 'next.extra := 2167 | #0 'longest.label.width := 2168 | #0 'last.extra.num := 2169 | #0 'number.label := 2170 | } 2171 | 2172 | FUNCTION {forward.pass} 2173 | { last.label label = 2174 | { last.extra.num #1 + 'last.extra.num := 2175 | last.extra.num int.to.chr$ 'extra.label := 2176 | } 2177 | { "a" chr.to.int$ 'last.extra.num := 2178 | "" 'extra.label := 2179 | label 'last.label := 2180 | } 2181 | if$ 2182 | number.label #1 + 'number.label := 2183 | } 2184 | 2185 | FUNCTION {reverse.pass} 2186 | { next.extra "b" = 2187 | { "a" 'extra.label := } 2188 | 'skip$ 2189 | if$ 2190 | extra.label 'next.extra := 2191 | extra.label 2192 | duplicate$ empty$ 2193 | 'skip$ 2194 | { "{\natexlab{" swap$ * "}}" * } 2195 | if$ 2196 | 'extra.label := 2197 | label extra.label * 'label := 2198 | } 2199 | 2200 | FUNCTION {bib.sort.order} 2201 | { sort.label 'sort.key$ := 2202 | } 2203 | 2204 | FUNCTION {begin.bib} 2205 | { preamble$ empty$ 2206 | 'skip$ 2207 | { preamble$ write$ newline$ } 2208 | if$ 2209 | "\begin{thebibliography}{" number.label int.to.str$ * "}" * 2210 | write$ newline$ 2211 | terms.in.macro 2212 | { "\providecommand{\biband}{和}" 2213 | write$ newline$ 2214 | "\providecommand{\bibetal}{等}" 2215 | write$ newline$ 2216 | } 2217 | 'skip$ 2218 | if$ 2219 | "\providecommand{\natexlab}[1]{#1}" 2220 | write$ newline$ 2221 | "\providecommand{\url}[1]{#1}" 2222 | write$ newline$ 2223 | "\expandafter\ifx\csname urlstyle\endcsname\relax\else" 2224 | write$ newline$ 2225 | " \urlstyle{same}\fi" 2226 | write$ newline$ 2227 | "\expandafter\ifx\csname href\endcsname\relax" 2228 | write$ newline$ 2229 | " \DeclareUrlCommand\doi{\urlstyle{rm}}" 2230 | write$ newline$ 2231 | " \def\eprint#1#2{#2}" 2232 | write$ newline$ 2233 | "\else" 2234 | write$ newline$ 2235 | " \def\doi#1{\href{https://doi.org/#1}{\nolinkurl{#1}}}" 2236 | write$ newline$ 2237 | " \let\eprint\href" 2238 | write$ newline$ 2239 | "\fi" 2240 | write$ newline$ 2241 | } 2242 | 2243 | FUNCTION {end.bib} 2244 | { newline$ 2245 | "\end{thebibliography}" write$ newline$ 2246 | } 2247 | 2248 | READ 2249 | 2250 | EXECUTE {init.state.consts} 2251 | 2252 | EXECUTE {load.config} 2253 | 2254 | EXECUTE {init.seq} 2255 | 2256 | ITERATE {presort} 2257 | 2258 | SORT 2259 | 2260 | EXECUTE {initialize.longest.label} 2261 | 2262 | ITERATE {forward.pass} 2263 | 2264 | REVERSE {reverse.pass} 2265 | 2266 | ITERATE {bib.sort.order} 2267 | 2268 | SORT 2269 | 2270 | EXECUTE {begin.bib} 2271 | 2272 | ITERATE {call.type$} 2273 | 2274 | EXECUTE {end.bib} 2275 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Biblio/ref.bib: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %- -% 3 | %- Bibliography -% 4 | %- -% 5 | %---------------------------------------------------------------------------% 6 | @book{wikibook2014latex, 7 | title={http://en.wikibooks.org/wiki/LaTeX}, 8 | author={Wikibook}, 9 | year={2014}, 10 | publisher={On-line Resources} 11 | } 12 | @book{lamport1986document, 13 | title={Document Preparation System}, 14 | author={Lamport, Leslie}, 15 | year={1986}, 16 | publisher={Addison-Wesley Reading, MA} 17 | } 18 | @article{chen2005zhulu, 19 | title={著录文后参考文献的规则及注意事项}, 20 | author={陈浩元}, 21 | key={Chen Hao Yuan}, 22 | journal={编辑学报}, 23 | volume={17}, 24 | number={6}, 25 | pages={413--415}, 26 | year={2005} 27 | } 28 | @book{chu2004tushu, 29 | title={图书馆数字参考咨询服务研究}, 30 | author={初景利}, 31 | key={Chu Jing Li}, 32 | year={2004}, 33 | address={北京}, 34 | publisher={北京图书馆出版社} 35 | } 36 | @article{stamerjohanns2009mathml, 37 | title={{MathML}-aware article conversion from {LaTeX}}, 38 | author={Stamerjohanns, Heinrich and Ginev, Deyan and David, Catalin and Misev, Dimitar and Zamdzhiev, Vladimir and Kohlhase, Michael}, 39 | journal={Towards a Digital Mathematics Library}, 40 | volume={16}, 41 | number={2}, 42 | pages={109--120}, 43 | year={2009}, 44 | publisher={Masaryk University Press} 45 | } 46 | @article{betts2005aging, 47 | title={Aging reduces center-surround antagonism in visual motion processing}, 48 | author={Betts, Lisa R and Taylor, Christopher P}, 49 | journal={Neuron}, 50 | volume={45}, 51 | number={3}, 52 | pages={361--366}, 53 | year={2005}, 54 | publisher={Elsevier} 55 | } 56 | 57 | @article{bravo1990comparative, 58 | title={Comparative study of visual inter and intrahemispheric cortico-cortical connections in five native Chilean rodents}, 59 | author={Bravo, Hermes and Olavarria, Jaime}, 60 | journal={Anatomy and embryology}, 61 | volume={181}, 62 | number={1}, 63 | pages={67--73}, 64 | year={1990}, 65 | publisher={Springer} 66 | } 67 | @book{hls2012jinji, 68 | author = {哈里森·沃尔德伦}, 69 | key = {Haliseng Woerdelun}, 70 | translator = {谢远涛}, 71 | title = {经济数学与金融数学}, 72 | address = {北京}, 73 | publisher = {中国人民大学出版社}, 74 | year = {2012}, 75 | pages = {235--236}, 76 | } 77 | @proceedings{niu2013zonghe, 78 | editor = {牛志明 and 斯温兰德 and 雷光春}, 79 | key = {Niu Zhi Ming Siwenlande Lei Guang Chun}, 80 | title = {综合湿地管理国际研讨会论文集}, 81 | address = {北京}, 82 | publisher = {海洋出版社}, 83 | year = {2013}, 84 | } 85 | @incollection{chen1980zhongguo, 86 | author = {陈晋镳 and 张惠民 and 朱士兴 and 赵震 and 87 | 王振刚}, 88 | key = {Chen Jing Ao Zhang Hui Ming Zhu Shi Xing Zhao Zhen Wang Zhen Gang}, 89 | title = {蓟县震旦亚界研究}, 90 | editor = {中国地质科学院天津地质矿产研究所}, 91 | booktitle = {中国震旦亚界}, 92 | address = {天津}, 93 | publisher = {天津科学技术出版社}, 94 | year = {1980}, 95 | pages = {56--114}, 96 | } 97 | @article{yuan2012lana, 98 | author = {袁训来 and 陈哲 and 肖书海}, 99 | key = {Yuan xun lai Chen zhe Xiao shu Hai}, 100 | title = {蓝田生物群: 一个认识多细胞生物起源和早期演化的新窗口 -- 篇一}, 101 | journal = {科学通报}, 102 | year = {2012}, 103 | volume = {57}, 104 | number = {34}, 105 | pages = {3219}, 106 | } 107 | @article{yuan2012lanb, 108 | author = {袁训来 and 陈哲 and 肖书海}, 109 | key = {Yuan xun lai Chen zhe Xiao shu Hai}, 110 | title = {蓝田生物群: 一个认识多细胞生物起源和早期演化的新窗口 -- 篇二}, 111 | journal = {科学通报}, 112 | year = {2012}, 113 | volume = {57}, 114 | number = {34}, 115 | pages = {3219}, 116 | } 117 | @article{yuan2012lanc, 118 | author = {袁训来 and 陈哲 and 肖书海}, 119 | key = {Yuan xun lai Chen zhe Xiao shu Hai}, 120 | title = {蓝田生物群: 一个认识多细胞生物起源和早期演化的新窗口 -- 篇三}, 121 | journal = {科学通报}, 122 | year = {2012}, 123 | volume = {57}, 124 | number = {34}, 125 | pages = {3219}, 126 | } 127 | @article{walls2013drought, 128 | author = {Walls, Susan C. and Barichivich, William J. and Brown, Mary 129 | E.}, 130 | title = {Drought, deluge and declines: the impact of precipitation 131 | extremes on amphibians in a changing climate}, 132 | journal = {Biology}, 133 | year = {2013}, 134 | volume = {2}, 135 | number = {1}, 136 | pages = {399--418}, 137 | urldate = {2013-11-04}, 138 | url = {http://www.mdpi.com/2079-7737/2/1/399}, 139 | doi = {10.3390/biology2010399}, 140 | } 141 | @article{Bohan1928, 142 | author = { ボハン, デ}, 143 | title = { 過去及び現在に於ける英国と会 }, 144 | journal = { 日本時報 }, 145 | year = { 1928 }, 146 | volume = { 17 }, 147 | pages = { 5-9 }, 148 | edition = { 9 }, 149 | hyphenation = { japanese }, 150 | language = { japanese } 151 | } 152 | 153 | @article{Dubrovin1906, 154 | author = { Дубровин, А. И }, 155 | title = { Открытое письмо Председателя Главного Совета Союза Русского Народа Санкт-Петербургскому Антонию, Первенствующему члену Священного Синода }, 156 | journal = { Вече }, 157 | year = { 1906 }, 158 | volume = { }, 159 | edition = { 97 }, 160 | month = { 7 дек. 1906 }, 161 | pages = { 1-3 }, 162 | hyphenation = { russian }, 163 | language = { russian } 164 | } 165 | %---------------------------------------------------------------------------% 166 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Img/c06h06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/streamer-AP/UCAS_Paper_2023/4a494ad3a205d09bd8c5ab570763e6cf7b86addb/中国科学院大学学位论文LaTeX模板2022/Img/c06h06.png -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Img/oaspl_a.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/streamer-AP/UCAS_Paper_2023/4a494ad3a205d09bd8c5ab570763e6cf7b86addb/中国科学院大学学位论文LaTeX模板2022/Img/oaspl_a.pdf -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Img/oaspl_b.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/streamer-AP/UCAS_Paper_2023/4a494ad3a205d09bd8c5ab570763e6cf7b86addb/中国科学院大学学位论文LaTeX模板2022/Img/oaspl_b.pdf -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Img/oaspl_c.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/streamer-AP/UCAS_Paper_2023/4a494ad3a205d09bd8c5ab570763e6cf7b86addb/中国科学院大学学位论文LaTeX模板2022/Img/oaspl_c.pdf -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Img/oaspl_d.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/streamer-AP/UCAS_Paper_2023/4a494ad3a205d09bd8c5ab570763e6cf7b86addb/中国科学院大学学位论文LaTeX模板2022/Img/oaspl_d.pdf -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Img/ucas_logo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/streamer-AP/UCAS_Paper_2023/4a494ad3a205d09bd8c5ab570763e6cf7b86addb/中国科学院大学学位论文LaTeX模板2022/Img/ucas_logo.pdf -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Style/artracom.sty: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %- -% 3 | %- User-defined Commands -% 4 | %- -% 5 | %---------------------------------------------------------------------------% 6 | %- Copyright (C) Huangrui Mo 7 | %- This is free software: you can redistribute it and/or modify it 8 | %- under the terms of the GNU General Public License as published by 9 | %- the Free Software Foundation, either version 3 of the License, or 10 | %- (at your option) any later version. 11 | %---------------------------------------------------------------------------% 12 | %->> Identification 13 | %---------------------------------------------------------------------------% 14 | \NeedsTeXFormat{LaTeX2e}% 15 | \ProvidesPackage{artracom}[2014/10/01 v1.0 LaTeX macros package]% 16 | %---------------------------------------------------------------------------% 17 | %->> Declare options 18 | %---------------------------------------------------------------------------% 19 | %- 20 | %-> Handle non-implemented options 21 | %- 22 | \DeclareOption*{% 23 | \PackageWarning{artracom}{Unknown option '\CurrentOption'}% 24 | } 25 | %- 26 | %-> Terminates all options processing 27 | %- 28 | \ProcessOptions\relax% 29 | %---------------------------------------------------------------------------% 30 | %->> User added packages 31 | %---------------------------------------------------------------------------% 32 | %- this part adds normal packages 33 | \RequirePackage{chemfig}% draw 2D chemical structures 34 | \RequirePackage[version=4]{mhchem}% typeset chemical formulae [mhchem|chemformula] 35 | %- this part adds packages that should be loaded at the very end 36 | \AtEndPreamble{% 37 | %\RequirePackage{cleveref}% clever cross-referencing 38 | } 39 | %---------------------------------------------------------------------------% 40 | %->> User defined commands 41 | %---------------------------------------------------------------------------% 42 | %- 43 | %-> General information 44 | %- 45 | %- \def\macroname#1#2{macro content, use of argument #1, #2 ...} 46 | %- each parameter #n is the shortest possible input sequence that matches the 47 | %- macro definition, separators included. Without separators, then Plain TeX 48 | %- macros are used just as LaTeX macros (without default parameter): 49 | %- \def\macroname#1#2#3{...} -> \newcommand{macroname}[3]{...} 50 | %- \def: define a command whether new or predefined, equivalent to 51 | %- \providecommand{macroname}{}% 52 | %- \renewcommand*{macroname}[number of arguments][default value]{definition} 53 | %- \long\def: define a command whether new or predefined, equivalent to 54 | %- \providecommand{macroname}{}% 55 | %- \renewcommand{macroname}[number of arguments][default value]{definition} 56 | %- \newcommand: defines a new command, makes an error if already defined 57 | %- \renewcommand: redefines a predefined command, makes an error if not yet defined 58 | %- \providecommand: defines a new command, if already defined, keep old definition 59 | %- *-forms: enable error check for missing arguments or arguments contain \par 60 | %- *-forms that are usually the better form to use when defining commands with 61 | %- arguments, unless any of these arguments is intended to contain whole paragraphs 62 | %- of text. If you need to use the non-star form then you should ask whether that 63 | %- argument better be treated as the contents of a suitably defined environment. 64 | %- 65 | %-> Math functions 66 | %- 67 | %- International standard layout rules (from isomath package) 68 | %- The overall rule is that symbols representing math quantities or variables should 69 | %- be italicised, symbols representing units or labels are unitalicised (roman). 70 | %- Symbols for vectors and matrices are bold italic, symbols for tensors are 71 | %- sans-serif bold italic. 72 | %- The above rules apply equally to letter symbols from the Greek and 73 | %- the Latin alphabet. 74 | %- More information may be found in <> 75 | %- However, math typefaces vary from field to field. To keep consistent typography 76 | %- and easy adaption, it it always best to create a corresponding command for 77 | %- variables in each math category. 78 | %\providecommand{\Scalar}[1]{#1}% scalar is the normal math typeset, italic 79 | \providecommand{\Vector}[1]{\boldsymbol{#1}}% general vectors in bold italic 80 | \providecommand{\unitVector}[1]{\boldsymbol{\mathbf{#1}}}% unit vectors in bold roman 81 | \providecommand{\Matrix}[1]{\boldsymbol{\mathbf{#1}}}% matrix in bold roman 82 | \providecommand{\unitMatrix}[1]{\boldsymbol{\mathbf{#1}}}% identity matrix in bold roman 83 | \providecommand{\Tensor}[1]{\boldsymbol{\mathsf{#1}}}% tensor in sans-serif bold italic 84 | \providecommand{\unitTensor}[1]{\boldsymbol{\mathsf{#1}}}% identity tensor in sans-serif bold 85 | \providecommand{\Unit}[1]{\,\mathrm{#1}}% units in roman 86 | \providecommand{\Const}[1]{\mathrm{#1}}% math constants, functions 87 | \providecommand{\Set}[1]{\mathbb{#1}}% special sets in blackboard bold 88 | \providecommand{\Div}{\operatorname{div}}% divergence operator 89 | \providecommand{\Order}{\operatorname{O}}% order operator 90 | \providecommand{\Trace}{\operatorname{tr}}% trace operator 91 | \providecommand{\Diag}{\operatorname{diag}}% diagonal 92 | \providecommand{\Def}{\operatorname{def}}% define 93 | \providecommand{\Loptr}{\operatorname{\mathcal{L}}}% spatial operator 94 | \providecommand{\Toptr}{\operatorname{\mathcal{LL}}}% temporal operator 95 | \providecommand{\Soptr}{\operatorname{\mathcal{S}}}% solution operator 96 | \providecommand{\Des}[1]{\mathrm{#1}}% descriptive superscripts and subscripts in roman type 97 | \providecommand{\Rev}[1]{\begingroup\color{blue}{#1}\endgroup}% revision highlight 98 | 99 | \newcommand{\fignote}[1]{\begin{flushleft}{{\quad\quad}\linespread{1.25}\zihao{5}\sffamily \textbf{注:} \zihao{5}\sffamily{#1}}\end{flushleft}} 100 | %- 101 | %-> Graphical length factor 102 | %- 103 | \providecommand*{\onef}{0.6}% for single figure 104 | \providecommand*{\twof}{0.45}% for two subfigures 105 | \providecommand*{\trif}{0.32}% for three subfigures 106 | 107 | %- 108 | %-> Add dots before equation number 109 | %- 110 | \newcommand{\adddotsbeforeeqnnum}{\def\maketag@@@##1{\hbox{\m@th\normalfont\dots\ ##1}}}% 111 | \captionsetup[appfig][bi-second]{name=App Figure, font={small,bf,stretch=1.25}} %设置图的英文编号前缀 112 | \captionsetup[apptab][bi-second]{name=App Table, font={small,bf,stretch=1.25}} %设置表的英文编号前缀 113 | \captionsetup[appfig][bi-first]{name=附图, font={small,bf,stretch=1.25}} 114 | \captionsetup[apptab][bi-first]{name=附表, font={small,bf,stretch=1.25}} 115 | 116 | \DeclareCaptionType{appfig}[附图] 117 | \DeclareCaptionType{apptab}[附表] 118 | \newcounter{app} 119 | \newcounter{app_fig} 120 | \newcounter{app_tab} 121 | 122 | \setcounter{app}{0} 123 | \renewcommand\theappfig{\arabic{app}-\arabic{app_fig}} 124 | \renewcommand\theapptab{\arabic{app}-\arabic{app_tab}} 125 | 126 | \renewcommand{\labelenumi}{(\arabic{enumi}) } 127 | \renewcommand{\labelenumii}{(\arabic{enumi}).\arabic{enumii}} 128 | \renewcommand{\labelenumiii}{(\arabic{enumi}).\arabic{enumii}.\arabic{enumiii}} 129 | \renewcommand{\labelenumiv}{(\arabic{enumi}).\arabic{enumii}.\arabic{enumiii}.\arabic{enumiv}} 130 | 131 | \fancypagestyle{figureheader}{ 132 | \fancyhf{} 133 | \fancyhead[CO]{\footnotesize 图表目录}%此处填写中文标题 134 | \fancyhead[CE]{\footnotesize \@title}%此处填写中文标题 135 | \fancyfoot[C]{\footnotesize \thepage}% page number 136 | \renewcommand{\headrulewidth}{0.8pt}% header rule 137 | \renewcommand{\footrulewidth}{0pt}% footer rule 138 | } 139 | 140 | \fancypagestyle{symbolheader}{ 141 | \fancyhf{} 142 | \fancyhead[CO]{\footnotesize 符号列表}%此处填写中文标题 143 | \fancyhead[CE]{\footnotesize \@title}%此处填写中文标题 144 | \fancyfoot[C]{\footnotesize \thepage}% page number 145 | \renewcommand{\headrulewidth}{0.8pt}% header rule 146 | \renewcommand{\footrulewidth}{0pt}% footer rule 147 | } 148 | 149 | 150 | \fancypagestyle{appendixheader}{ 151 | \fancyhf{} 152 | \fancyhead[C]{\footnotesize 附\quad 录}%此处填写中文标题 153 | \fancyfoot[C]{\footnotesize \thepage}% page number 154 | \renewcommand{\headrulewidth}{0.8pt}% header rule 155 | \renewcommand{\footrulewidth}{0pt}% footer rule 156 | } 157 | %---------------------------------------------------------------------------% 158 | \endinput 159 | 160 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Style/artratex.sty: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %- -% 3 | %- Document Style -% 4 | %- -% 5 | %---------------------------------------------------------------------------% 6 | %- Copyright (C) Huangrui Mo 7 | %- This is free software: you can redistribute it and/or modify it 8 | %- under the terms of the GNU General Public License as published by 9 | %- the Free Software Foundation, either version 3 of the License, or 10 | %- (at your option) any later version. 11 | %---------------------------------------------------------------------------% 12 | %->> Identification 13 | %---------------------------------------------------------------------------% 14 | \NeedsTeXFormat{LaTeX2e}% 15 | \ProvidesPackage{artratex}[2014/10/01 v1.0 LaTeX macros package]% 16 | %---------------------------------------------------------------------------% 17 | %->> Declare options 18 | %---------------------------------------------------------------------------% 19 | \RequirePackage{etoolbox}% a toolbox of programming facilities 20 | \newcommand{\artxifstreq}{\expandafter\ifstrequal\expandafter}% expansion control 21 | %- 22 | %-> Platform fontset , , , , , 23 | %- 24 | %- Fetch the fontset value as user specified or automatically set based on os type 25 | \RequirePackage{expl3}% LaTeX3 programming environment 26 | \ExplSyntaxOn% 27 | \providecommand{\g__ctex_fontset_tl}{}% platform fontset state variable 28 | \edef\artxfontset{\g__ctex_fontset_tl}% expanded platform fontset state variable 29 | \ExplSyntaxOff% 30 | %- Specify font set according to the value of fontset 31 | \newif\ifartx@windows \artx@windowsfalse 32 | \newif\ifartx@mac \artx@macfalse 33 | \newif\ifartx@adobe \artx@adobefalse 34 | \newif\ifartx@none \artx@nonefalse 35 | \newif\ifartx@times \artx@timesfalse 36 | \newif\ifartx@others \artx@othersfalse 37 | \artxifstreq{\artxfontset}{windows}{\artx@windowstrue\artx@timestrue}{% 38 | \artxifstreq{\artxfontset}{mac}{\artx@mactrue\artx@timestrue}{% 39 | \artxifstreq{\artxfontset}{adobe}{\artx@adobetrue\artx@timestrue}{% 40 | \artxifstreq{\artxfontset}{none}{\artx@nonetrue\artx@timestrue}{% 41 | \artx@otherstrue\artx@timesfalse}}}} 42 | %- 43 | %-> LaTeX engine , , 44 | %- 45 | \newif\ifartx@pdftex \artx@pdftexfalse 46 | \newif\ifartx@luatex \artx@luatexfalse 47 | \newif\ifartx@xetex \artx@xetexfalse 48 | \RequirePackage{ifxetex,ifluatex}% LaTeX engine detection 49 | \ifxetex% 50 | \artx@xetextrue 51 | \RequirePackage{xeCJK}% support calling system fonts 52 | \else\ifluatex% 53 | \artx@luatextrue 54 | \else% 55 | \artx@pdftextrue 56 | \fi\fi% 57 | %- 58 | %-> Bibliography engine , 59 | %- 60 | \newif\ifartx@bibtex \artx@bibtextrue 61 | \newif\ifartx@biber \artx@biberfalse 62 | \def\artxbib{bibtex} 63 | \DeclareOption{bibtex}{% 64 | \artx@bibtextrue 65 | \artx@biberfalse 66 | \def\artxbib{bibtex} 67 | } 68 | \DeclareOption{biber}{% 69 | \artx@bibtexfalse 70 | \artx@bibertrue 71 | \def\artxbib{biber} 72 | } 73 | %- 74 | %-> Citation and reference style 75 | %- 76 | \newif\ifartx@numbers \artx@numberstrue 77 | \newif\ifartx@super \artx@superfalse 78 | \newif\ifartx@authoryear \artx@authoryearfalse 79 | \newif\ifartx@alpha \artx@alphafalse 80 | \DeclareOption{numbers}{% 81 | \artx@numberstrue 82 | \artx@superfalse 83 | \artx@authoryearfalse 84 | \artx@alphafalse 85 | } 86 | \DeclareOption{super}{% 87 | \artx@numberstrue 88 | \artx@supertrue 89 | \artx@authoryearfalse 90 | \artx@alphafalse 91 | } 92 | \DeclareOption{authoryear}{% 93 | \artx@numbersfalse 94 | \artx@superfalse 95 | \artx@authoryeartrue 96 | \artx@alphafalse 97 | } 98 | \DeclareOption{alpha}{% 99 | \artx@numbersfalse 100 | \artx@superfalse 101 | \artx@authoryearfalse 102 | \artx@alphatrue 103 | } 104 | %- 105 | %-> Page layout reconfiguration 106 | %- 107 | \newif\ifartx@geometry \artx@geometryfalse 108 | \DeclareOption{geometry}{% 109 | \artx@geometrytrue 110 | } 111 | %- 112 | %-> Landscape layout support 113 | %- 114 | \newif\ifartx@lscape \artx@lscapefalse 115 | \DeclareOption{lscape}{% 116 | \artx@lscapetrue 117 | } 118 | %- 119 | %-> Header and footer 120 | %- 121 | \newif\ifartx@xhf \artx@xhftrue 122 | \DeclareOption{xhf}{% 123 | \artx@xhffalse 124 | } 125 | %- 126 | %-> Color support 127 | %- 128 | \newif\ifartx@color \artx@colorfalse 129 | \DeclareOption{color}{% 130 | \artx@colortrue 131 | } 132 | \newif\ifartx@xlink \artx@xlinkfalse 133 | \DeclareOption{xlink}{% 134 | \artx@xlinktrue 135 | } 136 | %- 137 | %-> Page background 138 | %- 139 | \newif\ifartx@background \artx@backgroundfalse 140 | \DeclareOption{background}{% 141 | \artx@colortrue 142 | \artx@backgroundtrue 143 | } 144 | %- 145 | %-> Complex diagrams support 146 | %- 147 | \newif\ifartx@tikz \artx@tikzfalse 148 | \DeclareOption{tikz}{% 149 | \artx@colortrue 150 | \artx@tikztrue 151 | } 152 | %- 153 | %-> Complex tables support 154 | %- 155 | \newif\ifartx@table \artx@tablefalse 156 | \DeclareOption{table}{% 157 | \artx@tabletrue 158 | } 159 | %- 160 | %-> Enhanced list 161 | %- 162 | \newif\ifartx@list \artx@listfalse 163 | \DeclareOption{list}{% 164 | \artx@colortrue 165 | \artx@listtrue 166 | } 167 | %- 168 | %-> Extra math support 169 | %- 170 | \newif\ifartx@math \artx@mathfalse 171 | \DeclareOption{math}{% 172 | \artx@mathtrue 173 | } 174 | %- 175 | %-> Handle non-implemented options 176 | %- 177 | \DeclareOption*{% 178 | \PackageWarning{artratex}{Unknown option '\CurrentOption'}% 179 | } 180 | %- 181 | %-> Terminates all options processing 182 | %- 183 | \ProcessOptions\relax% 184 | %---------------------------------------------------------------------------% 185 | %->> Package macros 186 | %---------------------------------------------------------------------------% 187 | %- 188 | %-> Detect class and counter 189 | %- 190 | \newcommand*{\artxifcnt}[1]{% check if counter exists 191 | \ifcsname c@#1\endcsname% 192 | \expandafter\@firstoftwo% 193 | \else% 194 | \expandafter\@secondoftwo% 195 | \fi 196 | } 197 | \artxifcnt{chapter}{\def\artxmaincnt{chapter}}{\def\artxmaincnt{section}}% 198 | %- 199 | %-> Nomenclature item 200 | %- 201 | \providecommand{\nomenclatureitem}[3][ ]{% 202 | \noindent\makebox[0.15\textwidth][l]{#2}{{#3}\hfill{#1}}\par 203 | } 204 | %- 205 | %-> Macro for adding link to toc and bookmark 206 | %- 207 | \newcommand{\intotocnostar}[3]{% [<\chapter|...>,<*>,][example: \intotoc\chapter*{Nomenclature}] 208 | \edef\artxmark{\expandafter\@gobble\string#1}% get the string 'cmd' after '\' in a command '\cmd' 209 | #1#2{% excute command 210 | \phantomsection% create bookmark link 211 | \addcontentsline{toc}{\artxmark}{#3}% add content #3 to toc as #1 212 | #3% 213 | } 214 | \artxifstreq{\artxmark}{chapter}{% 215 | \markboth{\MakeUppercase{#3}}{}% set left mark 216 | }{% 217 | \markright{\MakeUppercase{#3}}% set right mark 218 | } 219 | } 220 | \newcommand{\intotocstar}[3][\artxmaincnt]{% [<chapter|...>,<extra commands>,<title>][example: \intotoc*{\cleardoublepage}{Abstract}] 221 | #2% excute command 222 | \phantomsection% create bookmark link 223 | \addcontentsline{toc}{#1}{#3}% add content #3 to toc as #1 224 | \artxifstreq{#1}{chapter}{% 225 | \markboth{\MakeUppercase{#3}}{}% set left mark 226 | }{% 227 | \markright{\MakeUppercase{#3}}% set right mark 228 | } 229 | } 230 | \newcommand{\intotoc}{\@ifstar{\intotocstar}{\intotocnostar}}% swap starred and non-starred versions 231 | \newcommand{\intobmknostar}[4][0]{% [<level>,<\chapter|...>,<*>,<title>] [example: \intobmk\chapter*{Abstract}] 232 | \edef\artxmark{\expandafter\@gobble\string#2}% get the string 'cmd' after '\' in a command '\cmd' 233 | #2#3{% excute command 234 | \phantomsection% create bookmark link 235 | \Hy@writebookmark% write bookmark 236 | {}% 237 | {#4}% 238 | {\@currentHref}% 239 | {#1}% 240 | {toc}% 241 | #4% 242 | }% 243 | \artxifstreq{\artxmark}{chapter}{% 244 | \markboth{\MakeUppercase{#4}}{}% set left mark 245 | }{% 246 | \markright{\MakeUppercase{#4}}% set right mark 247 | } 248 | } 249 | \newcommand{\intobmkstar}[3][0]{% [<level>,<extra commands>,<title>] [example: \intobmk*{\cleardoublepage}{\contentsname}] 250 | #2% excute command 251 | \phantomsection% create bookmark link 252 | \Hy@writebookmark% write bookmark 253 | {}% 254 | {#3}% 255 | {\@currentHref}% 256 | {#1}% 257 | {toc}% 258 | \artxifstreq{#1}{0}{% 259 | \markboth{\MakeUppercase{#3}}{}% set left mark 260 | }{% 261 | \markright{\MakeUppercase{#3}}% set right mark 262 | } 263 | } 264 | \newcommand{\intobmk}{\@ifstar{\intobmkstar}{\intobmknostar}}% swap starred and non-starred versions 265 | %\newcommand{\rmlbk}[1]{\begingroup\def\\{\relax\ifhmode\unskip\fi\space\ignorespaces}#1\endgroup}% remove line breaks 266 | %---------------------------------------------------------------------------% 267 | %->> Required packages 268 | %---------------------------------------------------------------------------% 269 | %- 270 | %-> Math packages 271 | %- 272 | \RequirePackage{amsmath,amsthm,amssymb}% math structures, theorems, and extended symbols 273 | \theoremstyle{plain}% for theorems, lemmas, propositions, etc 274 | \providecommand{\theoremname}{Theorem}% 275 | \newtheorem{theorem}{\theoremname}[\artxmaincnt] 276 | \providecommand{\axiomname}{Axiom}% 277 | \newtheorem{axiom}[theorem]{\axiomname} 278 | \providecommand{\lemmaname}{Lemma}% 279 | \newtheorem{lemma}[theorem]{\lemmaname} 280 | \providecommand{\corollaryname}{Corollary}% 281 | \newtheorem{corollary}[theorem]{\corollaryname} 282 | \providecommand{\assertionname}{Assertion}% 283 | \newtheorem{assertion}[theorem]{\assertionname} 284 | \providecommand{\propositionname}{Proposition}% 285 | \newtheorem{proposition}[theorem]{\propositionname} 286 | \providecommand{\conjecturename}{Conjecture}% 287 | \newtheorem{conjecture}[theorem]{\conjecturename} 288 | \theoremstyle{definition}% for definitions and examples 289 | \providecommand{\definitionname}{Definition}% 290 | \newtheorem{definition}{\definitionname}[\artxmaincnt] 291 | \providecommand{\examplename}{Example}% 292 | \newtheorem{example}{\examplename}[\artxmaincnt] 293 | \theoremstyle{remark}% for remarks and notes 294 | \providecommand{\remarkname}{Remark}% 295 | \newtheorem*{remark}{\remarkname} 296 | 297 | \ifartx@math% extra math packages 298 | \RequirePackage{mathtools}% extension to amsmath 299 | \fi 300 | %- 301 | %-> Language settings 302 | %- 303 | \def\artx@fontdir{./Font/}% extra font location 304 | \ifartx@pdftex% <pdflatex> call font packages 305 | \RequirePackage[utf8]{inputenc}% set input encoding, document must use utf-8 encoding 306 | \RequirePackage[T1]{fontenc}% set font encoding to enable modern font encoding 307 | %- Text font: English <default: computer modern|others: font packages> 308 | \RequirePackage{newtxtext}% main font, <times font: newtxtext|others: palatino> 309 | %- Math font: <default: computer modern|others: font packages> 310 | \RequirePackage[cmintegrals]{newtxmath}% times font, load after amsmath and newtxtext packages 311 | \RequirePackage{mathrsfs}% enable \mathscr for script alphabet 312 | \RequirePackage[cal=cm]{mathalfa}% map styles for calligraphic \mathcal and script \mathscr alphabet 313 | \else% <xelatex> or <lualatex> call system fonts 314 | \RequirePackage{fontspec}% support calling system fonts 315 | \@ifpackagelater{fontspec}{2016/12/27}{}{% 316 | \PackageError{artratex}{fontspec >= 2016/12/27 is required ...}{}% 317 | } 318 | %- Font properties: <family:rm|sf|tt> + <weight:lf|md|bf> + <shape:up|it|sl|sc> + <size> 319 | %- <\rmfamily,\textrm{}|\sffamily,\textsf{}|\ttfamily,\texttt{}>: family of font <Roman|Sans serif|Monospace>, default <\rmfamily> 320 | %- <\lfseries,\textlf{}|\mdseries,\textmd{}|\bfseries,\textbf{}>: weight of font <light|medium|bold>, default <\mdseries> 321 | %- <\upshape,\textup{}|\itshape,\textit{}|\scshape,\textsc{}|\slshape,\textsl{}>: shape of font <upright|italic|samll capital|slanted>, default <\upshape> 322 | %- Specify the default TeX font families with properties: <main>, <sans>, <mono> 323 | %- \setxxxxfont{<font>}[Path=<>,Extension=<>,UprightFont=<>,BoldFont=<>,ItalicFont=<>,BoldItalicFont=<>,SlantedFont=<>,BoldSlantedFont=<>,SmallCapsFont=<>]% 324 | %- The default setup for font loading automatically adds the Ligatures=TeX feature for the \setmainfont and \setsansfont commands 325 | %- Fonts known to LuaTEX or XETEX may be loaded by their standard names as you'd speak them out loud 326 | %- Fonts in the search path can be loaded by file name instead, but must include bold and italic variants explicitly 327 | %- When a font family has both slanted and italic shapes, these may be specified separately using the analogous features ItalicFont and SlantedFont 328 | %- Without these, the font switches for slanted (\textsl{},\slshape) will default to the italic shape 329 | %- Roman or Serif - typefaces with strokes - for main content 330 | %- examples: Times New Roman, Adobe Garamond Pro 331 | %\setmainfont{Adobe Garamond Pro}% 332 | %- extra font switches: {\normalfont ...}, \textnormal{...} due to \renewcommand*{\familydefault}{\rmdefault} 333 | %- Sans serif - typefaces without strokes - for headings demanding high readability 334 | %- examples: Arial, Helvetica, Gill Sans MT, Futura 335 | %\setsansfont{Gill Sans MT}% 336 | %- Monospaced - typefaces with same width - for programming, etc 337 | %- examples: Rockwell, Andale Mono, Courier 338 | %\setmonofont{Rockwell}% 339 | %- Specify user-defined font families and font switches (like \rmfamily, \sffamily, \ttfamily) 340 | %- without NFSSFamily option, a font family is defined only if adding a new font name 341 | %\newfontfamily\<font-switch>{<font>}[<font features>]% 342 | %\newcommand{\text<font-switch>}[1]{{\<font-switch> #1}}% 343 | %- Text font: English <default: computer modern|fontspec: system fonts|others: font packages> 344 | %\RequirePackage{newtxtext}% main font 345 | %- Math font: <default: computer modern|others: font packages <newtxmath|unicode-math>> 346 | %\RequirePackage[cmintegrals]{newtxmath}% times font, load after amsmath and newtxtext packages 347 | %\RequirePackage{mathrsfs}% enable \mathscr for script alphabet 348 | %\RequirePackage[cal=cm]{mathalfa}% map styles for calligraphic \mathcal and script \mathscr alphabet 349 | \IfFontExistsTF{XITS-Regular.otf}{% 350 | \RequirePackage{unicode-math}% unicode font configuration <XITS|STIX2> 351 | \def\boldsymbol#1{\symbfit{#1}}% treat obsoleteness 352 | \providecommand{\Vector}[1]{\symbfit{#1}}% general vectors in bold italic 353 | \providecommand{\unitVector}[1]{\symbfup{#1}}% unit vectors in bold roman 354 | \providecommand{\Matrix}[1]{\symbfup{#1}}% matrix in bold roman 355 | \providecommand{\unitMatrix}[1]{\symbfup{#1}}% identity matrix in bold roman 356 | \providecommand{\Tensor}[1]{\symbfsfup{#1}}% tensor in sans-serif bold italic 357 | \providecommand{\unitTensor}[1]{\symbfsfup{#1}}% identity tensor in sans-serif bold 358 | \setmainfont[NFSSFamily=entextrm]{XITS}[ 359 | Extension = .otf, 360 | UprightFont = *-Regular, 361 | BoldFont = *-Bold, 362 | ItalicFont = *-Italic, 363 | BoldItalicFont = *-BoldItalic, 364 | Ligatures=TeX, 365 | ] 366 | \setsansfont[NFSSFamily=entextsf]{XITS}[ 367 | Extension = .otf, 368 | UprightFont = *-Regular, 369 | BoldFont = *-Bold, 370 | ItalicFont = *-Italic, 371 | BoldItalicFont = *-BoldItalic, 372 | Ligatures=TeX, 373 | ] 374 | \setmonofont[NFSSFamily=entexttt]{XITS}[ 375 | Extension = .otf, 376 | UprightFont = *-Regular, 377 | BoldFont = *-Bold, 378 | ItalicFont = *-Italic, 379 | BoldItalicFont = *-BoldItalic, 380 | Ligatures=TeX, 381 | ] 382 | \setmathfont{XITSMath-Regular}[ 383 | Extension = .otf, 384 | BoldFont = XITSMath-Bold, 385 | Ligatures=TeX, 386 | StylisticSet = 1, 387 | ] 388 | \setmathfont{XITSMath-Regular}[ 389 | Extension = .otf, 390 | range={cal,bfcal}, 391 | Ligatures=TeX, 392 | StylisticSet = 1, 393 | ] 394 | \setmathfont{XITSMath-Regular}[ 395 | Extension = .otf, 396 | range={scr,bfscr}, 397 | Ligatures=TeX, 398 | StylisticSet = 2, 399 | ] 400 | \setmathrm{XITSMath-Regular}[ 401 | Extension = .otf, 402 | BoldFont = XITSMath-Bold, 403 | Ligatures=TeX, 404 | StylisticSet = 1, 405 | ] 406 | \setmathsf{XITSMath-Regular}[ 407 | Extension = .otf, 408 | BoldFont = XITSMath-Bold, 409 | Ligatures=TeX, 410 | StylisticSet = 1, 411 | ] 412 | \setmathtt{XITSMath-Regular}[ 413 | Extension = .otf, 414 | BoldFont = XITSMath-Bold, 415 | Ligatures=TeX, 416 | StylisticSet = 1, 417 | ] 418 | }{% 419 | \RequirePackage{newtxtext}% main font 420 | \RequirePackage[cmintegrals]{newtxmath}% times font, load after amsmath and newtxtext packages 421 | \RequirePackage{mathrsfs}% enable \mathscr for script alphabet 422 | \RequirePackage[cal=cm]{mathalfa}% map styles for calligraphic \mathcal and script \mathscr alphabet 423 | } 424 | %- Text font: Chinese 425 | \ifartx@windows% 426 | \setCJKmainfont{SimSun}[AutoFakeBold=2.5,ItalicFont=KaiTi]% 427 | \setCJKsansfont{SimHei}[AutoFakeBold=2.5]% 428 | \setCJKmonofont{FangSong}% 429 | \else\ifartx@mac% 430 | \setCJKmainfont{Songti SC}[% 431 | UprightFont = * Light, 432 | BoldFont = * Bold, 433 | ItalicFont = Kaiti SC, 434 | BoldItalicFont = Kaiti SC Bold, 435 | ] 436 | \setCJKsansfont{Heiti SC}[BoldFont = * Medium]% 437 | \setCJKmonofont{STFangsong}% 438 | \else\ifartx@adobe% call font from system font library 439 | \setCJKmainfont{AdobeSongStd-Light}[% 440 | AutoFakeBold=2.5, 441 | ItalicFont=AdobeKaitiStd-Regular, 442 | ] 443 | \setCJKsansfont{AdobeHeitiStd-Regular}[% 444 | AutoFakeBold=2.5, 445 | ]% 446 | \setCJKmonofont{AdobeFangsongStd-Regular}% 447 | \else\ifartx@none% call font from local fontdir 448 | %- Without path: i) if font specified by a string without extension, fontspec will 449 | %- treat the given string as font name and use system fontconfig to search the font name 450 | %- in system font library; ii) if font specified by a string with extension, fontspec will 451 | %- treat the given string as font filename and use kpathsea to search the font filename in 452 | %- LaTeX distribution 453 | %- With path: fontspec will treat the given string as font filename and use kpathsea to 454 | %- search the font filename in path, and extension is optional but recommended in this case 455 | \setCJKmainfont{AdobeSongStd-Light}[% 456 | Path=\artx@fontdir, 457 | Extension=.otf, 458 | AutoFakeBold=2.5, 459 | ItalicFont=AdobeKaitiStd-Regular, 460 | ] 461 | \setCJKsansfont{AdobeHeitiStd-Regular}[% 462 | Path=\artx@fontdir, 463 | Extension=.otf, 464 | AutoFakeBold=2.5, 465 | ]% 466 | \setCJKmonofont{AdobeFangsongStd-Regular}[% 467 | Path=\artx@fontdir, 468 | Extension=.otf, 469 | ] 470 | \fi\fi\fi\fi 471 | \fi 472 | %- 473 | %-> Bibliography processor and package 474 | %- 475 | \def\artxbibref{Biblio/ref.bib}% bibliography reference file 476 | \def\artxbibtexnum{Biblio/gbt7714-numerical}% bibtex numbers bst 477 | \def\artxbibtexauy{Biblio/gbt7714-author-year}% bibtex authoryear bst 478 | \def\artxbibtexalp{alpha}% bibtex alpha bst 479 | \def\artxbibernum{Biblio/gb7714-2015}% biber numbers bst 480 | \def\artxbiberauy{Biblio/gb7714-2015ay}% biber authoryear bst 481 | \def\artxbiberalp{alphabetic}% biber alpha bst 482 | %- Bibtex processor + natbib package 483 | \ifartx@bibtex% 484 | % Set punctuation and mode of citation style 485 | \newcommand{\bibstyle@super}{\bibpunct{[}{]}{,}{s}{,}{\textsuperscript{,}}}% 486 | \newcommand{\bibstyle@numbers}{\bibpunct{[}{]}{,}{n}{,}{,}}% 487 | \newcommand{\bibstyle@authoryear}{\bibpunct{(}{)}{;}{a}{,}{,}}% 488 | \newcommand{\bibstyle@alpha}{\bibpunct{[}{]}{,}{n}{,}{,}}% 489 | \ifartx@numbers% enable numbered citation style 490 | \RequirePackage[sort&compress]{natbib}% numbered citation mode 491 | \ifartx@super% enable superscripted citation style 492 | \citestyle{super}% 493 | \else 494 | \citestyle{numbers}% 495 | \fi 496 | \bibliographystyle{\artxbibtexnum}% numbered scheme 497 | \fi 498 | \ifartx@authoryear% enable author year citation style 499 | \RequirePackage{natbib}% author year citation mode 500 | \citestyle{authoryear}% 501 | \bibliographystyle{\artxbibtexauy}% author year scheme 502 | \fi 503 | \ifartx@alpha% enable alpha citation style 504 | \RequirePackage[square,comma,numbers]{natbib}% alpha citation mode 505 | \bibliographystyle{\artxbibtexalp}% alpha scheme 506 | \fi 507 | \providecommand*{\citetns}[2][]{% text embedded \citet in superscripted mode 508 | \begingroup\citestyle{numbers}\citet[#1]{#2}\endgroup% 509 | } 510 | \providecommand*{\citepns}[2][]{% text embedded \citep in superscripted mode 511 | \begingroup\citestyle{numbers}\citep[#1]{#2}\endgroup% 512 | } 513 | \fi 514 | %- Biber processor + biblatex package 515 | \ifartx@biber% 516 | \AtEndPreamble{\RequirePackage{hyperref}}% enable biblatex detection of hyperref 517 | \ifartx@numbers% enable numbered citation style 518 | \ifartx@super% enable superscripted citation style 519 | \RequirePackage[backend=biber,style=\artxbibernum,mincitenames=1,maxcitenames=2]{biblatex}% 520 | \else 521 | \RequirePackage[backend=biber,style=\artxbibernum,mincitenames=1,maxcitenames=2]{biblatex}% 522 | \renewrobustcmd*{\citet}{\textcite}% 523 | \renewrobustcmd*{\citep}{\parencite}% 524 | \fi 525 | \fi 526 | \ifartx@authoryear% enable author year citation style 527 | \RequirePackage[backend=biber,style=\artxbiberauy,mincitenames=1,maxcitenames=2]{biblatex}% 528 | \renewrobustcmd*{\citet}{\textcite}% 529 | \renewrobustcmd*{\citep}{\parencite}% 530 | \fi 531 | \ifartx@alpha% enable alpha citation style 532 | \RequirePackage[backend=biber,style=\artxbiberalp]{biblatex}% 533 | \fi 534 | \addbibresource{\artxbibref}% 535 | \providecommand{\citep}[1]{\parencite{#1}}% compatibility 536 | \providecommand{\citet}[1]{\textcite{#1}}% compatibility 537 | \providecommand{\bibetal}{et al.}% compatibility 538 | \providecommand{\biband}{and}% compatibility 539 | \DefineBibliographyStrings{english}{% 540 | andincite = {\biband}, 541 | andothersincite = {\bibetal{}}, 542 | andincitecn = {\biband}, 543 | andothersincitecn = {\bibetal}, 544 | } 545 | \fi 546 | %- 547 | %-> Figure environment support 548 | %- 549 | \RequirePackage{graphicx}% packages for including graphics 550 | \RequirePackage[format=plain,hangindent=2.0em,font={small,bf},skip=8pt,labelsep=space]{caption}% options: [margin=10pt,labelfont=bf] 551 | \RequirePackage{subcaption}% package for subfigures 552 | \RequirePackage[list=off]{bicaption}% package for binary captions 553 | \DeclareCaptionOption{bi-first}[]{}% 1st language 554 | \DeclareCaptionOption{bi-second}[]{% 2nd language 555 | \def\tablename{Table}% 556 | \def\figurename{Figure}% 557 | } 558 | \captionsetup[bi-first]{bi-first}% 559 | \captionsetup[bi-second]{bi-second}% 560 | \RequirePackage[section]{placeins}% prevent floats from being moved over section 561 | %- 562 | %-> Page layout and spacing 563 | %- 564 | \ifartx@geometry% enable geometry to redefine page layout 565 | \RequirePackage{geometry}% page layout 566 | %\RequirePackage{setspace}% line spacing 567 | \fi 568 | \ifartx@lscape% landscape layout 569 | \RequirePackage{fancyhdr}% fancy headers and footers 570 | %- usage: \begin{landscape} [\thispagestyle{lscape}] text... \end{landscape} 571 | \RequirePackage{pdflscape}% landscape environment 572 | \RequirePackage[absolute]{textpos}% rotated page number 573 | \fi 574 | \ifartx@xhf% header and footer style 575 | \RequirePackage{fancyhdr}% fancy headers and footers 576 | \fi 577 | %\RequirePackage{microtype}% improves general appearance of the text 578 | %- 579 | %-> Color 580 | %- 581 | \ifartx@color% enable color package to use color 582 | %\RequirePackage{color}% 583 | \RequirePackage[usenames,dvipsnames,table]{xcolor}% 584 | \fi 585 | %- 586 | %-> Draw graphics directly with TeX commands 587 | %- 588 | \ifartx@tikz% 589 | \RequirePackage{tikz}% automatically load pgf package 590 | \usetikzlibrary{% load libraries 591 | positioning, 592 | arrows, 593 | calc, 594 | trees 595 | }% 596 | \fi 597 | %- 598 | %-> Complex tables 599 | %- 600 | \ifartx@table% 601 | \RequirePackage{ctable,multirow}% imports the array, tabularx, booktabs and multirow packages 602 | \fi 603 | %- 604 | %-> List structures 605 | %- 606 | \ifartx@list% enable enhanced list and verbatim structures 607 | \RequirePackage{verbatim}% improve verbatim environment 608 | \RequirePackage{enumitem}% configure the enumerate environment 609 | \setlist[enumerate]{wide=\parindent}% only indent the first line 610 | \setlist[itemize]{wide=\parindent}% only indent the first line 611 | \setlist{nosep}% default text spacing 612 | \RequirePackage{listings}% source code 613 | \RequirePackage{algpseudocode,algorithm,algorithmicx}% algorithm 614 | \providecommand{\algname}{Algorithm}% 615 | \def\ALG@name{\algname}% rename label 616 | \fi 617 | %- 618 | %-> Link support 619 | %- 620 | \AtEndPreamble{% 621 | \RequirePackage{hyperref}% load at last 622 | \hypersetup{% set hyperlinks 623 | pdfencoding=auto,% allows non-Latin based languages in bookmarks 624 | psdextra=true,% extra support for math symbols in bookmarks 625 | %bookmarks=true,% show bookmarks bar 626 | bookmarksnumbered=true,% put section numbers in bookmarks 627 | pdftitle={\@title},% title 628 | pdfauthor={\@author},% author 629 | pdfsubject={\@title},% subject 630 | %pdftoolbar=true,% show toolbar 631 | %pdfmenubar=true,% show menu 632 | pdffitwindow=false,% window fit to page when opened 633 | pdfstartview={FitH},% fits the width of the page to the window 634 | %pdfnewwindow=true,% links in new window 635 | %backref=true,% do bibliographical back references 636 | %pagebackref=true,% backreference by page number 637 | colorlinks=true,% false: boxed links; true: colored links 638 | linkcolor=black,% color of internal links 639 | citecolor=blue,% color of links to bibliography 640 | filecolor=blue,% color of file links 641 | urlcolor=blue,% color of external links 642 | } 643 | \ifartx@xlink% set link color to black 644 | \hypersetup{% set hyperlinks 645 | hidelinks,% remove link color and border 646 | } 647 | \fi 648 | } 649 | %---------------------------------------------------------------------------% 650 | %->> Configuration command 651 | %---------------------------------------------------------------------------% 652 | %- 653 | %-> Extensions and directories for graphics 654 | %- 655 | %- Declare graphic extensions for automatic selection when including graphics 656 | %- via avoiding supplying graphic extensions in \includegraphics command, 657 | %- the source file can be more general and adaptive 658 | \ifartx@xetex% 659 | \DeclareGraphicsExtensions{.pdf,.png,.jpg,.eps,.tif,.bmp,.gif}% 660 | \else% <pdflatex> or <lualatex> 661 | \DeclareGraphicsExtensions{.pdf,.png,.jpg}% 662 | \fi 663 | \graphicspath{{Img/}}% search path for figures 664 | %- 665 | %-> Layout, space, and style 666 | %- 667 | \ifartx@geometry% enable geometry to redefine page layout 668 | \geometry{paper=a4paper,left=31.7mm,right=31.7mm,top=25.4mm,bottom=25.4mm,headheight=1.5cm,headsep=1.5cm,footskip=1.5cm} 669 | \fi 670 | \linespread{1.35} 671 | %\setlength{\parskip}{0.5ex plus 0.25ex minus 0.25ex}% skip space a paragraph 672 | \setcounter{tocdepth}{2}% depth for the table of contents 673 | \setcounter{secnumdepth}{3}% depth for section numbering, default is 2(subsub) 674 | %- Set equation, figure, table numbering 675 | \numberwithin{equation}{chapter}% set enumeration level 676 | \renewcommand{\theequation}{\thechapter\arabic{equation}}% configure the label style 677 | % \numberwithin{figure}{section}% set enumeration level 678 | % \renewcommand{\thefigure}{\thesection\arabic{figure}}% configure the label style 679 | % \numberwithin{table}{section}% set enumeration level 680 | % \renewcommand{\thetable}{\thesection\arabic{table}}% configure the label style 681 | %- Set bibliography entry 682 | \ifartx@bibtex% 683 | \setlength{\bibsep}{0.0ex plus 0.2ex minus 0.2ex}% set distance between entries 684 | \fi 685 | \ifartx@biber% 686 | %\setlength\bibitemsep{0.5\baselineskip}% set distance between entries 687 | \setlength\bibitemsep{0.0ex plus 0.2ex minus 0.2ex}% set distance between entrie 688 | \fi 689 | \renewcommand*{\bibfont}{\small}% set font size for bibliography 690 | %- 691 | %-> Page header and footer Style 692 | %- 693 | %- Page styles in Latex refers to headers and footers of a document. 694 | %- These headers/footers typically contain document titles, chapter 695 | %- or section numbers/names, and page numbers. 696 | %- Configure fancy style 697 | \ifartx@xhf% user defined header and footer style 698 | \pagestyle{fancy}% 699 | %- customizing headers and footers in LaTeX is a two-stage process 700 | %- 1) \chapter|section call \chapter|sectionmark that call \markboth|right to define \left|rightmark 701 | %- but \chapter*|section* do not call \chapter|sectionmark, then manually call \markboth|right is needed to update \left|rightmark 702 | %- \markboth{here set \leftmark for chapter heading}{here set \rightmark for section heading} 703 | %- 2) in header/footer definition, \left|rightmark represent the current chapter and section heading 704 | %- original chaptermark and sectionmark for headings 705 | %\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{\chaptername\ \thechapter.\ #1}}{}}% 706 | %\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}% 707 | %- redefine to set mark to actual name 708 | %\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{#1}}{}}% 709 | %\renewcommand{\sectionmark}[1]{\markright{\MakeUppercase{#1}}{}}% 710 | %- Deactivate uppercase effect 711 | \renewcommand{\MakeUppercase}[1]{#1}% 712 | %- Define different kinds of header and footer for different parts 713 | \fancypagestyle{frontmatterstyle}{% style for frontmatter 714 | \fancyhf{}% clear fields 715 | \fancyhead[C]{\footnotesize \ifnumodd{\value{page}}{\leftmark}{\@title}}% structure elements 716 | \fancyfoot[C]{\footnotesize \thepage}% page number 717 | \renewcommand{\headrulewidth}{0.8pt}% header rule 718 | \renewcommand{\footrulewidth}{0pt}% footer rule 719 | } 720 | \fancypagestyle{enfrontmatterstyle}{% style for frontmatter 721 | \fancyhf{}% clear fields 722 | \fancyhead[C]{\footnotesize \ifnumodd{\value{page}}{\leftmark}{\ucas@value@en@title}}% structure elements 723 | \fancyfoot[C]{\footnotesize \thepage}% page number 724 | \renewcommand{\headrulewidth}{0.8pt}% header rule 725 | \renewcommand{\footrulewidth}{0pt}% footer rule 726 | } 727 | 728 | \fancypagestyle{mainmatterstyle}{% style for mainmatter 729 | \fancyhf{}% clear fields 730 | \fancyhead[C]{\footnotesize \ifnumodd{\value{page}}{\leftmark}{\@title}}% structure elements 731 | \fancyfoot[C]{\footnotesize \ifnumodd{\value{page}}{\hspace*{\fill}\thepage}{\thepage\hspace*{\fill}}}% page number 732 | \renewcommand{\headrulewidth}{0.8pt}% header rule 733 | \renewcommand{\footrulewidth}{0pt}% footer rule 734 | } 735 | \fancypagestyle{backmatterstyle}{% header and footer style for backmatter 736 | \fancyhf{}% clear fields 737 | \fancyhead[C]{\footnotesize \ifnumodd{\value{page}}{\leftmark}{\@title}}% structure elements 738 | \fancyfoot[C]{\footnotesize \ifnumodd{\value{page}}{\hspace*{\fill}\thepage}{\thepage\hspace*{\fill}}}% page number 739 | \renewcommand{\headrulewidth}{0.8pt}% header rule 740 | \renewcommand{\footrulewidth}{0pt}% footer rule 741 | } 742 | %- Redefine \frontmatter to include the change 743 | \providecommand{\frontmatter}{}% compatibility for non-book classes 744 | \let\artxfrontmatter\frontmatter% 745 | \renewcommand{\frontmatter}{% 746 | \artxfrontmatter% 747 | \pagestyle{frontmatterstyle}% 748 | } 749 | %- Redefine \mainmatter to include the change 750 | \providecommand{\mainmatter}{}% compatibility for non-book classes 751 | \let\artxmainmatter\mainmatter% 752 | \renewcommand{\mainmatter}{% 753 | \artxmainmatter% 754 | \pagestyle{mainmatterstyle}% 755 | } 756 | %- Redefine \backmatter to include the change 757 | \providecommand{\backmatter}{}% compatibility for non-book classes 758 | \let\artxbackmatter\backmatter% 759 | \renewcommand{\backmatter}{% 760 | \artxbackmatter% 761 | \pagestyle{backmatterstyle}% 762 | } 763 | %- Some Latex commands, like \chapter, use the \thispagestyle command 764 | %- to automatically switch to the plain page style, thus ignoring the 765 | %- page style currently in effect. To customize such pages you must 766 | %- redefine the plain pagestyle. If you want the plain style inherits 767 | %- the current style, comment all the lines in plain style definition. 768 | \fancypagestyle{plain}{% 769 | %\fancyhf{}% clear fields 770 | %\renewcommand{\headrulewidth}{0pt}% header rule 771 | %\renewcommand{\footrulewidth}{0pt}% footer rule 772 | } 773 | \fancypagestyle{noheaderstyle}{% header and footer style for no header 774 | \fancyhf{}% clear fields 775 | %\fancyhead[C]{\footnotesize \ifnumodd{\value{page}}{\leftmark}{\@title}}% structure elements 776 | \fancyfoot[C]{\footnotesize \ifnumodd{\value{page}}{\hspace*{\fill}\thepage}{\thepage\hspace*{\fill}}}% page number 777 | \renewcommand{\headrulewidth}{0pt}% header rule 778 | \renewcommand{\footrulewidth}{0pt}% footer rule 779 | } 780 | \fi 781 | %- 782 | %-> Configure landscape environment 783 | %- 784 | \ifartx@lscape% 785 | \fancypagestyle{lscape}{% landscape layout style 786 | \fancyhf{}% clear fields 787 | \fancyhead[C]{% 788 | \begin{textblock}{1.0}[0.5,0.5](0.08,0.5)% 789 | \rotatebox{90}{% 790 | \footnotesize \ifnumodd{\value{page}}{\leftmark}{\@title}% 791 | }% 792 | \end{textblock}% 793 | \begin{textblock}{1.0}[0.5,0.5](0.08,0.5)% 794 | \rotatebox{90}{% 795 | \rule[-14pt]{\textwidth}{0.8pt}% 796 | }% 797 | \end{textblock}% 798 | }% 799 | \fancyfoot[C]{% 800 | \begin{textblock}{1.0}[0.5,0.5](0.92,0.5) 801 | \rotatebox{90}{% 802 | \footnotesize \ifnumodd{\value{page}}{\hspace*{\fill}\thepage}{\thepage\hspace*{\fill}}% 803 | }% 804 | \end{textblock}% 805 | }% 806 | %- textpos: \begin{textblock}{<blockwidth>}[<ho>,<vo>](<hpos>,<vpos>) text... \end{textblock} 807 | %- origin of the absolute coordinate is the top-left corner of the page 808 | %- text will be set in a box <blockwidth> modules wide and placed on the page 809 | %- with the point [<ho>,<vo>] of the block at the position (<hpos>,<vpos>) of the page 810 | %- [<ho>,<vo>] are fractions of the width and height of the text box and specify 811 | %- the reference point of the text box, [0,0]: top left; [0.5,0.5]: middle; [0,1]: bottom left 812 | %- [<hpos>,<vpos>] are fractions of the width and height of the page and specify 813 | %- the position point on page, [0,0]: top left; [0.5,0.5]: middle; [0,1]: bottom left 814 | %- set unit of <blockwidth>, <hpos> arguments via module 815 | \setlength{\TPHorizModule}{\paperwidth}% 816 | %- set unit of <vpos> argument via module 817 | \setlength{\TPVertModule}{\paperheight}% 818 | %- \rule[raise]{width}{thickness} 819 | %- \rotatebox[origin=c]{angle}{text} 820 | \renewcommand{\headrulewidth}{0pt}% header rule 821 | \renewcommand{\footrulewidth}{0pt}% footer rule 822 | } 823 | \fi 824 | %- 825 | %-> Configure list environment 826 | %- 827 | \ifartx@list% enable enhanced list 828 | \definecolor{artxgreen}{rgb}{0,0.6,0} 829 | \definecolor{artxgray}{rgb}{0.5,0.5,0.5} 830 | \definecolor{artxmauve}{rgb}{0.58,0,0.82} 831 | \lstset{% 832 | numberbychapter=false,% numbered sequentially or by chapter 833 | backgroundcolor=\color{white},% background color; 834 | basicstyle=\scriptsize,% font size for code 835 | breakatwhitespace=false,% sets if automatic breaks should only happen at whitespace 836 | breaklines=true,% sets automatic line breaking 837 | captionpos=b,% caption-position to bottom 838 | commentstyle=\color{artxgreen},% comment style 839 | %deletekeywords={...},% delete keywords from the given language 840 | frame=single,% adds a frame around the code 841 | keepspaces=true,% keeps spaces in text for keeping indentation of code 842 | keywordstyle=\color{blue},% keyword style 843 | %otherkeywords={*,...},% add more keywords to the set 844 | numbers=left,% where to put the line-numbers; possible values are (none, left, right) 845 | numbersep=5pt,% how far the line-numbers are from the code 846 | numberstyle=\tiny\color{artxgray},% the style that is used for the line-numbers 847 | rulecolor=\color{black},% if not set, the frame-color may be changed on line-breaks 848 | showspaces=false,% show spaces everywhere adding particular underscores; 849 | showstringspaces=false,% underline spaces within strings only 850 | showtabs=false,% show tabs within strings adding particular underscores 851 | stepnumber=2,% the step between two line-numbers. If it's 1, each line will be numbered 852 | stringstyle=\color{artxmauve},% string literal style 853 | tabsize=2,% sets default tabsize to 2 spaces 854 | title=\lstname% show the filename of files 855 | } 856 | \fi 857 | %- 858 | %-> Page background 859 | %- 860 | \ifartx@background% 861 | \definecolor{backgroundcolor}{rgb}{0.85,0.85,0.85}% 862 | \pagecolor{backgroundcolor}% background color 863 | \fi 864 | 865 | %---------------------------------------------------------------------------% 866 | \endinput 867 | 868 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Style/ucasthesis.cfg: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %- -% 3 | %- Document Class Configuration -% 4 | %- -% 5 | %---------------------------------------------------------------------------% 6 | %- Copyright (C) Huangrui Mo <huangrui.mo@gmail.com> 7 | %- This is free software: you can redistribute it and/or modify it 8 | %- under the terms of the GNU General Public License as published by 9 | %- the Free Software Foundation, either version 3 of the License, or 10 | %- (at your option) any later version. 11 | %---------------------------------------------------------------------------% 12 | %->> Identification 13 | %---------------------------------------------------------------------------% 14 | \ProvidesFile{ucasthesis.cfg}[2014/10/01 v1.0 class configuration file]% 15 | %---------------------------------------------------------------------------% 16 | %->> Chinese titlepage 17 | %---------------------------------------------------------------------------% 18 | \def\ucas@label@ch@confidential{密级} 19 | \def\ucas@label@ch@orderid{编号} 20 | \def\ucas@label@ch@classid{分类号} 21 | \def\ucas@label@ch@udc{U D C} 22 | \def\ucas@label@ch@thesis{} 23 | \def\ucas@label@ch@thesis@bac{学士学位论文} 24 | \def\ucas@label@ch@thesis@mas{硕士学位论文} 25 | \def\ucas@label@ch@thesis@doc{博士学位论文} 26 | \def\ucas@label@ch@thesis@pdc{博士后研究工作报告} 27 | \def\ucas@label@ch@author{} 28 | \def\ucas@label@ch@author@bac{作者姓名:} 29 | \def\ucas@label@ch@author@mas{作者姓名:} 30 | \def\ucas@label@ch@author@doc{作者姓名:} 31 | \def\ucas@label@ch@author@pdc{博士后姓名} 32 | \def\ucas@label@ch@advisor{指导教师:} 33 | \def\ucas@label@ch@degree{学位类别:} 34 | \def\ucas@label@ch@major{} 35 | \def\ucas@label@ch@major@bac{专\quad\quad 业:} 36 | \def\ucas@label@ch@major@mas{学科专业:} 37 | \def\ucas@label@ch@major@doc{学科专业:} 38 | \def\ucas@label@ch@major@pdc{专\quad 业(二级学科)名称} 39 | \def\ucas@label@ch@subject{流动站(一级学科)名称} 40 | \def\ucas@label@ch@institute{} 41 | \def\ucas@label@ch@institute@bac{学院(系):} 42 | \def\ucas@label@ch@institute@mas{培养单位:} 43 | \def\ucas@label@ch@institute@doc{培养单位:} 44 | \def\ucas@label@ch@institute@pdc{} 45 | \def\ucas@label@ch@completedate{工作完成日期} 46 | \def\ucas@label@ch@submitdate{报告提交日期} 47 | \def\ucas@label@ch@studydatefrom{研究工作起始时间} 48 | \def\ucas@label@ch@studydateto{研究工作期满时间} 49 | \def\ucas@value@ch@school{中国科学院大学} 50 | \def\ucas@value@ch@academy{中国科学院} 51 | \def\ucas@value@ch@orginization{人事部} 52 | %---------------------------------------------------------------------------% 53 | %->> English titlepage 54 | %---------------------------------------------------------------------------% 55 | \def\ucas@value@en@thesistype{} 56 | \def\ucas@value@en@thesistype@bac{thesis} 57 | \def\ucas@value@en@thesistype@mas{thesis} 58 | \def\ucas@value@en@thesistype@doc{dissertation} 59 | \def\ucas@value@en@thesistype@pdc{report} 60 | \def\ucas@value@en@school{University of Chinese Academy of Sciences} 61 | \def\ucas@label@en@statement{A \ucas@value@en@thesistype\ submitted to\\ 62 | \ucas@value@en@school\\ 63 | in partial fulfillment of the requirement\\ 64 | for the degree of\\ 65 | \ucas@value@en@degree\ of \ucas@value@en@degreetype\\ 66 | in\ \ucas@value@en@major} 67 | %---------------------------------------------------------------------------% 68 | %->> Structure elements 69 | %---------------------------------------------------------------------------% 70 | \def\ucas@label@ch@tocname{目\quad 录} 71 | \def\ucas@label@en@tocname{Contents} 72 | \def\ucas@label@ch@lsfigname{图目录} 73 | \def\ucas@label@en@lsfigname{List of Figures} 74 | \def\ucas@label@ch@lstabname{表目录} 75 | \def\ucas@label@en@lstabname{List of Tables} 76 | \def\ucas@label@ch@algname{算法} 77 | \def\ucas@label@en@algname{Algorithm} 78 | \def\ucas@label@ch@bibname{参考文献} 79 | \def\ucas@label@en@bibname{References} 80 | \def\ucas@label@ch@bibetal{等} 81 | \def\ucas@label@en@bibetal{et al.} 82 | \def\ucas@label@ch@biband{和} 83 | \def\ucas@label@en@biband{ and } 84 | \def\ucas@label@ch@axiomname{公理} 85 | \def\ucas@label@en@axiomname{Axiom} 86 | \def\ucas@label@ch@theoremname{定理} 87 | \def\ucas@label@en@theoremname{Theorem} 88 | \def\ucas@label@ch@lemmaname{引理} 89 | \def\ucas@label@en@lemmaname{Lemma} 90 | \def\ucas@label@ch@corollaryname{推论} 91 | \def\ucas@label@en@corollaryname{Corollary} 92 | \def\ucas@label@ch@assertionname{断言} 93 | \def\ucas@label@en@assertionname{Assertion} 94 | \def\ucas@label@ch@propositionname{命题} 95 | \def\ucas@label@en@propositionname{Proposition} 96 | \def\ucas@label@ch@conjecturename{猜想} 97 | \def\ucas@label@en@conjecturename{Conjecture} 98 | \def\ucas@label@ch@definitionname{定义} 99 | \def\ucas@label@en@definitionname{Definition} 100 | \def\ucas@label@ch@examplename{例} 101 | \def\ucas@label@en@examplename{Example} 102 | \def\ucas@label@ch@remarkname{注} 103 | \def\ucas@label@en@remarkname{Remark} 104 | \def\ucas@label@ch@proofname{证明} 105 | \def\ucas@label@en@proofname{Proof} 106 | \def\ucas@label@ch@keywords{关键词:} 107 | \def\ucas@label@en@keywords{Key Words:} 108 | %---------------------------------------------------------------------------% 109 | %->> Author's declaration 110 | %---------------------------------------------------------------------------% 111 | \def\ucas@label@ch@declare@creativity{\ucas@value@ch@school\\研究生学位论文原创性声明} 112 | \def\ucas@value@ch@declare@creativity{% 113 | 本人郑重声明:所呈交的学位论文是本人在导师的指导下独立进行研究工作所取得的成果。承诺除文中已经注明引用的内容外,本论文不包含任何其他个人或集体享有著作权的研究成果,未在以往任何学位申请中全部或部分提交。对本论文所涉及的研究工作做出贡献的其他个人或集体,均已在文中以明确方式标明或致谢。本人完全意识到本声明的法律结果由本人承担。 114 | } 115 | \def\ucas@label@ch@declare@author{作者签名:} 116 | \def\ucas@label@ch@declare@advisor{导师签名:} 117 | \def\ucas@label@ch@declare@date{日\quad\quad 期:} 118 | \def\ucas@label@ch@declare@rights{\ucas@value@ch@school\\学位论文使用授权声明} 119 | \def\ucas@value@ch@declare@rights{% 120 | 本人完全了解并同意遵守中国科学院大学有关收集、保存和使用学位论文的规定,即中国科学院大学有权按照学术研究公开原则和保护知识产权的原则,保留并向国家指定或中国科学院指定机构送交学位论文的电子版和印刷版文件,且电子版与印刷版内容应完全相同,允许该论文被检索、查阅和借阅,公布本学位论文的全部或部分内容,可以采用扫描、影印、缩印等复制手段以及其他法律许可的方式保存、汇编本学位论文。 121 | } 122 | \def\ucas@value@ch@declare@rule{涉密及延迟公开的学位论文在解密或延迟期后适用本声明。} 123 | %---------------------------------------------------------------------------% 124 | \endinput 125 | 126 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Style/ucasthesis.cls: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %- -% 3 | %- Document Class -% 4 | %- -% 5 | %---------------------------------------------------------------------------% 6 | %- Copyright (C) Huangrui Mo <huangrui.mo@gmail.com> 7 | %- This is free software: you can redistribute it and/or modify it 8 | %- under the terms of the GNU General Public License as published by 9 | %- the Free Software Foundation, either version 3 of the License, or 10 | %- (at your option) any later version. 11 | %---------------------------------------------------------------------------% 12 | %->> Identification 13 | %---------------------------------------------------------------------------% 14 | \NeedsTeXFormat{LaTeX2e}% 15 | \newcommand*\@iflatexlater{\@ifl@t@r\fmtversion}% 16 | \@iflatexlater{2017/01/01}{}{% 17 | \ClassError{ucasthesis}{TeXLive/MikTex >= 2017 is required ...}{}% 18 | } 19 | \ProvidesClass{ucasthesis}[2014/10/01 v1.0 LaTeX document class]% 20 | %---------------------------------------------------------------------------% 21 | %->> Declare options 22 | %---------------------------------------------------------------------------% 23 | %- 24 | %-> Layout 25 | %- 26 | \DeclareOption{oneside}{% 27 | \PassOptionsToClass{oneside}{ctexbook}% 28 | } 29 | \DeclareOption{twoside}{% 30 | \PassOptionsToClass{twoside}{ctexbook}% 31 | } 32 | \newif\ifucas@print \ucas@printfalse 33 | \DeclareOption{print}{% 34 | \PassOptionsToClass{twoside}{ctexbook}% 35 | \ucas@printtrue% 36 | } 37 | %- 38 | %-> Language 39 | %- 40 | \newif\ifucas@plain \ucas@plainfalse 41 | \DeclareOption{scheme=plain}{% enable plain writing style 42 | \PassOptionsToClass{scheme=plain}{ctexbook}% 43 | \ucas@plaintrue% 44 | } 45 | %- 46 | %-> Draft version info 47 | %- 48 | \newif\ifucas@versioninfo \ucas@versioninfofalse 49 | \DeclareOption{draftversion}{% 50 | \ucas@versioninfotrue% 51 | } 52 | %- 53 | %-> Handle non-implemented options 54 | %- 55 | \DeclareOption*{% 56 | \PassOptionsToClass{\CurrentOption}{ctexbook}% 57 | } 58 | %- 59 | %-> Terminates all options processing 60 | %- 61 | \ProcessOptions\relax% 62 | %---------------------------------------------------------------------------% 63 | %->> Load class information 64 | %---------------------------------------------------------------------------% 65 | \LoadClass[UTF8,a4paper,zihao=-4]{ctexbook}% 66 | \@ifclasslater{ctexbook}{2017/01/01}{}{% 67 | \ClassError{ucasthesis}{ctex >= 2017/01/01 is required ...}{}% 68 | } 69 | %---------------------------------------------------------------------------% 70 | %->> Required packages 71 | %---------------------------------------------------------------------------% 72 | \RequirePackage{ifxetex}% LaTeX engine detection 73 | \RequirePackage{etoolbox}% a toolbox of programming facilities 74 | \newcommand{\ucasifstreq}{\expandafter\ifstrequal\expandafter}% expansion control 75 | \newcommand{\ucasifstrbk}{\expandafter\ifblank\expandafter}% expansion control 76 | \RequirePackage{expl3}% LaTeX3 programming environment 77 | \ExplSyntaxOn 78 | \newcommand{\ucaslntotab}[2][1pt]{% convert lines into table lines 79 | \seq_set_split:NnV \l_tmpa_seq {\\} {#2} 80 | \clist_set_from_seq:NN \l_tmpa_clist \l_tmpa_seq 81 | \clist_clear:N \l_tmpb_clist 82 | \clist_map_inline:Nn \l_tmpa_clist 83 | {% 84 | \clist_put_right:Nn \l_tmpb_clist 85 | { \ulenhance[#1]{\ulextend{##1}} } 86 | } 87 | %\clist_show:N\l_tmpb_clist% show the content of comma list 88 | \clist_use:Nn \l_tmpb_clist { \\ & } 89 | } 90 | \ExplSyntaxOff 91 | %---------------------------------------------------------------------------% 92 | %->> Load class configuration 93 | %---------------------------------------------------------------------------% 94 | \AtEndOfPackage{% class cfg loaded after package to make preamble commands take effect 95 | \makeatletter 96 | \InputIfFileExists{Style/ucasthesis.cfg}{}{} 97 | \makeatother 98 | } 99 | %---------------------------------------------------------------------------% 100 | %->> Page layout 101 | %---------------------------------------------------------------------------% 102 | %- use \topmargin insead of \voffset to shift the complete text vertically 103 | %- use \<odd|even>sidemargin insead of \hoffset to shift text horizontally 104 | %- part one -- horizontal widths 105 | %- left side width + textwidth + right side width = paperwidth 106 | %- binding side width + textwidth + nonbinding side width = paperwidth 107 | %- binding side width of [odd, even] page = [left, right] side width 108 | %- left side width of [odd, even] page = 1.0in (fixed) + hoffset + [odd, even]sidemargin 109 | %- assuming A4 paper (210mm x 297mm) 110 | \setlength{\textwidth}{146.6mm}% set required text width first 111 | \setlength{\hoffset}{0mm}% set horizontal offset 112 | \ifucas@print% if print layout enabled 113 | \setlength{\oddsidemargin}{12.6mm}% binding side margin 114 | \setlength{\evensidemargin}{0mm}% ensure uniform binding side width for printing 115 | \else 116 | \setlength{\oddsidemargin}{6.3mm}% left side margin 117 | \setlength{\evensidemargin}{6.3mm}% ensure uniform left side width for EThesis 118 | \fi 119 | \setlength{\marginparwidth}{35pt}% width of margin notes 120 | \setlength{\marginparsep}{10pt}% width of space between body text and margin notes 121 | %- part two -- vertical heights 122 | %- top height + textheight + bottom height = paperheight 123 | %- top height = 1.0in (fixed) + voffset + topmargin + headheight + headsep 124 | \setlength{\textheight}{246.2mm}% set required text height first 125 | \setlength{\voffset}{0mm}% set vertical offset 126 | \setlength{\topmargin}{-10.4mm}% vertical margin above header 127 | \setlength{\headheight}{12pt}% header height 128 | \setlength{\headsep}{17.5pt}% vertical margin between header and body text 129 | \setlength{\footskip}{10.4mm}% vertical margin between footer and body text 130 | %- specifies the amount of space between paragraphs. 131 | \setlength{\parskip}{0.5ex plus 0.25ex minus 0.25ex} 132 | %- line spacing 133 | \linespread{1.6}% line space setting 134 | \raggedbottom% prevent adding vertical white space in strange places 135 | %- default pagestyle is page number at bottom without headers and footers 136 | \pagestyle{plain} 137 | %---------------------------------------------------------------------------% 138 | %->> Style control commands 139 | %---------------------------------------------------------------------------% 140 | %- redefine cleardoublepage to have page style argument 141 | \renewcommand{\cleardoublepage}[1][plain]{% 142 | \clearpage\if@twoside\ifodd\c@page\else% 143 | \thispagestyle{#1}% 144 | \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi% 145 | } 146 | %- underline 147 | \ifxetex% 148 | \RequirePackage{ulem}% 149 | \else% 150 | \RequirePackage{ulem}% 151 | \fi 152 | \newcommand{\ulunify}[1]{\uline{#1}}% unified name 153 | \newcommand{\ulenhance}[2][1pt]{% enhanced underline 154 | \def\ULthickness{#1}% set thickness 155 | \setlength{\ULdepth}{0.5em}% set depth 156 | \expandafter\ulunify\expandafter{#2}% linebreak fix 157 | } 158 | \newcommand{\ulhshift}{-4em}% horizontal shift on underline 159 | \newcommand{\ulextend}[2][350pt]{% extend underline length 160 | \hbox to #1{\hfill\hspace*{\ulhshift}#2\hfill}} 161 | %---------------------------------------------------------------------------% 162 | %->> Titlepage 163 | %---------------------------------------------------------------------------% 164 | %- 165 | %-> Chinese item commands 166 | %- 167 | \def\ucas@value@ch@confidential{} 168 | \newcommand{\confidential}[1]{\def\ucas@value@ch@confidential{#1}} 169 | \def\ucas@value@ch@orderid{} 170 | \newcommand{\orderid}[1]{\def\ucas@value@ch@orderid{#1}} 171 | \def\ucas@value@ch@classid{} 172 | \newcommand{\classid}[1]{\def\ucas@value@ch@classid{#1}} 173 | \def\ucas@value@ch@udc{} 174 | \newcommand{\udc}[1]{\def\ucas@value@ch@udc{#1}} 175 | \def\ucas@value@ch@schoollogo{} 176 | \newcommand{\schoollogo}[2][]{\def\ucas@value@ch@schoollogo{\ucasifstrbk{#1}{\zihao{-2}\bfseries\sffamily #2}{\includegraphics[#1]{#2}}}} 177 | \def\ucas@value@ch@title{} 178 | \def\ucas@value@ch@titlemark{} 179 | \renewcommand{\title}[2][\ucas@value@ch@title]{% 180 | \def\ucas@value@ch@title{#2} 181 | %\def\ucas@value@ch@titlemark{\MakeUppercase{#1}}} 182 | \def\ucas@value@ch@titlemark{#1}} 183 | \def\ucas@value@ch@author{} 184 | \renewcommand{\author}[1]{\def\ucas@value@ch@author{#1}} 185 | \def\ucas@value@ch@advisor{} 186 | \newcommand{\advisor}[1]{\long\def\ucas@value@ch@advisor{#1}} 187 | \def\ucas@value@ch@advisors{} 188 | \newcommand{\advisors}[1]{\long\def\ucas@value@ch@advisors{#1}} 189 | \def\ucas@value@ch@degree{} 190 | \newcommand{\degree}[1]{\def\ucas@value@ch@degree{#1}} 191 | \def\ucas@value@ch@degreetype{} 192 | \newcommand{\degreetype}[1]{\def\ucas@value@ch@degreetype{#1}} 193 | \def\ucas@value@ch@subject{} 194 | \newcommand{\subject}[1]{\def\ucas@value@ch@subject{#1}} 195 | \def\ucas@value@ch@major{} 196 | \newcommand{\major}[1]{\def\ucas@value@ch@major{#1}} 197 | \def\ucas@value@ch@institute{} 198 | \newcommand{\institute}[1]{\long\def\ucas@value@ch@institute{#1}} 199 | \def\ucas@value@ch@school{} 200 | \newcommand{\school}[1]{\def\ucas@value@ch@school{#1}} 201 | \def\ucas@value@ch@orginization{} 202 | \newcommand{\orginization}[1]{\def\ucas@value@ch@orginization{#1}} 203 | \def\ucas@value@ch@completedate{} 204 | \newcommand{\completedate}[1]{\def\ucas@value@ch@completedate{#1}} 205 | \def\ucas@value@ch@submitdate{} 206 | \newcommand{\submitdate}[1]{\def\ucas@value@ch@submitdate{#1}} 207 | \def\ucas@value@ch@studydatefrom{} 208 | \newcommand{\studydatefrom}[1]{\def\ucas@value@ch@studydatefrom{#1}} 209 | \def\ucas@value@ch@studydateto{} 210 | \newcommand{\studydateto}[1]{\def\ucas@value@ch@studydateto{#1}} 211 | \def\ucas@value@ch@date{} 212 | \renewcommand{\date}[1]{\def\ucas@value@ch@date{#1}} 213 | %- 214 | %-> English item commands 215 | %- 216 | \def\ucas@value@en@title{} 217 | \def\ucas@value@en@titlemark{} 218 | \newcommand{\TITLE}[2][\ucas@value@en@title]{% 219 | \def\ucas@value@en@title{#2} 220 | %\def\ucas@value@en@titlemark{\MakeUppercase{#1}}} 221 | \def\ucas@value@en@titlemark{#1}} 222 | \def\ucas@value@en@author{} 223 | \newcommand{\AUTHOR}[1]{\def\ucas@value@en@author{#1}} 224 | \def\ucas@value@en@advisor{} 225 | \newcommand{\ADVISOR}[1]{\def\ucas@value@en@advisor{#1}} 226 | \def\ucas@value@en@degree{} 227 | \newcommand{\DEGREE}[1]{\edef\ucas@value@en@degree{\zap@space#1 \@empty}}% expand and remove space 228 | \def\ucas@value@en@degreetype{} 229 | \newcommand{\DEGREETYPE}[1]{\def\ucas@value@en@degreetype{#1}} 230 | \def\ucas@value@en@thesistype{} 231 | \newcommand{\THESISTYPE}[1]{\def\ucas@value@en@thesistype{#1}} 232 | \def\ucas@value@en@major{} 233 | \newcommand{\MAJOR}[1]{\def\ucas@value@en@major{#1}} 234 | \def\ucas@value@en@institute{} 235 | \newcommand{\INSTITUTE}[1]{\def\ucas@value@en@institute{#1}} 236 | \def\ucas@value@en@school{} 237 | \newcommand{\SCHOOL}[1]{\def\ucas@value@en@school{#1}} 238 | \def\ucas@value@en@date{} 239 | \newcommand{\DATE}[1]{\def\ucas@value@en@date{#1}} 240 | %- 241 | %-> Detect and adjust items 242 | %- 243 | \AtEndPreamble{% 244 | \ucasifstreq{\ucas@value@en@degree}{Bachelor}{% 245 | \def\ucas@label@ch@thesis{\ucas@label@ch@thesis@bac}% 246 | \def\ucas@label@ch@author{\ucas@label@ch@author@bac}% 247 | \def\ucas@label@ch@major{\ucas@label@ch@major@bac}% 248 | \def\ucas@label@ch@institute{\ucas@label@ch@institute@bac}% 249 | \def\ucas@value@en@thesistype{\ucas@value@en@thesistype@bac}% 250 | \def\maketitle{\maketitle@xpdc} 251 | \def\MAKETITLE{\MAKETITLE@xpdc} 252 | }{% 253 | \ucasifstreq{\ucas@value@en@degree}{Master}{% 254 | \def\ucas@label@ch@thesis{\ucas@label@ch@thesis@mas}% 255 | \def\ucas@label@ch@author{\ucas@label@ch@author@mas}% 256 | \def\ucas@label@ch@major{\ucas@label@ch@major@mas}% 257 | \def\ucas@label@ch@institute{\ucas@label@ch@institute@mas}% 258 | \def\ucas@value@en@thesistype{\ucas@value@en@thesistype@mas}% 259 | \def\maketitle{\maketitle@xpdc} 260 | \def\MAKETITLE{\MAKETITLE@xpdc} 261 | }{% 262 | \ucasifstreq{\ucas@value@en@degree}{Doctor}{% 263 | \def\ucas@label@ch@thesis{\ucas@label@ch@thesis@doc}% 264 | \def\ucas@label@ch@author{\ucas@label@ch@author@doc}% 265 | \def\ucas@label@ch@major{\ucas@label@ch@major@doc}% 266 | \def\ucas@label@ch@institute{\ucas@label@ch@institute@doc}% 267 | \def\ucas@value@en@thesistype{\ucas@value@en@thesistype@doc}% 268 | \def\maketitle{\maketitle@xpdc} 269 | \def\MAKETITLE{\MAKETITLE@xpdc} 270 | }{% 271 | \ucasifstreq{\ucas@value@en@degree}{Postdoctor}{% 272 | \def\ucas@label@ch@thesis{\ucas@label@ch@thesis@pdc}% 273 | \def\ucas@label@ch@author{\ucas@label@ch@author@pdc}% 274 | \def\ucas@label@ch@major{\ucas@label@ch@major@pdc}% 275 | \def\ucas@label@ch@institute{\ucas@label@ch@institute@pdc}% 276 | \def\ucas@value@en@thesistype{\ucas@value@en@thesistype@pdc}% 277 | \def\maketitle{\maketitle@pdc} 278 | \def\MAKETITLE{\MAKETITLE@pdc} 279 | }{% 280 | \ClassWarning{ucasthesis}{Invalid value of '\string\DEGREE', please check the spelling}% 281 | }}}}% 282 | } 283 | %- 284 | %-> Define Chinese style 285 | %- 286 | \newcommand{\maketitle@xpdc}{% 287 | \cleardoublepage 288 | \thispagestyle{empty} 289 | \begin{center} 290 | \linespread{1.6} 291 | \zihao{4}\bfseries 292 | 293 | \hfill{} \ucasifstrbk{\ucas@value@ch@confidential}{}{\ucas@label@ch@confidential \ulenhance{\ulextend[50pt]{\hspace*{-\ulhshift}\zihao{5}\ucas@value@ch@confidential}}} 294 | 295 | \vspace*{\stretch{4}} 296 | 297 | {\ucas@value@ch@schoollogo} 298 | 299 | \vspace*{\stretch{2}} 300 | 301 | {\zihao{1}\bfseries\sffamily {\ucas@label@ch@thesis}} 302 | 303 | \vspace*{\stretch{3}} 304 | 305 | {\zihao{-3}\bfseries\sffamily \ulenhance[1.5pt]{\ucas@value@ch@title}} 306 | 307 | \vspace*{\stretch{3}} 308 | 309 | \def\tabcolsep{1pt} 310 | \def\arraystretch{1.3} 311 | \begin{tabular}{lc} 312 | \ucas@label@ch@author & \ulenhance[1.2pt]{\ulextend{\ucas@value@ch@author}}\\ 313 | \ucas@label@ch@advisor & \ucaslntotab[1.2pt]{\ucas@value@ch@advisor}\\ 314 | \ucas@label@ch@degree & \ulenhance[1.2pt]{\ulextend{\ucas@value@ch@degreetype\ucas@value@ch@degree}}\\ 315 | \ucas@label@ch@major & \ulenhance[1.2pt]{\ulextend{\ucas@value@ch@major}}\\ 316 | \ucas@label@ch@institute & \ucaslntotab[1.2pt]{\ucas@value@ch@institute}\\ 317 | \end{tabular} 318 | 319 | \vspace*{\stretch{4}} 320 | 321 | {\ucas@value@ch@date} 322 | 323 | \vspace*{\stretch{4}} 324 | \end{center} 325 | \clearpage 326 | \if@twoside 327 | \thispagestyle{empty} 328 | \ifucas@versioninfo 329 | \vspace*{\stretch{1}} 330 | \begin{footnotesize} 331 | \noindent 332 | Draft Version (\today) 333 | \end{footnotesize} 334 | \fi 335 | \cleardoublepage[empty] 336 | \else 337 | \ifucas@versioninfo 338 | \thispagestyle{empty} 339 | \vspace*{\stretch{1}} 340 | \begin{footnotesize} 341 | \noindent 342 | Draft Version (\today) 343 | \end{footnotesize} 344 | \cleardoublepage[empty] 345 | \fi 346 | \fi 347 | \ifucas@print% 348 | \hypersetup{% set hyperlinks 349 | hidelinks,% remove link color and border 350 | } 351 | \fi 352 | } 353 | \newcommand{\maketitle@pdc}{% 354 | \cleardoublepage 355 | \thispagestyle{empty} 356 | \begin{center} 357 | 358 | \vspace*{30pt} 359 | 360 | \linespread{2.0} 361 | \zihao{4} 362 | 363 | \makebox[3.0em][s]{\ucas@label@ch@classid} \ulenhance{\ulextend[6em]{\zihao{5}\ucas@value@ch@classid}} \hfill{} \ucas@label@ch@confidential \ulenhance{\ulextend[6em]{\zihao{5}\ucas@value@ch@confidential}} 364 | 365 | \makebox[3.0em][s]{\ucas@label@ch@udc} \ulenhance{\ulextend[6em]{\zihao{5}\ucas@value@ch@udc}} \hfill{} \ucas@label@ch@orderid \ulenhance{\ulextend[6em]{\zihao{5}\ucas@value@ch@orderid}} 366 | 367 | \vspace*{\stretch{6}} 368 | 369 | {\ziju{1.5}\ucas@value@ch@schoollogo} 370 | 371 | \vspace*{\stretch{1}} 372 | 373 | {\zihao{-2}\bfseries\sffamily{\ziju{0.5}\ucas@label@ch@thesis}} 374 | 375 | \vspace*{\stretch{3}} 376 | 377 | {\zihao{-3} \ulenhance[1.5pt]{\ucas@value@ch@title}} 378 | 379 | \vspace*{\stretch{2.5}} 380 | 381 | \ucas@value@ch@author 382 | 383 | \vspace*{\stretch{2.5}} 384 | 385 | \def\tabcolsep{1pt} 386 | \def\arraystretch{1.3} 387 | \begin{tabular}{l@{\quad}c} 388 | \ucas@label@ch@completedate & \ulenhance{\ulextend[200pt]{\ucas@value@ch@completedate}}\\ 389 | \ucas@label@ch@submitdate & \ulenhance{\ulextend[200pt]{\ucas@value@ch@submitdate}}\\ 390 | \end{tabular} 391 | 392 | \vspace*{\stretch{2}} 393 | 394 | \ucas@value@ch@institute 395 | 396 | \ucas@value@ch@date 397 | 398 | \vspace*{\stretch{4}} 399 | \end{center} 400 | \clearpage 401 | \if@twoside 402 | \thispagestyle{empty} 403 | \cleardoublepage[empty] 404 | \fi 405 | \ifucas@print% 406 | \hypersetup{% set hyperlinks 407 | hidelinks,% remove link color and border 408 | } 409 | \fi 410 | } 411 | %- 412 | %-> Define English style 413 | %- 414 | \newcommand{\MAKETITLE@xpdc}{% 415 | \cleardoublepage 416 | \thispagestyle{empty} 417 | \begin{center} 418 | \linespread{1.6} 419 | \zihao{4}\bfseries 420 | 421 | \vspace*{50pt} 422 | 423 | {\zihao{-3}\bfseries \ulenhance[1.5pt]{\ucas@value@en@title}} 424 | 425 | \vspace*{\stretch{3}} 426 | 427 | {\ucas@label@en@statement} 428 | 429 | {By} 430 | 431 | {\ucas@value@en@author} 432 | 433 | {\ucas@value@en@advisor} 434 | 435 | \vspace*{\stretch{3}} 436 | 437 | {\ucas@value@en@institute} 438 | 439 | \vspace*{\stretch{1}} 440 | 441 | {\ucas@value@en@date} 442 | 443 | \vspace*{\stretch{3}} 444 | \end{center} 445 | \clearpage 446 | \if@twoside 447 | \thispagestyle{empty} 448 | \cleardoublepage[empty] 449 | \fi 450 | } 451 | \newcommand{\MAKETITLE@pdc}{% 452 | \cleardoublepage 453 | \thispagestyle{empty} 454 | \begin{center} 455 | \linespread{2.0} 456 | \zihao{4} 457 | 458 | \vspace*{50pt} 459 | 460 | {\zihao{3} \ucas@value@ch@title} 461 | 462 | \vspace*{\stretch{3}} 463 | 464 | {\zihao{-3} \ucas@value@en@title} 465 | 466 | \vspace*{\stretch{3}} 467 | 468 | \def\tabcolsep{1pt} 469 | \def\arraystretch{1.3} 470 | \begin{tabular}{l@{\quad}l} 471 | \makebox[11em][s]{\ucas@label@ch@author} & \ucas@value@ch@author\\ 472 | \makebox[11em][s]{\ucas@label@ch@subject} & \ucas@value@ch@subject\\ 473 | \makebox[11em][s]{\ucas@label@ch@major} & \ucas@value@ch@major\\ 474 | \end{tabular} 475 | 476 | \vspace*{\stretch{3}} 477 | 478 | \ucas@label@ch@studydatefrom \quad \ucas@value@ch@studydatefrom 479 | 480 | \ucas@label@ch@studydateto \quad \ucas@value@ch@studydateto 481 | 482 | \vspace*{\stretch{3}} 483 | 484 | \ucas@value@ch@orginization 485 | 486 | \ucas@value@ch@date 487 | 488 | \vspace*{\stretch{3}} 489 | \end{center} 490 | \clearpage 491 | \if@twoside 492 | \thispagestyle{empty} 493 | \cleardoublepage[empty] 494 | \fi 495 | } 496 | %---------------------------------------------------------------------------% 497 | %->> Author's declaration 498 | %---------------------------------------------------------------------------% 499 | \newcommand{\makedeclaration}{% 500 | \cleardoublepage 501 | \thispagestyle{empty} 502 | { 503 | \linespread{1.6} 504 | \zihao{-4} 505 | 506 | \vspace*{2ex} 507 | 508 | \begin{center} 509 | {\zihao{4}\bfseries\sffamily \ucas@label@ch@declare@creativity} 510 | \end{center} 511 | 512 | {\ucas@value@ch@declare@creativity} 513 | 514 | \vspace*{3ex} 515 | 516 | {\hfill{} {\ucas@label@ch@declare@author \hspace*{14em}}} 517 | 518 | {\hfill{} {\ucas@label@ch@declare@date \hspace*{14em}}} 519 | 520 | \vspace*{6ex} 521 | 522 | \begin{center} 523 | {\zihao{4}\bfseries\sffamily \ucas@label@ch@declare@rights} 524 | \end{center} 525 | 526 | {\ucas@value@ch@declare@rights} 527 | 528 | {\ucas@value@ch@declare@rule} 529 | 530 | \vspace*{3ex} 531 | 532 | {\hfill{} {\ucas@label@ch@declare@author \hspace*{10em} \ucas@label@ch@declare@advisor \hspace*{9em}}} 533 | 534 | {\hfill{} {\ucas@label@ch@declare@date \hspace*{10em} \ucas@label@ch@declare@date \hspace*{9em}}} 535 | 536 | \vspace*{3ex} 537 | } 538 | \clearpage 539 | \if@twoside 540 | \thispagestyle{empty} 541 | \cleardoublepage[empty] 542 | \fi 543 | } 544 | %---------------------------------------------------------------------------% 545 | %->> New environments 546 | %---------------------------------------------------------------------------% 547 | %- define chinese keywords 548 | \newcommand{\keywords}[1]{% 549 | \vspace{\baselineskip} 550 | \noindent {\bfseries \ucas@label@ch@keywords} #1} 551 | %- define engish keywords 552 | \newcommand{\KEYWORDS}[1]{% 553 | \vspace{\baselineskip} 554 | \noindent {\bfseries \ucas@label@en@keywords} #1} 555 | %---------------------------------------------------------------------------% 556 | %->> Structure elements 557 | %---------------------------------------------------------------------------% 558 | \ifucas@plain% 559 | \def\contentsname{\ucas@label@en@tocname} 560 | \def\listfigurename{\ucas@label@en@lsfigname} 561 | \def\listappfigname{} 562 | \def\listtablename{\ucas@label@en@lstabname} 563 | \def\listapptabname{} 564 | \def\bibname{\ucas@label@en@bibname} 565 | \def\refname{\ucas@label@en@bibname} 566 | \def\algname{\ucas@label@en@algname} 567 | \def\bibetal{\ucas@label@en@bibetal} 568 | \def\biband{\ucas@label@en@biband} 569 | \def\axiomname{\ucas@label@en@axiomname} 570 | \def\theoremname{\ucas@label@en@theoremname} 571 | \def\lemmaname{\ucas@label@en@lemmaname} 572 | \def\corollaryname{\ucas@label@en@corollaryname} 573 | \def\assertionname{\ucas@label@en@assertionname} 574 | \def\propositionname{\ucas@label@en@propositionname} 575 | \def\conjecturename{\ucas@label@en@conjecturename} 576 | \def\definitionname{\ucas@label@en@definitionname} 577 | \def\examplename{\ucas@label@en@examplename} 578 | \def\remarkname{\ucas@label@en@remarkname} 579 | \def\proofname{\ucas@label@en@proofname} 580 | \def\@title{\ucas@value@en@titlemark} 581 | \def\@author{\ucas@value@en@author} 582 | \else 583 | \def\contentsname{\ucas@label@ch@tocname} 584 | \def\listfigurename{\ucas@label@ch@lsfigname} 585 | \def\listappfigname{} 586 | \def\listtablename{\ucas@label@ch@lstabname} 587 | \def\listapptabname{} 588 | \def\algname{\ucas@label@ch@algname} 589 | \def\bibname{\ucas@label@ch@bibname} 590 | \def\refname{\ucas@label@ch@bibname} 591 | \def\bibetal{\ucas@label@ch@bibetal} 592 | \def\biband{\ucas@label@ch@biband} 593 | \def\axiomname{\ucas@label@ch@axiomname} 594 | \def\theoremname{\ucas@label@ch@theoremname} 595 | \def\lemmaname{\ucas@label@ch@lemmaname} 596 | \def\corollaryname{\ucas@label@ch@corollaryname} 597 | \def\assertionname{\ucas@label@ch@assertionname} 598 | \def\propositionname{\ucas@label@ch@propositionname} 599 | \def\conjecturename{\ucas@label@ch@conjecturename} 600 | \def\definitionname{\ucas@label@ch@definitionname} 601 | \def\examplename{\ucas@label@ch@examplename} 602 | \def\remarkname{\ucas@label@ch@remarkname} 603 | \def\proofname{\ucas@label@ch@proofname} 604 | \def\@title{\ucas@value@ch@titlemark} 605 | \def\@author{\ucas@value@ch@author} 606 | \fi 607 | %---------------------------------------------------------------------------% 608 | %->> Structure layout 609 | %---------------------------------------------------------------------------% 610 | %- chapter 611 | \ctexset { 612 | chapter = { 613 | format = \linespread{1.0}\zihao{4}\bfseries\sffamily\centering, 614 | nameformat = {}, 615 | titleformat = {}, 616 | number = \arabic{chapter}, 617 | numberformat = \sffamily, 618 | aftername = \quad, 619 | beforeskip = {7pt}, 620 | afterskip = {18pt}, 621 | pagestyle = plain, 622 | } 623 | } 624 | %- section 625 | \ctexset { 626 | section = { 627 | format = \linespread{1.0}\zihao{-4}\sffamily\raggedright, 628 | numberformat = \rmfamily, 629 | aftername = \quad, 630 | beforeskip = {24pt}, 631 | afterskip = {6pt}, 632 | } 633 | } 634 | %- subsection 635 | \ctexset { 636 | subsection = { 637 | format = \linespread{1.0}\zihao{-4}\sffamily\raggedright, 638 | numberformat = \rmfamily, 639 | aftername = \quad, 640 | beforeskip = {12pt}, 641 | afterskip = {6pt}, 642 | } 643 | } 644 | %- subsubsection 645 | \ctexset { 646 | subsubsection = { 647 | format = \linespread{1.0}\zihao{-4}\sffamily\raggedright, 648 | numberformat = \rmfamily, 649 | aftername = \quad, 650 | beforeskip = {12pt}, 651 | afterskip = {6pt}, 652 | } 653 | } 654 | %- appendix 655 | \ctexset { 656 | appendix = { 657 | numbering = true, 658 | number = \zhnum{chapter}, 659 | } 660 | } 661 | %---------------------------------------------------------------------------% 662 | %->> Configure table of contents 663 | %---------------------------------------------------------------------------% 664 | %- the table of contents is specified by defining \l@chapter, \l@section, ... 665 | %- most commands are then defined with the \@dottedtocline: 666 | %- \@dottedtocline{⟨level⟩}{⟨indent⟩}{⟨numwidth⟩}{⟨title⟩}{⟨page⟩} 667 | %- ⟨level⟩ an entry is produced only if ⟨level⟩ <= value of the tocdepth counter 668 | %- note, \chapter is level 0, \section is level 1, etc 669 | %- ⟨indent⟩ indentation from the outer left margin of the start of the contents line 670 | %- ⟨numwidth⟩ width of a box in which the section number is to go 671 | %- <title> title 672 | %- <page> page number 673 | 674 | %- parameters for spacing and length in toc 675 | \def\@dotsep{1.5mu}% separation between dots in mu units 676 | \def\@pnumwidth{2em}% width of a box in which the page number is put 677 | \def\@tocrmarg{2em}% right margin for multiple line entries, \@tocrmarg ≥ \@pnumwidth 678 | \def\@chaptervspace{1ex}% vertical space between chapter titles 679 | 680 | %- redefine dottedtocline from classes.dtx and latex.ltx 681 | \renewcommand*{\@dottedtocline}[5]{% [<level>,<indent>,<numwidth>,<title>,<page>] 682 | \ifnum #1>\c@tocdepth \else 683 | \vskip \z@ \@plus.2\p@ 684 | {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip 685 | \parindent #2\relax\@afterindenttrue 686 | \interlinepenalty\@M 687 | \leavevmode \zihao{-4}\sffamily 688 | \@tempdima #3\relax 689 | \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip 690 | {#4}\nobreak 691 | \leaders\hbox{$\m@th\mkern \@dotsep \cdot\mkern \@dotsep$}\hfill 692 | \nobreak 693 | \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}% 694 | \par\penalty\@highpenalty}% 695 | \fi 696 | } 697 | %- redefine l@part from book.cls to add dotted toc line 698 | \renewcommand*{\l@part}[2]{% [<title>,<page>] 699 | \ifnum \c@tocdepth >-2\relax 700 | \addpenalty{-\@highpenalty}% 701 | \addvspace{2.25em \@plus\p@}% 702 | \setlength\@tempdima{3em}% 703 | \begingroup 704 | \parindent \z@ \rightskip \@pnumwidth 705 | \parfillskip -\@pnumwidth 706 | {\leavevmode 707 | \zihao{4}\sffamily #1 708 | \leaders\hbox{$\m@th\mkern \@dotsep \cdot\mkern \@dotsep$}% add dotted toc line 709 | \hfil \hb@xt@\@pnumwidth{\hss #2}}\par 710 | \nobreak 711 | \global\@nobreaktrue 712 | \everypar{\global\@nobreakfalse\everypar{}}% 713 | \endgroup 714 | \fi 715 | } 716 | %- redefine l@chapter from book.cls to add dotted toc line 717 | \renewcommand*{\l@chapter}[2]{% [<title>,<page>] 718 | \ifnum \c@tocdepth >\m@ne 719 | \addpenalty{-\@highpenalty}% 720 | \vskip \@chaptervspace \@plus\p@ 721 | \setlength\@tempdima{1.5em}% 722 | \begingroup 723 | \parindent \z@ \rightskip \@pnumwidth 724 | \parfillskip -\@pnumwidth 725 | \leavevmode \zihao{4}\sffamily 726 | \advance\leftskip\@tempdima 727 | \hskip -\leftskip 728 | #1\nobreak 729 | \leaders\hbox{$\m@th\mkern \@dotsep \cdot\mkern \@dotsep$}% add dotted toc line 730 | \hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par 731 | \penalty\@highpenalty 732 | \endgroup 733 | \fi 734 | } 735 | %- redefine indentation for others 736 | \renewcommand*\l@section{\@dottedtocline{1}{1em}{1.8em}} 737 | \renewcommand*\l@subsection{\@dottedtocline{2}{2em}{2.8em}} 738 | \renewcommand*\l@subsubsection{\@dottedtocline{3}{3em}{3.8em}} 739 | \renewcommand*\l@paragraph{\@dottedtocline{4}{4em}{4.8em}} 740 | \renewcommand*\l@subparagraph{\@dottedtocline{5}{5em}{5.8em}} 741 | \renewcommand*\l@figure{\@dottedtocline{1}{1em}{1.8em}} 742 | \renewcommand*\l@table{\@dottedtocline{1}{1em}{1.8em}} 743 | %---------------------------------------------------------------------------% 744 | \endinput 745 | 746 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/Appendix.tex: -------------------------------------------------------------------------------- 1 | \thispagestyle{appendixheader} 2 | \stepcounter{app} 3 | \setcounter{app_fig}{1} 4 | \setcounter{app_tab}{1} 5 | \setcounter{equation}{0} 6 | \renewcommand\theequation{附\arabic{app}-\arabic{equation}} 7 | % \renewcommand\theequation{\Alph{app}.\arabic{equation}} 8 | \renewcommand\chaptername{附录} 9 | \renewcommand\chaptername{Appendix} 10 | \renewcommand\thechapter{附录\zhnum{app}} 11 | 12 | \setcounter{chapter}{0} 13 | \setcounter{section}{0} 14 | \chapter{附录中的公式}\label{chap:app1}{ 15 | 16 | 对公式的引用如,公式\eqref{eq:appedns} 17 | \begin{equation} \label{eq:appedns} 18 | % \adddotsbeforeeqnnum% 19 | \begin{cases} 20 | \frac{\partial \rho}{\partial t} + \nabla\cdot(\rho\Vector{V}) = 0\\ 21 | \frac{\partial (\rho\Vector{V})}{\partial t} + \nabla\cdot(\rho\Vector{V}\Vector{V}) = \nabla\cdot\Tensor{\sigma}\\ 22 | \frac{\partial (\rho E)}{\partial t} + \nabla\cdot(\rho E\Vector{V}) = \nabla\cdot(k\nabla T) + \nabla\cdot(\Tensor{\sigma}\cdot\Vector{V}) 23 | \end{cases} 24 | \end{equation} 25 | 26 | \begin{equation} \label{eq:appedns2} 27 | % \adddotsbeforeeqnnum% 28 | \begin{cases} 29 | \frac{\partial \rho}{\partial t} + \nabla\cdot(\rho\Vector{V}) = 0\\ 30 | \frac{\partial (\rho\Vector{V})}{\partial t} + \nabla\cdot(\rho\Vector{V}\Vector{V}) = \nabla\cdot\Tensor{\sigma}\\ 31 | \frac{\partial (\rho E)}{\partial t} + \nabla\cdot(\rho E\Vector{V}) = \nabla\cdot(k\nabla T) + \nabla\cdot(\Tensor{\sigma}\cdot\Vector{V}) 32 | \end{cases} 33 | \end{equation} 34 | 35 | 36 | mathtext: $A,F,L,2,3,5,\sigma$, mathnormal: $A,F,L,2,3,5,\sigma$, mathrm: $\mathrm{A,F,L,2,3,5,\sigma}$. 37 | 38 | mathbf: $\mathbf{A,F,L,2,3,5,\sigma}$, mathit: $\mathit{A,F,L,2,3,5,\sigma}$, mathsf: $\mathsf{A,F,L,2,3,5,\sigma}$. 39 | 40 | mathtt: $\mathtt{A,F,L,2,3,5,\sigma}$, mathfrak: $\mathfrak{A,F,L,2,3,5,\sigma}$, mathbb: $\mathbb{A,F,L,2,3,5,\sigma}$. 41 | 42 | mathcal: $\mathcal{A,F,L,2,3,5,\sigma}$, mathscr: $\mathscr{A,F,L,2,3,5,\sigma}$, boldsymbol: $\boldsymbol{A,F,L,2,3,5,\sigma}$. 43 | 44 | vector: $\Vector{\sigma, T, a, F, n}$, unitvector: $\unitVector{\sigma, T, a, F, n}$ 45 | 46 | matrix: $\Matrix{\sigma, T, a, F, n}$, unitmatrix: $\unitMatrix{\sigma, T, a, F, n}$ 47 | 48 | tensor: $\Tensor{\sigma, T, a, F, n}$, unittensor: $\unitTensor{\sigma, T, a, F, n}$ 49 | 50 | 51 | \thispagestyle{appendixheader} 52 | } 53 | \chapter{附录中的图表}{ 54 | \stepcounter{app} 55 | \setcounter{app_fig}{1} 56 | \setcounter{app_tab}{1} 57 | 58 | 59 | 附表测试 60 | 61 | \begin{apptab}[!htbp] 62 | \bicaption{\enspace 这是一个样表}{\enspace This is a sample table} 63 | \stepcounter{app_tab} 64 | \label{apptab:1} 65 | \centering 66 | \footnotesize% fontsize 67 | \setlength{\tabcolsep}{4pt}% column separation 68 | \renewcommand{\arraystretch}{1.2}%row space 69 | \begin{tabular}{lcccccccc} 70 | \hline 71 | 行号 & \multicolumn{8}{c}{跨多列的标题}\\ 72 | %\cline{2-9}% partial hline from column i to column j 73 | \hline 74 | Row 1 & $1$ & $2$ & $3$ & $4$ & $5$ & $6$ & $7$ & $8$\\ 75 | \hline 76 | \end{tabular} 77 | \end{apptab} 78 | 79 | 80 | \begin{apptab}[!htbp] 81 | \bicaption{\enspace 这是一个样表}{\enspace This is a sample table} 82 | \stepcounter{app_tab} 83 | \label{apptab:2} 84 | \centering 85 | \footnotesize% fontsize 86 | \setlength{\tabcolsep}{4pt}% column separation 87 | \renewcommand{\arraystretch}{1.2}%row space 88 | \begin{tabular}{lcccccccc} 89 | \hline 90 | 行号 & \multicolumn{8}{c}{跨多列的标题}\\ 91 | %\cline{2-9}% partial hline from column i to column j 92 | \hline 93 | Row 1 & $1$ & $2$ & $3$ & $4$ & $5$ & $6$ & $7$ & $8$\\ 94 | \hline 95 | \end{tabular} 96 | \end{apptab} 97 | 98 | 附图测试 99 | 100 | \begin{appfig}[!htbp] 101 | \centering 102 | \includegraphics[width=0.40\textwidth]{c06h06} 103 | \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 104 | \fignote{对图片的注释} 105 | 106 | \label{appfig:1} 107 | \stepcounter{app_fig} 108 | \end{appfig} 109 | 110 | % \begin{appfig}[!htbp] 111 | % \centering 112 | % \includegraphics[width=0.40\textwidth]{c06h06} 113 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 114 | % \fignote{对图片的注释} 115 | 116 | % \label{appfig:1} 117 | % \stepcounter{app_fig} 118 | % \end{appfig} 119 | 120 | % \begin{appfig}[!htbp] 121 | % \centering 122 | % \includegraphics[width=0.40\textwidth]{c06h06} 123 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 124 | % \fignote{对图片的注释} 125 | 126 | % \label{appfig:1} 127 | % \stepcounter{app_fig} 128 | % \end{appfig} 129 | 130 | % \begin{appfig}[!htbp] 131 | % \centering 132 | % \includegraphics[width=0.40\textwidth]{c06h06} 133 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 134 | % \fignote{对图片的注释} 135 | 136 | % \label{appfig:1} 137 | % \stepcounter{app_fig} 138 | % \end{appfig} 139 | 140 | % \begin{appfig}[!htbp] 141 | % \centering 142 | % \includegraphics[width=0.40\textwidth]{c06h06} 143 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 144 | % \fignote{对图片的注释} 145 | 146 | % \label{appfig:1} 147 | % \stepcounter{app_fig} 148 | % \end{appfig} 149 | 150 | % \begin{appfig}[!htbp] 151 | % \centering 152 | % \includegraphics[width=0.40\textwidth]{c06h06} 153 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 154 | % \fignote{对图片的注释} 155 | 156 | % \label{appfig:1} 157 | % \stepcounter{app_fig} 158 | % \end{appfig} 159 | 160 | % \begin{appfig}[!htbp] 161 | % \centering 162 | % \includegraphics[width=0.40\textwidth]{c06h06} 163 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 164 | % \fignote{对图片的注释} 165 | 166 | % \label{appfig:1} 167 | % \stepcounter{app_fig} 168 | % \end{appfig} 169 | 170 | % \begin{appfig}[!htbp] 171 | % \centering 172 | % \includegraphics[width=0.40\textwidth]{c06h06} 173 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 174 | % \fignote{对图片的注释} 175 | 176 | % \label{appfig:1} 177 | % \stepcounter{app_fig} 178 | % \end{appfig} 179 | 180 | % \begin{appfig}[!htbp] 181 | % \centering 182 | % \includegraphics[width=0.40\textwidth]{c06h06} 183 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 184 | % \fignote{对图片的注释} 185 | 186 | % \label{appfig:1} 187 | % \stepcounter{app_fig} 188 | % \end{appfig} 189 | 190 | % \begin{appfig}[!htbp] 191 | % \centering 192 | % \includegraphics[width=0.40\textwidth]{c06h06} 193 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 194 | % \fignote{对图片的注释} 195 | 196 | % \label{appfig:1} 197 | % \stepcounter{app_fig} 198 | % \end{appfig} 199 | 200 | % \begin{appfig}[!htbp] 201 | % \centering 202 | % \includegraphics[width=0.40\textwidth]{c06h06} 203 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 204 | % \fignote{对图片的注释} 205 | 206 | % \label{appfig:1} 207 | % \stepcounter{app_fig} 208 | % \end{appfig} 209 | 210 | % \begin{appfig}[!htbp] 211 | % \centering 212 | % \includegraphics[width=0.40\textwidth]{c06h06} 213 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 214 | % \fignote{对图片的注释} 215 | 216 | % \label{appfig:1} 217 | % \stepcounter{app_fig} 218 | % \end{appfig} 219 | 220 | % \begin{appfig}[!htbp] 221 | % \centering 222 | % \includegraphics[width=0.40\textwidth]{c06h06} 223 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 224 | % \fignote{对图片的注释} 225 | 226 | % \label{appfig:1} 227 | % \stepcounter{app_fig} 228 | % \end{appfig} 229 | 230 | % \begin{appfig}[!htbp] 231 | % \centering 232 | % \includegraphics[width=0.40\textwidth]{c06h06} 233 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 234 | % \fignote{对图片的注释} 235 | 236 | % \label{appfig:1} 237 | % \stepcounter{app_fig} 238 | % \end{appfig} 239 | 240 | % \begin{appfig}[!htbp] 241 | % \centering 242 | % \includegraphics[width=0.40\textwidth]{c06h06} 243 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 244 | % \fignote{对图片的注释} 245 | 246 | % \label{appfig:1} 247 | % \stepcounter{app_fig} 248 | % \end{appfig} 249 | 250 | % \begin{appfig}[!htbp] 251 | % \centering 252 | % \includegraphics[width=0.40\textwidth]{c06h06} 253 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 254 | % \fignote{对图片的注释} 255 | 256 | % \label{appfig:1} 257 | % \stepcounter{app_fig} 258 | % \end{appfig} 259 | 260 | % \begin{appfig}[!htbp] 261 | % \centering 262 | % \includegraphics[width=0.40\textwidth]{c06h06} 263 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 264 | % \fignote{对图片的注释} 265 | 266 | % \label{appfig:1} 267 | % \stepcounter{app_fig} 268 | % \end{appfig} 269 | 270 | % \begin{appfig}[!htbp] 271 | % \centering 272 | % \includegraphics[width=0.40\textwidth]{c06h06} 273 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 274 | % \fignote{对图片的注释} 275 | 276 | % \label{appfig:1} 277 | % \stepcounter{app_fig} 278 | % \end{appfig} 279 | 280 | % \begin{appfig}[!htbp] 281 | % \centering 282 | % \includegraphics[width=0.40\textwidth]{c06h06} 283 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 284 | % \fignote{对图片的注释} 285 | 286 | % \label{appfig:1} 287 | % \stepcounter{app_fig} 288 | % \end{appfig} 289 | 290 | % \begin{appfig}[!htbp] 291 | % \centering 292 | % \includegraphics[width=0.40\textwidth]{c06h06} 293 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 294 | % \fignote{对图片的注释} 295 | 296 | % \label{appfig:1} 297 | % \stepcounter{app_fig} 298 | % \end{appfig} 299 | 300 | % \begin{appfig}[!htbp] 301 | % \centering 302 | % \includegraphics[width=0.40\textwidth]{c06h06} 303 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 304 | % \fignote{对图片的注释} 305 | 306 | % \label{appfig:1} 307 | % \stepcounter{app_fig} 308 | % \end{appfig} 309 | 310 | % \begin{appfig}[!htbp] 311 | % \centering 312 | % \includegraphics[width=0.40\textwidth]{c06h06} 313 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 314 | % \fignote{对图片的注释} 315 | 316 | % \label{appfig:1} 317 | % \stepcounter{app_fig} 318 | % \end{appfig} 319 | 320 | % \begin{appfig}[!htbp] 321 | % \centering 322 | % \includegraphics[width=0.40\textwidth]{c06h06} 323 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 324 | % \fignote{对图片的注释} 325 | 326 | % \label{appfig:1} 327 | % \stepcounter{app_fig} 328 | % \end{appfig} 329 | 330 | % \begin{appfig}[!htbp] 331 | % \centering 332 | % \includegraphics[width=0.40\textwidth]{c06h06} 333 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 334 | % \fignote{对图片的注释} 335 | 336 | % \label{appfig:1} 337 | % \stepcounter{app_fig} 338 | % \end{appfig} 339 | 340 | 341 | % \begin{appfig}[!htbp] 342 | % \centering 343 | % \includegraphics[width=0.40\textwidth]{c06h06} 344 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 345 | % \fignote{对图片的注释} 346 | 347 | % \label{appfig:1} 348 | % \stepcounter{app_fig} 349 | % \end{appfig} 350 | 351 | % \begin{appfig}[!htbp] 352 | % \centering 353 | % \includegraphics[width=0.40\textwidth]{c06h06} 354 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 355 | % \fignote{对图片的注释} 356 | 357 | % \label{appfig:1} 358 | % \stepcounter{app_fig} 359 | % \end{appfig} 360 | 361 | % \begin{appfig}[!htbp] 362 | % \centering 363 | % \includegraphics[width=0.40\textwidth]{c06h06} 364 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 365 | % \fignote{对图片的注释} 366 | 367 | % \label{appfig:1} 368 | % \stepcounter{app_fig} 369 | % \end{appfig} 370 | 371 | % \begin{appfig}[!htbp] 372 | % \centering 373 | % \includegraphics[width=0.40\textwidth]{c06h06} 374 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 375 | % \fignote{对图片的注释} 376 | 377 | % \label{appfig:1} 378 | % \stepcounter{app_fig} 379 | % \end{appfig} 380 | 381 | % \begin{appfig}[!htbp] 382 | % \centering 383 | % \includegraphics[width=0.40\textwidth]{c06h06} 384 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 385 | % \fignote{对图片的注释} 386 | 387 | % \label{appfig:1} 388 | % \stepcounter{app_fig} 389 | % \end{appfig} 390 | 391 | % \begin{appfig}[!htbp] 392 | % \centering 393 | % \includegraphics[width=0.40\textwidth]{c06h06} 394 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 395 | % \fignote{对图片的注释} 396 | 397 | % \label{appfig:1} 398 | % \stepcounter{app_fig} 399 | % \end{appfig} 400 | 401 | % \begin{appfig}[!htbp] 402 | % \centering 403 | % \includegraphics[width=0.40\textwidth]{c06h06} 404 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 405 | % \fignote{对图片的注释} 406 | 407 | % \label{appfig:1} 408 | % \stepcounter{app_fig} 409 | % \end{appfig} 410 | 411 | % \begin{appfig}[!htbp] 412 | % \centering 413 | % \includegraphics[width=0.40\textwidth]{c06h06} 414 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 415 | % \fignote{对图片的注释} 416 | 417 | % \label{appfig:1} 418 | % \stepcounter{app_fig} 419 | % \end{appfig} 420 | 421 | % \begin{appfig}[!htbp] 422 | % \centering 423 | % \includegraphics[width=0.40\textwidth]{c06h06} 424 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 425 | % \fignote{对图片的注释} 426 | 427 | % \label{appfig:1} 428 | % \stepcounter{app_fig} 429 | % \end{appfig} 430 | 431 | % \begin{appfig}[!htbp] 432 | % \centering 433 | % \includegraphics[width=0.40\textwidth]{c06h06} 434 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 435 | % \fignote{对图片的注释} 436 | 437 | % \label{appfig:1} 438 | % \stepcounter{app_fig} 439 | % \end{appfig} 440 | % \begin{appfig}[!htbp] 441 | % \centering 442 | % \includegraphics[width=0.40\textwidth]{c06h06} 443 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 444 | % \fignote{对图片的注释} 445 | 446 | % \label{appfig:1} 447 | % \stepcounter{app_fig} 448 | % \end{appfig} 449 | % \begin{appfig}[!htbp] 450 | % \centering 451 | % \includegraphics[width=0.40\textwidth]{c06h06} 452 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 453 | % \fignote{对图片的注释} 454 | 455 | % \label{appfig:1} 456 | % \stepcounter{app_fig} 457 | % \end{appfig} 458 | % \begin{appfig}[!htbp] 459 | % \centering 460 | % \includegraphics[width=0.40\textwidth]{c06h06} 461 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 462 | % \fignote{对图片的注释} 463 | 464 | % \label{appfig:1} 465 | % \stepcounter{app_fig} 466 | % \end{appfig} 467 | % \begin{appfig}[!htbp] 468 | % \centering 469 | % \includegraphics[width=0.40\textwidth]{c06h06} 470 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 471 | % \fignote{对图片的注释} 472 | 473 | % \label{appfig:1} 474 | % \stepcounter{app_fig} 475 | % \end{appfig} 476 | % \begin{appfig}[!htbp] 477 | % \centering 478 | % \includegraphics[width=0.40\textwidth]{c06h06} 479 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 480 | % \fignote{对图片的注释} 481 | 482 | % \label{appfig:1} 483 | % \stepcounter{app_fig} 484 | % \end{appfig} 485 | % \begin{appfig}[!htbp] 486 | % \centering 487 | % \includegraphics[width=0.40\textwidth]{c06h06} 488 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 489 | % \fignote{对图片的注释} 490 | 491 | % \label{appfig:1} 492 | % \stepcounter{app_fig} 493 | % \end{appfig} 494 | % \begin{appfig}[!htbp] 495 | % \centering 496 | % \includegraphics[width=0.40\textwidth]{c06h06} 497 | % \bicaption{\enspace 这是一个样图}{\enspace This is a sample figure} 498 | % \fignote{对图片的注释} 499 | 500 | % \label{appfig:1} 501 | % \stepcounter{app_fig} 502 | % \end{appfig} 503 | 504 | 505 | } -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/Backmatter.tex: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %->> Backmatter 3 | %---------------------------------------------------------------------------% 4 | \chapter[致谢]{致\quad 谢}\chaptermark{致\quad 谢}% syntax: \chapter[目录]{标题}\chaptermark{页眉} 5 | %\thispagestyle{noheaderstyle}% 如果需要移除当前页的页眉 6 | %\pagestyle{noheaderstyle}% 如果需要移除整章的页眉 7 | 8 | 此处填写致谢。 9 | 10 | 11 | \rightline{2023年6月} 12 | \chapter{作者简历及攻读学位期间发表的学术论文与其他相关学术成果} 13 | 14 | \section*{作者简历:} 15 | ××××年××月——××××年××月,在××大学××院(系)获得学士学位。 16 | 17 | ××××年××月——××××年××月,在××大学××院(系)获得硕士学位。 18 | 19 | ××××年××月——××××年××月,在中国科学院××研究所(或中国科学院大学××院系)攻读博士/硕士学位。 20 | 21 | 工作经历: 22 | 23 | \section*{已发表(或正式接受)的学术论文:} 24 | 25 | { 26 | \setlist[enumerate]{}% restore default behavior 27 | \begin{enumerate}[nosep] 28 | \item 已发表的工作1 29 | \item 已发表的工作2 30 | \end{enumerate} 31 | } 32 | 33 | \section*{申请或已获得的专利:} 34 | 35 | (无专利时此项不必列出) 36 | 37 | \section*{参加的研究项目及获奖情况:} 38 | 39 | 40 | \cleardoublepage[plain]% 让文档总是结束于偶数页,可根据需要设定页眉页脚样式,如 [noheaderstyle] 41 | %---------------------------------------------------------------------------% 42 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/Chap_Guide.tex: -------------------------------------------------------------------------------- 1 | \chapter{LaTeX使用说明}\label{chap:guide} 2 | 3 | { 4 | 为方便使用及更好地展示LaTeX排版的优秀特性,ucasthesis的框架和文件体系进行了细致地处理,尽可能地对各个功能和板块进行了模块化和封装。 5 | 6 | \section{初步设置} 7 | 8 | \begin{enumerate} 9 | \item 使用overleaf:打开并注册\href{https://cn.overleaf.com/}{overleaf}。 10 | \item 将整个文件夹上传至overleaf项目。 11 | \item 右键菜单,设置编译器为XeLaTeX,选择TexLive 2021 12 | \item 点击编译,即可预览PDF文件 13 | \end{enumerate} 14 | 编译完成即可获得本PDF说明文档。 15 | 16 | \section{文档目录简介} 17 | 18 | \subsection{Thesis.tex} 19 | 20 | Thesis.tex为主文档,其设计和规划了论文的整体框架,通过对其的阅读可以了解整个论文框架的搭建。 21 | 22 | \subsection{编译脚本} 23 | 24 | 为方便本地编译,提供bat脚本和.sh脚本分别用于windows环境和unix环境。 25 | 26 | \begin{itemize} 27 | \item Windows:双击Dos脚本artratex.bat可得全编译后的PDF文档,其存在是为了帮助不了解LaTeX编译过程的初学者跨过编译这第一道坎,请勿通过邮件传播和接收此脚本,以防范Dos脚本的潜在风险。 28 | \item Linux或MacOS:在terminal中运行 29 | \begin{itemize} 30 | \item \verb|./artratex.sh xa|:获得全编译后的PDF文档 31 | \item \verb|./artratex.sh x|:快速编译,不会生成文献引用 32 | \end{itemize} 33 | \end{itemize} 34 | 35 | 全编译指运行 \verb|xeLaTeX+bibtex+xeLaTeX+xeLaTeX| 以正确生成所有的引用链接,如目录、参考文献及引用等。在写作过程中若无添加新的引用,则可用快速编译,即只运行一遍LaTeX编译引擎以减少编译时间。 36 | 37 | \subsection{Tmp文件夹} 38 | 39 | 运行编译脚本后,编译所生成的文档皆存于Tmp文件夹内,包括编译得到的PDF文档,其存在是为了保持工作空间的整洁。 40 | 41 | \subsection{Style文件夹} 42 | 43 | 包含ucasthesis文档类的定义文件和配置文件,通过对它们的修改可以实现特定的模版设定。 44 | 45 | \begin{enumerate} 46 | \item ucasthesis.cls:文档类定义文件,论文的最核心的格式即通过它来定义的。 47 | \item ucasthesis.cfg:文档类配置文件,设定如目录显示为“目~录”而非“目录”。 48 | \item artratex.sty: 常用宏包及文档设定,如参考文献样式、文献引用样式、页眉页脚设定等。这些功能具有开关选项,常只需在Thesis.tex中进行启用即可,一般无需修改artratex.sty本身。 49 | \item artracom.sty:自定义命令以及添加宏包的推荐放置位置。 50 | \end{enumerate} 51 | 52 | \subsection{Tex文件夹} 53 | 54 | 文件夹内为论文的所有实体内容,正常情况下,这也是使用ucasthesis撰写学位论文时,主要关注和修改的一个位置,注:所有文件都必须采用UTF-8编码,否则编译后将出现乱码文本,详细分类介绍如下: 55 | 56 | \begin{itemize} 57 | \item Frontinfo.tex:为论文中英文封面信息。论文封面会根据英文学位名称如Master,Doctor自动切换为相应的格式。 58 | \item Frontmatter.tex:为论文前言内容如中英文摘要等。 59 | \item Mainmatter.tex:索引需要出现的Chapter。开始写论文时,可以只索引当前章节,以快速编译查看,当论文完成后,再对所有章节进行索引即可。 60 | \item Chap{\_}xxx.tex:为论文主体的各章,可根据需要添加和撰写。添加新章时,可拷贝一个已有的章文件再重命名,以继承文档的 UTF8 编码。 61 | \item Appendix.tex:为附录内容。 62 | \item Backmatter.tex:为发表文章信息和致谢部分等。 63 | \end{itemize} 64 | 65 | \subsection{Img文件夹} 66 | 67 | 用于放置论文中所需要的图类文件,支持格式有:.jpg, .png, .pdf。其中,\verb|ucas_logo.pdf|为国科大校徽。 68 | 69 | \subsection{Biblio文件夹} 70 | 71 | ref.bib用于放置论文中所需要参考文献信息。 72 | 73 | \section{功能介绍} 74 | 75 | \subsection{数学公式} 76 | 77 | 比如Navier-Stokes方程(方程~\eqref{eq:ns}): 78 | \begin{equation} \label{eq:ns} 79 | %\adddotsbeforeeqnnum% 80 | \begin{cases} 81 | \frac{\partial \rho}{\partial t} + \nabla\cdot(\rho\Vector{V}) = 0 \ \mathrm{times\ math\ test: 1,2,3,4,5}, 1,2,3,4,5\\ 82 | \frac{\partial (\rho\Vector{V})}{\partial t} + \nabla\cdot(\rho\Vector{V}\Vector{V}) = \nabla\cdot\Tensor{\sigma} \ \text{times text test: 1,2,3,4,5}\\ 83 | \frac{\partial (\rho E)}{\partial t} + \nabla\cdot(\rho E\Vector{V}) = \nabla\cdot(k\nabla T) + \nabla\cdot(\Tensor{\sigma}\cdot\Vector{V}) 84 | \end{cases} 85 | \end{equation} 86 | \begin{equation} 87 | %\adddotsbeforeeqnnum% 88 | \frac{\partial }{\partial t}\int\limits_{\Omega} u \, \mathrm{d}\Omega + \int\limits_{S} \unitVector{n}\cdot(u\Vector{V}) \, \mathrm{d}S = \dot{\phi} 89 | \end{equation} 90 | \[ 91 | \begin{split} 92 | \mathcal{L} \{f\}(s) &= \int _{0^{-}}^{\infty} f(t) e^{-st} \, \mathrm{d}t, \ 93 | \mathscr{L} \{f\}(s) = \int _{0^{-}}^{\infty} f(t) e^{-st} \, \mathrm{d}t\\ 94 | \mathcal{F} {\bigl (} f(x+x_{0}) {\bigr )} &= \mathcal{F} {\bigl (} f(x) {\bigr )} e^{2\pi i\xi x_{0}}, \ 95 | \mathscr{F} {\bigl (} f(x+x_{0}) {\bigr )} = \mathscr{F} {\bigl (} f(x) {\bigr )} e^{2\pi i\xi x_{0}} 96 | \end{split} 97 | \] 98 | 99 | 数学公式常用命令请见 \href{https://en.wikibooks.org/wiki/LaTeX/Mathematics}{WiKibook Mathematics}。artracom.sty中对一些常用数据类型如矢量矩阵等进行了封装,这样的好处是如有一天需要修改矢量的显示形式,只需单独修改artracom.sty中的矢量定义即可实现全文档的修改。 100 | 101 | \subsection{数学环境} 102 | 103 | \begin{axiom} 104 | 这是一个公理。 105 | \end{axiom} 106 | \begin{theorem} 107 | 这是一个定理。 108 | \end{theorem} 109 | \begin{lemma} 110 | 这是一个引理。 111 | \end{lemma} 112 | \begin{corollary} 113 | 这是一个推论。 114 | \end{corollary} 115 | \begin{assertion} 116 | 这是一个断言。 117 | \end{assertion} 118 | \begin{proposition} 119 | 这是一个命题。 120 | \end{proposition} 121 | \begin{definition} 122 | 这是一个定义。 123 | \end{definition} 124 | \begin{example} 125 | 这是一个例子。 126 | \end{example} 127 | \begin{remark} 128 | 这是一个注。 129 | \end{remark} 130 | 131 | \subsection{图} 132 | 133 | 论文中图片的插入通常分为单图和多图,下面分别加以介绍: 134 | 135 | 单图插入:假设插入名为\verb|c06h06|(后缀可以为.jpg、.png和.pdf,下同)的图片,其效果如图~\ref{fig:c06h06}。 136 | \begin{figure}[!htbp] 137 | \centering 138 | \includegraphics[width=0.40\textwidth]{c06h06} 139 | \bicaption{\enspace 样图}{\enspace Sample Figure} 140 | \fignote{对图片的注释} 141 | \label{fig:c06h06} 142 | 143 | \end{figure} 144 | 145 | 如果插图的空白区域过大,以图片\verb|c06h06|为例,自动裁剪如图~\ref{fig:c06h06_trim}。 146 | \begin{figure}[!htbp] 147 | \centering 148 | %trim option's parameter order: left bottom right top 149 | \includegraphics[trim = 60mm 80mm 60mm 60mm, clip, width=0.40\textwidth]{c06h06} 150 | \bicaption{\enspace 自动裁切测试}{\enspace Auto-Crop Test} 151 | \label{fig:c06h06_trim} 152 | \end{figure} 153 | 154 | 多图的插入如图~\ref{fig:oaspl},多图不应在子图中给文本子标题,只要给序号,并在主标题中进行引用说明。 155 | \begin{figure}[!htbp] 156 | \centering 157 | \begin{subfigure}[b]{0.35\textwidth} 158 | \includegraphics[width=\textwidth]{oaspl_a} 159 | \caption{} 160 | \label{fig:oaspl_a} 161 | \end{subfigure}% 162 | ~% add desired spacing 163 | \begin{subfigure}[b]{0.35\textwidth} 164 | \includegraphics[width=\textwidth]{oaspl_b} 165 | \caption{} 166 | \label{fig:oaspl_b} 167 | \end{subfigure} 168 | \\% line break 169 | \begin{subfigure}[b]{0.35\textwidth} 170 | \includegraphics[width=\textwidth]{oaspl_c} 171 | \caption{} 172 | \label{fig:oaspl_c} 173 | \end{subfigure}% 174 | ~% add desired spacing 175 | \begin{subfigure}[b]{0.35\textwidth} 176 | \includegraphics[width=\textwidth]{oaspl_d} 177 | \caption{} 178 | \label{fig:oaspl_d} 179 | \end{subfigure} 180 | \bicaption{\enspace 多子图测试}{\enspace A test for multi-subfig} 181 | \label{fig:oaspl} 182 | \end{figure} 183 | 184 | \subsection{表} 185 | 186 | 请见表~\ref{tab:sample}。 187 | \begin{table}[!htbp] 188 | \bicaption{\enspace 这是一个样表}{\enspace This is a sample table} 189 | \label{tab:sample} 190 | \centering 191 | \footnotesize% fontsize 192 | \setlength{\tabcolsep}{4pt}% column separation 193 | \renewcommand{\arraystretch}{1.2}%row space 194 | \begin{tabular}{lcccccccc} 195 | \hline 196 | 行号 & \multicolumn{8}{c}{跨多列的标题}\\ 197 | %\cline{2-9}% partial hline from column i to column j 198 | \hline 199 | Row 1 & $1$ & $2$ & $3$ & $4$ & $5$ & $6$ & $7$ & $8$\\ 200 | Row 2 & $1$ & $2$ & $3$ & $4$ & $5$ & $6$ & $7$ & $8$\\ 201 | Row 3 & $1$ & $2$ & $3$ & $4$ & $5$ & $6$ & $7$ & $8$\\ 202 | Row 4 & $1$ & $2$ & $3$ & $4$ & $5$ & $6$ & $7$ & $8$\\ 203 | \hline 204 | \end{tabular} 205 | \end{table} 206 | 207 | 制图制表的更多范例,请见 \href{https://github.com/mohuangrui/ucasthesis/wiki}{ucasthesis 知识小站} 和 \href{https://en.wikibooks.org/wiki/LaTeX/Tables}{WiKibook Tables}。 208 | 209 | \subsection{参考文献引用} 210 | 211 | 参考文献引用过程以实例进行介绍,假设需要引用名为"Document Preparation System"的文献,步骤如下: 212 | 213 | 1)将Bib格式的参考文献信息添加到ref.bib文件中(此文件位于Biblio文件夹下),如直接粘贴自网站,请注意修改其格式。 214 | 215 | 2)索引第一行 \verb|@article{lamport1986document,|中 \verb|lamport1986document| 即为此文献的label (中文文献也必须使用英文label,一般遵照:姓氏拼音+年份+标题第一字拼音的格式),想要在论文中索引此文献,\verb|\citep{lamport1986document}|。如此处所示 \citep{lamport1986document}。 216 | 217 | 多文献索引用英文逗号隔开, 如此处所示 \citep{lamport1986document, chu2004tushu, chen2005zhulu}。 218 | 219 | 更多例子如: 220 | 221 | Walls等\citep{walls2013drought}根据Betts\citep{betts2005aging} 的研究,首次提出......理论。其中关于......的研究\citep{walls2013drought, betts2005aging},是当前中国得到迅速发展的研究领域 \citep{chen1980zhongguo, bravo1990comparative}。 222 | 223 | 不同文献样式和引用样式,如著者-出版年制(authoryear)、顺序编码制(numbers)、上标顺序编码制(super)可在Thesis.tex中对artratex.sty调用实现,详见 \href{https://github.com/mohuangrui/ucasthesis/wiki}{ucasthesis 知识小站之文献样式}。 224 | 225 | %若在上标顺序编码制(super)模式下,希望在特定位置将上标改为嵌入式标,可使用 \citetns{niu2013zonghe,stamerjohanns2009mathml} 和 \citepns{niu2013zonghe,stamerjohanns2009mathml}。 226 | 227 | 参考文献索引的更多知识,请见 \href{https://en.wikibooks.org/wiki/LaTeX/Bibliography_Management}{WiKibook Bibliography}。\nocite{*}% 使文献列表显示所有参考文献(包括未引用文献) 228 | 229 | \section{常见使用问题}\label{sec:qa} 230 | 231 | 设置文档样式: 在artratex.sty中搜索关键字定位相应命令,然后修改 232 | \begin{enumerate} 233 | \item 正文行距:启用和设置 \verb|\linespread{1.25}|,默认1.25倍行距。 234 | \item 参考文献行距:修改 \verb|\setlength{\bibsep}{0.0ex}| 235 | \item 目录显示级数:修改 \verb|\setcounter{tocdepth}{2}| 236 | \item 文档超链接的颜色及其显示:修改 \verb|\hypersetup| 237 | \end{enumerate} 238 | 239 | 文档内字体切换方法: 240 | \begin{itemize} 241 | \item 宋体:国科大论文模板ucasthesis 或 \textrm{国科大论文模板ucasthesis} 242 | \item 粗宋体:{\bfseries 国科大论文模板ucasthesis} 或 \textbf{国科大论文模板ucasthesis} 243 | \item 黑体:{\sffamily 国科大论文模板ucasthesis} 或 \textsf{国科大论文模板ucasthesis} 244 | \item 粗黑体:{\bfseries\sffamily 国科大论文模板ucasthesis} 或 \textsf{\bfseries 国科大论文模板ucasthesis} 245 | \item 仿宋:{\ttfamily 国科大论文模板ucasthesis} 或 \texttt{国科大论文模板ucasthesis} 246 | \item 粗仿宋:{\bfseries\ttfamily 国科大论文模板ucasthesis} 或 \texttt{\bfseries 国科大论文模板ucasthesis} 247 | \item 楷体:{\itshape 国科大论文模板ucasthesis} 或 \textit{国科大论文模板ucasthesis} 248 | \item 粗楷体:{\bfseries\itshape 国科大论文模板ucasthesis} 或 \textit{\bfseries 国科大论文模板ucasthesis} 249 | \end{itemize} 250 | 251 | 对附录的引用,如对附录\ref{chap:app1}的引用。 252 | 对附录中图表的引用,如,对附表\ref{apptab:1}的引用。 253 | \let\cleardoublepage\relax 254 | } 255 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/Chap_Intro.tex: -------------------------------------------------------------------------------- 1 | \chapter{绪论}\label{chap:introduction}{ 2 | 3 | \section{背景} 4 | 5 | 2022年修订的《中国科学院大学研究生学位论文撰写规范和指导意见》(以下简称《指导意见》)从2023年冬季批次开始实施。为方便各位同学使用,特提供此模板。 6 | 7 | 您在使用此模板进行学位论文撰写时,只需根据《指导意见》在相应章节填写具体内容即可。 8 | 9 | 本模板在第2章提供了本模板的使用说明,在第3章中提供了《指导意见》中关于内容和格式的部分要求,请仔细阅读。 10 | 11 | 12 | \section{系统要求}\label{sec:system} 13 | \begin{table} 14 | \bicaption{\enspace 支持的LaTeX编译系统和编辑器}{\enspace Supported LaTeX compiler and editor}% caption 15 | \footnotesize% fontsize 16 | \setlength{\tabcolsep}{4pt}% column separation 17 | \renewcommand{\arraystretch}{1.5}% row space 18 | \centering 19 | \begin{tabular}{lcc} 20 | \hline 21 | %\multicolumn{num_of_cols_to_merge}{alignment}{contents} \\ 22 | %\cline{i-j}% partial hline from column i to column j 23 | 操作系统 & LaTeX编译系统 & LaTeX文本编辑器\\ 24 | \hline 25 | Windows & \href{https://www.tug.org/texlive/acquire-netinstall.html}{TexLive Full} 或 \href{https://miktex.org/download}{MiKTex} & \href{http://www.xm1math.net/texmaker/}{Texmaker}\\ 26 | Linux & \href{https://www.tug.org/texlive/acquire-netinstall.html}{TexLive Full} & \href{http://www.xm1math.net/texmaker/}{Texmaker} 或 Vim\\ 27 | MacOS & \href{https://www.tug.org/mactex/}{MacTex Full} & \href{http://www.xm1math.net/texmaker/}{Texmaker} 或 Texshop\\ 28 | Overleaf & XeLaTeX+TexLive2021 & Overleaf \\ 29 | \hline 30 | \end{tabular} 31 | \label{tab:compiler} 32 | \end{table} 33 | \href{https://github.com/mohuangrui/ucasthesis}{\texttt{ucasthesis}} 宏包可以在目前主流的 \href{https://en.wikibooks.org/wiki/LaTeX/Introduction}{LaTeX} 编译系统中使用,如TexLive和MiKTeX。因CTex套装已停止维护,\textbf{不再建议使用} (请勿混淆CTex套装与ctex宏包。CTex套装是集成了许多LaTeX组件的LaTeX编译系统。 \href{https://ctan.org/pkg/ctex?lang=en}{ctex} 宏包如同ucasthesis,是LaTeX命令集,其维护状态活跃,并被主流的LaTeX编译系统默认集成,是几乎所有LaTeX中文文档的核心架构)。推荐的 \href{https://en.wikibooks.org/wiki/LaTeX/Installation}{LaTeX编译系统} 和 \href{https://en.wikibooks.org/wiki/LaTeX/Installation}{LaTeX文本编辑器} 为LaTeX编译系统见表~\ref{tab:compiler}。请从各软件官网下载安装程序,勿使用不明程序源。LaTeX编译系统和LaTeX编辑器分别安装成功后,即完成了LaTeX的系统配置,无需其他手动干预和配置。若系统原带有旧版的LaTeX编译系统并想安装新版,请\textbf{先卸载干净旧版再安装新版}。 34 | 35 | 使用overleaf在线编辑是一种简单有效的方法,对于绝大多数初学者来说,我们推荐使用这种无需进行系统配置的方式。在操作时,只需将压缩包上传至网站即可,无需在本地配置环境,同时支持多人,多地撰写论文。 36 | 37 | 本模板兼容操作系统:Windows、Linux、MacOS、Overleaf在线编辑器,支持多种LaTeX编译引擎(pdfLaTeX、xeLaTeX、luaLaTeX)。} 38 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/Chap_UCAS.tex: -------------------------------------------------------------------------------- 1 | \chapter{中国科学院大学 2 | 研究生学位论文撰写规范指导意见(节选)}{ 3 | { 4 | \let\cleardoublepage\relax 5 | } 6 | 学位论文是研究生在掌握已有的科学知识的基础上,运用科学思维和一定的科学方法、技术与工具,面向特定的科学领域所存在的科学问题,开展创新性研究而产生的科学研究成果。 7 | 8 | 学位论文是研究生科研工作成果的集中体现,是评判学位申请者学术水平、授予其学位的主要依据,是科研领域重要的文献资料。撰写学位论文是对研究生科学研究能力的基本训练,是研究生学业与研究成效的基本检验,也是科研与创新能力的重要体现。 9 | 10 | 为提高研究生学位论文的撰写质量,促进学位论文在内容和格式上的规范化,参照《学位论文编写规则》(GB/T 7713.1—2006)、《信息与文献 参考文献著录规则》(GB/T 7714—2015)和《学术出版规范 期刊学术不端行为界定》(CY/T 174—2019)等国家有关标准,特制定本指导意见(2021年修订)。各学科群学位评定分委员会(以下简称各学科群分会)可结合本学科领域的特点,参考本指导意见,制订符合本学科领域特点与要求的学位论文撰写具体要求。 11 | 12 | 本指导意见从2023年冬季批次开始实施。 13 | 14 | \section{组成及要求} 15 | 学位论文一般由以下几个部分组成:封面、原创性声明及授权使用声明、摘要、目录、符号说明(若有)、正文、参考文献、附录(若有)、致谢、作者简历及攻读学位期间发表的学术论文与其他相关学术成果等。 16 | \subsection{封面} 17 | 一律采用中国科学院大学规定的统一中英文封面,封面包含内容如下: 18 | 19 | \begin{enumerate} 20 | \item 密级,涉密或延迟公开论文必须在论文封面标注密级,同时注明保密年限。公开论文不标注密级,可删除此行。 21 | \item 论文题目,应简明扼要地概括和反映整个论文的核心内容,一般不宜超过25个汉字(符),英文题目一般不应超过150个字母,必要时可加副标题。题目中应尽量避免使用缩略词、首字母缩写词、字符、代号和公式等。 22 | \item 作者姓名,根据《中国人名汉语拼音字母拼写规则》(GB/T 28039—2011),英文封面中的姓和名分写,姓在前,名在后,姓名之间用空格分开。姓和名需写全拼,姓全大写,名首字母大写。外国留学生姓名书写顺序以护照格式为准,字母全部大写。 23 | \item 指导教师,需同时填写导师姓名、专业技术职务和工作单位。如果有多位导师(均需经培养单位批准,并在学籍系统备案),第一导师在前,第二导师等依次在后。学位论文在指导小组的指导下完成的,应注明指导小组成员相应信息。 24 | \item 学位类别,包括学科门类(学术型)或专业学位类别以及学位级别。学科门类如理学、医学等,专业学位类别如应用统计、工商管理等。学位级别包括硕士、博士。 25 | \item 学科专业,填写攻读学位的一级学科/二级学科或专业学位类别/领域全称,须与学籍信息一致,不可用简写。 26 | \item 培养单位,填写就读研究所或学院、系全称,如中国科学院××研究所、中国科学院大学××学院。 27 | \item 时间,填写论文提交学位授予单位的年月,使用阿拉伯数字标注。一般夏季申请学位的论文标注6月,冬季申请学位的论文标注12月。例如:2023年6月,2023年12月。 28 | \end{enumerate} 29 | 30 | \subsection{原创性声明及授权使用声明} 31 | 本部分内容提供统一的模版,提交时作者和导师须亲笔签名。如遇导师无法签字时,培养单位应做出适当处理。 32 | \subsection{摘要和关键词} 33 | 论文摘要包括中文摘要和英文摘要(Abstract)两部分。论文摘要应概括地反映出本论文的主要内容,说明本论文的主要研究目的、内容、方法、结论。要突出本论文的创造性成果或新见解,不宜使用公式、图表、表格或其他插图材料,不标注引用文献。中文摘要的字数由各学科群分会根据本分会涉及学科专业的特点提出具体要求。英文摘要与中文摘要内容应保持一致。留学生用其他语种撰写学位论文时,应有详细的中文摘要,字数由各学科群分会具体制定,建议一般不少于5000字。 34 | 35 | 摘要最后注明本文的关键词(3~5个)。关键词是为了文献标引和检索工作,从论文中选取出来,用以表示全文主题内容信息的单词或术语。关键词以显著的字符另起一行并隔行排列于摘要下方,左顶格,中文关键词间用中文逗号隔开。英文关键词应与中文关键词对应,首字母应大写,用英文逗号隔开。 36 | 37 | 摘要应另起一页,与正文前的内容连续编页(用罗马字符)。 38 | \subsection{目录} 39 | 目录应包括论文正文中的全部内容的标题,以及参考文献、附录(若有)和致谢等,不包括中英文摘要。目录页由论文的章、条、附录等序号、名称和页码组成。正文章节题名要求最多编到第三级标题,即×.×.×(如1.1.1)。一级标题顶格书写,二级标题缩进一个汉字符位置,三级标题缩进两个汉字符位置。论文中若有图表,应有图表目录,置于目录页之后,另页编排。图表目录应有序号、图题或表题和页码。 40 | 41 | 目录应另起一页,与正文前的内容连续编页(用罗马字符)。 42 | \subsection{符号说明(若有)} 43 | 如果论文中使用了大量的物理量符号、标志、缩略词、专门计量单位、自定义名词和术语等,应编写成注释说明汇集表。若上述符号等使用数量不多,可以不设此部分,但必须在论文中首次出现时加以说明。 44 | 论文中若有符号说明,应置于目录之后、正文之前,另起一页,与正文前的内容连续编页(用罗马字符)。 45 | \subsection{正文} 46 | 正文一般包括绪论、论文主体、研究结论与展望等部分。 47 | 48 | \begin{enumerate} 49 | \item 绪论应包括选题的背景和意义,国内外相关研究成果与进展述评,本论文所要解决的科学与技术问题、所运用的主要理论和方法、基本思路和论文结构等。绪论应独立成章,用足够的文字叙述,不与摘要雷同。要实事求是,不夸大也不弱化前人的工作和自己的工作。 50 | \item 论文主体是正文的核心部分,占主要篇幅,它是将学习和研究过程中调查、观察和测试所获得的材料和数据,经过思考判断、加工整理和分析研究,进而形成论点。依据学科专业及具体选题,论文主体可以有不同的表现形式,可以按照章与节的结构表述,也可以按照“研究背景与意义—研究方法与过程—研究结果与讨论”的表述形式组织论文。但主体内容必须实事求是,客观诚实,准确完备,合乎逻辑,层次分明,简明可读。 51 | \item 研究结论是对整个论文主要成果的总结,不是正文中各章小结的简单重复,应准确、完整、明确、精炼。应明确凝练出本研究的主要创新点,对论文的学术价值和应用价值等加以分析和评价,说明本项研究的局限性或研究中尚难解决的问题,并提出今后进一步在本研究方向进行研究工作的设想或建议。结论部分应严格区分本人研究成果与他人科研成果的界限。 52 | \end{enumerate} 53 | \subsection{参考文献} 54 | 本着严谨求实的科学态度撰写论文,凡学位论文中有引用或参考、借鉴他人思想或成果之处,均应按一定的引用规范,列于文末(通篇正文之后),参考文献部分应与正文的文献引用一一对应,注重合理引用,严禁抄袭剽窃等学术不端行为。 55 | \subsection{附录(若有)} 56 | 主要列入正文内过分冗长的公式推导、供查读方便所需的辅助性数学工具或表格、数据图表、程序全文及说明、调查问卷、实验说明等。 57 | \subsection{致谢} 58 | 对给予各类资助、指导和协助完成研究工作,以及提供各种对论文工作有利条件的单位及个人表示感谢。致谢应实事求是,切忌浮夸与庸俗之词。致谢末尾应具日期,日期与论文封面一致。 59 | \subsection{作者简历及攻读学位期间发表的学术论文与其他相关学术成果} 60 | 作者简历应包括从大学起到申请学位时的个人学习工作经历。按学术论文发表的时间顺序,列出作者本人在攻读学位期间发表或已录用的学术论文清单(著录格式同参考文献)。其他相关学术成果可以是申请的专利、获得的奖项及完成的项目等代表本人学术成就的各类成果。 61 | 62 | 63 | \section{撰写要求} 64 | 65 | \subsection{学位论文基本要求} 66 | 学位论文必须是一篇系统的、完整的学术论文,遵循既定的学术规范与要求,不仅要符合学位论文的形式规范,更要符合学位论文的质量规范。做到:学术观点明确,立论正确,方法科学,材料翔实,数据可靠,推理严谨,论证充分,引用规范,结构合理,层次分明,文字通顺,表达准确,学风严谨。研究成果体现作者独到的学术见解、科学论证与创新性结论,表明作者掌握了坚实的基础理论和系统的专门知识,具有独立地从事科学研究的能力。 67 | 68 | 硕士学位论文选题应为本学科重要领域,有一定的理论意义或应用价值;在理论或方法上有一定的创新,解决了科学或生产实践中某一项重要的问题,取得重要的研究成果,具有较好的社会效益或应用前景。 69 | 70 | 博士学位论文选题应为本学科前沿领域,有重要的理论意义或应用价值;在理论或方法上有较大的创新,解决了科学或生产实践中某一项重大的问题,取得突破性的研究成果,具有重要的社会效益或应用前景。 71 | 72 | \subsection{论文原创性要求} 73 | 74 | 学位论文应为学位申请者在导师的指导下独立完成的科学研究成果,为作者本人的原创性成果,系研究生经过多年的专业学习和科学研究,运用科学思维、科学方法或工具,探索科学领域中的某一科学问题,提出问题,分析问题,解决问题。学位论文中要有清晰完整的文献综述,但不能以文献综述来代替学位论文。论文引用规范合理,没有伪造、篡改、剽窃、他人代写、论文买卖及其它学术不端行为。 75 | 76 | \subsection{论文创新性要求} 77 | 78 | 学位论文的研究既包括创造知识,即创新、发现和发明,是对未知世界及其规律的探索,也包括整理知识,即对已有知识分析整理,使其规范化、系统化,是对已有知识的传承。创新活动,贯穿了学位论文研究与写作的全过程,如提出新的学术思想、科学概念、假说、学说、定理、定律,设计新的观察方法和实验手段,建立新的科学模型,研制出新的产品,设计出新的工艺流程,发现新的物种等。学位论文的价值在于探索未知,发现科学发展中的规律与特征。学位论文要体现其应有的严谨性与探索性,在原创性的基础上实现对已有知识的超越、突破或颠覆,发现前所未有的科学问题,提出前所未有的分析论证,得出前所未有的科学结论。 79 | 80 | \subsection{学位论文的字数要求} 81 | 学位论文最重要的意义在于其学术研究的创新性,应将学位论文的质量水平作为主要考量,不以字数多少作为特别要求,但各学科群分会可根据本领域涉及的学科专业特点做相应规定。 82 | 83 | \subsection{文字、标点符号和数字} 84 | 85 | 除外国来华留学生、外语专业研究生以及特殊需要外,学位论文一律用国家正式公布实施的简化汉字书写。标点符号的用法以《标点符号用法》(GB/T 15834—2011)为准。数字用法以《出版物上数字用法》(GB/T 15835—2011)为准。 86 | 87 | 外国来华留学生可用中文或英文撰写学位论文,但应有详细的中英文摘要。外语专业的学位论文应用所学专业相应的语言撰写,摘要应使用中文和所学专业相应的语言对照撰写。 88 | 89 | 为了便于国际合作与交流,中文学位论文亦可有英文或其他文字的副本。 90 | 91 | \subsection{论文正文} 92 | 93 | \subsubsection{章节和各章标题} 94 | 论文正文须由另页右页(奇数页)开始,用阿拉伯数字连续编码,一直到全文最后。正文内部新章节无须另页右页(奇数页)开始。 95 | 论文可参考“绪论-研究背景与意义-研究方法与过程-研究结果与讨论-研究结论与展望”的结构形式撰写,各主体研究内容可分别单独成为章节并作为章节标题使用。 96 | 97 | 各章标题中尽量不采用英文缩写词,对必须采用者,应使用本行业的通用缩写词。标题中尽量不使用标点符号。 98 | \subsubsection{序号} 99 | \textbf{标题序号} 100 | 101 | 论文标题分层设序。层次以少为宜,根据实际需要选择。各层次标题一律用阿拉伯数字连续编号。以三级标题为宜,最多四级。若确需要再增加一级,以小括号形式表示;不同层次的数字之间用小圆点“.”相隔,末位数字后面不加点号,如“1.1”,“1.1.1”等;章的标题居中排版,各层次的序号均左起顶格排,序号与题名间空一个汉字符。 102 | 103 | \textbf{图表等编号} 104 | 105 | 论文中的图、表、附注、公式、算式等,一律用阿拉伯数字分章依序连续编码。其标注形式应便于互相区别,如:图1-1(第1章第一个图)、图2-2(第2章第二个图);表3-2(第3章第二个表)等。附录的图表参考正文的编号方式,如附图1-1或附表1-1。 106 | 107 | \textbf{页码} 108 | 109 | 正文页码从绪论开始按阿拉伯数字(1,2,3……)连续编排,页码应位居左页左下角、右页右下角;正文前的部分(中英文摘要、目录等)用大写罗马数字(I,II,III…)单独编排,页码位于页面下方居中。 110 | \subsubsection{页眉} 111 | 页眉从摘要开始,奇数页上标明“摘要”、“Abstract”、“目录”、“图表目录”等,偶数页上标明论文题目(英文摘要标明英文题目)。正文(即第1章开始到最后一章)的页眉,奇数页上标明每一章名称,偶数页上标明论文题目。参考文献、附录、致谢等的页眉,奇数页标明“参考文献”、“附录”、“致谢”等,偶数页标明论文题目。页眉居中设置。 112 | 113 | \subsubsection{名词和术语} 114 | 科技名词术语及设备、元件的名称,应采用全国科学技术名词审定委员会公布的权威标准或其他相关权威信息源规定的术语或名称。标准中未规定的术语要采用行业通用术语或名称。全文名词术语必须统一。一些特殊名词或新名词应在适当位置加以说明或注解。双名法的生物学名部分均为拉丁文,并为斜体字。 115 | 116 | 采用英语缩写词时,除本行业广泛应用的通用缩写词外,文中第一次出现的缩写词应该用括号注明英文原词。新的外来名词应用括号注明英语全称和缩写语。 117 | 118 | \subsubsection{量和单位} 119 | 120 | 量和单位要严格执行《国际单位制及其应用》(GB 3100-93)、《有关量、单位和符号的一般原则》(GB3101—93)有关量和单位的规定。量的符号一般为单个拉丁字母或希腊字母,并一律采用斜体(pH例外)。 121 | 122 | \subsubsection{图和表} 123 | 124 | 论文中若有图和表,应设置图表目录,先列图后列表,置于目录页后,另页编排。 125 | 126 | \textbf{(1) 图} 127 | 128 | 图片大小适当,图边界在页面范围内(图边界离页面边界距离大于页边距)。若图片中包含文字,文字大小不超过正文文字大小。 129 | 图包括曲线图、构造图、示意图、框图、流程图、记录图、地图、照片等,宜插入正文适当位置。引用的图必须注明来源。具体要求如下 130 | \begin{itemize} 131 | \item 图应具有“自明性”,即只看图、图题和图注,不阅读正文,就可理解图意。每一图应有简短确切的图题,连同图序置于图下居中。 132 | \item 图中的符号标记、代码及实验条件等,可用最简练的文字横排于图框内或图框外的某一部位作为图注说明,全文统一。图题建议用中文及英文两种文字表达。 133 | \item 照片图要求主要显示部分的轮廓鲜明,便于制版,如用放大、缩小的复制品,必须清晰,反差适中,照片上应有表示目的物尺寸的标尺。 134 | \item 图片一般设为高6cm×宽8cm,但高、宽也可根据图片量及排版需要按比例缩放。中文(宋体)英文(Times New Roman)图注为五号字,1.25倍行距。 135 | \item 文中尽量不用世界地图、全国地图!如果一定要用,凡涉国界图件(国内部分地区、全国、世界部分地区、全球)必须使用自然资源部标准地图底图(下载网址:http://bzdt.ch.mnr.gov.cn),所用底图边界要完全无修改(包括南海诸岛位置),为适应排版时图的缩放,比例尺一律用线段比例尺,而不用数字比例尺。并在图题下注明“注:该图基于自然资源部标准地图服务网站下载的审图号为GS(2021)××××号的标准地图制作,底图边界无修改。” 136 | \end{itemize} 137 | 138 | 139 | \textbf{(2) 表} 140 | 141 | 表的编排一般是内容和测试项目由左至右横读,数据依序竖排,应有自明性,引用的表必须注明来源。具体要求如下: 142 | \begin{itemize} 143 | \item 每一表应有简短确切的题名,连同表序置于表上居中。必要时,应将表中的符号、标记、代码及需说明的事项,以最简练的文字横排于表下作为表注。表题建议用中文及英文两种文字表达。 144 | \item 表内同一栏数字必须上下对齐。表内不应用“同上”、“同左”等类似词及“″”符号,一律填入具体数字或文字,表内“空白”代表无此项,“—”或“…”(因“—”可能与代表阴性反应相混)代表未发现,“0”该表实测结果为零。表内未测出值可以用“N.D. ”表示。 145 | \item 表格尽量用“三线表”,避免出现竖线,避免使用过大的表格,确有必要时可采用卧排表,正确方位应为“顶左底右”,即表顶朝左,表底朝右。表格太大需要转页时,需要在续表表头上方注明“续表”,表头也应重复排出。 146 | \item 中文(宋体)英文(Times New Roman)表注为五号字,1.25倍行距。 147 | \end{itemize} 148 | 149 | \subsubsection{表达式} 150 | 论文中的表达式需另行起,原则上应居中。若有两个以上的表达式,应从“1”开始的阿拉伯数字进行编号,并将编号置于括号内。编号采用右端对齐。表达式较多时可分章编号。 151 | 152 | 较长的表达式如必须转行,只能在+,-,×,÷,<,>等运算符之后转行,序号编于最后一行右顶格。 153 | 154 | \subsection{参考文献} 155 | 参考文献格式规范参照《信息与文献 参考文献著录规则》(GB/T 7714—2015),或可参照国际刊物通行的参考文献格式。各学科群分会可根据本学科的一般规范制定相应的参考文献格式。文后参考文献和参考文献在正文中的标注方式可采用“顺序编码制”或“著者—出版年制”。确定采用某种方法后,文后参考文献和参考文献在正文中的标注方式要对应。 156 | 157 | 文后参考文献按“顺序编码制”组织时,各篇文献应按正文部分首次引用时标注的序号依次列出;文后参考文献按“著者—出版年制”组织时,条目不排序号,先按语种分类排列,语种顺序是:中文、日文、西文、俄文、其他文种;然后按著者字序和出版年排列。中文和日文按第一著者的姓氏笔画排序,中文也可按汉语拼音字母顺序排列,西文和俄文按第一著者姓氏字母顺序排列。当一个著者有多篇文献并为第一著者时,该著者单独署名的文献排在前面(并按出版年份的先后排列),接着排该著者与其他人合写的文献。 158 | 文后参考文献加标题“参考文献”,并列入全文目录。 159 | 凡正文里标注了参考文献的,其文献都必须列入文后参考文献。文后参考文献应集中著录于正文之后,不分章节著录。 160 | 正文中未被引用但被阅读或具有补充信息的文献可集中列入附录中,其标题为“荐读书目”。 161 | 162 | 详细内容请参考《中国科学院大学研究生学位论文撰写规范指导意见》。 163 | 164 | \section{排版与印刷要求} 165 | 166 | \subsection{纸张与页面要求} 167 | \begin{table}[h] 168 | \centering 169 | \bicaption{\enspace 排版和印刷要求}{\enspace Typography and Printing Requirements} 170 | \begin{tabular}{lc} 171 | \hline 172 | %\multicolumn{num_of_cols_to_merge}{alignment}{contents} \\ 173 | %\cline{i-j}% partial hline from column i to column j 174 | 项目名称 & 要求\\ 175 | \hline 176 | 纸张&A4(210mm×297mm),幅面白色\\ 177 | 页面设置&上、下2.54cm,左、右3.17cm,页眉、页脚距页边界1.5cm\\ 178 | 封面&采用国科大统一格式\\ 179 | 页眉&宋体小五号居中,英文和阿拉伯数字用Times New Roman体\\ 180 | 页码&Times New Roman体小五号 \\ 181 | 182 | \hline 183 | \end{tabular} 184 | 185 | \label{tab:printrequirements} 186 | \end{table} 187 | 188 | \subsection{印刷及装订要求} 189 | 论文封面使用中国科学院大学统一的封面格式。学位论文用A4标准纸(210 mm×297 mm)打印、印刷或复印,按顺序装订成册。自中文摘要起双面印刷,之前部分单面印刷。中文摘要、英文摘要、目录、论文正文、参考文献、附录、致谢、作者简历及攻读学位期间发表的学术论文与其他相关学术成果等,均须由另页右页(奇数页)开始。论文必须用线装或热胶装订,不使用钉子装订。封面用纸一般为150克花纹纸(需保证论文封面印刷质量,字迹清晰、不脱落),博士学位论文封面颜色为红色,硕士学位论文封面颜色为蓝色。 190 | 191 | \subsection{书脊} 192 | 学位论文的书脊用黑体,英文和阿拉伯数字用Times New Roman体,字号一般为小四号,可根据论文厚度适当调整。上方写论文题目,中间写作者姓名,下方写“中国科学院大学”,距上下边界均为3cm左右。} -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/Frontinfo.tex: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %->> Titlepage information 3 | %---------------------------------------------------------------------------% 4 | %- 5 | %-> 中文封面信息 6 | %- 7 | \confidential{}% 密级:涉密论文或延迟公开论文填写 8 | \schoollogo[scale=0.095]{ucas_logo}% 校徽 9 | \title{中国科学院大学学位论文 LaTeX 模板 }% 论文中文题目 10 | \author{论文作者}% 论文作者 11 | \advisor{李四\quad 教授\quad 中国科学院xxx研究所\\}% 指导教师:姓名 专业技术职务 工作单位 12 | %\advisor{指导教师一\\指导教师二\\指导教师三}% 多行指导教师示例 13 | \degree{博士}% 学位:学士、硕士、博士 14 | \degreetype{工学}% 学位类别:理学、工学、工程、医学等 15 | \major{计算机应用技术}% 一级/二级学科专业名称,领域名称需要与学籍信息一致 16 | \institute{中国科学院xxx研究所}% 院系名称 17 | %\institute{中国科学院力学研究所\\流固耦合实验室}% 多行院系名称示例 18 | \date{2023~年~6~月}% 毕业日期:夏季为6月、冬季为12月 19 | %- 20 | %-> 英文封面信息 21 | %- 22 | \TITLE{LaTeX Thesis Template of UCAS}% 论文英文题目 23 | \AUTHOR{Author Name}% 论文作者 24 | \ADVISOR{Supervisor: Professor LI Si}% 指导教师 25 | \DEGREE{Doctor}% 学位:Bachelor, Master, Doctor, Postdoctor。封面据英文学位名称自动切换,需确保拼写准确 26 | \DEGREETYPE{Philosophy}% 学位类别:Philosophy, Natural Science, Engineering, Economics, Agriculture 等 27 | \MAJOR{Computer Applied Technology}% 二级学科专业名称 28 | \INSTITUTE{Institute of xxx,\\Chinese Academy of Sciences}% 院系名称 29 | \DATE{June 2023}% 毕业日期:夏季为June、冬季为December 30 | %---------------------------------------------------------------------------% 31 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/Frontmatter.tex: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %->> Frontmatter 3 | %---------------------------------------------------------------------------% 4 | %- 5 | %-> 生成封面 6 | %- 7 | 8 | \maketitle% 生成中文封面 9 | \MAKETITLE% 生成英文封面 10 | %- 11 | %-> 作者声明 12 | %- 13 | \makedeclaration% 生成声明页 14 | %- 15 | %-> 中文摘要 16 | %- 17 | \intobmk\chapter*{摘\quad 要}% 显示在书签但不显示在目录 18 | \setcounter{page}{1}% 开始页码 19 | \pagenumbering{Roman}% 页码符号 20 | 21 | 中文摘要、英文摘要、目录、论文正文、参考文献、附录、致谢、攻读学位期间发表的学术论文与其他相关学术成果等均须由另页右页(奇数页)开始。 22 | 23 | \keywords{中国科学院大学,学位论文,模板}% 中文关键词 24 | %- 25 | %-> 英文摘要 26 | %- 27 | \pagestyle{frontmatterstyle}% 28 | \intobmk\chapter*{Abstract}% 显示在书签但不显示在目录 29 | \pagestyle{enfrontmatterstyle}% 30 | 31 | Chinese abstracts, English abstracts, table of contents, the main contents, references, appendix, acknowledgments, author's resume and academic papers published during the degree study and other relevant academic achievements must start with another right page (odd-numbered page). 32 | 33 | %- the current style, comment all the lines in plain style definition. 34 | 35 | \KEYWORDS{University of Chinese Academy of Sciences, Thesis, LaTeX Template}% 英文关键词 36 | 37 | \cleardoublepage\pagestyle{frontmatterstyle}% 38 | 39 | %---------------------------------------------------------------------------% 40 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/Mainmatter.tex: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %->> Main content 3 | %---------------------------------------------------------------------------% 4 | \renewcommand{\thefigure}{\thechapter-\arabic{figure}} 5 | \renewcommand{\thetable}{\thechapter-\arabic{table}} 6 | \renewcommand{\theequation}{\thechapter-\arabic{equation}} 7 | \input{Tex/Chap_Intro} 8 | \input{Tex/Chap_Guide} 9 | \input{Tex/Chap_UCAS} 10 | %---------------------------------------------------------------------------% 11 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/Prematter.tex: -------------------------------------------------------------------------------- 1 | \intobmk\chapter*{符号列表}% 显示在书签但不显示在目录 2 | 3 | \section*{字符} 4 | \nomenclatureitem[\textbf{Unit}]{\textbf{Symbol}}{\textbf{Description}} 5 | \nomenclatureitem[$\Unit{m^{2} \cdot s^{-2} \cdot K^{-1}}$]{$R$}{the gas constant} 6 | \nomenclatureitem[$\Unit{m^{2} \cdot s^{-2} \cdot K^{-1}}$]{$C_v$}{specific heat capacity at constant volume} 7 | \nomenclatureitem[$\Unit{m^{2} \cdot s^{-2} \cdot K^{-1}}$]{$C_p$}{specific heat capacity at constant pressure} 8 | \nomenclatureitem[$\Unit{m^{2} \cdot s^{-2}}$]{$E$}{specific total energy} 9 | \nomenclatureitem[$\Unit{m^{2} \cdot s^{-2}}$]{$e$}{specific internal energy} 10 | \nomenclatureitem[$\Unit{m^{2} \cdot s^{-2}}$]{$h_T$}{specific total enthalpy} 11 | \nomenclatureitem[$\Unit{m^{2} \cdot s^{-2}}$]{$h$}{specific enthalpy} 12 | \nomenclatureitem[$\Unit{kg \cdot m \cdot s^{-3} \cdot K^{-1}}$]{$k$}{thermal conductivity} 13 | \nomenclatureitem[$\Unit{kg \cdot m^{-1} \cdot s^{-2}}$]{$S_{ij}$}{deviatoric stress tensor} 14 | \nomenclatureitem[$\Unit{kg \cdot m^{-1} \cdot s^{-2}}$]{$\tau_{ij}$}{viscous stress tensor} 15 | \nomenclatureitem[$\Unit{1}$]{$\delta_{ij}$}{Kronecker tensor} 16 | \nomenclatureitem[$\Unit{1}$]{$I_{ij}$}{identity tensor} 17 | 18 | \section*{算子} 19 | \nomenclatureitem{\textbf{Symbol}}{\textbf{Description}} 20 | \nomenclatureitem{$\Delta$}{difference} 21 | \nomenclatureitem{$\nabla$}{gradient operator} 22 | \nomenclatureitem{$\delta^{\pm}$}{upwind-biased interpolation scheme} 23 | 24 | \section*{缩写} 25 | \nomenclatureitem{CFD}{Computational Fluid Dynamics} 26 | \nomenclatureitem{CFL}{Courant-Friedrichs-Lewy} 27 | \nomenclatureitem{EOS}{Equation of State} 28 | \nomenclatureitem{JWL}{Jones-Wilkins-Lee} 29 | \nomenclatureitem{WENO}{Weighted Essentially Non-oscillatory} 30 | \nomenclatureitem{ZND}{Zel'dovich-von Neumann-Doering} 31 | 32 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Tex/figuretable.tex: -------------------------------------------------------------------------------- 1 | { 2 | \cleardoublepage 3 | { 4 | \let\clearpage\relax % Do nothing when a \clearpage command appears 5 | \let\cleardoublepage\relax 6 | 7 | \renewcommand*{\addvspace}[1]{} 8 | \let\oldnumberline\numberline% 9 | \renewcommand{\numberline}{\figurename~\oldnumberline}% 10 | 11 | \listoffigures 12 | \let\clearpage\relax % Do nothing when a \clearpage command appears 13 | \let\cleardoublepage\relax 14 | \renewcommand{\numberline}{\appfigname~\oldnumberline}% 15 | \vspace{-27pt} 16 | \listofappfigs 17 | } 18 | { 19 | 20 | \let\clearpage\relax % Do nothing when a \clearpage command appears 21 | \let\cleardoublepage\relax 22 | \renewcommand*{\addvspace}[1]{} 23 | \let\oldnumberline\numberline% 24 | \renewcommand{\numberline}{\tablename~\oldnumberline}% 25 | \listoftables 26 | 27 | \renewcommand{\numberline}{\apptabname~\oldnumberline}% 28 | \vspace{-27pt} 29 | \listofapptabs 30 | } 31 | 32 | 33 | } -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/Thesis.tex: -------------------------------------------------------------------------------- 1 | %---------------------------------------------------------------------------% 2 | %- -% 3 | %- LaTeX Template -% 4 | %- -% 5 | %---------------------------------------------------------------------------% 6 | %- Copyright (C) Huangrui Mo <huangrui.mo@gmail.com> 7 | %- This is free software: you can redistribute it and/or modify it 8 | %- under the terms of the GNU General Public License as published by 9 | %- the Free Software Foundation, either version 3 of the License, or 10 | %- (at your option) any later version. 11 | %---------------------------------------------------------------------------% 12 | %->> Document class declaration 13 | %---------------------------------------------------------------------------% 14 | \documentclass[twoside]{Style/ucasthesis}% 15 | %- Multiple optional arguments: 16 | %- [<oneside|twoside|print>]% oneside eprint, twoside eprint, or paper print 17 | %- [fontset=<adobe|none|...>]% specify font set instead of automatic detection 18 | %- [scheme=plain]% thesis writing of international students 19 | %- [draftversion]% show draft version information 20 | %- [standard options for ctex book class: draft|paper size|font size|...]% 21 | %---------------------------------------------------------------------------% 22 | %->> Document settings 23 | %---------------------------------------------------------------------------% 24 | \usepackage{caption} 25 | \usepackage[super,numbers, list,table,math]{Style/artratex} 26 | %- usage: \usepackage[option1,option2,...,optionN]{artratex} 27 | %- Multiple optional arguments: 28 | %- [bibtex|biber]% set bibliography processor and package 29 | %- [<numbers|super|authoryear|alpha>]% set citation and reference style 30 | %- <numbers>: textual: Jones [1]; parenthetical: [1] 31 | %- <super>: textual: Jones superscript [1]; parenthetical: superscript [1] 32 | %- <authoryear>: textual: Jones (1995); parenthetical: (Jones, 1995) 33 | %- <alpha>: textual: not available; parenthetical: [Jon95] 34 | %- [geometry]% reconfigure page layout via geometry package 35 | %- [lscape]% provide landscape layout environment 36 | %- [xhf]% disable header and footer via fancyhdr package 37 | %- [color]% provide color support via xcolor package 38 | %- [background]% enable page background 39 | %- [tikz]% provide complex diagrams via tikz package 40 | %- [table]% provide complex tables via ctable package 41 | %- [list]% provide enhanced list environments for algorithm and coding 42 | %- [math]% enable some extra math packages 43 | %- [xlink]% disable link colors 44 | \usepackage{Style/artracom}% user defined commands 45 | %---------------------------------------------------------------------------% 46 | %->> Document inclusion 47 | %---------------------------------------------------------------------------% 48 | %\includeonly{Tex/Chap_1,...,Tex/Chap_N}% selected files compilation 49 | %---------------------------------------------------------------------------% 50 | %->> Document content 51 | %---------------------------------------------------------------------------% 52 | %- 53 | %-> Titlepage information 54 | %- 55 | 56 | \input{Tex/Frontinfo}% 57 | \begin{document} 58 | %- 59 | %-> Frontmatter: title page, abstract, content list, symbol list, preface 60 | %- 61 | 62 | \frontmatter% initialize the environment 63 | 64 | \input{Tex/Frontmatter}% title page, abstract 65 | 66 | {% content list region 67 | \linespread{1.2}% local line space 68 | \intobmk*{\cleardoublepage}{\contentsname}% add link to bookmark 69 | \newpage 70 | 71 | \tableofcontents% content catalog 72 | \intobmk*{\cleardoublepage}{图表目录} 73 | \pagestyle{figureheader} 74 | \input{Tex/figuretable} 75 | 76 | } 77 | \thispagestyle{figureheader} 78 | \input{Tex/Prematter}% symbol list, preface content 79 | %- 80 | %-> Mainmatter 81 | %- 82 | \mainmatter% initialize the environment 83 | 84 | \input{Tex/Mainmatter}% main content 85 | %- 86 | %-> Appendix 87 | %- 88 | 89 | %- 90 | %-> Backmatter: bibliography, glossary, index 91 | %- 92 | 93 | \intotoc*{\cleardoublepage}{\bibname}% add link to toc 94 | \artxifstreq{\artxbib}{bibtex}{% enable bibtex 95 | \bibliography{Biblio/ref}% bibliography 96 | }{% 97 | \printbibliography% bibliography 98 | } 99 | \cleardoublepage% 100 | \appendix% initialize the environment 101 | \input{Tex/Appendix}% appendix content 102 | 103 | \thispagestyle{appendixheader} 104 | \backmatter% initialize the environment 105 | \input{Tex/Backmatter}% other information 106 | \end{document} 107 | %---------------------------------------------------------------------------% 108 | 109 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/artratex.bat: -------------------------------------------------------------------------------- 1 | @rem ------------------------------------------------ 2 | @rem LaTeX Automated Compiler 3 | @rem <By Huangrui Mo> 4 | @rem Copyright (C) Huangrui Mo <huangrui.mo@gmail.com> 5 | @rem This is free software: you can redistribute it 6 | @rem and/or modify it under the terms of the GNU General 7 | @rem Public License as published by the Free Software 8 | @rem Foundation, either version 3 of the License, or 9 | @rem (at your option) any later version. 10 | @rem ------------------------------------------------ 11 | @echo off 12 | @rem ------------------------------------------------ 13 | @rem ->> Set tex compiler 14 | @rem ------------------------------------------------ 15 | set CompilerOrder="2" 16 | @rem ------------------------------------------------ 17 | if %CompilerOrder% == "1" ( 18 | set CompileName="pdflatex" 19 | ) else ( 20 | set CompileName="xelatex" 21 | ) 22 | @rem ------------------------------------------------ 23 | @rem ->> Get source filename 24 | @rem ------------------------------------------------ 25 | for %%F in (*.tex) do ( 26 | set FileName=%%~nF 27 | ) 28 | @rem ------------------------------------------------ 29 | @rem ->> Set directory 30 | @rem ------------------------------------------------ 31 | if not exist "./Tmp" ( 32 | md Tmp 33 | ) 34 | @rem ------------------------------------------------ 35 | @rem ->> Set environmental variables 36 | @rem ------------------------------------------------ 37 | set TEXINPUTS=.//;%TEXINPUTS% 38 | set BIBINPUTS=.//;%BIBINPUTS% 39 | set BSTINPUTS=.//;%BSTINPUTS% 40 | @rem ------------------------------------------------ 41 | @rem ->> Build textual content 42 | @rem ------------------------------------------------ 43 | %CompileName% -output-directory=Tmp %FileName% 44 | @rem ------------------------------------------------ 45 | @rem ->> Build references and links 46 | @rem ------------------------------------------------ 47 | bibtex ./Tmp/%FileName% 48 | %CompileName% -output-directory=Tmp %FileName% 49 | %CompileName% -output-directory=Tmp %FileName% 50 | @rem ------------------------------------------------ 51 | @rem ->> View compiled file 52 | @rem ------------------------------------------------ 53 | @rem start " " /max "./Tmp/%FileName%.pdf" 54 | echo ------------------------------------------------ 55 | echo %CompileName% %FileName%.tex finished... 56 | echo ------------------------------------------------ 57 | -------------------------------------------------------------------------------- /中国科学院大学学位论文LaTeX模板2022/artratex.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | #---------------------------------------------------------------------------# 5 | #- LaTeX Automated Compiler -# 6 | #- <By Huangrui Mo> -# 7 | #- Copyright (C) Huangrui Mo <huangrui.mo@gmail.com> -# 8 | #- This is free software: you can redistribute it and/or modify it -# 9 | #- under the terms of the GNU General Public License as published by -# 10 | #- the Free Software Foundation, either version 3 of the License, or -# 11 | #- (at your option) any later version. -# 12 | #---------------------------------------------------------------------------# 13 | 14 | #---------------------------------------------------------------------------# 15 | #->> Preprocessing 16 | #---------------------------------------------------------------------------# 17 | #- 18 | #-> Get source filename 19 | #- 20 | if [[ "$#" == "1" ]]; then 21 | FileName=`echo *.tex` 22 | elif [[ "$#" == "2" ]]; then 23 | FileName="$2" 24 | else 25 | echo "---------------------------------------------------------------------------" 26 | echo "Usage: "$0" <l|p|x>< |a|b> <filename>" 27 | echo "TeX engine parameters: <l:lualatex>, <p:pdflatex>, <x:xelatex>" 28 | echo "Bib engine parameters: < :none>, <a:bibtex>, <b:biber>" 29 | echo "---------------------------------------------------------------------------" 30 | exit 31 | fi 32 | FileName=${FileName/.tex} 33 | #- 34 | #-> Get tex compiler 35 | #- 36 | if [[ $1 == *'l'* ]]; then 37 | TexCompiler="lualatex" 38 | else 39 | if [[ $1 == *'p'* ]]; then 40 | TexCompiler="pdflatex" 41 | else 42 | TexCompiler="xelatex" 43 | fi 44 | fi 45 | #- 46 | #-> Get bib compiler 47 | #- 48 | if [[ $1 == *'a'* ]]; then 49 | BibCompiler="bibtex" 50 | elif [[ $1 == *'b'* ]]; then 51 | BibCompiler="biber" 52 | else 53 | BibCompiler="" 54 | fi 55 | #- 56 | #-> Set compilation out directory resembling the inclusion hierarchy 57 | #- 58 | Tmp="Tmp" 59 | Tex="Tex" 60 | if [[ ! -d $Tmp/$Tex ]]; then 61 | mkdir -p $Tmp/$Tex 62 | fi 63 | #- 64 | #-> Set LaTeX environmental variables to add subdirs into search path 65 | #- 66 | export TEXINPUTS=".//:$TEXINPUTS" # paths to locate .tex 67 | export BIBINPUTS=".//:$BIBINPUTS" # paths to locate .bib 68 | export BSTINPUTS=".//:$BSTINPUTS" # paths to locate .bst 69 | #---------------------------------------------------------------------------# 70 | #->> Compiling 71 | #---------------------------------------------------------------------------# 72 | #- 73 | #-> Build textual content and auxiliary files 74 | #- 75 | $TexCompiler -output-directory=$Tmp $FileName || exit 76 | #- 77 | #-> Build references and links 78 | #- 79 | if [[ -n $BibCompiler ]]; then 80 | #- fix the inclusion path for hierarchical auxiliary files 81 | sed -i -e "s|\@input{|\@input{$Tmp/|g" $Tmp/"$FileName".aux 82 | #- extract and format bibliography database via auxiliary files 83 | $BibCompiler $Tmp/$FileName 84 | #- insert reference indicators into textual content 85 | $TexCompiler -output-directory=$Tmp $FileName || exit 86 | #- refine citation references and links 87 | $TexCompiler -output-directory=$Tmp $FileName || exit 88 | fi 89 | #---------------------------------------------------------------------------# 90 | #->> Postprocessing 91 | #---------------------------------------------------------------------------# 92 | #- 93 | #-> Set PDF viewer 94 | #- 95 | System_Name=`uname` 96 | if [[ $System_Name == "Linux" ]]; then 97 | PDFviewer="xdg-open" 98 | elif [[ $System_Name == "Darwin" ]]; then 99 | PDFviewer="open" 100 | else 101 | PDFviewer="open" 102 | fi 103 | #- 104 | #-> Open the compiled file 105 | #- 106 | $PDFviewer ./$Tmp/"$FileName".pdf || exit 107 | echo "---------------------------------------------------------------------------" 108 | echo "$TexCompiler $BibCompiler "$FileName".tex finished..." 109 | echo "---------------------------------------------------------------------------" 110 | 111 | -------------------------------------------------------------------------------- /修改记录.txt: -------------------------------------------------------------------------------- 1 | 1. 修改附图,附表的编号方式 2 | 2. 修改附录中公式的编号方式 3 | 3. 修改目录中附图,附表的名称 4 | 以上修改请参考新的Appendix.tex文件,并替换新的Style/artracom.sty文件 5 | 6 | 4. 修改作者-出版年标注法的修改方式 7 | 以上修改请替换Bibio/gbt7714-author-year.bst 8 | 9 | 5.修改附录中图表的英文图序 10 | 6. 修改对附录章节的引用 11 | 7. 修改对附录中图的图注 12 | 13 | 以上修改请替换新的 Style/artracom.sty文件 14 | 15 | 8 修改了当图表目录超页时的页眉丢失问题 16 | 9 修改了图表目录段前段后距离 17 | 18 | 以上修改请替换新的Thesis.tex文件和Tex/figuretable.tex文件 19 | 10 修改了目录行距为1.2倍 20 | 以上修改请替换Thesis.tex文件 21 | 11 修改了英文摘要页超过两页时的显示问题 22 | 12 对齐了WORD版本的页边距 --------------------------------------------------------------------------------