
The TeX tuneup of 2014 [pdf] - yiransheng
http://tug.org/TUGboat/tb35-1/tb109knut.pdf
======
graycat
Sorry, lost the original. I will try to recreate it:

The big advantages of TeX are:

(1) The purpose of TeX was and is to lower the labor and cost of high quality
document preparation of heavily mathematical material and to permit authors to
prepare such documents themselves. For such work, TeX is and near the
beginning long has been the very welcome, highly respected, unchallenged
international standard. For people writing such documents, TeX is nearly
essential. Before TeX, just the 'typing' could be more work than the work the
typing was communicating. Before TeX, preparation of documents with
mathematical material was grim for authors, typists, publishers, etc.

(2) The TeX software has produced almost exactly the same output from the same
input on nearly any computer over decades.

(3) The software is essentially totally free of bugs.

(4) Knuth's documentation is exemplary.

In a sense, TeX is yet another word processing text markup language; the big
differences are high quality output, especially of mathematical material, and
the macro language.

For more, TeX was not to cut new ground in graphical arts; instead,
essentially TeX looked backwards, not forwards, in that the documents were and
are to be essentially just black marks on white paper much like huge examples
going back 100+ years on the shelves of the research libraries. TeX was to
ease the production of such documents and not to produce different documents.

So, TeX is not for just everything that can be put on paper, a screen, a
cereal box, or a billboard; it is not for animated foils, animated movies,
interactive user interfaces, engineering drawing, Web pages, routine text
documents, routine e-mail, etc.

TeX is not for average customers of Apple or Microsoft Word or some high end
graphical arts software from Adobe.

Criticisms of TeX seem mostly to be from people who don't need TeX. For people
who really need TeX, the criticisms are from not very important down to
irrelevant.

------
vsbuffalo
TeX reminds me of GCC — huge, complex codebase, unhelpful error messages, and
designed to just be a compiler/typesetter. I wish someone were to rewrite an
LLVM-like TeX system. Simpler code, could be used to write libraries to do
live syntax checking and formatting, beautiful error messages, and fast
typesetting times.

~~~
noahl
I've been wanting to look at TeXmacs for a while now. It seems to have similar
typesetting abilities as TeX, but the ability to edit the document live and
connect with a running program. I haven't had the time to look into it,
though, so it may not be what you want.

~~~
edwintorok
TeXworks is a simple GUI for editing *TeX, and watching the output at the same
time:

[https://www.tug.org/texworks/](https://www.tug.org/texworks/)

You can also click somewhere in the PDF view and 'jump to source'. Used it a
few times when polishing/debugging a LaTeX document, I generally don't use it
for writing though. (I prefer to do all my writing in Vim).

~~~
noahl
I've seen TeXworks, but it's different than TeXmacs, which is real WYSIWYG
editing with a TeX-like layout engine. TeXworks is still very cool, though.

~~~
jimhefferon
> real WYSIWYG editing

That's an argument against using it, it seems to me. Having the words jump
around as you type them is maddening.

------
dfan
I can't think of anyone else who has been so effective at managing both the
biggest abstractions of theory and the smallest concrete elements of practice.

~~~
weinzierl
I once attended one of his lectures about MMIX. After he was introduced he
fired up Emacs and I remember distinctly that a ripple of voices ran through
the audience. I think it was because most of us expected some form of slides
or something.

Then he hacked along for an hour or so never leaving Emacs. On every seat of
the room there was a little leaflet with the MMIX instruction set which was
very helpful. Donald Knuth showed us all kind of stuff you could do with MMIX
and it was one of the most down to earth lectures I've ever heard.

~~~
jfhc
I've heard that Knuth gives some amazing lectures and some really dry, boring
ones. I've only seen him talk once, and luckily it was one of the former. It
was on SAT and game theory and involved seeing whether some very senior
computer scientists in the audience could come up with a strategy to beat him
in one of the games (which was entertaining).

------
mjs
Anyone know why his Stanford username has apparently changed from "knuth" to
"uno"?

[http://www-cs-faculty.stanford.edu/~knuth](http://www-cs-
faculty.stanford.edu/~knuth)

redirects to

[http://www-cs-faculty.stanford.edu/~uno](http://www-cs-
faculty.stanford.edu/~uno)

~~~
ISL
Because it's shorter and you can type it with one hand?

The Wayback Machine shows his homepage at that URL from 2002 onward.

------
julie1
knuth is the only developer believing he can ship a (the?) bug free sofwtare.
And he is the only developer that I would trust to be able to achieve this.

TeX -at my opinion- in his mind is intended to be untouched after is death as
a legacy to all software devs that will claim:

\- you can do software bug free;

\- you can do software that stand the test of time;

\- you can do software that you can measure to be correct in regard to the
problem it addresses. (Here: everlasting document typesetting).

It is the only source format/code I have from the 1996 that still compile and
gives exactly the same output. And we all claim that softwares always have
bugs, and must evolve. Sometimes I think we are just justifying our own lack
of dedication and hard work for a perfect design that is stable and does the
whole job correctly since beginning.

This software is the one that makes me realize I am fraud and every time I
print something with LaTeX I wonder how broken «progress» is when all the
bloatware we have fail in so many aspects where TeX succeeds.

~~~
nailer
Knuth's definition of 'bug' is a limited one, that seems to be mainly about
logic errors. Allowing a user to incorporate bitmap fonts in a document (which
very few users actually wish to do in 2014) would be considered a bug in other
typesetting software.

This is actually a fantastic illustration of the gap between academic and
industry concepts of computing.

~~~
nycticorax
When exactly do you think allowing a user to incorporate bitmap fonts in a
document became a bug? It certainly wasn't when TeX was first written. Do you
imagine it magically became a bug on a particular date?

Also, isn't TeX limited to the .tex -> .dvi transformation? I'm not sure the
transformation from .dvi to .ps/.pdf is even part of TeX proper. And that's
where the bitmapped fonts come in.

In summary, all of this may just be a fantastic illustration of the gap
between Don Knuth and you.

~~~
nailer
> When exactly do you think allowing a user to incorporate bitmap fonts in a
> document became a bug?

 _I was about to say_ : "Good question. At one point everyone who had access
to a computer was a programmer, as using an OS required programming skills. As
that slowly phased away, considering issues which lead users into bad paths,
documentation errors, and usability issues as bugs became more common."

Then I saw:

> "Do you imagine it magically became a bug on a particular date?"

and

> In summary, all of this may just be a fantastic illustration of the gap
> between Don Knuth and you.

Snark is unwelcome here. See
[http://ycombinator.com/newsguidelines.html](http://ycombinator.com/newsguidelines.html)

~~~
nycticorax
I apologize for the snark.

But I thought that your first statement was questionable, and that therefore
your second statement was rather facile.

> Knuth's definition of 'bug' is a limited one, that seems to be mainly about
> logic errors. Allowing a user to incorporate bitmap fonts in a document
> (which very few users actually wish to do in 2014) would be considered a bug
> in other typesetting software.

Certainly, people sometimes use "bug" loosely, but it seems to me there is a
strict sense in which a "bug" means something that was not intended by the
writer of the code. And the issue you describe clearly does not fit this
description.

I would call what you describe a "design flaw", at best. But as I alluded to,
it wasn't even a design flaw at the time it was introduced. So it's really
more of an anachronism than anything else.

And again, it's not really clear that it's even an anachronism in TeX, since
it's more of an issue with the DVI-to-PS (or DVI-to-PDF) transformation.

And then you went on to conclude, from this highly questionable chain of
reasoning, that this "bug" is "a fantastic illustration of the gap between
academic and industry concepts of computing". Which I just find galling. Here
you're talking about one of the most celebrated computer scientists of all
time, someone who is almost certainly a lot smarter than you (or I), and you
chalk up a difference between what you and he call a bug to the difference
between industry and academia. As if Knuth is just some kind of ivory-tower
crackpot who wouldn't understand the real-world exigencies of industry.

So: I think your definition of "bug" is highly questionable, and I think that
in the future, when you find yourself in disagreement with some celebrated
academic computer scientist, you should perhaps linger a bit longer on the
possibility that you might be mistaken, rather than chalking it all up to the
difference between industry and academia.

~~~
nailer
The non-'strict' sense of bug is the one used by almost everyone in our
industry. I assumed that most of HN knew that.

You can't handle UTF 8, the default $LANG for almost every OS it is installed
on? That's a bug. It needs to be fixed.

Your output quality is poor because it uses a custom font system that pushes
users towards non-scalable fonts? That's a bug. It needs to be fixed.

Something not being a flaw at a time a piece of software was introduced is
also irrelevant. Unmaintained software is generally considered to be poor
software. While bitmap fonts were acceptable until the mid nineties, they
really aren't now.

If you still think it's just me that holds these opinions, let's test it: _try
and argue for the 'strict' definition of bug outside academia and see how far
you get_.

I didn't criticise Knuth at all. I was fairly careful not to do that, and the
original moderation on the comment (+3) reflected that. I merely note that
academia simply works differently from industry.

I'm aware of Knuth and his contributions. I'm sure he's a lot better at
computer science than I am. That doesn't mean he can't be questioned, and you
finding it 'galling' seems very much to be a case of hero worship.

~~~
nycticorax
> The non-'strict' sense of bug is the one used by almost everyone in our
> industry. I assumed that most of HN knew that.

"I assumed that most of HN knew that", huh? This is the same kind of
tendentious nonsense as "this is a fantastic illustration of the different
between industry and academia".

Not only do I _not_ know that "the non-'strict' sense of bug is the one used
by almost everyone in our industry", I don't think you know it either, because
I think you're mistaken. (Maybe you're in a different industry than I am.) The
people I deal with (in industry) regularly make distinctions between bugs,
design flaws, and possible feature enhancements. And so do most issue trackers
(e.g. GitHub, JIRA), for pete's sake. So I really don't think your use of
"bug" as a catchall term for all of these things is universal at all, in
industry or out of it.

------
sloanesturz
I've heard Don Knuth speak at Stanford -- he's really quite something. He
actually speaks the exact way he writes, very precisely.

I love how he is planning on another cleanup in 2021, when he'll be 83 years
old. That's some serious dedication to your software.

------
SoftwareMaven
_The questioner seems to want to place burdens on all users, rather than on
the backs of a few macro- developers._

Words to live by when making software. The best software doesn't concern
itself with the burden to the developers; it worries about the effect on the
user.

Apple's original rounded rectangle buttons is another good example.

~~~
nailer
You're right, but the parent statement is the opposite: the questioner wants
to put the burden on users, not developers.

~~~
taeric
No, he specifically talks about a few examples where _as a user_ he prefers
the code to look one way. That is, he thinks it should be on the macro writer
to allow the users to write the code as they wish. Not learn a new way to
write fractions, for example.

~~~
nailer
By 'he', I meant the questioner, as did my parent post. Your post uses 'he' to
mean Knuth. I've edited the post to clarify.

~~~
taeric
I'm not sure what the topic is, then. :( Apologies for the downvotes, I
suspect it is just a misunderstanding.

------
mikecb
I love Knuth for things like this: "although I did delete a few bytes of
redundant source code and alter two names."

He knows what he wants it to do, it need do nothing else, and in pursuit of
that, he'll refine even the most minuscule of non-problems.

~~~
jmount
Yet he writes against this in the article: "Any object of nontrivial
complexity is non-optimum, in the sense that it can be improved in some way
(while still remaining non-optimum); therefore there’s always a rea- son to
change anything that isn’t trivial. But one of TEX’s principal advantages is
the fact that it does not change — except for serious flaws whose correction
is unlikely to affect more than a very tiny number of archival documents."

~~~
mikecb
I can't reconcile the two quotes, but I've never encountered someone with more
attention to detail.

~~~
asuffield
He means "its behaviour does not change", not "its implementation does not
change".

~~~
mikecb
I thought that at first, and that could indeed be one thing he's saying. But I
also agree with jmount that he probably understands that any tinkering is
likely to produce as many bugs as it fixes, and therefore implementation
changes are to be avoided as well unless addressing actual problems that
people are experiencing.

------
username223
> Users can rest assured that I haven’t “broken” anything in this round of
> improvements. Everyone can upgrade at their convenience.

If only more developers took this approach instead of dumping out monthly bug-
filled "major releases" and force-updating their users.

~~~
dredmorbius
systemd

------
ezequiel-garzon
Does anybody know how the TeXbook source yields a compilation error? I mean to
ask, is it enforced by the TeXbook source or is it hard-coded in the TeX
source? (Or neither?) Not trying to get around this copyright enforcement,
just curious.

~~~
EdwardCoffin
You can view the source on CTAN [1]. The first few lines look like this:

    
    
      % This manual is copyright (C) 1984 by the American Mathematical Society.
      % All rights are reserved!
      % The file is distributed only for people to see its examples of TeX input,
      % not for use in the preparation of books like The TeXbook.
      % Permission for any other use of this file must be obtained in writing
      % from the copyright holder and also from the publisher (Addison-Wesley).
      \loop\iftrue
        \errmessage{This manual is copyrighted and should not be TeXed}\repeat
      \pausing1 \input manmac
      \ifproofmode\message{Proof mode is on!}\pausing1\fi
    

[1] [http://www.ctan.org/pkg/texbook](http://www.ctan.org/pkg/texbook)

~~~
userbinator
This is one of the things that I've always found to be a little odd --- it's
one of the simplest ever DRM schemes. My theory is that Knuth put it there
just to satisfy his publisher's lawyers, since otherwise he wouldn't let the
_source_ be copied freely, much less make it public. Being who he is, he
could've also made it _much_ harder to bypass. Rather clever of him, and it
somewhat fits with his style.

Of course I could be wrong and he truly has quite conservative views on IP...

------
apepe
Will the next "TeX tuneup" be in HTML rather than PDF? One can only hope.

~~~
rspeer
This would require that, between now and 2021, it becomes possible to use
HTML+CSS to create an exact publishable layout, and someone makes a TeX
renderer that uses it. That would be great. I'm not optimistic about it, given
that right now we can't even manage to standardize e-books, but yes, one can
only hope.

(It's not that the TeX tuneup inherently needs to be formatted like a
publication; but that's what TeX is for, and it would be silly to expect that
the TeX tuneup would not be written in TeX.)

~~~
edwintorok
There is an attempt here to convert PDF to HTML while preservering layout:

[https://coolwanglu.github.io/pdf2htmlEX/](https://coolwanglu.github.io/pdf2htmlEX/)
[https://coolwanglu.github.io/pdf2htmlEX/demo/geneve.html](https://coolwanglu.github.io/pdf2htmlEX/demo/geneve.html)
[https://coolwanglu.github.io/pdf2htmlEX/demo/cheat.html](https://coolwanglu.github.io/pdf2htmlEX/demo/cheat.html)

------
dalek2point3
feature request: can someone please work on making TeX error messages more
readable? i dont know how the project is structured and dont know where to
begin. i compile TeX documents daily but I still cringe at the compile output.
Its mostly gibberish and does not warrant something that most of the
scientific world uses for word processing ...

What would a version of TeX reimagined by Jony Ive look like?

~~~
psychometry
Jony Ive isn't a programmer. Your question is about as germane as asking what
a version of the iMac reimagined by Keith Richards would look like.

~~~
Turing_Machine
I would buy that, actually.

