点个⭐支持一下!
此项目提供用于排版桂林电子科技大学本硕博毕业论文的
该模板符合桂林电子科技大学研究生学位论文的基本要求与书写格式-2022.02.23。
希望该项目能够继续发展,解决各位同学毕业论文写作中的困难。
普通用户可以直接 clone
或者下载最新发行版 GUET_Thesis_LaTeX.zip。
git clone https://github.com/YanMing-lxb/GUET_Thesis_LaTeX.git
考虑到网络问题,国内下载可用Gitee项目镜像。
模版更新频繁,且只维护最新版。如有问题,可以先尝试升级模版,而后进行反馈。
桂林电子科技大学 Beamer 模板:GUET Beamer Theme
有两种使用方法:一是使用在线平台,在网页中进行在线写作;二是在本地部署
可以直接使用我们已经上传好的TeXPage或Overleaf在线模板:
点击对应徽标即可跳转到对应平台直接使用,推荐使用国产的TeXPage进行在线写作。
注意:
- 在线写作平台默认使用
$pdf\LaTeX$ 编译,您需要设置使用$Xe\LaTeX$ 编译器。 - 由于上传模板需要审核周期,更新频繁时候建议 GitHub下载
-
编译该模板请使用
$Xe\LaTeX$ 引擎。 -
本地部署
$\LaTeX$ 环境请转到YM VSCode Configurations for LaTeX项目
PyTeXMK 是作者开发的一个基于 Python 的
- 安装方法:
pip install pytexmk
- 使用方法: 终端项目路径下输入:
pytexmk
具体内容请看项目主页。
命令 | 功能 |
---|---|
pversion | 打印版 |
bversion | 盲审版 |
bachelor | 本科 |
master | 学硕 |
promaster | 专硕 |
doctor | 博士 |
ojmaster | 在职硕士 |
ptomaster | 非全专硕 |
根据学校要求打印版硕士学位论文封面桂电 logo 为黑色(其他的硕博的打印版桂电 logo 也都顺便设置成黑色的),对与其他几种封面的相关要求可以在issues中提出并补充。 启用盲审样式时,封面自动替换为对应的盲审封面、致谢命令失效、攻读学位期间取得成果自动替换为 Accomplish-bversion.tex 文件中的内容
- 标题中
\texorpdfstring
命令包装数学公式,并提供一个无公式的备选项,如:\section{\texorpdfstring{$E=mc^2$}{E=mc2}}
否则会有警告; - 在具有多个子图的情况时,子图与子图之间要留有一定的空间,不要占满,否则会发生自动换行;
- 子图请用
\subfloat[<子题注>]{\includegraphics[width=0.45\linewidth]{<图片文件名>}}}
命令加入; - 使用
\caption[]{}
命令时,如果不需要设置缩写目录的内容,一定要删掉[]
,否则插图插表索引将不会显示该图\表的目录; - 表、图、公式、算法、章节、节的引用请用
\cref{<label>}
命令; - 本模板的
figure
和table
环境已默认设置\centering
命令,因此使用过程中无需设置\centering
。
推荐使用tabularray 宏包进行表格的制作,模板中已自定义三线表环境 threetab
,示例如下所示。
作者暂无精力完成长表环境格式自定义,有待完善。
\begin{table}
\caption{三线表示例(tabularray自定义宏包)}
\begin{threetab}{cc}
表头1 & 表头2 \\
内容1 & 内容2 \\
内容3 & 内容4 \\
\end{threetab}
\end{table}
Tabularray表格排版宏包使用手册中文翻译: https://gitee.com/nwafu_nan/tabularray-doc-zh-cn
论文封面和扉页由 \MakeCover
命令添加,可以显示论文题目,作者,指导老师等。当启用盲审版时,封面将会自动切换成对应的盲审封面。(由于不知道本科的盲审封面是什么样的,所以没有制作本科的盲审封面,如果有通过需要,请在 Issue 中提出需求,并提供带有盲审封面样式的 word 文档。)
独创性声明可以由 \OriginalityDeclaration
命令生成,添加扫描版签名后的声明使用 \SignatureDeclaration{signature.pdf}
命令。
封面显示的信息可以使用一系列命令进行设置,包括标题、作者、学院等:
命令名称 | 参数#1 | 参数#2 | 适用 |
---|---|---|---|
\Title{#1}{#2} | 中文标题 | 英语标题 | 通用 |
\Author{#1} | 作者 | 无 | 通用 |
\Advisor{#1} | 导师 | 无 | 通用 |
\Protitle{#1} | 导师职称 | 无 | 通用 |
\School{#1} | 学院 | 无 | 本科 |
\Major{#1} | 专业 | 无 | 通用 |
\ResearchDirection{#1} | 研究领域 | 无 | 硕博盲审 |
\DegreeCategories{#1} | 申请学位门类 | 无 | 硕博 |
\StudentNumber{#1} | 学号 | 无 | 通用 |
\StudentNumber{#1} | 密级 | 无 | 硕博 |
\Date{#1} | 论文答辩日期 | 无 | 通用 |
针对符号说明的一些 Bug 见:Issues28
中英文摘要应包含在 ChineseAbstract
和 EnglishAbstract
环境中,对应的关键字使用 \ChineseKeyword
和 \EnglishKeyword
命令添加,并包含在相应的环境中。
\SymbolGroupStyle{位置分类}
命令,用于符号分组样式,可选参数为 位置分类
与 章节分类
具体说明如下:
符号分类
命令 | 说明 |
---|---|
\nomenclature[ ]{} |
普通字符 |
\nomenclature[A]{} |
希腊字符 |
\nomenclature[B]{} |
下角标 |
\nomenclature[C]{} |
缩略语 |
位置分类
命令 | 说明 |
---|---|
\nomenclature[A]{} |
各章共用的符号说明 |
\nomenclature[B]{} |
第三章的符号说明 |
\nomenclature[C]{} |
第四章的符号说明 |
\nomenclature[D]{} |
第五章的符号说明 |
参考文献使用 biblatex
进行处理,因此在用 Zotero 等工具导出参考文献时,导出类型要选择 biblatex
。在 \ThesisBibResource
命令中输入参考文献源文件位置。
注意:
- 使用该模板时,
biblatex
和biblatex-gb7714-2015
宏包均要更新到最新版本,否则会报错。 - 一般直接从网页获取到的参考文献为bibtex类型,bibtex 类型的 bib 文件可通过 pandoc 转成 biblatex 类型 bib 文件,转换命令:
pandoc -f bibtex -t biblatex -o output.bib input.bib
攻读学位期间取得成果使用 biblatex
进行处理,因此在用 Zotero 等工具导出攻读学位期间取得成果时,导出类型要选择 biblatex
。在 \ThesisAchResource
命令中输入成果源文件位置。
建议将成果保存到 Zotero 中,关于成果在 Zotero 和 bib 文件中的类型设置如下表所示:
成果类型 | Zotero 中的类型 | bib 文件中的类型 |
---|---|---|
参与项目 | 报告 | report |
发表论文 | 期刊文章 | article |
发明专利 | 专利 | patent |
软件著作权 | 软件 | software |
科研竞赛获奖 | 文档 | misc |
在 Zotero 的 其他
项或 bib 文件的 annotation
中输入附加信息,如期刊论文分区,作者排名,科研竞赛排名等。
具体操作示例如下:
最后导出为 Accomplishs.bib
文件
作者姓名加粗,导师姓名星标
- 手动在Accomplishs.bib文件的条目中添加
AUTHOR+an
字段,如:AUTHOR+an = {2=thesisauthor; 4=corresponding}
,其中2=thesisauthor
表示作者为第二作者,4=corresponding
表示导师为第四作者。 如:
@article{Li.Li.ea_2023,
title = {Here is the name of the paper},
author = {Li, XX and Yan, Ming and Huang, XX and Zheng, XX},
date = {2023-05-05},
journaltitle = {Applied Thermal Engineering},
shortjournal = {Appl. Therm. Eng.},
volume = {225},
pages = {120167},
issn = {1359-4311},
doi = {10.1016/j.applthermaleng},
language = {en},
annotation = {TOP 期刊,中科院一区,IF:6.465,共同一作},
AUTHOR+an = {2=thesisauthor;4=corresponding}
}
- 利用
Better BibTex for Zotero
自动在导出的bib文件中添加AUTHOR+an
字段。
将以下代码粘贴到 Better BibTex for Zotero
设置中的 postscript
选项中。
Better BibTex for Zotero
自动添加 AUTHOR+an
字段代码:
if (Translator.BetterBibTeX && this.has.title) {
this.add({name: 'issue_date', replace: true, value:item.date})
this.add({name: 'issuingAuthority', replace: true, value:item.issuingAuthority})
}
let authorFirstName1 = "焱";
let authorLastName1 = "铭";
let authorName1 = "焱铭";
let authorFirstName2 = "Ming";
let authorLastName2 = "Yan";
let authorName2 = "Ming Yan";
let correspondingFirstName1 = "李";
let correspondingLastName1 = "XX";
let correspondingName1 = "李XX";
let correspondingFirstName2 = "XX";
let correspondingLastName2 = "Li";
let correspondingName2 = "XX Li";
if (item.creators.find(a => (a.firstName === authorFirstName1 && a.lastName === authorLastName1) || (a.firstName === authorLastName1 && a.lastName === authorFirstName1) || a.lastName === authorName1 || a.firstName === authorName1 || (a.firstName === authorFirstName2 && a.lastName === authorLastName2) || (a.firstName === authorLastName2 && a.lastName === authorFirstName2) || a.lastName === authorName2 || a.firstName === authorName2)) {
let rank1 = item.creators.findIndex(a => (a.firstName === authorFirstName1 && a.lastName === authorLastName1) || (a.firstName === authorLastName1 && a.lastName === authorFirstName1) || a.lastName === authorName1 || a.firstName === authorName1 || (a.firstName === authorFirstName2 && a.lastName === authorLastName2) || (a.firstName === authorLastName2 && a.lastName === authorFirstName2) || a.lastName === authorName2 || a.firstName === authorName2) + 1;
if (item.creators.find(a => (a.firstName === correspondingFirstName1 && a.lastName === correspondingLastName1) || (a.firstName === correspondingLastName1 && a.lastName === correspondingFirstName1) || a.lastName === correspondingName1 || a.firstName === correspondingName1 || (a.firstName === correspondingFirstName2 && a.lastName === correspondingLastName2) || (a.firstName === correspondingLastName2 && a.lastName === correspondingFirstName2) || a.lastName === correspondingName2 || a.firstName === correspondingName2)) {
let rank2 = item.creators.findIndex(a => (a.firstName === correspondingFirstName1 && a.lastName === correspondingLastName1) || (a.firstName === correspondingLastName1 && a.lastName === correspondingFirstName1) || a.lastName === correspondingName1 || a.firstName === correspondingName1 || (a.firstName === correspondingFirstName2 && a.lastName === correspondingLastName2) || (a.firstName === correspondingLastName2 && a.lastName === correspondingFirstName2) || a.lastName === correspondingName2 || a.firstName === correspondingName2) + 1;
this.add({name: 'AUTHOR+an', replace: true, value:rank1 + '=thesisauthor;' + rank2 + '=corresponding'});
} else {
this.add({name: 'AUTHOR+an', replace: true, value:rank1 + '=thesisauthor'});
}
}
注意:要将代码中的作者姓名和导师姓名替换成自己的姓名和导师姓名。
这样每次导出 bib 文件时,就会为每一个作者里面有你的条目中自动添加
AUTHOR+an
字段,并根据你和导师的排名位置,自动添加相应的thesisauthor
和corresponding
信息。
- 画表神器
- $\LaTeX$ 公式手册
- $\LaTeX$ 公式手册 wiki
- 识别公式神器 Simple $\TeX$
- $\LaTeX$ 公式编辑器
- 文献 bib 整理神器
- $\LaTeX$ 画图画表常用命令
- 离线OCR软件:Umi-OCR 文字识别工具
- Tabularray 中文文档
- 一个 $\LaTeX$ 入门讲义
本科毕业论文格式大部分功能已调整完,但细节有待完善,欢迎各位同学使用并提出建议!
PS:目前已调整 cls 样式文件的代码,可以使用
\ifbachelor{}{}
命令修改本科样式。
- 封面目录的单双行切换(使用 Tabularray 宏包解决,但在标题中需要添加
\\&
命令进行换行); - 盲审版本切换:
- 盲审封面制作及版本切换
- 攻读学位期间取得成果的盲审版本切换
- 去除所有其他表格宏包,完全使用 Tabularray 宏包制表
- 自定义长三线表环境
lthreetab
(要求可跨页,跨页后自带 “题注(续)” ) - 自定义普通三线表环境
threetab
- 自定义长三线表环境
-
使用文学编程重构项目 - 采用 biblatex 编译参考文献,替换掉 bibtex:
- biblatex 下实现参考文献的编译
- biblatex 下实现攻读学位期间取得成果的自动编译
- biblatex 下实现攻读学位期间取得成果的盲审版本切换
- biblatex 下实现对攻读学位期间取得成果中作者的粗体显示
- 实现攻读学位期间取得成果整体缩进两字符
- 当学位论文条目存在 url 时,显示 url,而条目没有 url 参数时,则显示 In collab. with 字样,以及专利显示 "patent" 的问题:感谢 hushidong 给出完美的解决方案
攻读学位期间取得成果中作者的粗体显示 功能已实现,但是存在作者粗体显示后,所有参考文献的缩进错乱的问题,故暂且注释该功能的代码,留待日后解决。
如果在使用上有任何问题,建议通过以下方式进行反馈(按推荐顺序排序):
- 如遇不会使用、编译错误等问题,请至 在 GitHub 项目讨论区提问 (推荐)
- 如遇模版 BUG,或有新的需求,请至 在 GitHub 项目中提issues
这个仓库是面向用户的示例模版,如果你有很好的排版示例,可以提交到此仓库与大家分享。
除了提交 Pull Request 之外,还有以下方式可以进行贡献:
- 帮助我们解答同学们的问题,这些问题你也可能遇到过并且知道如何解决;
- 与我们一起维护项目的 Wiki 文档,Wiki 任何人都可以直接编辑;
- 向周围同学安利 GUET_Thesis_LaTeX(GTL),让更多的同学使用我们维护的模板;
- 在我们的讨论组中分享你的使用体验,以及吐槽。如果你也想成为项目的长期维护者,也可以通过讨论组告诉我们。:-)
桂林电子科技大学校徽图片的版权归桂林电子科技大学所有。
其他部分使用 LPPL 授权。