yipng05-max/-skills/paper-formatter

Claude Code and agent skill by yipng05-max/-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Format academic manuscripts to match a target journal's style. Use when users provide a sample paper (范文) from a journal and want their manuscript reformatted to match. Supports Word (.docx) and LaTeX (.tex) input/output. Covers Chinese and English journals. Handles title/abstract formatting, heading styles, body text font/size/spacing, figure/table captions, reference/bibliography style, page layout (margins, columns, headers/footers), footnotes, and section numbering.

Install

npx vskill@latest install yipng05-max/-skills/paper-formatter

SKILL.md

Paper Formatter Skill

Reformat an academic manuscript to match the style of a target journal, based on a sample paper (范文).

Workflow

Step 1: Receive Inputs

Ask the user for:

  1. Sample paper (范文): A paper from the target journal that exemplifies its formatting. Can be .docx or .tex.
  2. User manuscript: The manuscript to reformat. Can be .docx, .tex, or plain text.
  3. Desired output format: .docx or .tex (default: same as manuscript format).
Step 2: Analyze Sample Paper Style

If sample is `.docx`:

Run the analysis script:

bash
pip install python-docx 2>/dev/null
python ~/.claude/skills/paper-formatter/scripts/analyze_docx.py "<sample.docx>" "<output_rules.json>"

This extracts:

  • Page layout (margins, paper size, orientation, columns)
  • Paragraph styles per role (title, headings, body, abstract, captions, references)
  • Font families, sizes, bold/italic
  • Line spacing, indentation, paragraph spacing
  • Table styles
  • Citation style detection (numeric, author-year, etc.)

If sample is `.tex`:

Read the .tex file and extract style information from the preamble:

  • \documentclass options (font size, paper, columns)
  • \usepackage{geometry} margins
  • Font packages and settings (fontspec, xeCJK, ctex)
  • \usepackage{setspace} line spacing
  • \titleformat / \titlesec heading styles
  • Citation package (natbib, biblatex) and style
  • \fancyhdr header/footer settings
  • Custom commands for title, abstract, keywords formatting

Produce a JSON style-rules object with the same structure as the docx analyzer output.

Step 3: Present Extracted Style Rules

Show the user a summary of extracted formatting rules organized by the checklist in references/formatting-elements.md:

  • Page: paper size, margins, orientation
  • Title: font, size, bold, alignment
  • Authors/Affiliations: format
  • Abstract: font, size, indentation
  • Keywords: separator, font
  • Headings: each level's font, size, bold, numbering scheme
  • Body: font, size, line spacing, first-line indent, alignment
  • Captions: position, font, size
  • References: citation style, bibliography format
  • Header/Footer: content

Ask the user to confirm or adjust any rules before proceeding.

Step 4: Parse User Manuscript

Read the user's manuscript and extract structured content:

json
{
"title": "...",
"authors": ["..."],
"affiliations": ["..."],
"abstract": "...",
"keywords": ["..."],
"sections": [
{
"heading": "Introduction",
"level": 1,
"content": ["paragraph1...", "paragraph2..."],
"subsections": [...]
}
],
"references": ["[1] ...", "[2] ..."],
"acknowledgments": "...",
"footnotes": ["..."]
}

For `.docx` manuscripts: use python-docx to read paragraphs, classify by style (similar to analyze_docx.py logic).

For `.tex` manuscripts: parse section commands (\section, \subsection), extract text between them, identify \begin{abstract}, \bibliography, etc.

For plain text: ask the user to identify sections or use heuristic detection (numbered headings, "Abstract:", "References" headers).

Step 5: Apply Formatting

If output is `.docx`:

Save the structured content to a temporary JSON file, then run:

bash
python ~/.claude/skills/paper-formatter/scripts/format_docx.py "<content.json>" "<style_rules.json>" "<output.docx>"

If output is `.tex`:

bash
python ~/.claude/skills/paper-formatter/scripts/generate_latex.py "<content.json>" "<style_rules.json>" "<output.tex>"
Step 6: Review & Iterate

After generating the output:

  1. Tell the user the output file path
  2. Ask them to review and identify any formatting issues
  3. Adjust style rules or content structure as needed
  4. Re-run the formatting script with updated inputs

Important Notes

Chinese Journal Support (中文期刊支持)
  • Chinese font size names (字号) are mapped: 五号=10.5pt, 小四=12pt, etc.
  • Common Chinese fonts: 宋体 (body), 黑体 (headings), 楷体 (abstract), 仿宋
  • First-line indent: typically 2em (2 characters)
  • Use ctexart document class for LaTeX output
  • GB/T 7714-2015 citation format with document type identifiers [J], [M], [C], etc.
  • Full-width punctuation handling
Citation Styles

Refer to references/common-citation-styles.md for detailed formatting rules for:

  • APA 7th, GB/T 7714-2015, Vancouver, IEEE, Chicago, MLA
Formatting Checklist

Refer to references/formatting-elements.md for the complete list of formatting elements to check and apply.

Dependencies
  • python-docx: Required for .docx analysis and generation. Install with pip install python-docx.
  • For LaTeX output: the generated .tex file requires XeLaTeX compilation (for font support).
  • Chinese LaTeX documents require: ctex, xeCJK packages and appropriate Chinese fonts installed.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
68
Repository forks
15
7-day trend score
21

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 27 Apr 2026, 6 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/yipng05-max/-skills/paper-formatter/badge)](https://verified-skill.com/skills/yipng05-max/-skills/paper-formatter)

Something wrong with this skill or its page? Tell us.