Skip to content
Back to skills

Spine Latex

ASecurity

Handles LaTeX project assembly, figure placement, citations, labels, and compile-safe cleanup. (internal /paperspine step)

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agentsshellbash

Security analysis

A100/100

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

Scanned September 29, 2026

npx -y skills add FOURTEEN1416/academic-agent-toolkit --skill spine-latex --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Spine Latex?

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

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

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: spine-latex
description: "Handles LaTeX project assembly, figure placement, citations, labels, and compile-safe cleanup. (internal /paperspine step)"
---


<!--ACAT-ADAPTED: 资产回填自 WUBING2023/PaperSpine@1fe46f0e76aa(dist/claude 分发,单技能拆分重组编排)。溯源见 references/UPSTREAM.md。2026-09-09 专项治理。-->
# PaperSpine LaTeX

Use this skill for LaTeX assembly, template integration, figure placement,
citations, labels, and compile-safety checks. Do not change manuscript logic
unless rewrite/build outputs require it.

## Required Inputs

- revised manuscript or built manuscript
- target template if any
- figures, tables, bibliography, and source files
- `paper_rewriting_output/figure_asset_map.md` when building from materials

## Required Outputs

- updated LaTeX project; for from-materials builds, use
  `paper_rewriting_output/final_paper/main.tex`
- compiled PDF when a TeX engine is available; for from-materials builds, use
  `paper_rewriting_output/final_paper/paper.pdf`
- `paper_rewriting_output/latex_report.md`
- `paper_rewriting_output/final_artifact_manifest.md` when producing final
  deliverables
- optional `paper_rewriting_output/final_paper/paper.docx` plus
  `paper_rewriting_output/word_report.md`

## Rules

- The project path may contain spaces or non-ASCII characters (e.g.
  `exp_lab_en - 副本`). Quote every path passed to pandoc/copy commands and avoid
  unquoted shell globs; they break silently on such directories. On Windows
  prefer PowerShell for file operations.
- Keep content work separate from LaTeX scaffolding.
- Preserve citation keys and labels unless there is a verified reason to rename.
- Copy approved images into `figures/` and use stable labels.
- Run `scripts/latex_guard.py` when available.
- Record unresolved compile or asset issues in `latex_report.md`.
- Do not treat Markdown as the final manuscript when the workflow is
  `build_from_materials`.
- For Chinese output, prefer XeLaTeX and a CJK-capable template. For English
  output, follow the target template or use a conservative article template.
- If no TeX engine is available, keep the `.tex` and record that compilation was
  skipped in `latex_report.md`.
- If compilation fails despite an available engine, keep the `.tex`, write the
  first fatal error to `latex_report.md`, and do not claim the artifact check
  passes.
- If generating Word output, use pandoc from the `final_paper/` directory. When
  the manuscript uses BibTeX citations, resolve them with citeproc so `\cite`
  commands render as formatted references instead of leaking raw LaTeX:
  ```bash
  cd final_paper
  pandoc main.tex -o paper.docx --from latex --to docx \
    --resource-path=. --extract-media=./media \
    --number-sections --citeproc --bibliography=references.bib
  ```
  - `--citeproc --bibliography=references.bib` renders `\cite{...}` and the
    reference list; omit only when the manuscript has no citations
  - `--number-sections` keeps headings numbered like the LaTeX source
  - `--resource-path=.` resolves `\includegraphics{figures/...}` paths
  - `--extract-media=./media` embeds images into the docx
  - For house styles (fonts, heading styles, margins), add
    `--reference-doc=reference.docx` built from the target template
  - `\ref`/`\autoref` cross-references need the `pandoc-crossref` filter
    (`--filter pandoc-crossref`); without it they may render as `[?]`
  - Without these flags, pandoc silently drops images or citations, or produces a blank docx
  - Run from `final_paper/` so relative paths in `.tex` resolve correctly
  - Do NOT use intermediate plain-text steps that strip encoding
- Run `scripts/word_guard.py final_paper/paper.docx --markdown --output
  paper_rewriting_output/word_report.md` and fix failures before presenting
  the Word file as usable. If word_guard reports 0 paragraphs, check that
  images are in supported formats (PNG/JPG) and the `figures/` directory exists.
- To keep Word output faithful, prevent these common pandoc errors:
  - Flatten `\input`/`\include` first (e.g. `latexpand main.tex > flat.tex`),
    then convert the flattened file; pandoc does not pull sub-files in reliably.
  - Expand or remove custom `\newcommand`/`\def` macros; pandoc drops macros it
    cannot resolve, silently losing their content.
  - Keep tables simple (`tabular`/`booktabs`); `tabularx`, `multirow`, and nested
    tables often misalign in docx, so open and verify each table.
  - Citeproc renders author-date by default, so a numeric LaTeX style (`plain`,
    `unsrt`, `ieeetr`) renders differently in Word. To keep numbered `[1]`
    citations, pass a numeric CSL, e.g. `--csl=ieee.csl` or `--csl=vancouver.csl`.
  - For Chinese, build `--reference-doc=reference.docx` with a CJK font (e.g.
    SimSun or Noto Serif CJK) or characters render as boxes.
  - After conversion, open the docx and confirm headings, equations, figures,
    tables, and references all rendered.

Read `references/latex-source-control.md` before structural LaTeX edits.

Files in this skill

  • SKILL.md4.9 KB
  • references/UPSTREAM.md642 B
  • references/latex-source-control.md3.2 KB
  • scripts/latex_guard.py16.1 KB
  • scripts/word_guard.py39.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…