相关工具
GIT
虽然并非必须使用git,但是这套轮子建议工程使用git+lfs进行来实现多人合作。
git是一个“版本时光机”,把工程某个时间点的状态看成一个“世界”的话,git可以用来管理不同的世界线,让世界线分岔、相交,并让你可以在不同的时间点或世界线上移动。
git 需要专门花时间学习,一个简单的教程可以参看这里,介绍了如何将本地的仓库与远端同步、与他人的改动的合并等。此外,git 提供了很多功能,例如文件恢复、冲突处理、错误提交回滚等,当你需要时可以搜或与有经验的同学交流。
轮子推荐使用 git lfs(git的大文件系统)来管理较大的数据。如果你使用了开关 python -m tuack.gen problem -g 生成题目模板,或在生成好的题目中使用 python -m tuack.gen lfs,轮子会自动把samples/.gitattributes 复制到每道题的目录下,git会自动帮你标记哪些文件用lfs管理。因此如果不希望部分小数据被git lfs管理(当然前提是它们确实非常小),你可以手工编辑该题目目录下的 .gitattributes 文件或将其删除。
第一次使用 git lfs 参考这里安装。lfs 在命题中主要有两个好处:你工作可以选择不下载其他人题目的数据(git只存指针),方法见这里;你可以只在本地保存最新版数据,而不用像普通git仓库一样下载所有历史版本。
安装和配置XeLaTeX
如果你需要生成pdf版本的题面,那么你需要安装XeLaTeX。否则例如你只需要markdown格式的题面,你并不需要安装这个轮子。
Windows
Windows下直接下载安装MiKTeX就行了,在首次运行的时候会再提示安装后续文件。
Ubuntu
Ubuntu下先运行下列命令:
1 | |
然后可能会因为缺少有些字体而报错,可以使用这个方法安装缺少的字体或是把win下的字体复制过来。
注意在复制的时候不要直接从Ubuntu下直接访问Windows下的字体,应从Windows下先把字体拷贝到某个文件夹中,然后再copy到/usr/share/fonts/win下。涉及到某些链接的问题。
Mac
首先你需要安装 tlmgr 并升级到最新版本。DMG 文件见这个链接。
安装完 dmg 文件之后运行 tlmgr update --all 升级 tlmgr 自己。
然后你可能会需要以下宏包。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
然后你可能需要安装以下字体。
1 2 3 4 | |
其中 Consolas (以及其他几个常用的微软英文字体)可以用 Homebrew 来安装,具体请访问这里。另外三个中文字体,最简单的办法是找一个 Windows 系统从 C:\Windows\Fonts 目录下复制一份。