Repository: disc0ver-csu/csu-thesis Branch: master Commit: a93d6879f1bb Files: 33 Total size: 111.6 KB Directory structure: gitextract_tjz79xkr/ ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ ├── bug_report_zh.md │ ├── feature_request.md │ ├── feature_request_zh.md │ ├── help_wanted.md │ └── help_wanted_zh.md ├── .gitignore ├── .vscode/ │ └── setting.json ├── Makefile ├── README.md ├── content/ │ ├── abstracten.tex │ ├── abstractzh.tex │ ├── acknowledgements.tex │ ├── appendix.tex │ ├── chapters/ │ │ ├── chapter1.tex │ │ ├── chapter2.tex │ │ ├── chapter3.tex │ │ ├── chapter4.tex │ │ └── chapter5.tex │ ├── content.tex │ └── info.tex ├── csuthesis.cls ├── csuthesis_main.bib ├── csuthesis_main.tex ├── docs/ │ ├── DEVELOPER_MANUAL.md │ └── GIT_GUIDE.md ├── graduate.cls ├── latexmkrc ├── translation.cls ├── undergraduate.cls └── word/ ├── 实验报告模板.docx ├── 论文模板.docx └── 附件7:中南大学毕业设计(论文)模版.doc; filename=utf-8''附件7:中南大学毕业设计(论文)模版.doc ================================================ FILE CONTENTS ================================================ ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report.md ================================================ --- name: Bug report about: Create a report to help us improve title: "[Bug] Please describe the bug" labels: ":bug: bug" assignees: "" --- #### Make sure - [ ] Upgrade the latest CSUThesis [release](https://github.com/disc0ver-csu/csu-thesis/releases) - [ ] Download and install TeXLive or other TeX distributions - [ ] Can be replicated through reinstalling the TeXLive and CSUThesis LaTeX Template #### Describe the bug #### To Reproduce #### Screenshots **Desktop (please complete the following information):** - OS: [e.g. Windows 10] - TeX Distribution: [e.g. TeXLive2020, MiKTeX2019] - TeX Editor[e.g. 22TeXStudio, Visual Studio Code] ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report_zh.md ================================================ --- name: Bug 报告 about: 创建一份 Bug 报告帮助我们优化模板 title: "" labels: ":bug: bug" assignees: "" --- #### 请确认 - [ ] 是当前最新的 CSUThesis [Release 版本](https://github.com/disc0ver-csu/csu-thesis/releases) - [ ] 本地已安装好 TeXLive 或其他 TeX 发行版 - [ ] 重新安装 TeXLive 和本模板后,问题仍然存在 #### Bug 描述 #### 复现步骤 #### 截图 **本地环境 (请补充下面信息):** - OS: [e.g. Windows 10] - TeX 发行版: [e.g. TeXLive2020, MiKTeX2019] - TeX 编辑器: [e.g. TeXStudio, Visual Studio Code] ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.md ================================================ --- name: Feature request about: Suggest an idea for this project title: '' labels: ':sparkles: enhancement' assignees: '' --- #### Is your feature request related to a problem? Please describe #### Describe the solution you'd like #### Describe alternatives you've considered ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request_zh.md ================================================ --- name: 功能需求 about: 提供你的建议帮助我们提升模板 title: '' labels: ':sparkles: enhancement' assignees: '' --- #### 请描述该需求尝试解决的问题 #### 请描述您认为可行的解决方案 #### 考虑过的替代方案 ================================================ FILE: .github/ISSUE_TEMPLATE/help_wanted.md ================================================ --- name: Help wanted about: Ask a question about use, need help title: "" labels: ":question: help wanted" --- #### Make sure - [ ] Upgrade the latest [release](https://github.com/disc0ver-csu/csu-thesis/releases) - [ ] No solution found in [README](https://github.com/disc0ver-csu/csu-thesis/blob/master/README.md) #### Describe the question #### Screenshots **Desktop (please complete the following information):** - OS: [e.g. Windows 10] - TeX Distribution: [e.g. TeXLive2020, MiKTeX2019] - TeX Editor[e.g. 22TeXStudio, Visual Studio Code] ================================================ FILE: .github/ISSUE_TEMPLATE/help_wanted_zh.md ================================================ --- name: 问题求助 about: 提出一个使用过程中遇到的问题,需要得到帮助 title: "" labels: ":question: help wanted" --- #### 请确认 - [ ] 是当前最新的 [Release 版本](https://github.com/disc0ver-csu/csu-thesis/releases) - [ ] 在项目 [README 指南](https://github.com/disc0ver-csu/csu-thesis/blob/master/README.md) 中没有找到解决办法 #### 问题描述 #### 截图 **本地环境 (请补充下面信息):** - OS: [e.g. Windows 10] - TeX 发行版: [e.g. TeXLive2020, MiKTeX2019] - TeX 编辑器: [e.g. TeXStudio, Visual Studio Code] ================================================ FILE: .gitignore ================================================ # See https://github.com/github/gitignore/blob/master/TeX.gitignore ## Core latex/pdflatex auxiliary files: *.aux *.lof *.log *.lot *.fls *.out *.toc *.fmt *.fot *.cb *.cb2 ## Intermediate documents: *.dvi *.xdv *-converted-to.* # these rules might exclude image files for figures etc. *.ps *.eps *.pdf ## Generated if empty string is given at "Please type another file name for output:" # *.pdf ## Bibliography auxiliary files (bibtex/biblatex/biber): *.bbl *.bcf *.blg *-blx.aux *-blx.bib *.run.xml ## Build tool auxiliary files: *.rar *.fdb_latexmk *.synctex *.synctex(busy) *.synctex.gz *.synctex.gz(busy) *.pdfsync ## Auxiliary and intermediate files from other packages: # algorithms *.alg *.loa # achemso acs-*.bib # amsthm *.thm # beamer *.nav *.pre *.snm *.vrb # changes *.soc # cprotect *.cpt # elsarticle (documentclass of Elsevier journals) *.spl # endnotes *.ent # fixme *.lox # feynmf/feynmp *.mf *.mp *.t[1-9] *.t[1-9][0-9] *.tfm #(r)(e)ledmac/(r)(e)ledpar *.end *.?end *.[1-9] *.[1-9][0-9] *.[1-9][0-9][0-9] *.[1-9]R *.[1-9][0-9]R *.[1-9][0-9][0-9]R *.eledsec[1-9] *.eledsec[1-9]R *.eledsec[1-9][0-9] *.eledsec[1-9][0-9]R *.eledsec[1-9][0-9][0-9] *.eledsec[1-9][0-9][0-9]R # glossaries *.acn *.acr *.glg *.glo *.gls *.glsdefs # gnuplottex *-gnuplottex-* # gregoriotex *.gaux *.gtex # hypdoc *.hd # hyperref *.brf # knitr *-concordance.tex # TODO Comment the next line if you want to keep your tikz graphics files *.tikz *-tikzDictionary # listings *.lol # makeidx *.idx *.ilg *.ind *.ist # minitoc *.maf *.mlf *.mlt *.mtc[0-9]* *.slf[0-9]* *.slt[0-9]* *.stc[0-9]* # minted _minted* *.pyg # morewrites *.mw # nomencl *.nlo # pax *.pax # pdfpcnotes *.pdfpc # sagetex *.sagetex.sage *.sagetex.py *.sagetex.scmd # scrwfile *.wrt # sympy *.sout *.sympy sympy-plots-for-*.tex/ # pdfcomment *.upa *.upb # pythontex *.pytxcode pythontex-files-*/ # thmtools *.loe # TikZ & PGF *.dpth *.md5 *.auxlock # todonotes *.tdo # easy-todo *.lod # xindy *.xdy # xypic precompiled matrices *.xyc # endfloat *.ttt *.fff # Latexian TSWLatexianTemp* ## Editors: # WinEdt *.bak *.sav # Texpad .texpadtmp # Kile *.backup # KBibTeX *~[0-9]* # VSCode # .vscode/* # auto folder when using emacs and auctex ./auto/* *.el # expex forward references with \gathertags *-tags.tex # standalone packages *.sta # See https://github.com/github/gitignore/blob/master/Global/macOS.gitignore # macOS General .DS_Store .AppleDouble .LSOverride # Thumbnails ._* # See https://github.com/github/gitignore/blob/master/Global/Windows.gitignore # Windows thumbnail cache files Thumbs.db ehthumbs.db ehthumbs_vista.db # Folder config file [Dd]esktop.ini # Project specific thesis.pdf thesis-bot.yml ================================================ FILE: .vscode/setting.json ================================================ { "latex-workshop.intellisense.package.enabled": true, "latex-workshop.intellisense.unimathsymbols.enabled": true, "latex-workshop.latex.recipes": [ { "name": "xelatex", "tools": ["xelatex"] }, { "name": "latexmk", "tools": ["latexmk"] }, { "name": "xelatex -> bibtex -> xelatex", "tools": ["xelatex", "bibtex", "xelatex"] }, { "name": "xelatex -> biber -> xelatex", "tools": ["xelatex", "biber", "xelatex"] }, { "name": "make thesis (Linux/macOS)", "tools": ["make-thesis"] } ], "latex-workshop.latex.tools": [ { "name": "latexmk", "command": "latexmk", "args": [ "-shell-escape", "-file-line-error", "-halt-on-error", "-interaction=nonstopmode", "%DOC%" ] }, { "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-shell-escape", "%DOC%" ] }, { "name": "bibtex", "command": "bibtex", "args": ["%DOCFILE%"] }, { "name": "biber", "command": "biber", "args": ["%DOCFILE%"] }, { "name": "make-thesis", "command": "make", "args": [], "env": {} } ], "latex-workshop.view.pdf.viewer": "tab", "latex-workshop.latex.clean.fileTypes": [ "*.aux", "*.bbl", "*.bcf", "*.blg", "*.idx", "*.ind", "*.lof", "*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.alg", "*.glg", "*.glo", "*.gls", "*.ist", "*.fls", "*.log", "*.fdb_latexmk", "*.pdf", "*.synctex.gz", "*.xml" ] } ================================================ FILE: Makefile ================================================ THESIS = csuthesis_main # TEX, BIB, TEST dir # modified from sjtu thesis TEX_DIR = content BIB_DIR = . # Option for latexmk LATEXMK_OPT_BASE = -xelatex -gg -silent LATEXMK_OPT = $(LATEXMK_OPT_BASE) -f LATEXMK_OPT_PVC = $(LATEXMK_OPT_BASE) -pvc all: $(THESIS).pdf .PHONY : all cleanall pvc view wordcount git zip $(THESIS).pdf : $(THESIS).tex $(TEX_DIR)/*.tex $(BIB_DIR)/*.bib csuthesis.cls Makefile -latexmk $(LATEXMK_OPT) $(THESIS) pvc : latexmk $(LATEXMK_OPT_PVC) $(THESIS) view : $(THESIS).pdf #for Linux user xdg-open $< #for Mac user # open $< wordcount: @texcount $(THESIS).tex -inc -ch-only | awk '/total/ {getline; print "纯中文字数\t\t\t:",$$4}' @texcount $(THESIS).tex -inc -chinese | awk '/total/ {getline; print "总字数(英文单词 + 中文字)\t:",$$4}' clean : -@latexmk -c -silent 2> /dev/null -@rm -f $(TEX_DIR)/*.aux 2> /dev/null || true cleanall : -@latexmk -C -silent 2> /dev/null -@rm -f $(TEX_DIR)/*.aux 2> /dev/null || true zip : git archive --format zip --output thesis.zip master ================================================ FILE: README.md ================================================ # CSUThesis Latex 模板 ![CSUThesis Github Release](https://img.shields.io/github/v/release/disc0ver-csu/csu-thesis?label=github%20release) [![Overleaf](https://img.shields.io/badge/overleaf-v1.0.5-green.svg)](https://www.overleaf.com/latex/templates/csuthesis-v0-dot-1-3dev/hcsjpbsfvcdx) ![Release Date](https://img.shields.io/github/release-date/disc0ver-csu/csu-thesis?color=yellow&label=github%20release%20date) [![](https://img.shields.io/badge/language-TeX-orange.svg)](https://github.com/disc0ver-csu/csu-thesis) [![QQGroup](https://img.shields.io/badge/QQGroup-1102036265-blue.svg)]() ## 模板说明 本模板是中南大学论文 Latex 模板 **CSUThesis**,即 **C**entral **S**outh **U**niversity **Thesis** LaTeX Template. 学校的指导文件仅提供大致的格式描述与 word 示例,并没有提供官方的 LaTeX 模板,本项目意在维护一个学位论文的非官方标准(De facto standard),创建符合指导文件要求的 LaTeX 模板,供所有本科生研究生使用。 ## 获取模板 ### 下载至本地 ![CSUThesis Github Release](https://img.shields.io/github/v/release/disc0ver-csu/csu-thesis?label=github%20release) 由于目前模板更新频繁,我们强烈建议您使用**稳定的发布版本**,同时请确保**您已经阅读了示例文档**。 下载途径: 目前仅提供克隆完整 Github 仓库和获取打包的稳定发布版本两个途径 - Github Repository: ```shell git clone https://github.com/disc0ver-csu/csu-thesis.git ``` 如果 clone 速度过慢,我们建议您使用代理并添加`--depth`参数。 ```shell git clone https://github.com/disc0ver-csu/csu-thesis.git --depth=1 ``` - Github Releases: [Release 页面](https://github.com/disc0ver-csu/csu-thesis/releases) ### Overleaf [![Overleaf](https://img.shields.io/badge/overleaf-v1.0.5-green.svg)](https://www.overleaf.com/latex/templates/csuthesis-v1-dot-0-5/dkgwknrbqjzq) 随着v1.0.5发布,我们正式提供了 Overleaf 模板,链接见[Overleaf Gallery](https://github.com/disc0ver-csu/csu-thesis)。~~这次真的不是愚人节玩笑~~。习惯在 Overleaf 上进行写作的同学可以从上面的模板链接创建自己的项目。 :warning: 目前 Overleaf 上虽然已是正式版本,英文字体使用默认设置,中文字体适配上传了`simhei.tff`,`simsun.ttc`等中易字体(即Word中熟悉的黑体与宋体),但不确定是否还存在其他 Linux 系统适配的问题。另外由于学校写作指导文件要求的部分商用字体(比如 Times New Romance)不可在 Linux 上使用,我们采取的方案是进行相近字体的替换。所以即便你的写作过程是在Overleaf上完成的,我们仍**建议**您在 Windows 操作系统上编译最终版论文。 ## 环境配置 如果希望在本地使用本模板,除了获取模板文件以外,您还需要自行配置 TeX 排版系统环境。我们常说的 TeX 并不是一个单独的程序,而是一套由排版引擎,编译程序,各类宏包与说明文档等构成的复杂排版系统,被称为 [Tex document production system](https://www.tug.org/)。为了方便用户使用,软件开发者们开发了 TeX 的发行版,提供了整套系统以及便捷的配置方式。 我们**推荐**使用[Tex Live](https://www.tug.org/texlive/)和[MiKTeX](https://miktex.org/)的最新版,因为这两种发行版,对 GNU/Linux,macOS 以及 Windows 都提供了较好的支持。需要说明的是,我们**不建议**使用[CTeX 套装](http://www.ctex.org/CTeX),该套装对 Windows 环境下 MikTeX 基础上增加了中文的支持,但是 2012 年后不再更新,已经相对过时,故不推荐使用(一些使用过 CTeX 的同学在配置环境时会出现冲突导致编译失败)。 下图是一些常见的 TeX 发行版以及支持的操作系统 | TeX 发行版 | GNU/Linux | macOS | Windows | | :--------- | :----------------- | :----------------- | :----------------- | | TeX Live | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | MiKTeX | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | MacTeX | :x: | :heavy_check_mark: | :x: | | CTeX | :x: | :x: | :heavy_check_mark: | ## 模板使用 在`content` 目录下撰写文章内容,之后使用如下方式编译生成 pdf 格式文件。我们希望模板使用者有基本的 latex 撰写经验以及命令行使用能力,模板也配置了一些相关工具来帮助编译。 ### GUI 界面 如果你使用的开发环境是 Visual Studio Code + (Tex Live | MiKTex),我们在 `.vscode` 目录中提供了对应的 LaTeX 插件的配置。需要你在 Visual Studio Code 中安装 [LateX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) 插件,然后将 `.vscode` 目录中 `setting.json` 文件中的配置,拷贝添加至用户配置( `Ctrl+p` 然后点击 `设置 (json)` )中,该配置全局有效,类似教程可参考[配置 VSCode 作为 LaTeX 编辑器](http://eddyblog.oss-cn-shenzhen.aliyuncs.com/LaTeX/csu_thesis_1.gif)。 完成配置后,在任意的 `.tex` 文件下执行倒数第二个 recipe,即 `▷ Recipe: xelatex -> biber -> xelatex` 即可编译你的论文。 ![csu_thesis_1.gif](http://eddyblog.oss-cn-shenzhen.aliyuncs.com/LaTeX/csu_thesis_1.gif) 如果你需要令配置文件仅对本项目生效,可以 `setting.json` 将重命名为 `settings.json` ,再在 Visual Studio Code 中按 `ctrl + p`,输入 `reload win`,回车,重载 Visual Studio Code 即可。 **注意**,第一次编译时需要下载大量宏包,请不要担心,耐心等待一段时间。编译过程正式开始时,Visual Studio Code 的底部将会出现一个字符绘制的进度条。如果等待时间过长,请考虑配置 Tex Live | MiKTeX 的软件源,或者配置代理服务器。 ### 命令行 - Windows 用户 你可以在项目目录使用`latexmk`进行编译,推荐`latexmk`是因为参考文献等带来的交叉引用问题需要多次编译(使用`xelatex`和`biber`),而`latexmk`可以帮助我们免除此苦恼。相关配置在`latexmkrc`中。你可以按如下方式使用该工具。 ```shell latexmk # 编译生成 csuthesis_main.pdf latexmk csuthesis_main.tex # 给出完整参数,编译生成 csuthesis_main.pdf latexmk -c # 删除除 pdf 文件外的生成文件 latexmk -C # 删除包含 pdf 文件在内的所有生成文件 ``` 你也可以直接使用`xelatex`和`biber`来进行编译,一般而言这是不必要的,但是如果你改动了模板参数想要进行测试,或者希望编译生成没有参考文献的文件,这种方式可以提供更多帮助。 ```shell xelatex -interaction=nonstopmode -file-line-error csuthesis_main.tex # 编译生成无目录与参考文献的文件 biber csuthesis_main # 编译参考文献 xelatex -interaction=nonstopmode -file-line-error csuthesis_main.tex # 再次编译 ``` - Linux 和 macOS 用户 由于写作指导所要求的 Times New Roman 等字体在 Linux 下并不可用,虽然模板会替换字体为对应环境下其他字体,我们**强烈建议模板使用者在 Windows 系统环境下进行最终版本文章的编译**。 你可以使用模板提供的`Makefile`工具进行编译: ```shell make all # 编译生成 csuthesis_main.pdf make clean # 删除除 pdf 文件外的生成文件 make cleanall # 删除包含 pdf 文件在内的所有生成文件 make wordcount # 字数统计 ``` 当然你也可以使用`latexmk`或者`xelatex`配合`biber`编译生成 pdf 文件。 ## 参与维护 欢迎大家参与项目维护! 请阅读 `docs` 目录中的[项目开发者指导](./docs/DEVELOPER_MANUAL.md)等文档,明确开发流程和注意事项 😉。 ## 其他 ### 关于 LaTeX > LaTeX is not a word processor! Instead, LaTeX encourages authors not to worry too much about the appearance of their documents but to concentrate on getting the right content. TeX 作为一个优秀的排版软件,在学术界特别是数学、物理学和计算机科学界十分流行,而建立在其上的 LaTeX 也成为国外许多出版商一直在使用的工具。Office Word 虽然具备强大的功能与灵活性,但对于形式固定的论文,排版、编号、参考文献等简单事务反而会带来很多困难与麻烦,对于一些需要通篇修改的问题,要想达到 LaTeX 的效率,Word 对使用者并不算友好。使用 Latex 模板的一大好处是可以避免繁琐的格式设置,使作者可以专注于内容创作。对于全篇格式的修改,仅需要修改 tex 文件所使用的模板一行内容,重新编译便可得到具备新样式的文档,这对于习惯使用 Word 创作的人来说很不可思议。 ### 关于项目 清华大学、上海交通大学、中国科学技术大学、中国科学院大学、武汉大学等国内高校都有长期维护、较为稳定的学术论文 LaTeX 模板,相比较之下,中南大学虽有一些前辈做出实践,比如最初设计出[中南大学博士学位论文 LaTeX 模板](https://github.com/CSGrandeur/CSU-Thesis-LaTeX-Template)的[@CSGrandeur](https://github.com/CSGrandeur),参考武汉大学学术论文自行设计出本科毕业设计论文 LaTeX 模板的[@burst-bao](https://github.com/burst-bao)等。但目前这些在 Github 上可查到的项目多数已有相当时间没有维护,或者缺乏像上述高校的学术论文模板简易、高效且可靠的设计。 本项目在我校各位前辈们设计的模板基础上进行了重构,使用部分 LaTex3 语法,吸收借鉴清华大学、上海交通大学和中国科学技术大学的学术论文 LaTeX 模板设计的经验,并针对最新的《中南大学毕业设计(论文)模版》文件进行修订。项目已从之前的个人转移至 disc0ver 组织下进行维护,希望更多的同学可以贡献力量,一起维护该项目。 ### 一些毕业流程上与 word 差异的考虑 - **首要条件**:和你的导师沟通好,如果他知道 Latex 最好,不知道的话询问他是否接受在 PDF 上进行审阅 - **查重** :未测试生成的 PDF 是否可以被正确识别,有勇士直接使用 PDF 查重失败或成功的可以提 issue 告诉我,附上编译环境和查重系统。变通方法如下:直接打开 Latex 生成的 PDF 文件,word 会提示将 PDF 转为 docx 文件,转换后字体样式可能会回到 word 自带(Linux 下 texlive 使用的宋体和黑体是 Fandol 系列字体,windows 没有),但是内容全部保留,格式也会保留大部分,直接用该 docx 可以完美通过查重。如果因为各种原因有转为 docx 的需求也可以采用此方法! - **格式审查**: 各不同院系尺度不同,无法一概而论。 ## 更新日志 - 2021/02/07:发布 v0.1.4 版本提供不同选项接口,配置不同的封面。 - 2021/01/29: 添加开发者文档,Git 使用文档,提供 Overleaf 上测试版链接。 - 2021/01/26: 发布 v0.1.2 版本,支持代码段和算法描述,修复附录编号问题,完善 README - 2021/01/25: Edwardzcn 重构项目,发布 v0.1.1 版本,对照学校指导文件重新修改样式,并修复目录显示的问题 - 2019/12/13: BlurryLight 进行了一些代码更新 - 2019/05/01: BlurryLight 在[CSU-Thesis-Latex-Template](https://github.com/CSGrandeur/CSU-Thesis-LaTeX-Template) 的基础上进行修改出本科学位论文模板 ## 致谢 - 感谢最先制作出中南大学博士学位论文 LaTeX 模板的郭大侠[@CSGrandeur](https://github.com/CSGrandeur) - 感谢添加本科学位论文样式支持的[@BlurryLight](https://github.com/BlurryLight) - 感谢帮助重构项目并进行测试的[@burst-bao](https://github.com/burst-bao)和[@Wp-Zhang](https://github.com/Wp-Zhang)以及为独立使用 LaTeX 进行毕业论文写作提供宝贵经验的 16 级姜析阅学长 - 感谢[CTeX-kit](https://github.com/CTeX-org/ctex-kit) 提供了 LaTeX 的中文支持 - 感谢上海交通大学学位论文 LaTeX 模板的维护者们[@sjtug](https://github.com/sjtug) 与清华大学学位论文 LaTeX 模板的维护者们[@tuna](https://github.com/tuna/)给予的宝贵设计经验 ================================================ FILE: content/abstracten.tex ================================================ %!TEX root = ../csuthesis_main.tex \keywordsen{CSU\ \ LaTeX\ \ Template} \begin{abstracten} LaTeX can be compiled into a pdf of uniform format using the set template.At present, most domestic publishers and universities still use word. Because of its powerful function and flexibility, when faced with fixed-form papers by novices, simple matters such as typesetting, numbering, and reference documents will bring many difficulties and troubles. For some problems that need to be modified throughout, to achieve the efficiency of LaTeX, it requires a high level of skill for word users. In order to focus on the writing of papers, many international journals and universities support the writing and submission of LaTeX. Novices don't need to care about formatting issues. They only need to use a few symbolic labels step by step to get the documents that meet the requirements. And when you need to modify the entire format, you can directly recompile the template file by replacing or modifying the template file. This is incredible for the word novice to use the word. The purpose of this project is to create a TeX template that meets the specifications of the graduate degree thesis (PhD) of Central South University, and to address the pain points of format adjustment during the dissertation writing. \end{abstracten} ================================================ FILE: content/abstractzh.tex ================================================ %!TEX root = ../csuthesis_main.tex % 设置中文摘要 \keywordscn{中南大学\quad 学位论文\quad LaTeX模板} %\categorycn{TP391} \begin{abstractzh} LaTeX利用设置好的模板,可以编译为格式统一的pdf。目前国内大多出版社与高校仍在使用word,word由于其强大的功能与灵活性,在新手面对形式固定的论文时,排版、编号、参考文献等简单事务反而会带来很多困难与麻烦,对于一些需要通篇修改的问题,要想达到LaTeX的效率,对word使用者来说需要具有较高的技能水平。 为了能把主要精力放在论文撰写上,许多国际期刊和高校都支持LaTeX的撰写与提交,新手不需要关心格式问题,只需要按部就班的使用少数符号标签,即可得到符合要求的文档。且在需要全篇格式修改时,更换或修改模板文件,即可直接重新编译为新的样式文档,这对于word新手使用word的感受来说是不可思议的。 本项目的目的是为了创建一个符合中南大学本科生撰写规范的TeX模板,解决学位论文撰写时格式调整的痛点。 \end{abstractzh} ================================================ FILE: content/acknowledgements.tex ================================================ %!TEX root = ../csuthesis_main.tex \begin{acknowledgements} 感谢最先制作出中南大学博士学位论文 LaTeX 模板的郭大侠@CSGrandeur。 感谢添加本科学位论文样式支持的@BlurryLight。 感谢帮助重构项目并进行测试的@burst-bao以及为独立使用LaTeX进行毕业论文写作提供宝贵经验的16级的姜析阅学长。 感谢[CTeX-kit](https://github.com/CTeX-org/ctex-kit) 提供了 LaTeX 的中文支持。 感谢上海交通大学学位论文 LaTeX 模板的维护者们[@sjtug](https://github.com/sjtug) 和 清华大学学位论文 LaTeX 模板的维护者们[@tuna](https://github.com/tuna/)给予的宝贵设计经验。 感谢所有为模板贡献过代码的同学们! \end{acknowledgements} ================================================ FILE: content/appendix.tex ================================================ %!TEX root = ../csuthesis_main.tex % \begin{appendixs} % 无章节编号 \chapter{附录代码} 附录部分用于存放这里用来存放不适合放置在正文的大篇幅内容、典型如代码、图纸、完整数学证明过程等内容。 \section{堆溢出检测算法} \begin{algorithm}[h] \caption{堆溢出检测算法}\label{alg:ovf} \begin{algorithmic}[1] \IF {$\beta \in \mathbb{N^{*}} \land \Delta_\beta = \Delta_{\beta - 1} \land \beta < S$} \STATE 正常写入 \ELSIF {$\beta \in \mathbb{N^{*}} \land \Delta_\beta \neq \Delta_{\beta - 1} \land \beta \geq S$} \STATE 发生堆溢出 \ENDIF \end{algorithmic} \end{algorithm} \section{KMP算法C++描述} % \begin{minted}[linenos]{c} \begin{lstlisting} const int maxn=2e5+5; int nt[maxn]; int aa[maxn],bb[maxn]; int a[maxn],b[maxn]; int n; //参数为模板串和next数组 //字符串均从下标0开始 void kmpGetNext(int *s,int *Next) { Next[0]=0; // int len=strlen(s); for(int i=1,j=0;i>n) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); rep(i,0,n) cin>>aa[i]; rep(i,0,n) cin>>bb[i]; sort(aa,aa+n); sort(bb,bb+n); rep(i,0,n-1){ a[i]=aa[i+1]-aa[i]; b[i]=bb[i+1]-bb[i]; } a[n-1]=360000+aa[0]-aa[n-1]; // rep(i,0,n) cout< 设置别称,为了方便宏名字带特殊字符的调用,比如key = math-style, \kv@define@key{csu@value}{name}{ \@namedef{csu@#1@@name}{##1} } % 由于在定义接口时,\csu@⟨key⟩@@code 不一定有定义,而且在文档类/宏包中还有可能 % 对该 key 的 code 进行添加。所以 \csu@⟨key⟩@@code 会检查如果在定义文档类/宏包时则 % 推迟执行,否则立即执行。 % BUG double @ % \@namedef{csu@#1@check}{} % \@namedef{csu@#1@code}{} \@namedef{csu@#1@@check}{} \@namedef{csu@#1@@code}{} % 保存下choices = {} 定义的内容,在定义 \csu@后再执行 \kv@define@key{csu@value}{choices}{ \def\csu@@choices{##1} \@namedef{csu@#1@@reset}{} % 这里 % 不能乱删 \@namedef{csu@#1@@check}{% \@ifundefined{% ifcsu@\@nameuse{csu@#1@@name}@\@nameuse{csu@\@nameuse{csu@#1@@name}}% }{% \csu@error{Invalid value "#1 = \@nameuse{csu@\@nameuse{csu@#1@@name}}"}% }% \@nameuse{csu@#1@@reset}% \@nameuse{csu@\@nameuse{csu@#1@@name}@\@nameuse{csu@\@nameuse{csu@#1@@name}}true}% }% }% \kv@define@key{csu@value}{default}{ \def\csu@@default{##1} } \kvsetkeys{csu@value}{#2} \@namedef{csu@\@nameuse{csu@#1@@name}}{} % 第一个 设为 ,并且对每个定义 ifcsu@@choice \kv@set@family@handler{csu@choice}{ \ifx\csu@@default\@empty \def\csu@@default{##1} \fi % TODO \expandafter\newif\csname ifcsu@\@nameuse{csu@#1@@name}@##1\endcsname \expandafter\g@addto@macro\csname csu@#1@@reset\endcsname{ \@nameuse{csu@\@nameuse{csu@#1@@name}@##1false} } } \kvsetkeys@expandafter{csu@choice}{\csu@@choices} % 将 赋值到 \csu@, 如果非空则执行相应的代码。 \expandafter\let\csname csu@\@nameuse{csu@#1@@name}\endcsname\csu@@default \expandafter\ifx\csname csu@\@nameuse{csu@#1@@name}\endcsname\@empty\else \@nameuse{csu@#1@@check}% \fi % 定义 \csusetup接口 \kv@define@key{csu}{#1}{ \@namedef{csu@\@nameuse{csu@#1@@name}}{##1} \@nameuse{csu@#1@@check} \@nameuse{csu@#1@@code} } } % 定义接口向 key 添加 code \newcommand\csu@option@hook[2]{ \expandafter\g@addto@macro\csname csu@#1@@code\endcsname{#2} } \csu@define@key{ type = { choices = { bachelor, master, doctor, postdoc, research, translation, }, default = bachelor, }, % degree-type = { % choices = { % academic, % professional, % }, % name = degree@type, % }, % 语言 language = { choices = { chinese, english, }, }, % 选择打印版还是用于上传的电子版。 output = { choices = { print, electronic, }, default = print, }, } \newif\ifcsu@type@graduate \newcommand\csu@set@graduate{ \csu@type@graduatefalse \ifcsu@type@doctor \csu@type@graduatetrue \fi \ifcsu@type@master \csu@type@graduatetrue \fi } \csu@set@graduate \csu@option@hook{type}{ \csu@set@graduate } % 定义致谢环境,盲审下隐藏致谢 \DeclareBoolOption[false]{review} \DeclareBoolOption[false]{continuous} % 注意openany和oneside参数,默认是无空白页不区分双面印。 \DeclareBoolOption[false]{openright} \DeclareComplementaryOption{openany}{openright} \DeclareBoolOption[true]{raggedbottom} \DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{ctexbook}} \ProcessKeyvalOptions* \ifcsu@openright \PassOptionsToClass{openright}{book} \else \PassOptionsToClass{openany}{book} \fi % 使用 \XeTeX{} 引擎时,\pkg{fontspec} 宏包会被 \pkg{xeCJK} 自动调用。传递给 % \pkg{fontspec} 宏包 \opt{no-math} 选项,避免部分数学符号字体自动调整为 CMR。 % 并使用 \opt{quiet} 忽略警告。 \PassOptionsToPackage{no-math, quiet}{fontspec} % 读取基类 \LoadClass[UTF8,a4paper,oneside,zihao=-4]{ctexbook} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 加载宏包 % % 加载必要的宏包 % 部分宏包再前面由于需要已经加载(或顺序限制) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 支持中文的 ctex 宏包 \RequirePackage{ctex} % 页面布局 \RequirePackage{geometry} % 使用 \pkg{amsmath} 处理数学公式 \RequirePackage{amsmath} % 下面的数学宏包和unicode-math 冲突 % \RequirePackage{amsfonts} % \RequirePackage{amssymb} % \RequirePackage{bm} % 使用 \pkg{unicode-math} 处理数学字体 \RequirePackage{unicode-math} % 算法排版宏包 \RequirePackage[chapter]{algorithm} \RequirePackage{algorithmic} \floatname{algorithm}{算法} % 自定义关键词 \RequirePackage{pgfkeys} % 设置目录 % v0.1.4 考虑到兼容性问题,不适用titletoc和titilesec % \RequirePackage{titletoc} % \RequirePackage{titlesec} \RequirePackage[titles]{tocloft} % 设置字体 \RequirePackage{fontenc} % 设置颜色 \RequirePackage{xcolor} % 设置页眉和页脚 \RequirePackage{fancyhdr} % 代码高亮 % 注:该包依赖python环境Pygments语法高亮显示工具包 % 并且需要 -shell-escape参数 % TODO: 日后需要修改为可配置 % 超链接 hyperref 的设置 % 提供书签与链接 \RequirePackage{hyperref} % 插入图片 \RequirePackage{graphicx} % 表格 \RequirePackage{array} % 长表格 \RequirePackage{longtable} % booktabs 提供了\toprule 等命令. \RequirePackage{booktabs} % multirow 支持在表格中跨行 \RequirePackage{multirow} % 调整间隔, 让表格更好看些 \RequirePackage{bigstrut} %在跨行表格中输入定界符 \RequirePackage{bigdelim} % 保护脆弱命令 \RequirePackage{cprotect} % 设置代码高亮 % \RequirePackage{minted} % 设置代码环境 \RequirePackage{listings} \lstset{ basicstyle=\ttfamily, breaklines, columns=fixed, numbers=none, % 在左侧显示行号 numberstyle=\tiny\color{gray}, % 设定行号格式 frame=single, % 不显示背景边框 rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. commens (green here)) % backgroundcolor=\color[RGB]{245,245,244}, % 设定背景颜色 keywordstyle=\color[RGB]{40,40,255}, % 设定关键字颜色 numberstyle=\footnotesize\color{darkgray}, commentstyle=\it\color[RGB]{0,96,96}, % 设置代码注释的格式 stringstyle=\rmfamily\slshape\color[RGB]{128,0,0}, % 设置字符串格式 showstringspaces=false, % 不显示字符串中的空格 language=c++, % 设置语言 aboveskip=20pt } % jing: ccaption宏包不能出现在 caption 宏包之后 % 设置浮动体的标题 \RequirePackage[justification=centering]{caption} \RequirePackage[justification=centering]{subcaption} % 定制列表环境 \RequirePackage{enumitem} % 提供\AtBeginEnvironment以方便全局调整一些结构的设置 \RequirePackage{etoolbox} % 确定宏定义的位置 \RequirePackage{filehook} % 枚举 \RequirePackage{enumitem} % 末尾页 \RequirePackage{lastpage} % % \RequirePackage{hypdoc} \AtEndOfClass{ % 根据模板类型加载不同配置 \ifcsu@type@graduate \input{graduate.cls} \else \input{undergraduate.cls} \fi } % 参考SJTU Thesis进行不同环境的英文字体配置 % 字体配置 \let\csu@font@family@xits\@empty \newcommand\csu@font@set@xits@names{% \ifx\csu@font@family@xits\@empty \IfFontExistsTF{XITSMath-Regular.otf}{% \gdef\csu@font@family@xits{XITS}% \gdef\csu@font@style@xits@rm{Regular}% \gdef\csu@font@style@xits@bf{Bold}% \gdef\csu@font@style@xits@it{Italic}% \gdef\csu@font@style@xits@bfit{BoldItalic}% \gdef\csu@font@name@xits@math@rm{XITSMath-Regular}% \gdef\csu@font@name@xits@math@bf{XITSMath-Bold}% }{% \gdef\csu@font@family@xits{xits}% \gdef\csu@font@style@xits@rm{regular}% \gdef\csu@font@style@xits@bf{bold}% \gdef\csu@font@style@xits@it{italic}% \gdef\csu@font@style@xits@bfit{bolditalic}% \gdef\csu@font@name@xits@math@rm{xits-math}% \gdef\csu@font@name@xits@math@bf{xits-mathbold}% }% \fi } \let\csu@font@family@libertinus\@empty \newcommand\csu@font@set@libertinus@names{% \ifx\csu@font@family@libertinus\@empty \IfFontExistsTF{LibertinusSerif-Regular.otf}{% \gdef\csu@font@family@libertinus@serif{LibertinusSerif}% \gdef\csu@font@family@libertinus@sans{LibertinusSans}% \gdef\csu@font@name@libertinus@math{LibertinusMath-Regular}% \gdef\csu@font@style@libertinus@rm{Regular}% \gdef\csu@font@style@libertinus@bf{Bold}% \gdef\csu@font@style@libertinus@it{Italic}% \gdef\csu@font@style@libertinus@bfit{BoldItalic}% }{% \gdef\csu@font@family@libertinus@serif{libertinusserif}% \gdef\csu@font@family@libertinus@sans{libertinussans}% \gdef\csu@font@name@libertinus@math{libertinusmath-regular}% \gdef\csu@font@style@libertinus@rm{regular}% \gdef\csu@font@style@libertinus@bf{bold}% \gdef\csu@font@style@libertinus@it{italic}% \gdef\csu@font@style@libertinus@bfit{bolditalic}% }% \fi } \newcommand\csu@set@font@xits{% \csu@font@set@xits@names \setmainfont{\csu@font@family@xits}[ Extension = .otf, UprightFont = *-\csu@font@style@xits@rm, BoldFont = *-\csu@font@style@xits@bf, ItalicFont = *-\csu@font@style@xits@it, BoldItalicFont = *-\csu@font@style@xits@bfit, ] } \newcommand\csu@set@font@times{% \setmainfont{Times New Roman}[Ligatures = Rare] \setsansfont{Arial} \setmonofont{Courier New}[Scale = MatchLowercase] } \newcommand\csu@set@font@stix{% \setmainfont{STIX2Text}[ Extension = .otf, UprightFont = *-Regular, BoldFont = *-Bold, ItalicFont = *-Italic, BoldItalicFont = *-BoldItalic, ] } \newcommand\csu@set@font@step{% \setmainfont{STEP}[ Extension = .otf, UprightFont = *-Regular, BoldFont = *-Bold, ItalicFont = *-Italic, BoldItalicFont = *-BoldItalic, ] } \newcommand\csu@set@font@source@sans@mono{% \setsansfont{SourceSansPro}[ Extension = .otf, UprightFont = *-Regular , ItalicFont = *-RegularIt , BoldFont = *-Bold , BoldItalicFont = *-BoldIt, ] \setmonofont{SourceCodePro}[ Extension = .otf, UprightFont = *-Regular , ItalicFont = *-RegularIt , BoldFont = *-Bold , BoldItalicFont = *-BoldIt, Scale = MatchLowercase, ] } \newcommand\csu@set@font@termes{% \setmainfont{texgyretermes}[ Extension = .otf, UprightFont = *-regular, BoldFont = *-bold, ItalicFont = *-italic, BoldItalicFont = *-bolditalic, ]% } \newcommand\csu@set@font@pagella{% \setmainfont{texgyrepagella}[ Extension = .otf, UprightFont = *-regular, BoldFont = *-bold, ItalicFont = *-italic, BoldItalicFont = *-bolditalic, ]% } \newcommand\csu@set@font@texgyre@sans@mono{% \setsansfont{texgyreheros}[ Extension = .otf, UprightFont = *-regular, BoldFont = *-bold, ItalicFont = *-italic, BoldItalicFont = *-bolditalic, ]% \setmonofont{texgyrecursor}[ Extension = .otf, UprightFont = *-regular, BoldFont = *-bold, ItalicFont = *-italic, BoldItalicFont = *-bolditalic, ]% } \newcommand\csu@set@font@cambria{% \setmainfont{Cambria} \setsansfont{Calibri} \setmonofont{Consolas}[Scale = MatchLowercase] } \newcommand\csu@set@font@libertinus{% \csu@font@set@libertinus@names \setmainfont{\csu@font@family@libertinus@serif}[ Extension = .otf, UprightFont = *-\csu@font@style@libertinus@rm, BoldFont = *-\csu@font@style@libertinus@bf, ItalicFont = *-\csu@font@style@libertinus@it, BoldItalicFont = *-\csu@font@style@libertinus@bfit, ]% \setsansfont{\csu@font@family@libertinus@sans}[ Extension = .otf, UprightFont = *-\csu@font@style@libertinus@rm, BoldFont = *-\csu@font@style@libertinus@bf, ItalicFont = *-\csu@font@style@libertinus@it, ]% \setmonofont{lmmonolt10}[ Extension = .otf, UprightFont = *-regular, BoldFont = *-bold, ItalicFont = *-oblique, BoldItalicFont = *-boldoblique, ]% } \newcommand\csu@set@font@lm{% \setmainfont{lmroman10}[ Extension = .otf, UprightFont = *-regular, BoldFont = *-bold, ItalicFont = *-italic, BoldItalicFont = *-bolditalic, ]% \setsansfont{lmsans10}[ Extension = .otf, UprightFont = *-regular, BoldFont = *-bold, ItalicFont = *-oblique, BoldItalicFont = *-boldoblique, ]% \setmonofont{lmmonolt10}[ Extension = .otf, UprightFont = *-regular, BoldFont = *-bold, ItalicFont = *-oblique, BoldItalicFont = *-boldoblique, ]% } % 使用 \pkg{unicode-math} 配置数学字体。 \unimathsetup{ math-style = ISO, bold-style = ISO, nabla = upright, partial = upright, } \newcommand\csu@set@math@font@xits{% \csu@font@set@xits@names \setmathfont{\csu@font@name@xits@math@rm}[ Extension = .otf, BoldFont = \csu@font@name@xits@math@bf, StylisticSet = 8, ]% \setmathfont{\csu@font@name@xits@math@rm}[ Extension = .otf, BoldFont = \csu@font@name@xits@math@bf, StylisticSet = 1, range = {cal,bfcal}, ]% } \newcommand\csu@set@math@font@stix{% \setmathfont{STIX2Math}[ Extension = .otf, StylisticSet = 8, ]% \setmathfont{STIX2Math}[ Extension = .otf, StylisticSet = 1, range = {cal,bfcal}, ]% } \newcommand\csu@set@math@font@step{% \setmathfont{STEPMath-Regular}[ Extension = .otf, BoldFont = STEPMath-Bold, StylisticSet = 8, ]% \setmathfont{STEPMath-Regular}[ Extension = .otf, BoldFont = STEPMath-Bold, StylisticSet = 1, range = {cal,bfcal}, ]% } \newcommand\csu@set@math@font@termes{% \setmathfont{texgyretermes-math.otf} } \newcommand\csu@set@math@font@pagella{% \setmathfont{texgyrepagella-math.otf} } \newcommand\csu@set@math@font@cambria{% \setmathfont{Cambria Math} } \newcommand\csu@set@math@font@libertinus{% \csu@font@set@libertinus@names \setmathfont{\csu@font@name@libertinus@math .otf}% } \newcommand\csu@set@math@font@lm{% \setmathfont{latinmodern-math.otf}% } % \end{macrocode} % % 设置西文字体集。 % \begin{macrocode} \newcommand\csu@load@fontset@xits{% \csu@set@font@xits \csu@set@font@source@sans@mono \csu@set@math@font@xits } \newcommand\csu@load@fontset@times{% \csu@set@font@times \csu@set@math@font@xits } \newcommand\csu@load@fontset@stix{% \csu@set@font@stix \csu@set@font@source@sans@mono \csu@set@math@font@stix } \newcommand\csu@load@fontset@step{% \csu@set@font@step \csu@set@font@source@sans@mono \csu@set@math@font@step } \newcommand\csu@load@fontset@termes{% \csu@set@font@termes \csu@set@font@texgyre@sans@mono \csu@set@math@font@termes } \newcommand\csu@load@fontset@pagella{% \csu@set@font@pagella \csu@set@font@texgyre@sans@mono \csu@set@math@font@pagella } \newcommand\csu@load@fontset@cambria{% \csu@set@font@cambria \csu@set@math@font@cambria } \newcommand\csu@load@fontset@libertinus{% \csu@set@font@libertinus \csu@set@math@font@libertinus } \newcommand\csu@load@fontset@lm{% \csu@set@font@lm \csu@set@math@font@lm } \newcommand\csu@load@fontset@none{\relax} % \end{macrocode} % % 载入西文字体集。 % \begin{macrocode} % \newcommand\csu@load@fontset{% % \@nameuse{csu@load@fontset@\csu@latinfontset} % } % latinfontset 是csu的key 使用 对应的kv接口调用 现在没有实现 % \csu@load@fontset@latinfontset % Windows系统请使用 times 字体集 \csu@load@fontset@times % linux系统请使用 stix 字体集 % \csu@load@fontset@stix % \csu@option@hook{csu}{latinfontset}{% % \csu@load@fontset % } \newcommand\csu@pdfbookmark[2]{} % 定义通用的chapter命令 \NewDocumentCommand{\csu@chapter}{s m}{ \if@openright\cleardoublepage\else\clearpage\fi % \addcontentsline{toc}{chapter}{#1}% % \csu@pdfbookmark{0}{#1} \IfBooleanTF{#1}{ \csu@pdfbookmark{0}{#2} }{ \phantomsection \addcontentsline{toc}{chapter}{#2} } \chapter*{#2} } \AtEndOfPackageFile*{hyperref}{ \hypersetup{ linktoc = all, bookmarksdepth = 2, bookmarksnumbered = true, bookmarksopen = true, bookmarksopenlevel = 1, unicode = true, psdextra = true, breaklinks = true, plainpages = false, pdfdisplaydoctitle = true, hidelinks, } \newcounter{csu@bookmark} \renewcommand\csu@pdfbookmark[2]{% \phantomsection \stepcounter{csu@bookmark}% \pdfbookmark[#1]{#2}{csuchapter.\thecsu@bookmark}% } % \renewcommand\csu@phantomsection{% % \phantomsection % } % \pdfstringdefDisableCommands{% % \let\\\@empty % \let\quad\@empty % \let\hspace\@gobble % } % \@ifpackagelater{hyperref}{2019/04/27}{}{% % \g@addto@macro\psdmapshortnames{\let\mu\textmu} % }% % \AtBeginDocument{% % \hypersetup{ % pdftitle = \csu@info@title, % pdfsubject = \csu@name@subject, % pdfkeywords = \csu@info@keywords, % pdfauthor = \csu@info@author, % pdfcreator = {LaTeX with csuThesis \version} % } % }% } \endinput ================================================ FILE: csuthesis_main.bib ================================================ @book{knuth1984texbook, title={The texbook}, author={Knuth, Donald Ervin and Bibby, Duane}, volume={15}, year={1984}, publisher={Addison-Wesley Reading} } @book{lamport1994latex, title={LATEX: a document preparation system: user's guide and reference manual}, author={Lamport, Leslie}, year={1994}, publisher={Addison-wesley} } @article{pritchard1969statistical, title={Statistical bibliography or bibliometrics}, author={Pritchard, Alan and others}, journal={Journal of documentation}, volume={25}, number={4}, pages={348--349}, year={1969}, publisher={New York} } @article{Pawlak1982Rough, title={Rough sets}, author={Pawlak, Zdzisław}, journal={International Journal of Computer and Information Sciences}, volume={11}, number={5}, pages={341-356}, year={1982}, } @online{csu__2020, title = {中南大学}, url = {https://www.csu.edu.cn/}, titleaddon = {中南大学官方网站}, author = {{CSU}}, urldate = {2021-02-06}, date = {2020}, keywords = {{CSU}}, } @inproceedings{balakrishnan_corfu_2012, address = {San Jose, CA}, title = {{CORFU}: {A} {Shared} {Log} {Design} for {Flash} {Clusters}}, isbn = {978-931971-92-8}, booktitle = {9th {USENIX} {Symposium} on {Networked} {Systems} {Design} and {Implementation} ({NSDI} 12)}, publisher = {USENIX Association}, author = {Balakrishnan, Mahesh and Malkhi, Dahlia and Prabhakaran, Vijayan and Wobbler, Ted and Wei, Michael and Davis, John D.}, year = {2012}, pages = {1--14}, } @inproceedings{balakrishnan_tango_2013, address = {New York, NY, USA}, series = {{SOSP} '13}, title = {Tango: {Distributed} {Data} {Structures} over a {Shared} {Log}}, isbn = {978-1-4503-2388-8}, doi = {10.1145/2517349.2522732}, abstract = {Distributed systems are easier to build than ever with the emergence of new, data-centric abstractions for storing and computing over massive datasets. However, similar abstractions do not exist for storing and accessing meta-data. To fill this gap, Tango provides developers with the abstraction of a replicated, in-memory data structure (such as a map or a tree) backed by a shared log. Tango objects are easy to build and use, replicating state via simple append and read operations on the shared log instead of complex distributed protocols; in the process, they obtain properties such as linearizability, persistence and high availability from the shared log. Tango also leverages the shared log to enable fast transactions across different objects, allowing applications to partition state across machines and scale to the limits of the underlying log without sacrificing consistency.}, booktitle = {Proceedings of the {Twenty}-{Fourth} {ACM} {Symposium} on {Operating} {Systems} {Principles}}, publisher = {Association for Computing Machinery}, author = {Balakrishnan, Mahesh and Malkhi, Dahlia and Wobber, Ted and Wu, Ming and Prabhakaran, Vijayan and Wei, Michael and Davis, John D. and Rao, Sriram and Zou, Tao and Zuck, Aviad}, year = {2013}, note = {event-place: Farminton, Pennsylvania}, pages = {325--340}, } @inproceedings{wei_vcorfu_2017, address = {Boston, MA}, title = {{vCorfu}: {A} {Cloud}-{Scale} {Object} {Store} on a {Shared} {Log}}, isbn = {978-1-931971-37-9}, booktitle = {14th {USENIX} {Symposium} on {Networked} {Systems} {Design} and {Implementation} ({NSDI} 17)}, publisher = {USENIX Association}, author = {Wei, Michael and Tai, Amy and Rossbach, Christopher J. and Abraham, Ittai and Munshed, Maithem and Dhawan, Medhavi and Stabile, Jim and Wieder, Udi and Fritchie, Scott and Swanson, Steven and Freedman, Michael J. and Malkhi, Dahlia}, year = {2017}, pages = {35--49}, } @inproceedings{mehdi_i_2017, address = {Boston, MA}, title = {I {Can}’t {Believe} {It}’s {Not} {Causal}! {Scalable} {Causal} {Consistency} with {No} {Slowdown} {Cascades}}, isbn = {978-1-931971-37-9}, booktitle = {14th {USENIX} {Symposium} on {Networked} {Systems} {Design} and {Implementation} ({NSDI} 17)}, publisher = {USENIX Association}, author = {Mehdi, Syed Akbar and Littley, Cody and Crooks, Natacha and Alvisi, Lorenzo and Bronson, Nathan and Lloyd, Wyatt}, year = {2017}, pages = {453--468}, } @inproceedings{ding_scalog_2020, address = {Santa Clara, CA}, title = {Scalog: {Seamless} {Reconfiguration} and {Total} {Order} in a {Scalable} {Shared} {Log}}, isbn = {978-1-939133-13-7}, booktitle = {17th {USENIX} {Symposium} on {Networked} {Systems} {Design} and {Implementation} ({NSDI} 20)}, publisher = {USENIX Association}, author = {Ding, Cong and Chu, David and Zhao, Evan and Li, Xiang and Alvisi, Lorenzo and Renesse, Robbert Van}, year = {2020}, pages = {325--338}, } @inproceedings{jia_boki_2021, address = {New York, NY, USA}, series = {{SOSP} '21}, title = {Boki: {Stateful} {Serverless} {Computing} with {Shared} {Logs}}, isbn = {978-1-4503-8709-5}, doi = {10.1145/3477132.3483541}, abstract = {Boki is a new serverless runtime that exports a shared log API to serverless functions. Boki shared logs enable stateful serverless applications to manage their state with durability, consistency, and fault tolerance. Boki shared logs achieve high throughput and low latency. The key enabler is the metalog, a novel mechanism that allows Boki to address ordering, consistency and fault tolerance independently. The metalog orders shared log records with high throughput and it provides read consistency while allowing service providers to optimize the write and read path of the shared log in different ways. To demonstrate the value of shared logs for stateful serverless applications, we build Boki support libraries that implement fault-tolerant workflows, durable object storage, and message queues. Our evaluation shows that shared logs can speed up important serverless workloads by up to 4.7x.}, booktitle = {Proceedings of the {ACM} {SIGOPS} 28th {Symposium} on {Operating} {Systems} {Principles}}, publisher = {Association for Computing Machinery}, author = {Jia, Zhipeng and Witchel, Emmett}, year = {2021}, note = {event-place: Virtual Event, Germany}, keywords = {consistency, function-as-a-service, Serverless computing, shared log}, pages = {691--707}, } @inproceedings{cidon_copysets_2013, address = {San Jose, CA}, title = {Copysets: {Reducing} the {Frequency} of {Data} {Loss} in {Cloud} {Storage}}, isbn = {978-1-931971-01-0}, booktitle = {2013 {USENIX} {Annual} {Technical} {Conference} ({USENIX} {ATC} 13)}, publisher = {USENIX Association}, author = {Cidon, Asaf and Rumble, Stephen and Stutsman, Ryan and Katti, Sachin and Ousterhout, John and Rosenblum, Mendel}, year = {2013}, pages = {37--48}, } @inproceedings{hartman_zebra_1993, address = {New York, NY, USA}, series = {{SOSP} '93}, title = {The {Zebra} {Striped} {Network} {File} {System}}, isbn = {0-89791-632-8}, doi = {10.1145/168619.168622}, abstract = {Zebra is a network file system that increases throughput by striping file data across multiple servers. Rather than striping each file separately, Zebra forms all the new data from each client into a single stream, which it then stripes using an approach similar to a log-structured file system. This provides high performance for writes of small files as well as for reads and writes of large files. Zebra also writes parity information in each stripe in the style of RAID disk arrays; this increases storage costs slightly but allows the system to continue operation even while a single storage server is unavailable. A prototype implementation of Zebra, built in the Sprite operating system, provides 4–5 times the throughput of the standard Sprite file system or NFS for large files and a 20\%-3x improvement for writing small files.}, booktitle = {Proceedings of the {Fourteenth} {ACM} {Symposium} on {Operating} {Systems} {Principles}}, publisher = {Association for Computing Machinery}, author = {Hartman, John H. and Ousterhout, John K.}, year = {1993}, note = {event-place: Asheville, North Carolina, USA}, pages = {29--43}, } @inproceedings{lockerman_fuzzylog_2018, address = {Carlsbad, CA}, title = {The {FuzzyLog}: {A} {Partially} {Ordered} {Shared} {Log}}, isbn = {978-1-939133-08-3}, booktitle = {13th {USENIX} {Symposium} on {Operating} {Systems} {Design} and {Implementation} ({OSDI} 18)}, publisher = {USENIX Association}, author = {Lockerman, Joshua and Faleiro, Jose M. and Kim, Juno and Sankaran, Soham and Abadi, Daniel J. and Aspnes, James and Sen, Siddhartha and Balakrishnan, Mahesh}, year = {2018}, pages = {357--372}, } @inproceedings{balakrishnan_virtual_2020, title = {Virtual {Consensus} in {Delos}}, isbn = {978-1-939133-19-9}, booktitle = {14th {USENIX} {Symposium} on {Operating} {Systems} {Design} and {Implementation} ({OSDI} 20)}, publisher = {USENIX Association}, author = {Balakrishnan, Mahesh and Flinn, Jason and Shen, Chen and Dharamshi, Mihir and Jafri, Ahmed and Shi, Xiao and Ghosh, Santosh and Hassan, Hazem and Sagar, Aaryaman and Shi, Rhed and Liu, Jingming and Gruszczynski, Filip and Zhang, Xianan and Hoang, Huy and Yossef, Ahmed and Richard, Francois and Song, Yee Jiun}, year = {2020}, pages = {617--632}, } @inproceedings{kalia_design_2016, address = {Denver, CO}, title = {Design {Guidelines} for {High} {Performance} {RDMA} {Systems}}, isbn = {978-1-931971-30-0}, booktitle = {2016 {USENIX} {Annual} {Technical} {Conference} ({USENIX} {ATC} 16)}, publisher = {USENIX Association}, author = {Kalia, Anuj and Kaminsky, Michael and Andersen, David G.}, year = {2016}, pages = {437--450}, } @article{_lpr_2021, title = {{以利率市场化视角看待疫情后的LPR}}, issn = {1672-8661}, abstract = {LPR是双轨并轨及利率市场化进程中的重要一步,在疫情冲击下,LPR的利率市场化作用表现较好,但银行净息差面临较大压力导致LPR利率下降主要是政策利率下调。为保证利率市场化进程的持续性,疫情后如何合理降低银行负债成本从而推动银行LPR报价加点幅度下行,成为LPR利率市场化进程中的另一大驱动力。}, language = {中文;}, number = {02}, urldate = {2021-05-22}, journal = {时代金融}, author = {马, 悦}, year = {2021}, keywords = {利率市场化, 净息差, LPR}, pages = {65--66+69}, } @phdthesis{__2011, type = {硕士}, title = {利率市场化条件下城市商业银行利率风险管理研究}, abstract = {随着我国利率市场化改革的进一步推进,我国的利率水平将面临更大的多变性和不确定性,将不可避免地对市场主体造成影响。商业银行作为金融市场的微观主体,更是将直接面临利率市场化的挑战。尽管我国商业银行的表外收入占银行收入的比重在逐步增加,但利差收入仍是最主要的收入来源,其中城商行尤为显著。因而,利率风险仍然是我国城商行所面临的主要风险之一,利率风险的管理也理应受到城商行更多的重视。利率风险的管理过程通常分成四个步骤,即利率风险的识别、利率风险的计量、利率风险的检测以及利率风险的控制。其中利率风险的计量是利率风险管理能否有效进行的基础。本文在对城商行的利率风险管理的研究上主要偏重于利率风险的计量问题。 ...}, language = {中文;}, urldate = {2021-05-22}, school = {东北财经大学}, author = {张, 文轩}, year = {2011}, keywords = {利率市场化, Interest rate risk management, 城市商业银行, 利率风险管理, City commercial banks, Interest rate liberalization}, } @article{__2017, title = {资产负债表失衡与银行利率风险管理}, issn = {1671-1238}, abstract = {\<正\>商业银行资产负债管理的核心是通过调整资产负债结构,在确保风险可控的前提下,实现利润的最大化。但目前我国大部分商业银行管理水平还难以达到要求,资产负债结构存在失衡现象,导致利率风险加大。本文分析了中国银行业资产负债表失衡的表现,及其对商业银行利率风险管理的影响,提出了商业银行适应新市场环境下的利率风险管理对策,以提升商业银行的适应能力和综合管理水平。}, language = {中文;}, number = {10}, urldate = {2021-05-22}, journal = {银行家}, author = {许, 可 and 胡, 浩}, year = {2017}, keywords = {利率市场化, 商业银行利率风险, 利率风险管理, 存款利率, 利率变动, 内部利率, 内部资金转移定价, 商业银行资产负债管理, 收益率曲线, 我国商业银行, 银信合作, 中小商业银行}, pages = {74--76}, } @article{_lpr_2019, title = {{中美LPR机制对比与思考}}, issn = {0578-1485}, abstract = {\<正\>人民银行LPR利率形成机制隐性地明确了与货币政策的关系,增加了银行自主报价加点的空间,能够更好地吸收货币市场的信息,反映市场流动性2019年8月16日,人民银行宣布改革完善贷款市场报价利率形成机制,将按公开市场操作利率(主要指中期借}, language = {中文;}, number = {17}, urldate = {2021-05-22}, journal = {中国金融}, author = {郭, 栋}, year = {2019}, keywords = {LPR, 常规货币政策, 国债利率, 基准利率, 利率市场化改革, 联邦基金, 人民银行, 收益率, 无风险利率}, pages = {42--45}, } @article{_lpr_2020, title = {{我国LPR的历史沿革}、国际经验及政策建议}, issn = {1006-1770}, abstract = {2019年8月,央行启动贷款市场报价利率(LPR)改革,贷款端"利率并轨"工作正式完成。本文回顾了我国LPR的历史沿革、新LPR报价机制及理论逻辑,同时介绍了美国、日本等经济体LPR的发展情况、特点及经验,分析了我国LPR需要关注的问题,最后提出了展望及政策建议。}, language = {中文;}, number = {01}, urldate = {2021-05-22}, journal = {新金融}, author = {梁, 斯}, year = {2020}, keywords = {利率市场化, LPR, 货币政策传导效率}, pages = {19--25}, } @article{_lpr_2020-1, title = {新{LPR对银行业利率风险管理影响几何}}, issn = {1674-9162}, abstract = {\<正\>LPR改革将有效理顺货币政策传导机制,降低社会平均融资成本。但在改革初期,商业银行将面临利率风险增大的挑战,需要对利率风险形势研判和对冲工具使用给予更多关注}, language = {中文;}, number = {18}, urldate = {2021-05-22}, journal = {中国农村金融}, author = {杨, 荣}, year = {2020}, keywords = {LPR, 利率风险管理, 银行业, 利率波动, 利率敏感性缺口模型}, pages = {12--13}, } @article{_lpr_2020-2, title = {{浅析LPR变革对商业银行资产负债管理的影响}}, issn = {1671-0622}, abstract = {2019年8月16日,中国人民银行发布公告(〔2019〕第15号),宣布改革完善贷款市场报价利率LPR形成机制。这意味着我国利率市场化进程迈向了新阶段,也对商业银行经营管理提出新要求,带来新挑战。本文介绍了LPR机制改革的背景和意义,并从资产期限结构、资产负债缺口、资产负债定价和盈利能力等角度分析改革对商业银行的影响。结论认为,LPR机制改革将给商业银行带来短期资产占比降低、息差收窄和利率重定价风险等一系列难题,但也将促使商业银行进一步完善定价管理体系、提高创新能力和综合化经营水平。最后,本文就商业银行如何应对LPR机制改革提出了相应对策建议。}, language = {中文;}, number = {05}, urldate = {2021-05-22}, journal = {财政监督}, author = {周, 含逸 and 杨, 旖旎}, year = {2020}, keywords = {商业银行, 定价及盈利能力, 资产负债期限结构, LPR机制改革}, pages = {95--99}, } @article{__2016, title = {利率走廊、政策利率传导与商业银行贷款市场化定价——结合中美实践的比较研究}, issn = {1003-2878}, abstract = {利率走廊,是我国未来货币政策工具转型的可行制度安排。借鉴成熟市场国家经验,从商业银行贷款定价方式出发,探讨与利率走廊相对应的政策利率对信贷渠道及实体经济的传导,能够为未来相关配套机制的搭建提供参考与建议。研究发现,现阶段市场利率尚不具备作为银行信贷定价基准的实施要件;同时,相对较长的重定价期限使贷款对基准利率调整的响应相对迟缓。商业银行可考虑与利率走廊配套的政策利率保持紧密联动的基准利率作为阶段性选择,未来在利率走廊对货币市场利率波动的平抑效力充分释放后,市场利率基准可成为与国际金融市场接轨日渐紧密的商业银行部分人民币贷款产品的合理选择。}, language = {中文;}, number = {07}, urldate = {2021-05-22}, journal = {财政研究}, author = {郑, 晓亚 and 赵, 自然 and 陈, 华}, year = {2016}, keywords = {利率市场化, 基准利率, 货币政策传导, Interest Rate Liberalization, Monetary Policy Transmission, Reference Rate}, pages = {92--100}, } @article{__2015, title = {利率市场化下我国商业银行利率风险管理研究——以工商银行为例}, issn = {1009-4350}, abstract = {在世界金融形势快速发展的大背景下,我国的利率市场化进程也随之加快,因此研究商业银行在这一过程中如何运用有效的方法和模型来控制利率风险并提高其竞争力具有重要的现实意义。本文选择从缺口管理这一角度进行探讨,以工商银行为例,通过将缺口理论与实际环境相结合的形式进行实证分析。结果表明,我国商业银行内部对利率风险控制的程度不够,对风险的预防能力较弱,这对商业银行的资产负债定价能力会是极大的考验。最后本文根据实际情况提出改善我国商业银行利率风险管理的具体建议。}, language = {中文;}, number = {10}, urldate = {2021-05-22}, journal = {西南金融}, author = {王, 清 and 邱, 静 and 刘, 雨露}, year = {2015}, keywords = {利率风险, 商业银行, 缺口管理}, pages = {27--31}, } @article{__2014, title = {商业银行利率风险管理中久期缺口测算及其防御策略——基于中国股份制商业银行的实证分析}, issn = {1006-1428}, abstract = {随着利率市场化改革的推进,商业银行利率风险管理模型面临升级需求。本文研究认为,修正的久期缺口模型能够较好度量我国商业银行的利率风险。对股份制银行的实证分析表明,选择不同的久期缺口防御策略将产生不同的管理效果。}, language = {中文;}, number = {05}, urldate = {2021-05-22}, journal = {上海金融}, author = {施, 恬}, year = {2014}, keywords = {利率风险管理, 久期缺口, 实证分析}, pages = {103--106}, } ================================================ FILE: csuthesis_main.tex ================================================ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 载入模版 % % 载入csuthesis.cls文件定义的模板 % 支持选项,forprint(黑白打印模式) % 载入主体内容样式与参考文献样式 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 选项 % type=[bachelor|research|translation], % 可选(默认:bachelor),论文类型(学位or课程/调研报告/文献翻译) % output=[print|electronic], % 可选(默认:print),输出要求(电子版/打印) \documentclass[type=bachelor, output=electronic, fontset=none]{csuthesis} % 来自https://github.com/hushidong/biblatex-gb7714-2015 % 参考文献 gb7714-2015 支持宏包 % 使用了biblatex-gb7714-2015宏包,指定后端为biber \usepackage[backend=biber,style=gb7714-2015,gbnamefmt=uppercase,gbpub=false,gbpunctin=false,gbalign=gb7714-2015]{biblatex} % 重定义参考文献字体为楷体GB_2312 字号5号 \renewcommand{\bibfont}{\zihao{5} \kgb} % 导入参考文献数据库 \addbibresource{csuthesis_main.bib} % 按照章节(chapter)标注图片和表格序号,亦可根据需要改为section等 \counterwithin{figure}{chapter} \counterwithin{table}{chapter} % 公式、图片、表格序号改成(1-1)的形式 % \renewcommand{\theequation}{\arabic{equation}} % \renewcommand\thefigure{\arabic{figure}} % \renewcommand\thetable{\arabic{table}} \renewcommand\theequation{\arabic{chapter}-\arabic{equation}} \renewcommand\thefigure{\arabic{chapter}-\arabic{figure}} \renewcommand\thetable{\arabic{chapter}-\arabic{table}} % 各级小标题前后间距:前后各一个字符,首行缩进俩字符 % \titlespacing{\section}{0pt}{2.5ex plus 1ex minus .2ex}{1.3ex plus .2ex} % \titlespacing{\section}{2em}{*0.5}{*0.5} % \titlespacing{\subsection}{2em}{*0}{*0} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 基本信息 % % 用户自行输入标题、作者等基本信息 % 都存储在\content\info.tex文件中 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \include{content/info} \begin{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 封面绘制 % % 1.5版本重新编写了封面绘制宏,并用latex使用者更习惯的 % \maketitle代替之前的\makecoverpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \maketitle % 启用大罗马字母进行编号 \frontmatter % 设置页眉和页脚 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 中文摘要 % % 存储在\content\abstractzh.tex文件中 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \include{content/abstractzh} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 英文摘要 % % 存储在\content\abstracten.tex文件中 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \include{content/abstracten} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 目录 % % 使用重定义的tableofcontents宏绘制目录 % 满足学校的样式要求 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \tableofcontents % 启用数字编号,改为第 x 页 共 x 页格式 \mainmatter %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 正文 % % 存储在\content\content.tex文件中 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 正文 \include{content/content} % % 主文件有代码去掉页眉章节编号的“.”,但这会因为bug导致无编号章节显示一个错误编号,所以这里在无编号章节之前再次重定义sectionmark。 % \renewcommand{\sectionmark}[1]{\markright{#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 致谢 % % 存储在\content\acknowledgements.tex文件中 % 根据本科生院的要求,致谢应该在参考文献的前面,不编章号,而附录应该位于参考文献后。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \include{content/acknowledgements} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 参考文献 % % 编译过程自动生成参考文献 % 根据学校要求文中引用的文献应依次编序, % 其序号用方括号括起,如[5]、[6],置于右上角。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 由于参考文献不是chapter,这句把参考文献加入目录 % \addcontentsline{toc}{chapter}{参考文献} \printbibliography \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 附录部分 % % 存储在\content\appendix.tex文件中 % 不宜收入正文中,又有价值的内容可编入毕业论文(设计)的附录中。 % 大号的设计图纸;篇幅较大的计算机程序(以研究软件程序 % 为主的毕业论文(设计)题目,其程序可作为正文的一部分); % 过长的公式推演过程 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \appendix \include{content/appendix} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 科研成果 % % TODO: 硕士博士学位论文需添加 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \end{document} ================================================ FILE: docs/DEVELOPER_MANUAL.md ================================================ # 开发者文档 ## 代码提交规范 - PR 请提交至 dev 分支。特别是涉及 LaTeX 模板内容变化的,必须合入 dev 分支,master 分支的改动最好都从 dev 分支流入。 - git commit message 的编写风格请使用[Angular Commit Format](https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html) ## 文档命名规范 - 说明文档 项目说明文档,除`README.md`外均放置在`docs`目录下。不建议使用 plain txt 方式编辑文件,请使用 Markdown 语法。文件命名规则为大写字母加下划线,如`DEVELOPER_MANUAL.md`。 - 其他文件 请使用小写字母+下划线形式,如`csuthesis_main.tex`。 ```txt <修改类型>(<影响范围>): <不多于20字的标题> <--空行--> [正文] <--空行--> [页脚] ############### example: --------------- feat(本科生模板): 添加页码 封面不计入页码,正文之前采用罗马页码,正文采用阿拉伯数字页码 ############### ``` ## 项目结构 ```txt csu-thesis ├─.vscode // vscode配置文件 ├─content // 论文正文 │ └─chapters // 按章节存放的正文.tex文件 ├─docs // 项目文档 ├─images // 论文中用到的图像 └─word // word模板 ``` ================================================ FILE: docs/GIT_GUIDE.md ================================================ # Git 使用指引 ## :bulb: 第一次上手 Git ### 安装 git | 平台 | 方法 | | ------- | -------------------------------------------------------------------- | | Windows | [下载安装包](https://git-scm.com/download/win) | | Linux | `sudo apt install git` | | Mac | 安装 Xcode _或者_ 利用[Homebrew](https://brew.sh/)`brew install git` | ### 注册 GitHub 账号 点击当前页面右上角的`Sign up`,注册账号 ### 使用 https 方式克隆本仓库 该方法与 [README.md - 下载至本地](https://github.com/disc0ver-csu/csu-thesis#%E4%B8%8B%E8%BD%BD%E8%87%B3%E6%9C%AC%E5%9C%B0) 中所述一致,请参考之。 ### 使用 ssh 方式克隆本仓库 #### 注意事项 使用 ssh 方式的优点在于,向远端 push 时无需输入账号和密码。 注意:这里的 `git clone` 命令有别于仓库根目录 `README.md` 中使用 https 方式克隆仓库的命令。此处命令使用 ssh 方式克隆仓库,如果你已经使用 https 方式克隆了仓库,可以考虑执行 `git config remote.origin.url git@github.com:disc0ver-csu/csu-thesis.git` 从而使用 ssh 方式与远端通信。 #### 准备工作 如果你决定使用 ssh 方式与远端通信,且这是你第一次使用 Gtihub,你将需要上传自己的 RSA 公钥文件。 请检查本地是否存在 RSA 公钥文件,例如 `~/.ssh/id_rsa.pub` 。若无此类文件,请执行 `ssh-keygen` ,并一路回车,直到程序运行结束。此时你将得到 `~/.ssh/id_rsa.pub` 文件。 现在,点击页面右上角的个人头像,选择 `Settings`,在接下来显示的页面左边菜单中选择 `SSH and GPG keys`,点击页面右侧上方绿色的 `New SSH key` 按钮,将 `~/.ssh/id_rsa.pub` 文件中的内容复制到 `key` 文本框中,并且自定义一个好记的名字,填入 `Title` 文本框中,最后点击页面下方绿色的 `Add SSH key` 按钮,完成公钥上传工作。 #### 开始克隆 现在,你已经准备好克隆仓库了。请切换到合适的目录,执行以下命令: ```shell git clone git@github.com:disc0ver-csu/csu-thesis.git ``` #### :congratulations: YOU ARE READY TO GO! :congratulations: ## 📖 参考资料 第一次上手 Git,往往感到摸不着头脑。但这不要紧,请看这篇简明 Git 教程 - [猴子都能懂的 git 入门](https://backlog.com/git-tutorial/cn/) 读完教程,可以在线实战 Git 操作。这个交互式练习网站提供了从易到难的 Git 实操环境,可以帮助你快速习惯使用 Git - [交互式 Git 练习](https://learngitbranching.js.org/) 在参与项目协作时,你可能需要编辑 Markdown 文档,这是一种简单的标记语言,很好学习:Markdown 语法教程 - [基本语法大全](https://markdown.com.cn/basic-syntax/) [菜鸟教程之 markdown 语法](https://www.runoob.com/markdown/md-tutorial.html) ================================================ FILE: graduate.cls ================================================ % !Mode:: "TeX:UTF-8" \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{CSUBachelor}[2020/01/16 2.0 Zhongnan University Thesis Template for Bachelor Degree] \LoadClass[zihao=-4,a4paper,oneside]{ctexbook} \setmainfont{Times New Roman} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}} \ProcessOptions \newif\ifprint\printfalse \DeclareOption{forprint}{\printtrue} \ProcessOptions \newcommand\degree{^\circ} %用degree代替上标的角度的单位°,类似于宏定义?? % 这部分不需要ctex提供了\zihao指令 \newcommand{\chuhao}{\fontsize{42.2pt}{\baselineskip}\selectfont} \newcommand{\xiaochu}{\fontsize{36.1pt}{\baselineskip}\selectfont} \newcommand{\yihao}{\fontsize{26.1pt}{\baselineskip}\selectfont} \newcommand{\xiaoyi}{\fontsize{24.1pt}{\baselineskip}\selectfont} \newcommand{\erhao}{\fontsize{22.1pt}{\baselineskip}\selectfont} \newcommand{\xiaoer}{\fontsize{18.1pt}{\baselineskip}\selectfont} \newcommand{\sanhao}{\fontsize{16.1pt}{\baselineskip}\selectfont} \newcommand{\xiaosan}{\fontsize{15.1pt}{\baselineskip}\selectfont} \newcommand{\sihao}{\fontsize{14.1pt}{\baselineskip}\selectfont} \newcommand{\xiaosi}{\fontsize{12.1pt}{\baselineskip}\selectfont} \newcommand{\wuhao}{\fontsize{10.5pt}{\baselineskip}\selectfont} \newcommand{\xiaowu}{\fontsize{9.0pt}{\baselineskip}\selectfont} \newcommand{\liuhao}{\fontsize{7.5pt}{\baselineskip}\selectfont} \newcommand{\xiaoliu}{\fontsize{6.5pt}{\baselineskip}\selectfont} \newcommand{\qihao}{\fontsize{5.5pt}{\baselineskip}\selectfont} \newcommand{\bahao}{\fontsize{5.0pt}{\baselineskip}\selectfont} %------------------------ Page layout ---------------------------------- % \RequirePackage{fancyhdr,hyperref,CJKfntef,ulem,array} % TODO:其余包都在csuthesis.cls require \RequirePackage{CJKfntef,ulem} % 设置超链接打印 \hypersetup{pdfencoding=auto} \ifprint \hypersetup{hidelinks} \else \hypersetup{citecolor=magenta,linkcolor=blue} \fi \RequirePackage[top=2.7truecm,bottom=2.2truecm,left=3truecm,right=3truecm,includefoot,xetex]{geometry} % 页面设置% \newtoks\StudentNumber %学号 \newtoks\miji %密级 \newtoks\Cmajor %学科专业中文名 \newtoks\Emajor %学科专业英文名 \newtoks\Edate %英文日期 \newtoks\Etitle %英文题目 \newtoks\Eauthor %作者英文名 \newtoks\Esupervisor %指导教师英文名 \newtoks\Csupervisor %指导教师中文名 \newtoks\Eschoolname %学院英文名 \newtoks\Cschoolname %学院中文名 \newtoks\Eclassname %专业班级英文名 \newtoks\Cclassname %专业班级中文名 %------------------------------------- 页眉 页脚 ------------------------------------------- %\RequirePackage{ifthen} %第一页页眉与其他页不同 %fancyhdr宏包来设置页眉和页脚,默认每章的第一页的page style是plain,需要单独处理。 % 设置 plain 的属性 \fancypagestyle{plain} { \fancyhf{} %清除以前对页眉页脚的设置 % 设置页眉 (head) \fancyhead[RE,RO]{\heiti \xiaowu \@title} %自定义标题,奇数页偶数页均 \fancyhead[LE,LO]{\includegraphics[scale=0.15]{coverCSU.png}} \renewcommand{\headrulewidth}{0.7pt} % 页眉与正文之间的水平线粗细 % 设置页脚(foot) \renewcommand{\footrulewidth}{0pt} %隐藏页脚横线 \fancyfoot[C]{-\,\thepage\,-} %正文页脚格式-1- } % 设置 fancy 的属性 \pagestyle{fancy} { \fancyhf{} \fancyhead[RE,RO]{\heiti \xiaowu \@title} %自定义标题 \fancyhead[LE,LO]{\includegraphics[scale=0.1]{coverCSU.png}} \renewcommand{\headrulewidth}{0pt} \fancyfoot[C]{-\,\thepage\,-} } %----------------------------------------封面-------------------------------------------- \RequirePackage{makecell} %表格内换行 \def\maketitle{% \thispagestyle{empty}% \begin{center}\ \begin{figure}[ht] %开始图片 \centering \includegraphics[scale=0.5]{coverCSU.png} \label{fig:good} \end{figure} %\setlength{\parskip}{2em} %设置段落间距 \vspace*{24pt} %两行,小四号空白12pt { \noindent %\setlength{\lineskip}{26pt} %设置行间距 \heiti\fontsize{45pt}{45pt} \makebox[9cm][c]{本科毕业设计(论文)}\\ \vspace{26pt} %一行,一号空白26pt \heiti\yihao \makebox[9cm][c]{GRADUATION DESIGN(THESIS)} } \par \vspace*{48pt} %四行,小四号空白12pt {\heiti \xiaoer \begin{tabular}{ccc} %\CJKunderline \the\ 中南大学本科毕业设计~\LaTeX~模板 %{\makebox[3.2cm][s]{题\hfill 目:}} & {\uline\kaishu \xiaoer \makebox[8cm][c]{ \@title} }& \\[2ex] {\makebox[3.2cm][s]{题\hfill 目:}} & {\uline{\kaishu \xiaoer \makebox[8cm]{\shortstack[c]{中南大学本科毕业设计 \\ ~\LaTeX~模板}}} }& \\[2ex] %此处感谢网友 http://blog.sina.com.cn/s/blog_665f991f0100q7j9.html {\makebox[3.2cm][s]{学\hfill 生\hfill 姓\hfill 名:}} & {\kaishu \xiaoer\uline{\makebox[8cm][c]{\@author}}}& \\[2ex] {\makebox[3.2cm][s]{指\hfill 导\hfill 教\hfill 师:}} & {\kaishu \xiaoer\uline{\makebox[8cm][c]{\the\Csupervisor}}}& \\[2ex] {\makebox[3.2cm][s]{学\hfill 院:}} & {\kaishu \xiaoer\uline{\makebox[8cm][c]{\the\Cschoolname}}}& \\[3ex] {\makebox[3.2cm][s]{专\hfill 业\hfill 班\hfill 级:}} & {\kaishu \xiaoer\uline{\makebox[8cm][c]{\the\Cclassname}}}& \\[2ex] \end{tabular} } \par \vspace{72pt} %6行,小四号空白12pt { \heiti \erhao 本科生院制\\ \heiti \xiaoer \@date \par } \end{center} % \null % \cleardoublepage } %--------------------------------------- Abstract & Keywords ------------------------------------------- \setCJKfamilyfont{zhsong}[AutoFakeBold = {2.17}]{SimSun} \renewcommand*{\songti}{\CJKfamily{zhsong}} %解决宋体无法加粗的问题 \newcommand\cnabstractname{摘要} \newcommand\enabstractname{ABSTRACT} \newcommand\cnkeywords[1]{ {\noindent\bfseries\songti\zihao{-4}\cnkeywordsname: }#1} \newcommand\cnkeywordsname{关键词} \newcommand\enkeywords[1]{ {\noindent\bfseries\zihao{-4}\enkeywordsname: }#1} \newcommand\enkeywordsname{Key words} \newenvironment{cnabstract}{ \newpage \begin{center} \heiti \xiaoer \vspace*{1em} %空一行 \@title\\ \vspace*{1em} %空一行 {\heiti\zihao{3}\cnabstractname} \vspace*{1em} %空一行 \end{center} \songti\zihao{-4} } \newenvironment{enabstract}{ \newpage \begin{center} \heiti \xiaoer \vspace*{1em} %空一行 \the\Etitle\\ \vspace*{1em} %空一行 {\heiti\zihao{3}\enabstractname} \vspace*{1em} %空一行 \end{center} \songti\zihao{-4} } % {\par} %-------------------------------------常用宏包---------------------------------------- \RequirePackage{amsmath,amssymb} \RequirePackage[amsmath,thmmarks]{ntheorem}% AMSLaTeX宏包. \RequirePackage{graphicx} % 图形 \RequirePackage{color,xcolor} %支持彩色 %\RequirePackage{mathrsfs} % 不同于\mathcal or \mathfrak 之类的英文花体字体 \RequirePackage{url} \RequirePackage{enumerate} %%----------------------- Theorems ----------------------------------- \theoremstyle{plain} \theoremheaderfont{\heiti} \theorembodyfont{\songti} \theoremindent0em \theorempreskip{0pt} \theorempostskip{0pt} \theoremnumbering{arabic} %\theoremsymbol{} %定理结束时自动添加的标志 \newtheorem{theorem}{\hspace{2em}定理}[section] \newtheorem{definition}{\hspace{2em}定义}[section] \newtheorem{lemma}{\hspace{2em}引理}[section] \newtheorem{corollary}{\hspace{2em}推论}[section] \newtheorem{proposition}{\hspace{2em}性质}[section] \newtheorem{example}{\hspace{2em}例}[section] \newtheorem{remark}{\hspace{2em}注}[section] \theoremstyle{nonumberplain} \theoremheaderfont{\heiti} \theorembodyfont{\normalfont \rm \songti} \theoremindent0em \theoremseparator{\hspace{1em}} \theoremsymbol{$\square$} \newtheorem{proof}{\hspace{2em}证明} \newcommand{\upcite}[1]{\textsuperscript{\cite{#1}}} %自定义新命令\upcite, 使参考文献引用以上标出现 %---------------------- suppress extra inter-line spacing in \list environments-------------------- \makeatletter \setlength\partopsep{0pt} \def\@listI{\leftmargin\leftmargini \parsep 0pt \topsep \parsep \itemsep \parsep} \@listI \def\@listii {\leftmargin\leftmarginii \labelwidth\leftmarginii \advance\labelwidth-\labelsep \parsep \z@ \@plus\z@ \@minus\z@ \topsep \parsep \itemsep \parsep} \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii \advance\labelwidth-\labelsep \parsep \z@ \@plus\z@ \@minus\z@ \topsep \parsep \itemsep \parsep} \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv \advance\labelwidth-\labelsep \parsep \z@ \@plus\z@ \@minus\z@ \topsep \parsep \itemsep \parsep} \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv \advance\labelwidth-\labelsep \parsep \z@ \@plus\z@ \@minus\z@ \topsep \parsep \itemsep \parsep} \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep \parsep \z@ \@plus\z@ \@minus\z@ \topsep \parsep \itemsep \parsep} % % Change default margins for \list environments \setlength\leftmargini {2\ccwd} \setlength\leftmarginii {\leftmargini} \setlength\leftmarginiii {\leftmargini} \setlength\leftmarginiv {\leftmargini} \setlength\leftmarginv {\ccwd} \setlength\leftmarginvi {\ccwd} \setlength\leftmargin {\leftmargini} \setlength\labelsep {.5\ccwd} \setlength\labelwidth {\leftmargini} % \setlength\listparindent{2\ccwd} % Change \listparindent to 2\ccwd in \list \def\list#1#2{\ifnum \@listdepth >5\relax \@toodeep \else \global\advance\@listdepth\@ne \fi \rightmargin \z@ \listparindent2\ccwd \itemindent \z@ \csname @list\romannumeral\the\@listdepth\endcsname \def\@itemlabel{#1}\let\makelabel\@mklab \@nmbrlistfalse #2\relax \@trivlist \parskip\parsep \parindent\listparindent \advance\linewidth -\rightmargin \advance\linewidth -\leftmargin \advance\@totalleftmargin \leftmargin \parshape \@ne \@totalleftmargin \linewidth \ignorespaces} \makeatother %----------------------------------------------------------------------------------------------------------------- \newcommand\acknowledgement{\chapter*{\ziju{0}结束语(或致谢)}} %--------------------------------------- 章节标题设置 ------------------------------------------------- \RequirePackage{ctex,indentfirst} \ctexset{chapter={format+={\heiti\zihao{3}},afterskip={12pt},beforeskip={-12pt},number={\arabic{chapter}},name={第,章}}} \ctexset{section={format+={\heiti\zihao{-4}\raggedright},indent={2em},afterskip={0pt},beforeskip={0pt}}} \ctexset{subsection={format+={\kaishu\zihao{-4}\raggedright},indent={2em}}} \ctexset{subsubsection={format={\zihao{-4}\bf\raggedright}}} \setcounter{tocdepth}{4} \setcounter{secnumdepth}{4} %-----------------------------------------图表标题设置 --------------------------------------- \RequirePackage[labelsep=quad]{caption} %序号之后空一格写标题 \captionsetup[table]{textfont=bf} %设置表格标题字体为黑体 。2016.06.07 \renewcommand\figurename{\heiti\zihao{5} 图} \renewcommand\tablename{\heiti\zihao{5} 表} %-----------------------------------------目录设置------------------------------------------- \RequirePackage{titletoc} \ctexset{contentsname={目录}} \RequirePackage{tocloft} %\usepackage[subfigure]{tocloft} %模板中用了subfigure,不加此选项会产生冲突 \renewcommand\cfttoctitlefont{\hfill\heiti\zihao{3}} \renewcommand\cftaftertoctitle{\hfill} \renewcommand\cftdotsep{1} % change the space between dots \renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}}%类似的,report类中为section补上引导点 \renewcommand\cftbeforetoctitleskip{0pt} \renewcommand\cftaftertoctitleskip{0pt} \renewcommand\cftchapfont{\songti\xiaosi} \renewcommand\cftchappagefont{\songti\xiaosi} %将章节后面默认的加粗给去掉 \renewcommand\cftsecfont{\songti\xiaosi} \renewcommand\cftsubsecfont{\songti\xiaosi} %---------------------------------------------参考文献--------------------------------------------------- \bibliographystyle{abbrv} % 参考文献样式, plain,unsrt,alpha,abbrv,chinesebst 等等 %---------------------------------------------------------------------------------------------- \graphicspath{{figures/}} % 图片文件路径 %---------------------------------------------------------------------------------------------- \allowdisplaybreaks \endlinechar `\^^M \endinput %-----------------------------------------附录,代码------------------------------ \RequirePackage{listings} %对代码进行抄录环境的宏包 \lstset{columns=flexable,numbers=left,numberstyle=\footnotesize,escapechar=`}%设置·为转义字符,这样才可以显示汉语 ================================================ FILE: latexmkrc ================================================ # Latexmk configuration file. # Latexmk 配置文件,命名为 `latexmkrc` 或者 `.latexmkrc` # 设置个选项执行的命令 $pdflatex = "pdflatex -synctex=1 -interaction=nonstopmode -file-line-error %O %S"; $xelatex = "xelatex -synctex=1 -interaction=nonstopmode -file-line-error %O %S"; $bibtex = "bibtex %O %S"; $biber = "biber %O %S"; # Use xelatex with latexmk # 使用 xelatex 引擎编译 # 设置pdf生成模式,有 0 1 2 3 4 5 # 0 代表不生成 pdf # 1 代表使用 $pdfltex 选项的命令 # 2 代表使用 $ps2pdf # 3 代表使用 $dvipdf # 4 代表使用 $lualatex; # 5 代表使用 $xelatex $pdf_mode = 5; # Configure files to clean # 执行 latexmk -c 或 latexmk -C 时会清空 latex 程序生成的文件(-C 更强,会清空pdf) $clean_ext = "aux bbl bcf blg idx ind lof lot out toc acn acr alg glg glo gls ist fls log fdb_latexmk synctex.gz run.xml thm xdv" ================================================ FILE: translation.cls ================================================ ================================================ FILE: undergraduate.cls ================================================ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 预定义名称 % % 预定义全局使用的文字,如姓名、专业等信息, % 在content/info.tex中定义 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 以下定义封面相关命令和相应的宏,以titleen为例,\titleen为实际在源码中使用的命令, % 一旦执行就会因为\gdef\@titleen{#1}使得其产生一个\@titleen的宏,而该宏能够在后续的环境中使用。 % TODO: 之后版本迁移至公共模板入口csuthesis.cls 处(放置在引入子模版之后) \newcommand*{\titlecn}[1]{\gdef\@titlecn{#1}} % 中文标题 \newcommand*{\titleen}[1]{\gdef\@titleen{#1}} % 英文标题 \newcommand*{\priormajor}[1]{\gdef\@priormajor{#1}} % 一级学科(学科专业) \newcommand*{\minormajor}[1]{\gdef\@minormajor{#1}} % 二级学科(学科方向) \newcommand*{\interestmajor}[1]{\gdef\@interestmajor{#1}} % 研究方向,关键词组 \newcommand*{\department}[1]{\gdef\@department{#1}} % 二级培养单位 \newcommand*{\supervisor}[1]{\gdef\@supervisor{#1}} % 导师 \newcommand*{\myclass}[1]{\gdef\@myclass{#1}} % 导师 \newcommand*{\subsupervisor}[1]{\gdef\@subsupervisor{#1}} % 副导师 \newcommand*{\studentid}[1]{\gdef\@studentid{#1}} % 学号 \newcommand*{\clcnumber}[1]{\gdef\@clcnumber{#1}} % 中图分类号 Chinese Library Classification \newcommand*{\schoolcode}[1]{\gdef\@schoolcode{#1}} % 学校代码 \newcommand*{\udc}[1]{\gdef\@udc{#1}} % UDC \newcommand*{\academiccategory}[1]{\gdef\@academiccategory{#1}} % 学术类别 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 页面布局 % % 设置页边距以及版芯行间距设置 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 边距要求上2.5cm,下2.5cm,左3cm,右2cm \geometry{top=2.5cm,bottom=2.5cm,left=3cm,right=2cm} % 本科生从摘要开始就要有 % 设置页眉和页脚 % \pagestyle{fancy} % 本科学位论文底部样式 \newcommand{\csu@thepage@format@zh}[2]{第~{#1}~页 共~{#2}~页} \newcommand{\csu@thepage@format@en}[1]{#1} % 空白页清空页眉页脚 \patchcmd{\cleardoublepage}{\newpage}{\thispagestyle{empty}\newpage}{}{} % 对章节首页的特殊page style清除页眉页脚 \patchcmd{\chapter}{\thispagestyle}{\@gobble}{}{} % 内芯页眉设置 \ifcsu@output@print \fancyhead[L]{\includegraphics[scale=0.13]{images/csu_logo_long_black.png}} \else \fancyhead[L]{\includegraphics[scale=0.13]{images/csu_logo_long_blue.png}} \fi \ifcsu@type@bachelor \fancyhf[RH]{\heiti \zihao{-5} {\@titlecn}} \else \ifcsu@type@translation \fancyhf[RH]{\heiti \zihao{-5} {文献翻译}} \fi \ifcsu@type@research \fancyhf[RH]{\heiti \zihao{-5} {调研报告}} \fi \fi % frontmatter设置 \renewcommand{\frontmatter}{ \cleardoublepage \@mainmatterfalse % 根据学校要求使用大罗马编号 \pagenumbering{Roman} \def\csu@thepage{\thepage} \def\csu@lastpageref{\pageref{LastPage}} \fancyfoot[C]{\zihao{-5} \csu@thepage@format@en{\csu@thepage}} } % mainmatter设置 \renewcommand{\mainmatter}{ \cleardoublepage \@mainmattertrue % 正文部分启用阿拉伯数字编号 \pagenumbering{arabic} \def\csu@thepage{\thepage} \def\csu@lastpageref{\pageref{LastPage}} \fancyfoot[C]{\zihao{-5} \songti \csu@thepage@format@zh{\csu@thepage}{\csu@lastpageref}} } % 给页眉留足空间(否则会有 \headheight is too small的warning) \setlength{\headheight}{14.5pt} % “磅”是衡量印刷字体大小的单位,约等于七十二分之一英寸。 % 而 1英寸=25.4毫米,则1磅=25.4/72≈0.353毫米。 % 磅和 LaTeX的 pt- points (大约 1/72 inch) 是一致的。 % 基本行间距设置 \renewcommand*{\baselinestretch}{1.3} % 几倍行间距 \setlength{\baselineskip}{20pt} % 基准行间距 % \setlength{\bibsep}{0.5ex} % 参考文献条目间距 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 字体设置 % % 进行相关字体设置,定义必须的新字体 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % TODO: Times New Roman目前只能在Windows上使用,需要增加Linux系统字体 % \setmainfont{Times New Roman} % \setmonofont{Courier New} % \setsansfont{Arial} % \renewcommand\normalsize{% % \@setfontsize\normalsize{12.05}{14.45}% % \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ % \abovedisplayshortskip \z@ \@plus3\p@ % \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ % } % Windows 设置 \setCJKmainfont{SimSun}[AutoFakeBold, AutoFakeSlant] \setCJKsansfont{SimHei}[AutoFakeBold, AutoFakeSlant] \setCJKmonofont{FangSong}[AutoFakeBold, AutoFakeSlant] % % 协议页的标题按模板是华文新魏 % % Fix: 合并为 newCJKfontfamily \newCJKfontfamily[hwxw]\hwxw{STXinwei}[BoldFont=*, ItalicFont=*, BoldItalicFont=*] % \newCJKfontfamily[zysong]\songti{SimSun}[BoldFont=*, ItalicFont=*, BoldItalicFont=*] \newCJKfontfamily[zysong]\songti{SimSun}[AutoFakeBold={3.17}] \newCJKfontfamily[zyhei]\heiti{SimHei}[AutoFakeBold={3.17}] \newCJKfontfamily[zykai]\kaiti{KaiTi}[AutoFakeBold={3.17}] \newCJKfontfamily[kaitigb]\kgb{KaiTi_GB2312.ttf}[AutoFakeBold={3.17}] % % 重定义ctex定义好的宋体和黑体,以支持伪加粗AutoFakeBold % % 即支持类似word里的给黑体、宋体等中文字体加粗的操作,用\bfseries \newfontfamily{\enheiti}{SimHei} % 解决标题英文括号不显示黑体 % 预定义名称 \newcommand*{\csu@name@cover}{扉页} \newcommand*{\csu@name@abstract@zh}{中文摘要} \newcommand*{\csu@name@abstract@en}{英文摘要} \newcommand*{\csu@name@keywords}{关键字} \newcommand*{\csu@name@contents}{目录} \newcommand*{\csu@name@listfigure}{插图清单} \newcommand*{\csu@name@listtable}{附表清单} \newcommand*{\csu@name@index}{索引} \newcommand*{\csu@name@figure}{图} \newcommand*{\csu@name@table}{表} \newcommand*{\csu@name@appendix}{附录} \newcommand*{\csu@name@acknowledgements}{致谢} %--------------------------------------------- %控制引用格式,选用上标引用 % \newcommand\supercite[2][]{% % \textsuperscript{\cite[#1]{#2}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 封面扉页 % % 提供本科毕业论文封面扉页设计 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 论文日期 % 采用key-value对的方式来制定存储信息的pgf路径 \pgfkeys{/thesisdate/pgf/.cd, % 定义pgf路径 year/.store in = \year, % 指定关键词year的存储位置为\year month/.store in = \month % 指定关键词month的存储位置为\month } % 利用上述的pgf的key-value定制论文日期命令 \newcommand{\thesisdate}[1] { \pgfkeys{/thesisdate/pgf/.cd,#1} % 指定使用/thesisdate/pgf/.cd来解释参数,然后在后文能直接使用存储位置来指定解释的内容 \gdef\@thesisdate{\year{} 年 \month{} 月} % 将构建好的日期存储到宏(\@thesisdate)中 } % 重定义\maketitle实现封面(扉页)绘制 \RenewDocumentCommand{\maketitle}{}{ \csu@pdfbookmark{0}{\csu@name@cover} % 根据选项进行不同的封面(扉页绘制) \ifcsu@type@bachelor % 绘制本科毕设论文封面 \csu@make@bachelor@cover@zh \else % 绘制论文翻译或者课程论文封面 \ifcsu@type@translation \csu@make@translation@cover@zh \fi \ifcsu@type@research \csu@make@research@cover@zh \fi % 否则不绘制封面 \fi } % 构建本科毕设论文封面绘制宏 \NewDocumentCommand{\csu@make@bachelor@cover@zh}{} { \thispagestyle{empty} \begin{center} \vspace*{10pt} \begin{figure}[hbt] \centering \ifcsu@output@print \includegraphics[width=0.71\textwidth]{images/csu_logo_long_black.png} \else \includegraphics[width=0.71\textwidth]{images/csu_logo_long_blue.png} \fi \end{figure} \vspace{8pt} \begingroup \fontsize{45}{60}\selectfont \enheiti \heiti \CJKsetecglue{} 本科毕业设计(论文) \par % 45磅,黑体 \endgroup \vspace*{14pt} \begingroup \zihao{1} \enheiti GRADUATION DESIGN(THESIS) \par % 1号,黑体 \endgroup \vspace{70pt} % 空行 \begingroup \linespread{1.3} \zihao{-2} \heiti \begin{tabular}{ll} \hspace{12pt} \makebox[4em][s]{题\qquad 目:} & \underline{\parbox[][][c]{220pt}{\center \kaiti \@titlecn}} \\ \hspace{12pt} \makebox[4em][s]{学生姓名:} & \underline{\makebox[220pt][c]{\kaiti \@author}} \\ \hspace{12pt} \makebox[4em][s]{指导老师:} & \underline{\makebox[220pt][c]{\kaiti \@supervisor}} \\ \hspace{12pt} \makebox[4em][s]{学\qquad 院:} & \underline{\makebox[220pt][c]{\kaiti \@department}} \\ \hspace{12pt} \makebox[4em][s]{专业班级:} & \underline{\makebox[220pt][c]{\kaiti \@myclass}} \\ \end{tabular} \endgroup \par \vspace{40pt} % \vfill \begingroup {\zihao{2} \heiti 本科生院制 \par} \vspace{10pt} {\zihao{-2} \heiti \@thesisdate \par} \endgroup \end{center} } % 构建论文翻译封面绘制宏 \NewDocumentCommand{\csu@make@translation@cover@zh}{} { \thispagestyle{empty} \begin{center} \vspace*{10pt} \begin{figure}[hbt] \centering \ifcsu@output@print \includegraphics[width=0.71\textwidth]{images/csu_logo_long_black.png} \else \includegraphics[width=0.71\textwidth]{images/csu_logo_long_blue.png} \fi \end{figure} \vspace{8pt} \begingroup \linespread{1.0} \fontsize{45}{60}\selectfont \enheiti \heiti \CJKsetecglue{} 本科毕业设计(论文) \par \fontsize{40}{45}\selectfont \enheiti \heiti \CJKsetecglue{}文献翻译 \par \endgroup \vspace*{14pt} \begingroup \linespread{1.0} \zihao{1} \enheiti GRADUATION DESIGN(THESIS) \par \zihao{1} \enheiti TRANSLATION \par % 1号,黑体 \endgroup \vspace{40pt} % 空行 \begingroup \linespread{1.3} \zihao{-2} \heiti \begin{tabular}{ll} \hspace{12pt} \makebox[4em][s]{题\qquad 目:} & \underline{\parbox[][][c]{220pt}{\center \kaiti \@titlecn}} \\ \hspace{12pt} \makebox[4em][s]{学生姓名:} & \underline{\makebox[220pt][c]{\kaiti \@author}} \\ \hspace{12pt} \makebox[4em][s]{指导老师:} & \underline{\makebox[220pt][c]{\kaiti \@supervisor}} \\ \hspace{12pt} \makebox[4em][s]{学\qquad 院:} & \underline{\makebox[220pt][c]{\kaiti \@department}} \\ \hspace{12pt} \makebox[4em][s]{专业班级:} & \underline{\makebox[220pt][c]{\kaiti \@myclass}} \\ \end{tabular} \endgroup \par \vspace{40pt} % \vfill \begingroup {\zihao{2} \heiti 本科生院制 \par} \vspace{10pt} {\zihao{-2} \heiti \@thesisdate \par} \endgroup \end{center} } % 构建调研报告封面绘制宏 \NewDocumentCommand{\csu@make@research@cover@zh}{} { \thispagestyle{empty} \begin{center} \vspace*{10pt} \begin{figure}[hbt] \centering \ifcsu@output@print \includegraphics[width=0.71\textwidth]{images/csu_logo_long_black.png} \else \includegraphics[width=0.71\textwidth]{images/csu_logo_long_blue.png} \fi \end{figure} \vspace{8pt} \begingroup \linespread{1.0} \fontsize{45}{60}\selectfont \enheiti \heiti \CJKsetecglue{} 本科毕业设计(论文) \par \fontsize{40}{45}\selectfont \enheiti \heiti \CJKsetecglue{} 调研报告 \par \endgroup \vspace*{14pt} \begingroup \linespread{1.0} \zihao{1} \enheiti GRADUATION DESIGN(THESIS) \par \zihao{1} \enheiti RESEARCH REPORT \par % 1号,黑体 \endgroup \vspace{40pt} % 空行 \begingroup \linespread{1.3} \zihao{-2} \heiti \begin{tabular}{ll} \hspace{12pt} \makebox[4em][s]{题\qquad 目:} & \underline{\parbox[][][c]{220pt}{\center \kaiti \@titlecn}} \\ \hspace{12pt} \makebox[4em][s]{学生姓名:} & \underline{\makebox[220pt][c]{\kaiti \@author}} \\ \hspace{12pt} \makebox[4em][s]{指导老师:} & \underline{\makebox[220pt][c]{\kaiti \@supervisor}} \\ \hspace{12pt} \makebox[4em][s]{学\qquad 院:} & \underline{\makebox[220pt][c]{\kaiti \@department}} \\ \hspace{12pt} \makebox[4em][s]{专业班级:} & \underline{\makebox[220pt][c]{\kaiti \@myclass}} \\ \end{tabular} \endgroup \par \vspace{40pt} % \vfill \begingroup {\zihao{2} \heiti 本科生院制 \par} \vspace{10pt} {\zihao{-2} \heiti \@thesisdate \par} \endgroup \end{center} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 摘要 % % 提供中英文摘要样式 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ---------------------------------------------- % 中文摘要 % ---------------------------------------------- % 中文摘要格式具体见样例8,居中打印论文题名(三号黑体) % 换行顶格编排“摘要”(四号黑体)及摘要内容(四号宋体)、 % 每段开头空二格。摘要内容后下换行顶格编排“关键词”和“分类号”(四号黑体)。 % 每篇论文应选取3-8个关键词,每一关键词之间用分号分开,最后一个关键词后不打标点符号。 \newcommand*{\keywordscn}[1]{\gdef\@keywordscn{#1}} % 定义中文关键词 %\newcommand*{\categorycn}[1]{\gdef\@categorycn{#1}} % 定义中文分类 % 定义中文摘要环境 \newenvironment{abstractzh} { \csu@pdfbookmark{0}{\csu@name@abstract@zh} \renewcommand*{\headsep}{0pt} \vspace*{0pt} \begin{center} \zihao{-2} \heiti \@titlecn \end{center} \vspace{0pt} \begin{center} \zihao{3} \heiti 摘要 \end{center} % 摘要为三号黑体 \vspace{12pt} \linespread{1.5} \zihao{-4}\songti % 内容为四号宋体 } % 显示中文关键词和分类号 { \begin{flushleft} \noindent {\zihao{-4} \bfseries \songti 关键词:} {\zihao{-4} \songti \@keywordscn} \par % 关键词为小四号宋体加粗,内容为小四号宋体 \end{flushleft} } % ---------------------------------------------- % 英文摘要 % ---------------------------------------------- % 英文摘要格式和内容与中文摘要相对应,另起一页,具体见样例9。居中打印论文英文题名(三号Times New Roman字体),换行顶格编排“Abstract”及英文摘要内容(四号Times New Roman字体),摘要内容每段开头留四个字符空格。摘要内容后下换行顶格编排“Keywords”和“Classification”。 % 定义英文摘要,字体全部为timesnewroman \newcommand*{\keywordsen}[1]{\gdef\@keywordsen{#1}} % 英文关键词 \newenvironment{abstracten} { % 新建英文摘要环境 \csu@pdfbookmark{0}{\csu@name@abstract@en} \vspace*{0pt} \begin{center} \zihao{-2} \bfseries \@titleen \end{center} \vspace{0pt} \begin{center} \zihao{3} \bfseries ABSTRACT \end{center} \vspace{12pt} \linespread{1.5} \zihao{-4} % 内容为四号宋体 } { \begin{flushleft} % bugfix 英文摘要字体设置 \noindent {\zihao{-4} \bfseries Key\ words:~} {\zihao{-4} \@keywordsen} \par % 新版本要求小四号 \end{flushleft} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 5. 目录 % % -----------------------------------------------% % 目录应列出论文的大标题、一级和二级节标题,逐项标明页码(具体见样例10)。各级标题应简明扼要、点出各部分主要内容。学位论文的页码编排为:正文和后置部分用阿拉伯数字编连续码,前置部分用罗马数字单独编连续码(封面除外)。 % “目录”两字居中(三号黑体),下空两行为章、节、小节及其开始页码(靠右顶格)。章、节、小节分别以阶梯式排列:1(第1章)、1.1、1.1.1依次标出。章、节、小节的题名与页码之间用“......”连接。除“目录”两字外,其余字体均为小四号宋体。 %TODO: 本科和硕博目录格式要求不同 % \renewcommand{\contentsname}{\hfill \heiti \zihao{3} 目\quad 录\hfill} % \renewcommand{\contentsname}{目录} % \renewcommand*{\baselinestretch}{1.5} % 行间距 % \tableofcontents % } \renewcommand\tableofcontents{ \chapter*{\csu@name@contents} \csu@pdfbookmark{0}{\csu@name@contents} \@starttoc{toc} } \newcommand\csu@toc@set@format{ % 目录格式修复 % bugfix: 修复章节加粗 \renewcommand\cftchapfont{\songti\zihao{-4}} \renewcommand\cftchappagefont{\songti\zihao{-4}} \renewcommand{\cftdot}{$\cdot$} \renewcommand{\cftdotsep}{0.5} \setlength{\cftbeforechapskip}{4pt} \setlength{\cftbeforesecskip}{4pt} \setlength{\cftbeforesubsecskip}{4pt} % \setlength{\cftaftersecskip}{12pt} \renewcommand{\cftchapleader}{\cftdotfill{\cftchapdotsep}} \renewcommand{\cftchapdotsep}{\cftdotsep} } % bugfix: forget to call (v1.0.3-v1.0.4) \csu@toc@set@format % 6. 符号说明(必要时)% % ---------------------------------------------------------% % TODO: % % 如果论文中使用了大量的物理量符号、标志、缩略词、专门计量单位、自定义名词和术语等,应编写成注释说明汇集表,说明论文中所用符号所表示的意义及单位(或量纲)。若上述符号和缩略词使用数量不多,可以不设专门的注释说明汇集表,仅在论文中出现时加以说明。 % “符号说明”四字居中(三号黑体)。 % 7. 论文正文 % % -------------------------------------------------------% % 论文正文是主体,主体部分应从另页右页开始,每一章应另起页。一般由序号标题、文字叙述、图、表格和公式等五个部分构成。 % 写作形式可因研究内容的性质不同而变化,一般可包括绪论(或综述)、理论分析、计算方法、实验装置和测试方法、实验结果分析和讨论、研究成果、结论及意义等。 % 该部分由用户编写 % 图表等浮动环境设置 % % ----------------------------------------------------------% % TODO % % 图、表、公式:文中的图、表、附注、公式一律采用阿拉伯数字分章(或连续)编号,如:图2-5,表3-2,公式(5-1)等。 % 图序及图名居中置于图的下方,如果图中含有几个不同部分,应将分图号标注在分图的左上角,并在图解下列出各部分内容。图中的术语、符号、单位等应与正文表述所用一致。 % 表序及表名置于表的上方,表中参数应标明量和单位的符号。表的编排应采用国际通用的三线表。续表均应重复表头,如表需转页接排,随后各页应重复表的编号,其后跟表题(可省略)和“续”置于表上方。 % 图序及图名、表序及表名采用五号楷体字。若图或表中有附注,采用英文小写字母顺序编号,附注写在图或表的下方。公式的编号用括号括起写在右边行末,其间不加虚线。 % 图、表、公式等与正文之间要有一定的行间距。 % \RequirePackage{caption} % 默认情况下, \LaTeX{} 要求每页的文字至少占据 20%,否则该页就只单独放置一个浮动环境, % 而这通常不是我们想要的, 我们将这个要求降低到 5%. \renewcommand*{\textfraction}{0.05} % 有时如果多个浮动环境连续放在一起, \LaTeX{} % 会将它们分在几个不同页,即使它们可在同一页放 % 得下. 我们可以通过修改 |\topfraction| 和 |\bottomfraction| 分别设置顶端和底端的浮 % 动环境的最大比例. \renewcommand*{\topfraction}{0.9} \renewcommand*{\bottomfraction}{0.8} % 有时\LaTeX{}会把一个浮动环境单独放在一页, % 我们要求这个环境至少要占据 85% 才能单独放在一页. % 注意: |\floatpagefraction| 的数值必须小于 |\topfraction|. \renewcommand*{\floatpagefraction}{0.85} % 关于图片 graphicx % 如果图片没有指定后缀, 依次按下列顺序搜索 \DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png,.tif} % 设置图表搜索路径, 可以给图表文件夹取如下名字 \graphicspath{{figures/}{figure/}{pictures/}% {picture/}{pic/}{pics/}{image/}{images/}} % 插图格式 % ------------------------------------------------------% % \captionsetup[subfigure]{labelfont=normalfont,textfont=normalfont,singlelinecheck=off,justification=raggedright} % singlelinecheck=off 表示即使caption只有一行, justification 也生效 % justification=raggedright 使子图 caption 靠左对齐,而caption的上下位置由\caption标签的位置决定,以此实现了学校要求的子图标签在左上角显示。 % 这部分功能由 subcaption 这个包实现,而这个包不能和 subfigure 同时使用,所以子图的写法也与 subfigure 包的不大一样。 \captionsetup[subfigure]{singlelinecheck=off,justification=raggedright} % 图下方描述的黑体 \DeclareCaptionFont{hei}{\heiti} \DeclareCaptionFont{five}{\zihao{5}} \renewcommand{\thefigure}{\arabic{section}-\arabic{figure}} % \renewcommand{\thefigure} {\thesection-\arabic{figure}} \captionsetup[figure]{ format=plain, % 标题从第二行开始是否缩进,plain无缩进,hang有缩进 labelsep=quad, % 分隔符是一个空格 font={hei,five}, position=bottom % position=bottom, 不代表标题放在下面, 标题仍放在你放\caption的位置. } % 表格格式 % ------------------------------------------------------% \renewcommand{\thetable}{\arabic{section}-\arabic{table}} % \renewcommand {\thetable} {\thesection-\arabic{table}} \captionsetup[table]{ format=plain, % 标题从第二行开始是否缩进,plain无缩进,hang有缩进 labelsep=quad, % 分隔符是一个空格 font={hei,five}, % 表的字体, 宋体小四 position=top } % 列表环境设置 % % ------------------------------------------------------------------% \setlist{% topsep=0.3em, % 列表顶端的垂直空白 partopsep=0pt, % 列表环境前面紧接着一个空白行时其顶端的额外垂直空白 itemsep=0ex plus 0.1ex, % 列表项之间的额外垂直空白 parsep=0pt, % 列表项内的段落之间的垂直空白 leftmargin=1.5em, % 环境的左边界和列表之间的水平距离 rightmargin=0em, % 环境的右边界和列表之间的水平距离 labelsep=0.5em, % 包含标签的盒子与列表项的第一行文本之间的间隔 labelwidth=2em % 包含标签的盒子的正常宽度;若实际宽度更宽,则使用实际宽度。 } % 表格 % % ------------------------------------------------------% % 修改tabular 环境, 设置表格中的行间距为正文行间距. \let\csu@oldtabular\tabular \let\csu@endoldtabular\endtabular \renewenvironment{tabular} { \bgroup \renewcommand{\arraystretch}{1.38} \csu@oldtabular } { \csu@endoldtabular\egroup } % 表格字号应比正文小,一般五号/10.5pt,但是暂时没法再cls里设置(不然会影响到封面等tabular环境) % 所以目前只好在主文件里局部\AtBeginEnvironment % 数学环境, 定理等设置 % % -------------------------------------------------------% \newtheorem{definition}{\csu@cap@definition} \newtheorem{proposition}{\csu@cap@proposition} \newtheorem{theorem}{\csu@cap@theorem} \newtheorem{lemma}{\csu@cap@lemma} \newtheorem{corollary}{\csu@cap@corollary} \newtheorem{assumption}{\csu@cap@assumption} \newtheorem{conjecture}{\csu@cap@conjecture} \newtheorem{axiom}{\csu@cap@axiom} \newtheorem{principle}{\csu@cap@principle} \newtheorem{problem}{\csu@cap@problem} \newtheorem{example}{\csu@cap@example} \newtheorem{proof}{\csu@cap@proof} \newtheorem{solution}{\csu@cap@solution} % 数学定理相关的常量 \newcommand*{\csu@cap@definition}{定义} \newcommand*{\csu@cap@proposition}{命题} \newcommand*{\csu@cap@theorem}{定理} \newcommand*{\csu@cap@lemma}{引理} \newcommand*{\csu@cap@corollary}{推论} \newcommand*{\csu@cap@assumption}{假设} \newcommand*{\csu@cap@conjecture}{猜想} \newcommand*{\csu@cap@axiom}{公理} \newcommand*{\csu@cap@principle}{定律} \newcommand*{\csu@cap@problem}{问题} \newcommand*{\csu@cap@example}{例} \newcommand*{\csu@cap@proof}{证明} \newcommand*{\csu@cap@solution}{解} % TODO 测试段落后间距 % 各级标题格式设置。 \ctexset{% chapter = {% format = \zihao{3} \heiti\centering, name = {第, 章}, nameformat = {}, number = \arabic{chapter}, numberformat = {}, titleformat = {}, aftername = \quad, afterindent = true, % beforeskip 默认为 50pt 适当缩减 fixskip = true, beforeskip = {15pt}, % beforeskip = {\ifcsu@type@graduate 20pt \else 5pt\fi} % afterskip 默认为 40pt 适当缩减 afterskip = {40pt}, % afterskip = {\ifcsu@type@graduate 30pt\else 20pt\fi}, }, section = {% format = \zihao{-4} \heiti, afterindent = true, % beforeskip 默认为 3.5ex plus 1ex minus .2ex 适当缩减 % beforeskip = {20pt}, % beforeskip = {\ifcsu@type@graduate 30pt \else 20pt\fi} afterskip = {2ex \@plus .2ex}, fixskip = true, }, subsection = {% format = \zihao{-4} \kaiti, afterindent = true, afterskip = {2ex \@plus .2ex}, fixskip = true, }, subsubsection = {% format = \zihao{-4} \normalfont, afterindent = true, afterskip = {2ex \@plus .2ex}, fixskip = true, }, } \setcounter{secnumdepth}{3} % 定义描述距离的变量 \newlength{\csu@headings@indent@fixed} \setlength{\csu@headings@indent@fixed}{2\ccwd} \newcommand{\csu@style@set@indent@heading}{% \gdef\csu@headings@indent{\csu@headings@indent@fixed} % \ifsjtu@type@graduate\relax\else % 本科毕设设置四级标题 \ctexset{% subsubsection/name = {(,)}, subsubsection/number = \arabic{subsubsection}, } % \fi % 设标题的缩进 \ctexset{% section/indent = \csu@headings@indent, subsection/indent = \csu@headings@indent, subsubsection/indent = \csu@headings@indent, } } \csu@style@set@indent@heading % 全文首行缩进 2 字符, 标点符号用全角 % \ctexset{% % punct = quanjiao, % space = auto, % autoindent = true, % } % % 编号分章节。如需要连续编号,注释\makeatletter下面对应内容即可。 % \renewcommand{\theequation}{\arabic{section}-\arabic{equation}} % \makeatletter % \@addtoreset{figure}{section} % \@addtoreset{table}{section} % \@addtoreset{equation}{section} % \makeatother % 8. 参考文献 % % ------------------------------------------------------% % TODO % % 文后参考文献只列出作者直接阅读过、在正文中被引用过的文献资料,务必实事求是。参考文献一律列在正文的末尾,不得放在各章之后。人文社科类学位论文中不宜用文后参考文献列出的注释可采用页下注,包括对学位论文中某些关键词句、论点的详细说明。在引用别人的科研成果时,应在引用处加以说明,遵循学术道德规范,严禁论文抄袭、剽窃等学术不端行为。 % 参考文献可以采用顺序编码制组织,也可以按“著者-出版年”制组织。建议按顺序编码制,即按中文引用的顺序将参考文献附于文末。作者姓名写到第三位,余者写“,等”或“,et al.”。“参考文献”四字居中(三号黑体),空一行左起按顺序依次列出参考文献,将序号置于方括号内(如[1]),用小四号宋体字,所有符号均用半角编排。 % 目前采用bgt7714-2005标准进行文献索引,详见gbt7714-2005.bst. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 附录 % % 附录中主要列入正文内不便列出的过分冗长的公式推导,供查读方便所需的辅助性数学工具或表格、重复性数据图表、计算程序及说明等。 % 附录依次为附录1,附录2……等,“附录X”三字居中(三号黑体)。附录中的图表公式另编排序号,与正文分开。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 定义附录环境 % 在\appendix 后直接使用 chapter % 暂不需要 % \newenvironment{appendixs}{ % % \ifcsu@review\else % \csu@chapter{\csu@name@appendix} % % \fi % } % 10. 攻读学位期间主要研究成果 % % --------------------------------------------------------% % 分类按时间顺序列出作者在攻读学位期间取得的与学位论文相关的研究成果,含参加的研究项目、获奖情况、专利、专著、发表学术论文(含正式录用论文)等,书写格式参照参考文献格式。“攻读学位期间主要研究成果”字体居中(三号黑体) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 致谢 % % 作者对给予指导、各类资助和协助完成研究工作以及提供各种对论文工作有利条件的单位及个人表示感谢。“致谢”二字居中(三号黑体)。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 定义致谢环境 \newenvironment{acknowledgements}{ % \ifcsu@review\relax\else \ifcsu@review\else % Fix: 修复书签定位问题 % \chapter*{\csu@name@acknowledgements} % \csu@pdfbookmark{0}{\csu@name@acknowledgements} % \phantomsection \csu@chapter{\csu@name@acknowledgements} % \csu@chapter{\csu@name@acknowledgements} \fi } % 篇眉和页码要求 % % ---------------------------------------------------------% % 篇眉从正文开始至全文结束,采用宋体五号字左起书写“博(或硕)士学位论文”,靠右写章标题。 % 页码从正文开始至全文结束按阿拉伯数字连续编排,前置部分(如学位论文原创性声明和版权使用授权书、中文摘要、英文摘要、目录、符号说明等)用罗马数字分别单独编排。页码位于页面底端,居中书写。