[comp.text.tex] Common TeX FlamE

klaus@cnix.uucp (klaus u schallhorn) (11/17/90)

In <1990Nov15.085657.2589@nntp-server.caltech.edu> marcel seems to ask for it
>	In <1990Nov14.150714.15442@cnix.uucp> klaus u schallhorn (klaus@cnix.uucp)
>	complains about the

>	> awful chattyness of TeX. 
>	and
>	> TeX's "lust" to talk, and to talk, and to talk....

If you read my article, you'll find I say " [pardon me] awful " ...
					    ===========
>	However, klaus continues 
>	> Please note that I don't regard myself as being familiar with
>	> TeX. I've just compiled it yesterday, [...]

Ok, I didn't tell you that I've worked through Knuth's 5 vols, through
Lamport's LaTeX book, through Spivak, Apple and Schwarz and a host of
others buried under 2 years of TUGboat [and I'm too tired to list others]
over the last, say, 18 months. I've played with most of the examples
on a PC with a borrowed TeX [I've given it back since, and not, because
I don't like what it does].

>	WOW! You must be a real genius! You just compiled the program, you
>	aren't quite sure yet whether it compiled correctly, you haven't used
>	TeX before, and already you know completely what's wrong with the
>	program. Thank you so much for this insight, I'm sure all readers
>	of this group have been waiting for it.

As a matter of fact, I'm quite a humble person. Since '82 I do all the
applications programming here [editor, database server, chart generation...],
but I would not dare to call myself an expert on C. This is why I do not 
regard myself being even familiar with TeX. 

If you know C, you also know that it is far more elegant than the commands
you enter into TeX. This is one reason why I see TeX as a "chatty" environment,
the other being its error messages.

>	> I would have loved to
>	>     cat whatever | tex | lpr -dvi
Agreed, cat whatever is perhaps misleading. What I *meant* was a construct
we use here to collect text files and data from four different sources,
which are then piped to our current formatter. The actual script [nlout] 
looks like this:

	(
	cat pip.`week`;
	chart -hp /home/lib/ecolib/D/`date +%y`/`date +%m`/int;
	chart -hp /home/lib/ecolib/GB/`date +%y`/`date +%m`/int;
	[...] 
	adprep `week +1`;
	standard.info;
	) | szp | lpr


>	> [...] even knows unix?
Never claimed to. I was just naive enough to assume "cat whatever" would
be easier to recognise that saying "nlout | tex | lpr -dvi".

> Next thing I noticed, you can't ^C out of TeX, [...]

>	Maybe you did not compile it correctly? The TeX versions I have seen
>	(yes, under UNIX) all react to a ctrl-C with a prompt, at which
>	you can, among other things, type an X to terminate the program.

As a matter of fact I'm still not sure I did. The tape I have has quite
a few different TeXes [2.9 to supposedly 3.0] on it, tared, compressed, split, 
showing up several times in its own subdirs as web, compressed web, tar'ed
web, tar'ed, compressed and split... That's why after two days compiling
[and I'm not doing this on a Z80] I gave up. Then, browsing News,
reading about common tex, I thought that might be something.

Today I did, however read this:

Date: 15 Nov 90 08:33:44 GMT
Lines: 23

[ ... ]

>	PS - I was highly impressed by the quality of the UNIX TeX tape that I just
>	 received. It compiled with almost no problems, and the problems where well
>	described in the "possible problems" file, so everything (including metafont)
>	is up and running. [ I remember the horrors of trying to get TeX 2.9 up ].
	                     ==================================================
>	I highly recommend using the Univ. of Washington's tape TeX tape delivery.
>	If you are interested, you can order a tape (costs $150) from:
>	  ELISABET@MAX.U.WASHINGTON.EDU

I took out sender et al in case you felt like flaming again. And I'm
sorry if I said anything against your favourite toy. A "toy", that I
desparately want to use because I know there's nothing better this side of
a million bucks, pounds or whathaveyou [or maybe not]. That doesn't mean, 
it's beyond criticism.

It's ok with me to follow up at alt.flame now.

klaus
-- 
George Orwell was an Optimist

marcel@cs.caltech.edu (Marcel van der Goot) (11/21/90)

To readers not involved in this thread: My apologies for yet
another message in the sequence. Not a flame this time, I just try
to answer some of the reactions, and to explain the motivation behind
my earlier posting. I promise that I won't post more messages on
this subject. (I am a Dutchman if I will :-)

If you want to react, please use e-mail.

------ part I

From <1990Nov16.215237.22455@cnix.uucp> klaus u schallhorn (klaus@cnix.uucp):
> Ok, I didn't tell you that I've worked through Knuth's 5 vols, through
> Lamport's LaTeX book, through Spivak, Apple and Schwarz and a host of
> others buried under 2 years of TUGboat [and I'm too tired to list others]
> over the last, say, 18 months. I've played with most of the examples
> on a PC with a borrowed TeX [I've given it back since, and not, because
> I don't like what it does].

To misquote Knuth: If this statement isn't just a joke, your previous
posting was a lie.

Anyway, I did assume that you wanted to use pipes interactively rather
than from a script, because, as several other posters have pointed
out by now, it takes only a few trivial modifications to the scriptfile
to do it without pipes. In your case, for instance,
	cat everything > tmp.tex
	tex tmp
	lpr -r -d tmp.dvi
	rm -f tmp.tex tmp.log
where you make sure that "everything" starts with \batchmode. \batchmode
is "intended for running TeX with no operator in attendance" (TeXbook p31).
Sure, the script gets a few lines longer, but you only have to type
it once. If it's so simple to do what you want, then why complain that
the program doesn't do it????? (Actually, under UNIX you can also do
	cat everything | tex > /dev/null
	lpr -r -d texput.dvi
	rm -f texput.log
that saves another line.)

As for the difficulty of installing TeX: I really don't know. My
question as to whether you had installed TeX correctly was not intended
sarcastically, but as a true question (since my version *does* recognize
ctrl-C).

Oh! And yes, I do know C. In fact I am writing a compiler for it. I don't
think though that anyone who has done some study of programming language
design would choose C as a good example of elegance.

------ part II

First some comments about the posting <1990Nov20.090616.1571@warwick.ac.uk>
from Rob McMahon (cudcv@warwick.ac.uk), then I'll come back to the
question whether it's possible to criticize "my favorite toy" without
me spewing fire.

About running TeX from script files, cron files, or any other
way without operator: I quote from <1990Nov20.025033.11400@vmp.com>
by Orlan Cannon (oc@vmp.com):
> Is this so hard? I do this all the time.  [...]
> Get it straight.  This is a trivial problem.
> It's not a TeX problem.  It's a problem in how you deal with TeX.

In fact, as you point out yourself, there exists \batchmode exactly
to make it easier for you to do what you want. Sorry, but if there is
a solution, and you know the solution, and nevertheless you don't
want to use it, then you only have to blame (and flame) yourself for it.

Yes, if you're running TeX non-interactively, then interrupting it
is a bit hard. But running TeX non-interactively, especially if the
dvi file is printed automatically, is only useful if you know that there
are no TeX errors, for instance because the TeX input is generated by
a program. In such cases it is quite unlikely that you would want to
ctrl-C it (you can't do that non-interactively), and in those few occasions
where things are really messed up, just use "kill -9" or so.

Point is, most use of TeX is interactive, so it's just common sense
to make interactive use the easiest mode of usage. To make error-reporting
the default, rather than only doing it on request with -i, is what
almost any program does.

I guess Knuth agrees with your ideas about printing files
if the only errors are underfull hboxes. If you actually try it, you'll
notice that TeX doesn't stop if, e.g., a line in a paragraph is
underfull.

By the way, writing files is much faster than using pipes.
Most systems that don't have enough space for a temporary file won't
have enough space for TeX to begin with.

As to whether TeX fits into UNIX: have a look at the C compiler. That
is a program of similar complexity, and it requires its input to
obey certain rules, just like TeX. Now, cc does not accept input from a
pipe, does in fact not even accept input from a file with arbitrary
extension, does not produce its output on the standard output, does
always give error messages (as opposed to warnings) for faulty input
and does generally not produce a program if the input is wrong. Also,
it creates and deletes lots of temporary files. So, therefore the C compiler
does not fit the UNIX philosophy? Try telling that to K&R.

------ part III

Question: Am I so obsessed with TeX that I cannot accept criticism
about it, and why did I post that flame to begin with?

First, I'm somewhat surprised to be accused of starting the flaming.
If you pick a news-group which is basically devoted to a single
program, and post a message along the lines of "Hi, I don't know anything
about this program, but my-oh-my, what a bad program it is, it looks
like messydos", then clearly that is a provocation. Whether or not
it is directed against a single person, it is still a flame.

Some of the earlier postings about Common TeX (not Pat Monardo's original
posting, but some of the follow-ups) were equally offensive. No, Rob,
the comments were not along the line you sketch, but more like
    "Have you *read* it?"
    "PUKE! No. I don't want a lobotomy either."
(sorry for somewhat inaccurate quotes, I don't have the postings anymore)
If that's not a flame ...

Also, my message wasn't all fire, I did try to answer the question
(inaccurately apparently, Common TeX 3.0 is in its beta test), and tried
to help out with an explanation of \errorcontextlines.

I am not opposed to criticism of TeX, not at all; but please, let's
keep it sensible criticism. What pisses me off is nonsense complaints
based on ignorance, and nonsense complaints about TeX not doing what it was
never intended to do, and nonsense complaints that TeX can do it but
that for some reason you don't want to use that solution, and nonsense
complaints about TeX being so bad because you have to type two extra lines.
I don't feel I have to apologize for criticizing such criticisms.
There are enough real problems with TeX to discuss. (This paragraph was not
a flame, just criticism; not intended personally.)

Incidentally, I am not opposed against *questions* based on ignorance.

If you want to read some sensible criticism of TeX, have a look at
Frank Mittelbach's (I think) article in the latest TUGboat. Someone
posted a reaction to it (in TeXhax?) which was a prime example of nonsense
criticism. It went something like "I still don't understand how this is
done in LaTeX, therefore it should be built in as TeX primitive".

			     > Get it straight.  This is a trivial problem.
			     > It's not a TeX problem.  It's a problem in
			     > how you deal with TeX.
			     (But Orlan, then what was wrong with my flame?)


					Marcel van der Goot
					marcel@vlsi.cs.caltech.edu