Opinionated tool to typeset theorems, lemmas and such
Example Usage:
#import "@preview/theoretic:0.3.0"
#import theoretic.presets.basic: * // this will automatically load predefined styled environments
#show ref: theoretic.show-ref // this is necessary for references to theorems to work
// Example Usage:
#theorem(<label>)[Title][Body]
#theorem(label: <label>, title: [Title], [Body]) // this is equivalent to the above
#proposition(variant: "important")[This proposition has a frame around it!]
#proof[...]
#example[...]
// ..etc
- It is easy to create single-use variants of environments, as all parameters can be changed on use.
(All configuration is achieved via parameters on the
theoremfunction, the presets are only preset pramaters.)- There are multiple preset styles available, and it should be easy to add your own.
- Automatic QED placement!
- Even if the proof ends with a list or a block equation, the QED will be perfectly aligned.
- Nested proofs are supported.
- You can add a suffix (e.g.
∎) to any environment.
- Flexible References via specific supplements. E.g. a reference without the title using
@label[-]; or one with only title and number using@label[!!]. - Any theorem can be restated.
- Automatic numbering & ability to use anything as a number. (E.g. "Proposition F")
- Custom outlines: Outline for headings and/or theorems.
- Filter for specific kinds of theorem to create e.g. a list of definitions.
- Optionally sorted alphabetically!
- Theorems can have a different title for outlines and can even have multiple entries in a sorted outline.
- Exercise solutions
Please see the PDF manual for more information, e.g. on how to define your own styles and environments.
Do you have questions or need help? I may be able to help you in the Typst forum, feel free to @nleanba to get my attention.
Have you encountered a bug? Please report it as an issue in my github repository. (You are also welcome to add feature requests there, but I give no guarantees of implementing them.)
Has this package been useful to you? I am always happy when someone gives me a sticker star⭐