关于 arxiv-paper-translator
arxiv-paper-translator 是将 arXiv 论文 LaTeX 源文件译为中文并编译成 PDF 的技能。它涵盖术语整理、译文审查和 XeLaTeX 编译,也可生成技术报告。
主要功能
- 01下载并提取 arXiv LaTeX 源文件
- 02保留结构翻译叙述性内容
- 03翻译前整理术语背景
- 04检查译文完整性与 LaTeX 语法
- 05配置 CJK 支持并编译 PDF
- 06可生成技术报告
适用场景
- 01将 arXiv 论文制作为中文 PDF
- 02检查译文完整性和 LaTeX 问题
- 03随译文生成技术摘要
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ yrom/ arxiv-paper-translator --skill arxiv-paper-translator安装后在 Claude Code 中输入/arxiv-paper-translator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/Makefile.templatereport_template.mdreferences/chinese_support.mdreview_checklist.mdsummary_prompt.mdtranslation_guidelines.mdtranslation_prompt.md详细介绍
arXiv 论文翻译器
通过下载 LaTeX 源文件、在保留结构的同时翻译内容,并生成附带技术报告的译文 PDF,翻译 arXiv 论文。
工作流概览
- 下载并解压 - 从 arXiv 获取 LaTeX 源文件
- 翻译 - 按照 LaTeX 专用规则,将英文叙述内容翻译成中文
- 审核阶段 - 编译前必须完成
- 支持 CJK 并本地化标签 - 添加 xeCJK,本地化标签
- 编译 .tex 文件 - 使用 XeLaTeX 生成译文 PDF
- 报告 - 创建技术摘要文档
前置条件
检查本地是否安装了 xelatex:
xelatex --version
如果未安装,请确保 Docker 已安装且可用。
docker --version
此技能需要 XeLaTeX 来编译译文 PDF。如果本地未安装,将改用 Docker。
建议使用 xu-cheng/latex-docker Docker 镜像。
例如,Tex Live 完整发行版(仅限 linux/amd64):
# NOTICE: ghcr.1ms.run is a mirror of ghcr.io.
docker pull ghcr.1ms.run/xu-cheng/texlive-debian:20260101 --platform linux/amd64
# => docker pull ghcr.io/xu-cheng/latex-debian:20260101 --platform linux/amd64
如果本地既未安装 XeLaTeX,也未安装 Docker,则停止尝试运行此技能。 并向用户提问:“编译译文 PDF 需要 XeLaTeX 或 Docker。你想使用哪一个?我可以帮你完成设置。”
步骤 1:下载 LaTeX 源文件
从用户输入中提取 ARXIV_ID。
从 arXiv 下载并解压源代码:
# Download LaTeX source (replace ARXIV_ID with user-specified paper ID)
ARXIV_ID="2206.04655"
mkdir -p arXiv_${ARXIV_ID}
wget -q https://arxiv.org/e-print/${ARXIV_ID} -O arXiv_${ARXIV_ID}/paper_source.tar.gz
mkdir -p arXiv_${ARXIV_ID}/paper_source
tar -xzf arXiv_${ARXIV_ID}/paper_source.tar.gz -C arXiv_${ARXIV_ID}/paper_source
验证解压结果:
# List files to understand structure
tree arXiv_${ARXIV_ID}/paper_source
步骤 2:翻译 LaTeX 文件
重要:翻译前,请阅读 references/translation_guidelines.md 了解详细规则。
翻译工作流
步骤 2.1。复制所有文件,从 paper_source/ 复制到 paper_cn/:
选项 1 - 使用 cp(标准方式):
cd arXiv_${ARXIV_ID}
mkdir -p paper_cn
cp -r paper_source/* paper_cn/
选项 2 - 使用 rsync(更适合增量同步):
cd arXiv_${ARXIV_ID}
mkdir -p paper_cn
rsync -av paper_source/ paper_cn/
之后将在 paper_cn/ 中原地翻译所有 .tex 文件。
步骤 2.2. 收集上下文(必须执行):
进行任何翻译之前,必须提取:
- 论文标题:从主文件中的
\title{...}提取 - 摘要:从主文件中的
\begin{abstract}...\end{abstract}或\abstract{...}提取 - 论文结构:列出所有章节以及各章节所在的 .tex 文件
- 关键术语:根据论文内容建立术语表
对于不确定如何翻译的词汇表或术语,可以向用户询问其定义。
翻译任务必须包含这些信息。
请阅读 references/translation_prompt.md 获取提示词模板。
步骤 2.3. 分派翻译任务
确定要翻译的文件:
- 找到主文件(包含 \documentclass{...},通常为 main.tex、paper.tex、template.tex 等)
- 筛选出需要翻译的 .tex 文件(跳过仅包含宏的文件(如有)或用户指定的文件)
- 创建待翻译文件列表
翻译策略:
-
先翻译主文件(按顺序执行)
- 建立共享术语上下文
- 确保其他文件保持一致
-
翻译其他文件:
- 文件数为 3 个或以上:并行分派
- 文件数为 1 至 2 个:按顺序翻译
每项翻译任务:
- 任务类型:通用子 Agent
- 输入:
paper_cn/目录中的文件路径 - 操作:读取文件 → 翻译 → 编辑文件(用译文更新文件内容)
- 必须遵循 references/translation_prompt.md
- 必须使用已收集的上下文(标题、摘要、结构、术语)
查找主 .tex 文件的示例命令:
find paper_cn/ -name "*.tex" -exec grep -l '\\documentclass' {} \; | head -1
步骤 3:审校翻译
完成所有翻译任务后,必须按照 references/review_checklist.md 审校译文,以确认:
- 文件完整性检查
- LaTeX 命令拼写检查
- CJK Catcode 问题检查
- 翻译质量检查
- 内容抽查
根据审校结果酌情修正。
重要:开始步骤 4 之前,必须确认:
- 已完成所有审校检查
- 已识别并修复所有问题
- 已确认翻译质量
步骤 4:添加中文支持
重要:按照 references/chinese_support.md 配置 CJK 字体并本地化标签。
修改主 .tex 文件,加入 xeCJK 宏包并设置 CJK 字体。
例如,使用 Fandol 字体(TexLive Docker 镜像中包含该字体):
\usepackage{xeCJK}
\setCJKmainfont{FandolSong}[ItalicFont=FandolKai] % 宋体 - 正文,\emph 用楷体
\setCJKsansfont{FandolHei} % 黑体 - 标题、\textsf
\setCJKmonofont{FandolFang} % 仿宋 - 代码、\texttt
如果在本地运行,请先询问用户的字体偏好,再进行配置。使用 fc-list :lang=zh family 检查可用字体。
步骤 5:编译译文 PDF
选项 1:本地 XeLaTeX
# Basic compilation
xelatex main.tex
# If paper has bibliography (recommended approach)
xelatex main.tex
bibtex main
xelatex main.tex
xelatex main.tex
也可以使用 latexmk 自动编译:
latexmk -xelatex main.tex
选项 2:使用 TeX Live 的 Docker
# change working directory to arXiv_${ARXIV_ID}
cd /path/to/arXiv_${ARXIV_ID}
docker run --rm \
-v "$(pwd)/paper_cn":/workspace \
-w /workspace \
ghcr.1ms.run/xu-cheng/texlive-debian:20260101 \
latexmk -xelatex main.tex
步骤 6:生成技术报告
如果用户需要技术摘要,请按照 references/summary_prompt.md 调用子 Agent,使用 assets/report_template.md 创建技术摘要。
保存报告:arXiv_${ARXIV_ID}/technical_report.md
最终交付物
- 译文 PDF:
paper_cn/<main-file>.pdf - 技术报告:
arXiv_${ARXIV_ID}/technical_report.md - TeX 源文件:包含所有已翻译 LaTeX 文件的
paper_cn/目录
常见问题与解决方案
| 问题 | 解决方案 |
|---|---|
| 下载的文件是单个 .tex 文件,而非 .tar.gz | 执行 mv paper_source.tar.gz paper_source.tex 并创建目录 |
| 主文件不叫 main.tex | 执行 find . -name "*.tex" -exec grep -l "\\documentclass" {} \; |
| 编译因编码错误而失败 | 使用 file *.tex 检查,并使用 iconv -f ISO-8859-1 -t UTF-8 转换 |
命令拼写错误(例如 \footnotext) | 参见审校清单步骤 2:对比命令集合以查找拼写错误 |
| 未定义的控制序列 - \xmax概率 | xeCJK catcode 问题:插入 {},将自定义宏与 CJK 文本分隔开 → \xmax{}概率 |
| 未定义的控制序列 - \chinese{弋} | 原文使用 CJK 宏包的 \chinese 宏;在 xeCJK 配置之后添加 \newcommand{\chinese}[1]{#1},以避免 catcode 问题 |
| 自定义 .sty/.cls 文件 | 复制到 paper_cn/,并检查是否包含硬编码的英文文本 |
翻译后的表格中出现 Missing $ inserted | CJK 字符与拉丁字符混排可能导致 xeCJK 字体切换错误(例如将 (xyz) 视为数学模式);恢复表格单元格中的原始内容 |
未定义的引用(例如 \ref{fig:joint-train}) | 确保 paper_cn/ 中包含所有被引用的文件,即使这些文件没有翻译。 |
参考资料
- 翻译规则:references/translation_guidelines.md
- 翻译提示词:references/translation_prompt.md
- 审校清单:references/review_checklist.md
- 中文支持:references/chinese_support.md
- 报告模板:assets/report_template.md
- Makefile 模板(可选):assets/Makefile.template