Subject: TeXhax Digest V90 #2 From: TeXhax Digest Errors-To: TeXhax-request@cs.washington.edu Maint-Path: TeXhax-request@cs.washington.edu To: TeXhax-Distribution-List:; Reply-To: TeXhax@cs.washington.edu TeXhax Digest Friday, January 5, 1989 Volume 90 : Issue 2 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: RE: BiBTeX in the DECUS TeX Collection A historical LaTeX document RE: TeXhax Digest V89 #110 Circle fonts in LaTeX - the modification blues Re bug, \uppercase Re: LaTeX References as superscripts? (no []'s) Style files for citations, underlining, tables Re: LaTeX references as superscripts Re: Font substitution in old dvisun ------------------------------------------------------------------------- Date: Sun, 17 Dec 89 13:23 EST From: Ted Nieland <@AAMRL.AF.MIL:TNIELAND@FALCON> Subject: RE: BiBTeX in the DECUS TeX Collection Keywords: BiBTeXm DECUS Brian Hamilton-Kelly writes: >In TeXhax, Volume 89 #105, Granville Paules (paules@phoenix.Princeton.EDU) >writes: > >>Has anyone running the DECUS distribution of BibTeX v 0.99c for VAX/VMS >>experienced any problems and if so has a fix been posted? I am successfully >>running BibTeX v 0.98i under BSD Unix and the uTeX version on PC. The >>error issued is encountered for every entry in a bib database with >>the message "string" is a literal, not a function for entry "entry" >> while executing---line 729 of file plain.bst >>where string is the field and entry is the entry. > >This is simply solved: he's using the WRONG BIBTEX STYLE FILES. There was a >major revision between 0.98 and 0.99, involving almost complete reversal of >the syntax of BibTeX's internal workings: consequently, the .BST files are >incompatible (although the same .BIB files are usable). > >Oren Patashnik, quite rightly, insists that the LaTeXable files that describe >BibTeX should be distributed with it; I cannot imagine that Ted Nieland failed >to put these onto the DECUS dsitribution tape, so really it behooves the USER >to ensure that he's read the documentation! The DECUS TeX Collection includes all the style files from the Clarkson Archive at the time the collection was made. Some are for pre 0.99 versions of BiBTeX, but they are all marked in the comments in the BST files as to what version of BiBTeX they work with. The collection also contains all the electronic documentation on all pieces of the collection, as they are available. In the collection introduction, I highly recommend that users get The TeXBook and the LaTeX book, and I give the book references (I suggest getting them through TUG and give the TUG address and phone). Ted Nieland DECUS TeX Collection Editor TNIELAND@AAMRL.AF.MIL <- WORK dayvb!nieland!DECUS-TeX <- Home (referencing the DECUS TeX Collection) ----------------------------------------------------------------------- Date: 14 Dec 89 12:39 GMT+0100 From: Jan Vorbrueggen Subject: A historical LaTeX document Keywords: LaTeX, history A historical note: I just received a copy of "DECnet Digital Network Architecture (Phase V)", \copyright 1987 by DEC. It is obviously typeset by LaTeX, and if you look at the figures, you can see that LaTeX's line font (esp. the arrow heads) were generated with cmbase loaded...:-) Now I know why LL went to all that trouble giving us LaTeX! Jan Vorbrueggen MPI for Brain Research Frankfurt, FRG --------------------------------------------------------------------------- Date: Thu, 14 DEC 89 13:16:11 GMT From: CHAA006%vaxa.rhbnc.ac.uk@NSFnet-Relay.AC.UK Reply-To: Philip Taylor (RHBNC) Subject: RE: TeXhax Digest V89 #110 Keywords: drivers, fonts S. Holmes (Consulting Detective) asked about drivers for the LN03+; as he does not mention what operating system he is using, I can only hope that he has joined the sane world of VMS, in which case I can heartily recommend Brian {Hamilton Kelly}'s driver DVItoLN03. Brian is accessible as Robert Bruner asked about generating pixel [sic] files in other magnifications [than \magstep 0 ?] from MetaFont. I would recommend a MetaFont incantation such as: (1) $ MetaFont "\mode=localfont; mag=magstep 1; input " to generate the {\it GF} file at \magstep 1; simply substitute different numbers for "1" to get other magnifications. As to generating {\it PIXEL} files: don't bother --- they are out of date and grossly inefficient representations of GF or PK files. Rather, get yourself a driver that supports PK files, and use GFtoPK to convert the result of (1) above: (2) $GFPK .360GF ! or whatever value you end up with Philip Taylor Royal Holloway and Bedford New College. -------------------------------------------------------------------------- Date: Wed, 13 Dec 89 18:24:36 EST From: John Crawford Subject: Circle fonts in LaTeX - the modification blues Keywords: LaTeX, circle fonts The latest LaTeX lfonts.tex and sfonts.tex (which I've just today ftp'ed from Stanford's labrea machine) have modifications with the circle fonts ... (extracted from the file LFONTS - Version of 21 November 1989) \font\tencirc = lcircle10 % 21 Nov 89 : circle10 -> lcircle10 Where do the lcircle10 fonts come from? I don't have them and don't see that they exist at all on labrea in any form. Thanks for any feedback on this change. John Crawford ------------------------------------------------------------------------ %%Moderators note: Our apologies to Hubert Partl, who sent mail %%stating that his submission concerning the bug in \uppercase %%was a mistake and should not be included in TeXhax. We didn't %%see his message until the Digest was already on its way. Sorry!!! Date: Thu, 14 Dec 89 10:01:32 GMT From: Martin Ward Subject: Re bug, \uppercase Keywords: TeX, \uppercase The argument of a command (especially a Plain TeX one) is not necessarily put into a group. The {} around the argument indicate the extent of that argument, they are stripped off when the macro is expanded - hence unless the body of the macro contains an extra pair of braces, the argument will not be in a group. Martin. My ARPANET address is: martin%EASBY.DUR.AC.UK@CUNYVM.CUNY.EDU OR: martin%uk.ac.dur.easby@nfsnet-relay.ac.uk UUCP:...!mcvax!ukc!easby!martin JANET: martin@uk.ac.dur.easby BITNET: martin%dur.easby@ac.uk ------------------------------------------------------------------------------ Date: Wed, 13 Dec 89 12:04:27 EST From: Denys Duchier Subject: Re: LaTeX References as superscripts? (no []'s) Keywords: LaTeX, superscripts {\makeatletter \gdef\@cite#1#2{{\setbox0\hbox{\scriptsize #1\if@tempswa, #2\fi}% \ifmmode ^{\box0}\else$^{\box0}$\fi}}} --Denys ------------------------------------------------------------------------ Date: Wed, 13 Dec 89 13:21:18 PST From: neil@boris.teleos.com (Neil Hunt) Subject: Re: LaTeX references as superscripts Keywords: LaTeX, superscripts The citation is printed by the macro \@cite#1#2, where #1 is the citation, and #2 is the page/chapter etc if specified. The comments in latex.tex seem to imply that the label in the references section is generated by the \@biblabel#1 macro; however, this command is macro is only used within the \item[] of the bibliography entry when you are using non default labels (e.g. in an alpha or named bibliography style). Thus in order to get superscripted numbers in your references section, you need to redefine the \item command in the bibliography enviornment. Note also that \@cite takes a second argument, which is the optional argument supplied to \cite: e.g. the "chapter 2" bit in the citation \cite[chapter 2]{Hunt:thesis}. There is nowhere to put this with superscripted citations, so I have just left it out in the following definitions. \makeatletter % Allow names with @ % Redefine the cite command \def\@cite#1#2{$^{\mbox{\footnotesize #1}}$} % Redefine the \item used in thebibliography \def\thebibliography#1{\section*{References\markboth {REFERENCES}{REFERENCES}}\list {$^{\mbox{\footnotesize \arabic{enumi}}}$\hfill}{\settowidth \labelwidth{[#1]}\leftmargin\labelwidth \advance\leftmargin\labelsep \usecounter{enumi}} \def\newblock{\hskip .11em plus .33em minus -.07em} \sloppy \sfcode`\.=1000\relax} \makeatother % Remove this line if used in a .sty file. Neil/. Neil%teleos.com@ai.sri.com ...decwrl!argosy!teleos!neil --------------------------------------------------------------------------- Date: Thu, 14 Dec 89 01:17 PST From: Subject: Style files for citations, underlining, tables Keywords: LaTeX, style files, citations, underlining, tables LaTeX users, I recently submitted four LaTeX style files to the Clarkson archive. They are in the pub\latex directory now, but I don't know if they have migrated to other archives. Two of the styles are for citations: cite.sty Format citations as bracketed numbers in almost the normal way except: lists of successive numbers are compressed into a single range; linebreaks within the list are allowed with VERY high penalties, and very small spaces are added after the commas. Whatever space you put before the the \cite it is replaced with a \highpenalty and a normal interword space. overcite.sty Give citation numbers as superscripts with the same input format as normal citations. Any space before the \cite is ignored, and no break is allowed. If punctuation (.,;:) follows the citation they trade places but some checking is done to suppress doubling of periods. If there is an optional note on the citation it is formatted just as if \cite.sty were in effect. Overcite does the list compression that cite.sty does. In all both cases the macro \citen can be used like \cite to get just the number(s) and write to the aux file without the extra formatting. And the other two are: tabls.sty Modify LaTeX's tabular environment macros to keep text from touching other text or hlines above or below. \hline is also changed to take an optional length argument (just like \\) giving the space to insert below. More importantly, the new \hline fixes the notches that used to appear at the junction between horizontal and vertical lines. ulem.sty Use underlining, rather than italics, for \em-phasis. Allows line breaks and even some hyphenation. Not perfect, but pretty good. Complete documentation is given as comments in each file. These are document sub-styles so the appropriate name should be given as an optional argument to the \documentstyle command. Donald Arseneau asnd@triumfcl [.bitnet] arseneau@mtsg.ubc.ca ------------------------------------------------------------------------- Date: Thu, 14 Dec 89 00:26:11 -0500 From: chris@cs.UMD.EDU (Chris Torek) Subject: Re: Font substitution in old dvisun Keywords: fonts, dvisun In TeXhax Vol 89, Issue 109 Pierre Mackay writes (excerpted from some font-finding code): >If the font cannot be found as requested, a FUZZ amount ranging from >LO_FONT_FUZZ to HI_FONT_FUZZ is added to the magnification and access() >is tried on each resultant font filename. The `fuzz' (or, as I call it, `slop') approach works fairly well. But I must note that the Unix access() routine should not exist, and though it does exist, should not be used. Access() is a design flaw---it was intended for `secure' programs, but fails to make them truly secure--- and has no business being used in most ordinary programs (it makes them fail if, for some reason, they are run set-id). Instead of the sequence: if (access(path, access_mode) < 0) complain("cannot get at file %s", path); else if ((fd = open(path, open_mode)) < 0) complain("%s: access=>yes but open=>no!?", file); programs should use the sequence: if ((fd = open(path, open_mode)) < 0) complain("cannot get at file %s", path); That is, rather than first asking `will this work' and then trying it (and having to ask again `did it work'), programs should simply try it. If it fails, they can try again (e.g., for fuzz). That aside, let us move on a bit: >If that fails, and the DPI value is greater than the base resolution, >the DPI value is divided by one magstep (1.2) and FUZZ is tried again, >and again, until the resultant resolution is down at the base resolution >given by the defined value of RESOLUTION in this program. Then, if the >design size is > 10, another attempt is made at designsize 10 >(that is cmsy17 -> cmsy10). Smaller fonts are all converted to >cmr7. (If you don't have cmr7 at the base resolution, you ARE in trouble.) >One last desperate try is made if even designsize 10 cannot be >made to work on one of the larger fonts. The brutal substition >of cmr10 at the base resolution is used, no matter what the font >may have been supposed to be. (By that time the document looks >pretty strange in any case.) This, I think, is overkill. Indeed, it is more than overkill---it is just plain wrong. A much better approach, which I have yet to implement here (alas!), is to try a fuzz and, if that fails, run METAFONT to generate the desired font in the requested size. This is slow, but produces good results. Moreover, it allows people to set up their font directories as a `cache' of often-used fonts. If `cmr7 scaled 1776' is peculiarly popular locally, it will stay around, while if it is used only once, a standard file-cleaner-upper can eat it after it expires. >The FUZZ is set very large. 9 units on either side of the requested >rasterization value. This is so that a directory full of *200pk and >240pk fonts can be used when the program asks for 207pk or 248pk. >300pk can be used as a substitute for 298pk in the same way. The >possibilities are quite generous. In general, I find large fuzz/slop values to be unnecessary. A slop of 1 is usually---perhaps even always---enough to hide roundoff error. Larger errors are usually due to bugs. I want to take this opportunity to plug my own software again :-) . The MC-TeX system (now available via anonymous FTP from mimsy.umd.edu in the compressed tar file `tex/mctex.beta.1dec89.Z') is built on a library of routines, including font-reading routines, that understand a configuration file. This file has the following form on our machines: # # MC-TeX font configurations # # N.B.: choose only one of `box' or `blank' TFM fonts # Allow the use of `built-in' PostScript fonts, # including via $TEXFONTS, for engine `PostScript'. font tfm PostScript 0 /usr/local/lib/tex/fonts/%f.tfm fontenv tfm PostScript 0 TEXFONTS %f.tfm # allow people to override fonts (slows things down) # TYPE SPEC SLOP VARIABLE NAMEPART fontenv pk * 2 OVERRIDE_FONTS %f.%mpk fontenv gf * 2 OVERRIDE_FONTS %f.%mgf # try standard directories first font pk * 2 /usr/local/lib/tex/fonts/%f/%f.%mpk font gf * 2 /usr/local/lib/tex/fonts/%f/%f.%mgf # then try $TEXFONTS fontenv pk * 2 TEXFONTS %f.%mpk fontenv gf * 2 TEXFONTS %f.%mgf # last resort: box fonts font box * 0 /usr/local/lib/tex/fonts/%f.tfm fontenv box * 0 TEXFONTS %f.tfm This is all documented fairly extensively. The `SPEC' field is a print engine name (analagous to METAFONT's `mode' parameters, if not necessarily identical: there should be a one-to-one onto mapping for it, at worst). Although I have not decided how to work it yet, I intend to be able to replace the current `last resort' (which draws boxes for each character, like those in Chapter 11 of {\it The \TeX book}---see Exercise 11.5) with something like # call METAFONT if still not found makefont /usr/local/lib/tex/buildfont which would run the given file (as a script) with arguments giving the print engine (recall that this is effectively a METAFONT `mode'), the font name, and the magnification. After a `makefont' run one would start over at the top of the fontdesc file, perhaps, or (better?) simply have a following line, such as font gf * 0 /usr/local/lib/tex/fonts/newmade/%f.%mgf or wherever new-made fonts are found. (The first problem that comes to mind is `simultaneous' builds of the same font. Some sort of locking may be needed. I may leave this to the script. The slop can probably be zero, since METAFONT will be given `mag:=1234' rather than `mag:=magstep(2.0)'.) At any rate, the MC-TeX library is available for use in other drivers, previewers, and so forth, and simplifies writing such programs. In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) Domain: chris@cs.umd.edu Path: uunet!mimsy!chris ----------------------------------------------------------------------- %%% Further information about the TeXhax Digest, the TeX %%% Users Group, and the latest software versions is available %%% in every tenth issue of the TeXhax Digest. %%% %%% Concerning subscriptions, address changes, unsubscribing: %%% %%% BITNET: send a one-line mail message to LISTSERV@xxx %%% SUBSCRIBE TEX-L % to subscribe %%% or UNSUBSCRIBE TEX-L %%% %%% Internet: send a similar one line mail message to %%% TeXhax-request@cs.washington.edu %%% JANET users may choose to use %%% texhax-request@uk.ac.nsf %%% 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 %%% %%%\bye %%% End of TeXhax Digest ************************** -------