Skip to content

Obsoleting gapmacro.tex #639

Description

@olexandr-konovalov

I compiled a list of packages still not using GAPDoc.

It was luck that thanks to @bh11 a couple of issues with gapmacro.tex were resolved, but I would like to remind that we do not support gapmacro.tex since GAP 4.5, and only provide it for backwards compatibility for authors of the packages listed above. I am creating this issue in order to monitor the progress of the transition to GAPDoc. The first candidates for the conversion are likely those packages with their names hyperlinked to GitHub repositories, so this could be helped via a pull request.

Among 130 packages that will appear in GAP 4.8.2, there are 33 packages which do not have GAPDoc-based manuals.

Status as of 2026-09-11. Of the 34 listed packages, 15 are converted and released — 14 in the distribution, and qaos is no longer distributed. Five more are merged but have not reached the distribution yet, six are in progress, and eight remain. The last distribution I checked, from 2026-08-18, still ships 16 packages with a doc/make_doc.

Package Status PR Released
ace 🔄 PR open #48
aclib ✅ converted #17 yes, v1.4
alnuth ✅ converted issue 5 yes
automgrp 🔄 converted, PR pending
autpgrp ✅ converted #11 by @james-d-mitchell yes
CaratInterface ✅ merged #42 released v2.3.10, not yet in the distribution
cohomolo ✅ converted #41 yes, v1.7.0
crisp ☐ todo
cryst ✅ converted #61 yes, v4.1.32
crystcat ✅ merged #20 released v1.1.12, not yet in the distribution
cubefree ✅ converted #15 yes, v1.22
design ☐ todo
fga ✅ converted yes
format 🔄 PR open #11
fplsa ✅ converted issue 2 by @fingolfin yes
fwtree ✅ converted #13 yes, v1.4
grape ☐ todo
grpconst ✅ converted #14 yes, v2.7.0
irredsol ☐ todo
itc ☐ todo see issue 1
kbmag ✅ converted issue 1 by @cdwensley yes
liepring ✅ merged #36 released v2.9.3, not yet in the distribution
matgrp ☐ todo
modisom ✅ merged #32 not yet, v3.1.0 predates the conversion
nilmat 🔄 PR open #11
qaos ✅ converted (custom format, not gapmacro) #4 by @fingolfin no longer distributed
radiroot ✅ converted #15 yes, v2.10
rds 🔄 converted, PR pending
sglppow ✅ merged #12 released v2.6, not yet in the distribution
sonata 🔄 converted, PR pending ships two books under doc/ref/ and doc/tut/
symbcompcc ✅ converted #8 yes, v1.4.0
transgrp ☐ todo
unipot ✅ converted #12 yes, v1.7
xgap ☐ todo see issue 1

Note that crisp, irredsol and matgrp no longer ship a doc/make_doc, but their manuals are still plain TeX.

dev/gapmacro2gapdoc.g has been replaced by a Python rewrite, #6496, which is what the recent conversions used. It converts the chapter files, resolves cross-references against manual.six, takes each declaration's type from the package's own Declare... calls, and reports what it could not work out. The result still needs review, but the bulk is mechanical.

One thing that turned up in every package converted so far: the old build extracted the manual examples to a gitignored file that nothing ever ran, so they had quietly gone stale. AutoDoc extracts them into tst/, where they do run — expect to spend most of the effort there rather than on the markup.

Some things worth knowing before starting on the remaining ones:

  • Examples indented in the source are read by GAP's test format as expected output rather than input, so a whole block fails as one chunk. sonata indented every one of its examples. The converter now dedents <Example> (but not <Log>, whose indentation can be deliberate).
  • Sessions that cannot reproduce belong in <Log>: timings, temporary paths, Print/View output with no trailing newline, anything whose result depends on what ran before it (set orderings, Indeterminate numbering, groups that print differently once named).
  • Chapters reached by plain TeX's \input rather than \Input are invisible to the converter and get dropped silently — sonata's Preface and Copyright chapters were only in the front matter.
  • GAPDoc's title page has Copyright, Acknowledgements and Colophon fields, so a copyright chapter does not need to stay a chapter.
  • etc/ release scripts in the cryst family also referenced doc/make_doc, the plain-TeX output and an htm/ directory; they need updating along with the manual.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions