选题编译功能改为先生成字典, 再生成LaTeX代码, 在题目多于50题时将显著加快生成LaTeX代码的速度
This commit is contained in:
parent
109bd75485
commit
c5bdbed9cb
|
|
@ -128,17 +128,21 @@ class MyWindow_xtby(QWidget,Ui_Form):
|
|||
latex_raw = re.sub(r"fontset[\s]*=[\s]*none","fontset = fandol",latex_raw)
|
||||
latex_raw = re.sub(r"\\setCJKmainfont",r"% \\setCJKmainfont",latex_raw)
|
||||
|
||||
if len(self.TitleID_list) > 1:
|
||||
bodystring = "\\tableofcontents\n\n\\newpage\n\n"
|
||||
else:
|
||||
bodystring = "\n\n"
|
||||
bodylist = []
|
||||
# problems_dict = configjson["标题与题号"]
|
||||
starttime = time.time()
|
||||
mydb = connect(hostname = db_host, port = db_port, username=db_user, pwd=db_pwd, db = self.database_name)
|
||||
mycursor = mydb.cursor()
|
||||
pro_dict,obj_dict,bn_dict,unit_obj_dict = generateDictsfromMariaDB(mycursor)
|
||||
for p,IDs in self.TitleID_list:
|
||||
currentbodystring = f"\\section{{{p}}}\n\\begin{{enumerate}}\n\n"
|
||||
print(f"正在从数据库获取数据, 生成源代码...")
|
||||
for id in tqdm.tqdm(generate_number_set(IDs)):
|
||||
currentbodystring += generateLaTeXBodyContentfromMariaDB(mycursor,id,configjson)
|
||||
for id in tqdm.tqdm(generate_number_set(IDs,pro_dict), desc = f"生成 {p} 章节LaTeX代码"):
|
||||
currentbodystring += generateLaTeXBodyContentFromDict(id,pro_dict,obj_dict,configjson)
|
||||
currentbodystring += "\\end{enumerate}"
|
||||
bodylist.append(currentbodystring)
|
||||
bodystring += "\n\n\\newpage\n\n".join(bodylist)
|
||||
|
|
|
|||
Reference in New Issue