TeXhax Digest Thursday, January 12, 1989 Volume 89 : Issue 2 Moderators: Tiina Modisett and Pierre MacKay %%% The TeXhax digest is brought to you as a service of the TeX Users Group %%% %%% in cooperation with the UnixTeX distribution service at the %%% %%% University of Washington %%% Today's Topics: 4th Annual Meeting of European TeX Users Combining the functions of METAFONT and PostScript The METAFONT\Postscript controversy Patch for DVIPAGE Height of less-than sign, etc. Hyphenation in \tt font Generic tex for ftp Re: Change Bars in LaTeX Needed: tex.pool from SBTeX A few questions about (plain) TeX... Re: TeXhax Digest V88 #110 Spacing: a query Suggested information for new book ------------------------------------------------------------------------------ Date: 29-DEC-1988 13:45:23 GMT From: FPS@VAXA.CC.IMPERIAL.AC.UK Subject: 4th Annual Meeting of European TeX Users ________________________________________________________ * * * First Announcement and Call for Papers * *________________________________________________________* ________________________________________________________ * * * 4th Annual Meeting of European TeX Users * * * * TeX89 * * * * September 11--13, 1989, Karlsruhe, FRG * *________________________________________________________* TeX89, the 4th European TeX Conference, will take place at Karlsruhe University, FRG, from Monday, September 11, to Wednesday, September 13, 1989. The conference will be organized by Anne Brueggemann-Klein, Department of Computer Science, University of Freiburg, and Rainer Rupprecht, Computing Center, University of Karlsruhe. Following the tradition of last years' conferences, contributions are welcome from all areas of TeX, Metafont, and related subjects. Likely themes might include: * document structures (LaTeX, SGML, ODA,...) * non-technical TeX (humanities, music, exotic languages,...) * other technical areas (chemistry, physics, biology,...) * difficult jobs with TeX, LaTeX,... * graphics and TeX * TeX training * TeX as part of a larger system (user interfaces, tools, environments,...) * TeX as a production tool * fonts to use with TeX (Metafont and other systems) * TeX and PostScript * Macro packages * public domain TeX vs. commercial TeX Besides traditional paper sessions, discussion groups on special subjects and exhibitions will be organized. In a special session at the end of the conference, highlights of the discussion groups will be presented to the general audience. Conference proceedings will be published after the conference. Various workshops and participatory seminars will be offered before and after the conference. Proposals for topics and voluntary tutors are welcome. The conference fee will be approximately DM 280,--. The fee includes registration materials, lunches, social events and a copy of the conference proceedings. A second circular containing a preliminary program will be out by March 31, 1989. RETURN UNTIL FEBRUARY 28, 1989 Name ________________________________________________________ Affiliation ________________________________________________________ Address ________________________________________________________ ________________________________________________________ ________________________________________________________ Telephone __________________ email ___________________________ Please tick where appropriate: _ |_| Please add my name to the TeX89 mailing list. _ |_| I seriously consider to attend the conference. _ |_| I would like to present a paper. The title will be: _______________________________________________________________ _______________________________________________________________ My talk will take ______ minutes. The abstract (1 page) is included. _ |_| I would like to contribute to or participate in discussion groups on: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ _ |_| I would like to offer a workshop before or after the conference on: _______________________________________________________________ _______________________________________________________________ _ |_| I would like to participate in a workshop before or after the conference on: _______________________________________________________________ _______________________________________________________________ _______________________________________________________________ Send to: Rainer Rupprecht Rechenzentrum Universitaet Karlsruhe Postfach 6980 7500 Karlsruhe 1, FRG email: RZ32@DKAUNI48 (bitnet) RETURN UNTIL FEBRUARY 28, 1989 ------------------------------------------------------------------------- Date: Fri, 23 Dec 88 06:51:31 GMT From: INFO Subject: Combining the functions of METAFONT and PostScript Keywords: METAFONT, PostScript David F. Rogers remarked that "Linear scaling is one of the reasons PostScript fonts are ugly at certain sizes." The university of Zurich is operating a Lino typesetter, we use point sizes in the range from 7 to 72 points (and more), these fonts look extremely professional. Why do you think, that now, ALL typesetter manufacturers have implemented PostScript ? These ALL include Agfa, Autologic, Compugraphic, Linotype, Monotype, Scitex, Varityper. Do you think the printing industry would have accepted 4000 PostScript RIPs, when the PostScript fonts look ugly (as you say). Sincerely yours, Peter Vollenweider Computing center at the university of Zurich, Switzerland. (I have no commercial relations with any company, except that I have published a german book about PostScript) ----------------------------------------------------------------- Date: Tue, 27 Dec 88 17:21:16 PST From: mackay@june.cs.washington.edu (Pierre MacKay) Subject: The METAFONT\Postscript controversy Keywords: METAFONT,PostScript Our position here in the box seats has given us as moderators a chance to think this question over rather carefully, and we feel that some of the argument may be a matter of comparing apples and oranges. First: As a way of describing a font character graphically, PostScript is more comparable to Generic Font format (GF) than it is to METAFONT. METAFONT is a design tool, which at present produces GF format by preference. There is no reason, other than the question of what target resolution should be chosen to preserve fine detail, why METAFONT cannot produce a form of PostScript outline. It will not be as slick and economically coded as the commercial fonts, because it will be a mechanically produced code, and it will have elements, such as ink-traps which interrupt the smooth flow of the various curves. If a properly conscientious effort is made, it should be perfectly possible to retain all the fine detail that distinguishes cmr5 from cmr10, by the simple expedient of storing more outlines. In all probability a full set of outlines will still be more economical of storage than a full set of GF or even PK rasters. Second: There would be real advantages to such a set of outlines. Arbitrary magnifications would be possible for formatting experiments, on the fly, and global magnifications would be far easier. The improvement in output quality if you print at 1.315 and then reduce to 74% has to be seen to be appreciated. Our old 200 dpi Versatec used to produce output that rather surpassed what most CanonCX machines produce when 1.315 global magnification and subsequent reduction was used. CanonCX 300dpi output globally raised to \magstep1 and then reduced looks a lot more like typesetting than true-size CanonCX output. Third: Nobody is claiming that the single-master Adobe fonts are hopelessly ugly---in fact they are a fairly skillful compromise if you insist that programming convenience is more important than aesthetic refinement. Ever since the Lumigraph metamorphosed into the Photon, typesetter manufacturers have been trying to sell that compromise as a feature. But the fact remains that it is a compromise, and is made entirely for economic reasons and for programming convenience. When Brian Reid, in an interview with Unix Review (July, 1987, Volume 5:7, page 55) announced that, "I can't think of any manufacturer in the United States that offers more than two versions of a font in any size and style," he did not then say that this restriction resulted in better fonts; he knows better. He said simply that it is easier to sell cheap laser printers to the Topeka Times Herald if you adopt the quick-and-dirty approach to font scaling. There may even be some magic in the carefully protected Adobe fonts which does something a bit better than absolute linear scaling ON SOME MACHINES, but the general impression I get from looking at what passes for Times at 5pt on a PostScript machine is that it is a shrunken, wizened and prune-like residuum of Times at 12pt. The up-to-date font vendor has not given up on the use of ff ffi fl and ffl ligatures because the results look better---they don't. The reason for abandoning the ligatures is simple programming convenience. If that is more important to you than the fine points of font character design, then maybe you should be using MacWrite or WordStar, rather than TeX. Fourth: There is absolutely no reason for the TeX and METAFONT community to feel that it must surrender to the single-master/no-ligature compromise. If we find good arguments for using PostScript outlines rather than GF format, then let us show how the job ought to be done by those who can afford a little concern for aesthetic qualities. We could chain code around GF outlines and derive PostScript vectors from that data, or trap the output in an earlier stage of METAFONT and produce PostScript outlines that way. But nothing forces us to limit such productions to a mean-spirited single master with no design size. PostScript masters with design-size specifications is what we want, and behind them will always lie the carefully crafted METAFONT character descriptions. At all times, we should keep in mind the first point raised above. PostScript is not the equivalent of METAFONT. Its use in font character descriptions is entirely mechanical, at a level only slightly higher than GF format and, in that context, it lacks all the wealth of design features that METAFONT offers. Try changing the bar height on one of your Adobe fonts, or try altering the proportion of ascender to x-height. Try extending the bowls without altering the hairline, stem and curve proportions. Read Donald Knuth's article about the special fonts used for {\it Concrete Mathematics} in TUGboat 10:1 (forthcoming). Email: mackay@june.cs.washington.edu Pierre A. MacKay Smail: Northwest Computer Support Center TUG Site Coordinator for Lewis Hall, Mail Stop DW10 Unix-flavored TeX University of Washington Seattle, WA 98195 (206) 543-6259 ------------------------------------------------------------------------------ Date: Tue, 27 Dec 88 16:05:32 GMT From: Dr R M Damerell (RHBNC) Subject: Patch for DVIPAGE Keywords: previewer Patch for DVIPAGE. Dvipage is a DVI previewer program for Suns. The version I have is Version 2.0, written by Neil Hunt (hunt@spar.slb.com) and copyright by Schlumberger Technologies, Inc (on liberal terms). Suppose that your DVI file tries to call for a PXL file that isnt there, then dvipage prints an error message and stops. In particular, if your machine does not have all the required font files at all required magnifications, you cannot look at your output. I dislike this, so as a partial remedy I patched dvipage to make it search for the font at nearby magnifications before giving up. Here are the patches. Disclaimer: this is offered free, AS IS, with absolutely no guarantee. It has worked sometimes. Put the tail end into the dvipage directory, then call Patch on it. R.M.Damerell. &--------------------- CUT HERE ------------------------------- *************** *** 2681,2687 **** } /* ! * read_font_def: */ bool --- 2681,2688 ---- } /* ! * read_font_def: This procedure changed by RMD: If a font file cannot be found, ! then search for it at nearby magnifications before giving up. */ bool *************** *** 2688,2694 **** read_font_def(k) int k; { ! int t, i; register struct font_entry *tfontptr; /* temporary pointer */ register struct char_entry *tcharptr;/* temporary char_entry pointer */ char *direct, *tcp, *tcp1; --- 2689,2695 ---- read_font_def(k) int k; { ! int t, i, true_mag, del, temp_mag ; register struct font_entry *tfontptr; /* temporary pointer */ register struct char_entry *tcharptr;/* temporary char_entry pointer */ char *direct, *tcp, *tcp1; *************** *** 2714,2752 **** fread(tfontptr->n, 1, tfontptr->a+tfontptr->l, dvifp); tfontptr->n[tfontptr->a+tfontptr->l] = '\0'; tfontptr->font_space = tfontptr->s/6; /* never used */ ! tfontptr->font_mag = (int)((actual_factor((int)(((float)tfontptr->s/ (float)tfontptr->d)*1000.0 + 0.5)) * #ifdef USEGLOBALMAG actual_factor(mag) * #endif (float)resolution * 5.0) + 0.5); - if (tfontptr->a != 0) - sprintf(tfontptr->name, - "%s.%dpxl", tfontptr->n, tfontptr->font_mag); - else - { - direct = pxl_path; - found = FALSE; - do - { - tcp = index(direct, ':'); - if(tcp == NULL) - tcp = strlen(direct) + direct; - strncpy(curarea, direct, tcp-direct); - tcp1 = curarea + (tcp - direct); - *tcp1++ = '/'; - *tcp1++ = '\0'; ! sprintf(tfontptr->name, "%s%s.%dpxl", ! curarea, tfontptr->n, tfontptr->font_mag); found = (access(tfontptr->name, READ) == 0); - if(*tcp) - direct = tcp + 1; - else - direct = tcp; } ! while( !found && *direct != '\0'); } if(tfontptr != pfontptr) { if(! open_font_file()) --- 2715,2771 ---- fread(tfontptr->n, 1, tfontptr->a+tfontptr->l, dvifp); tfontptr->n[tfontptr->a+tfontptr->l] = '\0'; tfontptr->font_space = tfontptr->s/6; /* never used */ ! true_mag = (int)((actual_factor((int)(((float)tfontptr->s/ (float)tfontptr->d)*1000.0 + 0.5)) * + #ifdef USEGLOBALMAG actual_factor(mag) * #endif (float)resolution * 5.0) + 0.5); ! del = 0; ! found = FALSE; ! do ! { ! temp_mag = true_mag + del; ! if (tfontptr->a != 0) ! { ! sprintf(tfontptr->name, ! "%s.%dpxl", tfontptr->n, temp_mag); found = (access(tfontptr->name, READ) == 0); } ! else ! { ! direct = pxl_path; ! do ! { ! tcp = index(direct, ':'); ! if(tcp == NULL) ! tcp = strlen(direct) + direct; ! strncpy(curarea, direct, tcp-direct); ! tcp1 = curarea + (tcp - direct); ! *tcp1++ = '/'; ! *tcp1++ = '\0'; ! sprintf(tfontptr->name, "%s%s.%dpxl", ! curarea, tfontptr->n, temp_mag); ! found = (access(tfontptr->name, READ) == 0); ! if(*tcp) ! direct = tcp + 1; ! else ! direct = tcp; ! } ! while( !found && *direct != '\0'); ! } ! if( !found && ( del > 0)) del = -del ; ! else if ( !found) del = 1-del; ! else tfontptr->font_mag = temp_mag ; } + while( !found && ( del < true_mag)) ; + if ( del != 0) + { + message( "Font %s will be loaded at different size", tfontptr->n ) ; + tfontptr->c = 0 ; /* Suppress 2nd message about checksums*/ + } if(tfontptr != pfontptr) { if(! open_font_file()) *************** *** 2868,2874 **** */ if((pxlfp=fopen(fontptr->name,"r")) == NULL) { ! message("Cant open PXL file %s", fontptr->name); return FALSE; } else --- 2887,2893 ---- */ if((pxlfp=fopen(fontptr->name,"r")) == NULL) { ! message("Cant open PXL file for %s", fontptr->n ); return FALSE; } else --------------------------------------------------------------------------- Date: Wed 28 Dec 88 07:10:45-EST From: b beeton Subject: Height of less-than sign, etc. Keywords: TeX peter flynn (texhax #110) asks for my comment on the height of the less-than sign. it happens that dek is current on his reading of texhax, and he has already forwarded an explanation to me. what follows is a paraphrase of his comments, along with some commentary of my own. in volume e of computers & typesetting, knuth acknowledges the design inspiration of "monotype modern 8a", which was the typeface used for the first volumes of the art of computer programming and his other favorite mathematics books. in that face, symbols for mathematical relations are centered vertically on letters like "x"; it was apparently a surprise to knuth to realize that parentheses are similarly aligned. these traditions were what he wished to capture in the computer modern fonts. some quick arithmetic based on the parameter values of cmr10 (volume e, pp 10-11) will demonstrate the relevant principle. asc_height 250/36pt# height of lowercase ascenders math_axis 90/36pt# axis of symmetry for math symbols desc_dp 70/36pt# depth of lowercase descenders 250 + 70 = 320 ; 320 / 2 = 160 ; 160 - 70 = 90 thus the math axis (on which the less-than and other relations are centered) is midway between the tallest and deepest points on a lower-case letter. for tt fonts, the practice is different -- asc_height=220 and math_axis=110 (cmtt10, vol e, p 16). see also the \up macro (texbook p 408) for the special case where brackets enclose a telephone number. in all of these situations, the answer is tradition. peter flynn also commented on the upright \mu, and dek adds: "I thought there was a font cmmu10 for unslanted math (like cmu10 but calling mathit instead of textit at the end), but I guess it hasn't survived on the computers here so it won't be found elsewhere either probably." given this hint, it should be little problem to generate a suitable font. remember that the greek letters in computer modern were designed for use in math, not text; for text, a font such as the one by silvio levy is more appropriate. -------------------------------------------------------------------------- Date: Wed 28 Dec 88 07:49:26-EST From: b beeton Subject: Hyphenation in \tt font Keywords: TeX since the \tt fonts are most often used for special codes that shouldn't be hyphenated, hyphenation has been suppressed by setting the value of the tex primitive \hyphenchar = -1 (this is done in the file lfonts.tex, which is part of the preloaded package that comprises latex). to reinstate hyphenation, the following instruction should be invoked for every font so affected: \hyphenchar = `\- here are the relevant lines from lfonts: \hyphenchar\nintt = -1 \hyphenchar\tentt = -1 \hyphenchar\elvtt = -1 \hyphenchar\twltt = -1 ---------------------------------------------------------------------------- Date: Wed 28 Dec 88 09:25:00-EST From: b beeton Subject: Generic tex for ftp Keywords: TeX new versions of tex, latex, and amstex are first installed at score.stanford.edu in the directory complex, from which they are available for anonymous ftp. score is a tops-20 system. instructions for ftp and a general description of the directories are given in -readme-.getting-tex -- this file should be retrieved first by anyone not familiar with score. for programs written in web, only the .web files at score should be assumed to be up-to-date; change files suitable for installing them on a particular computer and operating system are best obtained elsewhere. for macro packages such as latex and amstex, the latest versions in distribution will be at score. (a new version of amstex is under construction; when it has been installed at score, there will be a notice in texhax.) a repository of latex style files (additions to those written by leslie lamport) exists at latex-style@sun.soe.clarkson.edu; a list of the contents of this repository and instructions for ftp are published in every issue of tugboat. -- bb ----------------------------------------------------------------------- Date: Wed, 28 Dec 88 11:23:00 CST From: William LeFebvre Subject: Re: Change Bars in LaTeX Keywords: LaTeX The only sensible way to do change bars in TeX or LaTeX is by having the output routine set them. The output routine knows how the text will be set and can add change bars without effecting the paragraph itself. See the appropriate chapter of The TeXBook, then take a long look at LaTeX's output routine. Unfortunately, there aren't very many TeX output routine hackers around, as far as I know. William LeFebvre Department of Computer Science Rice University -------------------------------------------------------------------------- Date: Mon, 26 Dec 88 13:19-0500 From: Subject: Needed: tex.pool from SBTeX Keywords: TeX, query I recently downloaded, de-arced sbtex using tprolog unpack but tex.pool was not found. Can anyone tell me where I can find the file tex.pool from sbtex or can anyone send a copy to me? Thank you. -------------------------------------------------------------------------- Date: 26 December 1988 19:23:22 CST From: "Michael J. Steiner " Subject: A few questions about (plain) TeX... Keywords: TeX {1} What are the differences between TEX and INITEX (under VM/CMS, if it matters) ? {2} How can I get TeX to do something every page (like the \everypar macro, except that this one would be \everypage) ? {3} I've been playing around with the \point macros from the TeX Book, and I was wondering if anyone has expanded that into a simple graphics package (something small, like SPRITE.TEX or the IMNS (sp?) table macros). {4} Where can I get the \qc font that is mentioned in the TeX Book, (Appendix D, Dirty Tricks) for making things with the quarter-circles in it? Thanks, Michael Steiner Email: U23405@UICVM.BITNET ------------------------------------------------------------------------------ Date: Wed, 28 Dec 88 13:18:47 PST From: lamport@src.dec.com (Leslie Lamport) Subject: Re: TeXhax Digest V88 #110 Keywords: LaTeX, SliTeX, PiCTeX David F. Kotz writes I have a problem with \makebox in LaTeX picture mode. The LaTeX book says that its reference point is the lower-left corner. I figure that if I use dimensions (0,0) and the default "pos" (which is horiz and vert centered), the object in my box would be centered on the point. The following example does not center the second and third circles correctly: \setlength{\unitlength}{10pt} \begin{picture}(50,50) \put(15,20){\line(1,0){10}} \put(20,15){\line(0,1){10}} \put(20,20){\circle{5}} % Centers fine \put(20,20){\makebox(0,0){\circle{3}}} % Too high \put(20,20){\makebox(0,0){\circle{.3}}} % Too far left \end{picture} His deduction that the object in my box would be centered on the point. is correct. However, there is a big jump from this to the assumption that the center of a \circle will be at the center. In fact, from the way the \put command operates, it is clear that the center of the circle cannot be in the middle of a circle if \put is to put the circle in the proper place. Phil Hutto writes Neither the LaTeX picture environment nor the PicTeX macro package appears to work in SliTeX. Has anyone remedied this or, failing a fix, can someone explain why it must be so? A vague complaint that something doesn't work is not going to elicit any helpful response--especially a complaint about something (in this case, the picture environment) that works just fine. Leslie Lamport ------------------------------------------------------------------------------- Date: Wed, 28 Dec 88 15:55:22 EST From: miller@cs.Buffalo.EDU (Russ Miller) Subject: Spacing: a query Keywords: TeX do we have commands yet for doing spacing - based on either # of lines per page, distance between lines, whatever? ----------------------------------------------------------------------------- Date: Fri, 30 Dec 88 02:21:28 EST From: magill@eniac.seas.upenn.edu (Operations Manager) Subject: Suggested information for new book Keywords: LaTeX Dr. Lamport's recent description of the problem of incorrect spacing caused by incorrect spaces needs SERIOUS discussion someplace. I find "real TeX" to be virtually incomprehensible because it "isn't broken up logically". I too have tried to break commands up "logically" -some times successfully, sometimes not. See, I learned to program in FORTRAN II and tend to write even my APL - one "logical thing" per line. So I guess what is needed is a "pretty print" for LaTeX - maybe a chapter on the "style" of writing LaTeX "code"... How to avoid incorrect spacing caused by incorrect spaces, kind of thing. Put another way. LaTeX is incredibly powerful...but it doesn't always do EXACTLY what I want - so I need to diddle it. However, since this only happens once in a blue moon, I don't have either the time or inclination to do all the empirical exercises. I need to be able to avoid the "gotchas" as much as possible when doing "simple" (ha ha) format changes. [Typical type change is to create a letterhead "style".] I use LaTeX as a tool - just like a hammer. I don't really need to know how to make steel to switch from a claw hammer to a 10 pound sledge, but I need to know what steel looks like, so if I pick up a rubber mallet with the same size head - I'll realize it. William H. Magill Manager, PENNnet Operations Planning Data Communications and Computing Services (DCCS) University of Pennsylvania Internet: magill@dccs.upenn.edu magill@eniac.seas.upenn.edu magill@upenn.edu BITnet: magill@pennlrsm --------------------------------------------------------------------------- %%% The TeXhax digest is brought to you as a service of the TeX Users Group %%% in cooperation with the UnixTeX distribution service at the %%% University of Washington %%% %%% Concerning subscriptions, address changes, unsubscribing: %%% BITNET: send a one-line mail message to LISTSERV@UWAVM.ACS.WASHINGTON.EDU %%% SUBSCRIBE TEXHAX % to subscribe %%% or UNSUBSCRIBE TEXHAX %%% %%% All others: send a similar one line mail message to %%% TeXhax-request@cs.washington.edu %%% Please be sure you send a valid internet address!! %%% in the form name@domain or name%routing@domain %%% and use the style of the Bitnet one-line message, so that %%% we can find your subscription request easily. %%% %%% All submissions to: TeXhax@cs.washington.edu %%% %%% Back issues available for FTPing as: %%% machine: directory: filename: %%% JUNE.CS.WASHINGTON.EDU TeXhax/TeXhaxyy.nn %%% yy = last two digits of current year %%% nn = issue number %%% %%% For further information about TeX Users Group services and publications %%% contact Karen at KLB@SEED.AMS.COM or write to TUG at %%% TeX Users Group %%% P.O. Box 9506 %%% Providence, R.I. 02940-9506 %%% Telephone (401) 751-7760 %%% %%% Current versions of the software now in general distribution: %%% TeX 2.93 metafont 1.5 %%% plain.tex 2.92 plain.mf 1.0 %%% LaTeX 2.09 (10/26/88) cmbase.mf see cm85.bug %%% SliTeX 2.09 gftodvi 1.7 %%% tangle 2.8 gftopk 1.4 %%% weave 2.9 gftype 2.2 %%% dvitype 2.9 pktype 2.2 %%% pltotf 2.3 pktogf 1.0 %%% tftopl 2.5 mft 0.3 %%% BibTeX 0.99c %%%\bye %%% End of TeXhax