nleanba/typst-theoretic

Opinionated tool to typeset theorems, lemmas and such

Typst

48

54 commits

updated Jul 6, 2026

See the code

README

Theoretic

Opinionated tool to typeset theorems, lemmas and such

Example Usage:

  #import "@preview/theoretic:0.4.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

Features: Overview

  • 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 theorem function, 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.

Manual

Full Manual →

first page of the documentation

Preset styles

Overview over preset styles

Feedback

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⭐

typst
typst-package

Contributors

nleanba

54 commits

nleanba/typst-theoretic

Opinionated tool to typeset theorems, lemmas and such

Typst

48

54 commits

updated Jul 6, 2026

See the code

README

Theoretic

Opinionated tool to typeset theorems, lemmas and such

Example Usage:

  #import "@preview/theoretic:0.4.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

Features: Overview

  • 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 theorem function, 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.

Manual

Full Manual →

first page of the documentation

Preset styles

Overview over preset styles

Feedback

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⭐

typst
typst-package

Contributors

nleanba

54 commits

Languages

Typst

100.0%