KeenType
typst
KeenType | typst | |
---|---|---|
13 | 110 | |
104 | 28,368 | |
- | 3.9% | |
10.0 | 9.8 | |
8 months ago | 5 days ago | |
Java | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
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.
typst
-
German state ditches Microsoft for Linux and LibreOffice
https://github.com/typst/typst looks promising, both the language and the tooling. I wonder where it will find its place in a world that is dominated by either Word or LaTex.
- Ask HN: What Underrated Open Source Project Deserves More Recognition?
-
LaTeX and Neovim for technical note-taking
I hope in a couple of years we start seeing posts like these with Typst instead of LaTeX. It seems like setting this up would be a bit easier since Typst is much more concise than LaTeX.
[0] https://github.com/typst/typst
-
I'm able to take notes in mathematics lectures using LaTeX and Vim (2019)
For writing math notes (especially in vim), I switch to using Typst (https://typst.app).
Here's a few points:
- The syntax is a lot lighter and easier to type fast. I was up and running in half hour after starting to use it. Once in a while I can look up some symbol name in the docs but that's about it.
- Empty document is a valid document. No preambles, no includes etc, it's all optional and the defaults are sensible. Just start typing.
- It's incremental. Live preview from neovim is in the browser and it's lightning fast, pretty much immediate. No pdf sync pain. No build files, makefiles and all that. Just start typing.
While it's not going to beat latex in terms of serious academic use, for personal use and notes it's close to perfect.
(And of course it's written in Rust...)
-
I don't always use LaTeX, but when I do, I compile to HTML (2013)
Except the main theme, which was HTML export? https://github.com/typst/typst/issues/721
Though it's in the roadmap!
- Htmldocs: Typeset and Generate PDFs with HTML/CSS
-
"LibreOffice is better at reading old Word files than Word"
I don't use LaTeX for anything these days but Typst popped up recently and seems like a decent alternative: https://github.com/typst/typst
-
Which software do you use to create presentations using Vim that is superior to existing ones?
I am surprised that no one mentions the typst. It is super smooth with typst-preview.
-
Bibliography CSL
I suggest you ask in the discord channel: https://discord.gg/2uDybryKPe. Or open an issue or question on GitHub: https://github.com/typst/typst
- Besseres Schreibprogramm als Word?
What are some alternatives?
Sentinel - A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)
asciidoctor-latex - :triangular_ruler: Add LaTeX features to AsciiDoc & convert AsciiDoc to LaTeX
asciimathml - A new home for asciimathml
typst.nvim - WIP. Goals: Treesitter highlighting, snippets, and a smooth intergration with neovim.
awesome-typst - Awesome Typst Links
KeenWrite - Free, open-source, cross-platform desktop Markdown text editor with live preview, string interpolation, and math.
latex-snippets - Vim + LaTeX snippets setup
typst-lsp - A brand-new language server for Typst, plus a VS Code extension
KmCaster - Capture keyboard and mouse events for screencasting
json-resume-template - JSON-based standard for resume
jfreesvg - A fast, lightweight Java library for creating Scalable Vector Graphics (SVG) output.
tree-sitter-typst - A TreeSitter parser for the Typst File Format