feat(scaffold): redesign paper scaffold + clarify doc responsibilities

Scaffold (mytoolkit init paper):
- default to portable Elsevier elsarticle [review,3p,11pt] (was ctexart/Fandol)
- TeX Live Libertinus fonts (serif+math+mono), no system-font dependency
- xelatex one-engine via latexmk; figure/abstract/keyword frontmatter
- PDF bookmarks expand to two levels (bookmarksopenlevel=2)
- fix diffpreamble.dtx: define \DIFadd/\DIFdel (latexdiff highlighted now compiles)

Docs responsibility split:
- CLAUDE.md owns design decisions/constraints; exact scaffold specs live only
  in the generated main.tex header (self-documenting, no drift)
- README/SKILL point to those; README command table gains `voice`
- reconcile source-of-truth wording across CLAUDE.md / README / SKILL
This commit is contained in:
Zhengshou Lai
2026-06-29 00:47:48 +08:00
parent 587eac8837
commit f45b46073a
9 changed files with 93 additions and 60 deletions
+2 -1
View File
@@ -48,6 +48,7 @@ mytoolkit --help
| `latex` | `compile` / `count` |
| `bib` | `to-markdown` / `cv-update` |
| `video` | `avi-to-mp4` |
| `voice` | Text-to-speech via Volcengine/Doubao (`voice tts`, mp3/wav/pcm) |
| `webpage` | Docusaurus build/list/rebuild/push |
| `mail` | IMAP/SMTP client (read/draft/forward/reply, no auto-send) |
| `templates` | Inspect template root; external override still possible |
@@ -81,7 +82,7 @@ Registry is stored at `~/.mytoolkit/templates.json` (or `$MYTOOLKIT_HOME/templat
## Project scaffolds
```bash
mytoolkit init paper <dir> # create a LaTeX paper project (ctexart + Fandol fonts)
mytoolkit init paper <dir> # create a LaTeX paper project (Elsevier elsarticle, xelatex, fully portable)
```
This generates `main.tex`, `Makefile`, `references.bib`, `diffpreamble.dtx`, `figs/`, `analysis/`.