使用指南中更新 批量添加新题 的内容

This commit is contained in:
weiye.wang 2024-02-09 08:45:30 +08:00
parent 6cf28b3793
commit 8f794f547a
1 changed files with 65 additions and 4 deletions

View File

@ -4,6 +4,12 @@
**本教程中的默认文件夹是题库根目录/工具v2**
## 打开面板的方式
在配置好python的math环境, 在题库根目录运行过``pip install -r requirements.txt``, 并且编写过``conda_initiate.bat``之后, 在终端的题库根目录运行``conda_initiate.bat``, 随后在终端依次输入``cd 工具v2``回车, ``python 工具面板.py``回车, 会跳出一个``tkinter``做的GUI面板.
![1707404577237.png](http://wwylss.synology.me:48089/i/2024/02/08/65c4ed2046c2a.png)
## 在overleaf上协作编辑
我们**自己部署的本地overleaf服务器**的地址是[overleaf kongjiang](http://kjwangweiye.top:40388)(``kjwangweiye.top:40388``)或[overleaf kongjiang mirror](http://wwylss.synology.me:40388)(``wwylss.synology.me:40388``)
@ -77,18 +83,73 @@ mathpix是一个非常好用的数学文字和公式转换工具, 唯一的缺
- ``4552933337@student.cumtb.edu.cn`` 密码: ``Ab@789789``
- ``515625773@student.cumtb.edu.cn`` 密码: ``Ab@789789``
以下以识别tutorial分支上的``../文档/教学材料/待收录.png``为例
以下以识别``tutorial``分支上的``../文档/教学材料/待收录.png``为例:
1. 在资源管理器中打开这个文件(肉眼可见其中的内容).
2. 启动mathpix客户端(一般会隐藏在右下角)
![mathpix客户端图标](http://wwylss.synology.me:48089/i/2024/02/08/65c4ea8669dcf.png)
3. 右键点击图标, 在弹出的菜单中选``GET LATEX``(后面跟着的是快捷键)
4. 屏幕会变成灰黑色, 并且有一个十字表示鼠标当前位置, 拖一个红色的矩形框圈住所有想要识别的文字(表会被识别, 图不会), 等待一会儿
![截图识别界面](http://wwylss.synology.me:48089/i/2024/02/08/65c4eb8f7d4ef.png)
5. 在mathpix窗口中按图示方式点击, 将LaTeX代码复制到剪贴板
![将源代码复制到剪贴板](http://wwylss.synology.me:48089/i/2024/02/08/65c4ebe832e56.png)
### 识别的内容复制到剪贴板之后的操作
#### 作一些预处理, 使风格和题库中的题目的风格一致
#### 作一些预处理, 使风格和题库中的题目的风格一致, 并确保LaTeX代码没有语法错误
#### 和题库中已有的题目比对并手动作一些标记
1. 在面板上点击``其他``-``mathpix识别文字预处理``, 点击绿色的``运行``, 这会预处理识别的结果, 预处理后的结果仍然在剪贴板中
![mathpix识别文字预处理](http://wwylss.synology.me:48089/i/2024/02/08/65c4ed4ba5c77.png)
2. 在``vscode``中打开``模板文件/讲义模板.txt``, 另存为``临时文件``中任意一个以``.tex``结尾的文件, 例如``test01.tex``
![文件另存为](http://wwylss.synology.me:48089/i/2024/02/08/65c4ee76a0db9.png)
3. 在该``.tex``文件中将图中的``<<待替换2>>``替换为如下代码(粘贴后如果有代码缩进, 全选按<shift>-<tab>可取消缩进)
```latex
\begin{enumerate}
<剪贴板中的代码>
\end{enumerate}
```
![原始文件](http://wwylss.synology.me:48089/i/2024/02/08/65c4f6ec27eb2.png)
![替换后的文件](http://wwylss.synology.me:48089/i/2024/02/08/65c4f7ad2739b.png)
4. 按``ctrl-alt-b``编译, 如果下方状态栏的圈转了之后显示勾, 说明编译成功, 这时可按``ctrl-alt-v``查看编译结果; 如果显示红色的叉, 说明文件有问题, 需要自己或有经验的同伴帮忙检查一下
5. 题目中或多或少会有一些问题, 这一步先不用修改.
6. 全选``.tex``文件的内容, 并复制到剪贴板.
#### 和题库中已有的题目作比对并手动作一些标记
在导入新题到题库时, 我们一般关心每一道新题目是否和题库中已有的题目完全相同(可能描述会有细微的差别, 但不需要作较为精细的理解就能发现两道题目的含义一致, 并且题目类型[填空/选择/解答]也完全一致, 如果是选择题的话, 选项也一致), 或者明显相关联(未达到上述标准, 但是求解时所用的方法一致, 计算难度相当; 或者某一题是另一题的一部分等).
对于完全相同的题, 如果它不出现在一张规范的整卷(如一模二模卷, 高考卷等), 那事实上没有必要收录, 使用之前的题目即可; 如果它出现在一张规范的整卷中, 为了整卷的题号连续起见, 还是希望再收录一遍该题, 收录的同时作好``相同``的标记(``same``).
对于相关的题, 也希望能在收录时做好``相关``的标记(``related``).
1. **在上一步的``.tex``源代码全部被复制到剪贴板之后**, 紧接着用面板进行新题比对, 在面板的``录入``菜单中选择``新题比对``, 立即点击``运行``按钮
![运行新题比对脚本](http://wwylss.synology.me:48089/i/2024/02/09/65c4fdc5d2b96.png)
2. 在``vscode``中会呈现一个名为``新题比对.tex``的LaTeX源文件, 在该窗口内按``ctrl-alt-b``进行编译, 如果编译通过的话按``ctrl-alt-v``在右侧预览
![新题比对预览](http://wwylss.synology.me:48089/i/2024/02/09/65c56fed7d851.png)
3. 右侧pdf中的每一道题之后可能会有几个色块, 每一个色块表示一道*字符串意义下*和原题比较接近的题目(Levenshtein jaro算法), 源代码的``\item``后面有一个中括号, 中括号内是色块中题目的题号. 色块越红越表示越接近.
4. 如果在色块中的题目和打算导入的新题是相同的, 可以用原有的题目替代, 那么在中括号中的题号前加上``rep``字样(同时本题其他色块题号的标注都作为无效).
![rep的展示](http://wwylss.synology.me:48089/i/2024/02/09/65c5715d00f40.png)
5. 如果在色块中的题目和打算导入的新题是相同的, 但依然打算导入为新题, 那么在中括号中的题号前加上``s``字样(同时本题其他色块题号的``s``,``r``标注依然有效), 如下图
![s和r的展示](http://wwylss.synology.me:48089/i/2024/02/09/65c572b47cdef.png)
6. 如果在色块中的题目和打算导入的新题是相关的, 那么在中括号中的题号前加上``r``字样(同时本题其他色块题号的``s``,``r``标注依然有效), 如上图
7. 在做标记时, 仔细检查欲导入的题目内容是否有明显问题, 图不会画的话在题目后方打上``缺图``字样, 后续管理员会跟进处理
8. 标记期间随时可以保存或编译(编译时会自动保存), **标记完成后记得**``ctrl-alt-b``**编译**, 确定没有语法错误
#### 将标记完成的题目及相关信息一并收录到题库
1. 在面板上选``录入``-``批量收录题目``
![批量收录题目](http://wwylss.synology.me:48089/i/2024/02/09/65c5738d0e250.png)
2. 在``vscode``的``批量收录题目.py``窗口中修改以下信息:
![批量收录题目设置](http://wwylss.synology.me:48089/i/2024/02/09/65c5740c1ca84.png)
1. ``starting_id``表示起始题号(``int``类型), 如果起始题号被占用, 则会自动寻找之后的第一个空闲题号作为起始
2. ``raworigin``表示题目来源, 如果没有明确的出处建议使用``自拟题目``字符串
3. ``editor``表示收录者, 改为自己的名字
4. ``IndexDescription``是字符串, 默认留空; 如果新试题来自一张试卷, 将其改为``"试题"``, 效果是收录题目时会对题目的题号做标注, 类似``2023年上海秋季高考试题3``
3. 编辑完成后保存, 关闭, 随后在面板上点击``运行``按钮
4. 终端会显示收录的进度, 收录完成后``vscode``会打开一个名为``新题收录列表.txt``的窗口, 最后两行就是本次收录的信息(日期, 题号等)
![新题收录列表](http://wwylss.synology.me:48089/i/2024/02/09/65c575590196c.png)
随后如果有必要, 可保存``Problems.json``至暂存区, 之后可以commit到本地的repository, 乃至push到远程的服务器.
随后如果有必要, 可保存``Problems.json``及``新题收录列表.txt``至暂存区, 之后可以commit到本地的repository, 乃至push到远程的服务器.
## 添加关联题