This really appears to be different from How can I prevent level 1 headings from being numbered?. By using the set rule from there, this is what I think could be viable:
#show heading.where(level: 1): it => block(it.body)
#set heading(numbering: (first, ..nums) => numbering("A.1.", ..nums))
= Chapter 1
== Section title
=== Section title
= Chapter 2
== Section title
=== Section title
So the first-level heading still has numbering, it’s simply not visible due to its show rule.
Apply this change:
- #show heading.where(level: 1): it => block(it.body)
+ #show heading.where(level: 1): it => align(center, block(it.body))
Or add this:
#show heading.where(level: 1): set align(center)
