As (technically) a U.S.-based lawyer, I’m definitely interested in the ways in which Typst may be able to make legal writing less painful. Or at least less painful to create, at any rate.
The rules we have to follow are many and varied, no matter how simple a filing may be.
Has anyone used Typst in a legal context yet? I’m interesting in ways this could be made easier via templating and the like. For example, a single template for court filings with options for your locality’s specific requirements. Now that line numbers are a thing, this seems like it might be realistic?
Bibliography management could also use some extensions in this regard, even if it just involves specific citation/styling rules (especially since we often have to use inline citations rather than footnotes).
I’m not in traditional legal practice, so don’t have a specific use case for myself, but who knows if that’ll change one day. But regardless, anything to make folks’ jobs easier is worth investigating. And even a small step towards breaking Microsoft’s strangehold on legal drafting is an added bonus…
Anyway, the main thing I’d like to solicit is (1) how much interest there is just in general, and (2) if folks are available to help me with the various formatting rules they have to deal with. I’m not suggesting the creation of some massive database of course rules, but more having examples of these can inform what aspects of a document need to be easily customized.
Although customization currently has its limits, for example: if you need US style four-digit numbers like [0001], you’ll need your own function, as there is currently no zero padding, at least to the best of my knowledge. Additionally, skipping paragraphs you don’t want numbered likely requires some initial thought.
Bibliography management is already implemented quite well. You can also use your own .csl files. So it is certainly already feasible to use for legal writing. But be prepared to need a little hack here and there. I suggest testing it with a simple case to determine if you’re willing to invest the time to adopt it.
For example:
#let pad_zeros(n, width) = {
let s = str(n)
if s.len() < width {
return "0" * (width - s.len()) + s
}
return s
}
#set par.line(numbering: i => if calc.rem(i, 5) == 0 { "[" + pad_zeros(i, 4) + "]" })
#lorem(200)
This is what the code would look like to number every 5th line and add zero padding [0001]-style, just as an example of what is possible. Inspired by this and that. So while many things can be done in a custom way, expectation management is essential.
Interesting, and this is kind of what I was talking about: I’ve never seen a need for that kind of numbering, with the possible exception of page numbers in large-scale discovery? Something like that?