How is that difficult? Most text editors support word wrapping and syntax highlighting.
> avoid rebuilding your rendered document too often. It's slow, it takes you out of the activity of writing, and it throws up lots of opportunities to get distracted by some rendering nit that you didn't realise would happen.
I wrote a 300+ page PhD thesis with a lot of mathematical proofs, 12+ years ago on a computer that was a few years old. It wasn't that slow.
But then again, the whole point of using something like LaTeX is that you can focus on the text and not how it looks when writing it.
> If you use syntax highlighting in your editor, take a long, hard look at what it's drawing attention to. It's not your text, that's for sure. Is it worth having it on? Consider turning it off. Or (yak shaving beware!) tweak it to de-emphasise things, instead of emphasising them.
Again, I never found this to be a problem, even with documents that were full of mathematical expressions.
To add to this, I personally prefer using semantic linefeeds — adding a newline after each sentence or clause (as in e.g. [0] [1]). I find this works exceptionally well with LaTeX, since I get the benefit of the newlines as I write and edit, while the typeset version is formatted nicely into paragraphs for me.
(Not that this is unique to LaTeX, of course; Markdown would be no different. The technique works well with all such tools.)
[0] https://vanemden.wordpress.com/2009/01/01/ventilated-prose/
The compiler will just tell you “out of memory error” with no line number. Good luck finding it.
Latex and its tooling ecosystem are atrocious for productivity. For a type system that promises “just write, forget about formatting” the effort it requires to get document formatting right is insane.
Just yesterday I tried to apply Texinfo patches to support generating Chinese PDFs via XeTeX. The first error I got was an out-of-memory error, which was solved only by adding a missing font file.
The next error I got is "Undefined control sequence." and there's nothing wrong with the sources.
I'm maintaining a modular installation of TeX Live for GNU Guix for years now, and understanding the errors doesn't ever seem to get easier.
My experience with lout (another typesetting system) has been a lot smoother, even though by default it does not support Unicode. (It's possible with some configuration.)
I would measure the fix time in minutes, even seconds, but not in hours. Emacs would help with that. Moving your \end{document} backwards would find the problem also.
But then again the text editor I use has syntax and bracket highlighting.
Honestly I think too many are just in hurry and not care anyway about formatting like "it's an useless waste of time", it's not and we need often time with a tool NOT JUST to produce an output but to reason on what we are writing...
Having used LaTeX for a few things. including a PhD thesis, I can say with confidence that this approach just doesn't work for me. I view "how something looks" as being an integral part of what it communicates. The text itself is only part of the package, so not being able to see how the finished product looks as I write is frankly a hassle. (It's also a hassle when I want to collaborate with people who don't know LaTeX, but that's another story).
I wish Word didn't slow to a crawl when I had ~30 equations in a document, but I still prefer it to LaTeX.
It seems to be a common pattern for many to render their pdf every paragraph or so, check, then tweak as desired. It may be a bad habit to be broken but it’s driven by a real need to make sure the final product is good. However good LaTeX or ones ability with it is, software should have tests … right … surely the visual checks a an essential necessity at some point?
Visual is part of the package for advertisement, not for scientific/important stuff production. The best example: those who crappy formatting HTML emails not much to embed an image but to really send "rendered text" thinking that's nice and useful instead of visual useless crap...
I was happy with the extreme complexity to change things (for me at least) because it means I will not spend time to modify the defaults which are correct typographically speaking.
I only compiled the text when I wanted to pat myself on the shoulder about how great job I was doing.
This is why LaTeX is well suited for something longer (memoir, thesis, book, larger documentation that will end up printed or in a file) and not that mush for one pages (a CV in LaTeX looks dull and you need to have at least something that will make it stand out). An exception would be exercises in math or similar, where the power of equations is primordial.
I went looking for a list of which packages increase pass counts and found
https://tex.stackexchange.com/questions/30674/document-requi...
the first infinite loop doesn't even really look to use anything exotic at all.
I write the back sizes in YAML and it takes just a second or so to make a PNG of the back side which gets printed. So far I have manually triggered the PNG build but I am doing more work that involves positioning things in the back and I’m considering both making the process more interactive (less work to trigger build and tools to move objects around with the mouse) and have less need to be interactive (specify that object A is stuck on the left side of object B and centered vertically relative to B.)
I’ve also had the pet peeve that conventional approaches to formatting text tend to make things of secondary importance such as annotations more prominent than the main text. I’ve sometimes experimented with making those things less prominent, instead of using bold I would make the annotations a bit lighter than the main text. Although it reverse the usual conventions the few trials I’ve done seem to indicate that people handle this just fine.
Unfortunately, the thing I would like most is a complete replacement for LaTeX that offers these features:
* Text-based - no binary file formats
* A unique DSL for all features
* Complete control over layout and formatting
* Complete control over typography (alignment, leading, kerning, spacing, document grid alignment, etc.)
* Support for tables, including captions, headers, styling, and the ability to span multiple pages
* Support for images and image formatting (resizing, borders, alignment, margins, etc.)
* Reusable libraries/packages
* A package management system (de-emphasis on this one because good package management systems are... difficult to make)
* Support for maths
Which is as far as I can see the single most unique feature of LaTeX… there exist various tools which cover many of your points, but LaTeX is the only one I know of with high-quality mathematical typesetting.
(Actually, even disregarding maths, LaTeX is the only tool I know of which covers most of your points. But I feel that its maths support is an important feature even so.)
All the things you listed are already there. I think if you want an easier DSL (which might be fair), you will have to give up some requirement, such as "complete control over typography and formatting".
P.S. I can also recommend Latex and Friends from Marc van Dongen. It is a really friendly cookbook that shows what modern LaTeX can do.
In my experience, LaTeX is pretty clunky, unintegrated and poorly documented. To do any kind of useful typesetting I have to depend on at least five or six third-party packages, and that’s assuming that I don’t need anything ‘fancy’ like nicely formatted references, customised lists or tables, diagrams, hyperlinks or — God forbid — code blocks with syntax highlighting. (Though to be fair that last is a bit difficult in any typesetting software.) If no package exists for something I want to do, then I have to make it myself: a forbidding task, given the complexity of LaTeX’s internals and of the TeX language itself. Besides, TeX is getting old now; it was created when computers had less memory and power, and it shows. A fresher, more coherent typesetting system retaining all the listed features would be clearly better than LaTeX — no mean feat, considering how much better LaTeX is than its main competitors.
(Admittedly, other TeX-based systems do solve some of those problems. LuaLaTeX makes some things a bit easier to accomplish, and I hear that ConTeX is somewhat more featureful out-of-the-box, though last I tried it was nearly impossible to get working on Windows and was documented even more poorly than LaTeX. Either way, both of these still inherit the problems inherent in TeX itself.)
I'm using the Latex and LatexTools packagest, so I don't follow your point. It's pretty good and can also be set up to properly autocomplete `\cite` and `\ref` in multi-file projects quite easily.
... anymore. https://github.com/LaTeXing used to exist, but has been dead for about 5 years.
Eventually you need to actually build the real document though.
Edit: and creating tables in org mode is _so_ much better than in plain LaTeX. If you find yourself manually working on tables, the Emacs + org mode combo is worth investing time in.
I switched to markdown and sublime a while ago. No more sideways tables, true. But even for that there is a workaround. And much less distraction in return.
When I want to get my rough, fluid thoughts onto a page, it's going to be easiest in Markdown + Sublime. But once the story and structure is basically there, the final product is easiest to achieve in LaTeX.
Note that despite the name, TeXmacs is not an extension to emacs, but is its own standalone system.
How slow can it be today? I did typeset one book using LaTeX and the tricky part was that it had to look like a series of books typeset with QuarkXPress, so it took me lots of time to modify/adapt LaTeX so that the output would match what the editor wanted. Later on I simply used QuarkXPress: not that I didn't like LaTeX but... I got a Mac with QuarkXPress.
But that was in the late nineties. Back when compiling, say, Emacs, took 45 minutes (which now takes 2 minutes or less depending on your system). Certainly LaTeX did benefit greatly too from advances in computing power during a quarter of a century? How can rendering a LaTeX document be still slow today?
In general? LaTeX is a turing complete language so I guess you could write an infinite loop.
https://tex.stackexchange.com/questions/30674/document-requi...
The major source of frustration was that there is no partial rebuilding of the document in LaTeX: fixing one word on one page, even if it did not result in any change on the other pages, would require multiple (because of references) compilations of the entire, enormous document, even just to get some sense of what the resulting document would look like. This is a problem that is somewhat unique to LaTeX, I think.
real 0m18.159s, user 0m17.747s, sys 0m0.296s
Not instantaneous but considering the job, pretty good. I no longer bother with \includeonly.
A very comfy way to work once you get used to it.
[edit] Maybe I'm referring to the VScode Markdown plugin. Are there editors for the above workflow?
To use citations, the standard way is to use the `pandoc-citeproc` filter.
Recently had to track down and update my resume. When I finally found it I was able to quickly add last few years of updates on the commandline and run xelatex and done. It took much longer to track down the files than to update and ship it off, that is why I like latex. Building latex docs from scratch is incredibly daunting, fortunately there are many templates and often they are mandated for use.
Yes, in hindsight it came off more clickbaity than intended. The article did raise a theme of frustration I share though: sometimes you just want the framework/tooling to get out of the way and let you write, something that regularly comes up when I'm working through technical documentation.
Why not make a CI/CD pipeline and have the document rebuilt with each git commit?
Takes a lot of the visual clutter out, dumps to PDF smoothly, and you can tweak the tex if you like in between.
20 years ago I did my thesis in Word 2000 with some plugin for equations. It was far better than latex. I had to insert some hard page breaks, instead of learning completely new language!
I still use PowerPoint for slides for Math talks. Adding equations is painful, so you are encouraged to add as few as possible. In LaTeX adding graphics in the right position, with the right side, ... is painful, so people prefer to cover the slide with equations. Also, in PowerPoint is easier to add a color arrows here and there, so you can connect a random equation with a random part of the graphic. I used tikz and xypic and other packages in LaTeX but I never was able to get enough fine control of random arrows.
In Word, you are stuck in a write format, write format cycle. In LaTeX, you are stuck in a write google, write google cycle. We deserve to have a write, write, write, write cycle!
And that’s wrong. Syntax highlighting should be emphasising comments, not making them almost invisible. But some colour schemes do get it foolishly wrong, and the only reason I can think this might happen is because their authors write the wrong sorts of comments, comments that largely shouldn’t be written. But proper comments are at least as important as the code.
As for “normally”, that doesn’t match my observations. I’d say the significant majority are just different without obviously increasing or decreasing notice—though this is often inherently mild emphasis. Very few clearly increase it, and they’re mostly more conservative schemes that are less frivolous about changing colours.
I read in the following order:
1. Top-level comments or README.md to get an overview. I don't care about the color.
2. The structure of the code - either looking for specific names, through source-code navigation, access of a specific variable, .... Here, non-greyed comments make scanning the file more difficult.
3. Comments that describe what can't be inferred from the code. Symbol names can be seen as headlines for comments - again, secondary to the headline.
With other replacements, I've encountered other problems: VScode's Asciidoc plugin didn't support inline formulas last time I checked. Org-mode had a steep learning curve last time I tried.
How's Lyx for people?
There is a catch or two:
• Writing the preprocessor will still be a bit of work — I think a promising approach is to use Pandoc, but no one has yet merged a plain TeX writer into the Pandoc repo (https://github.com/jgm/pandoc/issues/4341 — I was briefly interested a couple of years ago, and may look into it again: it doesn't seem like a lot of work honestly).
• The main reason people use LaTeX is because of all the packages in its ecosystem that do various tweaks to the typesetting. (This is also the main problem with LaTeX: TeX itself is good; LaTeX itself is mostly fine; it's the menagerie of packages of varying quality and conflicting effects that cause all the problems that LaTeX users usually complain about.) And in the LaTeX ecosystem, there does not exist a culture of teaching how to do things without the package (just as "You might not need jQuery" is not written by the jQuery authors), so if some LaTeX package looks attractive to you, you're back to LaTeX package hell. I have some ideas here of making it easier to "steal" from a LaTeX package by showing the equivalent "generated" TeX, but they require a bit of work hacking on the TeX engine, and have never got around to it.
Anyway, in the meantime, writing in Markdown and using Pandoc to generate a LaTeX file remains a good approach IMO.
Yeah, exactly this. It's crazy there still is no better typesetting language. TeX/LaTeX is the most extraterrestrial language I ever seen. Take any language people consider weird and it shines as handy and intuitive instantly as you compare it to this.
I don't mean the math formula part. I mean learning the actual language to be able to expressing the design you want in it feels impossible.
I found hard to read VERY complex graphic code, like PGF/TikZ especially if badly formatted, some complex custom class/packages for specific stuff etc, but not much hard most of the time and most of the time I just write plain LaTeX in a simple style:
- first I write my document in pure formatted text, with LaTeX just for something can't be easily written in text like math or so common typographic elements like an itemize/enumerate, a yasnippet away;
- then I add the rest of the template and check the visual/typesetting aspects while I'm re-read my doc looking for typos, phrases to be better reformulated etc
No need to rebuild so many times and no issue in build time, on a reasonably modern machine is quick enough for essentially all common docs, it might be a very little bit slow not enough to annoy on VERY big special docs who need various works aside anyway not for LaTeX but for mere proofreading and typographic checks.
IMVHO I think that some like the authors came from the uncivilized modern world where well typeset docs are unknown and where people just know WebUIs to click around and quickly produce something prepackaged even if suboptimal and generally bad in quality terms.
I see such behaviors many time where even skilled people do not understand that their docs are graphic heavy crap just because they do not know typography nor typographic conventions of their own country/institution. That's not an issue no LaTeX or other layer (like ConTeXt) can solve, it's a social issue, not a technical one. People should for instance learn why tables should not be like those crappy tables spitted for some spreadsheet tools on a pdf or pages drawn with such crappy margins their favorite "Office Automation" crapplication produce.
In general IMVHO people in the famous "missed CS concepts" courses like the MIT one, typography should be a topic because right now too many do not know how to write on pen and paper BUT also do not know how to write on a desktop, to a level just above the minimum literacy demanded by our society. Not joking nor insulting, that's what I see EVEN from professional publishers.
That's cool. I'm a lawyer. Often those section becomes snippets-like text I can re-using in other documents.
Also, making those _snippets_ help me to think more clearly. LaTeX wants me to think as crisp he is.
Once you have been hazed by it, you will start to defend it: LaTeX drives cognitive dissonance in its users.
Nobody will build the next thing, because LaTeX is free and there are millions of plugins and lots and lots of people with Stockholm syndrome ready to defend it.
I have built documentation systems for clients with LaTeX, but regular developers won't touch it, they know better, so the docs go stale. It's better to use restructured text/html/css, since it has a lot more features than markdown, yet it's simple enough that people who haven't been LaTeX-hazed will use it too.