{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.5 关于LaTeX的开源项目\n", "\n", "实际上,不管是TeX还是LaTeX,它们作为计算机程序语言都是开源的,我们能轻松获取到TeX和LaTeX的源代码。近年来,互联网技术催生了一些用户体验很好的开源社区,如当下广受欢迎的开源平台GitHub,它们都在实实在在地影响着我们对于计算机技术开放的态度。开源社区有很多优质的“仓库” (repository),这些仓库会提供诸如源代码、工具、案例甚至使用文档。与LaTeX在线系统相似的是,这些开源社区也具有协作功能,在有一些优质的仓库中,我们或许能看到几十甚至上百个贡献者,“汇聚集体智慧”也是这些开源社区广受开发者青睐的一个重要原因。\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.5.1 开源社区GitHub\n", "\n", "GitHub是一个面向开源项目及私有项目的云端托管平台,官方网址为[http://github.com/](http://github.com/),旨在为开发者储存、管理代码以及控制代码的更新,只支持Git作为唯一的版本库格式进行托管。GitHub走进人们的视野有十几年了,它于2008年4月10日正式上线,除Git代码仓库托管与基本的网页管理界面外,还提供在线文件编辑器、版本控制、协作报表等功能。截至2021年底,GitHub在全球范围内拥有的注册用户已超过7000万,托管项目总量更是超过1亿,是很多开发者远程协作的重要工具。2018年6月,GitHub被微软以75亿美元的价格收购。\n", "\n", "

\n", "\n", "

\n", "\n", "
图1-5-1 GitHub首页,图片来源于GitHub官方网站。
\n", "\n", "GitHub的开源、共享、协作理念正影响着开发社区生态,入驻GitHub社区进行技术开源的国内外企业众多,其中不乏微软、谷歌等国外技术巨头以及国内科技企业的身影。实际上,GitHub开源社区的项目类型及展现形式也异常丰富,既有大量的应用型项目,也有很多研究探索型项目。\n", "\n", "

\n", "\n", "

\n", "\n", "
图1-5-2 入驻GitHub的机构组织排名,其中,排名参照GitHub标星数量,图片来源于https://gitstar-ranking.com/
\n", "\n", "为便于开发者追踪整个开源社区的开发动态,GitHub根据计算机程序语言类型提供了趋势分析,这个功能称为GitHub trending,它会定期更新趋势榜、帮助开发者追踪当下较为流行的GitHub仓库,同时也会推送一些优质的开发者。\n", "\n", "

\n", "\n", "

\n", "
图1-5-3 LaTeX相关的GitHub趋势榜,图片来源于GitHub trending:https://github.com/trending/tex
\n", "\n", "GitHub开源社区提供了很多关于LaTeX的优质开源项目,这些项目也在一定程度上拓宽了LaTeX的使用群体。实际上, LaTeX在线系统Overleaf也托管在GitHub上,开源网址为[https://github.com/overleaf/overleaf](https://github.com/overleaf/overleaf)。\n", "\n", "为便于读者认识和掌握LaTeX,以下简单归纳一下关于LaTeX的各类开源项目。需要注意的是,优质的开源项目是非常多的,限于篇幅,这里只列举一部分,感兴趣的读者不妨在GitHub平台上探寻更多优质项目。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.5.2 学位论文LaTeX模板\n", "\n", "在GitHub开源社区中,我们可以找到很多国内外高校官方和非官方的学位论文LaTeX模板,学位论文类型包括本科毕业设计、硕士学位论文和博士学位论文等。以下将列举一部分国内高校的学位论文LaTeX模板开源项目:\n", "\n", "- 开源项目[https://github.com/tuna/thuthesis](https://github.com/tuna/thuthesis)提供了清华大学学位论文LaTeX模板,模板库涵盖本科综合论文训练、硕士论文、博士论文以及博士后出站报告,截至目前,已在GitHub上获得超过3000次标星。\n", "\n", "- 开源项目[https://github.com/mohuangrui/ucasthesis](https://github.com/mohuangrui/ucasthesis)提供了中国科学院大学学位论文LaTeX模板,包括本科、硕士和博士学位论文模板,截至目前,已在GitHub上获得超过2000次标星。\n", "\n", "- 开源项目[https://github.com/sjtug/SJTUThesis](https://github.com/sjtug/SJTUThesis)提供了上海交通大学学位论文LaTeX模板,截至目前,已在GitHub上获得超过2000次标星。\n", "\n", "- 开源项目[https://github.com/ustctug/ustcthesis](https://github.com/ustctug/ustcthesis)提供了中国科学技术大学学位论文LaTeX模板,包括本科毕业论文(设计)和研究生学位论文,截至目前,已在GitHub上获得近1000次标星。\n", "\n", "- 开源项目[https://github.com/TheNetAdmin/zjuthesis](https://github.com/TheNetAdmin/zjuthesis)提供了浙江大学学位论文 LaTeX模板,包含本科、硕士和博士学位论文模板,也提供了英文版的硕博士学位论文模板,截至目前,已在GitHub上获得近1000次标星。\n", "\n", "- 开源项目[https://github.com/dustincys/hithesis](https://github.com/dustincys/hithesis)提供了哈尔滨工业大学学位论文LaTeX模板,包括本科、硕士、博士开题、中期和毕业论文,也提供了博后出站报告和英文毕业论文格式,截至目前,已在GitHub上获得近1000次标星。\n", "\n", "- 开源项目[https://github.com/x-magus/ThesisUESTC](https://github.com/x-magus/ThesisUESTC)提供了电子科技大学毕业论文LaTeX模板,截至目前,已在GitHub上获得超过500次标星。\n", "\n", "上述开源项目提供的学位论文模板绝大多数支持在LaTeX在线系统overleaf.com上直接进行编辑和使用。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.5.3 LaTeX绘制图形\n", "\n", "目前,LaTeX有很多关于绘制图形方面的宏包,这些宏包会提供图形的基本元素、颜色等。由于LaTeX绘制出来的图形可以以PDF文档保存,所以一般不会出现分辨率不足等问题。这里对LaTeX绘制图形相关的一些开源项目稍作整理:\n", "\n", "- **工具类**:\n", " - `BayesNet`:用于绘制贝叶斯网络、图模型和因素图形的TikZ库。开源网址为[https://github.com/jluttine/tikz-bayesnet](https://github.com/jluttine/tikz-bayesnet)。一般而言,使用`BayesNet`绘制特定图形时,需要使用以下两行命令调用该库:\n", " \n", " ```tex\n", " \\usepackage{tikz}\n", " \\usetikzlibrary{bayesnet}\n", " ```\n", "\n", " - `matlab2tikz`:将由Matlab代码绘制的图形转换成PGFPlots图形。开源网址为[https://github.com/matlab2tikz/matlab2tikz](https://github.com/matlab2tikz/matlab2tikz)。\n", " - `tikzplotlib`:将由Python绘图工具matplotlib绘制的图形转换成PGFPlots图形。开源网址为[https://github.com/nschloe/tikzplotlib](https://github.com/nschloe/tikzplotlib)。\n", " - `svg2tikz`:将SVG图形转换成TikZ代码。开源网址为[https://github.com/xyz2tex/svg2tikz](https://github.com/xyz2tex/svg2tikz)。\n", "\n", "- **实例类**:\n", "\n", " - `TeXample`:该项目提供了大量的TikZ绘图实例,开源网址为[https://texample.net/tikz/](https://texample.net/tikz/)。\n", " - 开源项目[https://github.com/walmes/Tikz](https://github.com/walmes/Tikz)提供了大约200个关于统计学的TikZ绘图实例。\n", " - 开源项目[https://github.com/MartinThoma/LaTeX-examples/tree/master/tikz](https://github.com/MartinThoma/LaTeX-examples/tree/master/tikz)提供了大约350个TikZ绘图实例。\n", " - 开源项目[https://github.com/PetarV-/TikZ](https://github.com/PetarV-/TikZ)提供了大量的Tikz绘图实例,囊括了各类神经网络模型的图形。\n", " - TeX Stack Exchange社区中提供的可视化效果很好的TikZ科技绘图实例,网址为[https://tex.stackexchange.com/questions/158668/nice-scientific-pictures-show-off](https://tex.stackexchange.com/questions/158668/nice-scientific-pictures-show-off)。\n", " - 开源项目[https://github.com/FriendlyUser/LatexDiagrams](https://github.com/FriendlyUser/LatexDiagrams)提供了大量的TikZ绘图实例,包括流程图、图模型。\n", " - 开源项目[https://github.com/alemelis/tikz_drawings](https://github.com/alemelis/tikz_drawings)提供了一些TikZ绘图实例。\n", "\n", "### 1.5.4 LaTeX制作简历\n", "\n", "LaTeX可用于制作各类文档,这也包括简历。\n", "\n", " - 开源项目[https://github.com/sb2nov/resume](https://github.com/sb2nov/resume)提供了简历模板。\n", " - 开源项目[https://github.com/xdanaux/moderncv](https://github.com/xdanaux/moderncv)提供了moderncv简历样式。\n", " - 开源项目[https://github.com/jankapunkt/latexcv](https://github.com/jankapunkt/latexcv)提供了一些美观大方且容易使用的简历模板,支持包括中文在内的多种语言编译。\n", " - 开源项目[https://github.com/hijiangtao/resume](https://github.com/hijiangtao/resume)提供了中文简历的模板。\n", "\n", "### 1.5.5 LaTeX制作幻灯片和海报\n", "\n", "- **幻灯片模板**:\n", "\n", " - 开源项目[https://github.com/matze/mtheme](https://github.com/matze/mtheme)提供了现代风格主题的幻灯片模板。\n", " - 开源项目[https://github.com/wzpan/BeamerStyleSlides](https://github.com/wzpan/BeamerStyleSlides)提供了很丰富的模板,包含了PowerPoint和Keynote两套格式。\n", " - 开源项目[https://github.com/XiangyunHuang/awesome-beamers](https://github.com/XiangyunHuang/awesome-beamers)提供了多种制作幻灯片的模版,同时也支持中文制作。\n", " - 开源项目[https://github.com/josephwright/beamer](https://github.com/josephwright/beamer)提供了多种风格的幻灯片模版。\n", "\n", "- **海报模板**:\n", "\n", " - 开源项目[https://github.com/jkjaer/aauLatexTemplates](https://github.com/jkjaer/aauLatexTemplates)提供了beamer海报模板。\n", " - 开源项目[https://github.com/mloesch/baposter](https://github.com/mloesch/baposter)提供了简洁的海报模版。\n", " - 开源项目[https://github.com/HolgerGerhardt/TeXTemplates](https://github.com/HolgerGerhardt/TeXTemplates)提供了适合做学术报告的海报模版,同时也包含幻灯片模版。\n", " \n", "### 1.5.6 关于本书的开源项目\n", "\n", "为了方便广大读者更好地使用本书,本书也采用了开源的形式,开源网址为[https://github.com/xinychen/latex-cookbook](https://github.com/xinychen/latex-cookbook)。同时,为了丰富实例,本书的个别章节也开辟了专门的开源项目:\n", "\n", "- LaTeX图形绘制:[https://github.com/xinychen/awesome-latex-drawing](https://github.com/xinychen/awesome-latex-drawing)提供大量绘图实例,实例包括贝叶斯网络、框架图、流程图、机器学习模型示意图。\n", "- LaTeX幻灯片制作:[https://github.com/xinychen/awesome-beamer](https://github.com/xinychen/awesome-beamer)提供大量使用Beamer制作幻灯片的实例。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 参考资料\n", "\n", "[1] 开源项目[https://github.com/xiaohanyu/awesome-tikz](https://github.com/xiaohanyu/awesome-tikz)。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "【回放】[**1.4 LaTeX问答社区**](https://nbviewer.jupyter.org/github/xinychen/latex-cookbook/blob/main/version-1/chapter-1/section4.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### License\n", "\n", "
\n", "This work is released under the MIT license.\n", "
" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }