{"slug": "tex", "name": "TeX", "category": "other", "category_name": "Other software", "description": "", "recommenders": 5, "commenters": 19, "warners": 4, "score": 2.902, "rising": -1.64, "first": "2025-11-01", "latest": "2026-07-17", "why": "so if you are looking for stability, look no further", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 5, "compare": 5, "warn": 4}, "spark": [2, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "so if you are looking for stability, look no further", "kind": "", "icon": true, "domain": null, "github_repo": null, "official_url": "https://www.tug.org", "pricing": "", "aliases": ["TeX"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 768796209, "item_id": 48049763, "url": "https://news.ycombinator.com/item?id=48049763", "by": "ngriffiths", "date": "2026-05-07", "version": null, "stance": "recommend", "quote": "people seem to think TeX itself is actually quite nice to use", "excerpt": "It's kinda fascinating how dominant LaTeX is, how nice its output is, how respected Knuth is as a computer scientist, and at the same time how totally awful it feels to use it. Hard to figure out how it can be so good and so bad at once. Posts/discussion I found interesting: - http://www.goodmath.org/blog/2008/01/10/the-genius-of-donald-knuth-typesetting-with-boxes-and-glue/ - https://tex.stackexchange.com/q/24671 - ", "context": "", "use_case": "", "switched_from": "", "story": "RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust"}, {"id": 745165008, "item_id": 46572813, "url": "https://news.ycombinator.com/item?id=46572813", "by": "aragilar", "date": "2026-01-10", "version": null, "stance": "recommend", "quote": "TeX, via packages and wrappers, can do practically anything.", "excerpt": "There are those that have well defined extension points (e.g. TeX, rst), and those that are ad-hoc, of which the best example is markdown. TeX, via packages and wrappers, can do practically anything. rst has directives (blocks) and interpreted text (inline) which can also effectively do anything (along with substitution references which are more macro-like). Specific \"interpreters\" (for lack of a better term) which y", "context": "", "use_case": "Typesetting documents", "switched_from": "", "story": "How Markdown Took over the World"}, {"id": 739718656, "item_id": 46232416, "url": "https://news.ycombinator.com/item?id=46232416", "by": "AlanYx", "date": "2025-12-11", "version": null, "stance": "recommend", "quote": "good tool support virtually everywhere for those alternatives, like in TeX", "excerpt": "This is my view as well. That being said, Time New Roman is marginally better because there are several good, modern open source alternatives with the same metrics that can be substituted. And there's good tool support virtually everywhere for those alternatives, like in TeX. There is a metric-compatible open alternative to Calibri (Carlito) but it seems more vulnerable to lawyer shenanigans and doesn't have extensiv", "context": "", "use_case": "Typesetting", "switched_from": "", "story": "Rubio stages font coup: Times New Roman ousts Calibri"}, {"id": 736373536, "item_id": 46023346, "url": "https://news.ycombinator.com/item?id=46023346", "by": "IgorPartola", "date": "2025-11-23", "version": null, "stance": "recommend", "quote": "so if you are looking for stability, look no further", "excerpt": "I am surprised TeX [1] and LaTeX (pronounced tech and lay-tech) are not mentioned in this post. When I was a physics undergrad it was required that we wrote our senior thesis in it as well as any studies we meant to publish. Interestingly, my lab worked closely with a lab from the chemistry department and apparently their standard was MS Word docs. I was given to understand that this setup was fairly universal for bo", "context": "", "use_case": "", "switched_from": "", "story": "Markdown is holding you back"}, {"id": 734824912, "item_id": 45926557, "url": "https://news.ycombinator.com/item?id=45926557", "by": "OisinMoran", "date": "2025-11-14", "version": null, "stance": "recommend", "quote": "I'm a big fan of this implementation [1] of the TeX linebreak algorithm", "excerpt": "If you enjoyed this you'll probably also enjoy \"The Games People Play With Cash Flow\" [0] And for the classic HN comment about the site itself: I think it looks very nice, but the native justification algorithm is not very good (especially with hyphenation turned off) so it ends up looking quite sparse at parts on mobile and is a bit jarring to read. I'm a big fan of this implementation [1] of the TeX linebreak algor", "context": "", "use_case": "", "switched_from": "", "story": "Operating Margins"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 776218210, "item_id": 48513638, "url": "https://news.ycombinator.com/item?id=48513638", "by": "kxhbr", "date": "2026-06-12", "version": null, "stance": "warn", "quote": "TeX relies on a stack of evil hacks and esoteric behavior that is very hard to replicate", "excerpt": "Co-maintainer here. Tectonic is a cool project, but hasn't seen any significant changes in a few years---and likely won't anytime soon. It seems we maintainers don't have the time and motivation to put serious work into Tectonic. I haven't looked at the code in years (and thus may be wrong), but here's a quick overview: Tectonic's code consists of thin bindings to /harfbuzz/graphite/etc and a vendored XeTeX (in C, wi", "context": "", "use_case": "", "switched_from": "", "story": "Tectonic: A modernized, complete, self-contained TeX/LaTeX engine"}, {"id": 768875024, "item_id": 48054689, "url": "https://news.ycombinator.com/item?id=48054689", "by": "lejalv", "date": "2026-05-07", "version": null, "stance": "warn", "quote": "Celebrating batch-mode typesetting in 2026 feels like some weird cyberpunk fixation.", "excerpt": "If TeX is \u201c80s good\u201d, Typst might be \u201c90s\u201d good, being generous. Celebrating batch-mode typesetting in 2026 feels like some weird cyberpunk fixation. Programmable like Emacs (but via Scheme), interfaced with major Computer Algebra Systems, tree-structured documents that are live-queryable and modifiable, and typesetting that rivals TeX without using TeX - TeXmacs provides all that, and much more (https://www.texmacs.", "context": "", "use_case": "", "switched_from": "", "story": "RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust"}, {"id": 756435888, "item_id": 47277243, "url": "https://news.ycombinator.com/item?id=47277243", "by": "thangalin", "date": "2026-03-06", "version": null, "stance": "warn", "quote": "I had to rename all the Java source files to abide by the NTSPL license terms", "excerpt": "> it is much easier to write a transpiler for Pascal->C than to rewrite TeX. Asking an LLM to rewrite it in the language-du-jour ... I thought that the combination of the Pascal and Java versions[1] of TeX would be sufficient guidance to produce another language/implementation. > is a huge cost for very little benefit A greenfield Java implementation with an MIT license would have been useful[2] for rendering TeX ins", "context": "", "use_case": "", "switched_from": "", "story": null}, {"id": 732559296, "item_id": 45784956, "url": "https://news.ycombinator.com/item?id=45784956", "by": "sema4hacker", "date": "2025-11-01", "version": null, "stance": "warn", "quote": "See Knuth's extensive bug list for TEX from 1987", "excerpt": "> That handful of code took me almost a year to write. Formatting can be tough. See Knuth's extensive bug list for TEX from 1987 at https://yurichev.com/mirrors/knuth1989.pdf to see the kind of tarpit one can get trapped in.", "context": "", "use_case": "typesetting", "switched_from": "", "story": "The hardest program I've ever written (2015)"}]}], "who": [{"by": "tmoertel", "context": "Blogger who writes posts in Markdown", "url": "https://news.ycombinator.com/item?id=47800814", "date": "2026-04-16"}], "tags": [], "use_cases": ["typesetting", "typesetting pdfs", "typesetting layout model", "typesetting documents"], "compared": [{"slug": "typst", "name": "Typst", "co": 9, "switched_from": 0, "switched_to": 0}, {"slug": "latex", "name": "LaTeX", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "pandoc", "name": "Pandoc", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "microsoft-word", "name": "Microsoft Word", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 776276960, "item_id": 48517310, "url": "https://news.ycombinator.com/item?id=48517310", "by": "gucci-on-fleek", "date": "2026-06-13", "version": null, "stance": "recommend", "quote": "I'm quite personally invested in TeX, far more than most people are.", "excerpt": "It's mostly that I'm quite personally invested in TeX, far more than most people are. I work on it nearly every day, and I'm even hosting an international TeX conference about a month from now [0]. I do have a few minor concerns about Typst, mainly that its parsing/compiling strategy allows less introspection and extensibility than TeX does (but this is necessary for its fast compile times), and the fact that it's ba", "context": "works on TeX nearly every day", "use_case": "typesetting", "switched_from": "", "story": "Tectonic: A modernized, complete, self-contained TeX/LaTeX engine"}], "threads": [{"url": "https://news.ycombinator.com/item?id=48010729", "title": "RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48467697", "title": "Tectonic: A modernized, complete, self-contained TeX/LaTeX engine", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48946738", "title": "Show HN: Justif \u2013 Knuth-Plass justification and microtypography for the web", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48845209", "title": "A Road to Lisp: Why Lisp", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48652019", "title": "A stray \"j\" ruined my evening", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48459678", "title": "CSS: Unavoidable Bad Parts", "mentions": 1}], "sentiment_by_month": {"2025-11": {"warn": 1, "recommend": 2}, "2025-12": {"compare": 2, "recommend": 1}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {"warn": 1}, "2026-04": {"neutral": 2, "compare": 1}, "2026-05": {"recommend": 1, "compare": 1, "warn": 1, "neutral": 2}, "2026-06": {"warn": 1}, "2026-07": {"neutral": 1, "compare": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 783156224, "item_id": 48947264, "url": "https://news.ycombinator.com/item?id=48947264", "by": "lyall", "date": "2026-07-17", "version": null, "stance": "compare", "quote": "by default TeX doesn't do tracking or expansion", "excerpt": "Thank you! And yes by default TeX doesn't do tracking or expansion, but the microtype [0] package does. And I did struggle a bit with deciding how best to do the comparison to native browser rendering. I wanted it to be an apples-to-apples comparison, but also didn't want to unfairly handicap the browser by disabling something like hyphenation. It's already bad enough as is... 0: https://ctan.org/pkg/microtype", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Justif \u2013 Knuth-Plass justification and microtypography for the web"}, {"id": 781736880, "item_id": 48858555, "url": "https://news.ycombinator.com/item?id=48858555", "by": "WillAdams", "date": "2026-07-10", "version": null, "stance": "neutral", "quote": "learning it was a lot of help in using TeX", "excerpt": "I've always wondered what would have happened if the first \"Interface Builder\" >Jean-Marie Hullot created \"SOS Interface\" in Lisp for the Macintosh while working at INRIA (1984) which was the first modern \"interface builder.\" https://denninginstitute.com/itcore/userinterface/GUIHistory4.html had become a mainstream Mac product rather than being co-opted for NeXT and use w/ Objective-C. LISP clicked with me (when taki", "context": "", "use_case": "typesetting", "switched_from": "", "story": "A Road to Lisp: Why Lisp"}, {"id": 779308128, "item_id": 48706758, "url": "https://news.ycombinator.com/item?id=48706758", "by": "gucci-on-fleek", "date": "2026-06-28", "version": null, "stance": "neutral", "quote": "TeX is where I see it the most often these days.", "excerpt": "This comes up fairly often in TeX, where you can use ^^J to insert a newline character [0]. For example, the following code: \\message{before ^^J after} prints the following message: before after This is common in other old software too [1] [2], but TeX is where I see it the most often these days. [0]: https://tex.stackexchange.com/a/64848/270600 [1]: https://superuser.com/q/212874 [2]: https://en.wikipedia.org/wiki/C", "context": "", "use_case": "", "switched_from": "", "story": "A stray \"j\" ruined my evening"}, {"id": 776218210, "item_id": 48513638, "url": "https://news.ycombinator.com/item?id=48513638", "by": "kxhbr", "date": "2026-06-12", "version": null, "stance": "warn", "quote": "TeX relies on a stack of evil hacks and esoteric behavior that is very hard to replicate", "excerpt": "Co-maintainer here. Tectonic is a cool project, but hasn't seen any significant changes in a few years---and likely won't anytime soon. It seems we maintainers don't have the time and motivation to put serious work into Tectonic. I haven't looked at the code in years (and thus may be wrong), but here's a quick overview: Tectonic's code consists of thin bindings to /harfbuzz/graphite/etc and a vendored XeTeX (in C, wi", "context": "", "use_case": "", "switched_from": "", "story": "Tectonic: A modernized, complete, self-contained TeX/LaTeX engine"}, {"id": 775795184, "item_id": 48487199, "url": "https://news.ycombinator.com/item?id=48487199", "by": "gucci-on-fleek", "date": "2026-06-11", "version": null, "stance": "neutral", "quote": "most TeX engines only produce a single page size at a time", "excerpt": "I guess I'd call it mostly fixed: most TeX engines only produce a single page size at a time, but you generally only need to modify a single variable to change the page size and, after recompiling the document should be perfectly reflowed into the new page size. This is not helpful at all for someone who wants to be able to freely rotate their phone, but it's still better than InDesign or Word where changing the page", "context": "", "use_case": "", "switched_from": "", "story": "CSS: Unavoidable Bad Parts"}, {"id": 772611392, "item_id": 48288212, "url": "https://news.ycombinator.com/item?id=48288212", "by": "bombcar", "date": "2026-05-26", "version": null, "stance": "neutral", "quote": "If you have a decent TeX distribution installed you have a copy for long flights.", "excerpt": "\u201cA Few Notes on Book Design\u201d is also worth a read. https://texdoc.org/serve/memdesign/0 If you have a decent TeX distribution installed you have a copy for long flights.", "context": "", "use_case": "", "switched_from": "", "story": "I Bypassed Adobe and Microsoft to Build a Git-Tracked Book Production Pipeline"}, {"id": 771617057, "item_id": 48226066, "url": "https://news.ycombinator.com/item?id=48226066", "by": "returningfory2", "date": "2026-05-21", "version": null, "stance": "neutral", "quote": "I'm fascinated with TeX", "excerpt": "Thanks for this great comment! The motivation behind METAFONT is amusing to me because it seems to have some of the same hubris of the most extreme AI proponents nowadays: we can replace art by technology. I'm fascinated with TeX (and have spent a lot of my life rewriting it http://github.com/jamespfennell/texcraft) but I always found the situation with fonts in the TeX ecosystem a bit odd. There are people in our so", "context": "", "use_case": "typesetting", "switched_from": "", "story": "The Letter S, by Donald Knuth [pdf]"}, {"id": 768875024, "item_id": 48054689, "url": "https://news.ycombinator.com/item?id=48054689", "by": "lejalv", "date": "2026-05-07", "version": null, "stance": "warn", "quote": "Celebrating batch-mode typesetting in 2026 feels like some weird cyberpunk fixation.", "excerpt": "If TeX is \u201c80s good\u201d, Typst might be \u201c90s\u201d good, being generous. Celebrating batch-mode typesetting in 2026 feels like some weird cyberpunk fixation. Programmable like Emacs (but via Scheme), interfaced with major Computer Algebra Systems, tree-structured documents that are live-queryable and modifiable, and typesetting that rivals TeX without using TeX - TeXmacs provides all that, and much more (https://www.texmacs.", "context": "", "use_case": "", "switched_from": "", "story": "RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust"}, {"id": 768836001, "item_id": 48052250, "url": "https://news.ycombinator.com/item?id=48052250", "by": "savq", "date": "2026-05-07", "version": null, "stance": "compare", "quote": "Even if TeX had a massive head start", "excerpt": "Typst does have have accessibility features.[1] I don't worry too much about HTML output still being WIP. Even if TeX had a massive head start, Typst has a good development speed, and a little bit of slope makes up for a lot of y-intercept. [1]: https://typst.app/docs/guides/accessibility/", "context": "", "use_case": "", "switched_from": "", "story": "RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust"}, {"id": 768796209, "item_id": 48049763, "url": "https://news.ycombinator.com/item?id=48049763", "by": "ngriffiths", "date": "2026-05-07", "version": null, "stance": "recommend", "quote": "people seem to think TeX itself is actually quite nice to use", "excerpt": "It's kinda fascinating how dominant LaTeX is, how nice its output is, how respected Knuth is as a computer scientist, and at the same time how totally awful it feels to use it. Hard to figure out how it can be so good and so bad at once. Posts/discussion I found interesting: - http://www.goodmath.org/blog/2008/01/10/the-genius-of-donald-knuth-typesetting-with-boxes-and-glue/ - https://tex.stackexchange.com/q/24671 - ", "context": "", "use_case": "", "switched_from": "", "story": "RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust"}, {"id": 764950177, "item_id": 47809386, "url": "https://news.ycombinator.com/item?id=47809386", "by": "mcookly", "date": "2026-04-17", "version": null, "stance": "compare", "quote": "It is much more responsive than compiling in TeX.", "excerpt": "If anyone is interested in playing around with this wonderful tool, there's an online editor (edit: no affiliation). [1] It is much more responsive than compiling in TeX. [1]: https://www.sourceandsummit.com/editor/alpha/", "context": "", "use_case": "", "switched_from": "", "story": "The Gregorio project \u2013 GPL tools for typesetting Gregorian chant"}, {"id": 764813025, "item_id": 47800814, "url": "https://news.ycombinator.com/item?id=47800814", "by": "tmoertel", "date": "2026-04-16", "version": null, "stance": "neutral", "quote": "PDF files typeset with TeX", "excerpt": "I am not the author of the site in question, but I suspect that your guess is right, and that Pandoc is the hub between the spokes. For my blog, I write posts in Markdown. Then the build process uses Pandoc to convert the posts into web pages and, for certain pages, PDF files typeset with TeX. For example, here is a post in both web and PDF versions: (Web) https://blog.moertel.com/posts/2024-08-23-sampling-with-sql.h", "context": "Blogger who writes posts in Markdown", "use_case": "typesetting PDFs", "switched_from": "", "story": "The Future of Everything Is Lies, I Guess: Where Do We Go from Here?"}, {"id": 764193264, "item_id": 47762079, "url": "https://news.ycombinator.com/item?id=47762079", "by": "gucci-on-fleek", "date": "2026-04-13", "version": null, "stance": "neutral", "quote": "add a mandatory delimiter as suggested by The TeXbook", "excerpt": "Most of these suggestions are pretty good, but a few of them are questionable: 1. Using xspace is generally a bad idea since it's unpredictable [0]. My personal preference is to add a mandatory delimiter as suggested by The TeXbook: For example, the author might have said \\def\\TeX/{...} instead of defining \\TeX without the slash. Then it would be necessary to type \\TeX/ each time the TeX logo is desired, but the new ", "context": "", "use_case": "Typesetting", "switched_from": "", "story": "Little LaTeX Pearls"}, {"id": 763660912, "item_id": 47728807, "url": "https://news.ycombinator.com/item?id=47728807", "by": "chrisecker", "date": "2026-04-11", "version": null, "stance": "neutral", "quote": "I came from the TeX-Approach where all layout elements are boxes which contain other boxes.", "excerpt": "I came from the TeX-Approach where all layout elements are boxes which contain other boxes. This box-tree is a kind of DOM if you want. But the box-tree only represents the layout, not the data itself. For the data you usually have a separate object. In Word this used to be the piece table structure, now it is probably something else. I described my approach here, if you want to know how and why: https://codeberg.org", "context": "", "use_case": "Typesetting layout model", "switched_from": "", "story": "Show HN: A WYSIWYG word processor in Python"}, {"id": 756435888, "item_id": 47277243, "url": "https://news.ycombinator.com/item?id=47277243", "by": "thangalin", "date": "2026-03-06", "version": null, "stance": "warn", "quote": "I had to rename all the Java source files to abide by the NTSPL license terms", "excerpt": "> it is much easier to write a transpiler for Pascal->C than to rewrite TeX. Asking an LLM to rewrite it in the language-du-jour ... I thought that the combination of the Pascal and Java versions[1] of TeX would be sufficient guidance to produce another language/implementation. > is a huge cost for very little benefit A greenfield Java implementation with an MIT license would have been useful[2] for rendering TeX ins", "context": "", "use_case": "", "switched_from": "", "story": null}, {"id": 745165008, "item_id": 46572813, "url": "https://news.ycombinator.com/item?id=46572813", "by": "aragilar", "date": "2026-01-10", "version": null, "stance": "recommend", "quote": "TeX, via packages and wrappers, can do practically anything.", "excerpt": "There are those that have well defined extension points (e.g. TeX, rst), and those that are ad-hoc, of which the best example is markdown. TeX, via packages and wrappers, can do practically anything. rst has directives (blocks) and interpreted text (inline) which can also effectively do anything (along with substitution references which are more macro-like). Specific \"interpreters\" (for lack of a better term) which y", "context": "", "use_case": "Typesetting documents", "switched_from": "", "story": "How Markdown Took over the World"}, {"id": 743801536, "item_id": 46487596, "url": "https://news.ycombinator.com/item?id=46487596", "by": "gucci-on-fleek", "date": "2026-01-04", "version": null, "stance": "neutral", "quote": "Yup, TeXhax has been around since 1986", "excerpt": "> Surely there exist communities today for LaTeX that have been around since before SO began its life. Yup, TeXhax has been around since 1986 [0], and comp.text.tex has been around since 1983/1990 [1], and both are still somewhat active. [0]: https://www.ctan.org/pkg/texhax [1]: https://tug.org/TUGboat/tb45-3/tb141lucas-usenet.pdf", "context": "", "use_case": "", "switched_from": "", "story": "Total monthly number of StackOverflow questions over time"}, {"id": 742264625, "item_id": 46391539, "url": "https://news.ycombinator.com/item?id=46391539", "by": "Rochus", "date": "2025-12-26", "version": null, "stance": "compare", "quote": "much better language than TeX, but for the other part the typesetting quality is much worse", "excerpt": "Concerning Lua: there are approaches for years to add static typing to Lua, but from my point of view (as a language developer) none was really good when compatibility with Lua on language level (such as TypeScript vs. JavaScript) is a goal. With my own languages I only reused the engine without Lua compatibility, and the resulting language is much better suited for large-scale software engineering. But the approach ", "context": "", "use_case": "", "switched_from": "", "story": "Learn LaTeX in 30 Minutes"}, {"id": 739718656, "item_id": 46232416, "url": "https://news.ycombinator.com/item?id=46232416", "by": "AlanYx", "date": "2025-12-11", "version": null, "stance": "recommend", "quote": "good tool support virtually everywhere for those alternatives, like in TeX", "excerpt": "This is my view as well. That being said, Time New Roman is marginally better because there are several good, modern open source alternatives with the same metrics that can be substituted. And there's good tool support virtually everywhere for those alternatives, like in TeX. There is a metric-compatible open alternative to Calibri (Carlito) but it seems more vulnerable to lawyer shenanigans and doesn't have extensiv", "context": "", "use_case": "Typesetting", "switched_from": "", "story": "Rubio stages font coup: Times New Roman ousts Calibri"}, {"id": 739252497, "item_id": 46203281, "url": "https://news.ycombinator.com/item?id=46203281", "by": "bayesnet", "date": "2025-12-09", "version": null, "stance": "compare", "quote": "the way it interacts with page placement is quite different", "excerpt": "For those interested in typst, Laurenz wrote[0] about the differences between the typst and TeX layout algorithms a while ago. The paragraph layout algorithm is the same but the way it interacts with page placement is quite different. [0]: https://laurmaedje.github.io/posts/layout-models/", "context": "", "use_case": "", "switched_from": "", "story": "Manual: Spaces"}, {"id": 736373536, "item_id": 46023346, "url": "https://news.ycombinator.com/item?id=46023346", "by": "IgorPartola", "date": "2025-11-23", "version": null, "stance": "recommend", "quote": "so if you are looking for stability, look no further", "excerpt": "I am surprised TeX [1] and LaTeX (pronounced tech and lay-tech) are not mentioned in this post. When I was a physics undergrad it was required that we wrote our senior thesis in it as well as any studies we meant to publish. Interestingly, my lab worked closely with a lab from the chemistry department and apparently their standard was MS Word docs. I was given to understand that this setup was fairly universal for bo", "context": "", "use_case": "", "switched_from": "", "story": "Markdown is holding you back"}, {"id": 734824912, "item_id": 45926557, "url": "https://news.ycombinator.com/item?id=45926557", "by": "OisinMoran", "date": "2025-11-14", "version": null, "stance": "recommend", "quote": "I'm a big fan of this implementation [1] of the TeX linebreak algorithm", "excerpt": "If you enjoyed this you'll probably also enjoy \"The Games People Play With Cash Flow\" [0] And for the classic HN comment about the site itself: I think it looks very nice, but the native justification algorithm is not very good (especially with hyphenation turned off) so it ends up looking quite sparse at parts on mobile and is a bit jarring to read. I'm a big fan of this implementation [1] of the TeX linebreak algor", "context": "", "use_case": "", "switched_from": "", "story": "Operating Margins"}, {"id": 732559296, "item_id": 45784956, "url": "https://news.ycombinator.com/item?id=45784956", "by": "sema4hacker", "date": "2025-11-01", "version": null, "stance": "warn", "quote": "See Knuth's extensive bug list for TEX from 1987", "excerpt": "> That handful of code took me almost a year to write. Formatting can be tough. See Knuth's extensive bug list for TEX from 1987 at https://yurichev.com/mirrors/knuth1989.pdf to see the kind of tarpit one can get trapped in.", "context": "", "use_case": "typesetting", "switched_from": "", "story": "The hardest program I've ever written (2015)"}]}