将 arXiv 论文自动翻译为中文 PDF。触发后按本 skill 四步顺序直接执行,勿长篇规划。用户提供论文标题或 arXiv ID、说「翻译论文」「我想读中文版」等时立即使用。支持多篇论文处理。无需用户手动操作。
目标: 将指定论文的 LaTeX 源码译为中文,并编译得到 PDF。
流程: 须严格按下文「第一步」至「第四步」顺序执行,不得擅自省略、合并或调换步骤。
交互: 仅在论文 ID 无法确定、检索结果存在多个需用户择一才可向用户提问;其余情况一律无中断的执行得到最终翻译后的PDF。
翻译: 翻译全部由当前对话模型自身完成,严禁使用外部翻译工具以及下载已有的翻译版本。
python3 {SKILL_DIR}/scripts/download.py "{PAPER_ID}" "$OUTPUT_DIR/.tmp_arxiv/{PAPER_ID}"
download.py 一步完成:下载源码 → 解压 → 递归查找 .tex → 定位主文件 → 提取标题。
OUTPUT_DIR 为用户指定的保存路径,未指定则为当前目录
无源码(仅 PDF)则告知用户跳过。
脚本向 stdout 输出三行,格式如下:
WORK_DIR=<源码目录绝对路径>
MAIN_TEX=<主文件相对路径>
PDF_NAME=<论文标题>
由当前对话模型直接在原 .tex 文件上进行翻译修改,按以下规则翻译:
\appendix,默认只翻该命令之前的内容。用户明确要求“翻译全文”时才翻附录。\cite{}/\ref{}/\label{}、图片路径、URL、代码本体、.bib、人名、机构名、模型名、数据集名。\title{} 须改为自然中文题名,不保留英文原题或中英并列;输出 PDF 文件名仍使用第二步的 PDF_NAME。译后必须做自检:
python3 {SKILL_DIR}/scripts/inspect_tex.py scan "$WORK_DIR" "$MAIN_TEX" body
若用户明确要求“翻译全文”,则改为:
python3 {SKILL_DIR}/scripts/inspect_tex.py scan "$WORK_DIR" "$MAIN_TEX" full
脚本会输出 SUSPECT_COUNT=<数字> 以及若干 SUSPECT=<文件>:<行号>:<片段>。
SUSPECT_COUNT 非 0,就必须逐条回到对应位置进行翻译;SUSPECT_COUNT=0,或剩余项明确属于“保留不翻”范围时,才可进入第四步。编译:
python3 {SKILL_DIR}/scripts/compile.py "$WORK_DIR" "$MAIN_TEX" "$OUTPUT_DIR/$PDF_NAME.pdf"
compile.py 会统一完成以下编译前处理:
fontenc / inputenc;bibtex / biber / 已内置 .bbl 的情况;编译失败时:读取 stderr 中的错误日志,参考 references/compile-errors.md 修复源码,重新编译(最多重试 2 次)。
编译成功后清理掉中间文件:
python3 {SKILL_DIR}/scripts/cleanup.py "$OUTPUT_DIR"
多篇论文时,所有论文都完成 PDF 编译并保存后再进行中间文件清理。
最后输出 PDF 保存路径。
references/compile-errors.md:编译常见错误及修复方法