# 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

*Math**LaTeX**Internal*- Math.LaTeX.Internal.Display
- Math.LaTeX.Internal.MathExpr

- Math.LaTeX.Prelude
- Math.LaTeX.StringLiterals

## Downloads

- TeX-my-math-0.202.2.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 |
---|---|

Dependencies | base (>=4.8 && <4.15), 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 2023-01-23T19:51:16Z |

Category | math |

Home page | http://github.com/leftaroundabout/Symbolic-math-HaTeX |

Uploaded | by leftaroundabout at 2021-05-18T11:00:30Z |

Distributions | NixOS:0.202.2.0 |

Reverse Dependencies | 2 direct, 0 indirect [details] |

Executables | TeXmyMath-example |

Downloads | 3136 total (8 in the last 30 days) |

Rating | (no votes yet) [estimated by Bayesian average] |

Your Rating | |

Status | Docs not available [build log] All reported builds failed as of 2021-05-18 [all 3 reports] |