TeX-my-math: Render general Haskell math to LaTeX. Or: math typesetting with high signal-to-noise–ratio.

[ gpl, library, math, program ] [ Propose Tags ] [ Report a vulnerability ]

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.

Downloads

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

Package maintainers

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]