FineTeX is just a simple (for the moment) language with more flexibility in commands' definitions than pure LaTeX. However, the FineTex translator generates normal LaTeX code which can be used as desired.
- macros-like commands consisted of arbitrary unicode symbols
- fine document structure, based on indentation rules
Not to be unfounded, here are some examples of how FineTeX and LaTeX code looks like:
Source FineTeX code
The function `f` has a limit `y` when `x -> x_0` iff
> ∀ϵ > 0 ∃δ > 0 : ∀x (|x - x_0| < δ => |f(x) - y| < ϵ)
Produced LaTeX code
The function $f$ has a limit $y$ when $x \rightarrow x_0$ iff
\begin{align}
\forall\epsilon > 0 \exists\delta > 0 : \forall x (|x - x_0| < \delta \Rightarrow |f(x) - y| < \epsilon)
\end{align}
- context-checks for commands: it will be possible to specify some commands to be used only with spaces or linebreaks surrounding them
- variables for more flexibility with commands. It will be possible to check every open bracket is closed using this feature
See page on Wiki
I'll be very glad if someone wants to contribute to this project. All constructive ideas and language features are welcome — you can open an issue at github. Also, the project really needs examples and guides.
Source code can be cloned from the GitHub repo. For running translation, execute:
cabal new-update
cabal new-run texgen -- examples/example.ttex