arxiv-paper-translator by yrom/arxiv-paper-translator
npx skills add https://github.com/yrom/arxiv-paper-translator --skill arxiv-paper-translator通过下载 LaTeX 源文件、在保持结构的同时翻译内容,并生成带有技术报告的翻译后 PDF,来翻译 arXiv 上的学术论文。
检查本地 xelatex 安装:
xelatex --version
如果未安装,请确保已安装 Docker 并可用。
docker --version
此技能需要 XeLaTeX 来编译翻译后的 PDF。如果本地未安装,则将使用 Docker。
推荐使用 xu-cheng/latex-docker Docker 镜像。
例如,Tex Live 完整发行版(仅限 linux/amd64):
# 注意:ghcr.1ms.run 是 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
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
如果本地 XeLaTeX 和 Docker 都未安装,请停止尝试运行此技能。 并向用户提问:"编译翻译后的 PDF 需要 XeLaTeX 或 Docker。您想使用哪一个?我将帮助您进行设置。"
从用户输入中提取 ARXIV_ID。
从 arXiv 下载并解压源代码:
# 下载 LaTeX 源文件(将 ARXIV_ID 替换为用户指定的论文 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
验证解压:
# 列出文件以了解结构
tree arXiv_${ARXIV_ID}/paper_source
重要提示:在翻译之前,请阅读 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{...}对于某些您不知道如何翻译的词汇表或术语,您可以向用户提问以获取定义。
此信息是翻译任务所必需的。
请阅读 references/translation_prompt.md 了解提示词模板。
步骤 2.3. 分发翻译任务
识别需要翻译的文件:
翻译策略:
* 建立共享的术语上下文
* 确保其他文件的一致性
2. 翻译其他文件:
* 如果有 3 个或更多文件:并行分发任务
* 如果有 1-2 个文件:顺序翻译
每个翻译任务:
paper_cn/ 目录中的文件路径查找主 .tex 文件的示例命令:
find paper_cn/ -name "*.tex" -exec grep -l '\\documentclass' {} \; | head -1
所有翻译任务完成后,您必须按照 references/review_checklist.md 审查翻译后的内容,以验证:
根据审查结果进行必要的修复。
关键提示:在进入步骤 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 检查可用字体。
# 基本编译
xelatex main.tex
# 如果论文有参考文献(推荐方法)
xelatex main.tex
bibtex main
xelatex main.tex
xelatex main.tex
或者使用 latexmk 进行自动编译:
latexmk -xelatex main.tex
# 将工作目录更改为 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
如果用户请求技术摘要,请按照 references/summary_prompt.md 启动一个子代理,使用 assets/report_template.md 创建技术摘要。
保存报告:arXiv_${ARXIV_ID}/technical_report.md
paper_cn/<main-file>.pdfarXiv_${ARXIV_ID}/technical_report.mdpaper_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/ 中存在所有被引用的文件,即使它们是未翻译的文件。 |
每周安装次数
97
代码仓库
GitHub 星标数
12
首次出现
2026年2月4日
安全审计
安装于
opencode92
gemini-cli90
codex90
github-copilot89
kimi-cli89
amp88
签证文件自动翻译工具 - 支持OCR识别、专业翻译、PDF生成,一站式处理签证申请材料
1,500 周安装