From d14c317cacd95524e5f58416756643f113ac6173 Mon Sep 17 00:00:00 2001 From: fannazya Date: Sat, 21 Aug 2021 15:53:33 +0800 Subject: [PATCH 1/2] add a warning of line breaks in formula --- EduNLP/SIF/parser/parser.py | 15 ++++++++++++++- tests/test_sif/test_parser.py | 4 ++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/EduNLP/SIF/parser/parser.py b/EduNLP/SIF/parser/parser.py index db290946..0bc1807e 100644 --- a/EduNLP/SIF/parser/parser.py +++ b/EduNLP/SIF/parser/parser.py @@ -226,7 +226,16 @@ def get_token(self): print("Warning: there is some chinese characters in formula!") self.warnning = 1 flag = 0 - self.head += 1 + self.head += 1 + elif flag and ch_informula == '\n': + # latex 中出现换行符,删除且打印一次 warning + print("Warning: there is a '\\n' in formula!") + self.warnning = 1 + flag = 0 + self.text = self.text[:self.head] + self.text[self.head + 1:] + self.modify_flag = 1 + else: + self.head += 1 if self.head >= len(self.text): self.call_error() return self.error @@ -324,6 +333,10 @@ def description_list(self): >>> text_parser.description_list() >>> text_parser.fomula_illegal_flag 1 + >>> text = '方程$x+y=2\n$' + >>> text_parser = Parser(text) + >>> text_parser.description_list() + Warning: there is '\n' in formula! """ # print('call description_list') self.description() diff --git a/tests/test_sif/test_parser.py b/tests/test_sif/test_parser.py index 34f996d2..1d75c533 100644 --- a/tests/test_sif/test_parser.py +++ b/tests/test_sif/test_parser.py @@ -34,3 +34,7 @@ def test_parser(): text_parser = Parser(text) text_parser.description_list() assert text_parser.fomula_illegal_flag == 1 + + text = '方程$x+y=2\n$' + text_parser = Parser(text) + text_parser.description_list() From df8d9cfe85e0aa40f62889d09c19735bfed9b00a Mon Sep 17 00:00:00 2001 From: fannazya Date: Sat, 21 Aug 2021 16:04:27 +0800 Subject: [PATCH 2/2] fix an error --- EduNLP/SIF/parser/parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EduNLP/SIF/parser/parser.py b/EduNLP/SIF/parser/parser.py index 0bc1807e..b5ed272d 100644 --- a/EduNLP/SIF/parser/parser.py +++ b/EduNLP/SIF/parser/parser.py @@ -336,7 +336,7 @@ def description_list(self): >>> text = '方程$x+y=2\n$' >>> text_parser = Parser(text) >>> text_parser.description_list() - Warning: there is '\n' in formula! + Warning: there is a '\n' in formula! """ # print('call description_list') self.description()