20221007 night
This commit is contained in:
parent
94ba5fe5ac
commit
dcc46c10a6
|
|
@ -2,7 +2,7 @@
|
|||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
"0"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -19,7 +19,9 @@
|
|||
"source": [
|
||||
"import os,re,json\n",
|
||||
"# 这里修改题目id, 可以不满6位\n",
|
||||
"index = \"5956\".zfill(6)\n",
|
||||
"id = 5900\n",
|
||||
"\n",
|
||||
"index = str(id).zfill(6)\n",
|
||||
"with open(r\"../题库0.3/Problems.json\",\"r\",encoding = \"utf8\") as f:\n",
|
||||
" database = f.read()\n",
|
||||
"line = '\"id\": \"'+index+'\",'\n",
|
||||
|
|
|
|||
|
|
@ -2,44 +2,20 @@
|
|||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/K0514006B_教师用_20220923.tex\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/test1_教师用_20221007.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/K0514006B_学生用_20220923.tex\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/test1_学生用_20221007.tex\n",
|
||||
"0\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/K0514007B_教师用_20220923.tex\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/test2_教师用_20221007.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/K0514007B_学生用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/K0515002B_教师用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/K0515002B_学生用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/K0515003B_教师用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/K0515003B_学生用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/K0515004B_教师用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/K0515004B_学生用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/K0515005B_教师用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/K0515005B_学生用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/K0515006B_教师用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/K0515006B_学生用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/批量生成题目/K0515007B_教师用_20220923.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/K0515007B_学生用_20220923.tex\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/批量生成题目/test2_学生用_20221007.tex\n",
|
||||
"0\n"
|
||||
]
|
||||
}
|
||||
|
|
@ -54,15 +30,8 @@
|
|||
"\"\"\"---设置题目列表---\"\"\"\n",
|
||||
"#字典字段为文件名, 之后为内容的题号\n",
|
||||
"problems_dict = {\n",
|
||||
"\"K0514006B\":\"002018\",\n",
|
||||
"\"K0514007B\":\"000598,000831,002015,002016,002017,002018,002021,003521,003524,003527,003528,003530,003532,003533,003534\",\n",
|
||||
"\"K0515002B\":\"002055,002057,003542\",\n",
|
||||
"\"K0515003B\":\"000168,000763,002076,002078,002085,002086,002088,003541,003542,003544,003545,003551,003758,004167\",\n",
|
||||
"\"K0515004B\":\"002079,003541,003542\",\n",
|
||||
"\"K0515005B\":\"000172,000900,001998,002076,003542,003544,003545,003549,003551,004167\",\n",
|
||||
"\"K0515006B\":\"003542\",\n",
|
||||
"\"K0515007B\":\"000172,000763,000900,001279,001998,002080,002081,002086,003544,003545,003549,003551\",\n",
|
||||
"\n",
|
||||
"\"test1\":\"1:100\",\n",
|
||||
"\"test2\":\"101:110\"\n",
|
||||
"\n",
|
||||
"}\n",
|
||||
"\n",
|
||||
|
|
@ -140,7 +109,8 @@
|
|||
" problemset = pro_dict[id]\n",
|
||||
" problem = problemset[\"content\"]\n",
|
||||
" solution = (problemset[\"solution\"] if problemset[\"solution\"] != \"\" else \"暂无解答与提示\")\n",
|
||||
" answer = (problemset[\"ans\"] if problemset[\"ans\"] != \"\" else \"暂无答案\")\n",
|
||||
" answer = \"\\\\textcolor{red}{\" + (problemset[\"ans\"] if problemset[\"ans\"] != \"\" else \"暂无答案\") + \"}\"\n",
|
||||
" remarks = (problemset[\"remark\"] if problemset[\"remark\"] != \"\" else \"暂无备注\")\n",
|
||||
" usages_list = problemset[\"usages\"]\n",
|
||||
" if len(usages_list) > 0:\n",
|
||||
" usage = re.sub(\"\\\\t([\\d]\\.[\\d]{0,10})\",color_value,\"\\n\\n\".join(usages_list))\n",
|
||||
|
|
@ -160,7 +130,7 @@
|
|||
" objects_string = \"目标\" + obj + \"有误\\n\\n\"\n",
|
||||
" break\n",
|
||||
" else:\n",
|
||||
" objects_string += obj + \"|\" + obj_dict[obj][\"content\"] + \"\\n\\n\"\n",
|
||||
" objects_string += \"\\\\textcolor{blue}{\" + obj + \"|\" + obj_dict[obj][\"content\"] + \"}\\n\\n\"\n",
|
||||
" objects = objects_string\n",
|
||||
" space = (\"\" if problemset[\"space\"] == \"\" else r\"\\vspace*{\"+problemset[\"space\"]+\"}\\n\")\n",
|
||||
" tags = (\"|\".join(problemset[\"tags\"]) if len(problemset[\"origin\"])>0 else \"暂无标签\")\n",
|
||||
|
|
@ -190,26 +160,6 @@
|
|||
" print(os.system(\"xelatex -interaction=batchmode -output-directory=\" + directory + \" \"+ students_latex_file))\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"['3327', '139', '1851', '1848']"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"problems"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
|
|
@ -220,7 +170,7 @@
|
|||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3.9.7 ('base')",
|
||||
"display_name": "Python 3.8.8 ('base')",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
|
|
@ -234,12 +184,12 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.9.7"
|
||||
"version": "3.8.8"
|
||||
},
|
||||
"orig_nbformat": 4,
|
||||
"vscode": {
|
||||
"interpreter": {
|
||||
"hash": "e4cce46d6be9934fbd27f9ca0432556941ea5bdf741d4f4d64c6cd7f8dfa8fba"
|
||||
"hash": "d311ffef239beb3b8f3764271728f3972d7b090c974f8e972fcdeedf230299ac"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -15,9 +15,9 @@
|
|||
"题块 2 处理完毕.\n",
|
||||
"正在处理题块 3 .\n",
|
||||
"题块 3 处理完毕.\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/测验04预选_教师_20221003.tex\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/测验04预选_教师_20221007.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/测验04预选_学生_20221003.tex\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/测验04预选_学生_20221007.tex\n",
|
||||
"0\n"
|
||||
]
|
||||
}
|
||||
|
|
@ -144,7 +144,8 @@
|
|||
" problemset = pro_dict[id]\n",
|
||||
" problem = problemset[\"content\"]\n",
|
||||
" solution = (problemset[\"solution\"] if problemset[\"solution\"] != \"\" else \"暂无解答与提示\")\n",
|
||||
" answer = (problemset[\"ans\"] if problemset[\"ans\"] != \"\" else \"暂无答案\")\n",
|
||||
" answer = \"\\\\textcolor{red}{\" + (problemset[\"ans\"] if problemset[\"ans\"] != \"\" else \"暂无答案\") + \"}\"\n",
|
||||
" remarks = (problemset[\"remark\"] if problemset[\"remark\"] != \"\" else \"暂无备注\")\n",
|
||||
" usages_list = problemset[\"usages\"]\n",
|
||||
" if len(usages_list) > 0:\n",
|
||||
" usage = re.sub(\"\\\\t([\\d]\\.[\\d]{0,10})\",color_value,\"\\n\\n\".join(usages_list))\n",
|
||||
|
|
@ -164,7 +165,7 @@
|
|||
" objects_string = \"目标\" + obj + \"有误\\n\\n\"\n",
|
||||
" break\n",
|
||||
" else:\n",
|
||||
" objects_string += obj + \"|\" + obj_dict[obj][\"content\"] + \"\\n\\n\"\n",
|
||||
" objects_string += \"\\\\textcolor{blue}{\" + obj + \"|\" + obj_dict[obj][\"content\"] + \"}\\n\\n\"\n",
|
||||
" objects = objects_string\n",
|
||||
" space = (\"\" if problemset[\"space\"] == \"\" else \"\\n\"+r\"\\vspace*{\"+problemset[\"space\"]+\"}\\n\")\n",
|
||||
" tags = (\"|\".join(problemset[\"tags\"]) if len(problemset[\"origin\"])>0 else \"暂无标签\")\n",
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"开始编译单元与课时目标信息pdf文件: 临时文件/课时目标及单元目标_20221004.tex\n",
|
||||
"开始编译课时划分信息pdf文件: 临时文件/课时划分_20221004.tex\n"
|
||||
"开始编译单元与课时目标信息pdf文件: 临时文件/课时目标及单元目标表_20221007.tex\n",
|
||||
"开始编译课时划分信息pdf文件: 临时文件/按课时分类目标及题目清单_20221007.tex\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -28,13 +28,13 @@
|
|||
"import os,re,time,json\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"同目录下 课时划分.tex 与 课时目标及单元目标.tex 文件不能缺失\n",
|
||||
"\"/模板文件\"目录下 课时划分.tex 与 课时目标及单元目标.tex 文件不能缺失\n",
|
||||
"\"\"\"\n",
|
||||
"\n",
|
||||
"\"\"\"---设置文件名---\"\"\"\n",
|
||||
"#目录和文件的分隔务必用/\n",
|
||||
"lessoncut_file = \"临时文件/课时划分\" \n",
|
||||
"lessonobj_file = \"临时文件/课时目标及单元目标\" \n",
|
||||
"lessoncut_file = \"临时文件/按课时分类目标及题目清单\" \n",
|
||||
"lessonobj_file = \"临时文件/课时目标及单元目标表\" \n",
|
||||
"\"\"\"---设置文件名结束---\"\"\"\n",
|
||||
"\n",
|
||||
"#读取系统日期\n",
|
||||
|
|
|
|||
|
|
@ -2,22 +2,22 @@
|
|||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"开始编译教师版本pdf文件: 临时文件/数列未标注_教师用_20221004.tex\n",
|
||||
"开始编译教师版本pdf文件: 临时文件/测试_教师用_20221007.tex\n",
|
||||
"0\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/数列未标注_学生用_20221004.tex\n",
|
||||
"开始编译学生版本pdf文件: 临时文件/测试_学生用_20221007.tex\n",
|
||||
"0\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import os,re,time,json\n",
|
||||
"import os,re,time,json,sys\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"模板文件目录下 题目清单.tex 文件不能缺失\n",
|
||||
|
|
@ -26,20 +26,17 @@
|
|||
"\"\"\"---设置题目列表---\"\"\"\n",
|
||||
"#留空为编译全题库, a为读取临时文件中的题号筛选.txt文件生成题库\n",
|
||||
"problems = r\"\"\"\n",
|
||||
"003596,003600,003616,003630,003638,003651,003657,003661,003672,003682,003686,003687,003691,003696,003701,003713,003715,003737,003743,003749,003763,003782,003786,003802,003811,003813,003822,003832,003834,003843,003852,003859,003874,003882,003901,003906,003919,003924,003927,003934,003939,003954,004077,004082,004095,004100,004114,004121,004128,004142,004163,004166,004178,004183,004189,004205,004210,004216,004226,004245,004263,004268,004280,004294,004310,004321,004331,004334,004340,004342,004352,004472,004476,004488,004497,004507,004513,004519,004521,004528,004537,004545,004551,004553,004568,004571,004627,004632,004638,004651,004653,004660,004693,004695,004700,004716,004723,004732,004744,004748,004751,004765,006652,006653,006654,006655,006656,006657,006658,006659,006660,006661,006662,006663,006664,006665,006666,006667,006668,006669,006670,006671,006672,006673,006674,006675,006676,006677,006678,006679,006680,006681,006682,006683,006684,006685,006686,006687,006688,006689,006690,006691,006692,006693,006694,006695,006696,006697,006698,006699,006700\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"\"\"\"\n",
|
||||
"\"\"\"---设置题目列表结束---\"\"\"\n",
|
||||
"\n",
|
||||
"\"\"\"---设置文件名---\"\"\"\n",
|
||||
"#目录和文件的分隔务必用/\n",
|
||||
"filename = \"临时文件/数列未标注\"\n",
|
||||
"filename = \"临时文件/测试\"\n",
|
||||
"\"\"\"---设置文件名结束---\"\"\"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"if problems.strip()[0] == \"a\":\n",
|
||||
" with open(\"临时文件/题号筛选.txt\",\"r\",encoding = \"utf8\") as f:\n",
|
||||
" problems = f.read()\n",
|
||||
"\n",
|
||||
"#读取系统日期\n",
|
||||
"current_time = time.localtime()\n",
|
||||
|
|
@ -90,6 +87,9 @@
|
|||
"#生成题目列表\n",
|
||||
"if problems.strip() == \"\":\n",
|
||||
" problem_list = list(pro_dict.keys())\n",
|
||||
"elif problems.strip()[0] == \"a\":\n",
|
||||
" with open(\"临时文件/题号筛选.txt\",\"r\",encoding = \"utf8\") as f:\n",
|
||||
" problems = f.read()\n",
|
||||
"else:\n",
|
||||
" problem_list = [id for id in generate_number_set(problems.strip(),pro_dict) if id in pro_dict]\n",
|
||||
"\n",
|
||||
|
|
@ -102,7 +102,7 @@
|
|||
" problemset = pro_dict[id]\n",
|
||||
" problem = problemset[\"content\"]\n",
|
||||
" solution = (problemset[\"solution\"] if problemset[\"solution\"] != \"\" else \"暂无解答与提示\")\n",
|
||||
" answer = (problemset[\"ans\"] if problemset[\"ans\"] != \"\" else \"暂无答案\")\n",
|
||||
" answer = \"\\\\textcolor{red}{\" + (problemset[\"ans\"] if problemset[\"ans\"] != \"\" else \"暂无答案\") + \"}\"\n",
|
||||
" remarks = (problemset[\"remark\"] if problemset[\"remark\"] != \"\" else \"暂无备注\")\n",
|
||||
" usages_list = problemset[\"usages\"]\n",
|
||||
" if len(usages_list) > 0:\n",
|
||||
|
|
@ -123,7 +123,7 @@
|
|||
" objects_string = \"目标\" + obj + \"有误\\n\\n\"\n",
|
||||
" break\n",
|
||||
" else:\n",
|
||||
" objects_string += obj + \"|\" + obj_dict[obj][\"content\"] + \"\\n\\n\"\n",
|
||||
" objects_string += \"\\\\textcolor{blue}{\" + obj + \"|\" + obj_dict[obj][\"content\"] + \"}\\n\\n\"\n",
|
||||
" objects = objects_string\n",
|
||||
" space = (\"\" if problemset[\"space\"] == \"\" else \"\\n\"+r\"\\vspace*{\"+problemset[\"space\"]+\"}\\n\")\n",
|
||||
" tags = (\"|\".join(problemset[\"tags\"]) if len(problemset[\"origin\"])>0 else \"暂无标签\")\n",
|
||||
|
|
@ -138,6 +138,12 @@
|
|||
"#替换latex文件的内容并编译\n",
|
||||
"with open(\"模板文件/题目清单.tex\",\"r\",encoding = \"utf8\") as f:\n",
|
||||
" latex_raw = f.read()\n",
|
||||
"\n",
|
||||
"#识别操作系统\n",
|
||||
"if sys.platform != \"win32\":\n",
|
||||
" latex_raw = re.sub(r\"fontset[\\s]*=[\\s]*windows\",\"fontset = fandol\",latex_raw)\n",
|
||||
" latex_raw = re.sub(r\"\\\\setCJKmainfont\",r\"% \\\\setCJKmainfont\",latex_raw)\n",
|
||||
"\n",
|
||||
"latex_teachers = latex_raw.replace(\"编译模板\",data_teachers)\n",
|
||||
"with open(teachers_latex_file,\"w\",encoding = \"utf8\") as f:\n",
|
||||
" f.write(latex_teachers)\n",
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
## 用法
|
||||
|
||||
第一个单元格中需要设置四个位置:
|
||||
### 第一个单元格中需要设置四个位置
|
||||
|
||||
- ``starting_id``: 整数. 起始id号, 这个号码注意不要和已有的id重复, 可在``Problems.json``中查询空闲id. 处理中如果有重复id的话程序会报重复, 并且不会写入新题目到数据库
|
||||
|
||||
|
|
@ -17,3 +17,102 @@
|
|||
- ``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表明编译成功.
|
||||
|
|
|
|||
|
|
@ -22286,7 +22286,7 @@
|
|||
},
|
||||
"000883": {
|
||||
"id": "000883",
|
||||
"content": "已知$\\overrightarrow{AB}=3\\overrightarrow{AP}$, 设$\\overrightarrow{BP}=\\lambda \\overrightarrow{PA}$, 则实数$\\lambda=$\\blank{50}.",
|
||||
"content": "已知$A,B,P$三点两两不重合, 且$\\overrightarrow{AB}=3\\overrightarrow{AP}$, 设$\\overrightarrow{BP}=\\lambda \\overrightarrow{PA}$, 则实数$\\lambda=$\\blank{50}.",
|
||||
"objs": [
|
||||
"K0503001B"
|
||||
],
|
||||
|
|
|
|||
Reference in New Issue