技能 效率工具 学术论文文档生成器

学术论文文档生成器

v20260406
officecli-academic-paper
专注生成包含自动目录、OMML 公式、样式化章节、脚注与参考文献的正式学术 Word 文档,适用于研究论文、技术报告或政策简报。
获取技能
141 次下载
概览

Academic Paper Skill

Create formally structured Word documents with Table of Contents, equations (LaTeX to OMML), footnotes/endnotes, bibliography, and scholarly formatting. Output is a single .docx file. This skill supersedes the docx creating.md Academic Paper recipe -- use THIS skill for any document requiring TOC + equations + footnotes + formal structure.


BEFORE YOU START (CRITICAL)

Every time before using officecli, run this check:

if ! command -v officecli &> /dev/null; then
    echo "Installing officecli..."
    curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCli/main/install.sh | bash
    # Windows: irm https://raw.githubusercontent.com/iOfficeAI/OfficeCli/main/install.ps1 | iex
else
    CURRENT=$(officecli --version 2>&1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1)
    LATEST=$(curl -fsSL https://api.github.com/repos/iOfficeAI/OfficeCLI/releases/latest | grep '"tag_name"' | sed -E 's/.*"v?([0-9.]+)".*/\1/')
    if [ "$CURRENT" != "$LATEST" ]; then
        echo "Upgrading officecli $CURRENT -> $LATEST..."
        curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCli/main/install.sh | bash
    else
        echo "officecli $CURRENT is up to date"
    fi
fi
officecli --version

Use When

  • User wants to create a research paper, journal manuscript, or conference paper with academic structure (abstract, numbered sections, references)
  • User wants a white paper, policy brief, or technical report with formal structure (executive summary, TOC, branded headers)
  • User needs math equations (LaTeX to OMML) in a Word document
  • User needs footnotes, endnotes, or bibliography with hanging indent
  • User needs a Table of Contents that auto-updates in Word
  • User mentions "APA", "MLA", "Chicago", or any citation style formatting
  • User needs multi-column abstract or mixed portrait/landscape sections

Don't Use When

  • User wants a general letter, memo, contract, or simple report -- use docx skill
  • User wants a presentation -- use pptx skill
  • User wants a spreadsheet or dashboard -- use xlsx or data-dashboard skill
  • User needs LaTeX output (.tex file) -- this skill produces .docx only
  • User needs graduate thesis with Roman numeral front-matter pagination -- deferred to Phase 2
  • User needs tracked changes or collaborative editing markup -- use docx skill with raw-set

What This Skill Produces

A single .docx file with:

ComponentDescription
Cover / title blockCentered title, authors, affiliations
Table of ContentsNative Word TOC field (levels 1-3), updateable
Structured sectionsHeading1/2/3 hierarchy with consistent styling
EquationsDisplay and inline OMML from LaTeX subset
Footnotes / endnotesInline references at correct paragraph positions
BibliographyHanging indent, per-citation-style formatting
Headers / footersPage numbers, optional branding
Optional: watermark, charts, custom bordered blocks, cross-references

Core Concepts

Style-First Architecture (NON-NEGOTIABLE)

Define ALL styles before adding ANY content. Skipping style definitions causes formatting failures in 100% of cases. Different Word versions define Heading1 as 14pt, 16pt, or 13pt -- explicit style setup eliminates this variance.

Font Size Hierarchy

StyleSizeWeightspaceBeforespaceAfter
Cover title20ptbold72pt (≈1 inch)24pt
Heading1>= 18pt (20pt preferred)bold360 (18pt)120 (6pt)
Heading2>= 14ptbold360 (18pt)80 (4pt)
Heading3>= 12ptbold + italic240 (12pt)80 (4pt)
Body (Normal)11-12ptregularper paper typeper paper type
Caption9-10ptitalic----
FootnoteText9-10ptregular----

Verified LaTeX Subset

CategoryLaTeXNotes
Fractions\frac{a}{b}Nested supported
Sub/superscriptsx_i, x^{n+1}Multi-char needs braces
Summation\sum_{n=1}^{\infty}Limits above/below in display
Integration\int_0^{\infty}, \ointSingle, double, and contour
Products\prod_{i=1}^{n}
Limits\lim_{x \to 0}
Square roots\sqrt{x}, \sqrt[3]{x}nth-root supported
Greek letters\alpha .. \OmegaBoth cases
Nabla / partial\nabla, \partial
Accents\hat{x}, \bar{x}, \tilde{x}, \vec{x}, \dot{x}
Bold math\mathbf{x}For vectors
Aligned\begin{aligned}...\end{aligned}Multi-line systems
Matrices\begin{pmatrix}...\end{pmatrix}Also bmatrix, vmatrix
Angle brackets\langle, \rangleFor bra-ket notation
Simple delimiters\left[...\right]ONLY when NO sub/super inside
DO NOT USE\left[...\right] + subscript/superscript insideCast error crash
DO NOT USE\left(...\right) + subscript/superscript insideSame crash
DO NOT USE\mathcal{L}Invalid XML -- use \mathit{L}

Footnote Behavior

Footnotes are inline reference runs within the target paragraph. They do NOT create new paragraphs and do NOT shift paragraph indices. You can add footnotes in any order -- forward, reverse, or arbitrary. The old "reverse order" advice is obsolete as of v1.0.24.


Hard Rules (H1–H8)

The following rules are non-negotiable. Any violation constitutes a delivery failure.

RuleRequirement
H1officecli validate passes — zero XML errors
H2Cover page present with ≥7 of 10 required elements (title, authors, affiliation, submission target, date, abstract excerpt, keywords, horizontal rule, contact, subtitle)
H3All body sections use continuous numbered headings (e.g., "1. Introduction", "2. Methods") — see Section C.3
H4Abstract paragraph has NO firstLineIndent (block style)
H5Table of Contents (TOC) field present
H6Dynamic PAGE field in footer (not static text)
H7Heading hierarchy is consistent — no level skipping (H1 → H2 → H3, never H1 → H3)
H8References/Bibliography section REQUIRED. Every academic paper must have a final section titled "References" or "Bibliography" containing at minimum 5 formatted citations with hanging indent. A document with inline citations and no reference list is a delivery failure.

Workflow Overview

Phase 1: Analyze Input

Classify paper type (social science, physics/math, white paper). Look up the Feature Selection Table in creating.md Section A. Plan which sections to follow.

Phase 2: Setup

Create document, set defaults + margins, define ALL styles upfront. Plan section breaks if multi-column or landscape is needed.

Phase 3: Build

Add content in order: cover, TOC, abstract, body sections, equations, tables, footnotes, bibliography, headers/footers, watermark.

Phase 4: QA

Run verification loop: validate, view outline, view issues, view text. Fix and re-verify.


Quick Reference: Key Warnings

WarningDetail
\left/\right + sub/superCrashes with cast error. Use plain (), [] -- OMML auto-sizes.
pbdr at style leveladd /styles --prop pbdr.all=... is silently dropped. set /styles/X --prop pbdr.all=... is rejected. Always set borders per-paragraph after creation.
Section break +1 offsetEach section break inserts one empty paragraph into /body. Account for +1 index offset on all subsequent p[N] references.
Shell escaping for LaTeXDouble backslashes in bash: --prop "formula=\\frac{a}{b}". Use heredoc for complex formulas.
Dollar sign $ in textBash expands $ as variable in double quotes. Use single quotes or \$. See creating.md D-10.
Batch JSON valuesALL values must be strings: "true" not true, "24" not 24.
Batch intermittent failure~1-in-15 failure rate. Retry on error. Keep arrays to 10-15 max.
TOC displays blank in LibreOfficeTOC field renders as "Update field to see table of contents" in LibreOffice/PDF — this is normal OOXML behavior. In Microsoft Word: Ctrl+A → F9 to update all fields. For LibreOffice-only recipients: add static text TOC paragraphs after the field, or include a delivery note asking the user to open in Word and press F9.
move on oMathPara not reliablemove command does not reliably reposition equation paragraphs (oMathPara elements). Workaround: use add /body --type equation to create the equation at the target position, then remove the original. Do NOT use move on equations.
pbdr.bottom XML order bug (P3)set --prop pbdr.bottom=... may generate <w:pBdr> with child elements in wrong order, causing validate to report a pBdr schema error. Workaround: use raw-set to write the full <w:pBdr> XML manually (see creating.md D-4b). This is a known CLI bug — P3, CLI team owns the fix.

Quick Start (Social Science Paper Skeleton)

officecli create paper.docx
officecli set paper.docx / --prop defaultFont="Times New Roman"
officecli set paper.docx '/section[1]' --prop marginTop=1440 --prop marginBottom=1440 --prop marginLeft=1440 --prop marginRight=1440
officecli add paper.docx /styles --type style --prop id=Heading1 --prop name="Heading 1" --prop type=paragraph --prop font="Times New Roman" --prop size=20 --prop bold=true --prop spaceBefore=360 --prop spaceAfter=120 --prop keepNext=true
officecli add paper.docx /body --type toc --prop levels=1-3 --prop title="Table of Contents"
officecli add paper.docx /body --type paragraph --prop text="Introduction" --prop style=Heading1
officecli add paper.docx /body --type paragraph --prop text="This paper examines..." --prop size=12 --prop lineSpacing=2x

Follow creating.md for the full step-by-step guide.


Adjustments After Creation

When the user requests changes after the paper is built:

RequestCommand
Move a paragraph after anotherofficecli move paper.docx '/body/p[8]' --after '/body/p[2]'
Swap two paragraphsofficecli swap paper.docx '/body/p[3]' '/body/p[7]'
Edit paragraph textofficecli set paper.docx '/body/p[N]' --prop text="..."
Find & replace textofficecli set paper.docx / --prop find=OldText --prop replace=NewText
Remove a paragraphofficecli remove paper.docx '/body/p[N]'

After any swap or move, paragraph indices shift — re-query with officecli get paper.docx /body --depth 1 before further edits.


References

信息
分类 效率工具
名称 officecli-academic-paper
版本 v20260406
大小 20.05KB
更新时间 2026-04-17
语言