Skip to content

Latest commit

 

History

History
52 lines (44 loc) · 1.88 KB

README.md

File metadata and controls

52 lines (44 loc) · 1.88 KB

FineTeX   language to be translated into LaTeX

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.

Features available at the moment

  • 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}

Features to be realized in the very near future

  • 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

Getting started

See page on Wiki

Contributing

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