格式程序 1.30

改公式格式,遇到行间公式不带换行,增加换行,多次增加换行后,容易有多余的行,去除掉


import os
import re

# 定义替换函数
def replace_latex_delimiters(content):
    # 替换 \( \) 为 $$ $$
    content = re.sub(r'\\\((.*?)\\\)', r'$\1$', content)
    # 替换 \[ \] 为 $$ $$
    content = re.sub(r'\\\[', r'$$', content)
    content = re.sub(r'\\\]', r'$$', content)
    return content

def process_md_file(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        content = file.read()
        
        # 替换 LaTeX 分隔符
        new_content = replace_latex_delimiters(content)
        
        # 确保 $$ 被正确地换行
        processed_text = re.sub(r'\$\$', '\n$$\n', new_content)

        # 去掉空行
        processed_text = "\n".join([line for line in processed_text.splitlines() if line.strip()])

    # 写入处理后的MD文本到原文件
    with open(file_path, 'w', encoding='utf-8') as file:
        file.write(processed_text)

def batch_process_md_files(directory):
    # 遍历目录下的所有文件
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.endswith('.md'):
                file_path = os.path.join(root, file)
                process_md_file(file_path)
                print(f"Processed file: {file_path}")

# 指定要处理的目录为当前工作目录
directory = os.getcwd()

# 批量处理Markdown文件
batch_process_md_files(directory)
print("All Markdown files processed successfully!")
posted @ 2025-01-30 17:40  redufa  阅读(11)  评论(0)    收藏  举报