Generic Type Setting Back-end

I am just shooting an idea to see if this makes sense to the community.

I am looking to see if there is a possibility of taking a slightly new direction where Tectonic is going.

Instead of Tectonic being a TeX/LaTeX implementation can it become and generic typesetting engine with many frontends out of which one can be TeX/LaTeX in a compatible way while also providing improvements over TeX/LaTeX in being able to define new front ends easily. Though TeX/LaTeX compatibility is maintained where possible provide improved alternatives where compatibility does not matter.

Different from ends can be defined for:

  • TeX/LaTeX/ConTeXt
  • DocBook
  • XSL-FO
  • SGML
  • OOXML/ODF/RTF
  • etc.

wih the possibility of interformat convertion like: TeX/LaTeX/ConTeXt <–> OOXML/ODF/RTF

Also perhaps language bindings can be provided for Native, .Net and Java so this can be used as a library.

1 Like

Hi @sirinath,

Thanks for posting! I think it would definitely be interesting to explore different backends and frontends for Tectonic, and I’ve been looking forward to seeing what things people try.

What I personally am really excited about is an HTML output backend that could generate state-of-the-art HTML output from TeX inputs. This is really hard problem, but it’s one of the big reasons that I started the Tectonic project to begin with.

I think it would also be super interesting to think about different frontends. In particular you could imagine something based on Markdown that could potentially have really good built-in math typesetting. This might get kind of redundant with pandoc, though.

It is a matter of coming up with an intermediate language to:

  • declaratively describe the content
  • declaratively describe the styling
  • declaratively describe the layout
  • declaratively describe the drawing, rendering and animations for different formats and devices
  • declaratively describe incrementally parsing/decoding input binary or text files
  • declaratively describe conversions/encoding between passed formats
  • declaratively describe encoding metadata for accessibility, fidelity in converting into other formats and back gain.

This can be the basis for generating different outputs. Not all formats will always use drawing and rendering.

Declarative conversion between formats will handle the convention.

This can be based parallel and performant as possible to support own Computable Document Format (CDF) with live interactive diagrams, charts and graphics. Mappings between TeX/LaTeX/ConTeXt/OOXML/ODF/RTF or any other user-defined format can be defined to do the conversion and generate the documents.

What I am proposing is not the same as Pandoc which is just conversion between formats through the same conversion may be possible.

These are some ideas. Basically what I am suggesting is what would typesetting and document authoring system have, if it was designed today with modern technology but supporting legacy formats also learning for the past.

Also, what would modern documents be capable of? It is just not for printing and publishing. There are many uses like CAD, Jypyter Notebooks, Computational Documents, Presentations, Graphics, Charting, Animations, Multimedia, etc.