AgentSkillsCN

latex-scaffold

从现有的 Markdown 草稿与 `citations/ref.bib` 文件出发,搭建 LaTeX 项目(`latex/main.tex`、文献引用配置、项目结构)。 **触发条件**:LaTeX 脚手架、md→tex、LaTeX 项目骨架、生成 main.tex。 **适用场景**:当你需要交付 LaTeX/PDF 文件(例如 arxiv-survey-latex 流水线),且草稿已生成或已进入写作阶段时。 **跳过条件**:若尚未生成 `output/DRAFT.md` 文件(或你并不需要 LaTeX 交付)。 **网络要求**:无需联网。 **防护措施**:清除 Markdown 中残留的标记(如 `##`、`**`、`[@...]`);文献引用指向 `citations/ref.bib` 文件;在此步骤中不修改内容。

SKILL.md
--- frontmatter
name: latex-scaffold
description: |
  Scaffold a LaTeX project (`latex/main.tex`, bibliography wiring, structure) from an existing Markdown draft and `citations/ref.bib`.
  **Trigger**: latex scaffold, md→tex, LaTeX 项目骨架, 生成 main.tex.
  **Use when**: 需要 LaTeX/PDF 交付(例如 arxiv-survey-latex pipeline),且 draft 已生成/已进入写作阶段。
  **Skip if**: 还没有 `output/DRAFT.md`(或你不需要 LaTeX 交付)。
  **Network**: none.
  **Guardrail**: 移除 markdown 残留(`##`, `**`, `[@...]`);bibliography 指向 `citations/ref.bib`;不在此步骤改写内容。

LaTeX Scaffold

Convert the approved Markdown draft into a minimal, buildable LaTeX project.

This is a deterministic conversion step; prose quality should already be addressed in output/DRAFT.md.

Inputs

  • output/DRAFT.md (or another approved draft)
  • citations/ref.bib

Outputs

  • latex/main.tex (and any required LaTeX support files)

Workflow

  1. Create latex/ directory if missing.
  2. Create latex/main.tex with sections matching the outline.
  3. Wire bibliography to citations/ref.bib.

Quality checklist

  • latex/main.tex exists and references citations/ref.bib.

Script

Quick Start

  • python .codex/skills/latex-scaffold/scripts/run.py --help
  • python .codex/skills/latex-scaffold/scripts/run.py --workspace <workspace_dir>

All Options

  • See --help (inputs/outputs are taken from the unit runner when used via pipeline)

Examples

  • Build latex/main.tex from output/DRAFT.md:
    • python .codex/skills/latex-scaffold/scripts/run.py --workspace <ws>

Notes

  • The generated latex/main.tex includes a table of contents (tocdepth=2) for readability.
  • Language default: the scaffold uses article (English-looking front matter). If the draft contains CJK characters, it switches to ctexart so the PDF renders correctly.
  • Conversion rules (high level):
    • Headings ##/###/####\section/\subsection/\subsubsection (strips leading numeric prefixes like 1.2).
    • Headings starting with Appendix / 附录 trigger \appendix once, then render as appendix sections.
    • Bold caption lines like **Table 1. ...** / **Appendix Table A1. ...** immediately before a Markdown table become a LaTeX table float with \caption{...} and a stable \label{tab:...}.
    • ## Abstractabstract environment.
    • [@Key] or [@Key1; @Key2]\citep{Key} / \citep{Key1,Key2}.
    • Inline markdown **bold** / *italic* / `code`\textbf{} / \emph{} / \texttt{}.

Troubleshooting

Issue: the generated latex/main.tex still contains Markdown markers

Fix:

  • Re-run latex-scaffold and ensure the input output/DRAFT.md is clean (no ##, no **, no [@...] syntax that isn""t handled).

Issue: citations are missing in LaTeX

Fix:

  • Ensure citations/ref.bib exists and the scaffold points bibliography to it; then compile with latex-compile-qa.