从这里开始
功能介绍
tuack 是一个懒更新的出题工具集,这个工具的功能例如:
- 导出 PDF、Markdown、HTML 等多种不同格式,NOI、CPC 等不同风格的题面。
- 简单的出题人自评测功能,用于对比不同出题人、验题人程序的得分情况。
- 导出 LemonLime、Arbiter 等多种不同评测平台的评测包。
- 导入测试数据。
- 导入 docx、Markdown 等多种不同格式的题面,并进行简单的样例提取、表格提取等。
- 简单的题面格式检查,例如部分标点符号用法、公式用法等。
- 题面书写辅助工具,例如数据参数引用、整数公式化输出、外部文件引用等。
安装
本工具并非必须配合 git 使用,但我们造题时经常使用 git 来辅助多人协作。git 的基本介绍见相关工具-git。
本工具必须使用 python。推荐使用 Anaconda 集成环境。如果你不会,请先学习 Anaconda、python 包管理等知识。在此基础上我们有下列方式安装本工具:
方法1:pip
如果你安装了 python 的包管理器 pip,你可以直接使用 pip 安装这个轮子的最新发布版。
1 | |
如果你没有安装 pip,可以使用下列方式安装:
1 2 | |
方法2:setup.py+pip
如果你需要安装正在开发的版本,或某些原因无法使用 pip,可以使用这样的方法:
先在本地git clone本工程,或下载并解压工程。然后在本工程的主目录下运行下列命令(其中 ??? 是版本号)
1 2 | |
方法3:setup.py
在本地git clone本工程,或下载并解压工程。然后运行
1 | |
这个方法不会自动安装依赖,因此不是推荐的方法。如果你长期使用这个轮子,并且要快速切换开发版本时可以使用这个方法。在具体的使用中你会需要手动安装报错的库。
下列工具需要时,需要你手工安装:
- git 及 git-lfs,一般合作的时候会要求用 git,但因为轮子本身是独立于 git 造的,轮子只会警告你没有装,不会帮你安装。
- pandoc,这个工具可以转换不同的文本格式,用于输出题面。
- Latex相关工具只用于导出pdf格式的题面,且巨大无比,因此不预装。
开始干活
- 基本使用方式:如果你是一个出题人,第一次用本工具出题或是很长时间没有用最新版出题,那么建议从这里开始。如果你想要导入一道题,也可以从这里开始。
- 命题管理规定:如果你给正式考试出题,那么你还需要遵守这些的规定。(算协git服务器没有人维护以后,这些页面暂时无法查看)
- 如何使用工程:如果你获得了一个用本工具造的工程,想要进行各种导出,建议从这里开始。
目前这个轮子还在you开yi发dui中bug。如果希望我们支持其他格式的题面,其他工具的导入导出,对这个轮子有任何建议或意见,发现了任何bug,或是有兴趣加入我们,欢迎随时联系。
工程样例
算协git服务器没有人维护以后,下列涉及到公开工程的页面暂时无法查看。
推荐参考的例子:见算协的公开仓库https://thusaac.com/public。
建立一道新的题目或是新的比赛建议使用tuack.gen,而不是拷贝现有工程的一道题目加以修改,因为前面的出题人可能使用了不推荐的写法。各工具脚本的使用方式见基本使用方式。