******************************************************************************* * * * TTTTTTT X X M M GGGGGG A Mostly Unofficial * * T X X MM MM G Publication for Users * * T EEEEEEE XXX M M M M A G GG Of the TeX Computer * * T E X X M M M A A G G Typesetting System. * * T EEEE X X M M M AAAAA GGGGGG * * E A A Volume 1, Number 5 * * EEEEEEE A A Distribution: 365 or so... * * * ******************************************************************************* June 25, 1987 Contents: footnote............................................................1 Letters to the Editor................................................2 How to write an article for TeXMaG...................................3 Call for standardization of DVI specials............................4 The Toolbox..........................................................5 __1 footnote{One embarrassing moment later} As most of you probably already realize, I just had the joy of re- mailing the entire past of TeXMaG when I discovered much to my chagrin that the previous issues of TeXMaG where not being sent to the non-BITNET subscribers, due to a bug (feature?) of LISTSERV. Now that I have solved that problem, I have suddenly received vast amounts of feedback from all of the non-BITNET people. (It's kind of nice to suddenly have half your readership get something to read). The few comments I had about the old formatting of TeXMaG were joined by a resounding chorus of agreement; I guess there are a lot of people who appreciate shorter lines and larger margins. TeXMaG will continue to be sent out as a mail file from now on since that seems to be the only way to reach most of the subscribers. Also, the poor soul whose system couldn't decode NETDATA files will get readable copies now. This issue is a bit low in content, I realize (that's what I get for getting a job where you actually have to *do* thins periodically), but hopefully between the plea for articles and any inspiration that I may get in the next month or so, I should have a good V1N6. Enjoy! -Don Hosek (or for the summer) __2 **Letters** From: Carol Weintraub Subject: Tex on the MacIntosh To: dhosek@hmcvax.bitnet Dear Editor, I would like to know if there is anybody out there using TeX on the MacIntosh?? I have seen a *preliminary* version of TeXtures run on a MacPlus, but I would like to know if there is a *full* version of TeX (V.2 with *all* the CM fonts) running somewhere, preferably on a MacIntosh II. We are contemplating purchasing either the MacIntosh II or we have just heard of a new system ``The Publisher'' from ArborTex which interacts with TeX on a Sun Workstation. If anybody could advise us on either of these two systems/machines please write to: Carol Weintraub, Technical Secretary, Dept. of Applied Math. & Computer Science The Weizmann Institute of Science Rehovot, 76100 Israel Bitnet: maweintr@weizmann Thank you very much! Carol ====================================================================== Date: Thu, 14-MAY-1987 09:18 EDT From: Richard S. Holmes Subject: improved \split To: u12921@uicvm I tried out Eric Skinner's \split macro and, lazy bum that I am, rather than typing in two paragraphs for it to split, I typed in one and duplicated it. Lo, I got an overfull \vbox. Apparently this is the consequence of trying to \split two paragraphs of the same size. Anyway, a simple modification of the conditional in \xsplit cured it. Rich Holmes rich@suhep.bitnet %%%------------------------rrrrrrrrrrrrrrip!-------------------------- % Macro: \xsplit % By: Eric Skinner % Function: Takes two pieces of text, and boxes them side by side. % Column widths and inter-column gap are set by user. % Parameters: % #1: Width of first column, including unit specification % #2: Width of space between columns, including units % #3: Width of second column, including units % ** Warning: Don't exceed page dimensions! % #4: First column text. % #5: Second column text. % Registers: \box1,\box2 \def\xsplit#1#2#3#4#5{{ \setbox1=\vbox{\hsize= #1 #4} % First column \setbox2=\vbox{\hsize= #3 #5} % Second column % If the boxes are output side by side at this point, they % will be aligned at the bottom instead of the top. \ifdim\ht2>\ht1 % Column two is longer than column one % Fill bottom of column one with glue \setbox1=\vbox to \ht2{\hsize= #1 #4 \vfill} \else \ifdim\ht1>\ht2 % Column one is longer than column two % Fill bottom of column two with glue \setbox2=\vbox to \ht1{\hsize= #3 #5 \vfill} \fi \fi \hbox{\box1\hskip#2\box2}}} %%%------Cut some more------------------------------------------------ % Macro: \split % By: Eric Skinner % Function: Takes two pieces of text, and boxes them side by side. % Column widths are set by user. Inter-column gap is % automatically adjusted to make the first column flush % with the left margin, and the second flush with the right. % Parameters: % #1: Width of first column, including unit specification % #2: Width of second column, including units % ** Sum of #1 and #2 should not exceed current \hsize! % #3: First column text. Don't do anything REALLY weird. % #4: Second column text. % Registers: \dimen1 \def\split#1#2#3#4{ \dimen1=\hsize \advance\dimen1 by -#1 \advance\dimen1 by -#2 \xsplit{#1}{\dimen1}{#2}{#3}{#4}} %%%------------Tear---------------------------------------------------- When submitting a letter, please indicate somewhere in the note that it is for the letters column. __3 *How to write an article for TeXMaG* By Don Hosek At the risk of harping on the same old chord over and over again, I decided that I would write a TeXMaG article outlining what it takes to write an article for TeXMaG. (not much) The first, and most obvious requirement is to have an idea. (Many articles reach publication without containing a single idea, but I like to think I have standards.) Your idea doesn't need to be the greatest idea known to mankind (look what I've been filling TeXMaG with so far!). Perhaps you wrote an interesting macro, or finally feel you understand how to use an intriguing feature of TeX; both of these would make great articles for TeXMaG. Another idea would be to write about any interesting applications of TeX that you may have; while TeX was originally designed for type- setting technical papers, it is being used widely for many non-tech- nical uses (nearly half of the papers typed in TeX at Harvey Mudd are papers for humanities classes; the Harvey Mudd newspaper is typeset with TeX). If you use TeX for something other than technical papers, what sort of problems did you encounter? How did you deal with them? Were there any problems that left you clueless? Do you know anything about Metafont? Few people do, although many would like to learn more. Why not write an article about some aspect of Metafont? It doesn't have to cover the entire depth of The Meta- fontBook; perhaps you could explain how you avoided the strange that cropped up when you tried to generate cmr8 at 100dpi. What about your device driver? Is it developed locally? Does it work? Is there something that you're sure your printer can do but your device driver can't? Why not write a review of the capabilities of your driver, or a wish list of what you'd like to be able to do on your Acme 2000 using TeX. Are you running TeX on an unusual installation? (A Cray or Apple II, for example) Did somebody else port it or was it done locally. Why not share your views on using TeX on an odd machine. What limitations do you encounter? Is your operating system conducive to TeX? How does EBCDIC affect your TeXing? (EBCDIC makes TeX on our 3081 a bit imperfect, to say the least) I suppose this is enough diatribe for one issue. If you have an idea for an article, feel free to write it; if you aren't sure if its suitable for publication, I'll do my best to convince you. :-) __4 Call for standardization of DVI specials By Don Hosek As TeX develops into its maturity, the need for standardization in other aspects of TeXware is becoming apparent. Perhaps the most important goal for standardization lies in DVI-driver \special's. I have discussed this matter with Thomas Reid (TeXrox), and a few preliminary ideas were given. However, to propose a standard to be submitted to the TeX community at large implies that input from the TeX community was solicited. It is to this end that I am writing this article. There are many aspects of the grammar of \special's that need to be solidified. Some of these are: o Device Dependancy. ArborText has apparently done some work on this to date (my conjecture on this is based on information from the DVIXER User Manual); their suggestion is to begin a device dependant \special with a three letter tag concluded with a colon to indicate that the \special command is for that particular output device only. For example, a \special that is Xerox 9700-specific would begin with XER:. If this convention is to be adopted, then codes will need to be designated for each TeX output device. However, care should be taken to make \special's device-dependant only when necessary. DVI-drivers should be written to ignore unknown \special commands. o \special Naming. This is perhaps the central problem of \special standardization. What should the command to print sideways on the page be called? DVIQMS from Texas A&M uses the command landscape(); Thomas Reid suggests ROTATE=90; I, personally, prefer landscape (without the ()'s). Is it better to have \special's that are easily interpretted by the driver or by the user? There are numerous other commands that also need to be specified: printing on both sides of the output sheet (duplex printing); print color selection; graphics inclusion, &c. This is not an exhaustive list, of course, and I would appreciate receiving suggestions for standard \special commands that do not appear above. o Graphics. The primary use of \special's in current device drivers is graphics file inclusion. Graphics files included should be processed intelligently (for example, extraneous PostScript material in a MacDraw document should be removed), and perhaps, following on the model of DVIQMS, options should be permitted on the graphics include facility to add or remove commands from the graphics file. DVIIMP (which is present in most TeX distributions in WEB source format contains another idea for graphics inclusion: it provides graphics ``primitives'' to draw points, lines, circles, and ellipses. Standardized graphics \special's such as these could be used to enhance LaTeX's picture mode, or be used in new macros to provide convenient device-independant graphics. o \special Scope. It was pointed out in TUGboat v. 7, no. 3. that the random paging of a DVI file implicitly prohibits \special's that are global in nature. DVIXER deals with this problem by permiting a sequentialreading command line option to insure that global \special's are read, DVIQMS makes no such provision, but does contain global \special's. Since it is fairly easy to modify output routines to emit a \special command on each page, it should not be too difficult to make \special's local to the page on which they appear. The suggestions listed here are by no means intended to be all- inclusive there are many aspects of the problem that were not covered in this article. I would like to have a preliminary document outlining the proposed standard for DVI files available for publication in TUGboat for issue 3 of this year, and a final draft for the beginning of 1988. I encourage contributions from the TeX community at large for this project. My E-mail address is: BITNET: DHOSEK@HMCVAX, or ARPA: DHOSEK%HMCVAX.BITNET@WISCVM.WISC.EDU; my postal address is: Don Hosek Platt Campus Center Harvey Mudd College Claremont, CA 91711 This article will also be printed in TUGboat and in TeXMaG (BITNET electronic ``magazine''). __5 **The Toolbox** From Charles Karney , we have a macro that returns the current day of the week from TeX internal counters. %%%------------Start Cutting------------------------------------------ % \dowcomp returns integer day of week in \dow with Sunday=0. % \downame returns the name of the day of the week. % E.g., if \year=1963 \month=11 \day=22, % then \dowcomp ==> \dow=5 and \downame ==> Friday which happened % to be the day President John F. Kennedy was assasinated. % Converted from the lisp function DOW by Jon L. White given in % the file LIBDOC DOW JONL3 on MIT-MC (which follows). %(defun dow (year month day) % (and (and (fixp year) (fixp month) (fixp day)) % ((lambda (a) % (declare (fixnum a)) % (\ (+ (// (1- (* 13. (+ month 10. % (* (// (+ month 10.) -13.) 12.)))) % 5.) % day % 77. % (// (* 5. (- a (* (// a 100.) 100.))) 4.) % (// a -2000.) % (// a 400.) % (* (// a -100.) 2.)) % 7.)) % (+ year (// (+ month -14.) 12.))))) \newcount\dow \def\dowcomp{{\count3 \month \advance\count3 -14 \divide\count3 12 \advance\count3 \year \count4 \month \advance\count4 10 \divide\count4 -13 \multiply\count4 12 \advance\count4 10 \advance\count4 \month \multiply\count4 13 \advance\count4 -1 \divide\count4 5 \advance\count4 \day \advance\count4 77 \count2 \count3 \divide\count2 100 \multiply\count2 -100 \advance\count2 \count3 \multiply\count2 5 \divide\count2 4 \advance\count4 \count2 \count2 \count3 \divide\count2 -2000 \advance\count4 \count2 \count2 \count3 \divide\count2 400 \advance\count4 \count2 \count2 \count3 \divide\count2 -100 \multiply\count2 2 \advance\count4 \count2 \count2 \count4 \divide\count2 7 \multiply\count2 -7 \advance\count4 \count2 \global\dow \count4}} \def\dayname{\dowcomp \ifcase\dow Sunday\or Monday\or Tuesday\or Wednesday\or Thursday\or Friday\else Saturday\fi} %%%--------------Stop cutting----------------------------------------- My own contribution for the month is a macro to permit multiple-line page headers. It works by putting an alignment inside of vtop inside of headline. This approach makes it compatible with most other macros that may change the makeheadline macro (e.g. The Toolbox, TeXMaG V1N2). %%%--------------Cut along perforation-------------------------------- % Macro for multiple line header. % By Don Hosek % To use: % \multihead{...} % If the header has more than one line, separate the lines with \\ \newtoks\multihead \headline{\vtop{\let\\=\cr\halign{\line{#}\cr \the\multihead\crcr}}} \multihead{\hss} %%%--------------Tear neatly------------------------------------------ __6 TeXMaG is an electronic magazine published by the Harvey Mudd College Mathematics Department available free of charge to all interested parties reachable by electronic mail. It is published monthly, on the last weekend of each month, except when conditions prevent publication. Subscription requests should be sent to Don Hosek or send the following message to LISTSERV@BYUADMIN: SUBS TEXMAG-L Your_Full_Name. European subscribers may send the SUBS command to LISTSERV@DEARN, subscribers on CDNnet should send subscription requests to , and JANET subscribers should send requests to be added to the list to Peter Abbott, . Back issues are available from Don Hosek . Article submissions, contributions for the Toolbox, and letters to the editor are always welcome and should be sent to . Other publications of interest to TeX users are: TeXHAX. Arpanet mailing list for persons with questions, suggestions, etc.. about TeX, LaTeX, metafont and related programs. Submissions for this list should be sent to . BITNET users may subscribe by sending the following command (as an interactive message or as the first line of a mail message) to LISTSERV@TAMVM1: SUBS TEX-L your_full_name. The list is peer-linked to other listserves in the United States and Europe. Internet subscribers may subscribe by sending a request to . The TeX-L mailing list is a ``hybrid;'' i.e., it is both an ARPAnet redistribution, and a BITNET discussion list. Submissions for TeX-L (only --- they will _not_ be forwarded to TeXHAX) may be sent to TeX-L@TAMVM1. LISTSERV@TAMVM1 also has file archives that may be of interest to TeX users on BITNET, including the files in the SU-SCORE FTP directories and back issues of TeXHAX. For a list of files available, send the following command to LISTSERV@TAMVM1: GET TeX FILELIST. Unix-TeX. Arpanet mailing list specifically for users of TeX under the Unix operating system. Submissions for this list should be sent to . Requests to be added or deleted from the mailing list should be sent to . TUGBoat. A publication by the TeX Users Group. An excellant reference for TeX users. For more information about joining TUG and subscribing to TUGBoat send (real) mail to: TeX Users Group c/o American Mathematical Society P. O. Box 9506 Providence, RI 02940-9506, USA Specials thanks to Peter Abbott for setting up the JANET redist- ribution. Also thanks to the University of Illinois for giving me a summer job.