Skip to content

YanMing-lxb/GUET_Thesis_LaTeX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GUET_Thesis_LaTeX(GTL) 桂林电子科技大学毕业论文模板

GitHub TeXPage Overleaf License OS GitHub release Last Commit Issues Github Action Downloads GitHub repo size

欢迎使用桂林电子科技大学毕业论文模板

点个⭐支持一下!

此项目提供用于排版桂林电子科技大学本硕博毕业论文的 $\LaTeX$ 模板类,旨在帮助桂林电子科技大学的毕业生高效地完成毕业论文的写作。该模板由机电 C323 李雪斌发起,参考电子科大王稳师兄所编写的ThesisUESTC-电子科技大学毕业论文模板。参考文献格式符合桂林电子科技大学学位论文对参考文献格式的要求。

该模板符合桂林电子科技大学研究生学位论文的基本要求与书写格式-2022.02.23。

希望该项目能够继续发展,解决各位同学毕业论文写作中的困难。

获取模板

下载模板

普通用户可以直接 clone 或者下载最新发行版 GUET_Thesis_LaTeX.zip

git clone https://github.com/YanMing-lxb/GUET_Thesis_LaTeX.git

项目地址

考虑到网络问题,国内下载可用Gitee项目镜像。

Gitee项目地址

Github项目地址

模版更新频繁,且只维护最新版。如有问题,可以先尝试升级模版,而后进行反馈。

相关项目

桂林电子科技大学 Beamer 模板:GUET Beamer Theme

使用方法

有两种使用方法:一是使用在线平台,在网页中进行在线写作;二是在本地部署 $\LaTeX$ 环境, 在VSCove中进行写作。请根据自己的需求酌情选择。

在线写作

可以直接使用我们已经上传好的TeXPage或Overleaf在线模板:

TeXPage Overleaf

点击对应徽标即可跳转到对应平台直接使用,推荐使用国产的TeXPage进行在线写作。

注意

  1. 在线写作平台默认使用 $pdf\LaTeX$ 编译,您需要设置使用 $Xe\LaTeX$ 编译器。
  2. 由于上传模板需要审核周期,更新频繁时候建议 GitHub下载

本地部署写作

$\LaTeX$ 环境部署

  1. 编译该模板请使用 $Xe\LaTeX$ 引擎。

  2. 本地部署 $\LaTeX$ 环境请转到YM VSCode Configurations for LaTeX项目

本地编译 PyTeXMK(可选项)

PyTeXMK 是作者开发的一个基于 Python 的 $\LaTeX$ 编译工具,能够一定限度的提高编译速度,并显示编译时长统计,但此处内容需要依赖于Python环境,请确保您的电脑中已经安装了Python3.8及以上版本的Python环境。

  1. 安装方法:
pip install pytexmk
  1. 使用方法: 终端项目路径下输入:
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>} 命令;
  • 本模板的 figuretable 环境已默认设置 \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

中英文摘要

中英文摘要应包含在 ChineseAbstractEnglishAbstract 环境中,对应的关键字使用 \ChineseKeyword\EnglishKeyword 命令添加,并包含在相应的环境中。

符号说明表

\SymbolGroupStyle{位置分类} 命令,用于符号分组样式,可选参数为 位置分类章节分类 具体说明如下:

符号分类

命令 说明
\nomenclature[ ]{} 普通字符
\nomenclature[A]{} 希腊字符
\nomenclature[B]{} 下角标
\nomenclature[C]{} 缩略语

位置分类

命令 说明
\nomenclature[A]{} 各章共用的符号说明
\nomenclature[B]{} 第三章的符号说明
\nomenclature[C]{} 第四章的符号说明
\nomenclature[D]{} 第五章的符号说明

参考文献

参考文献使用 biblatex 进行处理,因此在用 Zotero 等工具导出参考文献时,导出类型要选择 biblatex。在 \ThesisBibResource 命令中输入参考文献源文件位置。

注意

  1. 使用该模板时,biblatexbiblatex-gb7714-2015 宏包均要更新到最新版本,否则会报错。
  2. 一般直接从网页获取到的参考文献为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 中输入附加信息,如期刊论文分区,作者排名,科研竞赛排名等。

具体操作示例如下:

建议成果整理 期刊论文示例|50 专利示例 软著示例 参与项目示例 比赛获奖示例 导出示例

最后导出为 Accomplishs.bib 文件

攻读学位期间取得成果中突出显示作者和导师

作者姓名加粗,导师姓名星标

  1. 手动在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}
}
  1. 利用 Better BibTex for Zotero 自动在导出的bib文件中添加 AUTHOR+an 字段。

将以下代码粘贴到 Better BibTex for Zotero 设置中的 postscript 选项中。

image

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 字段,并根据你和导师的排名位置,自动添加相应的 thesisauthorcorresponding 信息。

写作工具

当前状态

本科毕业论文格式大部分功能已调整完,但细节有待完善,欢迎各位同学使用并提出建议!

PS:目前已调整 cls 样式文件的代码,可以使用 \ifbachelor{}{} 命令修改本科样式。

未来工作方向

  • 封面目录的单双行切换(使用 Tabularray 宏包解决,但在标题中需要添加 \\& 命令进行换行);
  • 盲审版本切换:
    • 盲审封面制作及版本切换
    • 攻读学位期间取得成果的盲审版本切换
  • 去除所有其他表格宏包,完全使用 Tabularray 宏包制表
    • 自定义长三线表环境 lthreetab (要求可跨页,跨页后自带 “题注(续)” )
    • 自定义普通三线表环境 threetab
  • 使用文学编程重构项目
  • 采用 biblatex 编译参考文献,替换掉 bibtex:
    • biblatex 下实现参考文献的编译
    • biblatex 下实现攻读学位期间取得成果的自动编译
    • biblatex 下实现攻读学位期间取得成果的盲审版本切换
    • biblatex 下实现对攻读学位期间取得成果中作者的粗体显示
    • 实现攻读学位期间取得成果整体缩进两字符
  • 当学位论文条目存在 url 时,显示 url,而条目没有 url 参数时,则显示 In collab. with 字样,以及专利显示 "patent" 的问题:感谢 hushidong 给出完美的解决方案

攻读学位期间取得成果中作者的粗体显示 功能已实现,但是存在作者粗体显示后,所有参考文献的缩进错乱的问题,故暂且注释该功能的代码,留待日后解决。

反馈与贡献

反馈问题

如果在使用上有任何问题,建议通过以下方式进行反馈(按推荐顺序排序):

成为贡献者

这个仓库是面向用户的示例模版,如果你有很好的排版示例,可以提交到此仓库与大家分享。

除了提交 Pull Request 之外,还有以下方式可以进行贡献:

  • 帮助我们解答同学们的问题,这些问题你也可能遇到过并且知道如何解决;
  • 与我们一起维护项目的 Wiki 文档,Wiki 任何人都可以直接编辑;
  • 向周围同学安利 GUET_Thesis_LaTeX(GTL),让更多的同学使用我们维护的模板;
  • 在我们的讨论组中分享你的使用体验,以及吐槽。如果你也想成为项目的长期维护者,也可以通过讨论组告诉我们。:-)

软件许可证

桂林电子科技大学校徽图片的版权归桂林电子科技大学所有。

其他部分使用 LPPL 授权。