TeXhax Digest Friday, January 13, 1989 Volume 89 : Issue 3 Moderators: Tiina Modisett and Pierre MacKay %%% The TeXhax digest is brought to you as a service of the TeX Users Group %%% %%% in cooperation with the UnixTeX distribution service at the %%% %%% University of Washington %%% Today's Topics: Needed: Changebar.sty for PostScript Needed: TeX output from Compugraphic 8600 run off VAX under UNIX Re: patch for DVIPAGE (TeXhax V89 #2) HP Laserjet driver and others Manual fed paper and ArborText's DVILASER/PS New release of PC-WriTeX New Tex Offerings TeXing Graph Paper Printing enveloped on Apple LW from LaTeX BibTeX 0.99c under MS-DOS Re: TeXhax Digest V88 #111 Looking for Old English eth and thorn How to get Latex footnotes starting from 1 on each page?? Tabs in LaTeX (TeXhax 88 #111) --------------------------------------------------------------------------- Date: Wed, 4 Jan 89 09:40:18 PST From: Phil Farrell Subject: Needed: Changebar.sty for PostScript Keywords: PostScript, changebars, dvi2ps In TeXhax Vol 88, Issue 111, Theo de Klerk graciously provided a very interesting LaTeX macro for producing document change bars. Unfortunately for me, this macro is designed to produce "\special" commands for the dvi-to-ln03 filter. Any PostScript hacker out there care to provide the corresponding specials for a dvi-to-PostScript filter? Thank you in advance, Phil Farrell, Computer Systems Manager Stanford University School of Earth Sciences ------------------------------------------------------------------------------- Date: 4 Jan 89 11:02:00 EDT From: Subject: Needed: TeX output from Compugraphic 8600 run off VAX under UNIX Keywords: query, TeX, VAX, UNIX, Compugraphic 8600 Barbara Beeton @TUG suggested that I pass my question on to you. Do you know any way to get TeX output from a Compugraphic 8600 run off a VAX operating under UNIX? -------------------------------------------------------------------------- Date: Tue, 3 Jan 89 09:04:35 PST From: hunt@spar.slb.com (Neil Hunt) Subject: Re: patch for DVIPAGE (TeXhax V89 #2) Keywords: DVIPAGE Thanks very much for your efforts - it is always interesting to see that other people are using dvipage, and to see their comments. I should draw your attention to dvipage 3.0, released last week, which incorporates several enhancements over 2.0 which you are using. In particular, 3.0 reads either GF or PXL font files, (2.0 reads only PXL) and performs font substitution based upon a heurestic to find the font with the closest family, size, and magnification to the desired font. A couple of minor bugs are also fixed. You can obtain 3.0 from the Unix TeX distribution (june.cs.washington.edu), and perhaps soon from the Sun-Spots archive, or comp.sources.unix. Neil/. ---------------------------------------------------------------------------- Date: Mon, 2 Jan 89 22:56:22 EST From: murthy@cs.cornell.edu (Chet Murthy) Subject: HP Laserjet driver and others Reply-To: murthy@cs.cornell.edu (Chet Murthy) Keywords: dviware I was told that there is available a package of DVI drivers (filters) which work for many, many different printers, among them the HP Laserjet. I have seen some of the files for this distribution, and it looks like they were taken from a TOPS-20 machine, from directories APS:, and XPS:. Does anybody know what machine this could have been? The program supported many different kinds of printers, all in one large C program with tons of #ifdefs's. If anybody knows, please Email to me, because I don't read this group regularly. chet murthy@cs.cornell.edu murthy%tness7.uucp@cs.utexas.edu Organization: Cornell Univ. CS Dept, Ithaca NY chet murthy@svax.cs.cornell.edu ------------------------------------------------------------------------------ Date: Sun, 1 Jan 89 15:34:02 EST From: cld@arbortext.com Subject: Manual fed paper and ArborText's DVILASER/PS Keywords: DVILASER/PS, ArborText, manualfeed Dick Brown of Carleton college wrote to ask if ArborText's DVILASER/PS could specify manual feed any other way than to embed the command in a \special in the TeX source. A DVILASER/PS `manualfeed' option that could be specified at run- time sounds like a useful feature, and I have included it on our list of hoped-for improvements for the next release of DVILASER/PS. In the meantime, DVILASER/PS's overlay option can be used to include the manual feed information independent of the TeX source. If you create a file, say `manual.fed', with one line: statusdict begin /manualfeed true def end you can tell DVILASER/PS to include manual.fed like this: DVILASER option> overlay manual.fed DVILASER/PS's overlay command is described fully in chapter 2 of the User Manual. Please feel free to contact me if you have any questions or need any more information. Cheri DeRosia ArborText Technical Support cld@arbortext.com (313) 996--3566 --------------------------------------------------------------------- Date: Tue, 3 Jan 89 16:39 GMT From: Peter Flynn UCC Subject: New release of PC-WriTeX Keywords: PC-WriTeX Version 2.3 of the PCWRITeX converter driver is now available. This release has some bug fixes and has been tidied up considerably. As before, I am supplying this version on request only. The servers run by Michael deCorte at Clarkson, Peter Abbott at Aston, the LISTSERVs at Heidelberg and Texas A&M and Jon Radel's repository at Princeton have all been sent their copies. If anyone knows how to *SEND* stuff to SIMTEL-20, please let me know. Please reduce network traffic, and retrieve your copy from your local repository rather than asking me for it unless you are unable to get it from them. Peter Flynn --------------------------------------------------------------------------- Date: 30 December 1988, 11:36:44 PST From: Moshe Vardi VARDI%ALMVMA.BITNET@uwavm.acs.washington.edu Subject: New Tex Offerings Keywords: TeX, TUG I am trying to obtain information about new Tex offerings that were announced in the August TUG Meeting. 1. Micro Publishing Systems is offering a new implementation of Tex in CWEB. 2. K-Talk is offering MathEditor, which allows WYSIWYG input of math. Does anyone have information about how to contact these vendors? Thanks, Moshe Vardi vardi@ibm.com ------------------------------------------------------------------------------- Date: Fri, 30 Dec 88 09:20:36 EST From: th%OCLCRSUN.BITNET@uwavm.acs.washington.edu (Thom Hickey) Subject: TeXing Graph Paper Keywords: graphs, TeX Here is a real `hack.' A program that runs under plain \TeX\ that prints out simple graph paper with three levels of darkness to the rules. Nothing but $1/300$ inch square rules are used. It's a real test of your dvi interpreter's ability to handle a large number of rules on one page and to place them correctly! The dvi file is 877,340 bytes long, and it takes about 3 minutes to \TeX\ on a Sun 3/110. Thom Hickey OCLC Online Computer Library Center Dublin OH 43017 th@oclcrsun.bitnet % This TeX program was written by: % Thomas B. Hickey, th@oclcrsun.bitnet % Office of Research % OCLC Online Computer Library Center % 6565 Frantz Road % Dublin OH 43017-0702 % (614) 764-6000 % 1987 September 22 % this is graph2.tex modified to output light lines \tracingstats=1 \newcount\linesperinch \linesperinch = 5 % You may want to change the offsets (we consider the upper left corner to be 0 + 0) % The program is optimized for 300 dpi Canon engines \hoffset=4.3pc \voffset=2.2pc \hsize = 8in \vsize = 10.5in \nopagenumbers \offinterlineskip \parindent=0pt \newdimen\pixel \pixel=1in \divide\pixel by 300 \newdimen\srulewidth \srulewidth = 1 \pixel \newdimen\sruleskip \sruleskip = 3 \pixel \newdimen\mruleskip \mruleskip = 2 \pixel \newdimen\bruleskip \bruleskip = 0 \pixel \newdimen\spacing \spacing = 1.0in \divide\spacing by \linesperinch \dimen0 = 1.0in \newcount\highlight \highlight = \dimen0 \divide\highlight by \spacing \newdimen\ruleheight \ruleheight=10in \newdimen\rulewidth \rulewidth = 7in \newcount\hcount \newcount\vcount \newcount\n \newcount\numcols \numcols = \rulewidth \divide\numcols by \spacing \newcount\numrows \numrows = \ruleheight \divide\numrows by \spacing %\showthe\linesperinch %\showthe\numcols %\showthe\numrows %\showthe\highlight \def\bhrule{\vrule height \srulewidth depth 0pt width 1 \pixel} \def\ahrule#1{\hbox to \rulewidth{\leaders\hbox{\bhrule\kern#1}\hfill}} \newbox\bhrulebox \setbox\bhrulebox=\ahrule{\bruleskip} \newbox\mhrulebox \setbox\mhrulebox=\ahrule{\mruleskip} \newbox\shrulebox \setbox\shrulebox=\ahrule{\sruleskip} \def\bvrule{\hrule height 1\pixel depth 0pt width 1 \pixel} \def\avrule#1{\vbox to \ruleheight{\leaders\vbox{\bvrule\kern#1}\vfill}} \newbox\bvrulebox \setbox\bvrulebox=\avrule{\bruleskip} \newbox\mvrulebox \setbox\mvrulebox=\avrule{\mruleskip} \newbox\svrulebox \setbox\svrulebox=\avrule{\sruleskip} \hcount = 0 \n = 0 \setbox0=\hbox{ \leavevmode \rlap{\copy\bvrulebox}\kern\spacing \loop \advance\hcount by 1\advance\n by 1 \ifnum\hcount<\numcols \ifnum\n=\highlight\rlap{\copy\mvrulebox}\n=0 \else\rlap{\copy\svrulebox}\fi \kern\spacing \repeat \rlap{\copy\bvrulebox} } \def\vlap#1{\vbox to 0pt{#1\vss}} \advance\spacing by -1\pixel % compensate for width of line \vlap{\rlap{\kern -3.5pt\box0}}% \vcount = 0 \n = 0 \copy\bhrulebox\kern\spacing \loop\advance\vcount by 1\advance\n by 1 \ifnum\vcount<\numrows \ifnum\n=\highlight\copy\mhrulebox\n=0 \else\copy\shrulebox\fi \kern\spacing \repeat \copy\bhrulebox \bye -------------------------------------------------------------------------- Date: Tue, 3 Jan 89 21:47 EST From: Subject: Printing enveloped on Apple LW from LaTeX Keywords: LaTeX, envelopes, LaserWriter Printing envelopes on a Apple LaserWriter with LaTeX is highly non-trivial. It took me a while to work it out, so I would like to share the macros with other users. It should be easy to change them for other, better, printers capable of handling envelopes (note that almost no PostScript is used). Here is a self-explanatory sample file: \documentstyle[12pt,env]{article} \nofiles \begin{document} \sf \from{Dimitri Vulis} %fills the blank in the return address on our stationery \begin{envelope} Dimitri Vulis\\ Department of Mathematics/Box 330\\ City University of New York Graduate Center\\ 33 West 33 St.\\ New York, NY 10036 \ZipBar{10036-8099} \end{envelope} \begin{envelope} American Mathematical Society\\ P. O. Box 6248\\ Providence, RI 02940 \ZipBar{02940-9943} \end{envelope} \begin{envelope} Acad.\ Stanislav P. Merkuriev, Rector\\ Leningrad State University\\ Universitetskaya Naberezhnaya, 7/9\\ Leningrad 199034\\ USSR \end{envelope} \end{document} Evidently, the envilope environment contains the address, and \ZipBar produces an optional bar code on the bottom right corner. Assuming that you are facing the LaserWriter, and the cables are toward the wall, feed the envelope into the slot on your right (opposite the paper cassette) face up, so that its bottom is flush with the edge of the slot closest to the wall. If this is consufing, just try all possible combinations. When you are printing multiple envelopes, there is an approx. 2 second time window to feed the next envelope; if you do it too early, or too late, it jams. Wait about 2 seconds before the previous envelope disappears. Here, practice only makes perfect. Manual feeding won't work if your paper cassette is empty, and it's normal for a blank sheet of paper to be dragged out together with the envelope. Here are the macros themselves (ENV.STY): \textwidth9.5in \textheight6.675in \pagestyle{empty} \special{ps: landscape} \def\@from{} \def\from#1{\def\@from{#1}} \newbox\ZipBarL \newbox\ZipBarS %1/64" 1/32" \setbox\ZipBarL\hbox{\vrule height.125in width.015625in\hskip.03125in} \setbox\ZipBarS\hbox{\vrule height.05in width.015625in\hskip.03125in} %each black bar is about 4.6 dots wide on a 300dpi printer \newcount\ZipBarm \newcount\ZipBarn \newif\ifzipcode \chardef\ten=10 %Almost like using \ifcase... except `-' is ignored. \def\ZipBar@@@#1#2{\expandafter\def\csname ZipBar@@#1\endcsname% {#2\advance\ZipBarn#1\relax}} \ZipBar@@@0{\copy\ZipBarL\copy\ZipBarL\copy\ZipBarS\copy\ZipBarS\copy\ZipBarS} \ZipBar@@@1{\copy\ZipBarS\copy\ZipBarS\copy\ZipBarS\copy\ZipBarL\copy\ZipBarL} \ZipBar@@@2{\copy\ZipBarS\copy\ZipBarS\copy\ZipBarL\copy\ZipBarS\copy\ZipBarL} \ZipBar@@@3{\copy\ZipBarS\copy\ZipBarS\copy\ZipBarL\copy\ZipBarL\copy\ZipBarS} \ZipBar@@@4{\copy\ZipBarS\copy\ZipBarL\copy\ZipBarS\copy\ZipBarS\copy\ZipBarL} \ZipBar@@@5{\copy\ZipBarS\copy\ZipBarL\copy\ZipBarS\copy\ZipBarL\copy\ZipBarS} \ZipBar@@@6{\copy\ZipBarS\copy\ZipBarL\copy\ZipBarL\copy\ZipBarS\copy\ZipBarS} \ZipBar@@@7{\copy\ZipBarL\copy\ZipBarS\copy\ZipBarS\copy\ZipBarS\copy\ZipBarL} \ZipBar@@@8{\copy\ZipBarL\copy\ZipBarS\copy\ZipBarS\copy\ZipBarL\copy\ZipBarS} \ZipBar@@@9{\copy\ZipBarL\copy\ZipBarS\copy\ZipBarL\copy\ZipBarS\copy\ZipBarS} \def\ZipBar@@#1{\csname ZipBar@@#1\endcsname} \def\ZipBar@#1{% \ifx#1\null% \let\next\relax% \else% \ZipBar@@{#1}% \let\next\ZipBar@% \fi% \next} \def\ZipBar#1{% \zipcodetrue% \par\vspace{.5in}% \hfill\hbox{% \copy\ZipBarL% start with a long bar \ZipBarn\z@% \ZipBar@#1\null% \ZipBarm\ZipBarn% \divide\ZipBarm\ten% \multiply\ZipBarm\ten% \advance\ZipBarm-\ZipBarn% \ifnum\ZipBarm<0% \advance\ZipBarm\ten% \fi% \ZipBar@@{\the\ZipBarm}% last digit, so that the sum is divisible by ten \copy\ZipBarL% end with a long bar }\hspace*{1.5in}\vspace*{.375in}} \def\envelope{ \newpage \zipcodefalse \special{ps::[asis] statusdict /manualfeed true put} \raggedright \vspace*{3.175in} %Fill in the blank on our stationary---change as needed {\parindent.32in\@from\ \par} \vfill \parindent3.5in} %A fancier way would be to put the street address in a box and to center it \def\endenvelope{\par \ifzipcode \else \vspace*{1in} \fi \special{ps::[asis] statusdict /manualfeed false put}} There is no warranty express or implied. Use at your own risk. Enjoy! -Dimitri Vulis --------------------------------------------------------------------------- Date: 30 DEC 88 11:01:49 From: Z3000JD%AWITUW01.BITNET@uwavm.acs.washington.edu Subject: BibTeX 0.99c under MS-DOS Keywords: BibTeX, MS-DOS, TEXINPUT(S), TEXBIB I have a change-file for BibTeX 0.99c for the Professional Pascal-Compiler from Metware. It is a full implemation of BibTeX with no real restriction. (If you have not a 640 KByte PC you have to reduce one large array by 15 Percent). It implements the Environment-variables TEXINPUT(S) and TEXBIB too. I can send the change-file and the binaries in ARC/UUE-Format (approx. 100 KByte). Johannes Demel Technical University Vienna, Austria Bitnet: Z3000JD@AWITUW01 --------------------------------------------------------------------------- Date: Wed, 4 Jan 89 10:46:16 PST From: lamport@src.dec.com (Leslie Lamport) Subject: Re: TeXhax Digest V88 #111 Keywords: tabs, underscore, < >, margins Francois-Michel Lang would like to get tabs to "work right" in a verbatim environment. One hopes that whoever is responsible for including "tab" in the ASCII character set is now roasting in hell for his efforts. It has been suggested that building a system that allows the insertion of tabs into a text file should be a capital offense. I'm not that extreme; I think that ten years of writing COBOL code in Novosibirsk would be adequate punishment. Unfortunately, there are still unpunished offenders building text editors. Fortunately, there exist programs that will replace tabs by the appropriate number of spaces. Running them on all your files will save you much grief in the long run. Jeffrey Mark Siskind asks several questions 1) When I include and underscore ``_'' in a verbatim environment it prints out OK but when I try to print an underscore using the \tt font it comes out funny. It is offset from where it should be. I haven't tried it out using \verb but for various reasons, I need to use \tt and can't get this to work. Why does this happen and how do I fix this? I presume that he is using the \_ command to produce the underscore in the \tt font. The \_ command does not produce a character, but rather a .3em-wide rule. This is not the same as the character "_", which happens to exist in the \tt font. (This may be regarded as an error either in the cmtt font or the \_ command, but both came from Knuth, so I'll let him worry about that.) To get the charcter "_" from the \tt font, use the \symbol command. 2) When I try to print out ``<'' and ``>'' in the \it font, they come out as a Spanish upsidedown exclamation mark and question mark respectively. Is it supposed to happen this way? Why? How can I get an italic ``<'' and ``>'' which is what I want. (Or even better, the Eurepean style quotes << and >>. Looking up "<" or ">" in the index refers to page 12, where it will be seen that nothing is said to allow one to infer anything about what happens when a "<" or ">" is typed outside math mode. I have no idea what an italic "<" would look like. However, if you want to print some symbol that is not described in the LaTeX manual, there are two possibilities: (a) check the available fonts at your site and, if the symbol exists, use the \newfont and \symbol commands, or (b) build the symbol out of existing ones. 3) In the tabbing environment several thing are not documented in the LaTeX manual. First does \pushtabs and \poptabs save and restore the value of left_margin_tab in additon to the tab stops or does it just save and restore the tab stops. The manual says precisely what these commands save and restore. It does not list all the 47,876 quantities that are not saved and restored by these commands. Moreover, it is very easy to set up a test file to determine exactly what these commands do, rather than bother the hundreds of readers of TeXHaX with the question. Second, how can I clear the tab stop settings and reset the left_margin_tab? What I am trying to do is to create an environment for Lisp code fragments which allows the inclusion of math mode such that I can set the indentation for successive groups of line. To do this I need to be able to reset tab stops and the left_margin_tab. I don't understand what "resetting" tab stops means. If it means clearing them, then there is never any reason to do this. If it means restoring them to their previous values, then use \pushtabs and \poptabs. There is no command top restore left_margin_tab. However, you can write your macros so they increment or decrement a counter every time left_margin_tab is incremented or decremented with \+ or \-. A simple loop will then restore left_margin_tab to 0. (Search latex.tex for "loop" to find useful looping commands.) 4) Why is the width of em in \tt font twice the fixed width of any character in that font. An interesting question; perhaps Knuth has answered it when discussing the CMR fonts. 5) LaTeX \> will always tab to the next tab stop, even if that means tabbing backwards. Sometimes this is not what I want. I want normal behavior where it will tab to the next available tab stop. How can I get this behavior? I presume by "normal" he means "what a typewriter does". (I no longer consider use of a typewriter to be normal behavior.) This would require rewriting the "tabbing" environment. The changes would probably not be too difficult for an advanced TeX hacker, once he figured out how the tabbing environment works. I cannot imagine anyone thinking it would be worth the effort to implement this highly dubious feature. Leslie Lamport ------------------------------------------------------------------------------ Date: Thu, 5 Jan 89 07:56:03 EST From: lang@PRC.Unisys.COM Subject: Looking for Old English eth and thorn Keywords: TeX, fonts, Old-English A colleague of mine, who is an Old-English scholar, is interested in setting the eth and thorn characters in TeX. Does anyone have a way to do this? Francois-Michel Lang Paoli Research Center, Unisys Corporation lang@prc.unisys.com (215) 648-7256 Dept of Comp & Info Science, U of PA lang@cis.upenn.edu (215) 898-9511 ------------------------------------------------------------------------------ Date: Fri, 30 Dec 88 09:18 O From: Subject: How to get Latex footnotes starting from 1 on each page?? Keywords: LaTeX, footnotes Hi I have a problem. In our history departement we have two criteria for footnoting. 1) Footnote must be at the bottom of the page right after the text. 2) And all the footnotes must begin form 1 on each page. So does anyone of you out there have a macro which might do the trick. I need footnote numbers starting from 1 on each page. If you have a macro, send it to texhax@finhutc or makivirt@finjyu Thank you for your help. Mr Joni Makivirta University of Jyvaskyla Makivirt@finjyu (in bitnet) ------------------------------------------------------------------------------- Date: Fri, 6 Jan 89 09:27:17 EST From: weltyc@fs3.cs.rpi.edu (Christopher A. Welty) Subject: Tabs in LaTeX (TeXhax 88 #111) Keywords: Tabs, LaTeX well I don't know any way in LaTeX (that doesn't mean there isn't one), but I do the same thing often, and I just run the code through `expand', (which is a standard unix utility that replaces tabs with spaces) if it is a whole file, or I use Emacs' query-replace (to replace all tabs with 8 spaces) if it is just a small section of a file. ===== Christopher Welty --- Asst. Director, RPI CS Labs weltyc@cs.rpi.edu ...!njin!nyser!weltyc ------------------------------------------------------------------------------- %%% The TeXhax digest is brought to you as a service of the TeX Users Group %%% in cooperation with the UnixTeX distribution service at the %%% University of Washington %%% %%% Concerning subscriptions, address changes, unsubscribing: %%% BITNET: send a one-line mail message to LISTSERV@UWAVM.ACS.WASHINGTON.EDU %%% SUBSCRIBE TEXHAX % to subscribe %%% or UNSUBSCRIBE TEXHAX %%% %%% All others: send a similar one line mail message to %%% TeXhax-request@cs.washington.edu %%% Please be sure you send a valid internet address!! %%% in the form name@domain or name%routing@domain %%% and use the style of the Bitnet one-line message, so that %%% we can find your subscription request easily. %%% %%% All submissions to: TeXhax@cs.washington.edu %%% %%% Back issues available for FTPing as: %%% machine: directory: filename: %%% JUNE.CS.WASHINGTON.EDU TeXhax/TeXhaxyy.nn %%% yy = last two digits of current year %%% nn = issue number %%% %%% For further information about TeX Users Group services and publications %%% contact Karen at KLB@SEED.AMS.COM or write to TUG at %%% TeX Users Group %%% P.O. Box 9506 %%% Providence, R.I. 02940-9506 %%% Telephone (401) 751-7760 %%% %%% Current versions of the software now in general distribution: %%% TeX 2.93 metafont 1.5 %%% plain.tex 2.92 plain.mf 1.0 %%% LaTeX 2.09 ( 4/26/88) cmbase.mf see cm85.bug %%% SliTeX 2.09 gftodvi 1.7 %%% tangle 2.8 gftopk 1.4 %%% weave 2.9 gftype 2.2 %%% dvitype 2.9 pktype 2.2 %%% pltotf 2.3 pktogf 1.0 %%% tftopl 2.5 mft 0.3 %%% BibTeX 0.99c dvipage 3.0 %%%\bye %%% End of TeXhax Digest ************************** -------