4.4 KiB
添加新题目到数据库
工具文件
添加题目到数据库.ipynb
功能简介
从一个.tex文件中提取题目内容(用\item开头, 放置在\begin{enumerate}\end{enumerate}环境中), 并从起始id开始将.tex文件中题目逐题添加到数据库中
用法
第一个单元格中需要设置四个位置
-
starting_id: 整数. 起始id号, 这个号码注意不要和已有的id重复, 可在Problems.json中查询空闲id. 处理中如果有重复id的话程序会报重复, 并且不会写入新题目到数据库 -
origin: 字符串. 题目出处, 同一批题目的出处字符串一致, 尽可能详尽, 对应到Problems.json数据库中的origin项 -
filename: 字符串. .tex文件的文件名(含路径) -
editor: 字符串. 编辑及收录者姓名, 用"\t"分隔日期(yyyymmdd)及姓名, 例如"20221007\t张三"
随后运行第二个单元格
即可看到Problems.json文件的变化
在vscode中编辑数据库中的单题
工具文件
修改题目数据库.ipynb
功能简介
自动定位, 简单编辑(非可见即所得)题目数据库中的题目
用法
第一个单元格中设置id, 至多六位的整数, 随后运行. vscode将会打开Problems.json文件, 并自动定位到指定题目处.
按照单元/课时/课时目标对题库中的题目作清点并分类
工具文件
单元课时目标题目数据清点.ipynb
功能简介
按照 单元/课时/课时目标 三种不同的分类方式清点题库中的题目, 并生成分类结果.
用法
运行第一个单元格后, 会在工具相应的目录中的"临时文件"子目录下生成一个单元课时目标题目数据清点结果.txt的文本文件
汇总课时目标及课时划分信息, 并编译为两个.pdf文件
工具文件
课时目标及课时划分信息汇总.ipynb
功能简介
-
依据
UnitObj.json文件中的数据以及LessonObj.json中的数据进行整理, 形成单元-课时学习目标表, 并编译为.pdf -
依据
LessonObj.json,LessonsCut.josn以及Problems.json文件中的数据进行整理, 形成每一课时的相关目标, 题目的清单, 并编译为.pdf
依赖文件
项目目录下题库0.3子目录中的
-
LessonObj.json数据库文件 -
LessonsCut.json数据库文件 -
UnitObj.json数据库文件 -
Problems.json数据库文件
工具文件目录下模板文件子目录中的
-
课时划分.tex模板文件 -
课时目标及单元目标.tex模板文件
用法
在第一个单元格中设置输出的文件名, 最终的文件名会在设置的文件名后加上日期(yyyymmdd).
运行第一个单元格即可得到两个.tex文件与两个.pdf文件.
将指定题号的题目从数据库中取出, 并编译成"只含题目的pdf"与"包含更多信息的pdf"两个文件
工具文件
题号选题pdf生成.ipynb
功能简介
指定一个题号列表(字符串格式, 用"m:n"表示"m到n", 用","分隔), 将列表中的包含在题库中的id对应的题目取出, 并编译成"只含题目的pdf"文件与"包含更多信息的pdf"文件.
依赖文件
项目目录下题库0.3子目录中的
-
Problems.json数据库文件 -
LessonObj.json数据库文件
工具文件目录下模板文件子目录中的
题目清单.tex模板文件
(可选择)工具文件目录下临时文件子目录中的
题号筛选.txt题号列表文件
用法
设置需要生成pdf的题目范围
-
方法1: 编译全题库, 只需将
problems字符串变量留空 -
方法2: 编译
临时文件/题号筛选.txt文本文件中的题号列表对应的题目, 只需将problems字符串设为"a", 前后可以有空格 -
方法3: 编译指定的题号列表, 只需将
problems变量编辑为需要编译的题目列表字符串即可, 用"m:n"表示"m到n", 用","分隔. 例如"2:5,101"表示需要id为000002,000003,000004,000005,000101的五道题目.
设置输出文件的文件名
修改filename变量中的字符串, 建议"临时文件"不要改动, 后面的文件名可以改动. 生成的两个pdf会加上"_学生用_yyyymmdd.pdf"的后缀(只含题目)与"_教师用_yyyymmdd.pdf"的后缀(含有更多信息, 答案为红色, 目标为蓝色, 便于区分)
设置完成之后执行第一个单元格
等候一小段时间, 返回值为0表明编译成功.