# exam_generator **Repository Path**: greysoncarlos/exam_generator ## Basic Information - **Project Name**: exam_generator - **Description**: 自动生成考卷 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-31 - **Last Updated**: 2023-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Exam Generator 设计一份针对于全部学生的考卷生成器,而非针对每一位学生单独出题,大致流程为题目抽取、组合,再写入latex文件。 题库存放在exercise中的base文件夹,每章都有各自类型的题目,首先通过selecting函数定义抽取题目的类型以及抽取题目的章节范围,再通过choose_question定义抽取题目的数量,再写入latex模板。 其中latex模板由test.tex定义并提供,所抽取的题目替换其中的 `% CONTENT %` 字符,当被抽取的题目替换掉字符后,再将各部分拼合起来,写入到exam.tex文件中,最终的pdf直接通过shell命令导出到exam文件夹中,具体文件路径等配置可以在开头config处直接更改。 # 其他说明 - 文件命名规则(结尾为例): - `0.tex`为选择题 - `1.tex`为填空题 - `2.tex`为计算/简答题 - `3.tex`为设计题 - 模拟题库中每章选择、填空、计算、设计各4道 - 抽取的方式有两种模式,目前为完全随机抽取,另一种模式抽取思想为每章抽取一定数量的题目,但是还在更新中 - 可以按照所需要的题目类型而更改插入exam.tex的具体内容,主程序开头已经将tex文件各部分用split函数分隔开,题目组合类型可以后续自己定义,比如仅允许填空题、简答、设计题出现等。 # 后续更改方向 - 导出一份带有参考答案的pdf文件 - 题目tex文件有难度等级划分,这样可以更有针对性组成一套试卷 - 完全随机抽取这一模式可能会造成某一章题目过多,虽然可以通过划定出题章节范围来避免,但是采用按照每一章节抽取固定题目这种模式好像效果更好一些。 - 具体tex模板的编写还需要更仔细