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_raw = getCopy() problems_raw = re.findall(r"\\begin\{enumerate\}([\s\S]*?)\\end\{enumerate\}",data_raw) data = "\n".join([item.strip() for item in problems_raw]) problems = [(d.strip()) for d in data.split("\\item") if not d.strip() == ""] output = "使用说明:\\\\\n rep??????表示使用已有题号??????,\\\\\n s??????表示和??????相同,\\\\\n r??????表示和??????相关\n\n\\begin{enumerate}\n\n" for p in problems: p_treated = pre_treating(p) t = stringmaxsim(p_treated,treated_dict,5) psrstring = "" for id,simrate in t: if simrate == 1: psrstring = "rep"+id+"," else: psrstring += id + "," if psrstring[-1] == ",": psrstring = psrstring[:-1] output += f"\\item [{psrstring}] {p}\n\n" count = 0 for id,simrate in t: if simrate > 0.5: colors = get_color(simrate*2-1) output += "\n\\definecolor{mycolor}{rgb}"+colors output += "\n\\begin{tcolorbox}"+f"[colback = mycolor, opacityback = 0.25, 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}\n" 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)