The problem here is that [] scope is used (in the package) for adding things, which is bad unless you know of all the consequences (additional spaces/paragraphs almost everywhere).
Changing
let rendered-pages = [
#let p = pages.map(render-function)
#box(width: lvl * 1em)#apply-entry-casing(
display,
entry-casing,
entry.at("apply-casing", default: auto),
)#box(width: 1fr)#p.join(", ") \
]
to
let rendered-pages = {
let p = pages.map(render-function)
box(width: lvl * 1em)
apply-entry-casing(
display,
entry-casing,
entry.at("apply-casing", default: auto),
)
box(width: 1fr)
p.join(", ")
parbreak()
}
plus
#import "@preview/in-dexter:0.7.0" as in-dexter: *
#let make-index(..args) = {
set par(first-line-indent: 0pt, spacing: 0.65em, hanging-indent: 2em)
in-dexter.make-index(..args)
}
and you get a hanging indent:
#import "@preview/in-dexter:0.7.0" as in-dexter: *
#let make-index(..args) = {
set par(first-line-indent: 0pt, spacing: 0.65em, hanging-indent: 2em)
in-dexter.make-index(..args)
}
This is an example of the hanging-indent#index("Hanging indent", "a longer line that will wrap around on to a new line") problem in the index.
This is an example of the hanging-indent#index("Hanging indet", "a longer ine that will wrap around on to a new line") problem in the index.
#columns(2)[
#make-index(title: "Index")
]
Not sure how it supposed to look like in all cases or at all, but seems good. The second issue is linebreak instead of parbreak, at least if you need the hanging-indent.
https://typst.app/docs/reference/model/par/#what-becomes-a-paragraph
You can ask the author to change it, and then you would be able to just use set par rule outside.