diff --git a/CrossDown.py b/CrossDown.py index 6410a3a..0e435ea 100644 --- a/CrossDown.py +++ b/CrossDown.py @@ -232,6 +232,8 @@ class CodeBlock: self.codes[index] = f'
\(\1\)
', code) + elif re.match(r'¥[^$]*¥', code): # 是数学函数(单行) + self.codes[index] = re.sub(fr'¥([^$]*)¥', r'\(\1\)
', code) else: # 是突出块 self.codes[index] = f'{code}' @@ -326,7 +328,9 @@ class Syllabus: re.sub(f'^({match.groups()[0]})', fr'{"#" * len(match.groups()[0].split("."))} \1{{#' + match.groups()[0] + '}', origen) if match is not None else origen) # 对于不是提纲的行,直接返回原始字符 - (re.match(r'^([\d.]+) ', line), line) # 匹配提纲号 + ((lambda x: re.match(r'^([\d.]+) ', x) # 判断是否是提纲 + if not any((x.startswith('.'), re.search('\. ', x) is not None)) + else None)(line), line) # 排除.在提纲号开头或结尾的情况 for line in self.text.splitlines() # 分割并遍历文本的每一行 ]) diff --git a/README.html b/README.html index ea74e2c..18b5a87 100644 --- a/README.html +++ b/README.html @@ -117,6 +117,12 @@引文内添加斜体粗体下划线删除线高亮
以数字和点组成,通过空格与提纲名分隔,例如:
+点不能出现在开头或结尾,例如 + .6.1.2 错误示范 + 6.1.3. 错误示范