fix-doxygen-unicode.py protected the first argument of each
\doxynewunicodechar{...} from its replacements, then turned every
non-ASCII character left in the file -- the protected ones too -- into
"?" and wrote the file as ASCII. refman.tex's \doxynewunicodechar{⁻},
{²} and {³} became \doxynewunicodechar{?}, and newunicodechar stopped
the build: "ASCII character requested".
The "?" fallback now applies to the unprotected parts of each line
only, and the file is written as UTF-8.
make -C docs/formal doxygen, from clean, with doxygen 1.9.8: exit 0,
build/doxygen/StarForth-API-Reference.pdf, 3561 pages.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
docs/formal/
The press-ready LaTeX documentation set for StarForth / LithosAnanke.
Audience: patent counsel, SSRN reviewers, licensees, paying customers,
hobbyists with hardware in hand. Nothing goes here until it's ready to be
cited — see CLAUDE.md for full authoring conventions, the scraps system,
and voice/tone rules.
Ten publications in three groups, all built from common/preamble.tex and
common/starship.bib, assembled largely from scraps/:
| Group | Directories |
|---|---|
| Research volumes | vol1-vm-physics/, vol2-kernel/, vol3-research/ |
| Practitioner books | dev-guide/, user-guide/, cookbook/ |
| Standalone reports | experiments/, proofs/, ssrn/, patent/ |
- common/ — Shared LaTeX preamble and bibliography,
\input{}by every publication. - scraps/ — Press-ready LaTeX fragments converted from every
document in
docs/working/, mirrored by source path. - vol1-vm-physics/, vol2-kernel/, vol3-research/ — The three research volumes.
- dev-guide/, user-guide/, cookbook/ — The three practitioner books.
- experiments/, proofs/,
ssrn/ — Three of the four standalone reports.
patent/is the fourth — legal hold, do not touch without Bob's instruction. - doxygen/ — Generated Doxygen output (gitignored except the committed PDF appendix built from it).
- build/ — Build output directory (gitignored; only the
rendered
.pdfper publication is committed). Makefile— builds all ten publications (make docs-formalfromdocs/CLAUDE.md, ormake -C docs/formal all).CLAUDE.md— authoring conventions (read before adding or editing anything here).fix-doxygen-unicode.py— post-processes Doxygen XML for LaTeX-safe Unicode before thedoxygenappendix builds.
See also
docs/working/README.md— the living-document tier this material is promoted from.- Project root