Consider the following code which prints an array of items, which may not fit into a single line:
#set page(paper: "a6")
#let sep = h(1em) + sym.bullet + h(1em)
= Actual output
#let items = "Lorem ipsum dolor sit amet consectetur adipiscing elit sed do".split()
#items.join(sep)
= Desired output
#let items1 = "Lorem ipsum dolor sit".split()
#let items2 = "amet consectetur adipiscing elit".split()
#let items3 = "sed do".split()
#items1.join(sep) \
#items2.join(sep) \
#items3.join(sep) \
Is there a built-in way or an existing package that would allow achieving the “Desired output”, i.e. avoid inserting the separator at linebreaks? I’d guess that this could be done by measuring the item sizes and building lines accordingly, but I’d rather avoid rolling my own code here.