- Move docx post-processing from convert.py to template-specific postprocess.py hooks
- Resolve relative markdown image paths before pandoc for docx and pdf
- Auto-generate centered figure captions (图 1, 图 2...) in docx
- Center tables and apply three-line table borders in docx
- Left-align tables in PDF via template.typ show rule
- Set first-line-indent: 0 on all TABLE styles in default/review docx templates
to prevent table cells from inheriting Normal paragraph indentation.
- Set default PDF template body first-line-indent to 2em (all: true).
- Change default PDF bookmark depth from 1 to 2 in CLI and build_pdf.
- Extend docx post-processing to copy Normal style typography from reference-doc,
format headings/references, and handle BodyText paragraphs.
- Add bin/api/ package with generate_image() and synthesize_tts()
- Refactor bin/commands/image.py to call bin.api.image.generate_image
- Refactor bin/commands/voice.py to call bin.api.voice.synthesize_tts
- API layer is free of Click CLI dependencies, usable by external scripts
- Add voice/TTS CLI command via Volcengine WebSocket API
- Inject suppressAutoHyphens into all docx paragraphs in post-process
- Apply post-process fixes to all templates (not just default)
- Update review template: Cambria+SimSun fonts, 11pt for headings
- Sync default/review docx template formatting
- Enable kinsoku for Chinese punctuation wrap control
- Set first-line indent to 2 characters (304800 EMU)
- Configure three-line table borders (1.5pt top/bottom, 0.75pt header)
- Add 6pt spacing after tables
- Use Cambria + SimSun font pairing
- Add themed blockquote styles (课堂小实验, 关键洞察, etc.) via quote block
- Add #references() wrapper for bibliography formatting
- Implement chapter-based figure/table numbering (1-1, 2-1, ...)
- Start each chapter on a new page (except first)
- Increase list spacing to match long-form reading rhythm
- Fix first-line indent to apply on all paragraphs