// Pass array of ints to receive paragraphs of each length.
#let lorembypars(..lengths) = {
	let totallength = lengths.pos().fold(0, (acc, x) => acc + x)
	let loremstr = lorem(totallength)
	let values = loremstr.split()
	let start = 0
	let partext = ()
	for x in lengths.pos() {
		partext.push(values.slice(start, count: x).join(" "))
		start += x
	}
	for t in partext {
		par(t)
	}
}

// Pass (X, Y) to receive Y paragraphs, each of length X.
#let loremparcount(parlength, parcount) = {
	let l = (parlength,) * parcount
	lorembypars(..l)
}

// Pass (X, Y) to receive X total words, divided into paragraphs of length Y.
#let loreminpars(totallength, parlength) = {
	let parcount = int(totallength / parlength)
	let parremain = calc.rem(totallength, parlength)
	let l = (parlength,) * parcount
	lorembypars(..l, parremain)
}

// Pass (X, Y) to receive X total words, divided into Y paragraphs.
#let loremintochars(totallength, parcount) = {
	let parlength = 0
	let parremain = calc.rem(totallength, parcount)
	if parremain > 0 {
		let parlength = int(totallength / (parcount - 1))
		let l = (parlength,) * (parcount - 1)
		lorembypars(..l, parremain)
	} else {
		let parlength = int(totallength / parcount)
		loremparcount(parlength, parcount)
	}
}
