The Beauty of LaTeX (2011)
nitens.org
nitens.org
https://www.sharelatex.com?r=890185d4&rm=d&rs=b ( <- referral link, a referred user enables me to add more collaborators to my projects. Here's a non referral URL: https://www.sharelatex.com)
Are there any alternatives that have solved this problem?
TeX is not a programming language, it's two programming languages. These languages have a self modifying syntax and is parsed with state machines that can be changed. Changing the syntax into something meaningful other is yet quite impossible. It's meant not meant to be able to read markdown or xml.
These Languages are so odd even division of two variables is non-trivial, yet both are truing complete and servly limited, a classic turing tar pit, even division of two variables is nontrivial.
The hole TeX thing is a huge state machine, and uses imperative paradigms, while declaratives would have been much nicer.
All that leads to a horrible, monkey patching coding style.
On the internals there are other horrible things: Unicode was known when it was invented, font formats are a mess (even with XeTeX; I think I can't have another mapping for my the cursive style of a font then for regular. Good thing is the very verbose documentation for fontspec does mention "mapping" twice)
If does follow imperative paradigms, as it does, the programming language part is essential if you want to do anything meaningful with it. If exotic task you never need in typesetting, such as multiplication, is hard to implement, something is wrong. And IMO that is why LaTeX is so odd and hackish.
Context is much better, tough.
And, by the way, the unfortunalty dead ANT uses a nice Haskell like language and is still a typesetting DSL.
http://sourceforge.net/projects/ant.berlios/ https://web.archive.org/web/20090310012257/http://ant.berlio...
They are hardly programming languages.
Knuth: So TeX is a programming language but I had to put in those features kicking and screaming.Yes, certainly, but you said (https://news.ycombinator.com/item?id=8615643):
> TeX is not a programming language.
rather than "TeX is not intended to be a programming language." It is nit-picking to be sure, but I think that, if the creator of a language (especially one who knows his stuff as Knuth does) says that it is a programming language, then it is.
Another appeal to (a lesser) authority—the TeX Users Group (https://www.tug.org/whatis.html):
In summary, TeX is a special-purpose programming language that is the centerpiece of a typesetting system that produces publication quality mathematics (and surrounding text), available to and usable by individuals.
… and an appeal to the fact that people have written programs in it: http://stackoverflow.com/a/1931289.(P.S. To "so, is XSLT a programming language because of, say, http://www.unidex.com/turing/utm.htm ?" I say "sure, why not?" What is the point of excluding something from being a programming language?)
Certainly not, not even latin-1 was existing when TeX was created.
Perhaps some dyslexia lead someone to believe they were invented in the same year? :-)
Esp. ANT would have been a fantastic improvement.
[1] https://web.archive.org/web/20090310012257/http://ant.berlio... [2] http://sourceforge.net/projects/ant.berlios/ [3] https://news.ycombinator.com/item?id=6668551
To start gaining traction though, it should migrate from darcs to git, and move their own repo to github. It would enable people to contribute more easily, as well as bug reporting and editing the documentation.
The tarball is still there, though.
pmeunier (https://news.ycombinator.com/user?id=pmeunier), one of the authors, discusses this a bit at https://news.ycombinator.com/item?id=8026930 (though without, I think, committing to any definitive answer).
I don't want a new language, myself, because new languages are much more difficult to migrate to. Personally, I just want an implementation that knows how to produce good error messages despite LaTeX's macro implementation. By the time TeX sees the results of the LaTeX macros, it loses the context for producing meaningful diagnostics.
A lot of latex2e packages are using latex3 in the background (for example fontspec).
Probably doesn't hurt to adopt his style of reuse. Which is not necessarily to "link" to a full blown library of macros for purposes, but to pick and choose some that you wish to use. Possibly even just redefining them yourself.
Perhaps this means we should be trying to do simpler stuff, but I'm pretty sure that's impossible in the conference driven world I found myself in.
My main thought is that as you bring in more and more libraries to accomplish things, you start bringing in more and more sets of assumptions about the underlying abstraction and these don't always hold. Somewhat ironically, I think of paper layout now as an optimization problem, akin to how TeX thinks of paragraph layout. That is, it will be somewhat iterative. No getting around that.
So, I sadly don't have any prescriptive advice. Just the observation that the simpler papers out there of Knuth's are quite a bit easier to read in source than many of the ones I have ever authored.
https://github.com/speedata/publisher
manual:
http://speedata.github.io/publisher/manual/index.html
built on top of (Lua)TeX.
Personally I'm a fan of markdown->latex->pdf using pandoc, although figure/table/equation numbering is still a bit of a hack (though there's wip plugins for them, or you can cheat with some embedded latex)
I remember reading this a few years before 2011.
Edit: here we go, https://news.ycombinator.com/item?id=1173226
The Wiki is really good and links to a lot of resources, the TeX stackoverflow also provides lots of help.
The bad thing is... academic journals and conferences accept only LaTeX. Research articles often end up packaged in a larger work like a PhD dissertation. Amending markup from LaTeX to ConTeXt is painful. So one ends up using the inferior tool (LaTeX) for typesetting one's own larger work too, like I did :( (Though I used Koma-script classes instead of standard LaTeX classes.)
Composing objects hierarchically should be natural (easy), and the user should not be required to read tons of documentation for each case.
I think HTML does a lot better in that respect (though it has its flaws too).
Some kind of consistent, closed, scoping would greatly benefit many areas of LaTeX in my opinion.
TeX underneath is really very speedy; on my several year old laptop it can compile several hundred pages in around half a second (and pdftex takes around twice as long).
I believe it's also possible to perform optimal line breaking algorithms incrementally, so you wouldn't have to reset the whole document as you add to the end of it (although you may as you add to the start of it, but that happens in Word anyway).
I hate using word and have a load of random formatting applied to my document. I am fed up with using the 'format painter'!!!
git diff --word-diff=color
for diffing LaTeX.Check "Filling Text" here - https://www.cs.utah.edu/dept/old/texinfo/emacs18/emacs_24.ht...
[disclosure: I'm the author]
And I say this as one of the credited authors of the LaTeX wikibook (https://en.wikibooks.org/wiki/LaTeX/Authors)
Therefore I'd still plug my own Getting to Grips with LaTeX as a good starting point for newbies: http://www.andy-roberts.net/writing/latex/
I promise that's my final plug :P Quite frankly I'm just happy people want to learn LaTeX other word processors.
Thank you for the work you put into wikibooks.org/wiki/LaTex.
It's my goto place when I pick up LaTeX every ~5 months and need to remember the basics.
LaTeX supports rendering various kinds of diacritics and math symbols, through its own mechanisms that aren't Unicode. If you want Unicode, you need to use a separate project called XeTeX. XeTeX's home page [1] introduces it as "Unicode-based TeX".
For UTF-8 write into the preamble: \usepackage[utf8]{inputenc}
XeTeX and xelatex indeed do support all the wondrous diacritics and Klingon symbols of unicode fonts (TTF or OTF, no less). However, LaTeX math still has to be written with \LaTeX symbols in order for the math engine to lay out symbols correctly. After all, a \sum is conceptually a different thing than a \Sigma. You can easily type your Euro Signs, typographic quotes, or Klingon symbols as unicode, though.
By the way, lualatex, from the LuaTeX project, behaves the same, although somewhat slower and infinitely scriptable in Lua.
Am I overlooking something here?
> OpenType was introduced in 2000. It is now 2014. How is it possible that [...] users are still unable to properly access and exploit these fascinating typographic possibilities because the font menus in apps with typesetting capabilities have barely evolved?
http://ilovetypography.com/2014/10/25/why-a-better-opentype-...
The thesis was nicely typeset in LaTeX and it would have been ridiculous to make the cover look far worse than the actual text.
The engraving was supposed to be something like 3€ per line. But it didn't even support basic typographic features because of Word. That was just ridiculous. That's why my thesis has a plain cover and the shop lost 12€ (- expenses) per copy.
I like the idea, and they're aesthetically great, but I think they're too rare now for it to be wise to use them. People will be confused and distracted. I have only one anecdatum, which is that Slack chat uses a font with ligatures, and I have heard several confused comments about them. For niche professional documents, like research papers, I'm sure it's accepted and expected, but you're probably already using LaTeX for those anyway!
I think by LaTeX you mean Microsoft Word. For social sciences, at least.
And in Powerpoint the formulas have constantly different sizes and are distorted. I don't like beamer (a latex package), but it the only viable slide show software for me.
There's a document here, describing keyboard entry:
http://www.chem.mtu.edu/~tbco/cm416/EquationEditor_main.pdf
It's basically a markup language of sorts, and I'd use it if I were presently writing a lot of text with equations.
For better or worse, working in industry, my reports are free of equations! I've formed the hypothesis, that when managers and non-technical people see an equation, they assume the report is "incomplete," i.e., the equation needs to be turned into an actual result.
I've been to academic talks where, instead of typeset equations, the author just copies the source code from their MatLab file to a PowerPoint slide.
And I suppose a useful thing is that if you do misspell one of the keywords, it just sits there until you correct it, as a reminder of what you were trying to write.
Can you see what I did there?
computer science isn't a science because it's a hodgepodge of algorithms and miscellanea, and very little theory-building.
Certainly I see the humour in this humorous point, and in my most chauvinist moments as scientist (well, mathematician) might mutter it to myself, but I cannot agree with it as fact.
> computer science isn't a science because it's a hodgepodge of algorithms and miscellanea, and very little theory-building.
It sounds like you're discussing programming (which I think of as not yet a science—but I am no programmer), rather than computer science. There is certainly a rich theory behind computer science—indeed, there is a vein of computer science that is essentially just lightly 'applied' mathematics. Just see a random sampling of questions at http://cstheory.stackexchange.com if you don't believe it!
For pedagogics there are huge (like 30 pages) formating requirements. The formating requirements itself are incredible ugly and often quite objectively bad. Such as lots of widows and orphans (even in tables!). The document is distributed as a .doc file, and yes it does look like this even in Word, it's not a fault of LibreOffice. Length is measured in pages and the critical limit is the minimum length.
On the subjective side they IMO made the worst possible choices. Arial (or similar), 12 points, almost no margins, 150% spacing between the lines, italic and bold headings.
It looks very bad, is MS Word centric, but they have the nerve to make a style guide longer than a page.
Also, looking at psychology papers, it seems to me that non technical fields have a thing for shitty typography.
So that's why my high-school's formatting requirements for assignments and papers were exactly what you've listed there.
The ligature of 'f' and 'i' is not "rare" and it is not "unwise" to use it. Actually many professionally typeset books are using it: it's not an "idea" as you wrote. It is something very real and often used.
It is so common and so good looking (I'd even say "so perfect") that you probably never noticed it but I can assure you that it's used in many of the books / newspapers / magazines you've read during your life.
I've written and typeset about a dozen book (one with LaTeX, all the others with QuarkXPress: it was before the InDesign days) and I can tell you that when I see a non-ligature "fi" I directly notice it because it is really poor looking.
Of course in addition to LaTeX, both QuarkXPress and Adobe's InDesign and several other professional typesetting software do the common ligatures.
It really comes down to who your audience is, and perhaps it's true that most things you would even consider using LaTeX for are intended for an audience savvy enough to not be distracted by ligatures.
All of this is to say that sure, you may notice and be cognizant of ligatures. Most people aren't.
(I've self-published a book that way and was surprised at how well it worked.)
It's probably not good for serious publishing but I found it hell of a lot easier to work with than LaTeX and/or Word.
* The first real kerning issue is the third word "wondering", which looks like "wo n d erin g" to me. The kerning is terrible, but that is probably more of a font issue.
* There should be no line break between the words: >>overpowering circumstance?”<< Probably should hyphenate circum-stance.
The kerning issue is due to an existing bug with PhantomJS on Linux [1]. Hyphenation is a feature I've been wanting to do for a while but haven't managed yet due to the lack of a decent hyphenation engine for JS [2].
To quote from the readme, the program is "a very early version with a number of problems". But my point of "it's finicky but possible" still stands.
[1]: https://github.com/ariya/phantomjs/issues/12016 [2]: https://github.com/andrey-p/apocalism-js/issues/18
HTML/CSS typography can be very sophisticated.
HTML + CSS isn't perfect, of course, but the difference between HTML and professional typesetting is much, much smaller than the difference between Word and professional typesetting.
Put something at the bottom of the current page, like a footnote.
I also generally disliked how some features were environments (document, abstract figure) whereas others are commands (sections, subsections, paragraphs, etc). Inconsistencies in what things are passed to various commands as options vs. arguments were irritating, and it's always a bear, for example, if you need to pass say math-ey stuff an argument. E.g. \caption{$a+b$} Nope. Can't do it.
I don't disagree in general about some of the flaws of LaTeX, but am I missing something about this one? Using maths in a caption works fine.
Solution: https://en.wikibooks.org/wiki/LaTeX/Hyperlinks#Problems_with...
There are some clean slate attempts, done with much better languages. See Patoline, for example.
LaTeX's hyphenation and math have no (non-JS) match in HTML/CSS, but just about everything else is very matchable. You can enable kerning based on OpenType GPOS, you can control page breaks (with page-break-inside or widows, for instance), and just about anything else that you can think of.
Modern HTML + CSS is amazingly capable, and this isn't fully appreciated yet.