TeX-my-math: Render general Haskell math to LaTeX. Or: math typesetting with high signal-to-noise–ratio.
For tl;dr: look at https://github.com/leftaroundabout/Symbolic-math-HaTeX/blob/master/EXAMPLES.md.
This is an attempt to get convenient math syntax in HaTeX (i.e., in data structures compatible / convertable to those from http://hackage.haskell.org/package/HaTeX).
The idea is to combine these features:
Full access to the math-typesetting power of LaTeX. It should be possible to express any formula that might be found in a typical mathematics or physics journal article. This should also include expression which are not quite well-defined from a programming point of view, but are clear to the intended audience.
Idiomatic Haskell syntax. Who wants to bother with unreadable expressions involving either hundreds of double-backslashes or extra syntax overhead in wrapping them explicitly into HaTeX?
Ideally, one would write expressions as if only meaning Haskell to calculate them, but get the result back as a full pretty-printing LaTeX math string. /And the actual calculated result as well/, if possible!
To this end, we use a minimal symbolic-manipulation EDSL, namely dumb-cas, set up in a way so the leaves of the syntax tree, i.e. the individual symbols, are represented by LaTeX expressions in memory and by single-letter variables in the Haskell code. These can then be combined with operators corresponding to LaTeX's maths operators, to obtain a very compact and almost WYSIWYG-like code appearance, while retaining the ability to apply any LaTeX-specific tweaks whenever necessary. At the same time, because the AST is fully precedence-aware, it is safely possible to transform the expressions via e.g. Template Haskell, to actually compute concrete numerical results, or apply exact symbolic-manipulation techniques.
Modules
[Index] [Quick Jump]
Downloads
- TeX-my-math-0.203.0.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.201.0.0, 0.201.1.0, 0.201.1.1, 0.201.2.0, 0.202.0.0, 0.202.1.0, 0.202.2.0, 0.203.0.0 |
---|---|
Dependencies | base (>=4.8 && <4.19), decimal-literals, directory, dumb-cas (>=0.2.1 && <0.3), filepath, hashable, haskell-src-meta, HaTeX (>=3.22.3.0), process, template-haskell, TeX-my-math, text, unordered-containers, vector-space, void [details] |
License | GPL-3.0-only |
Author | Justus Sagemüller |
Maintainer | (@) jsag $ hvl.no |
Revised | Revision 1 made by leftaroundabout at 2024-03-16T18:24:40Z |
Category | math |
Home page | http://github.com/leftaroundabout/Symbolic-math-HaTeX |
Uploaded | by leftaroundabout at 2023-04-26T13:15:02Z |
Distributions | |
Reverse Dependencies | 2 direct, 0 indirect [details] |
Executables | TeXmyMath-example |
Downloads | 3427 total (22 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] All reported builds failed as of 2023-04-26 [all 1 reports] |