From 55c2853665de9617a237dc44cddda9737a23e62c Mon Sep 17 00:00:00 2001 From: wangweiye7840 Date: Thu, 27 Jul 2023 08:57:26 +0800 Subject: [PATCH] =?UTF-8?q?mathpix=E6=96=87=E6=9C=AC=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=B8=AD=E5=A2=9E=E5=8A=A0=E4=BA=86=E5=AF=B9?= =?UTF-8?q?=E5=B9=B3=E8=A1=8C=E7=AC=A6=E5=8F=B7=E7=9A=84=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?,=20=E5=B9=B6=E5=B0=86=E5=B9=B3=E8=A1=8C=E4=B8=8E=E5=9E=82?= =?UTF-8?q?=E7=9B=B4=E5=9D=87=E4=BD=9C=E4=B8=BA=E5=85=B3=E7=B3=BB=E7=AC=A6?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E9=80=97=E5=8F=B7=E5=88=86=E5=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工具v2/database_tools.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/工具v2/database_tools.py b/工具v2/database_tools.py index 729da07f..14ce5b3a 100644 --- a/工具v2/database_tools.py +++ b/工具v2/database_tools.py @@ -975,7 +975,7 @@ def setCopy(string): # 写入剪切板内容 def RefineMathpix(raw_string): # 进一步修改mathpix得到的字符串 puctuationsfulltosemi = {" ": " ","。": ". ",".": ". ",",": ", ",":": ": ",";": "; ","(": "(",")": ")","?": "? ","“": "``","”": "''", "【": "[", "】": "]"} - replacestrings = {r"\\overparen": r"\\overset\\frown", "eqslant": "eq", r"\\vec": r"\\overrightarrow ", r"\\bar": r"\\overline", r"\\lim": r"\\displaystyle\\lim", r"\\sum":r"\\displaystyle\\sum", r"\\prod":r"\\displaystyle\\prod", r"\\mid":"|", r"\^\{\\prime\}":"'",r"e\^":r"\\mathrm{e}^"} + replacestrings = {r"\\overparen": r"\\overset\\frown", "eqslant": "eq", r"\\vec": r"\\overrightarrow ", r"\\bar": r"\\overline", r"\\lim": r"\\displaystyle\\lim", r"\\sum":r"\\displaystyle\\sum", r"\\prod":r"\\displaystyle\\prod", r"\\mid":"|", r"\^\{\\prime\}":"'",r"e\^":r"\\mathrm{e}^",r"/\s*/":r"\\parallel "} wrongrecog = {"雉":"锥","[粗秿]圆":"椭圆","投郑":"投掷","抛郑":"抛掷","范目":"范围","揷":"插","末见":"未见","末成":"未成","针角":"钝角","幕函数":"幂函数","末知":"未知","阀值":"阈值"} string = raw_string string = re.sub(r"\\left(?:\.?)|\\right(?:\.?)","",string) #删去括号前的\left与\right标记 @@ -1014,7 +1014,7 @@ def RefineMathpix(raw_string): # 进一步修改mathpix得到的字符串 string = re.sub(r"([\u4e00-\u9fa5\$])(?:\\bracket\{20\})*[\.]*[\s]*\n\\fourch",lambda matchobj: matchobj.group(1)+"\\bracket{20}.\n\\fourch",string) #给中文或公式结尾的题目最后一行加上选择题的括号. string = re.sub(r"(%[^\n]*)\\blank\{50\}\.",lambda matchobj:matchobj.group(1),string) #注释行不加\blank{50} string = re.sub(r"[\\\\]*\n(\(\d{1,2}\))(?:(?!\n)\s)*",lambda matchobj: "\\\\\n"+matchobj.group(1)+" ",string) #新一行的小题号回车前加上换行符 - string = re.sub(r"\(([^\(\)]*(?:\\in|=|\\ge|\\le|\\ne|>|<)[^\(\)]*)\)\$",lambda matchobj: "$($" + matchobj.group(1) + "$)",string) #公式最后的范围陈述的括号放到公式环境外 + string = re.sub(r"\(([^\(\)]*(?:\\in|=|\\ge|\\le|\\ne|>|<|\\parallel|\\perp)[^\(\)]*)\)\$",lambda matchobj: "$($" + matchobj.group(1) + "$)",string) #公式最后的范围陈述的括号放到公式环境外 string = re.sub(r"\$\$\(","(",string) #删去上一步造成的多余双$ string = re.sub(r"\(\s\$","($",string) #删去首个括号内公式前的空格 string = re.sub(r"\(\\begin\{cases\}",r"\\begin{pmatrix}",string) #修改错误的\begin{cases}) @@ -1062,7 +1062,7 @@ def SplitMathComma(string): #判断数学环境中的","是否需要用$ $分离 if len(p1r)*len(p2r)>0: if p1r[0]>p2r[0]: tosplit = False - if len(SubstringOccurence(r"(?:=|\\ge|\\le|\\ne|\\in|>|<)",locallmatter))*len(SubstringOccurence(r"(?:=|\\ge|\\le|\\ne|\\in|>|<)",localrmatter)) == 0: + if len(SubstringOccurence(r"(?:=|\\ge|\\le|\\ne|\\in|>|<|\\parallel|\\perp)",locallmatter))*len(SubstringOccurence(r"(?:=|\\ge|\\le|\\ne|\\in|>|<|\\parallel|\\perp)",localrmatter)) == 0: tosplit = False if tosplit: rmatter = ", $"+lmatter[pos+1:].lstrip()+rmatter.lstrip()