TeXhax Yr 86 Issue#6 texhax06.861118 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Note from the moderator: % Many have responded on the moderated vs. digest format for TeXhax. I'm % going to let the "voting" continue for a few more days before tallying % the score. Send votes/suggestions to: % texhax-request@score.stanford.edu % (no flames, please!) % % Several have requested that TeXhax digests conform to standard digest % format so that it can automatically be parsed. I'm looking into some % routines that will do this and hope to have such a system in place no % later than issue #8. 'Till then, hang in there, please! I decided to % get this issue out quickly since it contains Leslie Lamport's % announcement of a new release of LaTeX. % % Again a reminder: please address subscription requests to % texhax-request@score.stanford.edu % and submit submissions to TeXhax to % texhax@score.stanford.edu % % Malcolm Brown ------- 4-Nov-86 14:49:21-PST,652;000000000000 Date: Tue 4 Nov 86 14:47:58-PST >From: Emma Pease Subject: Endnotes and Footnotes Tel: (415) 723-3561 Has anyone written an endnote macro, i.e., a macro that will place footnotes at the end of the paper instead of at the bottom of the page. I can write one that works for short notes; however, I would like a macro that can handle long notes. Many thanks, Emma Pease Emma@csli.stanford.edu ps. Does anyone know of a German version of TeX. ------- 4-Nov-86 16:45:27-PST,3000;000000000000 >From: "Nelson H.F. Beebe" Subject: Suppression of unwanted line breaks in verbatim mode I have been bothered for some time by spurious line breaks in LaTeX verbatim environments, such as \begin{verbatim} PROGRAM SAMPLE 1 \end{verbatim} which produces TWO lines of output, the `1' in column 80 having been wrapped to a new line. Changing the blanks to some other character, e.g. \begin{verbatim} @@@@@@PROGRAM@SAMPLE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@1 \end{verbatim} suppresses the line break, revealing that the problem has something to do with the handling of spaces in verbatim mode. I spent considerable time on this problem before finding a solution. In verbatim mode in LaTeX and TeX (see the TeXbook, p. 381), all printing characters are redefined to print as themselves in a fixed-width typewriter font, and is redefined to leave vertical mode and start a new paragraph. The problem is the space character. Its position in the typewriter font is occupied by the visible space character (a lowered half-box used extensively throughout the TeXbook, and obtainable with LaTeX by \verb*| |), so it is left defined as an interword space (rather than a particular font character) which TeX is free to break lines at. In LaTeX's verbatim environment, space is \let to an ordinary space via the command \def\@xobeysp{\leavevmode{} } The trick needed to prevent line breaks at spaces is to change this to include a large line-breaking penalty. Because @ is normally not allowed in a macro name (it is category code 12 (other) instead of 11 (letter)), you cannot just put a new \def for it into your file; instead you need to use two other macros defined in LaTeX for temporarily changing the category code of @: \makeatletter \def\@xobeysp{\leavevmode\penalty10000\ } \makeatother If you like, you can put the \def\@x... line in a personal option file, e.g. mychanges.sty, file which is referenced by the \documentstyle[mychanges]{style} command at the beginning of your file; then the \makeatletter and \makeatother are not required. PLAIN.TEX uses this technique for the tie character, tilde, which is defined as (the TeXbook, p. 353); \def~{\penalty10000 \ } % tie That is, it produces a space, but with a large attached line-breaking penalty. ------- 6-Nov-86 13:14:32-PST,2133;000000000000 Date: 6 November 86 10:29-GVA >From: FLK%CERNVM.BITNET@WISCVM.WISC.EDU To: TEXHAX@SU-SCORE.ARPA I work on an IBM AT with the version PCTeX of TeX and LaTeX (with DOS 3.0) I have the following problem. When a part (around 100K) of the RAM (640K) is taken by other softs (like DVILASER/PS), TeX can not be runned. Using the command \tracingstats in a test file, I have seen that: - if the RAM contain only DOS (and has still 601K free) TeX says Here is how much of TeX's memory you used: 155 strings out of 1205 1474 string characters out of 4737 5766&24977 words of memory out of 25000&27736 1993 multiletter control sequences out of 2500 18379 words of font info for 72 fonts, out of 23000 for 75 14 hyphenation exceptions out of 307 13i,15n,17p,170b,293s stack positions out of 200i, 40n,60p,500b,600s - if the RAM is partly occupied (for example by DVILASER/PS and has still 560K free), TeX stops and says Here is how much of TeX's memory you used: 76 strings out of 1205 754 string characters out of 4737 182&22055 words of memory out of 25000&22055 1931 multiletter control sequences out of 2500 18379 words of font info for 72 fonts, out of 23000 for 75 14 hyphenation exceptions out of 307 13i,0n,17p,170b,9s stack positions out of 200i,40n, 60p,500b,600s the fourth line has changed; TeX allow only 22055 words while a normal text needs at least 25000 words! Is it DOS that gives bad informations about its memory? Or is it TeX that doesn't interpret them correctly? If I recompile plain.tex with tex512.exe instead of tex640.exe, does it work? Has a TeXhaXer already tried this? -------- 6-Nov-86 20:34:21-PST,1473;000000000000 >From: crl@newton.physics.purdue.edu (Charles R. LaBrec) To: TeXhax@score.stanford.edu Subject: Re: Ricoh mode_def? Well, I have one that I have more or less settled on for a DEC LN03. Here it is: mode_def decln = % decln mode proofing:=0; % no, we're not making proofs fontmaking:=1; % yes, we are making a font tracingtitles:=0; % no, don't show titles in the log pixels_per_inch:=300; blacker:=0.9; % make pens quite a bit blacker fillin:=-0.2; % darken diagonals o_correction:=0.5; % don't overshoot as much enddef; I have twiddled the parameters a bit, and this seems to produce good 12 point cm fonts. I am a bit unsure because changing blacker, fillin, or o_correction seem to make no difference for quite a large range of values. I can't remember exactly, but you will get the same results as the ones above for .4 < blacker < .9, -.8 < fillin < -.1, and 0 < o_correction < .7 . But this probably makes a good starting point. Charles LaBrec crl @ newton.physics.purdue.edu ------- 7-Nov-86 20:41:49-PST,1742;000000000000 Date: Tue, 4 Nov 86 09:05 EST >From: Subject: DVItoVDU To: TEXHAX@SU-SCORE.ARPA State University of New York at Stony Brook Stony Brook, NY 11794-5000 Robert Malouf Marine Sciences November 4,1986 I recently got a copy of DVItoVDU. It works very well, but I would like to write I driver so that I can preview documents on my IMLAC graphics terminal from a VAX 11/730 running VAX/VMS 4.3. Unfortunately, I do not have a Modula-2 compiler. I have been translating the code into Pascal, but that is a very slow and tedious process. Does anyone out there have either DVItoVDU source code in some language other than Modula-2 or a pre-compiled IMLAC driver? Any help would be greatly appreciated. Rob Malouf RMALOUF@SBCCMAIL.BITNET Marine Sciences Research Center State University of New York Stony Brook, NY 11794-5000 (516) 632-8670 ------- 10-Nov-86 10:22:00-PST,4676;000000000000 Date: Mon, 10 Nov 86 10:22:56 pst >From: lamport@decwrl.DEC.COM (Leslie Lamport) To: texhax@score.stanford.edu Subject: Re: Issues #4 \& #5 ** LaTeX announcements. A major new release occurred on 28 October 1986; the new files are on at Score. (Minor changes have been made since then, and are also on Score.) There should soon be an index-making facility for LaTeX. There's a preliminary version written as a Unix shell script, and Peehong Chen at Berkeley has volunteered to code it in C. Perhaps someone will volunteer to translate his C code into Web so it can be made available to all LaTeX users. ** In response to the message from Tim Hopkins, Computing Laboratory, University of Kent... Due to a LaTeX bug that was corrected in the 28 Oct 86 release, when a paragraph-making enviroment was used inside another environment, as in \begin{large} \begin{itemize} ... \end{itemize} \end{large} Following text... The "Following text" always starts a new paragraph. ** The incorrect line in plain.tex reported by Roberto.Minio@C.CS.CMU.EDU has been acknowledged by Don Knuth to be a bug and will be corrected in the next version of TeX. It has been corrected in lplain.tex in the 28 Oct 86 release of LaTeX. ** About the use of spaces in macros... They get in there because people try to make their macros readable. This is a mistake; TeX macros are inherently unreadable. The best advice I can offer is an anonymous quote from the early 70's: I always program in the same language, regardless of which compiler I happen to be using. Anyone who has browsed through latex.tex knows that I code in a language that looks a little like Pascal, with assignments, if-then's, etc. I then hand translate the code into TeX. The hand translation represents a negligible fraction of the work of macro writing and causes a very small percentage of the bugs. Whenever I try to short-cut the process by omitting the Pascal-like code, it's usually a mistake. ** David John Buerger had three LaTeX questions: 1. Uneven line spacing within random paragraphs One possibility is the use of size-changing declarations. The value of \baselineskip is changed by these declarations, and the value used to typeset an entire paragraph is the value in effect when TeX encounters the blank line ending the paragraph. 2. How to produce a full banner and line(s) while in column mode It's not clear to me what he wants to do, but I guess it's something like GNATS AND GNUS ON THE MARCH D. E. KNUDSON AN ARMY OF GNATS, GNUS AND OTHER ANIMALS WAS SPOTTED IN THE AFRICAN VELDT WHEN a group of white which caused Dr.Hap- hunters on a sa- good to comment that fari landed in this was the first ... ... So long as the double-column lines come on the top of a page, it's possible to fudge this for each instance using the \twocolumn command's optional argument (perhaps with a negative \vspace to close things up). However, doing it automatically is TeX hacking above and beyond the call of sanity. I couldn't understand his remark about \hline, since the LaTeX \hline command does nothing like what he says it does. 3. \dotfill\ in tabbing mode A good question that never occurred to me. The tabbing environment works by inserting the necessary space to line up the columns; it doesn't make each column a separate box, which is what would be necessary to make \dotfill and \fill do what one might expect them to. I don't remember why I did it this way, but I don't feel any compulsion to change it now. Leslie Lamport ------- % %\bye % -------