新增新题比对功能并加入工具面板
This commit is contained in:
parent
6a5e46464e
commit
fe683bed20
|
|
@ -69,7 +69,8 @@ ImportMenu.add_command(label = "寻找空闲题号", command = lambda: SetButton
|
||||||
ImportMenu.add_separator()
|
ImportMenu.add_separator()
|
||||||
ImportMenu.add_command(label = "批量收录题目", command = lambda: SetButton("批量收录题目",["批量收录题目.py"]))
|
ImportMenu.add_command(label = "批量收录题目", command = lambda: SetButton("批量收录题目",["批量收录题目.py"]))
|
||||||
ImportMenu.add_command(label = "添加关联题目", command = lambda: SetButton("添加关联题目",["添加关联题目.py"]))
|
ImportMenu.add_command(label = "添加关联题目", command = lambda: SetButton("添加关联题目",["添加关联题目.py"]))
|
||||||
|
ImportMenu.add_separator()
|
||||||
|
ImportMenu.add_command(label = "新题比对", command = lambda: SetButton("新题比对",["新题比对.py"] ))
|
||||||
|
|
||||||
|
|
||||||
# 设置 维护 菜单项
|
# 设置 维护 菜单项
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
outputpath = "临时文件/新题比对.tex"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
from database_tools import *
|
||||||
|
colors = ["green","orange","blue"]
|
||||||
|
templatepath = ".\模板文件\讲义模板.txt"
|
||||||
|
|
||||||
|
pro_dict = load_dict("../题库0.3/problems.json")
|
||||||
|
treated_dict = treat_dict(pro_dict)
|
||||||
|
data = getCopy()
|
||||||
|
problems = [(d.strip()) for d in data.split("\\item") if not d.strip() == ""]
|
||||||
|
output = "\\begin{enumerate}\n\n"
|
||||||
|
for p in problems:
|
||||||
|
p_treated = pre_treating(p)
|
||||||
|
output += f"\\item {p}\n\n"
|
||||||
|
t = stringmaxsim(p_treated,treated_dict,3)
|
||||||
|
count = 0
|
||||||
|
for id,simrate in t:
|
||||||
|
output += "\\begin{tcolorbox}"+f"[colback = {colors[count]}!10!white, colframe = orange!10!white, breakable]\n"
|
||||||
|
output += f"{simrate:.3f} \\ {id}\n\n"
|
||||||
|
content = pro_dict[id]["content"]
|
||||||
|
output += f"{content}\n"
|
||||||
|
output += "\\end{tcolorbox}"
|
||||||
|
count += 1
|
||||||
|
output += "\n\n"
|
||||||
|
output += "\n\\end{enumerate}\n\n"
|
||||||
|
|
||||||
|
texraw = ReadTextFile(templatepath)
|
||||||
|
texdata = StringSubstitute(r"<<[\s\S]*?待替换[\s\S]*?>>",texraw,("新题比对"+f"{GetDate()}",output))
|
||||||
|
|
||||||
|
|
||||||
|
texfilepath = os.path.join(os.getcwd(),outputpath)
|
||||||
|
SaveTextFile(texdata,texfilepath)
|
||||||
|
os.system(f"code {texfilepath}")
|
||||||
|
# dir,filename = os.path.split(texfilepath)
|
||||||
|
# XeLaTeXCompile(dir,filename)
|
||||||
Reference in New Issue