🔧 Fix all ruff typo errors & test CI/CD workflow (#109)

* [chore] Fix ruff typo

* [robot] Fix welcome robot
This commit is contained in:
OleehyO
2025-04-21 13:52:16 +08:00
committed by GitHub
parent ae776aa9c7
commit 511f69555c
9 changed files with 127 additions and 123 deletions

View File

@@ -5,13 +5,13 @@ from .format import format_latex
def _rm_dollar_surr(content):
pattern = re.compile(r'\\[a-zA-Z]+\$.*?\$|\$.*?\$')
pattern = re.compile(r"\\[a-zA-Z]+\$.*?\$|\$.*?\$")
matches = pattern.findall(content)
for match in matches:
if not re.match(r'\\[a-zA-Z]+', match):
new_match = match.strip('$')
content = content.replace(match, ' ' + new_match + ' ')
if not re.match(r"\\[a-zA-Z]+", match):
new_match = match.strip("$")
content = content.replace(match, " " + new_match + " ")
return content
@@ -33,97 +33,97 @@ def to_katex(formula: str) -> str:
"""
res = formula
# remove mbox surrounding
res = change_all(res, r'\mbox ', r' ', r'{', r'}', r'', r'')
res = change_all(res, r'\mbox', r' ', r'{', r'}', r'', r'')
res = change_all(res, r"\mbox ", r" ", r"{", r"}", r"", r"")
res = change_all(res, r"\mbox", r" ", r"{", r"}", r"", r"")
# remove hbox surrounding
res = re.sub(r'\\hbox to ?-? ?\d+\.\d+(pt)?\{', r'\\hbox{', res)
res = change_all(res, r'\hbox', r' ', r'{', r'}', r'', r' ')
res = re.sub(r"\\hbox to ?-? ?\d+\.\d+(pt)?\{", r"\\hbox{", res)
res = change_all(res, r"\hbox", r" ", r"{", r"}", r"", r" ")
# remove raise surrounding
res = re.sub(r'\\raise ?-? ?\d+\.\d+(pt)?', r' ', res)
res = re.sub(r"\\raise ?-? ?\d+\.\d+(pt)?", r" ", res)
# remove makebox
res = re.sub(r'\\makebox ?\[\d+\.\d+(pt)?\]\{', r'\\makebox{', res)
res = change_all(res, r'\makebox', r' ', r'{', r'}', r'', r' ')
res = re.sub(r"\\makebox ?\[\d+\.\d+(pt)?\]\{", r"\\makebox{", res)
res = change_all(res, r"\makebox", r" ", r"{", r"}", r"", r" ")
# remove vbox surrounding, scalebox surrounding
res = re.sub(r'\\raisebox\{-? ?\d+\.\d+(pt)?\}\{', r'\\raisebox{', res)
res = re.sub(r'\\scalebox\{-? ?\d+\.\d+(pt)?\}\{', r'\\scalebox{', res)
res = change_all(res, r'\scalebox', r' ', r'{', r'}', r'', r' ')
res = change_all(res, r'\raisebox', r' ', r'{', r'}', r'', r' ')
res = change_all(res, r'\vbox', r' ', r'{', r'}', r'', r' ')
res = re.sub(r"\\raisebox\{-? ?\d+\.\d+(pt)?\}\{", r"\\raisebox{", res)
res = re.sub(r"\\scalebox\{-? ?\d+\.\d+(pt)?\}\{", r"\\scalebox{", res)
res = change_all(res, r"\scalebox", r" ", r"{", r"}", r"", r" ")
res = change_all(res, r"\raisebox", r" ", r"{", r"}", r"", r" ")
res = change_all(res, r"\vbox", r" ", r"{", r"}", r"", r" ")
origin_instructions = [
r'\Huge',
r'\huge',
r'\LARGE',
r'\Large',
r'\large',
r'\normalsize',
r'\small',
r'\footnotesize',
r'\tiny',
r"\Huge",
r"\huge",
r"\LARGE",
r"\Large",
r"\large",
r"\normalsize",
r"\small",
r"\footnotesize",
r"\tiny",
]
for old_ins, new_ins in zip(origin_instructions, origin_instructions):
res = change_all(res, old_ins, new_ins, r'$', r'$', '{', '}')
res = change_all(res, r'\mathbf', r'\bm', r'{', r'}', r'{', r'}')
res = change_all(res, r'\boldmath ', r'\bm', r'{', r'}', r'{', r'}')
res = change_all(res, r'\boldmath', r'\bm', r'{', r'}', r'{', r'}')
res = change_all(res, r'\boldmath ', r'\bm', r'$', r'$', r'{', r'}')
res = change_all(res, r'\boldmath', r'\bm', r'$', r'$', r'{', r'}')
res = change_all(res, r'\scriptsize', r'\scriptsize', r'$', r'$', r'{', r'}')
res = change_all(res, r'\emph', r'\textit', r'{', r'}', r'{', r'}')
res = change_all(res, r'\emph ', r'\textit', r'{', r'}', r'{', r'}')
res = change_all(res, old_ins, new_ins, r"$", r"$", "{", "}")
res = change_all(res, r"\mathbf", r"\bm", r"{", r"}", r"{", r"}")
res = change_all(res, r"\boldmath ", r"\bm", r"{", r"}", r"{", r"}")
res = change_all(res, r"\boldmath", r"\bm", r"{", r"}", r"{", r"}")
res = change_all(res, r"\boldmath ", r"\bm", r"$", r"$", r"{", r"}")
res = change_all(res, r"\boldmath", r"\bm", r"$", r"$", r"{", r"}")
res = change_all(res, r"\scriptsize", r"\scriptsize", r"$", r"$", r"{", r"}")
res = change_all(res, r"\emph", r"\textit", r"{", r"}", r"{", r"}")
res = change_all(res, r"\emph ", r"\textit", r"{", r"}", r"{", r"}")
# remove bold command
res = change_all(res, r'\bm', r' ', r'{', r'}', r'', r'')
res = change_all(res, r"\bm", r" ", r"{", r"}", r"", r"")
origin_instructions = [
r'\left',
r'\middle',
r'\right',
r'\big',
r'\Big',
r'\bigg',
r'\Bigg',
r'\bigl',
r'\Bigl',
r'\biggl',
r'\Biggl',
r'\bigm',
r'\Bigm',
r'\biggm',
r'\Biggm',
r'\bigr',
r'\Bigr',
r'\biggr',
r'\Biggr',
r"\left",
r"\middle",
r"\right",
r"\big",
r"\Big",
r"\bigg",
r"\Bigg",
r"\bigl",
r"\Bigl",
r"\biggl",
r"\Biggl",
r"\bigm",
r"\Bigm",
r"\biggm",
r"\Biggm",
r"\bigr",
r"\Bigr",
r"\biggr",
r"\Biggr",
]
for origin_ins in origin_instructions:
res = change_all(res, origin_ins, origin_ins, r'{', r'}', r'', r'')
res = change_all(res, origin_ins, origin_ins, r"{", r"}", r"", r"")
res = re.sub(r'\\\[(.*?)\\\]', r'\1\\newline', res)
res = re.sub(r"\\\[(.*?)\\\]", r"\1\\newline", res)
if res.endswith(r'\newline'):
if res.endswith(r"\newline"):
res = res[:-8]
# remove multiple spaces
res = re.sub(r'(\\,){1,}', ' ', res)
res = re.sub(r'(\\!){1,}', ' ', res)
res = re.sub(r'(\\;){1,}', ' ', res)
res = re.sub(r'(\\:){1,}', ' ', res)
res = re.sub(r'\\vspace\{.*?}', '', res)
res = re.sub(r"(\\,){1,}", " ", res)
res = re.sub(r"(\\!){1,}", " ", res)
res = re.sub(r"(\\;){1,}", " ", res)
res = re.sub(r"(\\:){1,}", " ", res)
res = re.sub(r"\\vspace\{.*?}", "", res)
# merge consecutive text
def merge_texts(match):
texts = match.group(0)
merged_content = ''.join(re.findall(r'\\text\{([^}]*)\}', texts))
return f'\\text{{{merged_content}}}'
merged_content = "".join(re.findall(r"\\text\{([^}]*)\}", texts))
return f"\\text{{{merged_content}}}"
res = re.sub(r'(\\text\{[^}]*\}\s*){2,}', merge_texts, res)
res = re.sub(r"(\\text\{[^}]*\}\s*){2,}", merge_texts, res)
res = res.replace(r'\bf ', '')
res = res.replace(r"\bf ", "")
res = _rm_dollar_surr(res)
# remove extra spaces (keeping only one)
res = re.sub(r' +', ' ', res)
res = re.sub(r" +", " ", res)
# format latex
res = res.strip()