Giter Club home page Giter Club logo

hex's Introduction

HeX: TeX in Haskell

HeX is a reimplementation of TeX in Haskell.

It is currently pre-pre-alpha: it doesn't do much.

Currently (as of version 0.0.4), it can typeset some simple text, using TeX linebreaking, and some simple math ($x^2$ and the like).

The plan is to first write a faithful reimplementation of TeX and then, make it better.

What needs to be better?

Here are my ideas:

  1. Better error messages.
  2. Better package management.
  3. Document at-once-typesetting (instead of page-per-page).
  4. Single pass implementation of cross-references.
  5. Better handling of floats.
  6. Better handling of images.
  7. Faster.
  8. Better scripting.
  9. In-built (or script written) facilities for things like references (instead of relying on external programmes).
  10. Use of multi-core machines.
  11. More output formats (ePub, HTML, ...?)

Some of these are traditionally built on top of TeX instead of modifying it. While that is a good way to do some things, it also means that the results are not as good as they should be. There is no reason to not have the handling of floats at the TeX level, for example.

What needs to stay the same?

Good quality output.

What can change?

The console output. Coming from a Unix background, I find TeX unbearably verbose. If no errors are found, it should output nothing. Also, there might be no functionality for interactive use when an error occurs.

Files that trigger an error in TeX will not necessarily work the same way in hex.

Dependencies

cabal install
cmdargs list-extras vector vector-algorithms binary convertible parsec dlist test-framework-th test-framework-quickcheck2 test-framework-hunit

You also need to have some TeX binaries available (at the moment). On Ubuntu, you can install them by running:

sudo apt-get install texlive-binaries texlive-base

Meta-Information

Author: Luis Pedro Coelho <[email protected]>

License: GPLv3 or later

Website: http://luispedro.org/software/hex

hex's People

Contributors

luispedro avatar

Stargazers

 avatar Flávio Martins Prado avatar Luke Meyers avatar Athene Noctua avatar henryscala avatar  avatar Paolo Brasolin avatar Richard Yang avatar Nima Johari avatar  avatar Sébastien Le Callonnec avatar  avatar arata, mizuki avatar bhuztez avatar Yun Hao avatar zohooo avatar Aaron Jacobs avatar Joe Landers avatar Frédéric Bour avatar Alexey Alekhin avatar Aleksandr Voikov avatar Jack Pappas avatar Philipp Stephani avatar Paulo Cereda avatar Steve Sprang avatar  avatar Jon Sterling avatar Charlie Sharpsteen avatar Bernhard Schmalhofer avatar Pekka Kaitaniemi avatar

Watchers

 avatar jinweitang avatar Bruno Le Floch avatar James Cloos avatar Paolo Brasolin avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.