一键导入
pdf-compiler
将生成的 LaTeX 文件编译为 PDF,处理编译错误,清理中间文件。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
将生成的 LaTeX 文件编译为 PDF,处理编译错误,清理中间文件。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
如何使用 LaTeX 模板写解读报告。Agent 准备写报告时使用此技能,学习盒子环境和格式规范。
管理 LaTeX 模板目录,提供模板发现、加载和信息展示功能。
如何从 arXiv 下载论文 LaTeX 源码。Agent 在收到论文链接后使用此技能。
如何自适应地探索和阅读 LaTeX 论文源码。当 Agent 下载完论文后需要阅读源码时使用此技能。
如何深度解读论文——术语白话化、公式拆解、背景补充、类比解释。Agent 在阅读完论文、准备写解读报告前使用此技能。
| name | pdf-compiler |
| description | 将生成的 LaTeX 文件编译为 PDF,处理编译错误,清理中间文件。 |
调用 compile_pdf 工具将 .tex 文件编译为最终 PDF 报告。
务必使用 compile_pdf 工具,不要用 run_shell 手动调 xelatex。
compile_pdf("papers/{arxiv_id}/report.tex")
compile_pdf 自动完成:
latex_template/*/ 子目录复制所有 .cls 模板到报告目录(如 ModernColorful.cls)figure/logo.png 复制 logo 到报告目录(页眉和标题页需要)xelatex -interaction=nonstopmode -halt-on-error 编译(遇错即停,不会卡住).log 自动提取结构化错误报告(见下方格式说明)编译失败时,compile_pdf 返回以下结构化信息:
═══ 编译错误(共 N 条)═══
── 错误 #1 ──
类型: Missing $ inserted
位置: 第 367 行
源码:
365 | \begin{equationbox}
366 | 条件概率可表示为:
>> 367 | p(a_s | c, m_s) > p(a_s | c)
368 | \end{equationbox}
369 |
log 上下文: p(a_
💡 修复提示: 数学符号(如 下标 _ 、上标 ^ )必须在 $ $ 或数学环境中使用。
═══ 字体缺失字符(共 3 种)═══
• → (U+2192)
• ← (U+2190)
💡 修复: Unicode 符号改用 LaTeX 命令,如 → 改为 $\rightarrow$
═══ 排版溢出警告(共 2 条)═══
• 行 142: Overfull \hbox (15.2pt too wide)
💡 修复: 长 URL 用 \url{},长公式加 \allowbreak
关键特性:
.tex 源码上下文(出错行用 >>> 标记),直接看到要改的代码当 compile_pdf 返回错误时,执行以下循环:
┌─ compile_pdf ─────────────────────────────────┐
│ 失败 → 读结构化错误 → edit_file(目标文件) → 重新 compile_pdf │
│ 最多重试 3 次 │
│ 成功 或 3 次仍失败 → 停止 │
└──────────────────────────────────────────────┘
关键规则:
编辑正确的文件:每条错误都有 文件: 字段,编辑那个文件(可能是 .cls,不一定是 report.tex)
用行号精确修复:优先使用 edit_file 的行号模式 {start_line, end_line, new_content}
最多重试 3 次:如果 3 次编译仍失败,停止并报告剩余错误
不要用 write_file 重写整个文件!只用 edit_file 做局部修复
阅读结构化错误报告:每条错误都有行号、源码上下文和修复提示
用 edit_file 按行号精确修复(不要用 write_file 重写整个文件!):
# 按行号修复(错误报告中给出了行号和 >>> 标记的源码)
edit_file("papers/{arxiv_id}/report.tex", [
{"start_line": 367, "end_line": 367, "new_content": "$p(a_s | c, m_s) > p(a_s | c)$"},
])
# 或按字符串匹配修复
edit_file("papers/{arxiv_id}/report.tex", [
{"old_string": "p(a_s | c, m_s)", "new_string": "$p(a_s | c, m_s)$"},
])
# 可以一次修复多处错误
edit_file("papers/{arxiv_id}/report.tex", [
{"start_line": 367, "end_line": 367, "new_content": "$p(a_s | c, m_s) > p(a_s | c)$"},
{"old_string": "未转义的&", "new_string": "转义的\\&"},
])
compile_pdf| 错误 | 修复 |
|---|---|
未定义命令 \xxx | 检查命令拼写,确认模板是否提供该命令 |
| 缺少文件 | 用 list_dir 确认文件位置,修正路径 |
| 特殊字符报错 | 转义: & → \&, % → \%, # → \#, _ → \_ |
| 文字溢出 margin | 长 URL 用 \url{},长公式加 \allowbreak |
| 字体缺失 | 提示用户安装对应字体 |
| Missing character in font | Unicode 符号(如 → ← ⇒)Palatino 不支持,改用 LaTeX 命令:$\rightarrow$ $\leftarrow$ $\Rightarrow$ |
| Missing $ inserted | 数学符号必须在 $ $ 或 equation 环境中 |
| Package kvsetkeys Error | 检查 \hypersetup 中的键值格式(逗号和等号) |
xelatex 编译器(TeX Live 或 MacTeX)