KeenType
asciimathml
KeenType | asciimathml | |
---|---|---|
13 | 11 | |
104 | 948 | |
- | 0.0% | |
10.0 | 0.0 | |
8 months ago | over 1 year ago | |
Java | JavaScript | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
KeenType
-
LaTeX3: Programming in LaTeX with Ease
> modern languages like Markdown
Markdown was created in 2004. From the creator:
> ... the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.
Email goes back to 1965, though I suspect Markdown's influence stems from the more widely adopted email usage from the 1990s.
> Part of LaTeX's success was the absolutely beautiful documents it can make with nothing but a personal computer.
I'd say that was TeX's success, with LaTeX bolted on later to greatly improve TeX's extensibility. Keep in mind, there are a number of TeX-centric implementations beyond LaTeX. For example, my fork of NTS, called KeenType, is a pure Java version of TeX that can typeset beautifully and has at its core Knuth's original TeX files.
https://github.com/DaveJarvis/KeenType/tree/main/tex/src/mai...
-
Expanding TeX's \Newif (2021)
My port of the New Typesetting System (NTS), called KeenType, whittles down the Java-based implementation to a few of Knuth's files. Namely, "plain.tex" and "hyphen.tex":
https://github.com/DaveJarvis/KeenType/tree/main/tex/src/mai...
Getting familiar with the fonts required understanding the difference between font metrics (TFM files) and the fonts themselves. To make matters a little less straightforward, Knuth created a special character mapping for indexes into the fonts. It was not easy to find a font that mapped those glyphs exactly. The closest font was BaKoMa:
https://github.com/DaveJarvis/KeenType/tree/main/tex/src/mai...
This required hard-coding a mapping between Knuth's code points and the actual code points in the target font:
https://github.com/DaveJarvis/KeenType/blob/989dbe26f68eda75...
-
The fastest math typesetting library for the web
A while ago I optimized KeenType, which although not JavaScript-based, generates SVG images, which can be embedded into web pages.
https://github.com/DaveJarvis/keentype
The following tutorial shows the real-time rendering speed of KeenType within my text editor, KeenWrite:
https://youtu.be/vgyYXwwF_lc?list=PLB-WIt1cZYLm1MMx2FBG9KWzP...
- Reducing code size in (Rust) librsvg by removing an unnecessary generic struct
- KeenType: Pure Java typesetting system
-
Different algorithms for converting binary to decimal floating-point numbers
In Java, many number-to-string implementations use NumberFormat. This is abysmally slow if the problem domain doesn't require internationalization, which is the case for machine-readable file formats, such as SVG. When I performance tested JMathTeX for rendering TeX, the bottleneck for converting TeX into SVG elements was JFreeSVG's use of NumberFormat[0]. Replacing NumberFormat with RyuDouble doubled the throughput[1]. (Reusing a StringBuilder for to concatenate strings yielded another doubling.)
For KeenType[2], a fork of the New Typesetting System (and more complete TeX implementation than JMathTeX), I added an SVG generator that converts numbers to string using a StackOverflow answer[3], instead of using Ryu[4]. The performance was even better and the algorithm vastly simpler.
Knuth was right: measure, then optimize.
[0]: https://github.com/jfree/jfreesvg
[1]: https://github.com/jfree/jfreesvg/pull/30
[2]: https://github.com/DaveJarvis/KeenType
[3]: https://stackoverflow.com/a/10554128/59087
[4]: https://github.com/DaveJarvis/KeenType/blob/fef005579021f394...
-
KeenWrite 3.2.0
KeenType, a modernized and optimized NTS fork, replaces KeenTeX.
asciimathml
-
[R] Any tools to convert math?
Or ascii math, http://asciimath.org
-
The fastest math typesetting library for the web
Sure thing, a quick search yields Asciimath which seems at least at first glance as huge improvement in the syntax department: http://asciimath.org
As for LaTeX in general, Markdown beats it soundly in most aspects.
- AsciiMath: An easy-to-write markup language for mathematics
-
Compilable Markdown for Linear Algebra
What are the syntax differences to https://asciimath.org?
-
How to write more complex math expressions in AsciiDoc?
I did some Googling, and thought AsciiMath is the answer (simply because it also contains "Ascii" in the name). Turns out it's a different solution.
- How to write PDF that contains rather complicated math expressions?
-
LaTex alternative/replacement written in Rust?
Math syntax is a bit more challenging, because I'm sure no one wants 12 even if that would make the grammar simpler. Attempts to do this are thin on the ground: as you note, Markdown and other similar tools completely punted on math. AsciiMath is one idea, although not what you want in a full-fledged typesetting language.
-
Rendering LaTeX in Markdown with actual LaTeX
I like to use asciimath for this, though I realize that it's not as powerful as LaTeX or MathJax. There's a decent Rust port: asciimath-rs.
-
I love LaTeX. I hate LaTeX
There's this:
http://asciimath.org/
I wish someone would integrate this into pandoc so I could use it in rmarkdown.
What are some alternatives?
Sentinel - A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)
RusTeX - A (somewhat experimental) implementation of a TeX engine in rust, used to convert LaTeX documents to xhtml.
awesome-typst - Awesome Typst Links
tex-rs - A port of TeX82 to Rust. (WIP)
latex-snippets - Vim + LaTeX snippets setup
rpg_module - rpg-module: a LaTeX class for typesetting RPG adventure modules in the style of D&D modules from the 1980s
KmCaster - Capture keyboard and mouse events for screencasting
realhats - realhats LaTeX package
jfreesvg - A fast, lightweight Java library for creating Scalable Vector Graphics (SVG) output.
iheartla - compilable markdown for linear algebra
async-profiler - Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events
publisher - speedata Publisher - a professional database Publishing system