Awesome
:green_book: The manual.
<p align="center"> <img width="545" alt="logo" src="https://github.com/Leedehai/typst-physics/assets/18319900/ed86198a-8ddb-4473-aed3-8111d5ecde60"> </p>The physica package for Typst (v0.9.3)
Available in the collection of Typst packages: #import "@preview/physica:0.9.3": *
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.
A quick look
See the manual for more details and examples.
A larger demo.typ:
Using physica in your Typst document
With typst
package management (recommended)
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.
<p align="center"> <img src="https://github.com/Leedehai/typst-physics/assets/18319900/f2a3a2bd-3ef7-4383-ab92-9a71affb4e12" width="173" alt="effect"> </p>// Style 1
#import "@preview/physica:0.9.3": *
$ curl (grad f), tensor(T, -mu, +nu), pdv(f,x,y,[1,2]) $
// Style 2
#import "@preview/physica:0.9.3": curl, grad, tensor, pdv
$ curl (grad f), tensor(T, -mu, +nu), pdv(f,x,y,[1,2]) $
// Style 3
#import "@preview/physica:0.9.3"
$ physica.curl (physica.grad f), physica.tensor(T, -mu, +nu), physica.pdv(f,x,y,[1,2]) $
Without typst
package management
Similar to examples above, but import with the undecorated file path like "physica.typ"
.
Typst version
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)
Manual
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
Contribution
-
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.
Change log
License
- Code: the MIT License.
- Docs: the Creative Commons BY-ND 4.0 license.