关于 paper-compilation
paper-compilation 是用于将 LaTeX 论文编译为 PDF 并检查结果的技能。它可验证引用和图片文件、报告编译及格式问题,并在重试时尝试自动修复错误。
主要功能
- 01将 LaTeX 论文编译为 PDF
- 02验证引用和图片文件
- 03报告警告与格式问题
- 04自动修复部分错误
- 05修复后重试编译
适用场景
- 01生成论文 PDF
- 02检查引用和图片引用
- 03诊断并修复编译错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lingzhi227/ agent-research-skills --skill paper-compilation安装后在 Claude Code 中输入/paper-compilation确认已加载。
附带文件scripts/compile_paper.pyscripts/fix_latex_errors.py
详细介绍
论文编译
编译 LaTeX 论文并生成 PDF,同时检测和修正错误。
输入
$ARGUMENTS— 主.tex文件的路径
脚本
编译论文
python ~/.claude/skills/paper-compilation/scripts/compile_paper.py paper/main.tex
python ~/.claude/skills/paper-compilation/scripts/compile_paper.py paper/main.tex --check-style
python ~/.claude/skills/paper-compilation/scripts/compile_paper.py paper/main.tex --output paper/output.pdf
报告:编译状态、页数、警告、引用/参考文献统计和格式问题。
编译前验证引用
python ~/.claude/skills/citation-management/scripts/validate_citations.py \
--tex paper/main.tex --bib paper/references.bib --check-figures --figures-dir paper/figures/
自动修复 LaTeX 错误
python ~/.claude/skills/paper-compilation/scripts/fix_latex_errors.py \
--tex paper/main.tex --log compile.log --output paper/main_fixed.tex
修复内容:LaTeX 中的 HTML 标签、不匹配的环境、缺失的图片。关键标志:--dry-run、--auto-detect
自动修复并重试编译
python ~/.claude/skills/paper-compilation/scripts/compile_paper.py paper/main.tex --auto-fix
运行 fix_latex_errors.py 并重新编译,最多重试 3 轮,直到编译成功。
工作流
步骤 1:编译前验证
运行 validate_citations.py,在编译前发现问题:
- 每个
\cite{key}都有匹配的.bib条目 - 每个
\includegraphics{file}文件都存在 - 没有重复的标签或章节
步骤 2:编译
运行 compile_paper.py,其执行顺序为:pdflatex → bibtex → pdflatex → pdflatex
步骤 3:错误修正循环(最多 5 轮)
如果编译失败,请查看错误输出并修复:
! Undefined control sequence→ 添加缺失的宏包或修正拼写错误! Missing $ inserted→ 用$...$包裹数学内容! Missing } inserted→ 修正不匹配的花括号Citation 'key' undefined→ 将其添加到 .bib 文件或修正\cite</end{figure}>→ 替换为\end{figure}(LaTeX 中使用了 HTML 语法)
进行最少量的修复。不要不必要地删除宏包。每次修复后都重新编译。
步骤 4:编译后报告
检查:页数是否超出版面限制、是否仍有警告、chktex 格式问题。
故障排除
找不到 pdflatex
# macOS
brew install --cask mactex-no-gui
# Ubuntu
sudo apt install texlive-full
替代方案:latexmk(自动处理多轮编译)
latexmk -pdf -interaction=nonstopmode main.tex
相关技能
评论
支持 Markdown