******************************************************************************* * * * 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 2 * * EEEEEEE A A Distribution: 73 or so... * * * ******************************************************************************* March 6, 1987 Contents: \preview .................................................................... 1 Readers' Survey Results ..................................................... 2 Table of Contents Macro for Plain TeX ....................................... 3 The Toolbox ................................................................. 4 __1 \preview{Things are really rolling now!} Now that they have (kind of) fixed the problem with my disk space on the VAX here, I can finally _do_ things, like send mail, and write the next issue of TeXMaG. (Having the deadline for surveys come a week after the original publishing date didn't help much either...) As you have probably noticed, there were more people who preferred to have TeXMaG be a plain text file than not, (and even more people said it didn't matter --- see the article about the survey a few lines down), so TeXMaG won't be in TeX for a while, unless there is an unexpected demand or an envelope filled with small unmarked bills in my mailbox. Speaking of the survey, the next article down the line is the great summary of survey results. There were a few surprises, a few expected results, and a lot of really useless questions (well, they didn't seem like it at the time), all of which will be revealed, as well as some ideas about the year ahead. Also in this issue are two neat macros contributed by Dan Zirin of CalTech (by the way, to those of you wondering where HMCVAX is, it is the famed Harvey Mudd College of Claremont, California... and we're the guys who stole the CalTech cannon about a year ago. Boy, I love nostalgia.). First up is a really nice table of contents macro for plain TeX, and accompanying it is a macro for including program listings in a TeX file, which is basically an enhanced version of the macro from Appendix D of the TeXBook. Both of them are worth a look-see, and I hope you enjoy them. Also in this issue is the usual Toolbox, containing the usual toys. Speaking of toys --- I would just like to remind all of you that I not only enjoy receiving article submissions, and contributions for the Toolbox, I encourage it, and I hope to see some of you who put high numbers on your surveys sending me some articles. __2 Readers' Survey Results. The results are in, and as I am sure, you are just dying to see what you're all like. 23 of 51 people on the mailing list responded --- nearly half, which, if I remember Political Science 196 correctly, is a good response. Of the 73 people currently on the mailing list for TeXMaG, 4 are from Canada, 1 from Japan, 2 from Israel, 19 are from Europe, and the other 47 are from the U. S.. The most common system among readers of TeXMaG is a VAX running VMS. 56.5% of the respondants use VMS for their TeXing. Second place belongs to the IBM PC and compatibles with 34.8%, followed by VM users who make up 26.1% of the readership. Other systems included UNIX (13.0%), the DEC-20 (13.0%), and MVS, the MacIntosh, Atari ST, and Sun, each with 8.7%. Devices and device drivers nearly outnumber the respondants, and rather than include them here now, I will instead later publish an article containing a conclusive list of all printers and device drivers available for TeX. (Yet another chance for me to get lots of mail.) 39.1% of the users are using version 2.0 of TeX, while 17.4% are using the other, less recent, version 1.3 of TeX. Another 26.1% aren't sure what version they are using. Other versions that popped up in the survey were 1.4, 1.0, and 2.1 (That last number belongs to Barbara Beeton, editor of TUGBoat. If you're green with envy over her version number, remember that she's still using the am___ series of TeX fonts.) Netmonth was responsible for 34.8% of the users finding out about TeXMaG, while another 26.1% found out from a friend, and still another 17.4% received a direct mailing. 13.0% got ther information from info files at their node, and at least two people don't know how they found out. 83.9% of the respondants receive TeXMaG from a subscription, 18.2% from a public disk, 4.5% from a friend, and one person isn't sure how he gets it. The knowledge indexes didn't turn out to be very useful, but for anybody who cares, the averages were: plain TeX 4.6, LaTeX 3.4, AmSTeX 1.5, SliTeX 1.5, Metafont 1.1, IBM Script 2.5, Waterloo Script 1.6, GML 1.9, Runoff 1.9 TROFF 1.3, Wordstar 2.2, MacWrite 1.5. Other word processors in the other section were: Aform, DW3, Easywriter, 1st Word, Multimate, PCWrite, Scribe, Signum, Word, Word MARC, and Word Perfect. Much more informative was the question about what people wanted to see in TeXMaG: most of all, people wanted reviews, and intermediate level articles about plain and LaTeX. Other popular topics included introductory level articles about MetaFont, plain, and LaTeX; intermediate articles about MetaFont; advanced articles on plain and LaTeX; technical information; supporting TeX and its pals; and installing/upgrading TeX. AmS and SliTeX received modest interest. In the ``other'' section, people asked for articles about previewers and device drivers, postscript, a question and answer department, and a LaTeX tutorial series. As people begin to submit articles, I'm sure we'll see much of what people are looking for. If anybody would like to volunteer to write the LaTeX tutorial, send me a note. (I like this idea, and if nobody volunteers, I'll write it myself, but I'd prefer to have articles by _other_ people in here as well.) As for a question and answer department, I'm a little reluctant to include one in TeXMaG, since there already exists TeXHAX which already serves this need; also, since TeXHAX is published more often then TeXMaG, answers are usually sent out more rapidly. However, I am aware that often, questions to TeXHAX often go unanswered, and it's not always easy to plow through all of the issue to find out if your question has been answered, so, I will institute the following policy. If anybody sends me a problem, I will attempt to find an answer myself, forward the question to TeXHAX, and if no answer can be found by publishing time, submit the question to the readership. Finally, all problems and answers will be published in TeXMaG. Also, if you have had a difficult problem that you have solved on your own, somebody else might be interested, so write an article. Speaking of TeXHaX, 52.2% of you read it yourselves (yet another argument against the question and answer section), and 34.4% of you read TUGboat. Finally, the reason that TeXMaG is not in glorious TeX. 18.2% said, ``Oh yes, let us have TeXMaG in TeX!'' while 31.8% said, ``No! We PAY for our printing, and we LIKE to read things on-line, and we don't have TeX running yet anyway, so leave it as a text file!'' and the other half of you said, ``It doesn't matter to us how you send it just so long as you do.'' So, since nearly twice as many of the people who cared, didn't want TeXMaG in TeX, it will remain a text file for now. __3 *A Table of Contents Macro for Plain TeX* By Dan Zirin The TeX code following this article contains a few escape sequences and definitions to automatically generate a table of contents for your document. The package defines four new escape sequences: `\tocref' is used to make entries in the table of contents, `\tocline' can be used to include a line in the table of contents without generating output in the text, and `\tocgen' is used to force the last table of contents page to be printed. In addition, `\tocstart' can be used to define the format of the first page of the table of contents, and `\tocont' can be used to define the title for continuing the table of contents over several pages. `\tocref' takes two text arguments: the text to be itemized in the table of contents (this text will also be placed in your file at the same location `\tocref' is found) and the optional indentation for the table of contents line containing this entry. For example, if you type: \centerline{\tocrefg{\bf Chapter 1}{}} the text `Chapter 1' will be centered on the current line in boldface and will also be put in the table of contents in boldface without indentation. If you now type: \noindent\tocref{Section 1}\indent the text `Section 1' will be located at the point where `\tocref' was typed The text `Section 1' will be indented followed by `\dotfill' and the page number of the current page containing the `\tocref' command in the table of contents. The \tocline macro can be used to include a line in the table of contents, which is not a table of contents entry. The text given in the argument will be used in a \line in the table of contents. This macro is useful for including subheaders in the table of contents. For example, you might wish to use \tocline{\hfill\bf APPENDICES\hfill} just before the first appendix appears to insert a subheader in your table of contents. The `\tocgen' escape sequence will save the current page number, create a table of contents with no page numbering, `\vfill\eject' to force the last page of the TOC to be printed, restore the old page number, and remove all `\tocref' entries from TeX's memory. This makes it possible to use `\tocgen' anywhere in your file. `\tocstart' and `\tocont' may be \def'ed to whatever you want them to do. For examples of their use, see the default definitions below. Typing the above examples would produce a TOC page containing: --------------------------------------------------------------------------- Table Of Contents Chapter 1 ............................................................... 1 Section 1 ........................................................... 2 APPENDICES --------------------------------------------------------------------------- %%%--- Cut here ----------------------------------------------------------- %%% File toc.tex % % Automatically generate a Table Of Contents (TOC) while the % document is being processed by PLAIN TeX % % Use \tocref{ texta }{ textb } to insert TOC entries. `texta' % will be typeset in the TOC and at the current location, % for example `\centerline{\tocref{Chapter 1}{}}' inserts % `Chapter 1' at the current location in your document % centered, and enters it in the TOC (not centered). % `textb' is a prefix text/TeX commands to precede `texta' % in the TOC only (it will not appear in the current loc- % ation of your document -- {{`textb'`texta'}.....\folio}). % Use \tocline to add info only intended for the TOC (no page number or % dotfill is used for tocline entries). % Use \tocgen to force the last TOC page to be printed (last command % before \end?) % To specialize, look at the below comments in the right % % Uses variable names % tocnew, tocopage, tocbox, tocsize, tocstrut, tocref, % tocbanner, tocsuffix, tocline, tocstart, tocont, tocgen % % Created by Dan Zirin. Copyright (c) 1987 Zar Limited. % Permission given for inclusion in TeXMaG. % \newcount\tocnew\tocnew=1\newcount\tocopage \newbox\tocbox\newdimen\tocsize \def\tocstrut{{\vrule height8.5pt depth3.5pt width0pt}} % TOC baselineskip -1pt \def\tocref#1#2{\tocbanner#1 % Where `texta' is duplicated \global\setbox\tocbox=\vbox{ \box\tocbox\vbox{ \line{\tocstrut{#2#1}~\dotfill~\folio} % Where the TOC line is made }}\tocsuffix} \def\tocline#1{\tocbanner \global\setbox\tocbox=\vbox{ \box\tocbox\vbox{ \line{\tocstrut{#1}} }}\tocsuffix} \def\tocbanner{\ifnum\tocnew=1\tocstart\fi \ifnum\tocnew=3\tocont\fi} \def\tocsuffix{\ifdim\tocsize<\ht\tocbox\tocgen \global\tocnew=3\fi} % Do not change tocsize = 1.0 (TeX may go into an infinite loop) \def\tocstart{\global\tocsize=.95\vsize % TOC page >95% full, print it \global\setbox\tocbox=\vbox{ \centerline{\tocstrut\bf Table Of Contents} % TOC page 1 banner line 1 \line{\tocstrut\hfil} % TOC page 1 banner line 2 blank line }\global\tocnew=2} \def\tocont{\global\setbox\tocbox=\vbox{ \centerline{\tocstrut Table Of Contents (Continued)} % TOC page <> 1 banner }\global\tocnew=2} \def\tocgen{\ifnum\tocnew=1 \message{No TOC entries found.}\else \tocopage=\pageno\pageno=0\message{(TOC} \shipout\box\tocbox\message{)} \pageno=\tocopage\global\tocnew=1\fi} %%%--- Cut here ----------------------------------------------------------- __4 **The Toolbox** This month's toy for the toolbox is a revision of the \makeheadline macro. Sometimes, when using large (11 or 12 point) fonts with plain.TeX, the headline appears dangerously close to the body of the text, which is not as pleasing to the eye as it might be. One solution is to include a line between the headline and the text to separate the two, which is exactly what this macro does. %%%---Cut Here------------------------------------------------------------- \def\makeheadline{\vbox to0pt{\vskip-22.6pt \line{\vbox to8.5pt{}\vphantom{pqj}\the\headline} \vskip1pt \hrule \vss} \nointerlineskip} %%%---Cut Here------------------------------------------------------------- If you have a macro suitable for the Toolbox, send it to (BITNET). The only restriction is that it should be 24 lines or less, and even this is not cut in stone. __5 TeXMaG is an independantly published electronic magazine 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. 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 . Requests to be added or deleted from the mailing list should be sent to except for European BITNET users who should subscribe via by sending a message (SEND LISTSERV@FINHUTC for VMS, TELL LISTSERV AT FINHUTC for CMS) which consists of ``SUB TEXHAX your_full_name.'' In addition, Listserv support has also been installed for North America. American BITNET users should subscribe via by sending the message ``SUB TEXHAX your_full_name'' to LISTSERV@TAMVM1. To my knowledge, this listserv does not distribute UNIX-TeX. Unix-TeX. Arpanet mailing list specifically for users of TeX on 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 . Note to European BITNET users: if you subscribe to TeXHAX via you will automatically receive Unix-TeX. TUGBoat. A publication by the TeX Users Group. An excellant reference for TeX users. For more information about joining TUG or subscribing to TUGBoat send (real) mail to: TeX User's Group c/o American Mathematical Society P. O. Box 9506 Providence, RI 02940-9506, USA The TeX Users group is not associated with AMS, they just share a building with them. Special thanks to Steve Howes of BYU for permitting me to use the BYU list- serve and putting up with my continual questions. Also thanks to Barbara Beeton of TUG for (a) her support, (b) returning her survey, and (c) saying she'll submit an article sometime.