Skip to content
Back to skills

Latex Scaffold

ASecurity

Scaffold a LaTeX project (`latex/main.tex`, optional bibliography wiring, structure) from an existing Markdown draft.

  • 512 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
researchpython

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add WILLOSCAR/research-units-pipeline-skills --skill latex-scaffold --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Latex Scaffold?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Latex Scaffold
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/willoscar-latex-scaffold/badge)](https://www.skillsdirectory.com/skills/willoscar-latex-scaffold)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: latex-scaffold
description: "Scaffold a LaTeX project (`latex/main.tex`, optional bibliography wiring, structure) from an existing Markdown draft."
---

# LaTeX Scaffold

## Triggers & routing

- **Trigger**: latex scaffold, md→tex, LaTeX 项目骨架, 生成 main.tex.
- **Use when**: 需要 LaTeX/PDF 交付(例如 arxiv-survey-latex pipeline),且 draft 已生成/已进入写作阶段。


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 `output/TUTORIAL.md`
- optional: `citations/ref.bib`

## Outputs

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

## Layout policy

The machine-readable layout contract lives in `assets/layout_profiles.json`.
The default profile uses a 1in A4 margin, includes a table of contents, and may
split large tables. The bounded `course_paper` profile uses a documented 0.9in
A4 margin, omits the table of contents, keeps a compact table whole when
possible, and sets only the bibliography in `\small`. Body text remains 11pt.
This profile is intended to respect an explicit page range, not to manufacture
substantive completeness by shrinking the paper.

## Workflow

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

## Quality checklist

- [ ] `latex/main.tex` exists.
- [ ] If `citations/ref.bib` exists, `latex/main.tex` references it.

## Script

### Quick Start

- `uv run python .codex/skills/latex-scaffold/scripts/run.py --help`
- `uv run python .codex/skills/latex-scaffold/scripts/run.py --workspace <workspace>`

### 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` or `output/TUTORIAL.md`:
  - `uv run python .codex/skills/latex-scaffold/scripts/run.py --workspace <workspace>`

### Notes

- The generated `latex/main.tex` includes a table of contents (tocdepth=2) for readability.
- The `course_paper` profile omits that table of contents according to
  `assets/layout_profiles.json`; other profiles include it by default.
- 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:...}`.
  - `## Abstract` → `abstract` 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`.

Files in this skill

  • SKILL.md2.9 KB
  • scripts/run.py12.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.