📗 The manual.
Available in the collection of Typst packages: #import "@preview/physica:0.9.2": *
physica noun.
- Latin, study of nature
This Typst package provides handy typesetting utilities for natural sciences, including:
- Braces,
- Vectors and vector fields,
- Matrices, including Jacobian and Hessian,
- Smartly render
..^T
as transpose and..^+
as dagger (conjugate transpose), - Dirac braket notations,
- Common math functions,
- Differentials and derivatives, including partial derivatives of mixed orders with automatic order summation,
- Familiar "h-bar", tensor abstract index notations, isotopes, Taylor series term,
- Signal sequences i.e. digital timing diagrams.
See the manualfor more details and examples.
A larger demo.typ:
See https://github.com/typst/packages. If you are using the Typst's web app, packages listed there are readily available; if you are using the Typst compiler locally, it downloads packages on-demand and caches them on-disk, see here for details.
// Style 1
#import "@preview/physica:0.9.2": *
$ curl (grad f), tensor(T, -mu, +nu), pdv(f,x,y,[1,2]) $
// Style 2
#import "@preview/physica:0.9.2": curl, grad, tensor, pdv
$ curl (grad f), tensor(T, -mu, +nu), pdv(f,x,y,[1,2]) $
// Style 3
#import "@preview/physica:0.9.2"
$ physica.curl (physica.grad f), physica.tensor(T, -mu, +nu), physica.pdv(f,x,y,[1,2]) $
Similar to examples above, but import with the undecorated file path like "physica.typ"
.
The version requirement for the compiler is in typst.toml's
compiler
field. If you are using an unsupported Typst version, the compiler
will throw an error. You may want to update your compiler with typst update
,
or choose an earlier version of the physica
package.
Developed with compiler version:
$ typst --version
typst 0.10.0 (70ca0d25)
See the manual for a more comprehensive coverage, a PDF file generated directly with the Typst binary.
To regenerate the manual, use command
typst watch physica-manual.typ
-
Bug fixes are welcome!
-
New features: welcome as well. If it is small, feel free to create a pull request. If it is large, the best first step is creating an issue and let us explore the design together. Some features might warrant a package on its own.
-
Testing: currently testing is done by closely inspecting the generated manual. This does not scale well. I plan to add programmatic testing by comparing rendered pictures with golden images.
- Code: the MIT License.
- Docs: the Creative Commons BY-ND 4.0 license.