arXiv Document Builder 用于把 arXiv 论文转换为 Markdown,方便阅读或作为实现参考。当被要求按 arXiv 论文 ID 转换、获取或创建文档时使用。
使用方式
运行转换器:
使用全局命令(推荐)
convert-paper ARXIV_ID [--output-dir DIR]
直接使用脚本
uv run --project "SKILL_DIR" "SKILL_DIR/arxiv_doc_builder/convert_paper.py" ARXIV_ID [--output-dir DIR]
SKILL_DIR 需替换为此 SKILL.md 所在目录的绝对路径。它是占位符,不是 shell 变量。保留双引号,以便包含空格的路径仍作为单个参数。这样命令可在任意工作目录下运行。
--output-dir:指定创建 {SAFE_ID}/{SAFE_ID}.md 的目录。默认值为当前工作目录(不是 papers/ 子目录)。
{SAFE_ID} 是 ARXIV_ID 中将 / 替换为 _ 后的结果,例如 hep-th/9711200 → hep-th_9711200。新式 ID 不含 /,因此保持不变。
使用绝对路径可精确控制输出位置。
convert-paper 自身完成元数据查询、下载、提取和目录创建;不要为此运行 curl、tar 或 mkdir。
成功时,convert-paper 会在 Output: 行打印 Markdown 文件的路径。该文件以 YAML frontmatter 块开头,包含来源元数据;references/output-format.md 记录了其字段,包括 metadata_status 记录的内容。references/output-format.md 的 File Organization 部分展示了论文目录 {SAFE_ID}/ 的布局。
转换失败或回退到 PDF 时
如果你编辑了 {SAFE_ID}/source/ 下的文件并重新运行了 convert-paper,请先阅读 references/source-edits.md 并遵循它,然后再执行以下任何一行。
当你没有做此类编辑,或该文件不再要求你再次编辑或重新运行时,请阅读与输出匹配的那一行所指向的文件。对于此处未列出的输出,按输出本身所述操作。
无论遵循哪个文件,只按其指示修改源文件。不要尝试宽泛的预处理(替换 documentclass、展开 \newcommand、删除环境等)——pandoc 能正确处理 revtex4/revtex4-2、自定义命令、picture 环境和定理环境。
convert-paper 在打印 Error: Found N files with \documentclass 后以代码 2 退出 → references/multiple-documentclass.md
它打印 Pandoc conversion failed:,且其后的 pandoc 消息包含 unexpected ( 或 unexpected [ → references/unknown-arity-macros.md
它打印 Pandoc conversion failed:,且其后的 pandoc 消息两者都不包含 → references/pandoc-failures.md
它打印 Pandoc did not finish within 或 Pandoc exceeded the <N> MB memory watchdog,或某次 pandoc 运行未返回 → references/pandoc-runaway.md
它打印 No LaTeX source, falling back to naive PDF conversion... → references/pdf-conversion.md