实际上,不管是TeX还是LaTeX,它们作为计算机程序语言都是开源的,我们能轻松获取到TeX和LaTeX的源代码。近年来,互联网技术催生了一些用户体验很好的开源社区,如当下广受欢迎的开源平台GitHub,它们都在实实在在地影响着我们对于计算机技术开放的态度。开源社区有很多优质的“仓库” (repository),这些仓库会提供诸如源代码、工具、案例甚至使用文档。与LaTeX在线系统相似的是,这些开源社区也具有协作功能,在有一些优质的仓库中,我们或许能看到几十甚至上百个贡献者,“汇聚集体智慧”也是这些开源社区广受开发者青睐的一个重要原因。
GitHub是一个面向开源项目及私有项目的云端托管平台,官方网址为http://github.com/,旨在为开发者储存、管理代码以及控制代码的更新,只支持Git作为唯一的版本库格式进行托管。GitHub走进人们的视野有十几年了,它于2008年4月10日正式上线,除Git代码仓库托管与基本的网页管理界面外,还提供在线文件编辑器、版本控制、协作报表等功能。截至2021年底,GitHub在全球范围内拥有的注册用户已超过7000万,托管项目总量更是超过1亿,是很多开发者远程协作的重要工具。2018年6月,GitHub被微软以75亿美元的价格收购。
GitHub的开源、共享、协作理念正影响着开发社区生态,入驻GitHub社区进行技术开源的国内外企业众多,其中不乏微软、谷歌等国外技术巨头以及国内科技企业的身影。实际上,GitHub开源社区的项目类型及展现形式也异常丰富,既有大量的应用型项目,也有很多研究探索型项目。
为便于开发者追踪整个开源社区的开发动态,GitHub根据计算机程序语言类型提供了趋势分析,这个功能称为GitHub trending,它会定期更新趋势榜、帮助开发者追踪当下较为流行的GitHub仓库,同时也会推送一些优质的开发者。
GitHub开源社区提供了很多关于LaTeX的优质开源项目,这些项目也在一定程度上拓宽了LaTeX的使用群体。实际上, LaTeX在线系统Overleaf也托管在GitHub上,开源网址为https://github.com/overleaf/overleaf。
为便于读者认识和掌握LaTeX,以下简单归纳一下关于LaTeX的各类开源项目。需要注意的是,优质的开源项目是非常多的,限于篇幅,这里只列举一部分,感兴趣的读者不妨在GitHub平台上探寻更多优质项目。
在GitHub开源社区中,我们可以找到很多国内外高校官方和非官方的学位论文LaTeX模板,学位论文类型包括本科毕业设计、硕士学位论文和博士学位论文等。以下将列举一部分国内高校的学位论文LaTeX模板开源项目:
开源项目https://github.com/tuna/thuthesis提供了清华大学学位论文LaTeX模板,模板库涵盖本科综合论文训练、硕士论文、博士论文以及博士后出站报告,截至目前,已在GitHub上获得超过3000次标星。
开源项目https://github.com/mohuangrui/ucasthesis提供了中国科学院大学学位论文LaTeX模板,包括本科、硕士和博士学位论文模板,截至目前,已在GitHub上获得超过2000次标星。
开源项目https://github.com/sjtug/SJTUThesis提供了上海交通大学学位论文LaTeX模板,截至目前,已在GitHub上获得超过2000次标星。
开源项目https://github.com/ustctug/ustcthesis提供了中国科学技术大学学位论文LaTeX模板,包括本科毕业论文(设计)和研究生学位论文,截至目前,已在GitHub上获得近1000次标星。
开源项目https://github.com/TheNetAdmin/zjuthesis提供了浙江大学学位论文 LaTeX模板,包含本科、硕士和博士学位论文模板,也提供了英文版的硕博士学位论文模板,截至目前,已在GitHub上获得近1000次标星。
开源项目https://github.com/dustincys/hithesis提供了哈尔滨工业大学学位论文LaTeX模板,包括本科、硕士、博士开题、中期和毕业论文,也提供了博后出站报告和英文毕业论文格式,截至目前,已在GitHub上获得近1000次标星。
开源项目https://github.com/x-magus/ThesisUESTC提供了电子科技大学毕业论文LaTeX模板,截至目前,已在GitHub上获得超过500次标星。
上述开源项目提供的学位论文模板绝大多数支持在LaTeX在线系统overleaf.com上直接进行编辑和使用。
目前,LaTeX有很多关于绘制图形方面的宏包,这些宏包会提供图形的基本元素、颜色等。由于LaTeX绘制出来的图形可以以PDF文档保存,所以一般不会出现分辨率不足等问题。这里对LaTeX绘制图形相关的一些开源项目稍作整理:
工具类:
BayesNet
:用于绘制贝叶斯网络、图模型和因素图形的TikZ库。开源网址为https://github.com/jluttine/tikz-bayesnet。一般而言,使用BayesNet
绘制特定图形时,需要使用以下两行命令调用该库:
\usepackage{tikz}
\usetikzlibrary{bayesnet}
matlab2tikz
:将由Matlab代码绘制的图形转换成PGFPlots图形。开源网址为https://github.com/matlab2tikz/matlab2tikz。
tikzplotlib
:将由Python绘图工具matplotlib绘制的图形转换成PGFPlots图形。开源网址为https://github.com/nschloe/tikzplotlib。
svg2tikz
:将SVG图形转换成TikZ代码。开源网址为https://github.com/xyz2tex/svg2tikz。
实例类:
TeXample
:该项目提供了大量的TikZ绘图实例,开源网址为https://texample.net/tikz/。LaTeX可用于制作各类文档,这也包括简历。
幻灯片模板:
海报模板:
为了方便广大读者更好地使用本书,本书也采用了开源的形式,开源网址为https://github.com/xinychen/latex-cookbook。同时,为了丰富实例,本书的个别章节也开辟了专门的开源项目:
【回放】1.4 LaTeX问答社区