Skip to content

Convert documentation to GAPDoc/AutoDoc - #17

Open
fingolfin wants to merge 3 commits into
masterfrom
mh/convert-doc-to-gapdoc
Open

Convert documentation to GAPDoc/AutoDoc#17
fingolfin wants to merge 3 commits into
masterfrom
mh/convert-doc-to-gapdoc

Conversation

@fingolfin

Copy link
Copy Markdown
Member

Replace the plain-TeX (gapmacro.tex) manual with GAPDoc XML built via
AutoDoc, and drop doc/make_doc in favour of a makedoc.g in the package
root. See gap-system/gap#639.

Converted mechanically with dev/gapmacro2gapdoc.py from the GAP
repository, which also corrected two declarations against the package's
own source: OrientationModule is an attribute and BettiNumber an
operation, both documented as functions. IsomorphismPcpGroup belongs to
Polycyclic, so it is an here by hand.

The rest was documentation that had gone stale unnoticed, the old build
having extracted its examples to a file nothing ran:

  • aclib.bib gave an author as "Kenneth S.\ Brown". GAPDoc splits names
    itself and cannot parse TeX there; it aborted the whole build with an
    unassigned list element from inside NormalizedNameAndKey.

  • Recorded output predates GAP writing "Pcp-group" rather than "Pcp
    group" and "id" rather than "identity". Refreshed from what GAP prints.

  • Two examples pass false as the parameter list, which the manual itself
    documents as asking for a random one, so they cannot be reproduced and
    are .

tst/manual.example-3.tst and -4.tst were the old extraction of those same
examples. AutoDoc generates tst/aclib01.tst and tst/aclib02.tst now, so
they go. They also pinned one of those random parameter lists, which held
only as long as nothing else drew from the random source first.

The test suite passes.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

Replace the plain-TeX (gapmacro.tex) manual with GAPDoc XML built via
AutoDoc, and drop doc/make_doc in favour of a makedoc.g in the package
root. See gap-system/gap#639.

Converted mechanically with dev/gapmacro2gapdoc.py from the GAP
repository, which also corrected two declarations against the package's
own source: OrientationModule is an attribute and BettiNumber an
operation, both documented as functions. IsomorphismPcpGroup belongs to
Polycyclic, so it is an <Attr> here by hand.

The rest was documentation that had gone stale unnoticed, the old build
having extracted its examples to a file nothing ran:

* aclib.bib gave an author as "Kenneth S.\ Brown". GAPDoc splits names
  itself and cannot parse TeX there; it aborted the whole build with an
  unassigned list element from inside NormalizedNameAndKey.

* Recorded output predates GAP writing "Pcp-group" rather than "Pcp
  group" and "id" rather than "identity". Refreshed from what GAP prints.

* Two examples pass false as the parameter list, which the manual itself
  documents as asking for a random one, so they cannot be reproduced and
  are <Log>.

tst/manual.example-3.tst and -4.tst were the old extraction of those same
examples. AutoDoc generates tst/aclib01.tst and tst/aclib02.tst now, so
they go. They also pinned one of those random parameter lists, which held
only as long as nothing else drew from the random source first.

The test suite passes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 38.20%. Comparing base (901051e) to head (dd21c85).

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
- Coverage   38.72%   38.20%   -0.52%     
==========================================
  Files          11       11              
  Lines        5431     5431              
==========================================
- Hits         2103     2075      -28     
- Misses       3328     3356      +28     

see 4 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

fingolfin and others added 2 commits August 12, 2026 00:33
Most of this is fallout from the GAPDoc conversion: {\sf Polycyclic}
became " Polycyclic", \{...\} lost its backslashes, {\rm Aut} became
"{ Aut}", and a paragraph introducing the holonomy group ended up inside
the IsomorphismPcpGroup entry, leaving that function without a
description of its own.

Content errors fixed along the way: the catalog is one of *almost*
crystallographic groups; BettiNumbers returns numbers, not a number;
OrientationModule returns matrices in GL(1,Z), not below it; a parameter
set was written (k_1,...,k_4,k_4,k_6); and the "more extended
description" pointed at the theory section rather than at 3.3, which is
where types and parameters are actually described.

In README and PackageInfo.g: the package is AClib, the book is
"Almost-Bieberbach Groups", and two homepages moved.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
AutoDoc turns the `entities` record in PackageInfo.g into &Polycyclic;
and friends, which is shorter in the source and keeps the markup in one
place. &AClib; comes for free.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant