修改了mathpix润色工具的处理cases时的两个bug

This commit is contained in:
weiye.wang 2023-07-25 22:40:46 +08:00
parent 2a18bee6a0
commit c15bc25365
1 changed files with 2 additions and 0 deletions

View File

@ -1006,6 +1006,7 @@ def RefineMathpix(raw_string): # 进一步修改mathpix得到的字符串
string = re.sub(r"([CP])(_[^_\^]{,5}\^)",lambda x:r"\mathrm{"+x.group(1)+"}"+x.group(2),string) #处理排列数和组合数字母的正体 string = re.sub(r"([CP])(_[^_\^]{,5}\^)",lambda x:r"\mathrm{"+x.group(1)+"}"+x.group(2),string) #处理排列数和组合数字母的正体
string = re.sub(r"([\^_])\{([-]{0,1})\\dfrac",lambda matchobj: matchobj.group(1) + "{" + matchobj.group(2) + "\\frac",string) string = re.sub(r"([\^_])\{([-]{0,1})\\dfrac",lambda matchobj: matchobj.group(1) + "{" + matchobj.group(2) + "\\frac",string)
string = re.sub(r"ldots",r"cdots",string) #将ldots替换为cdots string = re.sub(r"ldots",r"cdots",string) #将ldots替换为cdots
string = re.sub(r"\\text\s*\{,\s*当\s*\}",", ",string)
string = re.sub(r"[\\{]*\\(begin|end)\{array\}(?:\{[rcl]*\}){0,1}",lambda matchobj: "\\" + matchobj.group(1) + "{cases}",string) #将分段函数的array环境改为cases环境 string = re.sub(r"[\\{]*\\(begin|end)\{array\}(?:\{[rcl]*\}){0,1}",lambda matchobj: "\\" + matchobj.group(1) + "{cases}",string) #将分段函数的array环境改为cases环境
string = re.sub(r"([\u4e00-\u9fa5\$])[\s]*\n\\item",lambda matchobj: matchobj.group(1)+"\\blank{50}.\n\\item",string) #给中文或公式结尾的题目最后一行加上填空的空格. string = re.sub(r"([\u4e00-\u9fa5\$])[\s]*\n\\item",lambda matchobj: matchobj.group(1)+"\\blank{50}.\n\\item",string) #给中文或公式结尾的题目最后一行加上填空的空格.
string = re.sub(r"(是|为|(?:=\$))\s*([,.;\n])",lambda matchobj: matchobj.group(1) + "\\blank{50}" + ("." if matchobj.group(2) == "\n" else "") + matchobj.group(2),string) #给行中的题目需要的地方加上空格 string = re.sub(r"(是|为|(?:=\$))\s*([,.;\n])",lambda matchobj: matchobj.group(1) + "\\blank{50}" + ("." if matchobj.group(2) == "\n" else "") + matchobj.group(2),string) #给行中的题目需要的地方加上空格
@ -1130,6 +1131,7 @@ def RefineCasesEnv(string): # 美化cases环境
newcontent = re.sub(r",[\s]*&[\s]*\\",r",\\",newcontent) newcontent = re.sub(r",[\s]*&[\s]*\\",r",\\",newcontent)
newcontent = re.sub(r",[\s]*&[\s]*$",",",newcontent) #给逗号添加&分栏符, 并去除无效的& newcontent = re.sub(r",[\s]*&[\s]*$",",",newcontent) #给逗号添加&分栏符, 并去除无效的&
string = lmatter + newcontent + rmatter string = lmatter + newcontent + rmatter
string = re.sub(r"&[,\s]&","& ",string)
return string #返回处理后的字符串 return string #返回处理后的字符串
def SubstringOccurence(regex,string): #生成regex在string中出现的所有位置 def SubstringOccurence(regex,string): #生成regex在string中出现的所有位置