# 北京邮电大学本科学士学位论文模板（本科毕业设计模板）
* 作者: Caspar Zhang    <casparant@gmail.com>
* 修改: Bing Hsu        <hello@antinucleon.com>
* 修改: Guohua Wu       <ghmeta@163.com>
* 修改: 盛强     <sqyx008@outlook.com>（信息与通信工程学院通信工程2014级）
* 修改: Haixin Yu <name1e5s@qq.com>（计算机学院2017级）


## 发布记录

初始上线日期: 2018/4/24  
最新发行版日期: 2021/4/30

### 欢迎在讨论区进行讨论

> https://github.com/BYRIO/BUPTBachelorThesis/discussions

## 系统需求

### Windows

建议直接安装TeX Live（其中已包含需要的XeLaTeX和BibTeX），同时安装TeXworks（安装过程中有勾选框，选中即可）。你也可以使用“ `TeX Live` + 自己喜爱的编辑器 + 扩展 ”的方式，如使用**TeX Live + Visual Studio Code + LaTeX workshop**或**TeX Live + Atom + language-latex + latex + pdf-view**。  
传送门: [官方镜像](https://www.tug.org/texlive/)  [清华镜像](https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/) [BYRBT](https://bt.byr.cn)   

### Mac OS 

建议直接安装MacTeX，编辑器可以使用MacTeX自带的TeXshop，也可以使用TeXpad等其它选择  
传送门: [官方镜像](http://www.tug.org/mactex/) [清华镜像](https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/mac/mactex/) [BYRBT](https://bt.byr.cn)      
（感谢 [Li Jiarong](https://github.com/MrAdonis) 提供）  

### Linux

开源人员尚未在Linux系统上进行过测试，欢迎尝试并顺利使用本模板的用户在Issue中提交自己的方案，或进行 Pull Request

### Web Service

您可以使用Overleaf进行编辑
- [官方地址](https://cn.overleaf.com)
- [BYRIO校内服务](https://overleaf.byrio.work) （如果在校外无法访问可以使用webvpn）

## 如何使用

[使用手册](https://github.com/BYRIO/BUPTBachelorThesis/tree/master/guidebook)

### 编辑以下文件

- main.cfg:   
    包含了论文中需要填写的项目，比如论文名称等。论文的致谢部分也放在了这里
- abstract.cfg:   
    包含了论文的中英文摘要
- main.tex:   
    论文的主体、附录、外文译文，目前填充的是示例，对照生成的PDF熟悉代码
- bib.ref:   
    论文的参考文献库

### 用素材填充以下文件夹

- pictures:  
    将图片放入该文件夹
- docs:   
    将封面（cover）、诚信声明（statement）、外文文献原文（translation）、任务书（task）、成绩评定表（scoreTable）、开题报告（openingReport）和中期检查表（interimReport）的PDF放入该文件夹。  
    为了保持清晰度，请在从Word输出PDF时尽可能选择**高质量**的设置（修正官方缺陷的封面及其他材料的word版已放入该文件夹，编辑并保存为PDF即可）

教务处官方相关模板请访问 [官方网站](https://jwc.bupt.edu.cn/info/1220/2479.htm) 
在 TeXworks/Overleaf 中编译main.tex即可，main.pdf即最终输出。

**注意: 如果你在使用中遇到问题，请查看下方FAQ或到Issue板块寻找是否有其它使用者给出的解决方案。**


## 编译

### 本地 Tex Live 环境

先用XeLaTeX编译  
再用BibTeX编译 bib文件  
再用XeLaTeX编译 生成最终结果  

### Overleaf环境

使用XeLatex编译

## FAQ

- **Q: LaTeX怎么这么麻烦？**

    A: 使用LaTeX排版学术材料是极受欢迎的，优秀的国际会议和权威的学术杂志鲜见不接受LaTeX投稿的，相反，它们会主动提供符合自家排版要求的LaTeX模板，学者不需要再根据其要求大费周折。当然，它对新手不如word友好，因为其不具有“所见即所得”的特性。但是，“信息黄埔”的你们，应该对“看代码→写代码→编译→看结果”这一套十分熟悉，熟练后他会让你不再陷于反反复复调整格式的泥淖。

- **Q: 用Word排版有那么不堪么？**

    A: 微软的Word是一个优秀的文字处理软件，用它来书写毕业论文没有问题。然而，我们很多同学对它的使用非常肤浅，你甚至还时常能见到“用敲空格的方式把一个标题居中”的人。如果你不太懂自动生成目录，不太懂项目编号，不太懂文档内链接，不太懂上下标，不太懂Word的公式编辑器，不太会调整段落与缩进，不太会处理表格的边框长度和宽度，不太会设置页眉页脚，不太会分节分页，不太会对不同节设置不同页码格式，不太会用合适的方式排列图文……可以说，**你对Word排版的学习成本也是很高的**，既然可以，不妨尝试一种新的排版方式，在撰写学术论文、求职简历和研究生毕业论文时，这项技能还用得上。

- **Q: 为什么我在TeXworks中编译，到“Require XeLaTeX”处就不动了？**

    A:正如编译提示所言，它需要XeLaTeX。请注意编辑器左上角是否选择“XeLaTeX”，默认状态下是pdfLaTeX。

- **Q: LaTeX语句书写有误，导致编译卡在一半怎么办？**

    A:TeXworks中，本次编译可以通过在下方输入框敲击Enter以忽略错误完成，但有时错误无法忽略会导致本次输出PDF不成功。修正好错误后，到“文件”中选择“删除辅助文件”，然后再重新编译即可。
    
- **Q: 我已经开始写毕设论文了，但该项目的一些样式文件做了更新，怎么办？**

    A:从上面的资料你已经知道需要编辑的文件有哪些，给它们备个份，然后```git pull ```一下，再把备份文件换回；或者直接全盘在另一文件夹编辑你的文档，把更新的配置文件复制过去覆盖即可。
    
- **Q: 有一些我需要的排版方式这里没有怎么办？**
    
    A:模板基于LaTeX，你可以随意加入你需要的package，调用你需要的命令。如果你发现你的改动有一定通用性，欢迎修改相应的配置文件提交Pull Request给我；如果你的能力有限，也可以提Issue详述你的改动。合理的Pull Request会被及时merge进master分支，你将在**Contributors**中看到自己，开源项目需要大家共同努力维护。
 
- **Q: 引用文献的BibTeX文件可以从哪里获取？**

    A:几乎任何学术文献库都会提供BibTeX格式的引用数据，你可以使用**JabRef**来管理和自动生成你引用文献的BibTeX。但在引用量不大的情况下，直接去学术搜索引擎和数据库（Google Scholar/IEEEXplore/ACM digital library/Springer Link/必应学术/百度学术）或学术组织官网（CVF）去复制也不麻烦。

- **Q: 什么样的图片可以插入？**

    A:主流格式如`.png` `.jpg`都支持，但如果你将图片保存为`.pdf`格式，会取得更快的编译速度。
    
- **Q: 我编译后发现部分引用是问号，怎么办？**

    A:如果是参考文献，确保你已经编译了最新的 `.bib` 文件；如果不是，再用XeLaTeX编译一遍。一种粗放的比喻是，**在这里的“编译”就如同Windows的“重启”一样**，虽然暴力但有用。
    

## 更新日志
- 2018/04
  - **[24日]** 加入外文译文和原文板块 
  - 将附录合并于主文件
  - 将封面、诚信声明改为PDF导入
  - 修正了参考文献中“et al”和“等”的样式问题
  - 修正正文行间距为1.2倍
  - **[28日]** 修正“定义”类型的编号方法（修正后同图表编号形式）
  - **[29日]** 新增并调校“代码”框格式，附示例（指导手册无要求，根据实际需求编入）
  - 为便于阅读学习，重编示例文本
  - 全面按照指导手册要求顺序，插入任务书、成绩评定表、开题报告、中期检查表的PDF
  - 修正原示例中使用\ref引用公式的错误，已改为\eqref
  - 修正英文学位论文引用形式的BUG
- 2018/05
  - **[2日]** 示例文本中新增“列表”示例
  - 迁移示例文本中大部分\usepackages至.sty文件中
  - **[8日]** 将任务书文档（task.*）更新至新版本
  - 启用AutoFakeBold以应对Windows自带黑体无style=Bold的情况（感谢[RicardoMing](https://github.com/RicardoMing) )
  - **[9日]** 修正引用中“@article”类型的格式问题
  - **[13日]** 对照Word版本设置正文行间距（Word版的1.2倍）和目录行间距（20磅）至目测一致
  - 新增定理、引理、公理、推论、推论环境及定义，并增添示例
  - **[16日]** 新增带编号的subsubsection，样式同subsection，并增添示例
  - 新增组图示例，调整子图标号至左上角，子图的所有题注统一于组图题注中
  - **[17日]** 参考文献中电子文献URL的字体调整为Times New Roman，颜色调整为黑色
  - **[21日]** 新增无编号脚注与“科研项目来源”示例
  - 修正附录图、表和公式编号样式为“附-X”，并添加示例
  - 取消参考文献中英文作者姓名的首字母缩写设置
  - **[26日]** 修正页边距和页眉页脚设置至同word版本；更正页码字号
  - **[27日]** 调整摘要页间距；当摘要页超过一页时确保无页码出现
  - **[31日]** 新增外文翻译部分章节编号示例
- 2018/06
  - **[3日]** 修正参考文献中@inproceedings的标点与中英文切换问题
  - **[4日]** 新增区分奇偶页与否的配置选择
  - 修正外文译文的页面样式问题
  - 重整外文译文的图、表、公式编号
  - **[6日]** 代码编号统一为图标编号样式，添加附录代码编号设置；增添代码文件引入示例
  - **[7日]** 增加句内列表支持与示例；增加表格示例；支持URL换行 (感谢[CptGit](https://github.com/CptGit) )
  - **[21日]** 缩短参考文献各条目之间的距离至合适；缩小目录页码至合适；修正外文译文和译文标题的粗细
  - **[23日]** 调整外文译文和原文的顺序；摘要页关键词改为顶格书写；优化正文算法间距；优化部分示例；修复页眉页脚问题
- 2019/6
  - **[11日]** 调整一级标题的上下边距使其接近word样式；修复目录页码大小控制失效问题；使目录引导点更加紧凑，接近word样式
- 2021/4
  - **[30日]** 调整一级标题的上下边距使其接近最新版模版的样式；删除目录“参考文献”以后的章节项目的页码，符合教务处要求

## 后记

欢迎大家在毕业季向自己的同学安利这个项目，比如在论坛水贴或者朋友圈发一发都是非常不错的x  

从本项目的页面可以看到是从 https://github.com/sqyx008/BUPTBachelorThesis Fork过来的，这个项目的维护者也在前文可以看到。在之前的README中有提到希望某个开源组织来维护，~~现在BYRIO就接过了这个坑。~~ 还是希望同学们可以积极的提交PR或者反馈issue！  
  
以及，BYRIO现在提供了一个校内的[Overleaf服务](https://overleaf.byrio.work)。虽然不如官方能和Github同步，但他胜在网络稳定以及（暂时性的）资源充沛。

总之  
> 当然更希望北邮的教务部门**锐意进取、大胆创新、敢为人先**地提供**官方**的毕设LaTeX模板

> 由于时间和维护人员的关系，原始Repo中的[部分内容](./Expired.md)**很可能已脱离时效期** ，因此这里将其转移到其他Markdown文件中以供查看。
