TeXhax Digest Wednesday, February 17, 1988 Volume 88 : Issue 17 [SCORE.STANFORD.EDU]TEXHAX17.88 Editor: Malcolm Brown Today's Topics: immoderate notes: lots of TeXhax Where do I get TeX for my Suns? (Flame) Re: Latex notes Somthing similar . . . == Dropinitial (TeXhax Digest V88 #14) Dynamic \parskip computation Flame of the week: Unix-style command interfaces Fix for DVI2PS on a CONVEX C1-XP TexHax14.88 An interesting puzzle RE: \DOTFILL IN \HALIGN TeX on the QMS PS-800+ AMSSMC40 Re: What is amssmc40? MicroTeX Epson Fonts Icelandic TeX FWEB? Re: ? under-twiddle ? ---------------------------------------------------------------------- Date: 17 Feb 88 From: Malcolm Subject: immoderate notes: lots of TeXhax %% Yes, this is indeed the third digest in as many days. This is due %% to a sharp increase in the number of submissions. I'm still attempting %% to keep each digest about 20K bytes in size. This would seem to keep %% each issue more manageable, as well as allow us to fit the list of %% topics on a single screen! The previous two digests were larger than %% the 20K target size. This was again due to the flash flood of submissions. %% Malcolm ------------------------------ Subject: Where do I get TeX for my Suns? Date: Fri, 12 Feb 88 15:54:58 EST From: williams%nrl-css.arpa@nrl-css.arpa I would like to install TeX on the Sun 3 server we have here at NRL. I would appreciate information on how I can get the latest Unix TeX distribution, and/or how I can get either of the C versions of TeX (one by Monardo, the other by Morgan) which I have seen mentioned in texhax. Thanks in advance! Jim Williams ------------------------------------------------------------ There is no 'd' in "kluge"! It rhymes with "deluge", not "sludge". James W. Williams williams@nrl-css.arpa Information Technology Division Naval Research Laboratory (202) 767-9035 Washington, DC ------------------------------ From: Julian Bradfield Date: Fri, 12 Feb 88 17:02:16 GMT Subject: (Flame) Re: Latex notes [ To the moderator: I know this matter has been the subject of previous [ discussion in TeXhax, and I realize it may not be appropriate to include [ it; please use your discretion, and if you decide not to include, please [ send me a note so that I can mail Dr Lamport personally. %% No reason not to send this out. In general, I don't think it's my %% job to decide what goes out and what doesn't, unless a submission is %% clearly slanderous. Malcolm It seems that it is once more time to protest at Dr Lamport's treatment of those who wish to make modifications to LaTeX styles. In TeXhax V88 #14, his reply to the question of why LaTex does not indent the first paragraph of a section was: Because the document styles were designed by someone who understands the principles of good design. Anyone wishing further details should spend some time learning about book design. There are numerous schools of design that teach the subject. I do not believe this. I believe it was done because the style designer happened to like unindented first paragraphs. Certainly there is no golden rule that the first para must be unindented; and a survey of the books on my shelves (ignoring TeXed conference reports and other amateur productions) does not suggest that there is any correlation between the indention of first paras and any other aspect of the style (although I can think of some slightly infelicitous combinations). Of course, I may be wrong; Dr Lamport knows far more about typographic design than I do, but if there is a consensus on the issue, I should be obliged if he would explain it, instead of preaching from on high (and I reserve the right to disagree with the consensus!). Enough of the particular. My complaint to Dr Lamport is that he seems always to assume that those who disagree with him are wrong, ignorant and stupid, which I find hard to take from someone responsible for styles which I (and others) find very ugly. (And to forestall his standard response, extreme ugliness is a sufficient condition for unreadability, just as is bad writing.) I would ask Dr Lamport to be less abrasive in his public utterances; the more so because his general points, such as the importance and difficulty of design, and the desirability of designing changes, rather than hacking them in, are important, and it is a pity that they should be obscured by his antagonistic style. (Incidentally, I do not use LaTeX, and am unlikely to do so; I write merely as a TeXhax reader who wishes to read a courteous and friendly bulletin board. Also, I have no strong opinion on the indention of first paragraphs!) Julian Bradfield, jcb@lfcs.ed.ac.uk ------------------------------ Date: Fri, 12 Feb 88 14:02:31 PST From: mackay@june.cs.washington.edu (Pierre MacKay) Subject: Somthing similar . . . == Dropinitial (TeXhax Digest V88 #14) What you are looking for is a DDD ROPPED Initial, for which I supplied D D some usable code in a previous D D TeXhax communication. Maybe someone DDD else will remember which one. This is a rather extreme example of a four line dropped initial, which really needs some Irish interlace to make it interesting. There is a good overview of the criteria that should be applied to design of a dropped initial in Frank Romano's \it{TypEncyclopaedia}. The code I developed for the Middle East Studies Association Bulletin does not do nearly enough. If I ever reform it enough to come closer to Frank Romano's standard, I wil make the improvement available here Pierre A. MacKay TUG Site Coordinator for Unix-flavored TeX ------------------------------ Date: Fri, 12 Feb 88 17:06:36 EST From: i5f@l.cc.purdue.edu (S Bechtolsheim) Subject: Dynamic \parskip computation Here is an interesting problem (actually I hope that I am missing something and that it is easy to solve): \TeX will at the beginning of a paragraph, among other things, do the following (in this order): 1. generate \parskip glue 2. switch to horizontal mode 3. evaluate \everypar What I would like to do though is to call at the beginning of each paragraph a macro, let is call it \ComputeParSkip, which computes the value for \parskip to be used for the paragraph. By the time \everypar is evaluated it is already too late to do so because \parskip was already inserted. Is there any way to insert automatically a \vskip in front of the first line of a paragraph? If one sets \parskip = 0pt and it would be possible to sneak in a \vskip than this would work. But I don't think this is possible. The next thing to do (I thought at least) was to use \everypar to finish a paragraph instantly, to compute the desired value for \parskip or to put in a \vskip manually, and then to start the paragraph again. Here is how I did this: \parskip = 0pt % No \parskip. \def\ComputeParSkip{... generates some dimension ...} % This macro loads \everypar. \def\LoadEveryPar{% \everypar = {% \endgraf % End paragraph immediately \vskip -\baselineskip % Undo effect of empty paragraph \ComputeParSkip % Loads result into \MyParSkip \parskip = \MyParSkip \everypar = {} \leavevmode % Start paragraph again } } \LoadEveryPar % Initialization. % \par reloads \everypar for another round. \def\par{% \endgraf \LoadEveryPar } Now what is the problem with this solution? The \vskip-\baselineskip almost always neutralizes the effect of the empty paragraph but not always. If you look at the main vertical list of the text then you will see that the initial empty paragraph consists of three items: (1) \baselineskip glue (2) \parskip glue (3) empty hbox Assume now that (1) caused the page to overflow, i.e. a page break was generated. This glue will disappear due to the break, the empty hbox will end up on top of the next page and the subsequent \vskip-\baselineskip which was generated through the \everypar deal will cause the text to start one line higher than the text should start. Any hints / thoughts would be appreciated. Stephen v. Bechtolsheim i5f@l.cc.purdue.edu ------------------------------ Date: Fri, 12 Feb 88 14:33 PST From: Don Hosek Subject: Flame of the week: Unix-style command interfaces Why don't I like Unix-style interfaces? Because I'm not on a unix system! Unix-style interfaces (USIs) are fine if you're on a system with a Unix-style operating system, but when you are on a system such as VMS or CMS that has a well-defined and intellegible style for command-line options, your driver/utility/whatever should use that. Writing in C is not a sufficient excuse. -dh ------------------------------ Date: Fri, 12 Feb 88 15:36:08 PST From: martyg@LBL.Gov (Martin Gelbaum) Subject: Fix for DVI2PS on a CONVEX C1-XP A local programmer, Mr. Peter Fuller, fixed the problem in DVI2PS running on a CONVEX C1-XP. Here is the output of the differences between dvi2ps.c. Note that Mr. Fuller started with version 2.10 of DVI2PS. 2d1 < 164a164 > #include 2091a2092 > register int m; /* sign mask */ 2093c2094,2096 < x = getc(fp); /* get first (high-order) byte */ --- > x = (getc(fp)<<24)/(1<<24); /* get first (high-order) byte */ > /* Sign extend Peter Fuller, 1 Feb 88 */ > 2104,2105c2107,2108 < x<<=32-8*n1; < x>>=32-8*n1; /* sign extend */ --- > /* x<<=32-8*n1; /* Code removed 1 Feb 88, Peter Fuller */ > /* x>>=32-8*n1; /* sign extend */ ------------------------------ Date: Sat, 13 Feb 1988 02:34 EST From: Jim Walker Subject: TexHax14.88 An interesting puzzle Don Hosek asks about a macro that would typeset a long title with the last line centered, and all previous lines flush to the margins. Here is my solution. \def\weirdtitle#1{% \setbox0=\vbox{\noindent #1}% \setbox1=\vbox{% \unvbox0 \setbox2=\lastbox \line{\hfill\unhbox2 \hfill}% }% \unvbox1 }% Jim Walker, University of South Carolina ------------------------------ Date: Sat, 13 Feb 88 17:19 EST From: Subject: RE: \DOTFILL IN \HALIGN Barbara Beeton has already suggested one nice and simple solution to the problem posted in TeXhax Vol. 88 No. 12 so perhaps the following is of only academic interest. However, it does have the advantage of letting \halign selects the width of the "extension" column (column 3 below) rather than requiring that one guess at this value. The only way that \halign will stretch out the table to some given size (such as \hsize) above and beyond the minimum required is if there is some stretchability in the \tabskip glue such as that which will be placed between columns 1 and 2 in the following. However, TeX normally fills in the stretched region with glue i.e. blanks. The following gets dots into this region by \span`ing across it and then letting the \dotfill sitting in column 1 do its thing. At least I think that is what happened (one can never be sure with TeX). One drawback is that there must be at least one line that does NOT use the \span command to combine columns 1 and 2; this is the first line with the \quad below (it could be any line). I'm not sure why this is needed. \def\dotfill{\leaders\hbox to 1em{\hss.\hss}\hfill} \halign to \hsize{#\dotfill\tabskip=0pt plus 500pt&#\tabskip=0pt&#\cr &\quad\cr entry text\span& extension\cr another entry\span& extension\cr yet another entry (yawn)\span& extension/extension\cr lots more of them\span& extension\cr} \bye Kent Eschenberg Applied Research Laboratory, Penn State University, State College, PA BITNET Address KEE@PSUARLC ------------------------------ Date: Sun, 14 Feb 88 00:20:13 ECT From: HANCHE%NORUNIT.BITNET@CUNYVM.CUNY.EDU Subject: TeX on the QMS PS-800+ In TeXhax 1988#10 and also in Laser-Lovers, I asked for help concerning our new QMS PS-800+ laser printer. Briefly, the problem was that we could not produce teX output on it using the Textset DVILASER/HP (v.1.6) driver. We are using IBM AT-compatible computers running MS-DOS. I got several replies, have solved the problem, and will now summarize for the lists like I promised to do. John S. Gourlay kindly informs me that Textset have changed their name to ArborText, that they now ship version 4.6 of both their DVILASER/HP and DVILASER/PS, and that the latter works fine with their own QMS PS printer. Upgrades seem to be quite reasonable. Gaspard A. de Jong Uses the QMS PS-800 (*not* the Plus) with DVILASER/PS v.4.0, and is very happy with it. David J. Buerger also got that to work, but when he upgraded to the Plus, > [...] it stopped working all together. I worked with > an Arbortext technician to solve the problem, but despite her valiant > efforts, we never solved the problem. We tried coordinating our tests > with QMS and they never solved it either. He didn't get DVILASER/HP to work with the printer either. Indeed, de Jong offered the following insights on the sticky subject of HP LaserJet emulation: > I am not surprised you cannot obtain TeX output with the HP LaserJet > emulation. > We regularly evaluate laser printers at the computing center. One of the > tests I use for the HP Laser Jet emulation that most claim to offer is > a file of TeX output. Of all the printers tested so far the only ones that > have passed this test are: > HP LaserJet+ > HP LaserJet II. > The problem arises with TeX output because this places high demands on the > font management capabilities of the printer. And the font management is > usually emulated incompletely by HP clones. > The LaserJet II is a perfect (and very affordable) printer for TeX. Ah, had I only known earlier! Now, the good news, in Buerger's words: > However, Nelson Beebe's DVIALW software works like a champ. I love it. > His DVIJEP (HP) driver does not work on the QMS in emulation mode either, > but it works fine on a true LaserJet Plus/II. Plus it's free. [...] > Otherwise, the PS-800+ has been great. I had been under the erroneus impression that DVIALW was only available for Unix and VMS machines! But no, it runs on MS-DOS computers too. I got a hold of it and compiled it using Microsoft 4.0, and it works fine. That is, I had to fix a bug in it first which caused a font change command to be left out at the beginnings of some pages. (Bug reported to Nelson Beebe; I am sure it will be gone in the next release.) By the way, I first tried compiling it using Microsoft 5.0 and it compiles without error messages, but the linker produces no executable (also without any error messages, most of the time). It seems to work for others - maybe something with my configuration? My thanks also go to Harald Koenig who provided valuable help. ------ Here is my quick bug fix. Use at your own risk only, until an "official" workaround is found. I do not claim to understand all the subtleties of this program! If you do not usually have your laser printer stop in midstream, don't apply this bug fix. Your version of DVIALW probably does not have this bug. 1. You need to declare a global BOOLEAN variable ld_this_page. It will be TRUE if any characters have been loaded so far on this page. The file gblvars.h is the place for this I think, though dvialw.c will work too. 2. In the routine bopact(), file dvialw.c, insert this statement someplace: ld_this_page=FALSE; /* Force naming of first font (hh-o) */ 3. In the routine setstr() in dvialw.c, find a piece of code looking like if ( font_switched || (fontptr->font_number != last_font_number)) { OUT_FONTNAME; font_switched = FALSE; } loadchar(c); (Maybe the if test is on one line - I don't remember and I am too lazy to unpack the archive and find the original) and change the if part to look like if (!ld_this_page || font_switched || (fontptr->font_number != last_font_number)) also, insert the statement ld_this_page = TRUE; in between the curly brackets. 4. Recompile and go. And remember, I don't guarantee it... - Harald ------------------------------ Date: 14 Feb 88 1342 PST From: Joe Weening Subject: AMSSMC40 In the change from AM to CM fonts, AMSSMC10 was replaced by CMSSDC10 and AMSSMC40 was replaced by CMSSDC10 scaled 4000. This is because AMSSMC40 was actually just a scaled version of AMSSMC10, so it wasn't really right to give them separate names. Barbara Beeton pointed out to me that fonts with a non-standard magnifi- cation (i.e., 4.0 which is not a power of 1.2), can cause a problem for systems that use a separate directory for each magnification. My advice is either to create a special directory for this font, or to have a "miscellaneous" directory that is searched for fonts not otherwise found. That's what we do at SAIL and it has proved to be quite useful when people need non-standard magnifications. This only works if the magnification is encoded in the file name as well as the directory name, which not everyone does. I wish they would since the redundancy is good to have in this case. ------------------------------ Date: Sun, 14 Feb 88 13:58 PST From: Don Hosek Subject: Re: What is amssmc40? In one of the information files on either the VMS or CMS distribution, it is said that the cm equivalent of amssmc40 is cmssdc10 at 40pt. This is inconvenient (to say the least) since very few people have 4x magnifications of any fonts. I would imagine that it should be possible, however to simply multiply the appropriate parameters in cmssdc10 by 4 to get a cmssdc40 driver file. -dh ------------------------------ Date: Mon, 15 Feb 88 12:51:39 EST From: mroth@afit-ab.arpa (Mark A. Roth) Subject: MicroTeX Epson Fonts When you buy the MicroTeX Epson device driver from Addison-Wesley, you only get a very minimum of am fonts for the Epson. This consists of the basic set of 5, 7 and 10pt fonts and their magnifications. Notably missing are the line and circle fonts for use with LaTeX. They do have a pxl to epson font convertion program, so if pxl files at the appropriate sizes are available (240dpi and 120dpi) then you can convert them. We are contemplating a Metafont run to generate the needed files, however, if someone has already done this, it could save us a lot of time. Please let me know if you have either pxl or epson fonts at the 240dpi or 120dpi sizes. Thanks, Mark Roth mroth@afit-ab.arpa ------------------------------ Date: Fri, 12 Feb 88 10:27 EST From: Subject: Icelandic TeX I recently read an article in the TeXhax Digest in which the author referred to an Icelandic version of TeX. I could not find any reference to this TeX version in the TeXhax Digest issues that were stored at the time in the Bulletin utility at this university (SUNY at Buffalo). What is the best way for me to find out about Icelandic TeX? Thanks, Armann Ingolfsson ------------------------------ Date: Sat, 13 Feb 88 13:04:25 pst From: Alex Woo To: texhax-request@score.stanford.edu Subject: FWEB? Is anyone working on FWEB or FORTRAN WEB? If there is any language which needs a self-documenting preprocessor it is FORTRAN. Alex Woo ------------------------------ Date: Wed, 17 Feb 88 08:16:54 EST From: "Paul H. Calamai" Subject: Re: ? under-twiddle ? Michael Meyer : > > > One of my colleagues like to use an under-twiddle (or under-tilde) as part of > his notation. (On the blackboard he uses this notation for vectors, and wants > his notes to look the same). > > Does anyone have a good method of putting a tilde under a character. I'm not > a TeX-hacker, and though my simple efforts "work" they are far from perfect > (let alone elegant). I'm looking for something that will work like \underbar. > > Please respond directly to me -- our local distribution of TeXhax seems to be > broken. > > Many Thanks, > --Mike Meyer mikem@andrew.cmu.edu > Statistics, Carnegie-Mellon U > How about this: % The command underwiggle puts a `wiggle' under the corresponding character. % It is an adaptation of the TeX command \underbrace (TeXbook, page359) \def\underwiggle#1{\mathop{\vtop{\ialign{##\crcr $\hfil\displaystyle{#1}\hfil$\crcr\noalign{\kern2pt\nointerlineskip} $\scriptscriptstyle\sim$\crcr\noalign{\kern2pt}}}}\limits} ------------------------------ %%% %%% subscriptions, address changes to: texhax-request@score.stanford.edu %%% please send a valid arpanet address!! %%% %%% BITNET distribution: subscribe by sending the following %%% line to LISTSERV@TAMVM1.BITNET: %%% SUBSCRIBE TEX-L %%% %%% submissions to: texhax@score.stanford.edu %%% %%%\bye %%% ------------------------------ End of TeXhax Digest ************************** -------