Lemmify vs ctheorems: How do they compare?

Basically the title.
Currently we have two packages for typesetting theorems?
Did you try both? Which one did you choose and why?
What are some advantages of one over the other?

1 Like

They are both very good packages. I have used ctheorems for a long time, but I switched to a custom implementation, because it did not suit my use case anymore.
At the end of the day, which package you choose is a matter of needs and preferences.
For example, using ctheorems, I do not think the internal counter is exposed, making it difficult to share it with other elements, across math.equations for example. See Share the internal counter with other environments · Issue #32 · sahasatvik/typst-theorems · GitHub.
The interfaces are wildly different between ctheorems and lemmify, but the latter seems to be updated more frequently in the last few months.

2 Likes

In fact there is another competitor: great-theorems

This package does cleanly separate between theorem functionality and counter functionality. In fact, the counter functionality is put into a whole nother package called rich-counters. This is one of the reasons why I wrote the package.

I hope you will give it a try! @Sinthoras @quachpas

1 Like

Hey, thank you for the suggestion. I will give it a try. :)

I see the point, that it is more clean to separate the counter and the theorem functionality, and it is absolutely no problem for me, but I think many end users, who don’t think too deeply about which solution is the best, would prefer to just have to call one package to get working theorems with custom numbering out of the box.
So I suggest you to maybe call rich-counters inside great-theorems automatically?

Edit: @jbirnick I actually asked a question about your package here.