TeXhax Digest Tuesday, September 15, 1987 Volume 87 : Issue 75 [SCORE.STANFORD.EDU]TEXHAX75.87 Editor: Malcolm Brown Today's Topics: Bibliographic systems with TeX output \write without expanding tokens MakeIndex now works under VMS TeX for BULL DPS 8/70 Re: Fonts and Macros for setting Music microTeX and AMSTeX Re: question about BibTeX TeX index and Postscript TeX/LaTeX for PDP 11/23+ Flushing to Right Margin in An \halign TANGLE Mod Causes MF and PK Bugs on Some Systems Re: Re: ... setting Music two questions Re: two questions Re: German hyphenation patterns Frames Around Text ---------------------------------------------------------------------- Date: Sun, 6 Sep 87 19:47:18 EDT From: Hal_Varian@um.cc.umich.edu To: texhax@score.stanford.edu Subject: Bibliographic systems with TeX output Ed Fox asked in texhax73.87 about bibliographic systems with TeX capabilities. I've used ProCite from Personal Bibliographic Systems here in Ann Arbor. This is a true database system that allows searching, merging, tagging, formatting, etc. It will easily generate output in TeX. There's another program sold by the same folks called ProLink that will read Dialog sessions into ProCite. I used this a few months ago to compile a 200 item bibliography, format it in TeX, and print it all out in about 2 hours. This task would have probably taken 2-3 weeks using conventional methods! You can call PBS at 313-996-1580, or write them at Personal Bibliographic Software, 412 Longshore Drive, Ann Arbor, MI 48104. I have no financial interest in the company, but I do know several of the principals. The owner is a professor of library science here. ------------------------------ To: teXhax@score.stanford.edu Subject: \write without expanding tokens Date: Mon, 07 Sep 87 11:47:14 PDT From: David G. Cantor In TeXhax, Volume 87, Issue 72, Norman Ramsey requests "an extension to TeX [providing] the same functionality as \write but without expanding the associated token list?" The following simple macro \noexpandwrite does that. It takes two arguments. The first argument is the number of the output file. The second argument terminates with \endnoexpandwrite and it is written to the file, verbatim. \chardef\other12 \outer\def\noexpandwrite{\begingroup \catcode`\\=\other\catcode`\{=\other\catcode`\}=\other \catcode`\$=\other\catcode`\&=\other\catcode`\#=\other \catcode`\%=\other\catcode`\~=\other\catcode`\_=\other \catcode`\^=\other\xnoexpandwrite} {\catcode`\|=0\catcode`\\=\other |gdef|xnoexpandwrite#1#2\endnoexpandwrite{|write#1{#2}|endgroup}} This is some text. \openout1=outfile \def\amacro{A macro} \noexpandwrite 1This is text. This is more text. This is an unexpanded macro: \amacro \endnoexpandwrite \closeout1 This is even more text. \bye dgc David G. Cantor Internet: dgc@math.ucla.edu UUCP: ...!{ihnp4, randvax, sdcrdcf, ucbvax}!ucla-cs!dgc ------------------------------ Date: Mon, 7 Sep 87 16:16:49 PDT From: KARNEY%PPC.MFENET@NMFECC.ARPA Subject: MakeIndex now works under VMS To: TeXhax@Score.Stanford.EDU MakeIndex now runs under VMS as well as Unix operating systems. MakeIndex is a general purpose indexer. I believe it does everything that you could wish from an indexer. The documentation (by Leslie Lamport) on MakeIndex is available in MAKEINDEX.TEX at SCORE.STANFORD.EDU. As I see it, its main virtues are: * Independent of formatting program. Although in its default configuration, it is set up to work with LaTeX, it is easily configured to work with other dialects of TeX or with other formatting programs. * It allows for arbitrary ordering of index entries. Thus you can get "Louis XVI" ordered as "Louis Seize", etc. * It allows for arbitrary formatting of page numbers. Thus you can get certain numbers put into bold face, the "ff." put on an indefinite page range, etc. * It permits the separate formatting of the index (so you don't need to re-TeX your entire document to see the index). * It knows how to deal with roman page numbers and composite page numbers (e.g., II-24). etc.... MakeIndex was written by Pehong Chen (phc@renoir.Berkeley.EDU). The port to VAX/VMS was made by Charles Karney (Karney%PPC.MFENET@NMFECC.ARPA). MakeIndex is part of Vortex. For information on obtaining MakeIndex, write to Professor Michael A. Harrison Att. Vortex Dist. Computer Science Division University of California Berkeley, CA 94720 or UUCP: ...!ucbvax!vortex-dist ARPA: vortex-dist@ucbvax.berkeley.edu CC: TeXhax@Score.Stanford.EDU KARNEY ------------------------------ Date: Tue, 8 Sep 87 01:50 N From: Subject: TeX for BULL DPS 8/70 To: texhax@score.stanford.edu Does anyone know if TeX runs on this beastie? It uses BULL MULTICS (yep, you heard me :-) Peter Flynn (CBTS8001@IRUCCVAX.BITNET) ------------------------------ Date: Tue, 08 Sep 87 10:42:09 SET To: texhax@score.stanford.EDU From: SCHMIDT%DBNUAMA1.BITNET@wiscvm.wisc.edu Subject: Re: Fonts and Macros for setting Music Date: 8 September 1987, 10:40:31 SET From: Alfred Schmidt 0228 - 733427 SCHMIDT at DBNUAMA1 As i stated earlier on this list, 2 thesises have been written in our institute covering Music input, TeX macros, and Fonts for Music setting; authors are Angelika Schofer & Andrea Steinbach. The corresponding TeX macros and MetaFont input will be made available to the net real soon now (so I hope), and a summary of the work will be presented in one of the next issues of TUGboat. A print of the thesises is now available, it costs 25 DM (Deutsche Mark). (The authors have to pay the printing themselves, so they need the money). If you want to get one, please send a check to: Angelika Schofer and Andrea Steinbach Institut f\"ur Angewandte Mathematik Universit\"at Bonn Wegeler Str. 6 5300 Bonn West Germany You may order your copy also by transferring the money to the following account at a german bank: Kreissparkasse Siegburg BLZ: 386 500 00 Konto Nr: 158 005 009 Inhaber: Angelika Schofer A. Schmidt ------------------------------ From: A4422DAB%AWIUNI11.BITNET@forsythe.stanford.edu Date: Tue, 08 Sep 87 16:29:28 MEZ To: TeXhax@score.stanford.edu Subject: microTeX and AMSTeX I have a problem with AMSTeX. I received a copy of the files and fonts for the IBMPC and I want to use it with microTeX from Addison Wesley. But when I unpack the low resolution fonts (IN EPSON120) and use the withe the -q4 option of dvi-eps they are only half sized. What do I do wrong? Erich Neuwirth ------------------------------ Mail-From: PATASHNIK created at 8-Sep-87 08:56:03 Date: Tue 8 Sep 87 08:56:03-PDT From: Oren Patashnik Subject: Re: question about BibTeX To: texhax@Score.Stanford.EDU, foxea%vtvax3.bitnet@WISCVM.WISC.EDU > From: > Subject: question about BibTeX, AAp standard, etc. > > I am considering switching over to using BibTeX for bibliographies and > wonder if this would be wise. I would like to have a database where > entries can be added in detailed form, where I can extract from that > for information retrieval purposes, and where I can get bibliographies > produced automatically in ACM, IEEE, CBE, MLA, etc. formats. We have > TeX and LaTeX and BibTeX, but in looking at our files I only saw > the following .bst files: abbrv, alpha, plain, unsrt. The .sty files > were: clbiba, clbibr, opbiba, opbibr. All the things you want are possible with BibTeX. The LaTeX style collection at Rochester contains ACM, IEEE (Transactions), and several other bibliography styles. To get others, and to do general database handling, you'll have to write your own .BST programs. Finally, with LaTeX version 2.09, the .STY files clbiba, clbibr, opbiba, and opbibr are obsolete. --Oren Patashnik (BibTeX implementor) ------------------------------ Date: Tue, 8 Sep 87 11:38 CDT From: Subject: TeX index and Postscript To: texhax@score.stanford.edu I would like to know about the availablility of the following: 1.) A program to automatically generate an index using Plain.tex. This program would need to run in either MS-DOS on a PC/AT compatible or in VAX/VMS environment. 2.) A public-domain DVI to PostScript conversion program that will run in MS-DOS or VMS. Thanks in advance. Marshall Breeding Library Automation Assistant Vanderbilt University BREEDIMM@VUCTRVAX.BITNET ------------------------------ Posted-Date: Tue, 8 Sep 87 15:01 EDT Date: Tue, 8 Sep 87 15:01 EDT From: Izchak Miller Subject: TeX/LaTeX for PDP 11/23+ To: texhax@score.stanford.edu Has anyone done this port? Please reply directly to me: izchak@cis.upenn.edu (Izchak Miller) Thankyou ------------------------------ Date: Tue, 8 Sep 87 15:32 EST From: Subject: Flushing to Right Margin in An \halign To: texhax@score.stanford.edu A previous message noted that the following attempt to typeset interlinear translations, with "Example I" flushed to the right margin, did not work: \halign to \hsize{# &# &# &# &\hfill#\cr Dies&ist&ein&Beispiel&Example I\cr This&is &an &example\cr} The solution is to note on p.238 of The TeXbook that "...\halign to \hsize will do nothing if the tabskip glue has no stretchability or shrinkability...". That is, the \hfill will NOT be used to stretch the last column to meet the \hsize request -- it is only used in setting the individual entries into that column. I believe the following will yield the spacing you were looking for: \halign to \hsize{# &# &# &# \tabskip=0pt plus\hsize&\hfill#\tabskip=0pt\cr Dies&ist&ein&Beispiel&Example I\cr This&is &an &example\cr} Kent Eschenberg Applied Research Laboratory Penn State University KEE@PSUARLC ------------------------------ Date: Tue, 8 Sep 1987 16:16:07 CDT From: "Thomas J. Reid" Subject: TANGLE Mod Causes MF and PK Bugs on Some Systems To: TEXHAX@score.stanford.edu >>>>> Notice to sites using a version of TANGLE which <<<<< >>>>> preserves case for Pascal identifier names: <<<<< In tracking down a problem I recently ran across in some PK files created by GFtoPK under VAX/VMS, I found that TANGLE was generating incorrect Pascal source code. The problem shows up in section 75 of GFtoPK (which writes a two-byte short character preamble). The WEB statement: flag_byte := flag_byte + comp_size div 65536 + 4 ; was converted by TANGLE into: flag_byte:=flag_byte+comp_size div 65540; TANGLE has provisions which prevent it from adding constants when one is adjacent to a ``*,'' ``/,'' ``MOD'' or ``DIV.'' However, the VAX/VMS change file which we use (as do many others) modifies TANGLE to preserve the case of Pascal identifiers; TANGLE was not recognizing ``div'' as being the same as ``DIV'' or ``mod'' as being ``MOD''. The TANGLE bug is easliy fixed by revising sections 105 (Contribution is * or / or DIV or MOD) and 110 (If previous output was DIV or MOD) to include tests for ``div'' and ``mod''. The problem can be fixed by inserting the WEB code at the end of this note into your change file for TANGLE. Again, this fix only applies to versions of TANGLE which have been modified to keep Pascal identifiers in lowercase. Implications of Bug: I ran TANGLE before and after making the fix to determine the extent of its impact. The programs I tested consist of: TANGLE WEAVE BiBTeX METAFONT GFtype GFtoPK GFtoDVI MFT GFtoPXL PKtype PXtoPK PKtoPX TeX POOLtype TFtoPL PLtoTF DVItype Of these, only METAFONT, GFtoPK and PXtoPK were affected. GFtoPK was wrong only in section 75 while PXtoPK was affected in sections 44 and 69. The GFtoPK and PXtoPK bugs result in unusable PK files for large size fonts (cminch, some magsteps of cmr17, etc.). METAFONT was affected in five statements: one statement in section 232 and four statements in section 566. Section 566 was modified to support on-line displays on a Tektronix terminal, so the bug in it is nothing significant (other than explaining why the Textronix stuff never worked for us). In section 232, the statement: name_type(q+s):=half(s)+x_part_sector; is converted by TANGLE into the remarkable: mem[q+s].hh.b1:=(s)div 7; The impact of the bug has not yet been assessed, although it does not seem to have made very much difference on any of our fonts. Thomas Reid Texas A&M University BITnet: X066TR@TAMVM1 ------------- Additions to WEB Change File for TANGLE Follow ------------- @x @ @= ((t=ident)and(v=3)and@| (((out_contrib[1]="D")and(out_contrib[2]="I")and(out_contrib[3]="V")) or@| ((out_contrib[1]="M")and(out_contrib[2]="O")and(out_contrib[3]="D")) ))or@| @~uppercase@> ((t=misc)and((v="*")or(v="/"))) @y @ @= ((t=ident)and(v=3)and@| (((out_contrib[1]="D")and(out_contrib[2]="I")and(out_contrib[3]="V")) or@| ((out_contrib[1]="d")and(out_contrib[2]="i")and(out_contrib[3]="v")) or@| ((out_contrib[1]="M")and(out_contrib[2]="O")and(out_contrib[3]="D")) or@| ((out_contrib[1]="m")and(out_contrib[2]="o")and(out_contrib[3]="d")) ))or@| @~uppercase@> ((t=misc)and((v="*")or(v="/"))) @z @x @ @= if (out_ptr=break_ptr+3)or ((out_ptr=break_ptr+4)and(out_buf[break_ptr]=" ")) then @~uppercase@> if ((out_buf[out_ptr-3]="D")and(out_buf[out_ptr-2]="I")and (out_buf[out_ptr-1]="V"))or @/ ((out_buf[out_ptr-3]="M")and(out_buf[out_ptr-2]="O")and (out_buf[out_ptr-1]="D")) then@/ goto bad_case @y @ @= if (out_ptr=break_ptr+3)or ((out_ptr=break_ptr+4)and(out_buf[break_ptr]=" ")) then @~uppercase@> if ((out_buf[out_ptr-3]="D")and(out_buf[out_ptr-2]="I")and (out_buf[out_ptr-1]="V"))or @/ ((out_buf[out_ptr-3]="d")and(out_buf[out_ptr-2]="i")and (out_buf[out_ptr-1]="v"))or @/ ((out_buf[out_ptr-3]="M")and(out_buf[out_ptr-2]="O")and (out_buf[out_ptr-1]="D"))or @/ ((out_buf[out_ptr-3]="m")and(out_buf[out_ptr-2]="o")and (out_buf[out_ptr-1]="d")) then@/ goto bad_case @z ------------------------------ Date: Wed, 09 Sep 87 09:07:01 SET To: texhax@score.stanford.EDU From: SCHMIDT%DBNUAMA1.BITNET@wiscvm.wisc.edu Subject: Re: Re: ... setting Music Date: 9 September 1987, 09:03:20 SET From: Alfred Schmidt 0228 - 733427 SCHMIDT at DBNUAMA1 Oops... I forgot to mention: The thesises about music setting are written in german, and the paper is about 160 pages long. - Alfred ------------------------------ Date: 09 SEP 87 08:53 CET To: TEXHAX@SCORE.STANFORD.EDU From: U04Z%CBEBDA3T.BITNET@wiscvm.wisc.edu (Igor Metz, Dept. of CS, CH-Bern) Subject: two questions 1. Are there any "document styles" for AMSTeX that are different from amsppt? 2. Is there anybody who owns The Publisher? (the prerelease). What about a critical comment on it? Ciao, Igor ------------------------------ Mail-From: BEETON created at 9-Sep-87 05:05:08 Date: Wed 9 Sep 87 05:05:08-PDT From: Barbara Beeton Subject: Re: two questions To: TEXHAX@Score.Stanford.EDU In-Reply-To: Message from "U04Z%CBEBDA3T.BITNET@wiscvm.wisc.edu (Igor Metz, Dept. of CS, CH-Bern)" of Wed 9 Sep 87 08:53:00-PDT although it's not really a different "document style", there is now an "add-on" file for amsppt that permits running heads to be included easily. this file will, in due time, be added to the distribution tape. for those with ftp access, it's now in amsppt.mor at score.stanford.edu. (there have also been a couple of bug fixes in amstex itself; same place.) suggestions for kinds of document styles that might be developed are welcome. the math society is beginning to consider supporting extensions that its authors would find useful. -- barbara beeton ------------------------------ Date: Wed, 9 Sep 87 14:44 N From: (Jost Krieger RUB) Subject: Re: German hyphenation patterns To: TeXhax@score.stanford.edu German hyphenation patterns are available (for noncommercial use) to BITNET users on LISTSERV@DHDURZ1 as GHYPHEN TEX. Internet users could probably send Mail to LISTSERV@DHDURZ1 with a line: GIVE GHYPHEN TEX TO xyz@abc.net where you substitute your mailing address for xyz@abc.net. For better performance of TeX hyphenation with the German language, we recommend the following redefinition: \def\"#1{{\accent"7F #1\penalty10000\hskip 0pt plus 0pt}} This will make approximate hyphenation available in words containing umlauts. The \hskip construct will allow TeX to start up a new word without changing the layout. For further information, contact: Jost Krieger/Norbert Schwarz Rechenzentrum der Ruhr-Universitaet Bochum Postfach 102148 D-4630 Bochum 1 Fed. Rep. of Germany Tel.: +49-234-700-3940 or: P920031@DBORUB01.BITNET ------------------------------ Date: Wed, 9 Sep 87 11:57 EST From: Subject: Frames Around Text To: texhax@score.stanford.edu A question about building a frame or box around a piece of text appeared in TeXhax Volume 87 Issue 72. The following does the basic job and a little more: \def\linewidth{0.01in} \newbox\testframe \setbox\testframe=\hbox{\vrule width\linewidth \vbox{\hrule height0pt depth\linewidth bla bla bla \hrule height\linewidth depth0pt}\vrule width\linewidth} This does not include the verbatim part mentioned in the question but whatever you can put in normal text you should be able to insert in the "bla bla bla" section. Note that this code actually does not print the hbox; it just stores it away in one of TeX's box registers, here called \testframe. Thishas proved to be useful in producing miscellaneous graphical layouts. That is, after making several of these (lets call them \framea, \frameb, ... ), we can print them equally spaced across the page as follows: \line{\box\framea \hss \box\frameb \hss \box\framec} The storage business can be eliminated by dropping off the leading "\setbox\testframe=". I'm not at all familiar with LaTeX so it may have much better versions of this. One small bug is that the top border of the box seems to on occasion be 1 or 2 points low. I've tried changing it to have some height and 0 depth (opposite of what's shown above) with no success. The problem seems random. But then so are all bugs until one figures them out. Kent Eschenberg Applied Research Laboratory Penn State University KEE@PSUARLC ------------------------------ %%% %%% subscriptions, address changes to: texhax-request@score.stanford.edu %%% %%% submissions to: texhax@score.stanford.edu %%% %%% BITNET redistribution: TEX-L@TAMVM1.BITNET (list server) %%% %%%\bye %%% ------------------------------ End of TeXhax Digest ************************** -------