diff --git a/工具v2/Ui_文本转换处理.py b/工具v2/Ui_文本转换处理.py
index d776009a..4707f004 100644
--- a/工具v2/Ui_文本转换处理.py
+++ b/工具v2/Ui_文本转换处理.py
@@ -43,27 +43,32 @@ class Ui_Form(object):
font = QFont()
font.setBold(True)
self.pushButton_convert.setFont(font)
- self.widget = QWidget(Form)
- self.widget.setObjectName(u"widget")
- self.widget.setGeometry(QRect(320, 120, 97, 74))
- self.verticalLayout = QVBoxLayout(self.widget)
+ self.layoutWidget = QWidget(Form)
+ self.layoutWidget.setObjectName(u"layoutWidget")
+ self.layoutWidget.setGeometry(QRect(320, 80, 91, 100))
+ self.verticalLayout = QVBoxLayout(self.layoutWidget)
self.verticalLayout.setObjectName(u"verticalLayout")
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
- self.radioButton_mathpix = QRadioButton(self.widget)
+ self.radioButton_mathpix = QRadioButton(self.layoutWidget)
self.radioButton_mathpix.setObjectName(u"radioButton_mathpix")
self.verticalLayout.addWidget(self.radioButton_mathpix)
- self.radioButton_textcircled = QRadioButton(self.widget)
+ self.radioButton_textcircled = QRadioButton(self.layoutWidget)
self.radioButton_textcircled.setObjectName(u"radioButton_textcircled")
self.verticalLayout.addWidget(self.radioButton_textcircled)
- self.radioButton_multiple = QRadioButton(self.widget)
+ self.radioButton_multiple = QRadioButton(self.layoutWidget)
self.radioButton_multiple.setObjectName(u"radioButton_multiple")
self.verticalLayout.addWidget(self.radioButton_multiple)
+ self.radioButton_puctuations = QRadioButton(self.layoutWidget)
+ self.radioButton_puctuations.setObjectName(u"radioButton_puctuations")
+
+ self.verticalLayout.addWidget(self.radioButton_puctuations)
+
self.retranslateUi(Form)
@@ -80,5 +85,6 @@ class Ui_Form(object):
self.radioButton_mathpix.setText(QCoreApplication.translate("Form", u"Mathpix", None))
self.radioButton_textcircled.setText(QCoreApplication.translate("Form", u"\u5706\u5708\u6570\u5b57", None))
self.radioButton_multiple.setText(QCoreApplication.translate("Form", u"\u591a\u9009\u8f6c\u586b\u7a7a", None))
+ self.radioButton_puctuations.setText(QCoreApplication.translate("Form", u"\u6807\u70b9\u8f6c\u534a\u89d2", None))
# retranslateUi
diff --git a/工具v2/database_tools.py b/工具v2/database_tools.py
index 610a48d2..0e02cdc3 100644
--- a/工具v2/database_tools.py
+++ b/工具v2/database_tools.py
@@ -150,6 +150,7 @@ def generate_number_set(string,*thedict): #根据可能含有":"和","的题号
string = re.sub(r"[\n\s]","",string).strip()
while not string[-1] in "0123456789":
string = string[:-1]
+ string = RefinePunctuations(string)
string_list = string.split(",")
numbers_list = []
for s in string_list:
@@ -1385,8 +1386,8 @@ def itemizeProblems(string): #将题号替换为\item
string = "\n".join(itemed_list)
return string
-def RefinePuctuations(raw_string):
- puctuationsfulltosemi = {" ": " ","。": ". ",".": ". ",",": ", ",":": ": ",";": "; ","(": "(",")": ")","?": "? ","“": "``","”": "''", "【": "[", "】": "]"}
+def RefinePunctuations(raw_string):
+ puctuationsfulltosemi = {" ": " ","。": ". ",".": ". ",",": ", ",":": ": ",";": "; ","(": "(",")": ")","?": "? ","“": "``","”": "''", "【": "[", "】": "]", "!": "!"}
string = raw_string.strip()
for s in puctuationsfulltosemi:
string = re.sub(s,puctuationsfulltosemi[s],string) #将部分全角标记替换为半角
@@ -2096,7 +2097,7 @@ def makedir(dirpath): #递归创建文件夹
def TitleIDStringtoTupleList(raw_string): #将类json的标题与题号对应变为(标题,题号字符串)的tuple之后组成list
corresponding_list = []
- raw_string = RefinePuctuations(raw_string).replace("{","").replace("}","")
+ raw_string = RefinePunctuations(raw_string).replace("{","").replace("}","")
raw_list = [re.sub(r"(?:(?:\s)|(?:,\s*$))","",t) for t in raw_string.split("\n") if not t.strip() == ""]
for raw_item in raw_list:
item = raw_item.replace('"','').replace(";","")
diff --git a/工具v2/文本转换处理.py b/工具v2/文本转换处理.py
index 43a2b074..6dfe2f2f 100644
--- a/工具v2/文本转换处理.py
+++ b/工具v2/文本转换处理.py
@@ -18,11 +18,13 @@ class MyWindow(QWidget,Ui_Form):
dest_string = re.sub(r"\((\d)\)",lambda x: "\\textcircled{"+x.group(1)+"}",raw_string) #替换所有的小括号包围的单个数字为圆圈包围的
dest_string = re.sub(r"\$\\textcircled\{\\scriptsize\{(\d)\}\}",lambda x: "\\textcircled{"+x.group(1)+"}$",dest_string)
dest_string = re.sub(r"\\textcircled\{\\scriptsize\{(\d)\}\}",lambda x: "\\textcircled{"+x.group(1)+"}",dest_string)
- else:
+ elif self.radioButton_multiple.isChecked():
try:
dest_string = MultiplechoicetoBlankFilling(raw_string)
except:
dest_string = "转换失败"
+ elif self.radioButton_puctuations.isChecked():
+ dest_string = RefinePunctuations(raw_string)
self.plainTextEdit_dest.setPlainText(dest_string)
diff --git a/工具v2/文本转换处理.ui b/工具v2/文本转换处理.ui
index 0b48f163..17698267 100644
--- a/工具v2/文本转换处理.ui
+++ b/工具v2/文本转换处理.ui
@@ -89,13 +89,13 @@
转换
-
+
320
- 120
- 97
- 74
+ 80
+ 91
+ 100
@@ -120,6 +120,13 @@
+ -
+
+
+ 标点转半角
+
+
+