paper-compile
Skill85 starsChanged 5 months agoMITView on GitHub
LaTeX 编译 → PDF:latexmk 编译 + 自动修复 + 页数/匿名/字体/[UNCONFIRMED] 检查 + 提交清单
- Installs packages
Files
/paper-compile
编译 LaTeX 论文为 PDF,自动修复常见错误,验证提交要求。 输入 paper/ 目录(由 /paper-draft 生成),执行 latexmk 编译, 解析错误并尝试自动修复(缺失包、引用未定义、figure 路径), 验证页数限制、匿名合规、字体嵌入、[UNCONFIRMED] 标记清除。 生成提交清单。
Inputs
paper_dir(可选,默认paper/):LaTeX 项目目录,包含main.tex--fix(可选):启用自动修复模式(自动安装缺失包、修正路径)--checklist(可选):生成详细提交清单(不编译,只检查)
Outputs
paper/main.pdf— 编译后的 PDF- COMPILE_REPORT(输出到终端)— 编译状态、检查结果、提交清单
- 若
--fix:修改的 .tex 文件(自动修复)
Wiki Interaction
Reads
wiki/outputs/paper-plan-*.md— 获取 venue 信息(页数限制、匿名要求).claude/skills/shared-references/citation-verification.md— [UNCONFIRMED] 标记检查规则
Writes
paper/main.pdf— 编译输出wiki/log.md— 追加编译日志
Graph edges created
- 无
Workflow
前置:确认 paper/main.tex 存在。确认 latexmk 已安装(which latexmk)。
Step 1: 编译(Compile)
- 首次编译:
cd paper/ && latexmk -pdf -interaction=nonstopmode main.tex 2>&1 - 解析编译输出:
- 收集所有 errors(
! ...) - 收集所有 warnings(
Warning:/Overfull/Underfull) - 分类:
- Missing package:
! LaTeX Error: File 'xxx.sty' not found - Undefined reference:
LaTeX Warning: Reference 'xxx' on page N undefined - Undefined citation:
LaTeX Warning: Citation 'xxx' on page N undefined - Missing figure:
! LaTeX Error: File 'figures/xxx' not found - Syntax error:其他
!开头的错误 - Overfull/Underfull:排版警告(非阻塞)
- Missing package:
- 收集所有 errors(
- 若编译成功(main.pdf 生成):进入 Step 3
- 若编译失败:进入 Step 2
Step 2: 自动修复(Auto-Fix)
若 --fix 启用,尝试自动修复每种错误类型:
2a. Missing package:
# 检查是否为 TeX Live 可安装包
tlmgr info {package-name} 2>/dev/null
# 若可安装且用户确认:
tlmgr install {package-name}若无法安装:注释掉 \usepackage{xxx} 行并标注 % TODO: install package {xxx}
2b. Undefined reference/citation:
- Undefined reference:检查对应
\label{}是否存在,若不存在则添加占位 label - Undefined citation:检查
references.bib是否包含该 key- 若不包含:尝试从 wiki papers 匹配并添加 [UNCONFIRMED] 条目
- 若包含但 bibtex 未运行:重新运行
latexmk(通常 latexmk 自动处理)
2c. Missing figure:
- 检查
paper/figures/中是否存在不同扩展名的文件(.pdf vs .png vs .eps) - 若找到:修正
\includegraphics路径 - 若找不到:替换为占位符
\missingfigure{xxx}(需要todonotes包)
2d. Syntax error:
- 常见修复:未闭合的
{}、\begin{}/\end{}不匹配、非法字符 - 尝试定位错误行号,提供具体修复建议
- 若无法自动修复:报告错误位置和建议
修复后重新编译(最多 3 轮 fix-compile 循环):
cd paper/ && latexmk -pdf -interaction=nonstopmode main.tex 2>&1Step 3: 验证检查(Verify)
编译成功后执行以下检查:
3a. 页数检查:
# 获取 PDF 页数
python3 -c "
import subprocess
result = subprocess.run(['pdfinfo', 'paper/main.pdf'], capture_output=True, text=True)
for line in result.stdout.splitlines():
if line.startswith('Pages:'):
print(line.split(':')[1].strip())
"与 venue 页数限制对比(从 PAPER_PLAN 的 venue 或 academic-writing.md 的 venue 表获取)。
- 超限:报告超出页数,建议压缩或移至 appendix
- 不足:报告剩余空间,建议补充内容
3b. 匿名检查: 扫描所有 .tex 文件:
- 搜索作者姓名(若
\author{}非空 → 警告) - 搜索机构名(university, lab, institute → 警告)
- 搜索 GitHub/GitLab 链接(可能泄露身份 → 警告)
- 搜索 "our previous work" / "we previously" → 应使用第三人称引用
- 搜索
\thanks{}/\acknowledgments→ 匿名提交应移除
3c. [UNCONFIRMED] 标记检查:
# 扫描 references.bib 和所有 .tex 文件
grep -rn "VERIFY" paper/- 若存在 [UNCONFIRMED] 标记:列出每个,标注为 提交阻塞项
- 参照 citation-verification.md:[UNCONFIRMED] 是提交的硬阻塞
3d. 字体嵌入检查:
pdffonts paper/main.pdf- 检查 "emb" 列:所有字体应为 "yes"
- 未嵌入字体:报告字体名,建议在编译选项中添加字体嵌入
3e. 内容完整性检查:
- 搜索
TODO、FIXME、XXX标记 - 搜索
\missingfigure、空 section(\section{X}后无内容) - 搜索未引用的 figures/tables(
\includegraphics存在但无\ref) - 检查 abstract 是否存在且非空
Step 4: 生成提交清单和报告
# Compile Report
## Compilation
- Status: {SUCCESS / FAILED}
- Compiler: latexmk + pdflatex
- Rounds: {N} (including auto-fix rounds)
- Errors: {N} (fixed: {M}, remaining: {K})
- Warnings: {N} (overfull: {O}, underfull: {U}, other: {W})
## Verification Results
| Check | Status | Details |
|-------|--------|---------|
| Page count | {PASS/FAIL} | {N} pages (limit: {L}) |
| Anonymous | {PASS/WARN} | {details} |
| [UNCONFIRMED] citations | {PASS/FAIL} | {N} remaining |
| Fonts embedded | {PASS/FAIL} | {details} |
| No TODOs | {PASS/WARN} | {N} remaining |
| Figures referenced | {PASS/WARN} | {details} |
| Abstract present | {PASS/FAIL} | {details} |
## Submission Checklist
- [ ] PDF compiles without errors
- [ ] Page count within venue limit ({L} pages)
- [ ] All [UNCONFIRMED] citations resolved
- [ ] Anonymous submission (no author info)
- [ ] All fonts embedded
- [ ] No TODO/FIXME markers
- [ ] All figures referenced in text
- [ ] Abstract present and complete
- [ ] Supplementary material prepared (if applicable)
- [ ] Paper title matches submission system
## Blocking Issues
{list of FAIL items that must be resolved before submission}
## Warnings (non-blocking)
{list of WARN items for consideration}
## Next Steps
- {specific actions to resolve blocking issues}
- Run `/refine paper/main.tex --focus writing` for final polish
- Manual review of anonymous compliance追加日志:
python3 tools/research_wiki.py log wiki/ \
"paper-compile | {SUCCESS/FAILED} | {pages} pages, {errors} errors, {verify_count} [UNCONFIRMED], {checks_passed}/{checks_total} checks passed"Constraints
- 不修改 wiki 内容:只操作 paper/ 目录和 wiki/log.md
- 自动修复需 --fix 启用:默认只报告错误不修复
- [UNCONFIRMED] 是硬阻塞:submission checklist 中 [UNCONFIRMED] 存在 = 不可提交
- 最多 3 轮 fix-compile:防止无限修复循环
- 不删除用户内容:auto-fix 只添加或修正,不删除用户手写的内容
- pdfinfo/pdffonts 依赖:若未安装,跳过对应检查并标注「tool not available」
- 匿名检查是启发式的:可能有 false positive,标注为 WARN 而非 FAIL
Error Handling
- main.tex 不存在:报错,建议先运行 /paper-draft
- latexmk 未安装:报错,提供安装命令(
sudo apt install texlive-full或brew install --cask mactex) - 编译失败且无法自动修复:输出完整错误日志 + 定位到具体 .tex 文件和行号
- pdfinfo/pdffonts 未安装:跳过页数/字体检查,在报告中标注
- PAPER_PLAN 找不到:跳过 venue 信息提取,使用默认限制(10 pages),警告用户
- 权限问题(tlmgr 需要 sudo):报告需要手动安装的包列表
Dependencies
Tools(via Bash)
latexmk— LaTeX 编译pdfinfo— PDF 页数检查(poppler-utils)pdffonts— 字体嵌入检查(poppler-utils)python3 tools/research_wiki.py log wiki/ "<message>"— 追加日志
MCP Servers
- 无
Claude Code Native
Read— 读取 .tex 文件和编译日志Edit— 自动修复 .tex 文件(--fix 模式)Bash— 执行编译和检查命令Grep— 搜索 [UNCONFIRMED]、TODO、匿名违规
Shared References
.claude/skills/shared-references/citation-verification.md— [UNCONFIRMED] 标记检查规则.claude/skills/shared-references/academic-writing.md— venue 页数限制参考
Called by
/researchStage 5(论文编译阶段)- 用户手动调用
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 4
- DAIR-AutoResearch/AutoSci★ 1.7k24% same
- PKU-DAIR/AutoSci★ 1.7k24% same
- skyllwt/AutoSci★ 1.7k24% same
- skyllwt/OmegaWiki★ 1.7k24% same
Wrote their own version · 6
- wanshuiyin/Auto-claude-code-research-in-sleep★ 18ksame name
- Chanw-research/claude-code-paper-writing★ 42same name
- catalsqlb-cmd/Prism-H★ 16same name
- Yusong-Enceladus/claude-skills★ 8same name
- raja21068/AutoResearch★ 2same name
- talhaMah56/claude_skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use exp-pilot-eval, exp-pilot-run and 2 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
DAIR-AutoResearchSkillexp-pilot-eval
Pilot result evaluation — read pilot results, apply success criteria, update idea page (pilot_result, failure_reason if failed), generate PILOT_VERDICT_REPORT. Called by /ideate Phase 5 after /exp-pilot-run.
Also in 4 projects that use this
DAIR-AutoResearchSkillexp-pilot-run
Pilot experiment execution — read Pilot Spec YAML, write pilot code, run experiment(Confirm with the user before operation and require the applicant to conduct manual inspection), return results. Called by /ideate Phase 5. Does NOT modify wiki pages or judge pass/fail.
Also in 4 projects that use this
phanghonghaoSkillposter
HTML/CSS A4 海报生成。从沙龙/活动 Markdown 文件生成科技风 A4 海报 PDF/PNG。Use when user mentions: poster, 海报, 海报生成, make poster, generate poster, 活动海报, 沙龙海报.
Also in 4 projects that use this
- +1 more from DAIR-AutoResearch
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- askSkill
- checkSkill
- daily-arxivSkill
- discoverSkill
- editSkill
- empirical-designSkill
- empirical-ingestSkill
- exp-designSkill
- exp-evalSkill
- exp-runSkill
- exp-statusSkill
- ideateSkill
- ingestSkill
- initSkill
- noveltySkill
- paper-draftSkill
- paper-planSkill
- prefillSkill
- rebuttalSkill
- refineSkill
- researchSkill
- resetSkill
- reviewSkill
- setupSkill
- stata-planSkill
- surveySkill
- theory-ingestSkill
- variable-mapSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

