Ask HN: Did TeXmacs' doubly misleading name hold it back for 20 years?

37 points by amichail ↗ HN
TeXmacs is not based on TeX nor emacs. It is merely inspired by both.

Do you think the doubly misleading name has held back this WYSIWYG scientific editor with quality comparable to TeX/LaTeX for two decades?

60 comments

[ 2.2 ms ] story [ 122 ms ] thread
> not based on TeX nor emacs

i'd could also see the name implying connection to Mexican food or Macintosh computers.

TeXmex - the telnet alternative or American fusion food!
The “not based” means that it does not uses those programs, not that it is not inspired by them.
Wow, yep. I’d heard of it, and due to the name I never even bothered to look at it til seeing this post. Looks like amazing software.
Compare TeXmacs and LyX as visual scientific writing applications.

I have dipped my toe into TeXmacs (and bought a copy of The Jolly Writer to support the project). Basically you can walk up, bang out a couple of pages with text, mathematics, diagrams and (say) R script output nicely typeset and save as PDF or whatever. Ideal for quick papers and such.

TeXmacs does need a few processor cycles compared with LyX but you won't notice battery drain unduly on anything post Core Duo.

Addressing the actual question: I think a tag line like 'your libre scientific wordprocessor' would help.

I prefer using TeXstudio as a TeX editor. Naturally, I thought that TeXmacs is the pendant in Emacs.

Up to this point it did not occur to me that TeXmacs is _not_ using TeX at all.

I guess that I am not alone with that thought. Does it use Emacs, then?

It doesn't use emacs either. It is only inspired by it.
One could argue that it is held back by not being based on TeX (depends on how good the export is) and emacs (probably).
Here as far as I understand the fact that TeX is a Turing-complete language makes it impossible to write a converter for TeX. I read a post by Joris van der Hoeven where he said that TeX held back every other program by making it impossible to write converters. I did not find that post so I link to

https://news.ycombinator.com/item?id=27604311

where he talks about the same issue.

> Here as far as I understand the fact that TeX is a Turing-complete language makes it impossible to write a converter for TeX.

Converters whose source, target, or both are Turing complete languages are... not uncommon in computing.

The exporter is very good. There is also an importer, which can import latex. It can import almost all standard latex macros one to one.

You can convert org-mode files into texmacs files by exporting to latex and then importing the latex into texmacs.

Emacs cannot render latex with such quality even with image previews. Trust me, I'm using Emacs.

The typesetting algorithm is based on TeX, but it is a custom rewrite with tweaks afaik.

There are interfaces to python, maxima, octave, matlab, asymptote, graphviz, sympy etc. that let you type the code into the buffer and see the graphical output of those programs, i.e. figures. Similar to a notebook. Texmacs can typeset the symbolic equations that you get from maxima, so you don't have to see the source code with code syntax but the result a rendered equation. Does emacs have a repl that returns rendered equations?

It is also possible to use the python, maxima, etc. plugins to evaluate expressions in the body of your text in a texmacs file.

You can create presentations with animations with interactive code sessions and typeset all the math in the presentation with the algorithm derived from TeX.

The main implementation uses gnu guile as an extension language, thus if you like Emacs lisp you will get along with texmacs too.

You can link texmacs files together and create a wiki structure (think org-mode links etc.) and you can export this structure into HTML. This allows you to write a website in texmacs and then export it into HTML with your custom css.

You can typesetting algorithms in the same manner as with the algorithm* packages of latex, but with realtime rendering without having to recompile or guess the layout.

Texmacs also offers Emacs like keybindings so that you can open files with C-x C-f, move the cursor with C-f, C-b, C-n, C-p and other Emacs like bindings.

The name doesn't help, but while it may produce output out of the box that looks as good as LaTeX, the website also doesn't directly answer another question which matters to people who need to do typesetting things with it that have been solved by others: the huge package ecosystem of LaTeX (and the batteries-included distributions like TeX Live).
Bingo.

I usually need to lean relatively hard on CTAN, and if you’ve got a niche tool with better UX but no widespread adoption in a very entrenched user base, you’re not going to take over.

when i want “texmacs”, i use the other GNU tools: https://www.gnu.org/software/auctex/ , emacs, and pdf-tools.

> if you’ve got a niche tool with better UX but no widespread adoption in a very entrenched user base, you’re not going to take over

Yet I think that it is necessary to keep promoting TeXmacs, a niche yet nice tool, as the shortcomings of TeX are significant and I think we need a better took for document preparation.

Auctex, emacs and pdf-tools are good tools. I still use them. But you either compile LaTeX often, which gets very tedious once the compile time gets longer for larger documents, or you can get a confusing error message from LaTeX that takes you half an hour to deciper. That is my experience. Texmacs does the job of all of those tools better, except for Emacs, because Texmacs is not yet as big as Emacs, but it has more potential.
> But you either compile LaTeX often, which gets very tedious once the compile time gets longer for larger documents, or you can get a confusing error message from LaTeX that takes you half an hour to deciper. That is my experience.

have you played with rubber or latexmk?

> Texmacs does the job of all of those tools better

except for the “standard library” of the latex/tex/ctan world and vast seas of dependent work in the ecosystem, which i don’t believe it addresses at all, but is the main thrust of my original post.

I don't know what software you are using but, latexmk on my machine takes at least 30seconds to compile a 40 page document with 164 equations and 46 images. Texmacs doesn't have to, it just does the rendering incrementally, references get updated when you insert a new one. You can call an update on the whole buffer, which you normally don't have to, and it updates the same document in less than 6 seconds.

Some important LaTeX packages have workarounds or direct support. For example, you can still render your Tikz images in Texmacs, there is a Tikz repl, but afaik it needs some work. Or just import them as pdf and write the rest of the document in Texmacs.

You can customize the typsetting macros just by altering the texmacs file preamble, similar to how latex has a preamble, so do texmacs files.

No tool will have a standard library as big as TeX/LaTeX when it is created, if that is the bar you set for new software, then you will use TeX forever. That is fine, but maybe better tools can be created, they just require some investment.

post-coffee, it occurred to me that i do have an alternative setup for authoring latex documents that greatly reduces my time spent writing latex — it’s org mode. I can hammer in some raw latex the way you can inline html in markdown, if i have to, but for the most part i don’t need to.

someone once described this to me as “treating latex as the IR” which seems relatively correct; for me, it’s a nice way to square the circle of “i want *.tex eventually, but i’d like to write it without as much fuss”.

> No tool will have a standard library as big as TeX/LaTeX when it is created, if that is the bar you set for new software, then you will use TeX forever.

TeXmacs isn’t new software that was just created, though.

I would really like to have names of packages you use regularly and you think you will miss in any other system. I can think only of TikZ, and again, for targeted purposes like DSL you can always ask TeXmacs to run LaTeX and get the output. See e.g. https://twitter.com/gnu_texmacs/status/1605167149173153793
This is not our experience as TeXmacs users. 90% of the time you are always using the same features, which are well implemented in TeXmacs. Maybe you can show me some of your documents which require TeX, so that I can understand the uses cases you think about. If you look at documents on arXiv there is no reason not to use it. Of course TeXmacs will never take over but it allows us to focus on the content and not on writing TeX. Time gained for more productive tasks with no backside. I guess people praising LaTeX should give explicit examples of what they mean by "huge package ecosystem", in the sense of a measure of how many of those packages are really used by 80% of the scientific community. And btw, TeXmacs can just run TikZ fine, if you really need it. https://twitter.com/gnu_texmacs/status/1509200571537973255
Yes. I always thought it was a mode for emacs.
no shit, but thank you for the unnecessary clarification
looking at some other comments in this thread and also to my experience, it not unnecessary clarification in the large. I'm glad you just were doing some humor. :)
It's really hard to say.

Producing documents for publication is a big part of the reason for using software like TeX, both because of its capabilities and requirements of the publisher. Given the audience of TeXmacs appears similar to that of TeX, in terms of capabilities but not the requirements of publishers, it was not terribly appealing to a wide audience and a significant factor holding it back for its specialized audience.

That said, the name did encourage me to at least look at it back in my university days (a very long time ago). When I found that it was not a front-end for TeX, I simply moved on.

What about for producing documents not for publication such as writing up assignments, lecture notes, personal/research notes, etc.?
TeX is a typesetting language. Like Postscript. There is no particular reasons humans need to write it. That is the reason LaTeX was invented (and Context). We need formats, like PDF or HTML, to exchange and reliably use informations and describe documents. TeXmacs is a document preparation system from the UI to all the other things needed, in one place, in a uniform architecture. It has its own internal format and it exports to TeX/LaTeX as it can export to HTML or PDF. Publishers do not need TeX to store documents, indeed TeX is no a particularly good way to store data. It is what it is: a typesetting language, not a document description format. So I do not see any conflicts between using TeXmacs and then sending a TeX file to the editor. Anyway in most of the cases them (or nowadays most likely you) need to reformat it to the standards of the particular journal. I (and many others, including the main author of TeXmacs) work in academia and I have no problem using TeXmacs everyday to do my work and then send to the publisher a nice LaTeX file, which I do not have to edit by hand. I'm (mostly) TeX/LaTeX free since 2006 and very happy about this.
When I used to use TeXmacs I would have annoying glitches to the point where I just called back to TeX with regular Emacs. I think its general clunkyness really held it back. The problem now is that people still use regular Emacs and share the TeX file locally or use a service like overleaf that allows for collaboration online. TeXmacs in my opinion tried to solve a problem for a small subset of users that it didn't really catch on.
I'm not sure what are you referring to. TeXmacs is used everyday by many people, at lest 3/4 of my students wrote their PhD thesis with it, some of them enterely, other the initial draft. All my papers are written with it, lecture notes, presentations, letters. My experience is the same of many other people. Even comparning TeXmacs with AucTeX+Emacs is misleading. Totally different user experience. TeXmacs does not have yet a fully stable collaborative functionality, but the functionality is there and it experimentally work. Maybe one day will be completed and you will not need to rely on a central server to use it, just fire up a TeXmacs instance to be the server and connect the others: https://mobile.twitter.com/gnu_texmacs/status/13910657725338... So, slowly, but we will be there too. :)
I honestly thought the “Mac” was a reference to Apple computers and thought it was a Mac-only application.

To be more specific, I thought it was a Mac utility for creating formulas in latex.

Things that are great usually come through anyway. Is that too optimistic? If you think Texmacs is great, maybe it also has come over a threshold to greatness - it wasn't there for all of the past 20 years(?) Things such as your outreach in this post is what's needed for a great program to become more well known.

My spontaneous feeling is that it's very upsetting that it has TeX in the name but does not use Tex or Latex.

Installing it sucks. Once I got through that hurdle I liked it. However, I do think most people won't bother if the executable downloaded from the main website just doesn't run.
You can just pick the AppImage if you like Linux. No installation needed. If you are on Mac, then you just need to give permission to run the software, it is not a specific problem of TeXmacs, it happens because TeXmacs executable are not signed. There are many reason you can turn down a software. any software. The point is: to whom are you making a favour? :) TeXmacs is free and make you save a lot of time. So I would say it is worth to spend a bit of it learning to use it properly. To be effective it require you to unlearn some LaTeX habits. But again, it is up to you. What I think is unfair is to deduce from these features that it is not a useful piece of software.
On the other hand if something (in this case ease of installation) helps people to use the tool, then it helps TeXmacs too, which in turn helps users.
How does it not use LaTeX? It imports and exports LaTeX, which is a way of using LaTeX. It’s a useful tool in the LaTeX ecosystem.
He means that the equations in the TeXmacs buffer are not rendered by LaTeX and imported as images (as in Emacs), but by TeXmacs.

You can edit each part of the rendered equation in realtime, without having to write source code as in LaTeX, similar to MSWord, but with the typesetting quality of LaTeX and with the movement keys of Emacs.

I don't use it, so I don't know.

This is how texmacs describe it themselves: “Converters exist for TeX/LaTeX and Html/Mathml. Notice that TeXmacs is not based on TeX/LaTeX.”

To me that sounds like a tool that is not for working with Latex, but it can convert in a pinch. It's a different category, it's own thing. Fine, but not Tex/Latex.

The “Limitations of the TeXmacs to LaTeX converter” from their webpage sound pretty severe, aligns with this view.

It was a rhetorical question. I understand how TeXmacs works.

It does use LaTeX: it contains a usable LaTeX importer/exporter. Yes, the importer and exporter aren’t perfect, but they are used in a nontrivial capacity nevertheless. LaTeX is such an integral part of the research workflow for so many academics that leaving it behind entirely is not an option. So instead many people use TeXmacs to generate LaTeX for submission e.g. to a journal. To me, this means that it is a LaTeX tool. Maybe this is not exactly the intended use case, but here we are.

The phrase "it uses LaTeX" means that it runs the program LaTeX or that it need the "LaTeX format". Neither is true. Similarly you would say that "PanDoc uses Word?" or that a program that export to Word use Word. To me if you want to say that a program exports to a particular format just say so. If you want to say that a program needs a working installation of another program Y to work then you can say "it uses Y". So I think it is not correct to say that TeXmacs uses LaTeX. It can import/export it, like it can export/import PDF, HTML and other formats. TeXmacs does not need a working LateX installation to work. It comes with all its batteries included and on the Mac the app weight < 150 MB. That's all you need (including the LaTeX importer/exporter which is written in Scheme).
Part of the problem is that LaTeX is meant in multiple senses: there is the LaTeX installation along with all relevant programs, and then there is the LaTeX format/programming language. When I say I "use C", it means that I write C programs. In this sense, TeXmacs does use (the) LaTeX (programming language). It includes Scheme code which translates the internal TeXmacs format to LaTeX for obvious and extremely useful reasons. To me that means it uses LaTeX. YMMV.
Not to mention JavaScript, then :)
Exactly, the same kind of name problem.
how do you mean 'held back'? do you think quality wise? i think its entirely possible that the developers dont care if its popular or not. they know its great and dont feel the need to market it too much
If this is a problem, no one told Javascript
It was a problem, but everyone was forced to put up with Javascript anyway, and here we are...
Not disagreeing but here’s another lens. Applies to TeX as well.

“Java” in javascript kinda meant “modern computer programming” to the audience, in a very very inaccurate and zeitgeist-hype-train way.

People who thought “oh yeah, I’ve heard of java, and scripting sounds easier than programming,” looked into it.

ECMA wasn’t a thing yet, but it might have sounded like a skincare product to those same ears, or something that required college. The buzzwords worked.

> ECMA wasn’t a thing yet

ECMA is much older than JS.

ECMAScript wasn’t a thing yet, I think you mean.

You are correct, my friend
I think I need to give it a second try now that I read the comments.

I usually work with TexWorks or texstudio.

That is a good point. Maybe... I know I didn't look at it because I thought it was an emacs fork like XEmacs.
I definitely saw the "macs" bit and never gave it a second thought.