Can I exclude level 1 headings from numbering while numbering all subsequent headings (level 2 and below) as “1.1”?
#show heading.where(
level: 1
): it => block(width: 100%)[
#set align(center)
#set text(
size: 20pt,
weight: "bold",
font: ("Poppins","Noto Serif CJK SC"),
)
#counter(heading).display(it.numbering)
#smallcaps(it.body)
]
#show heading.where(
level: 2
): it => block(width: 100%, below: 1.0em)[
#set align(left)
#set text(
size: 18pt,
weight: "bold",
font: ("Poppins","Noto Serif CJK SC"),
fill: rgb("#045bac")
)
#counter(heading).display(it.numbering)
#smallcaps(it.body)
]
#show heading.where(
level: 3
): it => block(width: 100%, below: 1.2em)[
#set align(left)
#set text(
size: 14pt,
weight: "regular",
font: ("Poppins","Noto Serif CJK SC"),
fill: rgb("#062f56")
)
#counter(heading).display(it.numbering)
#smallcaps(it.body)
]
#set heading(numbering: "1.1")
I want to achieve:
Level 2 heading numbering: 1 2 3…
Level 3 heading numbering: 1.1, 1.2, 1.3…
And so on.
In the code above, if I remove the #counter(heading).display(it.numbering) from the first-level heading, the second-level headings become 1.1, 1.2…, which doesn’t match my desired outcome.
I’d be very grateful if you could tell me how to achieve this.



