Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!jarthur!nntp-server.caltech.edu!news From: marcel@cs.caltech.edu (Marcel van der Goot) Newsgroups: comp.text.tex Subject: Re: Common TeX FlamE Message-ID: <1990Nov21.093729.13662@nntp-server.caltech.edu> Date: 21 Nov 90 09:37:29 GMT References: <1990Nov16.215237.22455@cnix.uucp> <1990Nov20.090616.1571@warwick.ac.uk> Sender: news@nntp-server.caltech.edu Reply-To: marcel@cs.caltech.edu Followup-To: marcel@cs.caltech.edu Organization: California Institute of Technology (CS dept) Lines: 150 Nntp-Posting-Host: stun4d.caltech.edu 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