It's a pity it's called "TeXmacs" when, as you say, it really has no connection to TeX (except the ability to typeset mathematics).
Another alternative is LyX, which actually does use LaTeX. Even that is not really a "LaTeX editor" though: it produces/exports excellent LaTeX, and uses that for typesetting, but does pretty poorly at importing LaTeX (as the developers freely admit). Depending on your situation that may or may not be a problem: if you just have to give a journal the final result in LaTeX then you can use LyX to produce it, but if you want to collarboratively work on a paper with someone else who wants to use raw LaTeX then it wouldn't be suitable. I wrote my masters thesis, course notes, and PhD thesis in LyX and would strongly recommend it - although it's a GUI I would argue it has a stronger learning curve than raw LaTeX, but leaves you more productive in the end.
As far as I know, an importer that interprets arbitrary LaTeX cannot exist (i.e. you have to run LaTeX on the file) because the grammar of LaTeX documents is Turing-complete. There is a StackExchange Q&A where this is explained, but I do not understand the arguments ;-)
LaTeX imports and interprets arbitrary LaTeX, so other programs can theoretically do just as well. Importers running up against Halting Problems occur in many document formats, but this is not an issue in practice since most documents are not nefarious, and any importer can (and should) have sensible timeouts for parsing.
No, document formats are not turing complete. HTML for example can be parsed without any problem. However take this TeX snippet "\foo [bar]" and tell me if "bar" is an argument of "foo" or not, without running the macro (which maybe you do not have. This is the basic problem any TeX conversion program encounters. TeX is not a document format but a programming language. The only thing you can do with a TeX program is to run it. On the other hand an HTML document can be parsed without knowing anything about its content.
I once upgraded an EPS interpreter that was used as the key piece of an EPS importer. I added a couple of PS things like 'arcto'. It seems to me a LaTeX importer could work as an interpreter, too. Probably not very much fun after a while.
Graphics is different since usually the graphics primitives are the common substrate of all graphics languages, so the interpreter can just be adapted to a different backend. For more structured content this is not possible: the natural output of TeX is a sequence of graphics boxes for the glyphs, or something like a DVI format. It is too late to retain semantic informations, e.g. about mathematical formula. Ask anybody which writes LaTeX/HTML converters for example. TeXmacs does a good job to interpret "usual" LaTeX files but you cannot expect to be able to interpret arbitrary files and still retain semantic informations, e.g.: sectioning, references, emphasised texts, theorem statements, change of languages (e.g. from English to C++ to Math...) etc...
> For more structured content this is not possible: the natural output of TeX is a sequence of graphics boxes for the glyphs, or something like a DVI format. It is too late to retain semantic informations, e.g. about mathematical formula.
I think this applies to the natural output of TeX's "mouth" as well, i.e. one could exapnd LaTeX macros till one obtains TeX primitives, but at that point the information on structure is already lost.
> LaTeX imports and interprets arbitrary LaTeX, so other programs can theoretically do just as well.
Right, but the output is a typeset document. The fact that LaTeX (the program) can do this is no evidence at all that it would be possible to build a program that converts LaTeX (the format) into some intermediate representation that make sense to a human. For example, assuming that macros are recursively expanded in place, it's possible that there's no clear dividing line between "this is a user macro that should be expanded before exporting" and "this is an internal macro that should not be expanded" (e.g. you probably want to leave "theorem environment" from AMS package unexpanded because that is semantic information you'd want when you edit the document). As another example, what should be a table or equation etc. might end up as individual lines and characters floating around as separate elements on a page.
That makes sense. Also (and I realise this is a bit less deep than undecidable grammar) I've certainly seen LaTeX documents with so many random macros that I don't recognise the content of it at all! I'm sure we've all come across those. I can understand why a program wouldn't stand much of a chance.
Personally I never really needed LaTeX import so I don't really see it as a problem, but I know it matters to some people.
On the "import from LaTeX" Joris van der Hoeven advanced the argument that the impossibility of writing a general import file from LaTeX allows LaTeX to maintain its status as the main document preparation system for scientific articles.
In fact, if you could import arbitrary LaTeX, an user of a different system could collaborate with LaTeX users (probably a form of "conservative conversion" would be necessary for back and forth translation between document formats).
>> It's a pity it's called "TeXmacs" when, as you say, it really has no connection to TeX
Yep. It sounds like something that ties emacs and LaTeX together. That's not something I'd even want to look at, and have not for exactly that reason. My goto math tool is Maxima, but I don't write so typesetting isn't a thing for me - it does support MathML though IIRC.
I understand that "the python programming language" probably doesn't involve snakes. On the other hand, "the TeXmacs math typesetting software" doesn't obviously not involve LaTeX and isn't obviously not for emacs.
It is a bit discomforting seeing that discussion in hackernews just remain at the level of "bad choice of name, btw!" without no technical insights. I would have expected more sensible reactions. TeX and Emacs were initial inspirations to TeXmacs (which has been written in the '90). As such they indeed inform some of the design choices, that said TeXmacs do not conform to them. The Emacs legacy is however very clear: all the editor behaviour is re-programmable in Scheme, from keybindings to menus, to the graphics editor (see here a recent example http://forum.texmacs.cn/t/why-not-draw-circle-by-center-and-...). As for the TeX legacy, TeXmacs actually improves on it by defining a document format while retaining the power of creating user defined macros, it also allows scheme code to be called from macros, since its beginning, 20+ years before LuaTeX. An overview of TeXmacs design can be found here: https://texmacs.github.io/notes/docs/overview.html . I think people nowadays are more used to programs which are epsilon changes over existing systems, repackaged with brand new names. That is why TeXmacs could be puzzling at first. Does not fit usual categories. Maybe this says something of the current trends in (free)software design.
Overleaf has decent tab completion and dozens of templates, as well as limited support for markdown. Let tabnine and copilot get to LaTeX; I think we’ll find the discoverability of “text language on Adderall” outguns GUIs.
> I think we’ll find the discoverability of “text language on Adderall” outguns GUIs
No way. Nothing can outgun typing a parameter into a box rather than the visual clutter of braces (or some other delimiter). What's more, maths notation often involves objects of different sizes, which isn't reflected in any fixed-width text language. Equations in my PhD were often 80% about the subscripts/superscripts if you read the raw LaTeX, with the most important stuff buried away; but when you look at the equation as rendered, or in a GUI, the most important bits are trivial to read off.
> lyx as a hard to get into GUI
I only suggest LyX is hard to get into because some people only get into it at a surface level, which it's actually very easy to get into but then you don't get all the benefits of LaTeX. Best case scenario is you know both LaTeX and how to use LyX, then you can spend 1% of your time writing bits of LaTeX (in the preamble, or using math macros [1], or directly including the odd snippet of raw LaTeX as a last resort (even then put them within an instant preview)) and 99% of your time using the GUI.
My main "for" point towards GUIs is that one is able to read back easily what one wrote. On the other hand, to read comfortably a LaTeX equation I have to compile it; then for editing I have to move my attention back and forth from the compiled document to the source. (corrected a mistype)
It's mainly tables and to some extent figures that are intrinsically harder to read when written in TeX. The bulk of the text is just text, so if that's hard to read that's down to your editor settings.
(by the way the formula may contain some math mistakes---it is supposed to represent interface conditions for a system of waves in a nonlinear optical medium---but it is good enough for showing the editing point)
The obvious objection is that of course most people do use macros. But that's the point: every LaTeX document ends up being its own impenetrable language.
> you don't write complicated mathematical equations quickly if you've got any sense anyway
I don't get this line of reasoning. Writing equations is hard, so what difference does it make if you make it a lot harder? I think the fact it's hard makes it even more important to make it easier to write!
Proofreading / editing (as opposed to writing) is even more severe. When using raw LaTeX, there's absolutely no way you can be sure the equation is right without checking the PDF, so you end up in a slow loop of typesetting (the whole document!), read something for a while, go back to the LaTeX to fix something you've found, spend a while finding where the problem is, etc.; in LyX you're just organically reading and editing the document. If you spot an incorrect subscript, you just click on it and fix it then carry on reading. In raw LaTeX that can 100 times as long, or even longer still if you take into account the context switch of your mind.
I hadn't even considered the potential power of TabNine in LaTeX! That could be a gamechanger for routine stuff.
And I second your endorsement of Overleaf. I had to write a research proposal a few weeks back for work after not touching academic writing for 7 years. Overleaf made the process relatively painless.
Interestingly, the "X" in LyX is not pronounced the same way as the "X" in TeX/LaTeX. Would have been a nice pun, but they probably didn't want to have any "resurrected"/"undead" associations.
OTOH, Wikipedia informs me that "Lich" is actually pronounced "ˈlɪtʃ", so the pun wouldn't have worked anyway. I was pronouncing the "ch" like the one in "Leiche" in German until now. Oh well...
I doubt it, since in academia there are two gods, Word and LaTeX. It is very rare to find journals/conferences who don't specify one template or the other (with the possible exception of ACM, who are a law unto themselves). TexMacs might be OK for final preparation of camera-ready PDFs but by that point you're already invested in Word/LaTeX so there's no point switching typesetter.
I think that there are good points in switching document preparation system. Differently from LaTeX, TeXmacs can be programmed in a sensible way (it uses Scheme), and differently from Word you have access to the source. It is superior enough to both systems that the future standard will work according to the ideas implemented in it, I think.
Writing math in Word has the following disadvantages:
- referencing is a nightmare (this is probably the worst aspect). \label and \ref or \eqref? No, remember the equation number, click the References tab, Cross-Reference, select "equation" from the "Reference type" dropdown list, scroll down to the equation whose number you should remember, click "Insert". Did you add remove/an equation, thereby changing all subsequent equation numbers? Let's hope "Update all fields" works on the first try (hint: it won't).
- AMS math standards, \mathbb{R}, \mathcal{R}? No, \doubleR, \scriptR.
- \bar{x}? No, \bar SPACE SPACE left-arrow x right-arrow.
- \begin{align*}? No, good luck. (Actually I haven't even figured this one out).
- Version control? No, "Track changes". Oh, you changed a subscript or superscript? Your file is corrupted and cannot be saved, Ctrl-z until you can save and hope you remember all your changes.
- Seamless math typing if you are fast and proficient at LaTeX? No, Alt+= and hold on while I catch up. Did you go too fast? Sorry, Word has stopped responding. (This is a real problem in a 50+ page Word document full of math.)
Those are just the ones off the top of my head.
+1 for TeXmacs being superior to both Word and LaTeX. After using LaTeX for years I tried TeXmacs for a week and never looked back.
The secret is to revert back to Draft/Normal mode and abandon the performance regressions from print preview mode. Word was never designed to use that as the primary editing view.
It's also just a tiny subset of LaTeX commands and not real LaTeX. I use the bm package to make things bold and I can't use that in Word. It doesn't support \begin{} and \end{} for any environment so for stuff like matrices you need to use special Word syntax \matrix{}.
The math equations made by Word have a distinctive appearance. Partly because they’re objectively worse in some (a few) aspects, partly because people associate them with Word, the result feels amateurish. This isn’t purely an intrinsic technical quality of Word, it’s just how the cookie crumbles.
> The math equations made by Word have a distinctive appearance.
Try and use the GUST fonts (http://www.gust.org.pl/projects/e-foundry), Microsoft Word equations will look then excellently made.
The last time I used the GUST fonts, by the way, I was able to export Word documents to pdf only be printing, as using the pdf converter some glyphs would "lose pieces"; and exporting via printing I would lose the clickable links. But I did not try with the Word plugin for the latest versions of Acrobat.
In TeXmacs, switching between math and non-math mode while writing up a document is seamless and fast. Moreover, typesetting quality is comparable to TeX/LaTeX.
You do not know what are you talking about clearly. What is "this powerhosrse difference"? What in your opinion is possible with one tool but not with the other?
See: https://www.texmacs.org/tmweb/home/videos.en.html