用vscode搭建丝滑BNU毕业论文写作平台
很久之前就有搭建一个丝滑的毕业论文写作平台的构想了,但是直到最近才有时间写出来。毕业论文同数学建模竞赛论文一样都有着较为严格的格式规范,具体的格式要求可参阅长达10页的《师教培养〔2020〕6 号-北京师范大学本科生毕业论文写作规范》,因此如果能用上提前定义好格式的
模板,专注于查阅文献与内容创作,并且让论文里的数学公式和图表漂亮一些,将是一个较为不错的选择。
下载BNU图书馆官方 模板
在北京师范大学图书馆学位论文服务系统的常用下载页面中,找到研究生学位论文Latex参考模板,下载得到zip
源文档,下载到本地后就会发现这个模板其实是学士/硕士/博士通用的一个模板,是从清华大学 TUNA 协会制作的清华大学学位论文模板修改而来的。
基本配置
在电脑已经能够用vscode编译
首先推荐过一遍官方的说明文档bnuthesis.pdf
的内容,按照相关提示进行操作即可。
主要步骤与注意事项:
新建:按照说明文档中
3.3 编译论文
部分的提示,建议另行复制一份主文档并重命名(例如main.tex
),并且/data
文件夹中对应各章节的tex
文件的首行也更改!TeX root
后相应的文件名;改头:在
bnusetup.tex
文档里填写自己的基本信息;换面:更换封面,在你自己主文档的
\documentclass
部分根据自身情况调整学位参数;默认为学术硕士:
1
2
3
4
5\documentclass[degree=master]{bnuthesis}
% 学位 degree:
% doctor | master | bachelor
% 学位类型 degree-type:
% academic(默认)| professional封面长这样:
如果是本科生,使用下面修改后的参数即可:
1
2
3
4
5\documentclass[degree=bachelor]{bnuthesis}
% 学位 degree:
% doctor | master | bachelor
% 学位类型 degree-type:
% academic(默认)| professional编译:如果电脑是Windows,推荐直接用
latexmk
命令在终端编译一次即可,如果你的主文档叫main.tex
,要编译输出相应的pdf,则基本格式为1
latexmk main.tex
若要清理编译生成的辅助文件,输入
1
latexmk -c
如果是本科生,在修改
\documentclass
参数后用上述方法编译一次,可以看到封面瞬间焕然一新,与官方word版的封面(如下图)如出一辙(可能比word版更清晰一些🤔):至此,模板基本的配置就完成了,下面可根据个人需要选择性地添加部分功能(起飞✈️)。
进阶配置
以下部分功能的实现可能需要一点时间(当然全都是选择性的,不是必须),这里只简单介绍基本功能及配置思路。
智能补全:Github Copilot
用vscode的一大好处就在于这个接入了GPT-4的插件Github Copilot,虽然其本质上是一个代码补全工具,但是其强大的功能使得在编写tex文档时一样能够丝滑输出,它会根据上下文不断学习,自动推测出光标处要写的公式及文字😋
Github Copilot的订阅费用为$ 10/月,但是在GitHub中用edu邮箱完成学生认证后即可免费使用,具体步骤请自行Google
云同步:git
写论文过程中及时备份存档毫无疑问是一个很重要的功能,并且有时会同时产生多个版本,形成不同的分支,要从当前版本切换到不同分支,又或是不小心删除了当前的内容需要回退到前一个版本,这个时候git就出现了。(如何做好 Word 文档的版本管理?两种方法10个工具 - 知乎)
实现云同步的工具有很多,适合自己的才是最好的。于我而言,对
工具 | 对数学公式的支持 | 对网络环境的依赖 |
---|---|---|
git | 利用tex/md文档书写,本质上是代码,完美支持✅ | 需要同步(push)的时候才需要网络,其余时间都在本地编辑🥰 |
Word | 内置的office math不太好用,不过安装AxMath插件后还行❓ | 通过Onedrive同步,但问题在于网页版和本地版格式不太一样🤔,而且不太稳定 |
其他云文档 | 有些可以,但还是略显麻烦,不够强大❓ | 需要实时网络🌐 |
用vscode的另一大好处就是可以很方便地利用git把tex文档接入GitHub进行同步,从而及时备份并进行版本控制(当然Overleaf上也有这个功能,不过价格有点小贵)。具体介绍可以参见这个up主的视频,还不错:《Git + GitHub 10分钟完全入门》
这里我选择了gitlens将版本记录可视化,当然也有其他很多git图形界面,都做得很不错,可按自己喜好选择(只要GitHub账号绑定了学生包,那么就可以直接用此GitHub账号登录获取GitKraken Pro🤩)。gitlens的界面长这样:
参考文献管理与引用
这里推荐采用vscode
+zotero
+坚果云
的方式完成智能引用和参考文献云同步,用4.7.1 参考文献
部分,相关配置方法可参考以下文章:
小工具与个性化
Shift IM for Math
官方介绍:Automatically change IME condition. Make it easier to input latex
and markdown
file. Without AutoHotkey.
简而言之就是自动识别$
之间的数学公式环境自动切换中英文输入。
Office主题套装
使用这个主题(非官方)会给人一种在编辑Office的错觉,其中Word主题效果如下:
NBARealTimeScore
官方介绍:实时获取当天NBA比赛比分,并显示在vscode下方状态栏左侧;更可以观看实时文字直播,以及赛后数据统计。你可以边搬砖边关注NBA。
简而言之就是摸鱼搬砖两不误🤣