UKTeX Digest Friday, 31 May 1991 Volume 91 : Issue 22 Today's Topics: {Q&A}: Arithmetic in TeX -- a contribution Re: Arithmetic in TeX -- a contribution RE: Arithmetic in TeX -- a contribution Marking changes to a document wnpc10.mf screen font I think this is a bug in LaTeX I think this is a feature in LaTeX New font loading mechanism, AMSLaTeX, emTeX and other matters Re: New font loading mechanism, AMSLaTeX, emTeX and other matters Re: New font loading mechanism, AMSLaTeX, emTeX and other matters Re: New font loading mechanism, AMSLaTeX, emTeX and other matters bstfile Thesis regulations RE: Thesis regulations {Announcements}: dedham q&a software freedoms {Archive News}: texdraw in UK TeX Archive example.sty in UK TeX Archive new gnuemacs files for editing TeX documents current release of Unix TeX in UK Archive Midnight macros in UK TeX Archive TeX V3.14 availability at Aston RE: newsletter Administrivia: Moderators: Peter Abbott (Aston University) and David Osborne (University of Nottingham) Contributions: UKTeX@uk.ac.tex Administration, subscription and unsubscription requests: UKTeX-request@uk.ac.tex ------------------------------------------------------------ Date: Fri, 24 May 91 15:57:45 +0000 From: David Murphy Subject: Arithmetic in TeX -- a contribution I suspect I've just come across an insoluble problem. Essentially, I'd like to place a box (in a picture) at a location that depends on trigonometrical functions of an angle; x = x0 + h cos \theta, y = y0 - h sin \theta Am I right in thinking that, bar trying to implement square root in the arithmetic TeX provides me with, this can't be done ? I could, of course, do it by descending to the postscript level, but I want TeX to set what goes in the box, so I would have to make that happen first, convert it to PS then pass it down for positioning. Any ideas ? Thanks. D. ------------------------------ Date: Fri, 24 May 91 16:21:31 +0000 From: Sebastian Rahtz Subject: Re: Arithmetic in TeX -- a contribution David Murphy writes: > I suspect I've just come across an insoluble problem. Essentially, > I'd like to place a box (in a picture) at a location that depends > on trigonometrical functions of an angle; > > x = x0 + h cos \theta, y = y0 - h sin \theta > > Am I right in thinking that, bar trying to implement square root > in the arithmetic TeX provides me with, this can't be done ? its been done at least three times, to my knowledge; by Don, by Phil Taylor, and by some people I corresponded with. Here's what I have, which is not very good, showing sines. Improvments, pliz Sebastian %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % macros to calculate sines from 90 to -90 % Jim Walker, Dept Mathematics, University of South Carolina \newdimen\x \newdimen\y \newdimen\xsquare \newdimen\xfourth {% change char codes \catcode`\p=12 \catcode`\t=12 \gdef\numonly#1pt{% \def\xx{#1}% }% }% \def\MULTyBYx{% \expandafter\numonly\the\x \edef\b{\y=\xx\y}% \b }% \def\calcsin{% Find sin(\x) and put it in \y. Say \x is in degrees. \x=0.0174533\x % Convert to radians. \y=\x \MULTyBYx \xsquare=\y \MULTyBYx \MULTyBYx \xfourth=\y \y=1pt \advance\y by -0.1666666\xsquare \advance\y by 0.008333333\xfourth \MULTyBYx }% % Example of use: %\x=23pt \calcsin \expandafter\numonly\the\y % Now \xx should contain the sine of 23 degrees. %\def\sine#1{\x=#1 \calcsin \expandafter\numonly\the\y \message{sine of %#1 is \xx}} %---------------------------------------------------------- % given a box with width W and height H, then its height after rotation by R % is W * sin(R) + H * cos(R), and it extends W * cos(R) to the right % and H * sin(R) to the left % (arithmetic courtesy of Nico Poppelier) % \newdimen\xh\newdimen\xw\newdimen\xtemp\newdimen\xcos\newdimen\xsin \newdimen\xleft\newdimen\xright \def\MULTxtempBYxcos{\expandafter\numonly\the\xcos\edef\b{\xtemp=\xx\xtemp}\b}% \def\MULTxtempBYxsin{\expandafter\numonly\the\xsin\edef\b{\xtemp=\xx\xtemp}\b}% ------------------------------ Date: Fri, 24 May 91 16:48:40 +0000 From: Philip Taylor (RHBNC) Subject: RE: Arithmetic in TeX -- a contribution %= = = = = = = = = = = = = T R I G O N O M E T R Y . T E X = = = = = = = = = %%% Trigonometry.TeX: (as published in TeXhax Digest, September 1989) %%% Philip Taylor, Royal Holloway and Bedford New College, University of London %%% Routines to calculate the sine of an angle expressed in radians. %%% So far as I can tell, the results are accurate to four places %%% of decimals, for arguments in the range -pi/2 .. pi/2, except %%% for `ridiculously small' arguments, which cannot be accurately represented. %%% The routines for cosine and tangent are left to the reader ... %%% After a call to \Sin (), the result is available for typesetting %%% or boxing, and may also be extracted from the control-sequence \sine. %%% Grouping is used to hide most things, but the following csnames are %%% globally defined: %%% \nodimen, \n@dimen, \product, \sine, \term, \t@rm, \Term \newif \ifdebug %%% turn me on to see TeX hard at work ... \def \term #1{{x^{#1} \over #1!}} The power series expansion for $\sin$ is: $$ \sin x = x - \term3 + \term5 - \term7 + \cdots$$ \indent and for $\cos$ is: $$ \cos x = 1 - \term2 + \term4 - \term6 + \cdots$$ \let \then = \relax \chardef \letter = 11 \chardef \other = 12 \def \radian {pt } \let \radians = \radian \let \dimensionlessunit = \radian \let \dimensionlessunits = \dimensionlessunit \def \internalunit {sp } \let \internalunits = \internalunit \newif \ifstillconverging \def \Message #1{\ifdebug \then \message {#1} \fi} { %%% Things that need abnormal catcodes %%% \catcode `\@ = \letter \gdef \nodimen {\expandafter \n@dimen \the \dimen} \gdef \term #1 #2 #3% {\edef \t@ {\the #1}%%% freeze parameter 1 (count, by value) \edef \t@@ {\expandafter \n@dimen \the #2\radian}% %%% freeze parameter 2 (dimen, by value) \t@rm {\t@} {\t@@} {#3}% } \gdef \t@rm #1 #2 #3% {{% \count 0 = 0 \dimen 0 = 1 \dimensionlessunit \dimen 2 = #2\relax \Message {Calculating term #1 of \nodimen 2}% \loop \ifnum \count 0 < #1 \then \advance \count 0 by 1 \Message {Iteration \the \count 0 \space}% \Multiply \dimen 0 by {\dimen 2}% \Message {After multiplication, term = \nodimen 0}% \Divide \dimen 0 by {\count 0}% \Message {After division, term = \nodimen 0}% \repeat \Message {Final value for term #1 of \nodimen 2 \space is \nodimen 0}% \xdef \Term {#3 = \nodimen 0 \radians}% \aftergroup \Term }} \catcode `\p = \other \catcode `\t = \other \gdef \n@dimen #1pt{#1} %%% throw away the ``pt'' } \def \Divide #1by #2{\divide #1 by #2} %%% just a synonym \def \Multiply #1by #2%%% allows division of a dimen by a dimen {{%%% should really freeze parameter 2 (dimen, passed by value) \count 0 = #1\relax \count 2 = #2\relax \count 4 = 65536 \Message {Before scaling, count 0 = \the \count 0 \space and count 2 = \the \count 2}% \ifnum \count 0 > 32767 %%% do our best to avoid overflow \then \divide \count 0 by 4 \divide \count 4 by 4 \else \ifnum \count 0 < -32767 \then \divide \count 0 by 4 \divide \count 4 by 4 \else \fi \fi \ifnum \count 2 > 32767 %%% while retaining reasonable accuracy \then \divide \count 2 by 4 \divide \count 4 by 4 \else \ifnum \count 2 < -32767 \then \divide \count 2 by 4 \divide \count 4 by 4 \else \fi \fi \multiply \count 0 by \count 2 \divide \count 0 by \count 4 \xdef \product {#1 = \the \count 0 \internalunits}% \aftergroup \product }} \def \Sin (#1)% {{% \dimen 0 = #1 \radian \dimen 2 = 3.1415926535897963 \radian %%% a well-known constant \divide \dimen 2 by 2 %%% we only deal with -pi/2 : pi/2 \ifdim \dimen 0 > \dimen 2 \then \message {Sin: argument (\nodimen 0) too large --- use range reduction}% \xdef \sine {}% \else \ifdim \dimen 0 < - \dimen 2 \then \message {Sin: argument (\nodimen 0) too large --- use range reduction}% \xdef \sine {}% \else \Message {Sin: calculating Sin of \nodimen 0}% \count 0 = 1 %%% see power-series expansion for sine \dimen 2 = 1 \radian %%% ditto \dimen 4 = 0 \radian %%% ditto \loop \ifnum \dimen 2 = 0 %%% then we've done \then \stillconvergingfalse \else \stillconvergingtrue \fi \ifstillconverging %%% then calculate next term \then \term {\count 0} {\dimen 0} {\dimen 2}% \advance \count 0 by 2 \count 2 = \count 0 \divide \count 2 by 2 \ifodd \count 2 %%% signs alternate \then \advance \dimen 4 by \dimen 2 \else \advance \dimen 4 by -\dimen 2 \fi \repeat \xdef \sine {\nodimen 4}% \fi \fi \aftergroup \sine }} %%% What follows is just a demonstration of the \Sin function $$ \def \rule {\noalign {\hrule}} \def \SIN (#1){&&\Sin (#1)&\cr\noalign{\message {The sine of #1 is \sine}}} \mathcode `\- = 32768 %%% just a bodge to improve alignment \let \minus = - \begingroup \catcode `\- = \active \gdef -{\llap{\minus}} \endgroup \vbox {\offinterlineskip \halign {\vrule #& \qquad \hfil $#$ & \vrule # & \qquad $#$ \hfil & \vrule # \strut \cr \rule &\omit {\hfil $x$ \hfil} && \omit {\hfil $\sin x$ \hfil} & \cr \rule \SIN (-1.6) \SIN (-1.5) \SIN (-1.4) \SIN (-1.3) \SIN (-1.2) \SIN (-1.1) \SIN (-1.0) \SIN (-0.9) \SIN (-0.8) \SIN (-0.7) \SIN (-0.6) \SIN (-0.5) \SIN (-0.4) \SIN (-0.3) \SIN (-0.2) \SIN (-0.1) \SIN (-0.01) \SIN (-0.001) \SIN (-0.0001) \SIN (0) \SIN (0.0001) \SIN (0.001) \SIN (0.01) \SIN (0.1) \SIN (0.2) \SIN (0.3) \SIN (0.4) \SIN (0.5) \SIN (0.6) \SIN (0.7) \SIN (0.8) \SIN (0.9) \SIN (1.0) \SIN (1.1) \SIN (1.2) \SIN (1.3) \SIN (1.4) \SIN (1.5) \SIN (1.6) \rule} } $$ \end ------------------------------ Date: Fri, 24 May 91 20:53:46 -0500 From: Subject: Marking changes to a document In a message to UKTeX of Fri, 17 May 91 21:40:28 +0000, Brian {Hamilton Kelly} referred to changebar \specials. I use David Johnson's changebar.sty, which doesn't requier a special dvi driver (ie, it doesn't use \special) and works great for me. I've included it below. -Michael Ernst mernst@theory.lcs.mit.edu % Change bar document-style option for LaTeX. % % Copyright (C) 1990 by David B. Johnson (dbj@titan.rice.edu). % These macros draw a solid bar down the right margin of the output, % covering a range of the input file that has been declared to be changed. % % The beginning and end of a change bar in the text are marked with % \chgbarbegin and \chgbarend, respectively. For example, % % Here is some sample text \chgbarbegin that was % changed\chgbarend{} and some that wasn't changed. % % The change bar is drawn continuously between the line of output % containing the \chgbarbegin and the line of output containing the % \chgbarend. These lines can end up on separate pages, and the % division at page boundaries is handled automatically. % Two dimensions control the size and placement of the change bars: % \chgbarwidth The width of a change bar % \chgbarsep The distance between the text and the change bar % Warning: it does not appear to be possible to do this completely % correctly, due to the time at which the verticle glue on a page is % finally set, and the way that page breaks are decided. With % \raggedbottom, this normally works fine. It hasn't been tested with % \flushbottom, but will probably behave worse. In strange rare % situations, a change bar might be drawn from the first line of a page % up off the top of a page; this can usually be fixed by slightly moving % the \chngbarend around, or by breaking a single change bar range % into two ranges. \newdimen\chgbarwidth \newdimen\chgbarsep \chgbarwidth 4pt \chgbarsep .25in \def\chgbarbegin{\ifhmode\@chgbar{-2}\else\@chgbar{-3}\fi} \def\chgbarend{\@chgbar{-4}} \marginparpush 0pt % The remainder of this is hacked up based on the LaTeX 2.09 latex.tex. % copied from \marginpar \def\@chgbar#1{\ifhmode \@bsphack\@floatpenalty -\@Mii\else \@floatpenalty-\@Miii\fi\ifinner \@parmoderr\@floatpenalty\z@ \else\@next\@currbox\@freelist{\global \count\@currbox#1}{\@floatpenalty\z@ \@fltovf \def\@currbox{\@tempboxa}}\fi \setbox\@tempboxa\vbox \bgroup\end@float\@esphack} \newdimen\@chgbarbegin \newif\if@inchgbar \@inchgbarfalse \def\@addmarginpar{% \ifnum\count\@currbox = -2 % change bar begin from hmode \global\@chgbarbegin\@pageht \global\advance\@chgbarbegin -\baselineskip \global\@inchgbartrue \@cons\@freelist\@currbox \else \ifnum\count\@currbox = -3 % change bar begin not from hmode \global\@chgbarbegin\@pageht \global\@inchgbartrue \@cons\@freelist\@currbox \else \ifnum\count\@currbox = -4 % change bar end \if@inchgbar\else\@latexbug\fi \@tempdima\@pageht \advance\@tempdima -\@chgbarbegin \nointerlineskip \@tempcnta\@ne \if@twocolumn \if@firstcolumn \@tempcnta\m@ne \fi \else \if@mparswitch \ifodd\c@page \else\@tempcnta\m@ne \fi \fi \if@reversemargin \@tempcnta -\@tempcnta \fi \fi \hbox to\columnwidth {\ifnum \@tempcnta >\z@ \hskip\columnwidth \hskip\chgbarsep \else \hskip -\chgbarsep \fi \hbox{\vbox to 0pt{\vss \hrule \@height\@tempdima \@width\chgbarwidth \@depth\z@ }} \hss} \nointerlineskip \global\@inchgbarfalse \@cons\@freelist\@currbox \else \@next\@marbox\@currlist{\@cons\@freelist\@marbox \@cons\@freelist\@currbox}\@latexbug\@tempcnta\@ne \if@twocolumn \if@firstcolumn \@tempcnta\m@ne \fi \else \if@mparswitch \ifodd\c@page \else\@tempcnta\m@ne \fi \fi \if@reversemargin \@tempcnta -\@tempcnta \fi \fi \ifnum\@tempcnta <\z@ \global\setbox\@marbox\box\@currbox \fi \@tempdima\@mparbottom \advance\@tempdima -\@pageht \advance\@tempdima\ht\@marbox \ifdim\@tempdima >\z@ \@warning{Marginpar on page \thepage\space moved}\else\@tempdima\z@ \fi \global\@mparbottom\@pageht \global\advance\@mparbottom\@tempdima \global\advance\@mparbottom\dp\@marbox \global\advance\@mparbottom\marginparpush \advance\@tempdima -\ht\@marbox \global\ht\@marbox\z@ \global\dp\@marbox\z@ \vskip -\@pagedp \vskip\@tempdima\nointerlineskip \hbox to\columnwidth {\ifnum \@tempcnta >\z@ \hskip\columnwidth \hskip\marginparsep \else \hskip -\marginparsep \hskip -\marginparwidth \fi \box\@marbox \hss} \vskip -\@tempdima \nointerlineskip \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp} \fi\fi\fi} \def\@makecol{\setbox\@outputbox\box\@cclv \if@inchgbar \@tempcnta\@ne \if@twocolumn \if@firstcolumn \@tempcnta\m@ne \fi \else \if@mparswitch \ifodd\c@page \else\@tempcnta\m@ne \fi \fi \if@reversemargin \@tempcnta -\@tempcnta \fi \fi \@tempdima\ht\@outputbox \advance\@tempdima -\@chgbarbegin \advance\@tempdima -\baselineskip \setbox\@outputbox \vbox{\boxmaxdepth \maxdepth \unvbox\@outputbox \nointerlineskip \hbox to\columnwidth {\ifnum \@tempcnta >\z@ \hskip\columnwidth \hskip\chgbarsep \else \hskip -\chgbarsep \fi \hbox{\vbox to 0pt{\vss \hrule \@height\@tempdima \@width\chgbarwidth \@depth\z@}}\hss}} \global\@chgbarbegin 0pt \fi \ifvoid\footins\else\setbox\@outputbox \vbox{\boxmaxdepth \maxdepth \unvbox\@outputbox\vskip\skip\footins\footnoterule\unvbox\footins}\fi \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth \@texttop\dimen128=\dp\@outputbox\unvbox\@outputbox \vskip-\dimen128\@textbottom} \global\maxdepth\@maxdepth} ------------------------------ Date: Mon, 27 May 91 20:54:36 +0000 From: Sebastian Rahtz Subject: wnpc10.mf screen font If you are an innocent, like me, and see a new font in .mf source, you try to compile it by saying eg virmf foo.mf I have just learnt the hard way that the ibm screen font lookalike, wnpc10.mf, which was recently put in the UK TeX Archive, is a quirky little swine. It assumes you have load the `cmplain' base, rather than just plain. Just running it with the `plain' base gives you a totally spurious copy of cmtt10. Isn't that interesting? Sebastian Rahtz ------------------------------ Date: Thu, 30 May 91 16:29:00 +0700 From: Johannes L. Braams"Johannes L. Braams" Subject: I think this is a bug in LaTeX Hi, Today we stumbled upon a LaTeX 'feature' that I would call a bug. A user wanted to have multiple occurences of the same footnotemark in a tabular environment. To accomplish this he put the tabular environment inside a minipage. So far so good. To his (and mine) astonishment the footnotemarks (created with eg \footnotemark[1]) appeared in the table as arabic numerals, while the marks that go with the footnotetext appeared as lowercase letters. Digging into: % LATEX VERSION 2.09 <7 Dec 1989> % Copyright (C) 1988 by Leslie Lamport revealed the following defintion for \footnotemark and its companion \@xfootnotemark: \def\footnotemark{\@ifnextchar[{\@xfootnotemark }{\stepcounter{footnote}\xdef\@thefnmark{\thefootnote}\@footnotemark}} \def\@xfootnotemark[#1]{\begingroup \c@footnote #1\relax \xdef\@thefnmark{\thefootnote}\endgroup \@footnotemark} which means both macros always use the footnote counter, whereas other footnote-macros use the mpfoutnote counter inside a minipage environment. To cure this behaviour I put %+ % This repairs a bug in LaTeX.tex, where the \footnotemark % uses \thefootnote instead of \thmpfn %- \def\footnotemark{\@ifnextchar[{\@xfootnotemark }{\stepcounter{footnote}\xdef\@thefnmark{\thempfn}\@footnotemark}} \def\@xfootnotemark[#1]{\begingroup \csname c@\@mpfn\endcsname #1\relax \xdef\@thefnmark{\thempfn}\endgroup \@footnotemark} in a style file. Regards, Johannes Braams PTT Research Neher Laboratorium, P.O. box 421, 2260 AK Leidschendam, The Netherlands. Phone : +31 70 3325051 E-mail : JL_Braams@pttrnl.nl Fax : +31 70 3326477 - ----------------------------------------------------------------------------- ------------------------------ Date: Thu, 30 May 91 17:37:40 +0100 From: Subject: I think this is a feature in LaTeX Johannes Braams writes: Hi, Today we stumbled upon a LaTeX 'feature' that I would call a bug. A user wanted to have multiple occurences of the same footnotemark in a tabular environment. To accomplish this he put the tabular environment inside a minipage. So far so good. To his (and mine) astonishment the footnotemarks (created with eg \footnotemark[1]) appeared in the table as arabic numerals, while the marks that go with the footnotetext appeared as lowercase letters. Let me point out that this behaviour is deliberate and documented (page 99). It is to allow the use of normal footnotes (e.g. appearing at the bottom of the page, not the minipage environment) inside the minipage. Rainer Sch"opf ------------------------------ Date: Thu, 30 May 91 11:27:04 From: Mike Piff Subject: New font loading mechanism, AMSLaTeX, emTeX and other matters Seeing the advantages of the new font loading mechanism in LaTeX, I decided to try it out. After spending something like a week editing hundreds of files so that they worked correctly with the new mechanism, so as to be ``up to date'', I discovered that in a 4 page document the page numbers were all in italic. Since I didn't want to edit all the LaTeX style files as well, I restored all of my files from floppies, and then edited several hundred \documentstyle commands to include OLDLFONT as a style option. It was then a simple task to convert any references to italic bold, sans serif bold or the AMS fonts in my own style files to use FONTDEF.AMS and AMSFONTS.STY, although the latter seemed to be lacking the definitions of at least two control sequences. Fine, I thought, so the new scheme is only currently meant to be used either (a) with the AMSLaTeX style files, or (b) with OLDLFONT.STY, so it behaves roughly like the old LaTeX as regards \rm, \bf, etc. However, several worrying occurrences have disturbed this view. (i) I get a warning message every time I run LaTeX about the LASY fonts, even in documents which do not use them. (ii) My \pounds symbol has reverted to a dollar symbol. I could not have read the documentation(?) which said that FONTDEF.MAX was compulsory if you wished to use a pound sterling sign. (iii) I needed to spend some time generating extra fonts to make the whole package work satisfactorily. Is there a mechanism which says use this font in these sizes only, and otherwise substitute that font and issue a warning message? (iv) Because of (iii), I needed to spend some time editing FONTDEF.AMS into FONTDEF.TEX, using the fonts I had already and was prepared to generate. Having abandoned the ARBORTeX Previewer in favour of emTeX' DVISCR for precisely that reason---it needed a table of fonts and sizes to be maintained---I was not too pleased about this. (v) How many other errors/omissions/snags are there? (vi) A colleague pointed out that there was now a real compatibility problem in LaTeX. If you use any of the new features, your files are unusable by others. (vii) Is LaTeX moving out of the PC market? Is it only for users of BIG versions of TeX? Certainly AMSLaTeX is running near the limits of my AT. OK, so I could use BTeX from emTeX, but that would involve buying megabytes of expanded memory. Oh yes, some nice timing comparisons in TUGboat recently neglected to mention that BTeX was only twice as slow if you had expanded memory. Otherwise, it was slower by such a factor that it was entirely unusable. Mike Piff - ----------------------------------------------------------------------------- From Dr M. J. Piff, Department of Pure Mathematics, PO Box 597, Hicks Noisy Building Site, Hounsfield Road, SHEFFIELD S10 2UN, England. Tel. SHEFFIELD(0742) 768555 Extension 4431. JANET MPiff@UK.AC.SHEF.PA or MPiff@UK.AC.SHEF.IBM - ----------------------------------------------------------------------------- ------------------------------ Date: Thu, 30 May 91 15:46:43 +0100 From: Subject: Re: New font loading mechanism, AMSLaTeX, emTeX and other matters Mike Piff writes: Seeing the advantages of the new font loading mechanism in LaTeX, I decided to try it out. After spending something like a week editing hundreds of files so that they worked correctly with the new mechanism, so as to be ``up to date'', I discovered that in a 4 page document the page numbers were all in italic. Since I didn't want to edit all the LaTeX style files as well, I restored all of my files from floppies, and then edited several hundred \documentstyl e commands to include OLDLFONT as a style option. It was then a simple task to convert any references to italic bold, sans serif bold or the AMS fonts in my own style files to use FONTDEF.AMS and AMSFONTS.STY, although the latter seemed to be lacking the definitions of at least two control sequences. If you want oldlfont as default, you should specify it when you run IniTeX to build your format file. Fine, I thought, so the new scheme is only currently meant to be used either (a) with the AMSLaTeX style files, or (b) with OLDLFONT.STY, so it behaves roughly like the old LaTeX as regards \rm, \bf, etc. In some sense, yes. The only other option would have been to distribute modified versions of all LaTeX standard style files. Think of the confusion caused by this! However, several worrying occurrences have disturbed this view. (i) I get a warning message every time I run LaTeX about the LASY fonts, even in documents which do not use them. This is true when you use fontdef.ams with oldlfont.sty. You may argue that it was a mistake to exclude the lasy fonts from fontdef.ams. But AMS-LaTeX is intended to be used with basefont.tex. (ii) My \pounds symbol has reverted to a dollar symbol. I could not have read the documentation(?) which said that FONTDEF.MAX was compulsory if you wished to use a pound sterling sign. Sigh. Yes and no. You need to include a defintion for the cmu fonts for the definition of \pounds used in lfonts.new. You should complain about that to the AMS people. This problem will disappear with the dc fonts. (iii) I needed to spend some time generating extra fonts to make the whole package work satisfactorily. Is there a mechanism which says use this font in these sizes only, and otherwise substitute that font and issue a warning message? Yes, there is. You have to edit the fontdef file. See for example the file fontdef.ori in the NFSS distribution (directory fontsel of the AMS-LaTeX distribution). (iv) Because of (iii), I needed to spend some time editing FONTDEF.AMS into FONTDEF.TEX, using the fonts I had already and was prepared to generate. Having abandoned the ARBORTeX Previewer in favour of emTeX' DVISCR for precisely that reason---it needed a table of fonts and sizes to be maintained---I was not too pleased about this. (v) How many other errors/omissions/snags are there? The file fontsel.bug in the distribution package for the NFSS contains a list of known ones. Please note that the NFSS distribution that comes with AMS-LaTeX is not up-to-date. (vi) A colleague pointed out that there was now a real compatibility problem in LaTeX. If you use any of the new features, your files are unusable by others. I don't get your point here. Hasn't that always been the problem? Many people use non-standard features/style files in their LaTeX input files. It doesn't need the NFSS for that. If you want to give your files to others, they need to have AMS-LaTeX. So, you seem to say that nearly everyone has LaTeX, but nearly no one has AMS-LaTeX? (vii) Is LaTeX moving out of the PC market? Is it only for users of BIG versions of TeX? Certainly AMSLaTeX is running near the limits of my AT. OK, so I could use BTeX from emTeX but that would involve buying megabyte s of expanded memory. Oh yes, some nice timing comparisons in TUGboat recently neglected to mention that BTeX was only twice as slow if you had expanded memory. Otherwise, it was slower by such a factor that it wa s entirely unusable. AMSLaTeX is indeed running near the limits of small TeX versions, i.e. main memory size = 2^16. But that is not due to the NFSS, but to the complicated AMS-LaTeX commands and environments. On the contrary, the NFSS's use of font memory is much more economic than that of the original LaTeX. From what you write above I assume that you are mostly interested in the AMS fonts, not so much in the AMSTeX-like environments. If I remember correctly, the amsfonts style option alone is not a memory hog. Let me add some general remarks: Frank and I take responsibility for the files in the NFSS distribution. This means that we will try to correct apparent bugs, improve the package, and so on. For AMS-LaTeX, the technical support group of the AMS is the right place to complain to. Most of the problems you point out are consequences of the increased flexibility and hence complexity of the NFSS. Consequently, you need more effort to adapt it to your needs. It follows equally that you need much more documentation how to do it. (That's an explanation, not an excuse.) It means also that with the NFSS one has to be much more careful when building a distribution. Rainer Sch"opf ------------------------------ Date: Fri, 31 May 91 11:40:55 From: Mike Piff Subject: Re: New font loading mechanism, AMSLaTeX, emTeX and other matters (vi) A colleague pointed out that there was now a real compatibility problem in LaTeX. If you use any of the new features, your files are unusable by others. Rainer Schoepf writes: I don't get your point here. Hasn't that always been the problem? Many people use non-standard features/style files in their LaTeX input files. It doesn't need the NFSS for that. If you want to give your files to others, they need to have AMS-LaTeX. So, you seem to say that nearly everyone has LaTeX, but nearly no one has AMS-LaTeX? The problem arises for the following reason. In LaTeX without NFSS, any use of extra fonts or style files is explicit. You can see them in \documentstyle[12pt,baroque]{article} or a \newfont command. However, it is now impossible to tell from a LaTeX file whether or not NFSS is in use. As an example, \documentstyle{article} \begin{document} \bf Hello \sl world. $$a{\rm\ but not\ }b$$ \small\pounds32 \end{document} produces different results with and without NFSS. ------------------------------ Date: Fri, 31 May 91 13:54:20 From: Mike Piff Subject: Re: New font loading mechanism, AMSLaTeX, emTeX and other matters Rainer, I have read your comments and tried substituting oldlfont.sty for xxxlfont.sty. It works, but only if the definition of \if@undefined round about line 74 is inserted. This is defined in LaTeX.tex, loaded afterwards. I had already spotted the cmu10 fonts in fontdef.max, and have generated them now. FONTDEF.ori would not produce an undersized \pounds, I believe. A bug in thp.sty, I think. There should be an italic correction after the heading. This is something I had to correct when I modified \@begintheorem for a recent book I wrote. I used italic bold as header font. I think it would be preferable to have the space around theorems depend upon the current font size. I have only had a quick look, but there appear to be no hooks for controlling the left and right margins around theorems, or to append a trailing \qed symbol to a proof. Here are some examples of objects I have had to produce. Theorem header \it\bf body \normalshape numbered Proof header \it\bf body \normalshape unnumbered trailing \qed locked to final line Example header \it\bf body \normalshape numbered indented at left margin Exercise (book) header \it\bf body \normalshape numbered indented at left margin Exercise (example sheet, examination) header \it\bf body \normalshape numbered trailing \filbreak Solution header \it\bf body \normalshape number supplied as a parameter \begin{Solution}{2.5} Mike Piff ------------------------------ Date: Thu, 30 May 91 16:40:07 +0000 From: "R.N. Hewitt" Subject: bstfile I am looking for a .bst file which can be used with bibTeX to produce a style for use with the Institute of Physics Journals of Physics. I have tried several of the files such as physics.bst but the style is unavailable.Do you have any further suggestions?. My e-mail address is rnh@uk.ac.dl.cxa . Thankyou. Robin Hewitt. ------------------------------ Date: Thu, 30 May 91 17:38:31 +0000 From: Subject: Thesis regulations Oxford University is proposing to change its thesis regulations. The new regulations include the words: "Candidates should note that the purpose of these regulations is not only to ease the task of the examiners ... but to ensure that the copy finally deposited ... is of a standard of legibility which will allow it ... to be photocopied or microfilmed ... . "The thesis must be typed or printed on one side of the paper only, with a margin of 1.25 to 1.5 inches ... on the left-hand side of each page. Theses in typescript should present the main text in double spacing ... . In the || case of word-processed or printed theses, double spacing should be taken || to mean a distance of 0.33 inch or 8 mm between successive lines of text." || As far as TeX/LaTeX-produced theses are concerned, this seems to me to be a retrograde step from the previous "well-designed book" criterion (cf. UKTeX Digest vol.90 no.40). What is the position of other universities now on this question? ------------------------------ Date: Thu, 30 May 91 17:41:08 +0000 From: Philip Taylor (RHBNC) Subject: RE: Thesis regulations >>> As far as TeX/LaTeX-produced theses are concerned, this seems to me to be >>> a retrograde step from the previous "well-designed book" criterion (cf. >>> UKTeX Digest vol.90 no.40). What is the position of other universities >>> now on this question? The last time I consulted Senate House, the position for U of L Higher Degrees was that they must still be set double-spaced; however, they were prepared to accept 12/20 or even 12/18 as being `within the meaning of the act' ** Phil. ------------------------------ Date: Thu, 30 May 91 18:05:48 +0100 From: Rainer Schoepf Subject: dedham q&a Everything you wanted to know about TeX, but were afraid to ask First in California, then in Texas, and now it's coming to the East Coast. It's time to set your sights on Dedham, Massachusetts. The inimitable Barbara Beeton will run her famous question and answer session once again this July 15-18 during the TeX Users Group meeting. All questions are answered, from the most straightforward to the most subtle. Do you have a question to contribute? Is there a TeX problem that you've never been able to solve, and have never known where to turn? Is there a quick fix solution that you want to repair -- this time the right way? Then let's hear from you. Send in your question in the following way: send email to TUG-Q@TAMVM1.BITNET or to TUG-Q@TAMVM1.TAMU.EDU Your questions will be automatically forwarded to the proper destination. ------------------------------ Date: Thu, 30 May 91 18:17:13 -0500 From: karl@edu.umb.cs (Karl Berry) Subject: software freedoms Please redistribute this among the uktex people (and on the uktex mailing list, if possible, whose address I seem to have lost). Since TeX and its support programs are free, these monopolies will certainly have a large impact on the TeX community if they are not abolished. Thanks. From: CRJ10@uk.ac.cam.phx (Clive Jones) Subject: Richard Stallman talks in the UK Date: 29 May 91 16:35:39 GMT RICHARD STALLMAN OF THE LEAGUE FOR PROGRAMMING FREEDOM Protecting the Freedom to Write Software (How Patents and Interface Copyrights Hamper Software Development) Richard Stallman will be giving series of talks throughout the United Kingdom between the 4th and 7th of June. Richard Stallman is one of the founders of the League for Programming Freedom, a grassroots organization of programmers and users fighting to bring back the freedom to write programs. Specifically, the League aims to abolish two recently established forms of monopoly which restrict programmers' freedom to do their work: interface copyright and software patents. The 600 or so League members include professors, students, entrepreneurs, and users, but primarily professional programmers. In the field of software, Richard Stallman is best known for developing the extensible editor, Emacs, while working at the MIT Artifical Intelligence lab between 1971 and 1984. Today he is working to develop the free UNIX-compatible software system known as GNU. Like many other software developers, he fears that the new monopolies will make his work impossible to continue. In 1990, Stallman received a MacArthur Foundation fellowship; he also received the 1990 ACM Grace Hopper Award for his work on Emacs. New monopolies threaten the freedom of programmers to continue doing their work. Copyrighted interfaces prohibit supporting the commands users know and expect. Patented algorithms and techniques make each design decision carry the risk of a lawsuit. Formerly limited to the US and a few other countries, these problems now threaten to spread to the rest of the world. Richard Stallman will talk about how these monopolies originated in the US, how they are being pressed on other countries, and why they are bad for computer users and programmers. He will then suggest what we can do to prevent them in the United Kingdom. If you have any queries about the series of talks, please contact Clive Jones, or . More information about the series of talks can be obtained by sending mail like this: | To: info-server@uk.ac.cam.cl | Subject: -not-important- | | Request sources | Topic transient stallman/INDEX If you have queries relating to particular venues, please contact the appropriate local organiser. The schedule of talks is as follows. Richard Stallman is also interested in talking to members of the press during Tuesday June 4th. ==== London ================================================================= Organiser: British Computer Society Law Special Interest Group. Contact: Ashok Gupta Philips Research Labs, Crossoak Lane, +44 293 785544 ext5647 Redhill, Surrey, RH1 5HA. Talk: Tuesday June 4th, 6pm. Wilkes Room - British Computer Society, Mansfield St., London W1. ==== Sussex ================================================================= Organiser: Adam Kilgarriff Talk: Wednesday June 5th, 12noon. University of Sussex campus, Falmer - room Arts C219. ==== Southampton ============================================================ Organiser: Hugh Glaser Dept of Electronics and Computer Science, University of Southampton, +44 703 593670 Southampton, SO9 5NH. Talk: Wednesday June 5th, 6pm. Lecture Theatre A - Physics Building. ==== Edinburgh ============================================================== Organiser: Toby Walsh Dept of AI, 80 South Bridge, +44 31 650 2725 Edinburgh, EH1 1HN. Talk: Thursday June 6th, 10am. Seminar room F10 in the AI Department. ==== Manchester ============================================================= Organiser: Owen Le Blanc Manchester Computing Centre. +44 61 275 6035 Talk: Friday June 7th, 10am. Lecture Room 1.1 - Computer Building - Oxford Road (next to the Precinct Centre). ==== Cambridge ============================================================== Organiser: Clive Jones Cambridge University Computer Society, Christ's College, messages +44 223 33 4900 Cambridge, CB2 3BU. Talk: Friday June 7th, 8:30pm. Cockroft Lecture Theatre - New Museums Site, Pembroke Street. ------------------------------ Date: Mon, 27 May 91 20:58:47 +0000 From: Sebastian Rahtz Subject: texdraw in UK TeX Archive Peter Kabal's texdraw macros have been placed in the UK TeX Archive in [tex-archive.texdraw] and [tex-archive.src.unix-binaries]texdraw.uue (uuencoded compressed tar) README appended Sebastian Rahtz ************ The TeXdraw package consists of a set of macro definitions for the TeX typesetting program. These macros allow the user to produce PostScript drawings from within TeX. The main benefits of TeXdraw accrue from the ability to produce drawings from TeX, using TeX fonts for labelling the drawing. TeXdraw interfaces with the dvips (dvi to PostScript) print program. Basic drawing features include: (1) moves, lines and arrow vectors - selectable gray level, line width pattern, arrowhead size and type (2) circles, ellipses, arcs, and Bezier curves (3) general fill command to fill a region defined by lines and Bezier curves (selectable gray level) (4) TeX text, including mathematics, can be positioned and superimposed on the drawing TeXdraw has been designed to be extensible. Drawing "segments" are relocatable, self-contained units. Using a combination of the begingroup/ endgroup mechanism in TeX and the gsave/grestore mechanism in PostScript, drawing segments allow for local changes to the scaling and line parameters. Using TeX's macro definition capability, new drawing commands can be constructed from drawing segments. The extensibility features include, (1) relocatable drawing segments to keep changes local (2) local segment scaling (3) saving and restoring positions using symbolic positions ===== Peter Kabal kabal@aldebaran.INSL.McGill.CA Department of Electrical Engineering McGill University Montreal, Quebec ***************** ------------------------------ Date: Mon, 27 May 91 21:24:20 +0000 From: Sebastian Rahtz Subject: example.sty in UK TeX Archive Joachim Schrod's `example.sty' has been put in the UK TeX Archive as [tex-archive.latex.contrib]example.sty I append an extract from the documentation Sebastian Rahtz %%% This style option makes it easier to produce examples for \TeX{} %%% courses. It realizes an |example| environment; the text within such %%% an environment is typeset two times: On the left side just like any %%% ordinary text, on the right side verbatim. So an author can be sure %%% that the verbatim and the typeset part of an \TeX{} example is %%% consistent. ------------------------------ Date: Mon, 27 May 91 21:29:45 +0000 From: Sebastian Rahtz Subject: new gnuemacs files for editing TeX documents A revised set of Gnuemacs Lisp functions for helping you write and maintain (La)TeX documents, written by Kresten Krab Thorup, are in the UK TeX Archive as [tex-archive.utils.texmacs.auc]auc-tex.el [tex-archive.utils.texmacs.auc]minor-map.el [tex-archive.utils.texmacs.auc]outline-m.el Sebastian Rahtz ;; ;; Summary of tex-mode functions ;; ;; - Intelligent macros for often used controls: {\em }, \section{ } etc. ;; - Invoking and debugging TeX/LaTeX from within Emacs. ;; - HELP for errors while debugging (includes all TeX and LaTeX errors) ;; - Indentation by environments ;; - Support for outline-minor-mode ;; ------------------------------ Date: Mon, 27 May 91 21:09:21 +0000 From: Sebastian Rahtz Subject: current release of Unix TeX in UK Archive The current release of TeX, Metafont, and friends (eg TeX 3.14 etc) has been placed in the UK TeX Archive. This is release 5.84b of Karl Berry's packaging of the web sources and changefiles for compiling with web2c. The changes are not great, so don't bother getting it unless you are having trouble already. [tex-archive.tex.unix] (lots of subdirectories) [tex-archive.src.unix-archives] web2c-584b_tarZ.uue [tex-archive.src.unix-archives] web-584b_tarZ.uue (the latter are uuencoded compressed tar archives) Sebastian Rahtz ------------------------------ Date: Mon, 27 May 91 21:13:19 +0000 From: Sebastian Rahtz Subject: Midnight macros in UK TeX Archive Marcel van der Goot's midnight macros have been put in the UK TeX Archive in [tex-archive.tex-styles.midnight] Each entry (list below) has a .tex file and a .doc file Sebastian Rahtz ********************************** quire Macros for making booklets, printing double pages, and printing outlines and crop marks. gloss Macros for vertically aligning words in consecutive sentences. loop A simple looping construct (meta-macros). dolines Meta-macros to separate arguments by newlines and by empty lines. labels Macros to print address labels and bulk letters. ------------------------------ Date: Thu, 30 May 91 00:00:30 +0000 From: Brian {Hamilton Kelly} Subject: TeX V3.14 availability at Aston Sebastian Rahtz has already announced the installation of the complete Unix distribution of TeX V3.14 etc on the UK TeX Archive at the University of Aston. The directory [tex-archive.tex] now contains the V3.14 of tex.web; the previous (V3.1) is now named tex.web-3-1, for those architectures that don't yet have a V3.14 port. Versions preceding V3.1 will be found in [tex-archive.tex.old...] Directory [tex-archive.tex.vms] contains tex.ch for Vax/VMS for TeX V3.14; I've deleted the V3.1 version. The files tex.obj and tex.pool for the VMS implementation will be found in [tex-archive.binary.vms]. Note that it is not necessary to rebuild preloaded format files under the VMS implementation of TeX V3.14 Brian {Hamilton Kelly} +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + JANET: tex@uk.ac.cranfield.rmcs + + BITNET: tex%uk.ac.cranfield.rmcs@ac.uk + + INTERNET: tex%uk.ac.cranfield.rmcs@nsfnet-relay.ac.uk + + UUCP: {mcsun,ukc,uunet}!rmcs.cranfield.ac.uk!tex + + Smail: School of Electrical Engineering & Science, Royal Military + + College of Science, Shrivenham, SWINDON SN6 8LA, U.K. + + Phone: Swindon (0793) 785252 (UK), +44-793-785252 (International) + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ------------------------------ Date: Thu, 30 May 91 11:21:09 +0000 From: Peter Abbott (Aston University) Subject: RE: newsletter A new grouping has been created in the archive for TeX and TUG NEWS which is a newsletter fro TeX and LaTeX users alike. \begin{center} {\Sectionfont\TeX{} and TUG NEWS} \end{center} \vspace{.5pc} \noindent \TTN\ is a newsletter for \TeX\ and \LaTeX\ users alike: {\em a forum for exchanging information, tips and suggestions\/}; {\em a regular means of communicating news items to one another\/}; {\em a place where information about \TeX{} and TUG can be quickly disseminated}. Throughout the newsletter ``\TeX'' is understood to mean \TeX, \LaTeX, \AmSTeX, and other related programs and macros. The first issue (including style file) is now available and will be mailed to members in the near future. Copies for Europe are being printed at Aston and copies for the US in the US Peter Abbott [TEX-ARCHIVE.DIGESTS.TUGNEWL] TEXTUGN.001;1 TUGNEWS.STY;1 ------------------------------ UK TeX ARCHIVE at ASTON UNIVERSITY *** JANET Interactive and NIFTP access *** Host: uk.ac.tex (JANET DTE 000020120091) Username: public Password: public *** FILES OF INTEREST *** [tex-archive]00readme.txt [tex-archive]00directory.list [tex-archive]00directory.size [tex-archive]00directory_dates.list [tex-archive]00last30days.files This year's UKTeX back issues are stored in the archive in directory [tex-archive.digests.uktex.91] This year's TeXhax back issues are stored in the archive in directory [tex-archive.digests.texhax.91] Latest TeXhax: #24 TeXMaG back issues are stored in the archive in directory [tex-archive.digests.tex-mag] Latest TeXMaG: V5 N2 *** MEDIA DISTRIBUTIONS *** Washington Unix TeX distribution tape (latest copy dated 28 March 1990) Contains: TeX 2.993(==3.0), LaTeX 2.09, Metafont 1.9 (2.0), plus many utilities suitable for Unix 4.2/4.3BSD & System V tar format, 1600bpi, blockfactor 20, 1 file (36Mb) Copies available on: One 2400ft tape sent with return labels AND return postage to Aston OR One Quarter-Inch Cartridge (DC600A or DC6150) sent with envelope AND return postage to Nottingham (addresses below). A VMS backup of the archive requires two 2400ft tapes at 6250bpi. A VMS backup of TeX 2.991 plus PSprint requires one 2400fttape. Exabyte 8mm tapes: same contents available as 1/2in tapes. Following tape types available: SONY Video 8 cassette P5 90MP, MAXELL Video 8 cassette P5-90, TDK Video 8 cassette P5-90MPB OzTeX (for Macintosh): Send 10 UNFORMATTED 800K disks with return postage. emTeX (for MS-DOS): Send 11 UNFORMATTED 1.44Mb or 18 (EIGHTEEN!) 720K 3.5" disks; or 12 UNFORMATTED 5.25" disks; with return postage. emTeX is now distributed with a copy of `Baskerville' and documentation. Please therefore send the disks in packing of A4 size or enclose an A4 envelope. *** POSTAGE RATES *** (all prices in Pounds Sterling) (make cheques payable to Aston University) 0.5" tapes: UK: 2.50 (one tape), 5.00 (two tapes). Europe: 5.00 (one tape), 9.00 (two tapes). Outside Europe please enquire. 8mm tapes: UK: 1.00, Europe: 2.00. Quarter-inch cartridges: UK: 1.00, Europe: 2.00. Diskettes: Quantity/Size Europe World UK 1st UK 2nd 18/3.5" 3.10 5.10 1.40 1.10 11/3.5" 1.80 2.90 0.80 0.65 18/5.25" 1.20 2.00 0.60 0.50 11/5.25" 0.80 1.30 0.50 0.35 *** POSTAL ADDRESSES *** (Please include SELF-ADDRESSED ADHESIVE LABELS for return postage). Peter Abbott Computing Service, Aston University, Aston Triangle, Birmingham B4 7ET David Osborne Cripps Computing Centre, University of Nottingham, Nottingham NG7 2RD, UK (for Quarter-inch cartridges ONLY) *** UK TeX USERS GROUP *** For details, contact Malcolm Clark or Geeti Granger IRS John Wiley & Sons Polytechnic of Central London Baffins Lane 115 New Cavendish Street Chichester London W1M 8JS W Sussex PO19 1UD email: malcolmc@uk.ac.pcl.mole End of UKTeX Digest [Volume 91 Issue 22] ****************************************