ThuThesis:清华大学学位论文模板薛瑞尼y清华大学计算机系高性能所zxueruini@gmail.com摘要此宏包旨在建⽴⼀个简单易⽤的清华⼤学学位论⽂模板,包括本科综合论⽂训练、硕⼠论⽂、博⼠论⽂以及博⼠后出站报告。免责声明1.本模板的发布遵守LATEXProjectPublicLicense,使⽤前请认真阅读协议内容。2.本模板为作者根据清华⼤学教务处颁发的《综合论⽂训练写作指南》,清华⼤学研究⽣院颁发的《研究⽣学位论⽂写作指南》,清华⼤学《编写“清华⼤学博⼠后研究报告”参考意见》编写⽽成,旨在供清华⼤学毕业⽣撰写学位论⽂使⽤。3.清华⼤学教务处和研究⽣院只提供毕业论⽂写作指南,不提供官⽅模板,也不会授权第三⽅模板为官⽅模板,所以此模板仅为写作指南的参考实现,不保证格式审查⽼师不提意见。任何由于使⽤本模板⽽引起的论⽂格式审查问题均与本模板作者⽆关。4.任何个⼈或组织以本模板为基础进⾏修改、扩展⽽⽣成的新的专⽤模板,请严格遵守LATEXProjectPublicLicense协议。由于违犯协议⽽引起的任何纠纷争端均与本模板作者⽆关。TsinghuaUniversityLATEXThesisTemplate.yLittleLeo@newsmthz⽬前于电⼦科技⼤学⼯作。版本:5.0时间:2015/12/24目录目录目录1模板介绍32安装32.1下载...............32.2模板的组成部分.........32.3准备⼯作............42.4开始安装............42.4.1⽣成模板........42.4.2xelatex..........42.4.3dvipdfmx........52.4.4pdflatex.........52.4.5latexmk.........52.4.6⾃动化过程.......62.5升级...............63使用说明63.1关于提问............63.2ThuThesis使⽤向导.....63.3ThuThesis⽰例⽂件.....73.4选项...............83.5字体配置............93.6命令...............103.6.1基本控制命令......103.6.2封⾯命令........123.6.3其它部分........143.7数学环境............163.8⾃定义以及其它.........174致谢175实现细节185.1基本信息............185.2定义选项............185.3装载宏包............195.4页⾯设置............215.5主⽂档格式...........225.5.1Threematters.....225.5.2字体...........235.5.3页眉页脚........255.5.4段落...........255.5.5脚注...........265.5.6数学相关........265.5.7浮动对象以及表格...285.5.8中⽂标题定义......295.5.9章节标题........305.5.10⽬录格式........335.5.11封⾯和封底.......345.5.12摘要格式........435.5.13主要符号表.......445.5.14致谢以及声明......455.5.15索引部分........455.5.16参考⽂献........465.5.17附录...........475.5.18个⼈简历........485.5.19书脊...........485.5.20索引...........495.5.21⾃定义命令和环境...495.5.22其它...........49修改记录50索引5522.2模板的组成部分2安装1模板介绍ThuThesis(TsinghuaThesis)是为了帮助清华⼤学毕业⽣撰写毕业论⽂⽽编写的LATEX论⽂模板。本⽂档将尽量完整的介绍模板的使⽤⽅法,如有不清楚之处可以参考⽰例⽂档或者根据第3.1节说明提问,有兴趣者都可以参与完善此⼿册,也⾮常欢迎对代码的贡献。说明:模板的作用在于减少论文写作过程中格式调整的时间,前提是遵守模板的用法,否则即便用了ThuThesis也难以保证输出的论文符合学校规范。2安装2.1下载ThuThesis相关链接:•主页:GitHub•下载:CTAN除此之外,不再维护任何镜像。2.2模板的组成部分下表列出了ThuThesis的主要⽂件及其功能介绍:文件(夹)功能描述thuthesis.ins模板驱动⽂件thuthesis.dtx模板⽂档代码的混合⽂件thuthesis.cls模板类⽂件thuthesis.cfg模板配置⽂件ctex-fontset-thuthesis.def中⽂字体配置⽂件thuthesis.bst参考⽂献样式⽂件main.tex⽰例⽂档主⽂件shuji.tex书脊⽰例⽂档ref/⽰例⽂档参考⽂献⽬录data/⽰例⽂档章节具体内容figures/⽰例⽂档图⽚路径thuthesis.sty为⽰例⽂档加载其它宏包Makefileself-explanationlatexmkrclatexmk配置⽂件zhfonts.py⽣成中⽂字体配置⽂件README.mdself-explanationthuthesis.pdf⽤户⼿册(本⽂档)32.3准备⼯作2安装⼏点说明:•thuthesis.cls和thuthesis.cfg可以由thuthesis.ins和thuthesis.dtx⽣成,但为了降低新⼿⽤户的使⽤难度,故将thuthesis.cls和thuthesis.cfg⽂件⼀起发布。•使⽤前阅读⽂档:thuthesis.pdf.2.3准备工作本模板⽤到的宏包⽐较多,这些包在常见的TEX系统中都有,如果没有安装请优先使⽤发⾏版⾃带的升级⼯具下载。现在的发⾏版都可以⾃动解决依赖,很少需要⼿动。2.4开始安装2.4.1生成模板说明:默认的发行包中已经包含了所有文件,可以直接使用。如果对如何生成模板文件以及模板文档不感兴趣,请跳过本小节。模板解压缩后⽣成⽂件夹thuthesis-VERSION1,其中包括:模板源⽂件(thuthesis.ins和thuthesis.dtx),参考⽂献样式thuthesis.bst,⽰例⽂档(main.tex,shuji.tex,ctex-fontset-thuthesis.def2,thuthesis.sty3,data/和figures/和ref/)。在使⽤之前需要先⽣成模板⽂件和配置⽂件(具体命令细节请参考README.md和Makefile):$cdthuthesis-VERSION#生成thuthesis.cls和thuthesis.cfg$latexthuthesis.ins#下面的命令用来生成用户手册,可以不执行$xelatexthuthesis.dtx$makeindex-sgind.ist-othuthesis.indthuthesis.idx$makeindex-sgglo.ist-othuthesis.glsthuthesis.glo$xelatexthuthesis.dtx$xelatexthuthesis.dtx%生成说明文档thuthesis.pdf2.4.2xelatex很多⽤户对LATEX命令执⾏的次数不太清楚,⼀个基本的原则是多次运⾏LATEX命令直⾄不再出现警告。下⾯给出⽣成⽰例⽂档的详细过程(#开头的⾏为注释),⾸先来看⽐较推荐的xelatex⽅式:1VERSION为版本号。2XeLATEX中⽂字体配置⽂件3可能⽤到的包以及⼀些命令定义都放在这⾥,以免thuthesis.cls过分臃肿。42.4开始安装2安装#1.发现里面的引用关系,文件后缀.tex可以省略$xelatexmain#2.编译参考文件源文件,生成bbl文件$bibtexmain#3.下面解决引用$xelatexmain$xelatexmain#此时生成完整的pdf文件XeTEX最⼤的优势就是不再需要繁琐的字体配置。ThuThesis通过xeCJK来控制中⽂字体和标点压缩。模板⾥默认⽤的是中易的六款免费字体(宋,⿊,楷,仿宋,⾪书和幼圆),因学位论⽂需求不建议替换为其他字体。如果实在必要,可以通过定制ctex-fontset-thuthesis.def⽂件中的字体⾃⾏替换。研究⽣⼀般⽤不到⾪书和幼圆字体,如果系统上没有它们,可以直接将ctex-fontset-thuthesis.def⽂件以及论⽂的.tex⽂件中相应⾏删除。字体配置参考第3.5节。2.4.3dvipdfmx如果使⽤dvipdfmx,那么需要先⽣成完整的dvi⽂件:$latexmain$bibtexmain$latexmain$latexmain在⽣成完整的dvi⽂件之后,可以⽤dvipdfmx直接得到pdf⽂件:$dvipdfmxmain2.4.4pdflatex如果使⽤PDFLATEX,按照第2.4.2节的顺序执⾏即可,只是将命令中xelatex替换为pdflatex。需要注意的是PDFLATEX不能处理常见的EPS图形,需要先⽤epstopdf将其转化成PDF。不过PDFLATEX增加了对png,jpg等标量图形的⽀持,⽐较⽅便。TeXLive⾃从2010版本起⾃动调⽤epstopdf将EPS图形转化为PDF。2.4.5latexmklatexmk命令⽀持全⾃动⽣成LATEX编写的⽂档,并且⽀持使⽤不同的⼯具链来进⾏⽣成,它会⾃动运⾏多次⼯具直到交叉引⽤都被解决。下⾯给出了⼀个⽤latexmk调⽤xelatex⽣成最终⽂档的⽰例:#一句话就够了!$latexmk-xelatexmain52.5升级3使用说明2.4.6自动化过程上⾯的例⼦只是给出⼀般情况下的使⽤⽅法。虽然命令很简单,但是每次都输⼊的话还是⾮常罗嗦的,所以ThuThesis还提供了⼀个简单的Makefile:$makeclean$makecls#生成thuthesis.cls和thuthesis.cfg$makedoc#生成说明文档thuthesis.pdf$makethesis#生成示例文档main.pdf$makeshuji#生成书脊shuji.pdfThuThesis的Makefile默认⽤latexmk调⽤xelatex编译,此外还⽀持采⽤xelatex、pdflatex和dvipdfmx⽅式编译,如有需要可以修改Makefile开头的参数设置或通过命令⾏传递参数(请参看README.md),进⼀步还可以修改latexmkrc进⾏定制。2.5升级ThuThesis升级⾮常简单,可以通过TeX发⾏版的包管理⼯具⾃动更新发⾏版,也可以下载最新的开发版,将thuthesis.ins,thuthesis.dtx和thuthesis.bst拷贝⾄⼯作⽬录覆盖相应的⽂件,然后运⾏:$latexthuthesis.ins⽣成新的类⽂件和配置⽂件即可。也可以直接拷贝thuthesis.cls,thuthesis.cfg和thuthe-sis.bst,免去上⾯命令的执⾏。3使用说明本⼿册假定⽤户已经能处理⼀般的LATEX⽂档,并对BibTEX有⼀定了解。如果从来没有接触过TEX和LATEX,建议先学习相关的基础知识。磨⼑不误砍柴⼯!3.1关于提问按照优先级推荐提问的位置如下:•GithubIssues•Tex@newsmth•ThuThesis@GoogleGroups3.2ThuThesis使用向导推荐新⽤户先看⽹上的《ThuThesis使⽤向导》幻灯⽚4,那份讲稿⽐这份⽂档简练易懂。4有点⽼了,不过还是很有帮助的。63.3ThuThesis示例⽂件3使用说明3.3ThuThesis示例文件模板核⼼⽂件有四个:thuthesis.cls,thuthesis.cfg,ctex-fontset-thuthesis.def和thu