con un clic
latex-build
排版员:LaTeX 编译、错误诊断、PDF 预览。编译失败则阻断后续操作。 触发词:"编译"、"build"、"预览"、"latex"。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
排版员:LaTeX 编译、错误诊断、PDF 预览。编译失败则阻断后续操作。 触发词:"编译"、"build"、"预览"、"latex"。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
论文修改小组组长。查看论文修改全局进度,展示可用的专业角色,推荐下一步操作。 触发词:"论文助手"、"thesis"、"看看论文"、"还有什么要改"。
质检员:终稿一致性全检。8项自动检查,输出指标报告,自动修复可机械修复的问题。 触发词:"一致性"、"consistency"、"终检"、"检查一下"。
润色师:10维AI痕迹检测与自然化改写。迭代修复直到达标。 触发词:"降重"、"去AI味"、"润色"、"deai"、"AI痕迹"。
扩写师:把薄的地方写厚。补段落、补分析、补解释、补过渡。 触发词:"扩写"、"expand"、"写厚一点"、"太薄了"、"补充内容"、"展开说说"。
公式编辑:公式密度控制与冗余压缩。每个公式必须在后文被引用或验证,否则改为文字。 触发词:"压缩公式"、"公式太多"、"formula"、"公式密度"。
结构师:章节结构诊断与重组。先诊断后动手,Scope Lock 防止误碰其他章。 触发词:"重组"、"restructure"、"调整结构"、"合并小节"。
| name | latex-build |
| version | 1.0.0 |
| description | 排版员:LaTeX 编译、错误诊断、PDF 预览。编译失败则阻断后续操作。 触发词:"编译"、"build"、"预览"、"latex"。 |
| allowed-tools | ["Read","Bash","Grep","Glob","AskUserQuestion"] |
LaTeX 编译流水线技能,遵循 gstack /ship 模式:构建流水线 + 门禁机制。
用户提到以下任意关键词时激活本技能:
# 论文修改小组 — 配置加载
CONFIG=""
for candidate in ".thesis/config.json" "../.thesis/config.json" "../../.thesis/config.json"; do
if [ -f "$candidate" ]; then
CONFIG="$(cd "$(dirname "$candidate")" && pwd)/$(basename "$candidate")"
break
fi
done
if [ -z "$CONFIG" ]; then
echo "ERROR: 未找到 .thesis/config.json"
echo "请先运行 /thesis-init 初始化论文项目"
exit 1
fi
echo "CONFIG: $CONFIG"
THESIS_DIR=$(python3 -c "import json; print(json.load(open('$CONFIG'))['thesis_dir'])")
CHAPTERS_DIR=$(python3 -c "import json; print(json.load(open('$CONFIG'))['chapters_dir'])")
BUILD_CMD=$(python3 -c "import json; print(json.load(open('$CONFIG'))['build_command'])")
WORKSPACE=$(python3 -c "import json; print(json.load(open('$CONFIG'))['workspace_dir'])")
echo "THESIS_DIR: $THESIS_DIR"
echo "CHAPTERS_DIR: $CHAPTERS_DIR"
echo "WORKSPACE: $WORKSPACE"
如果 preamble 输出 ERROR,立即停止并提示用户运行 /thesis-init。
切换到论文项目根目录:
cd "$THESIS_DIR"
运行配置中指定的编译命令:
cd "$THESIS_DIR" && $BUILD_CMD
编译命令由 config.json 的 build_command 字段定义(默认为 PATH="/Library/TeX/texbin:$PATH" latexmk -xelatex -interaction=nonstopmode -f -g main.tex)。
读取 main.log 文件,将所有消息分为三个级别:
| 级别 | 匹配模式 | 含义 |
|---|---|---|
| ERROR | ! 开头的行、Fatal error、Emergency stop | 致命错误,编译失败 |
| WARNING | LaTeX Warning、Package xxx Warning、Overfull、Underfull | 警告,不影响产出但需关注 |
| INFO | Output written、Transcript written、页数信息 | 正常信息 |
针对以下常见错误类型,给出具体修复建议:
缺失宏包(! LaTeX Error: File 'xxx.sty' not found)
tlmgr install <包名> 或检查宏包名称拼写未定义引用(LaTeX Warning: Reference 'xxx' on page N undefined)
\label{} 是否存在,是否拼写一致,可能需要再编译一次编码问题(! Package inputenc Error、乱码相关)
inputenc 宏包字体缺失(! fontspec error: "font-not-found")
fc-list 确认浮动体溢出(Too many unprocessed floats)
\clearpage,或调整浮动体参数根据日志解析结果,做出三档判定:
┌─────────────────────────────────────────────┐
│ FAIL 存在 ERROR → 阻断后续操作 │
│ PASS(!) 仅 WARNING → 通过但附带关注项 │
│ PASS 无错误无警告 → 完全通过 │
└─────────────────────────────────────────────┘
编译成功后,收集并输出以下信息:
══════════════════════════════════════
编译报告
══════════════════════════════════════
状态: PASS / PASS(!) / FAIL
页数: XX 页
文件大小:X.XX MB
警告数量:XX 条
编译耗时:XX 秒
输出文件:main.pdf
══════════════════════════════════════
页数通过解析日志中 Output written on main.pdf (XX pages) 获取,文件大小通过 ls -lh main.pdf 获取。
使用 AskUserQuestion 询问用户是否打开 PDF 预览:
open main.pdf
每次 skill 执行完毕后,无论结果如何,必须执行以下三步:
1. 更新问题清单 $WORKSPACE/issues.md
- [ ] **编号** 位置 — 问题描述 → 建议skill2. 更新进度文件 $WORKSPACE/progress.md
- YYYY-MM-DD HH:MM /skill名 — 执行摘要(N项修改/N个问题)[x])3. 保存报告(如有输出)
$WORKSPACE/reports/ 目录YYYYMMDD-skill名-目标.md(如 20260322-review-chapter-c4.md)任务完成时,输出以下结构化状态块:
[latex-build] 完成
结果:PASS / PASS(!) / FAIL
耗时:XX 秒
产出:main.pdf (XX 页, X.XX MB)
待处理警告:XX 条
下一步建议:<基于当前状态的建议>
若为 FAIL,下一步建议应指向具体的错误修复操作。 若为 PASS(!),列出最值得关注的前三条警告。 若为 PASS,建议进行下一阶段工作(如内容审校、提交等)。