PeaceSheep's blog PeaceSheep's blog
首页
  • 分类
  • 标签
  • 归档
相关链接
提建议&咨询&赞赏
GitHub (opens new window)

PeaceSheep

以最简洁、易懂的话解决问题
首页
  • 分类
  • 标签
  • 归档
相关链接
提建议&咨询&赞赏
GitHub (opens new window)
  • 01 说明
  • 环境安装与配置

  • 常用命令与配置文件

  • 常用代码

    • 说明
    • 翻译整个latex文件夹
  • 常用操作
  • 常用代码
PeaceSheep
2023-05-11

翻译整个latex文件夹

使用python把当前文件夹下的所有tex文件调用translate_tex命令翻译,保存到translate文件夹,同时把所有其他文件直接复制到translate文件夹。有关translate_tex,请见MathTranslate (opens new window)

import os
import shutil

# 指定原始文件夹路径和目标文件夹路径
src_folder = '.'
dst_folder = 'translate'

# 获取原始文件夹和目标文件夹的绝对路径
src_folder_abs = os.path.abspath(src_folder)
dst_folder_abs = os.path.abspath(dst_folder)

# 递归遍历原始文件夹中的所有文件和子文件夹
for dirpath, dirnames, filenames in os.walk(src_folder):
    # 判断目标文件夹是否是原始文件夹的子文件夹
    if os.path.abspath(dirpath).startswith(dst_folder_abs):
        continue

    # 创建对应的子目录
    rel_dir = os.path.relpath(dirpath, src_folder_abs)
    dst_dir = os.path.join(dst_folder_abs, rel_dir)
    os.makedirs(dst_dir, exist_ok=True)

    # 拷贝所有文件到目标文件夹
    for filename in filenames:
        src_file = os.path.join(dirpath, filename)
        dst_file = os.path.join(dst_dir, filename)

        if filename.endswith('.tex'):
                # 构造命令行
                print(f"translating {src_file}")
                cmd = 'translate_tex {} -o {} -engine tencent'.format(src_file,dst_file)
                # 执行命令行
                os.system(cmd)
        else:
            shutil.copy2(src_file, dst_file)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
编辑 (opens new window)
上次更新: 2025/04/15, 10:52:45
说明

← 说明

最近更新
01
ubuntu安装g++显示已有但是输入g++又找不到命令
04-15
02
使用cloudflare-r2搭建webdav
04-08
03
LLM聚合平台客户端对比
03-29
更多文章>
Theme by Vdoing | Copyright © 2022-2025 PeaceSheep
冀ICP备2022004632号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式