TeXhax Digest Wednesday, September 21, 1988 Volume 88 : Issue 81 Moderator: Malcolm Brown Today's Topics: Form letters using letter macros in TeX Book Re: TeXhax Digest V88 #77 (LaTeX notes) Re: TeXhax Digest V88 #78 (LaTeX notes) reference works for document layout TeXHaX submission---merge substyle dates in letters Re: TeXhax Digest V88 #72 (LaTeX notes) Euler fonts question Infinite looping in LaTeX TeX for Amiga wanted Has this LaTeX maybe-bug been fixed already? LaTeX distribution? Boxes within Boxes within Boxes Danish letters EEPIC 1.0, fig2epic and a bug in EPIC DVI (w/ tpic specials) drivers Update driver for CANON LBP ---------------------------------------------------------------------- Date: Sun, 4 Sep 88 21:39 CDT From: Subject: Form letters using letter macros in TeX Book Could someone please give me some ideas on how I could use the letter macros on pages 404-408 of the TeX book to generate form letters, i.e. multiple copies of the same letter with different receiver's address and name. If there's an efficient way to read the names and addresses from a separate file and supply them for "\address" and "Dear XXXXX:" in the letter macro and generate letters it would be great (I am familiar with the use of the letter macros listed in the TeX book). Will appreciate your help on this very much. Thank you. MURALI@TAMLSR ------------------------------ Date: Sun, 4 Sep 88 11:24:46 PDT From: lamport@src.dec.com (Leslie Lamport) Subject: Re: TeXhax Digest V88 #77 (LaTeX notes) Tom Schneider writes: When I use the LaTeX letter environment I automatically have a date supplied. But the date given is always today, not the day that I wrote and sent the letter, so if I print out a copy of the letter later I get the wrong date. I cannot locate anyplace in the manual that says how to over ride this (under date or letter or today or whatever), or even how to prevent the date from showing (so that I can insert my own). So: how do I prevent dates or over ride the default? \date{mydate} doesn't work. I believe that the letter style uses \today to generate the date, so typing something like \renewcommand{\today}{July 4, 1776} should work. Leslie Lamport ------------------------------ Date: Sun, 4 Sep 88 11:38:08 PDT From: lamport@src.dec.com (Leslie Lamport) Subject: Re: TeXhax Digest V88 #78 (LaTeX notes) Bernie Cosell writes: I'd appreciate pointers to reference works that might be suitable to use as "bibles" for document layout (much as one might use the Chicago Manual of Style for questions a level higher-up). We're pondering some setting up an "official" set of LaTeX document styles, and there are two serious problems we have: (a) no one _really_ knows what they're doing, and (b) nonetheless, everyone has an opinion they feel strongly about. It'd be neat to have something we could fall back on to help resolve things. Are there some moral-equivalents of dictionaries and manuals-of-style for layout and design questions? Thanks. I rather doubt if he'll find what he's looking for. "Digital Typography: An Introduction to Type and Composition for Computer System Design" by Richard Rubinstein (published by Addison-Wesley) has a few useful ideas, but it's mostly about the problems of digitizing fonts. Once upon a time, Marshall Henrichs (who is primarily responsible for the LaTeX standard styles) and I were planning to write such a book, but we both had too many other things to do. The problem seems to be a lack of designers who are competent, can explain their thought processes, and understand the constraints placed by automated formatting systems. Richard Southall is the best qualified person I know to write such a book, since he is a designer who can also program computers. However, his major interest is in font design and, when I worked with him briefly a few years ago, he also had difficulty thinking in terms of algorithms instead of concepts. Leslie Lamport ------------------------------ Date: Mon 5 Sep 88 12:18:13-PDT From: Barbara Beeton Subject: reference works for document layout though it's not a real "cookbook", a 2-part article in ep&p (electronic publishing and printing) for april/may and june/july 87 presented some sensible guidelines for deciding what is important from the point of trying to communicate with readers. the two parts are called "communicating efficiently via functional page structures" and "sense and sensibility: good design considerations"; they are by jan v white, a communication design consultant. (that is all i know about this person.) both parts start on p 38 of the respective issues. the publisher's address is Maclean Hunter Corp., 300 W. Adams, Chicago, IL 60606. ------------------------------ Date: Tue, 6 Sep 88 12:10 +1200 From: GRAEME%otago.ac.nz@RELAY.CS.NET Subject: TeXHaX submission---merge substyle Erich Neuwirth in TeX88.77 comments that my merge style doesn't handle running headlines properly. Fair enough---it doesn't. I have fixed this problem and other problems from the original version and now have a new, `improved' version. Here it is: %%%%%%%%%%%%%%%%%%%%%%%%%%% Cut with sharp axe here %%%%%%%%%%%%%%%%%%%%%%%%%% % The following substyle should be used in conjunction with the letter % style. This substyle allows a `standard' letter to be merged with a file % containing a list of addresses and opening lines, e.g., % % {Computing Services Centre, \\ % University of Otago, \\ % Dunedin} % Dear Graeme, % % Braces are matched. If the input is only one line then it is not necessary % to contain it within braces. % To use the MERGE substyle: % \documentstyle[merge]{letter} % % \signature{ ... } % \address{...} % % \begin{document} % \begin{merge}{} % % % contents of standard letter % % \end{merge} % \end{document} % % where is the name of the file containing the addresses and % opening lines (it has a default extension of `.tex') \typeout{Merge substyle---release 6 October 1986 by Graeme McKinstry} % The basic algorithm is: % 1. open the address file % 2. Read the addresses file getting the address and opening line. % 3. Process the contents of the MERGE environment and store it % in a box (\@store). This is the standard part of the letter. % 4. Produce the start of the letter (your address (including date), % their address, and the opening line). % 5. Make a copy of the standard letter (\@store) and unbox this copy. % 6. Repeat steps 2, 4, and 5 (not 3) until there are no more addresses. \newbox\@store \long\def\@contents{\global\setbox\@store=\vbox\bgroup} % store the contents \long\def\@endcontents{\egroup} % of the letter \def\@sendaddress{test} \def\@openingtext{test} \newif\if@firsttime % For storing the standard letter % the first time through. \@firsttimetrue \newread\@addrfile % allocate an input stream \def\@openfile{\openin\@addrfile=\@mergefile % open the address file \ifeof\@addrfile % i.e., didn't open successfully \loop \immediate\write16{Could not open file \@mergefile} \closein\@addrfile % close the input stream \read16 to \@mergefile % get another file name \openin\@addrfile=\@mergefile % open up input stream \ifeof\@addrfile \repeat % repeat until successfully opened \fi} % The merge environment (used as the \begin{merge}. The argument (#1) is % the name of the file containing the addresses (a default of .tex extension) % This file is opened (\@openfile), read (\@readfile), and then the box % containing the contents of the standard letter is started (\@contents). \def\merge#1{\def\@mergefile{#1 }\@openfile \@readfile \@contents} % Read address file getting the address and opening line. If this is the % first through then there is no reason to call \endmerge as this will % be called later on (when \end{merge} is used). \def\@getopeningline{\global\read\@addrfile to\@openingtext} % get the opening line \def\@readfile{\global\read\@addrfile to\@sendaddress % get the address \ifeof\@addrfile \let\next=\relax \else \@getopeningline \if@firsttime \let\next=\relax \else \let\next=\endmerge \fi \fi\next} \newbox\@letterbox % For copy of \@store (the box containg the standard % letter. \def\endmerge{\if@firsttime\@endcontents\global\@firsttimefalse\fi % % end contents if it is the first time \bgroup\let\oldletter=\letter \def\letter##1\@relax{\oldletter{##1}} % redefines letter \expandafter\letter\@sendaddress\@relax % need to expand \@sendaddress \opening{\@openingtext\vskip2\parskip} \setbox\@letterbox=\copy\@store % copy the contents of the letter \unvbox\@letterbox \endletter\egroup \ifeof\@addrfile \message{End of file} \let\next=\relax \else \let\next=\@readfile % loop round yet again \fi\next} %%%%%%%%%%%%%%%%%%%%%%%%%%% Cut with sharp axe here %%%%%%%%%%%%%%%%%%%%%%%%%% \closing{Many happy merges,} \signature{Graeme McKinstry, \\ Computing Services Centre, \\ University of Otago, \\ Dunedin, \\ NEW ZEALAND (where's that you ask)} ------------------------------ Date: Mon, 5 Sep 88 17:24:36 EDT From: toms@ncifcrf.gov Subject: dates in letters A little while ago I asked how to make LaTeX do dates the way I want. I received many responses, thanks to everybody! The simplest, cleanest solution was given by loh@stat.wisc.edu (Wei-Yin Loh): > You should put the line > \renewcommand{\today}{May 6, 1901} > after \documentstyle{letter}. This one is nice, since I can do it the way I prefer: \renewcommand{\today}{1908 May 6} and both LaTeX and I are happy. Tom Schneider National Cancer Institute Laboratory of Mathematical Biology Frederick, Maryland toms@ncifcrf.gov ------------------------------ Subject: Re: TeXhax Digest V88 #72 (LaTeX notes) Date: Tue, 06 Sep 88 14:28:23 +0100 From: Eamonn McManus In V88 #76, Leslie Lamport writes: > Jonathan Thornburg writes: > > I'm looking for a LaTeX "short verbatim" macro, rather like \verb|...|, > but which can be used in chapter/section titles, figure captions, > inside a box in math mode, and generally in arguments to other macros. > \tt alone almost does the job because I'm really only worried about > computer program names, which don't have many special characters in > them, *but* I don't want to have to say \_ to get an underscore. > > Unfortunately, what he wants to do is impossible in TeX, since when TeX > processes \macroa{\macrob{a}} the charcter code of the "a" is determined > before \macrob is looked at. The only solution is to define an > environment "nosubscript" in which "_" is \catcoded to an ordinary > character. [...] I don't think this is true. In most cases, one can undo TeX's assignment of category codes by replacing the argument with an equivalent one where all the characters have category `other'. The Dirty Tricks appendix to the TeXbook provides a deviously simple way to do this: \long\def\verbatim#1{\def\next{#1}% {\tt\frenchspacing\expandafter\strip\meaning\next}} \def\strip#1>{} So you can say \verbatim{under_score} and it will behave nicely. This obviously can't work for the `%' character, and may not do what is wanted for `{', `}', `\', and space, but it seems to provide what the original poster wanted. In LaTeX it needs to be \protect'ed as appropriate, and one would probably want a shorter name and a non-\long macro. > Sorry guys, but your mother should have warned you about the evils of > macro expansion languages. I have a liberal mother. , Eamonn McManus ------------------------------ Date: Wed, 7 Sep 88 09:23:04 +0100 From: mcvax!ruuinf!piet@uunet.UU.NET (Piet van Oostrum) Subject: Euler fonts question Recently I got a new TeX tape from U of Washington. It contains amongst others the Euler fonts. I noticed that they are not a complete replacement for the Computer Modern math fonts. Does anybody have a macro set or style file for the use of these fonts rather than math italic et al. Piet van Oostrum, Dept of Computer Science, University of Utrecht Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands Telephone: +31-30-531806 UUCP: ...!mcvax!ruuinf!piet ------------------------------ Mail-From: ROKICKI created at 8-Sep-88 13:59:49 Date: Thu 8 Sep 88 13:59:49-PDT From: Tomas Rokicki Subject: Infinite looping in LaTeX The following file causes LaTeX to go into an infinite loop. \documentstyle{article} \begin{document} \begin{list} \end{list} \section{test} \end{document} 'Tis unfortunate that LaTeX doesn't like empty environments of certain kinds. I like to structure my document and fill them in later. Now I need to leave dummy entries. Enjoy! -tom ------------------------------ Date: Mon, 12 Sep 88 08:06:08 +0200 From: Olaf Heimburger Subject: TeX for Amiga wanted Hi there, where can I get a copy of TeX or AmigaTeX? Please e-mail me your replies. Thanks in advance, Olaf Olaf Heimburger, Technical University of Berlin (West), Department of Computer Science uucp to tub: ...!pyramid!tub!olaf (from the US, only) ...!mcvax!unido!tub!olaf (from Europe only) ------------------------------ Date: Monday, 12 September 1988 0936-EST From: DAVID%PENNDRLS.BITNET@Forsythe.Stanford.EDU Subject: Has this LaTeX maybe-bug been fixed already? I am running version % LATEX VERSION 2.09 - RELEASE OF 19 April 1986 of LaTeX, and I find I must use \endtrivlist rather than the documented \end{trivlist} in defining new environments if I want paragraph indentation to be handled correctly after the environment. (Using (2) yeilds indent regardless of whether the \end{xxx} is followed by a blank line or text.) Is this a bug and if so has it already been fixed? (SCORE didn't answer when I tried to FTP the bug file; if I know the fix is in I will keep trying. Then again, maybe it is time to send for a new tape anyway . . .) -- R. David Murray (DAVID@PENNDRLS.BITNET, DAVID@PENNDRLS.UPENN.EDU) ------------------------------ Date: Mon, 12 Sep 88 14:07:54 pdt From: Ritchey Ruff Subject: LaTeX distribution? Is there an anonymous ftp site for getting LaTeX (and TeX)? we need to install it on a Sun 4/280 and would like the most current version (I hear that there is a version in C now?). please send email, I'll summerize... thanks in advance, --ritchey ruff ruffwork@cs.orst.edu -or- ...!tektronix!orstcs!ruffwork ------------------------------ Date: Mon, 12 Sep 88 16:57:00 PDT From: S John Banner Subject: Boxes within Boxes within Boxes Hello, I have the following macro, in a macro package that I am working on (primarily so that I can learn TeX). The macro is supposed be called like: \PersonalInfo{BirthDay\\SIN}{Oct 15/63\\123 456 789}{ My Street\\My Address\\My Phone\\etc} and produce (assuming \MyFullName is an hbox with "S. John Banner): S. John Banner My Street BirthDay Oct 15/63 My Address SIN 123 456 789 My Phone etc where the right most column is sitting on the right margin, and the left most column is sitting on the left margin. However, what I get is the "S. John Banner" is indented by about 1 \quad, the "Birthday", and "SIN", are indented a further \quad, and the stuff on the other side of the page is about a \quad short of the margin. Asside from that, everything is working fine, however I have tried everything that I can think of to get rid of the indents (except a "\kern -\quad", which as I see it shouldn't be nessasary if you get it right). Does anyone have any suggestions, or anything that might help. I have tried sticking in "\undent" wherever there might be glue that I don't want, and also "\kern 0pt", and a few other things besides, and I am stumped. I am using the Plain TeX macros as my basis on which I am building this. Thanks, sjb. \def\MyNL{\egroup\hbox\bgroup} % We use this in places to make % some character act like a NL. % % Create the Personal info table manually. % \def\PersonalInfo#1#2#3% { { \vbox { \hbox to \hsize { \kern 0pt \vtop { \hbox {\MyFullName} % The name line. \hbox { % The stuff under the names. \vtop { % The first column under the name. \let\\=\MyNL \hbox\bgroup #1 \egroup } \quad \vtop { % The second column under the name. \let\\=\MyNL \hbox\bgroup #2 \egroup } } } \hss \vtop { % The right aligned stuff. \let\\=\MyNL \hbox\bgroup #3 \egroup } \kern 0pt ------------------------------ Date: MON SEP 12, 1988 18.57.37 From: INHB%MCGILLC.BITNET@Forsythe.Stanford.EDU Subject: Danish letters In late August, Gustav Jeppesen and Per Nikolaj D. Bukh inquired how to get the Danish letters \ae and \o put automatically into uppercase in headings, when used in \section (in Latex). They mentioned that there was no problem with \aa. So I looked up the definitions of \ae, \o and \aa and discovered that the first two were defined with \chardef and the last with a \def. So I tried to redefine \def\ae{~~Z} \def\o{~~\} \uccode`\~~Z=`\~~] % \ae \lccode`\~~]=`\~~Z % \AE \uccode`\~~\=`\~~_ % \o \lccode`\~~_=`\~~\ % \O and sure enough when you give the section head \section{K\aa l, \ae rter and b\o nner}, the heading created will be properly uppercsed (well, almost). So far, so good. Now the definition of \ps@headings includes the TeX primitive \uppercase and if that is removed, the headings are no longer uppercased. So I naturally assumed that \uppercase{K\aa l, \ae rter and b\o nner}, but it doesn't, rather it gets you K\aa L, \ae RTER AND B\o NNER. I looked up \uppercase in the TeXbook, which explains that it doesn't expand its arguments. Now one may ask why it doesn't, but anyway it doesn't, so that explains that. I then tried \expandafter\uppercase{K\aa l, \ae rter and b\o nner}, but that gave the same result. In fact, no combination of \edef's and \expandafter's resulted in the special characters being uppercased. Can any TeXhaxer explain what is going on here, in particular why the headings macros succeed in getting them uppercased when they are \def'd, but not when they are \chardef'd. One monor point. The def'n of \AA is not just the uppercase version of that of \aa. The actual uppercase \aa that the headings macro produces is the uppercase version of \aa. The difference is the latter is an `A' with a little circle above it. The macro \AA produces an `A' with a circle touching the point. I then looked up some Danish books and discovered that in some of them the \AA (not very commoon in any case) had the circle touching and in some it wasn't. In one, it was touching in the text and not touching in the smaller font used in the index! Thus it appears that even in Denmark, there is no consistency on this point. I conclude that it would probably be better if the simpler definition of \AA had been used so that the uppercase version of \aa would be the same. One last point. If you type \uppercase{K\aa l, ~~Zrter and b~~\nner}, you get the uppercase versions, but you don't want to have to type that all the time. ------------------------------ Date: Mon, 12 Sep 88 21:36:04 PDT From: kwok@iris.ucdavis.edu (Conrad Kwok) Subject: EEPIC 1.0, fig2epic and a bug in EPIC EEPIC is an extension to LaTeX picture anvironment and EPIC. The DVI files produced may require a DVI driver which understand tpic specials. The major extensions in EEPIC includes: o it allows drawing of lines of arbitrary slope and line thickness. o it has new commands for drawing ellipses, arcs and splines. o it increases the speed of EPIC and requires less TeX memory. EEPIC 1.0 is posted to comp.text newsgroup a few weeks ago and it is also available for anonymous ftp from iris.ucdavis.edu [128.120.57.20] in pub/eepic10.shar. It is not yet available for mailing request yet. As soon as it is available, I shall post a note here. fig2epic is the conversion program from Fig code to (E)EPIC commands. It is now included in the Transfig distribution release 3a. Transfig is available from svax.cs.cornell.edu. During the development of the above two macro/program, a bug in EPIC is found. If a line segment in \drawline command is short and -ve stretch is specified, it may cause arithematic error. Here is an example > \setlength{\unitlength}{0.0125in} > \begin{picture}(60,34)(0,-10) > \drawline[-50](60,19)(60,0) > \end{picture} Below is the patch to fix the problem. *** epic.sty.orig Sun Jul 3 12:33:55 1988 --- epic.sty Wed Aug 31 15:14:34 1988 *************** *** 496,501 \else\num@segmentsi=#1 \advance\num@segmentsi by 100 \multiply\num@segments \num@segmentsi \divide\num@segments by 100 \fi\fi %%\typeout{num@segments after = \the\num@segments} % --- 496,502 ----- \else\num@segmentsi=#1 \advance\num@segmentsi by 100 \multiply\num@segments \num@segmentsi \divide\num@segments by 100 + \ifnum \num@segments=0 \num@segments=1 \fi \fi\fi %%\typeout{num@segments after = \the\num@segments} % --Conrad internet: kwok@iris.ucdavis.edu csnet : kwok@ucd.csnet csnet : kwok%iris.ucdavis.edu@csnet.relay uucp : {ucbvax, uunet, ... }!ucdavis!iris!kwok ------------------------------ Date: Mon, 12 Sep 88 21:32:15 PDT From: kwok@iris.ucdavis.edu (Conrad Kwok) Subject: DVI (w/ tpic specials) drivers Update I didn't mention QMS/Talaris QUIC language printer driver written by Scott Simpson last time. Here is the message from the author. +--------------------------------- | You forgot my drivers for the QMS/Talaris QUIC language printers. | The TeX driver supports tpic and the software comes on the Unix | TeX distribution tape. The distribution is called quicspool. | Scott Simpson, TRW +--------------------------------- Thanks Scott. --Conrad ------------------------------ Date: Tue, 13 Sep 88 10:50:41 SET From: "Dr. Kurt v. Sengbusch" Subject: driver for CANON LBP Canon offers a new Laserprinter LBP-II, which at a price of about 10000.- DM is able to print on both sides of the paper. Who has experience with this device and can offer to me a driver for VM/CMS. Thanks Kurt v. Sengbusch ------------------------------ %%% %%% Concerning subscriptions, address changes, unsubscribing: %%% BITNET: send a one-line mail message to LISTSERV@TAMVM1.BITNET: %%% SUBSCRIBE TEX-L % to subscribe %%% %%% All others: send mail to %%% texhax-request@score.stanford.edu %%% please send a valid arpanet address!! %%% %%% %%% All submissions to: texhax@score.stanford.edu %%% %%% Back issues available for FTPing as: %%% machine: directory: filename: %%% [SCORE.STANFORD.EDU]TEXHAXnn.yy %%% nn = issue number %%% yy = last two digits of current year %%%\bye %%% ------------------------------ End of TeXhax Digest ************************** -------