# 添加新题目到数据库 ## 工具文件 ``添加题目到数据库.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表明编译成功.