跳转至

相关工具

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
sudo apt install texlive-xetex texlive-fonts-recommended texlive-latex-extra texlive-full

然后可能会因为缺少有些字体而报错,可以使用这个方法安装缺少的字体或是把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
sudo tlmgr install titling
sudo tlmgr install lastpage
sudo tlmgr install lipsum
sudo tlmgr install framed
sudo tlmgr install framed
sudo tlmgr install titlesec
sudo tlmgr install makecell
sudo tlmgr install enumitem
sudo tlmgr install tabto
sudo tlmgr install tabto
sudo tlmgr install tabto-ltx
sudo tlmgr install environ
sudo tlmgr install trimspaces
sudo tlmgr install subfigure
sudo tlmgr install ctex

然后你可能需要安装以下字体。

1
2
3
4
SimHei.ttf
SimSun.ttf
SimKai.ttf
Consolas.ttf

其中 Consolas (以及其他几个常用的微软英文字体)可以用 Homebrew 来安装,具体请访问这里。另外三个中文字体,最简单的办法是找一个 Windows 系统从 C:\Windows\Fonts 目录下复制一份。