4 min read 825 words Updated Mar 17, 2026 Created Mar 17, 2026

Best Practices: Creating Documents from Scratch

Scope: This guide applies when creating a new document without a user-provided template or reference file. When the user supplies a template, outline, or explicit structural instructions, defer to their input — these recommendations do not override user intent.


When building a formal document from scratch (proposals, reports, theses, contracts), the following elements elevate perceived quality:

ElementWhen to IncludeImplementation Notes
Cover pageFormal deliverables (proposals, reports, contracts, invitations)Use designer-quality background images via render/page_art.py; text implemented in Word for editability
Back coverPaired with cover page for polished deliverablesLighter design than cover; contact info or branding
Table of ContentsDocuments with 3+ major sectionsInclude TOC refresh hint in gray, smaller font
HeaderMost multi-page documentsTypically: document title or company name
Footer with page numbersMost multi-page documentsField codes for automatic numbering

2. Visual Standards

PropertyRecommended ValueRationale
Page margins≥72pt (1 inch) all sidesSufficient white space for readability
Paragraph spacing (body)After ≥200 twips (10pt)Visual separation between paragraphs
Line spacing (body)≥1.5x (Line="360", Auto)CJK readability
Color paletteLow saturation, muted tonesProfessional appearance; see src/Templates/Themes.cs and render/themes.py
Font hierarchyH1 > H2 > body, clear size contrastVisual hierarchy guides the reader

3. Scenario Completeness Matrix

When creating from zero, check whether the document is missing role-critical blocks.
Treat this as a completion matrix, not a rigid template.

ScenarioMust-Have BlocksWhy It Matters
Examination sheetCandidate identity zone, score columns, reviewer signature zoneSupports grading and filing
Contract packageParty metadata, signature/seal slots, effective date, annex indexImproves enforceability and auditability
Meeting recordParticipants/non-participants, owner-tagged action log, due-date columnEnables follow-up execution
ProposalDecision summary, scope boundaries, delivery milestones, budget assumptions, acceptance termsReduces ambiguity at approval stage
Academic manuscriptAbstract, keyword block, citation list, author/affiliation metadataMeets publication conventions
Commercial invoiceInvoice code, taxable line items, subtotal/tax/total, remittance detailsSupports reconciliation and payment

4. Structure Selection Heuristics (No User Outline)

Use audience and decision type to choose the skeleton:

Document CategorySuggested Flow
AcademicProblem framing → Related work → Method → Evidence → Discussion → Closing
BusinessContext snapshot → Key findings → Decision options → Recommended path
TechnicalSystem view → Design constraints → Implementation path → Validation examples → Ops FAQ

4.1 Quick Decision Tree

  1. If the reader must approve budget/scope, prioritize decision-oriented sections early.
  2. If the reader must execute implementation, prioritize constraints, procedures, and verification artifacts.
  3. If the reader must audit compliance, prioritize traceability tables and signature-ready metadata.

5. Pagination Control

ElementPropertyPurpose
Primary heading (H1)PageBreakBefore + KeepNextChapter separation
Secondary heading (H2)KeepNextBind heading with following content
Pre-table textKeepNextKeep introductory text with table
Body paragraphsWidowControlPrevent orphan/widow lines

6. Small Paper Sizes (A5, B5)

When designing for A5/B5 paper, be aware of reduced vertical space:

PaperHeight vs A4Practical Impact
A5~70% of A4Cover designs that work on A4 may overflow
B5~84% of A4Moderate reduction, usually safe

Cover Page Guidelines for Small Paper

Problem: Using SpacingBetweenLines (Gaps) to simulate vertical centering is fragile on small paper.

Solution: Always isolate cover pages with explicit section breaks:

// After cover content, end the section
body.Append(new Paragraph(
    new ParagraphProperties(
        new SectionProperties(
            new SectionType { Val = SectionMarkValues.NextPage }
        )
    )
));

Reference template: src/Templates/PoetryCollection.cs demonstrates this pattern.

Reduced Spacing Recommendations

ElementA4 ValueA5/B5 Value
Cover top gap150pt60-80pt
Paragraph after10pt6-8pt
Section spacing24pt14-18pt

7. TOC Hierarchy (Outline Levels)

TOC entries are determined by OutlineLevel in paragraph properties:

OutlineLevelTOC DisplayTypical Usage
0Level 1Major chapters, categories
1Level 2Sections within chapters
2Level 3Subsections

Common mistake: Setting all titles to the same level causes flat TOC structure.

Fix: Ensure category/chapter headings use OutlineLevel=0, item titles use OutlineLevel=1.

See src/Templates/PoetryCollection.cs for correct hierarchy example.