Subject: TeXhax Digest V89 #80 From: TeXhax Digest Errors-To: TeXhax-request@cs.washington.edu Maint-Path: TeXhax-request@cs.washington.edu To: TeXhax-Distribution-List:; Reply-To: TeXhax@cs.washington.edu TeXhax Digest Wednesday, September 6, 1989 Volume 89 : Issue 80 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: Per-thousand sign Squeezing spaces from write token list PC-TEX for Multitasking Systems Re: TeXhax Digest V89 #74 (integrating graphics and TeX) Looking for Bibtex for the Mac Question about dvipage Re: TeXhax Digest V89 #70 (Typos) Public Domain TeX--screen previewer and driver Re: Special purpose tabular Re: LFONTS kludge Terminating no-arg command strings Re: Explicitly terminating control string names Explicitly terminating control strings Preventing pagebreaks after \par Pagebreaks between paragraphs Re: MTEX- music typesetting in TeX --------------------------------------------------------------------------- Date: Sun, 27 Aug 89 00:28 GMT From: Peter Flynn UCC Subject: Per-thousand sign Keywords: per thousand sign There is a per-mille sign in the Hodge-Podge font MDHPnn which can be obtained from Malcolm Clark (or I believe direct from the MetaFoundry, Dublin, Ohio). Otherwise you're on your own. ...Peter Flynn Cork U Comp Cent ------------------------------------------------------------------------- Date: Fri, 25 Aug 89 10:53:58 -0400 From amgreene@ATHENA.MIT.EDU Fri Aug 25 07:54:47 1989 Subject: Squeezing spaces from write token list Keywords: write token list [Carlos A. Felippa asks about getting \writedef{macroname}{macrodefinition} to write the line \def\macroname{macrodefinition} to a file.] You might try \def\writedef#1#2{{\edef\tmp{\expandafter\string\csname #1\endcsname} \immediate\write16{\def\tmp{#2}}}} which uses \csname..\endcsname to make your text argument into a command string, then uses \string to get its value (including the \escapechar). Look on page 40 of the TeXbook, where a similar example is given. I hope this helps! - Andrew Marc Greene MIT Project Athena --------------------------------------------------------------------------- Date: Fri, 25 Aug 89 15:41 EDT From: MICDD@ubvmsc.cc.buffalo.edu Subject: PC-TEX for Multitasking Systems Keywords: PC-TeX, multitasking Does anyone know if a version of PC-TEX is available for either OS/2, XENIX, AIX or some other PC multitasking operating system????? A user who uses PC-TEX extensively requires to be able to do compiling, printing, etc. since his documents are quite large. Any suggestions or solutions will be greatly appreciated. David A. Durni Micro Support Group SUNY Buffalo MICDD@UBVM -------------------------------------------------------------------------- Date: Fri, 25 Aug 89 13:31:43 SET From: Bernhard Vogeler Subject: Re: TeXhax Digest V89 #74 (integrating graphics and TeX) Keywords: graphics, TeX, LaTeX in TeXhax V89 #74 Nachum Shachan asks for some help while integrating graphics and TeX/LaTeX. There is a nice package of macros written by Michael J. Wichura, Univ. of Chicago, called PiCTeX. A description of this macro system is published as paperback: TeXniques, Publications for the TeX Community, Number 6 "The PICTEX Manual" This book includes a MS-DOS Diskette ready for Installation. B. Vogeler ------------------------------------------------------------------------- Date: Thu, 24 Aug 89 16:45:31 EDT From: Michael D. Prange Subject: Looking for Bibtex for the Mac Keywords: BibTeX, Mac %% Moderator's note: BELTRAME@ICNUCEVM.CNUCE.CNR.IT is also %% interested in any information on this subject. Does anyone have a version of Bibtex which works on the Macintosh? Michael -------------------------------------------------------------------------- Date: Wed, 23 Aug 89 17:15:40 PDT From: slo@ipac.caltech.edu (Steven Lo) Subject: Question about dvipage Keywords: dvipage Hi, I am a new user of the dvipage tool and I have a question which you may help me answer it. How can I condense the character of the dvipage output?? I can't even view the whole page of the document on the dvipage tool. Do I have to generate another set of font or I have to modify the source of the dvipage?? Can you give me some suggestions. Thank you. Steven Lo ...... ----------------------------------------------------------------------- Date: Wed, 23 Aug 89 15:48:01 PDT From: siemsen%skat.usc.edu@usc.edu (Pete Siemsen) Subject: Re: TeXhax Digest V89 #70 (Typos) Keywords: METAFONT, typos I've found 4 typos in the METAFONTbook. Who should I tell? ------------------------------------------------------------------------- Date: Wed, 23 Aug 89 12:18:24 EDT From: Will Thacker Subject: Public Domain TeX--screen previewer and driver Keywords: driver, previewer, PD TeX Does anyone know where I could get a public domain version of a screen previewer for the IBM/PC and/or a public domain version of an IBM graphics printer driver for the PC. Thanks. ------------------------------------------------------------------------- Date: Thu, 24 Aug 89 15:51:40 EDT From: Denys Duchier Subject: Re: Special purpose tabular Keywords: tabular, environment > I'm trying to define an environment for writing BNF-type grammar > descriptions. Seems to me what i want is something like a tabular > environment with two columns. My first pass is this: > > \begin{tabular}{r@{\ $\rightarrow $\ }l} > > Now the problem: if the right-hand side of an expression doesn't fit on a > single line, i want it wrapped without getting extra production > arrows, i.e. something like There is no easy way to do what you want. However, you might try the following: \newdimen\foodim \newbox\foobox \def\foosetup#1{\setbox\foobox\hbox{#1{\ $\rightarrow$\ }}\foodim\linewidth \advance\foodim-\wd\foobox\advance\foodim-2\tabcolsep} \newenvironment {footab}[1]% {\foosetup{#1}\center\tabular{r@{\ $\rightarrow$\ }p{\foodim}}}% {\endtabular\endcenter}% You would use it like this: \begin{footab}{longuest-left-hand-side} ... \end{footab} Now of course you have to know which is the longuest left-hand side... Oh well! I hope this helps though. --Denys Organization: Computer Science, Yale University, New Haven, CT 06520-2158 --------------------------------------------------------------------------- Date: Thu, 24 Aug 89 16:34:40 -0700 From: lamport@src.dec.com Subject: Re: LFONTS kludge Keywords: LFONTS, kludge John Jorgensen writes: At the top of ``LFONTS - Version of 11 November 1986'' are the lines: % This file contains the following kludge: 8pt and 9pt versions % of \sc call magnifications of amcsc10 instead of cmcsc10. % Search for KLUDGE to find for both instances. What's the point of the kludge? Why not just shrink cmcsc10, the way that ``LFONTS - Version of 6 May 1986'' did? Is the shrunk AM font thought to look better? I don't have the AM fonts on hand now--is it worth getting them instead of just switching back to using cmcsc10? A more interesting question is: Is the current version of LFONTS.TEX, dated 10 April 1989, which does not have this kludge, currently on Score? Leslie Lamport ----------------------------------------------------------------------------- Date: Sat, 26 Aug 89 0:01:22 EDT From: Bernie Cosell Subject: Terminating no-arg command strings Keywords: command strings, termination Thanks, all, for the advice and suggestions. The most popular one was just to use paired braces. Either \bbn{} or {\bbn} work fine. BUT.. a few people pointed me at Knuths "\TeX/" example in the TeX Book and that proved to be the winner for my purpose. Here's what I've done. I have added to my project-local style files (eventually to get into our master styles, if not moving right into latex.tex if anyone globally thinks this is worthwhile) the following little definition: \def\abbr#1#2{\def#1/{#2}} Then what I do is in all the places where I would normally use \newcommand, I instead do something like: \abbr{\bbn}{{\caps BBN}} And now in my document, I reference 'bbn' by just doing "\bbn/" *always*. No special cases, no border conditions... and it isn't even very uglyto type or to look at. Another problem solved! /Bernie\ ps, I know that my definition for \abbr would never do for latex.tex, but I tried to sort out how it does \newcommand and pattern \abbr after it, but THAT tangle was completely unravelable [what IS that @tempb machinery trying to do, anyway?], so I gave up and went with something simple to start with... /b\ ---------------------------------------------------------------------------- Date: Fri, 25 Aug 89 13:06:33 BST From: Martin Ward Subject: Re: Explicitly terminating control string names Keywords: TeX, character The problem: no argument commands in running text require a backslash after them but ONLY if they are followed by a space (eg you type \bbn\ in the middle of a sentance but at the end its \bbn.) The solution: include a terminating character in the definition of the command, eg: \def\bbn|{... defn of \bbn} The character can be almost anything other than a letter, #, \, %, { or }, since it is not expanded. Here's an example of mine taken from my LaTeX style file for typesetting algorithms. I wanted to type in variable names as: |long_var_name| which should work in text or math mode. I also wanted to use _ in math mode to denote subscripts, and I wanted | to work as normal in the preamble to an array or tabular environment. Finally I wanted |\ (ie | followed by a space) to have the normal effect of a single |. % Set up | as a variable delimiter and _ as \_ outside math mode: % Simple vars will have the form: |very_long_pascal_variable_name| % The test of \@sharp checks if the | is in an array or tabular % environment preamble - if so then | has its default value. % Otherwise, if next char is a space then | has default value. % If next char is not a space then | is a variable delimiter. \catcode`\|=12\relax \def\origbar{|} \catcode`\|=\active \catcode`\_=\active \def_{\ifmmode\sb\else\_\fi} \def|{\ifx\@sharp\relax\origbar\else\@xdovar\fi} % The argument to \@xdovar will be the closing \fi of | % This is so that \@dovar can find the variable name immidiately. \def\@xdovar#1{#1\@ifnextchar \ {\origbar\@gobble} {\@dovar}} % #1 = \fi from defn of | \def\@dovar#1|{\variable{#1}} A question for the _real_ TeX hackers: How can you define \bbn so that you _can_ type \bbn\ every time. The problem is that the \ (and the next character or sequence of letters) has already been read (while TeX is looking for the end of the \bbn name) before \bbn is expanded so you can't define \bbn to make \ an active character which restores the catcode of \. Martin. My ARPANET address is: martin%EASBY.DUR.AC.UK@CUNYVM.CUNY.EDU OR: martin%uk.ac.dur.easby@nfsnet-relay.ac.uk UUCP:...!mcvax!ukc!easby!martin JANET: martin@uk.ac.dur.easby BITNET: martin%dur.easby@ac.uk ---------------------------------------------------------------------------- Date: Fri, 25 Aug 89 13:59:39 MDT From: Dirk Grunwald Subject: Explicitly terminating control strings Keywords: control string names, termination Bernie Cosell writes: >> There is a real problem with using no-argument commands in running text: >> the algorithm for how to terminate them is moderately complicated, and >> is viewed as being mostly a total crock by less-than-experts. It'd be and he's correct, it's a pain. The solution I've found most successful, particularly when you decided to globally replace names is: Digitial Equipment Corporation -> {\dec} This works fine for: DEC. -> {\dec}. the DEC sales... -> the {\dec} sales I haven't seen any cases where this notation causes any problems, and it's a lot simpler than the rules I was using before. Dirk Grunwald -- Univ. of Colorado-Boulder (grunwald@boulder.colorado.edu) Office: 6-1 EECR (303) 492-0452 --------------------------------------------------------------------------- Date: Fri, 25 Aug 89 19:01 EDT From: "Jerry Leichter - LEICHTER-JERRY@CS.YALE.EDU" Subject: Preventing pagebreaks after \par Keywords: pagebreaks, \par In a recent TeXhax, Stephan Bechtolsheim says: The problem I would like to address is how to prevent page breaks between paragraphs. He suggests one possibility: 2. When you write xxxxxxxxx \par \penalty 10000 yyyyyyyyy then the vertical list around the \par looks as follows: last line box of xxxxxxx paragraph \penalty 10000 \parskip glue interline glue (computation based on baselineskip) first line box of yyyyyyyy paragraph 3. How do you attach / assign a penalty to the interline glue? Because if you don't, a break can occur at this point (remember: glue is a "legal break point" unless preceded by a penalty.) He "remembers" wrong! According to the TeXbook (page 110), page breaks may occur "at glue, provided that this glue is immediately preceeded by a non- discardable item (i.e., by a box, whatsit, mark, or insertion)." Since the interline glue is preceeded by \parskip glue, which is discardable, no page break can occur at it. (BTW, since a penalty is discardable, no break can occur at the \parskip glue either. There is no special rule for penalties.) For both line and page breaking, successive gobs of glue are effectively fused into a single unit; a break can only occur before or after the whole unit, never within it. (Also, a SINGLE kern may precede a glue unit and be considered part of it. A kern in any other position forms a unit of its own.) If you imagine a pre-pass which does this fusing, then the rules for breaking vertical lists are simple: Breaks can occur at the top of a glue/kern unit, or at a penalty. (The situation for horizontal lists is more complex because of the embedded math items and discretionaries, but as far as breaking around glue and kerns, the same rules apply.) -- Jerry -------------------------------------------------------------------------- Date: Sat, 26 Aug 89 08:29:39 EST From: integin!svb@cs.purdue.edu (Stephan Bechtolsheim) Subject: Pagebreaks between paragraphs Keywords: pagebreaks, paragraphs "In reply to my own message:" I discussed this with Barbara Beeton who pointed out that I was wrong (LaTeX doesn't seem to make it right always, I guess that is how I got my missinformation). To correct my mistake: if TeX is in vertical mode and you say \nobreak Some text then the penalty of 10000 will be applies to parskip AND the following baselineskip and therefore a pakebreak IS prevented. Stephan Bechtolsheim svb@cs.purdue.edu -------------------------------------------------------------------------- Date: Tue, 29 Aug 89 01:01:25 SET From: VBRANDT%DBNUAMA1.BITNET@CUNYVM.CUNY.EDU Subject: Re: MTEX- music typesetting in TeX Keywords: MTeX, music typesetting Peter Flynn UCC says: >Over the weekend I downloaded the MTeX fonts for music typesetting from the >Aston archive. These were put together by Angelika Schofer & Andrea Steinbach >in 1987 for typesetting music in TeX, and submitted (I believe) as part of a >thesis. ... >VERY impressive. S&S clearly deserve their PhD on this. ... Well, it was 'only' a diploma thesis ... :-) >Congratulations to both, where are you, and can we >expect more? If not, have S&S any pointers as to their intentions? Well, I know Andrea Steinbach personally, and I have to report that she hasn't done any work on the subject since she submitted her thesis. She has since moved away from Bonn (to Stuttgart), and I haven't seen her for a while. If anyone is interested in contacting Andrea, I can give you her mailing address (here in Germany). I don't know how to get hold of her colleague, though. Bitnet: VBRANDT@DBNUAMA1 (will go away late '89) Volker A. Brandt UNM409@DBNRHRZ1 (soon) Angewandte Mathematik UUCP: ...!unido!DBNUAMA1.bitnet!vbrandt (Bonn, West Germany) ARPAnet: VBRANDT%DBNUAMA1.BITNET@CUNYVM.CUNY.EDU ------------------------------------------------------------------------------- %%% 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@xxx %%% where xxx is the nearest geographical site in the %%% tree shown below %%% SUBSCRIBE TEX-L % to subscribe %%% or UNSUBSCRIBE TEX-L %%% Here is the BITNET re-distribution tree as shown in a recent %%% REVIEW (The geography is guessed at from the subscription list) %%% %%% CLVM TAMVM1 FINHUTC %%% | | (Finland, UK, Scand, CERN) %%% | | | %%% TeXhax ----> UWAVM ----- MARIST ----- EB0UB011 ----- BNANDP11 %%% | (France,Italy,Spain) (Belgium) %%% | | %%% UBVM HEARN --- DEARN %%% (Netherlands) (Germany) %%% %%% Internet: 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. %%% %%% JANET users may choose to use %%% texhax-request@uk.ac.nsf %%% %%% 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.99 metafont 1.7 %%% plain.tex 2.94 plain.mf 1.7 %%% LaTeX 2.09 ( 5/24/89) cmbase.mf see cm85.bug %%% SliTeX 2.09 gftodvi 2.0 %%% tangle 2.9 gftopk 2.0 %%% weave 3.1 gftype 3.0 %%% dvitype 2.9 pktype 2.2 %%% pltotf 2.3 pktogf 1.0 %%% tftopl 2.5 mft 1.1 %%% BibTeX 0.99c %%% AmSTeX 1.1d %%%\bye %%% End of TeXhax Digest ************************** -------