I’m not trying to flame, I just have no idea why anyone would choose to use it over html/css or just a word processor.
Is it really a problem that requires manually writing the code? Seems like there should be more elegant solutions by this point.
The problem with wysiwyg word processors is that people get creative and it's very difficult to enforce the same style for all the material.
- I can use my text editor of choice
- I don't have to worry about messing with the formatting by accident
- It goes through git easily
Anything shorter and I just use a word processor, it's not worth the time messing with the boilerplate.
I do use it for writing letters - I have a template I just fill out and it spits out a nicely formatted letter with an envelope.
It's also handy for when I need documents in multiple languages - you can make one change to the formatting and it changes them all.
LaTeX works out amazingly for two very specific use cases: 1) Large, collaborative documents and 2) producing the exact same, highly structured print document over and over. I have pretty extensive experience with the second use case.
When I was Secretary for a non-profit organization, I had an entire little personal library of macros that sat on top of the minutes[1] package. I could open an empty text file, type in \attendee{Name} as people arrived. Type in \maketitle and do a quick preview and the document would instantly build out a front page that included if we had quorum or not, etc. I typed the document exactly as the meeting happened while marking up things like tasks (and who they're assigned to), decisions made (with voting tallies and who motioned what), and so on.
All that data would get duplicated to the end of the document in nice lists for quick reference. It had consistent formatting. The build system (a make file and latexmk iirc) would wrap my new file in the basic boilerplate and spit out the PDF for me to email. I consistently had the meeting minutes published an hour after every meeting whereas my predecessors often took 24 hours or more to publish meeting minutes due to Word being Word. Those documents also lacked a table of contents or the various appendices with summary data.
That said, there were things that I tended to avoid doing, like complex tables or something. There's something to be said for staying inside the box of what comes built into LaTeX. I recall giving up with floating an image to the left of a table on our title page and just plopping the image inline in a horizontally centered paragraph and then putting the rest of the title content beneath it.
Also, many documentation frameworks (sphinx comes to mind) use LaTeX under the covers to produce their PDF output. So you might think you're just using markdown or RST, but somewhere someone is converting that to LaTex or TeX in order to leverage a very good typesetting engine.
- The way I conceptualize it, LaTeX is a word processor. So, for example, if I'm writing a rec letter and I choose LaTeX over Word, I'm thinking "I like this word processor better than that one."
- LaTeX/PDF is often criticized for being static, but in my experience, this is a good thing in most cases. If I am discussing the contents of a file with someone else, it is useful if we are both looking at exactly the same thing.
- I don't try to do any significant programming, or extensive customization of how my documents look. I agree that trying to do so would be annoying, but this is not part of my use case. If you look at a random selection of math papers, say here
https://arxiv.org/list/math/new
you'll notice that all of them look more or less identical.
And you're right, single file HTML with embedded images would be a much better format, but I assume publishers are preventing this.
Or use epub, which lets you store the images as part of the zip archive without having to store binary files as bloated and text editor killing base64 text.
Writing anything with complicated mathematical typesetting, for one; their have been improvements in word processors and thinks like MathML/MathJax, but they are still behind.
Works pretty well for autogenerated docs with more going on than is easy in Markdown, also - but that's often a bit of a wash.
I have various custom C++ programs to generate the puzzles. But, getting the results to a formatted PDF was nearly impossible.
I use LaTeX as I can have my C++ program output a text file which, when compiled with LaTeX, creates the pretty puzzle books.
Essentially, I can press a button and “poof” I have a print-ready puzzle book ready to go up on Amazon.
HTML is not an authoring tool. Maybe pandoc or sphinx or other system would compete.
I mean, look at this abhorrence. And look at what you open up in a TeX file, which again is meant to represent English prose.
% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
%
\documentclass[
]{article}
\usepackage{amsmath,amssymb}
\usepackage{lmodern}
\usepackage{iftex}
\ifPDFTeX
... and more and more of this dross ...
I want to get stuck into the article. At least show me my abstract. But no. It's just more and more backslashes.It's just vile. And the people who use it have Stockholm syndrome, and they pass it on to their PhD students who spend nights before their presentation at 2am, trying to align a table and crying. Then they have Stockholm syndrome too, and they tell you "it's pronounced LARTECH" and give themselves a little pat on the back.
And here's an equation:
\sigma _{I}^{2}=a^{2}s^{2}+\left( 1-a\right)^{2}S^{2}+2a\left( 1-a\right)\sigma.
How are you supposed to manipulate that? I can open up a WYSIWYG editor and literally do maths by just copy-pasting parts from one side to another. But this, I can't even read, let alone intuit.TeX. It's the worst.
This is really solved by the graphical equation editor in LyX. I wrote my master's thesis and PhD thesis using it, having previously written an undergrad thesis in raw LaTeX. When I switched, I was part way through writing up notes for a masters course and ended up rewriting them in LyX (sadly its LaTeX import is terrible). I found that I was able to write notes faster by a factor of 3! And I honestly was no LaTeX novice, it just really is less efficient. I shudder to imagine how long I would've spent on my PhD thesis without LyX.
The mistake people make with LyX is assuming it is for beginners trying to avoid LaTeX (and it does partly market itself that way). I consider it the opposite: it's best suited to those who already fully understand LaTeX. You still need to dip into it occasionally to edit the preamble or stick in the odd little snippet of manual LaTeX (that's ERT in LyX terminology). And while typesetting errors are much rarer with LyX (it's much harder to forget a closing brace when you don't put them in in the first place), when they do occur it's because something has gone really wrong so you better know what's going on.
I'd write the above expression as the following:
\sigma_I^2 = a^2 s^2 + (1-a)^2 S^2 + 2a(1-a) \sigma
The only thing you need to know to understand it conceptually is `_ -> move next character down`, `^ -> move next character up`.
I mostly write in Word and I can tell you that it is not that much better than LaTeX. Sure, the editor is WYSIWYG so you can see right away the title, abstract, text, etc.
The problems I have with Word are mostly solved in LaTeX. For example, references are automatically managed in LaTeX. In Word, that's mostly a manual process (I know there are integrations with Zotero/Mendeley/whatever, but those are a little wonky on a long paper---I have never used the built-in citation manager). I sometimes feel bad for the editors that have to check all my reference lists. They usually find 1-2 papers that are either missing or included and no longer cited.
Tables are also a problem in Word, especially if your collaborators use an older version that breaks the formatting (Moving between Google Docs -> Word -> Google Docs also breaks a lot of things). I can't tell you how many times I had to reformat tables that a collaborator broke. Making complex tables is also wack sometimes, like adding a simple sub-rule between cells requires some column hacks in Word.
Table/figure numbering is also another thing that I loathe in Word. Manually renumbering is a pain and the automatic numbering always breaks for me in a way or another (maybe still thanks to my collaborators).
All those things work pretty well in LaTeX with some backslash commands.
What Word really shines is track changes and commenting. I don't know if there is a LaTeX editor where you can track changes and comments like in Word (I know that Overleaf has something that kind of works).
Powerpoint vs. Beamer is a whole different ball of wax. Both have pros and cons. But with presentations with a lot of equations, beamer is definitely better but, as you point out, it doesn't play well when you want to put an equation in a specific spot in the slide. In powerpoint, you can just click and drag and you are done.
You know how people make animations in Beamer?
They write the same picture on multiple slides and then flip through the slides really fast. Like drawing flipbook pictures as a kid.
This, with computers thousands of times more powerful than what took us to the moon.
I wish someone would integrate this into pandoc so I could use it in rmarkdown.
For more complex equations people use line breaks and indentations, and/or macros.
https://jasomill.at/metric.pdf
produced with
\begin{align*}
f^*(dx& \otimes dx + dy \otimes dy + dz \otimes dz)\\
=&\ f^*(dx \otimes dx) + f^*(dy \otimes dy) + f^*(dz \otimes dz)\\
=&\ d(f^*x) \otimes d(f^*x) + d(f^*y) \otimes d(f^*y) + d(f^*z) \otimes d(f^*z)\\
=&\ d(x \circ f) \otimes d(x \circ f) + d(y \circ f) \otimes d(y \circ f) + d(z \circ f) \otimes d(z \circ f)\\
=&\ df^1 \otimes df^1 + df^2 \otimes df^2 + df^3 \otimes df^3\\
=&\ \left(\pdFOneU du + \pdFOneV dv\right) \otimes \left(\pdFOneU du + \pdFOneV dv\right)\\
+&\ \left(\pdFTwoU du + \pdFTwoV dv\right) \otimes \left(\pdFTwoU du + \pdFTwoV dv\right)\\
+&\ \left(\pdFThreeU du + \pdFThreeV dv\right) \otimes \left(\pdFThreeU du + \pdFThreeV dv\right)\\
=&\ \left(\gOneOne\right) du \otimes du\\
+&\ \left(\gOneTwo\right) \left(du \otimes dv + dv \otimes du\right)\\
+&\ \left(\gTwoTwo\right) dv \otimes dv.
\end{align*}
(note that, using my editor defaults, none of this equation's lines are truncated or wrapped)The \g... and \pdF... are trivial ad hoc macros defined in the document. Producing the same document by repeatedly copy/pasting the tensor components and partial derivatives would have been considerably more time-consuming and error-prone.
Also notable is the align environment: type \\ for a manual line break and & at each point that is to be aligned.
I just tried to reproduce this with the "WYSIWYG" equation editor in Word, and I can't figure out how to do it — right-clicking on plus and equal signs gives an "Align at this Character" option, but this appears to be a special case, as the option doesn't appear when clicking on anything else in the example.
In particular, had the first line involved (implied) multiplication instead of addition, there apparently wouldn't be any acceptable point to declare alignment!?!
I'm also not sure what it means to align "at" a character, as characters have width, and characters to be aligned aren't necessarily the same width. Does it align the left sides? The right sides? The center?
Moreover, the default key bindings in the Word equation editor are counterintuitive: the usual binding for "manual line break" instead splits the equation in two and there doesn't appear to be any default binding for the "Insert Manual Break" equation editor command at all.
Sure, LaTeX has a learning curve, but it's not at all obvious to me that Word is any better in this respect.
(Plain)TeX always seems the opposite of this. There is never a keyword that does what you want, but you can always do it by using five different mechanisms in concert. You always feel like you are trying to trick the system into doing something it was not designed for.
This is one of the hallmarks of human civilization.
Your hands were designed for throwing a stone at the eye of a mammoth. But you can play the violin with them! Yes; it is totally awkward and anti-natural for your hands, obviously not their intended purpose... but so beautiful!
No, they weren't designed at all.
And utility in fine as well as gross manipulation of the type you describe is clearly part of what they were selected (not designed) for.
> But you can play the violin with them
Violins, unlike human hands, were designed, and specifically for people with human hands to use. They aren't just something existing outside of humans in nature that hands happen to work with.
So, it's not at all surprising that they can be used with human hands.
This is one of the hallmarks of evolution.
How do you think wings evolved? By repurposing an appendage that was already had a purpose other than flight.
This is not true of a violin, which is of cause the product of intelligent design and is designed to fit our hands, no Awkwardness intended. Though naturally there are constraints dictated by the physics of the sound generation.
LaTeX makes it difficult to compose stuff. Even HTML did this better.
LaTeX is a cool idea, but the implementation? Absolutely horrid.
and slow. Most of the time the idiomatic pandas answer takes advantage of its vectorization capabilities while plain python would require nested loops.
My conclusion is that I rather like the opinionated take of python. It might take a liiiiittle bit of a learning curve, but you do come to appreciate the zen of choices they've arrived at after a few decades of going at it.
Clearly you haven't seen https://github.com/mscroggs/realhats
[OT] Concerning "programming is about assembling composable parts": I always find both sad and ridiculous when self-proclaimed software developers bash Unix because they are not able to appreciate its philosophy.
A monolith can be just as composable if not more, with a much “stronger glue” in the form of language-mandated guarantees. Also, sometimes doing multiple things well is the better direction — IPC is additional complexity and essential complexity can’t be decomposed.
TeXmacs is WYSIWYG scientific editing platform. Documents created can be saved in TeXmacs, Xml, Scheme, PDF or Postscript. Converters exist for TeX/LaTeX and HTML/MathML. It can also be used as a graphical front-end for other computer algebra, numerical analysis, statistics software[1].
An important thing for me was having context-aware keyboard shortcuts (that are barely possible in LyX).
Another cool thing that seems to be possible that I plan on exploring next is integrating math typing in TeXmacs with sympy and or Maxima. This would allow symbolic manipulation using the above packages directly in TeXmacs.
Seems to be about the worst name they could have chosen then
Some pointers here: Papers: - https://arxiv.org/abs/2004.09637 - https://arxiv.org/abs/2112.05562 - https://arxiv.org/abs/2107.12115 Lecture notes: - https://www.iam.uni-bonn.de/abteilung-gubinelli/teaching/sto... Online lectures with TeXmacs: - https://www.youtube.com/watch?v=FL50D2PpswE&t=4990s
The WYSIWYG aspect of TeXmacs was crucial for me because I was able to "think about math" while working on the PC. When doing things in LaTeX I always found myself thinking on paper and then writing down in TeX.
I personally believe that "thinking on paper" is still better for me at the starting stage of mathematical research. However, once the outline of the proof was clear and I needed to clean up details and to write technical proofs then working directly on the PC helped a lot
Another fantastic feature of TeXmacs is the "preview on hover" package. If you have a reference to an equation and you put your mouse over it, TeXmacs can show you the equation in a popup. This was very important when I was going over the draft once I have written the proofs and when checking for correctness. I have hundreds of numbered equations and checking that I was citing the correct bound in a proof of a lemma was made much easier by this feature. Before passing to TeXmacs I tried to find way to do this efficiently using LaTeX. Intrestingly enough very few PDF's have a "breadcrumbs" feature for you to be able to jump to a reference and then go "back" to your previous position in the paper. The closest I came was Emacs+Auctex+preview. Since Emacs is scriptable and already has the notion of "mark ring" that is essentially the "breadcrumb" feature, that helped a lot.
TeXmacs also has some shortcomings. While it is written in Scheme, I found discoverability and documentation lacking. However, there is a very friendly community of people that are very active on the forum. Any question I had about how to do something was usually answered in at most a day. This is actually great because the "basics" that one needs to work immediately are actually well documented. The things that are hidden are more advanced features. For example, there is math folding [2] that I accidentally discovered browsing the menus and then figured/asked on the forums. I had to ask about how to remove sub-sub-sections from the TOC [3] but, to be fair, even in LaTeX you cannot figure it out unless you know the macro.
The thing that I miss most from Emacs is the "self-documenting" nature of all the Lisp (Scheme in the case of TeXmacs) code and functions and the somewhat quirky search/replace functionality in TeXmacs. Honestly, the regexp search and replace (especially with a visual help package) in emacs was very powerful. But I believe the community is actively working on the former.
LateX's successor should be opinionated, safe, easy to build in parallel, and also good at integrating with other tooling:
Let a CAS generate the next equation for you, for example.
Make sure that figure is never out of date (e.g. a build system rather than relying on a web of files and button clicks)
Etc.
This will likely never happen because latex is still very good at what people want it to do push comes to shove, but we could have a much better document format and publishing system around it.
[1] See, e.g., https://github.com/tmolteno/SympyTeX/
For anyone with a software background, this is pretty straightforward - once you start thinking of the latex file(s) as source code rather than the document, it's a short jump to setting up a build environment...
I don't know that this is the major pain point. The thing is, writing complex-structure/programmed documents is not something which needs immediate re-rendering with every character - just like you don't recompile your program with every character you change.
This would, however, be very useful for syntax and compiler-detectable error. You would have an effectively-immediate indication of warnings and errors per line in your document, like an IDE. So it would be Java-like compilation speed rather than C++-like compilation speed...
> safe
LaTeX programming is basically sandboxed, or at least you have to work _very_ hard to do dangerous things.
> latex is still very good at what people want it to do
That's not it. It is actually usually pretty bad in doing what we want it to do (e.g. tables. Oh, the pain!) ... but what it has going for it is that you can do almost anything you want?: It will take effort and the "source code" will be ugly, but it'll work.
TeXmacs (http://www.texmacs.org/ and http://forum.texmacs.cn/), and it happens right now!
I've never truly immersed myself in it so maybe it's more powerfully elegant than I remember.
Sure, it might be marginally better than just using Word, although - not that much; and it’s horrible to debug, it’s horrible to actually automate, it’s horrible to actually “separate content from style”…
I thought that maybe something is wrong with me and over time it will “click”… it never did.
But, this article made it click. (but that’s after I already got my degree…)
http://www.danielallington.net/2016/09/the-latex-fetish/
LaTeX is not actually good for writing papers.
It’s good for typesetting. And that’s it. It’s good as a type-setting program, that’s what it is meant to be. It’s definitely not good for separating content from style, or some kind of meta-automation or macros.
For STEM classes, the LaTeX defaults are perfect, and I can insert tables and images and such that can be in flux over the course of writing the report, importing then from external scripts that part of my data analysis.
LaTeX only gets hairy when you start trying to fight it. If you want some that looks exactly as you imagine it, you're going to be fighting an uphill battle trying to specify exactly what you want, and constantly re-compiling. If instead, you just care about a clean, consistent, and presentable end product, then LaTeX gets you there with minimal fuss.
'fighting' as you describe it is the reason why people use latex. They want more fine grained control over the doc.
I work in STEM, every publisher has their own formatting style. My pubs would get rejected if I submitted a default style.
What you're describing is, in essence, using MS Word with defaults. Might as well use Word.
It's like writing an article about how walking is much faster than cycling, because 'I tried cycling once and fell over, so clearly all those fetishists are wrong, the suckers'.
Once you enter the area of strange formatting, chars typed by who knows either a cat walking on the keyboard or sleep deprived student typing madly, fixing these in a binary format is a real PITA. Lyx/LaTex text formats are trivial to grep, diff, etc.
Today I would probably start and try to stay as long as possible in Markdown, then reformat it at the very end.
Hey btw, I'm looking for contract work! https://github.com/1player/resume/blob/master/resume.pdf
Fun fact: the article was written in Markdown, with some front matter for metadata!
[0] https://tex.stackexchange.com/questions/247524/do-i-risk-bre...
My suggestion was to use Pandoc to create a LaTeX document. You can easily tell it to use RevTeX or any style required by a journal. The only friction with my approach is when you need to work with coauthors or editors on revisions.
EDIT: I think I caused some confusion due to my sloppiness. I should have written “constrained to only writing in LaTeX”.
I'd really like to get to know plain TeX a bit better, but I've got no idea where to start.
I also found A Beginner's Book of TeX by Raymond Seroul and Silvio Levy helpful as a quick reference.
Also I have an anti-recommendation for Knuth's TeXBook. I did not find this book helpful at all- too much information buried in exercises (which I don't think is appropriate for a reference), and not enough directly said on how to do useful things. Figure out how to make a table of contents using only the TeXBook..
Maybe in another life...
You are still left with formatting equations, but Word lets us use Latex-ish syntax for that now, so you can keep the fine control of Latex within the GUI context.
Don't get me wrong, I hate Word, but it is required in many environments. Adopting a rational use strategy helps a bit.
This is of course only an anecdote, but I know many people who started in word, gave up on it and moved to Tex/Latex, but nobody who went the other way (that is to say, I know people who tried to give up on Tex, but eventually went back - not anyone who actually published with it). This might have quite a bit to do with subject matter - Word has always been an awkward fit for mathematics.
Ultimately, I think wrestling with LaTeX is kind of like wrestling with programming. Over time, you just have to develop that sense of radar that tells you when you are over-implementing. In programming, it's the choice of whether to write custom or hunt for a library, or at a higher level, the build-vs-buy question. For LaTeX, it's whether to wrestle with custom commands or just search its stack exchange or hunt for a package. It's still easy to go down the wrong rabbit hole - last time it happened to me it was because I got obsessed with wondering if I could create nomographs in LaTeX, but luckily I discovered pynomo instead.
See http://wiki.luatex.org/index.php/TeX_without_TeX for an introduction.
I have (shameless plug) created a database publishing software using this technique (https://github.com/speedata/publisher/). Once in a while I have to use LaTeX and it feels a bit old school to do the macro programming.
My next project is to rewrite the TeX algorithms in Go - see https://github.com/speedata/boxesandglue. Already usable but not TeX like in any way (this is just a library, not a frontend software like TeX)
Your stuff looks cool, I will take a look!
TeXmacs (http://www.texmacs.org/) has better output quality and nicer programming (it is Scheme :-) ) and it is easier to use.
LaTeX will work excellently for you, so long as your use case was envisioned by the original authors.
I can't say that the original authors of LaTeX didn't envision using it for creating slideshows/presentations, but I can say that making a beamer theme is uniquely complicated. I wish that LaTeX had something as flexible as CSS for styling documents rather than the awkward commands, etc. used now—so much so that I attempted to replace LaTeX with a HTML & CSS -> PDF workflow in the past [0]. It is still an idea I want to revisit someday when I have more time.
[0] https://github.com/jonpalmisc/pmt (no longer actively maintained)
However, drawing figures in TikZ seems to be the main way of getting figures into a beamer presentation. This is a total nightmare and not really worth the effort, IMO.
I made something implementing fake vectors using \csname . I think that a similar approach can be used for this problem, but I prefer to never see my old code again. IWIMM
\newcommand{\defwithindex}[3]{%
\expandafter\def\csname #1@#2\endcsname{#3}%
}
\newcommand{\getwithindex}[2]{%
\csname #1@#2\endcsname%
}
(You probably need the two dimensional version.)The offensively inelegant point is purely a matter of taste so I won't belabor it. The second point means that every author writes their document with their own particular suite of LaTeX add-ons, and if you don't have all of them you have no hope of compiling the document. There's Joe's LaTeX and Sally's LaTeX and Jennifer's LaTeX but nobody uses "vanilla LaTeX." So even after I download "LaTeX" (which is itself multiple gigabytes in size), I still have very little hope of compiling documentation that comes in LaTeX form. I hate LaTeX with the heat of a thousand suns and I'm embarrassed for my profession when I find it still in use.
The one thing LaTeX does well is math; if I had to write math papers I'd probably force myself to learn it, but fortunately I don't.
I tend to use org-mode for everything now. I don't use markdown because it has the same problem as LaTeX: There's really no such thing as "markdown" and the vanilla Daring Fireball version isn't facile enough for real work.
It doesn't shield you from much of the pain, initially at least. But you can separate it from the document and treat it as markup, and reuse bits more easily.
Of course pollen itself is a thing to learn. But if you work with text a lot and like lisp it might be worth it. It's been good to me.
Your comment made me want a modern TeX, written in Racket/Lisp.
#lang latex
(documentclass "article")
(document
(section "Chapter 1")
Welcome to (LaTeX). Here is some (textbf "bold") text.)
How does this not exist yet??It doesn't seem that hard (famous last words tho) especially since turning arbitrary DSLs into xexprs is one of the things racket truly excels at.
Is a Windows build planned?
LyX is a LaTeX frontend, you still need to understand some notions of LaTeX. MonsterWriter is a WYSIWYM Word Processor, LaTeX is just used as internal tool to create PDF files. There are other exports available (e.g. HTML, Markdown, you also can publish to Ghost directly)
LaTeX is just TeX but with a lot of new macros. The intent is different: With TeX, you just say in detail what steps you want the software to do. With LaTeX you say what you want in general terms and f'get about the details.
Very honestly, part of the reason I don't bother with any new "LaTeX reimagined" projects is because either (a) they are written by LaTeX nonbelievers who don't understand the complexity of beautiful typesetting, or (b) I don't want to learn another markup+ language or mental model. The latter is increasingly annoying to me.
Out of curiosity, is LaTeX compilation benchmarked on the M1 processors? Is it better? Has anyone experimented with magic Raph Levien-style SIMD magic (a la stack monoid) compilation for LaTeX? I just want LaTeX but really really fast.
Then you have to try TeXmacs http://www.texmacs.org/. It is completely independent from LaTeX and TeX and has - beautiful typesetting (better than LaTeX) - it is fully WYSYWYG, so you don't have to learn a new markup language - yet it affords better document control than LaTeX
edit: for some attempt at an explicit discussion of pros & cons & history vs. TeX, see: https://sile-typesetter.org/what-is/#sile-versus-tex
It suffices to say that I hastily hired a friend in school to work over the weekend converting the beautiful LaTeX into Word.
I actually used to use TexMaxer:
https://en.wikipedia.org/wiki/Texmaker
It's on my list of things I want to deploy a fuzzer on when I get around to learning that -- I've been focused more on data visualization lately.
As far as I do not find something with equivalent or better typesetting quality I'm stick with LaTeX :-)
To those who hate it: try to learn some tangible "alternatives" like *roff or TeXinfo and than you'll see LaTeX syntax is not that horrid or difficult, then try to learn some modern typesetting tools like those from Adobe. LaTeX win easily, that's is. Said that IF someone can offer something equivalent with a far simpler/nicer markup as I said before my love is just to the quality of the output!
I would create a counter for the affiliations, let the \affiliation command define macros that contain the name of the affiliation and the value of the counter and then append the output to two different helper macros, one for authors and one for affiliations, whose contents I dump in \maketitle.
However, it's still an effort to squint at all of LaTeX's curly brackets and long form symbol names, and LaTeX doesn't grok the equation of course.
Has anyone come across any tools out there that offer a similar experience for manually rearranging equations and somehow 'linting' as you go along? i.e. something that knows a bit more about precedence/structure etc? Even a intellij ctrl-W style shortcut (highlights chunks with increasing scope) would make it easier/quicker to do what I'm talking about.
% Save to fizzbuzz.tex and compile with pdftex, not pdflatex
\def\modulo#1#2{(#1-(#1/#2)*#2)} % a mod n = a-(a/n)*n where / is integer division
\newcount\X
\X=1
\loop
\ifnum \numexpr\modulo{\X}{15} = 0
FizzBuzz
\else
\ifnum \numexpr\modulo{\X}{3} = 0
Fizz
\else
\ifnum \numexpr\modulo{\X}{5} = 0
Buzz
\else
\the\X
\fi
\fi
\fi
\endgraf
\advance \X by 1
\unless \ifnum \X>100
\repeat
\byeI don't understand why they encode these expressions f^{(2)}(x) like so. They should be written like a regular function: f 2 x. Then you apply your styling depending on eg. the domain definitions. Eg. for f : N x R -> R, then the first argument is sub/super-scripted... etc.
Another eg. In python, we would render this expression: sum([i*2 for i in range(0, n)]) with sigma expression... etc.