UKTeX Digest    Friday,  4 Dec 1992    Volume 92 : Issue 45

   ``The UKTeX Digest is brought to you as a free, unfunded and voluntary
        service of the UK TeX Users Group and the UK TeX Archive.''

Today's Topics:
 {Q&A}:
                                    AMSLateX
                                  re: Scoping
                            TGRIND for VMS on Offer!
                       VMS TANGLE and WEB wanted for C++
             Re: Double-sided printing and page-imposition in LaTeX
             Re: Double-sided printing and page-imposition in LaTeX
                      Thorn and Eth - recent developments?
                    RE: Thorn and Eth - recent developments?
                       emTeX and Fujitsu DL 2600 Printer
 {Announcements}:
                             DVGT on FILESERV/Niord
                          MFpic 0.2 on FILESERV/Niord


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, 27 Nov 92 17:35:50 +0000
From:    Jim Renshaw <J.H.Renshaw@uk.ac.southampton>
Subject: AMSLateX

I keep getting the error - Insufficient symbol fonts - when using
AmsLaTeX. Can anyone tell me what this means and how to correct the
problem. I got a similar problem when trying to use the Springer format
CPMono01 recently so presumably it is something to do with our format
files.

------------------------------

Date:    Sun, 29 Nov 92 20:25:26 -0500
From:    Jerry Leichter <leichter%com.lrw@uk.ac.aston>
Subject: re: Scoping

R.A. Reese continues to ask about how scoping of registers (and most other
things in TeX) works, and why it's set up that way.

I see there's no alternative but to give a bit of an exposition (since this
happens to be a topic I'm about to lecture on in my programming languages
class anyway).

Traditional dynamic scoping works as follows:  At the entrance to a "block"
(where a "block" is whatever serves to introduce new variable scopes) there is
a list of variables local to that block - i.e., those for which the block
constitutes a new scope.  To take a very simple example, in SNOBOL4 the only
kind of block introducer is a function entry point.  In any language which
allows variables to be used for the names of functional parameters - and note
that TeX, which uses the special symbols #1, #2, and so on is NOT one of these
- - these variables are always local to the block.  It may also be possible to
declare additional local variables.  The SNOBOL4 function prototype "F(A,B)C"
declars arguments A and B, which will be local and an additional local
variable C.  (Actually, SNOBOL4 programmers will recall that F is also a local
variable, since as in FORTRAN one returns values through a variable with the
same name as the function.)  In LISP, at the user level there are several
kinds of blocks, but in fact they can all be defined in terms of the primitive
lambda expression, which has only arguments, no explicit local variables.

On entry to a block, the implementation runs through all the declared local
variables, in order, and pushes their current values onto the system stack.
Depending on the language and the details of the block, the variables are then
either left as they were, or reset to some particular value - the parameter,
for an argument; perhaps some explicit null or "undefined" value, for a local.
On exit from the block, the values are popped off the stack and restored to
the variables in reverse order.

TeX does something like this.  However, in keeping with many other macro
and command languages, it does NOT have an explicit way of indicating what
the locals in a block (group) are.  Instead, nothing at all happens to any
variables on entry to a block; however, a "start of group" marker is pushed
on the stack.  All variables still have the value they did before.  If a value
is now assigned to a variable, TeX first declares it local to the block and
pushes its old value on the stack.  (Since there is no fixed list of values,
what it actually pushes is a variable/value pair.  It's also clever enough not
to push a second value if the variable is assigned to again in the same
group.)  At the end of the group, TeX walks up the stack, finding variable/
value pairs, and restoring previous values.

"Variables" and "values" here need to be understood broadly.  The same rules
apply to macro names, count registers (a fixed set of 256 counters to which
you can assign handy names - but their REAL names are \count0, \count1, and
so on), \box'es, and so on.  In each case, there is space for a current
value within TeX - the only value directly accessible - as well as space for
more values, saved for later restoration, on the stack.

\global adds a complication.  Here, TeX's definition and implementation are
a bit unusual - though few people ever run into their oddity.  The easy (but
incorrect) way to think of it is that each variable exists in a "global" and a
"local" version simultaneously:  In effect, there are two copies of every-
thing.  When a local version exists, it "shadows" the global copy to all but
\global assignments.  This is probably the way most people imagine that TeX
works.  However, it's incorrect.  In fact, there is only one instance of
each variable.  The VALUE assigned to each variable carries a marker
indicating whether it was assigned with \global or not.  A reference to a
variable ALWAYS gets its most recently assigned value, \global or not.  The
effect of the "globally assigned" flag is that, when it comes time to pop
values of the stack, attempts to restore to a variable whose current assign-
ment is "global" are ignored.  The only way you can ever observe the actual
implementation is by using the same variable both locally and globally within
the same group.  This is NOT recommended practice, as it can cause "save stack
buildup"; see the TeXbook (under that index entry) for information.

If all assignments were \global, it would be impossible to use a counter (say)
as a local variable, its value saved and restored over the execution of the
group.  If, on the other hand, \global were not available, it would be
impossible to "export" values from a group, since there's no explicit return
value from a group as there is an explicit return value from a function with
local variables.

\newcount and friends have been explicitly written to allocate variables
globally.  In fact, in Plain they are defined as \outer, so trying to use them
within in a macro will result in an error.  It is quite possible to create
analogues of these functions that declare local variable NAMES.  Here's a
set of definitions I use:

% File:       TeX Inputs declare.tex
% Author:     J E Pittman
% Bitnet:     JEPTeX@TAMVenus
% Internet:   JEPTeX@Venus.TAMU.EDU
% Date:       September 29, 1988
%
% These macros provide a method of locally allocating registers 
% without interference with previously allocated registers.  The 
% method is the same as on pages 346--347 of the \TeX book, however, 
% the declare macros are intended for local use only.  It is a logical 
% error to use a "new" macro between a declare macro and the end of the 
% appropriate enclosing group. 
%
% Extended by Jerry Leichter, 29-Nov-88, to include \declareif.
%
\def\declarecount {\allocate0\countdef}%
\def\declaredimen {\allocate1\dimendef}%
\def\declareskip  {\allocate2\skipdef}%
\def\declaremuskip{\allocate3\muskipdef}%
\def\declarebox   {\allocate4\chardef}%
\def\declaretoks  {\allocate5\toksdef}%
%
\def\allocate#1#2#3{\relax
  \advance\count1#1 by 1
  \ifnum\count1#1<\count19
  \else
     \errmessage{No room for \string#3!}%
  \fi
  #2#3=\count1#1
}
%
{\let\newif\relax \gdef\declareif{\newif}}

Note the difference between:

\newcount\x {\x=1}

(The NAME \x is globally defined, and a counter has been reserved "forever" -
but \x has no useful value right now, since we've exitted the group.)

and

{\declarecount\x \x=1}

(The NAME \x vanished at the end of the group, and the count register was
restored to the free list.)

                                                        -- Jerry

------------------------------

Date:    Tue, 01 Dec 92 14:37:00 +0000
From:    GHASSEMPOORY <MEHRDAD@uk.ac.cardiff.dev.gollum>
Subject: TGRIND for VMS on Offer!

I have ported the BSD version of TGRIND to VMS - Porting is a grand word for it
, 
I have just modified the main() and added CLI support. Anybody interested?

------------------------------

Date:    Tue, 01 Dec 92 14:42:00 +0000
From:    GHASSEMPOORY <MEHRDAD@uk.ac.cardiff.dev.gollum>
Subject: VMS TANGLE and WEB wanted for C++

I need a version of TANGLE and WEB which can run on VMS and is capable of 
processing C++. Can anybody tell me where I can find such a thing?

        Mehrdad

------------------------------

Date:    Tue, 01 Dec 92 09:48:56 -0800
From:    "B.J." <herbison%com.dec.enet.erlang@uk.ac.nsfnet-relay>
Subject: Re: Double-sided printing and page-imposition in LaTeX

> The problem is as follows: the document is large and is printed using
> \includeonly{...}. With twosided.sty LaTeX generates the extra pages needed
> to finish off the previous chapter correctly so that the next chapter
> starts correctly on an odd page (which is what I want). However the extra
> page goes on the front surface when printing out the chapter and the odd
> page goes on the back WHICH IS NOT WHAT I WANT. For those supplying solutions

        The solution I have used in similar circumstances is to place a
        \cleardoublepage at the end of each chapter file.  This places
        the extra pages with the correct chapter.

> A futher little challenge: I wish to print out a double sided A5 booklet
> using the above laser printer - the idea is to print 4 A5 pages per
> A4 sheet and just fold the result in half. There are two problems:
>
> 2. The laser printer prints the back two pages  on an A4 sheet upside down!

        There may be some way to change the way the printer orients the
        pages on the back, but I suspect you would have to identify your
        operating system, printer model, and printer control software
        before someone could provide the appropriate solution.

        One easy solution is to print out a master copy of the booklet
        single-sided, turn half of the pages upside down, and then use a
        photocopier in single-to-double mode to print the booklets.

                                                B.J.

------------------------------

Date:    Wed, 02 Dec 92 14:24:27 +0000
From:    Peter Abbott <p.abbott@uk.ac.aston>
Subject: Re: Double-sided printing and page-imposition in LaTeX

>> The problem is as follows: the document is large and is printed using
>> \includeonly{...}. With twosided.sty LaTeX generates the extra pages needed
>> to finish off the previous chapter correctly so that the next chapter
>> starts correctly on an odd page (which is what I want). However the extra
>> page goes on the front surface when printing out the chapter and the odd
>> page goes on the back WHICH IS NOT WHAT I WANT. For those supplying solution
>s

>        The solution I have used in similar circumstances is to place a
>        \cleardoublepage at the end of each chapter file.  This places
>        the extra pages with the correct chapter.

>> A futher little challenge: I wish to print out a double sided A5 booklet
>> using the above laser printer - the idea is to print 4 A5 pages per
>> A4 sheet and just fold the result in half. There are two problems:
>>
>> 2. The laser printer prints the back two pages  on an A4 sheet upside down!

>        There may be some way to change the way the printer orients the
>        >pages on the back, but I suspect you would have to identify your
>        operating system, printer model, and printer control software
>        before someone could provide the appropriate solution.

>        One easy solution is to print out a master copy of the booklet
>        single-sided, turn half of the pages upside down, and then use a
>        photocopier in single-to-double mode to print the booklets.

>                                               B.J.

In answer to your printing problem, I have a similar need. I can produce
two files with the correct sequence of pages so that if
part1 is printed on an apple laserwriter then the pages feed back into the
printer part2 does give the correct back to back.

I use dvidvi as follows

dvidvi 4:-1,2"(148.5mm,0mm)" Run part1
dvidvi 4:-3,0"(148.5mm,0mm)" Run part2

where Run is the input dvi file of A5 pages and part1/2.dvi are A4 pages.

------------------------------

Date:    Wed, 02 Dec 92 15:44:30 +0700
From:    "R.A.Reese" <R.A.Reese@uk.ac.hull.cc.sequent>
Subject: Thorn and Eth - recent developments?

I've met a student who wanted to use thorn in his dissertation - and
had failed with all software so far. Our Word-for-Windows for example
allows him to pick thorn on a symbol table but then prints an entirely
different character on the (PS) printer.  Have other people hit this
bug?

Back with TeX.  Thorn was discussed in UKTeX in 1990 but the solution
then was to kern a bar and a b together.  Has anyone since created a
font containing thorn, eth and other "furrin" characters that I can
download and make generally available?  Are the DC fonts relevant to
this? I've seen references to them but haven't followed them up.

The same problem in a different context.  I've just bought a copy of
the Lucida Bright and Maths fonts.  LBR contains thorn (and eth) on
the printed description but they get pushed out in the TeX encoding
vector.  As I understand it, an Adobe font contains 253 characters but
a TeX font can't have that many. What is the recommended solution?
Should I write an encoding vector to select the missing characters and
generate a "B" font of the one's that TeX rejected?  Is this where
virtual fonts come into their own - since the PFB obviously contains
all characters but the TFM contains only the subset?

Finally, re the great on-going debate.  I put pages of CM and Lucida
side by side in the tearoom.  Opinions were fairly evenly divided, but
more people expressed a preference for CM as seen, though several said
they'd prefer Lucida with increased leading.

------------------------------

Date:    Fri, 04 Dec 92 11:17:51 +0000
From:    Philip Taylor (RHBNC) <P.Taylor@uk.ac.rhbnc.vax>
Subject: RE: Thorn and Eth - recent developments?

Just one point:

>>> As I understand it, an Adobe font contains 253 characters
>>> but a TeX font can't have that many. 

A TeX font can have 256 characters.

                                        Philip Taylor, RHBNC.

------------------------------

Date:    Wed, 02 Dec 92 17:56:56 +0000
From:    Andrew McLean <PHR050@uk.ac.southampton.ibm>
Subject: emTeX and Fujitsu DL 2600 Printer

I have just made a brief attempt to produce output from the above
printer using DVIDOT from emTeX.

The printer belongs to to University Computing Services and I don't
have a manual for it.  Other packages which use it seem to think
it is either an "IBM Graphics printer" or a "Fujitsu dot matrix printer".

I tried the Epson FX & LQ drivers and the Proprinter drivers using
fx & p6m fonts as appropriate.  The output was all the right sort
of thing.  In other words it was recognisable but distorted/corrupted
in various ways.

Does anyone have any .dot files they think might help.  Or any other
ideas short of finding the printer manual and doing it the hard
way?

Andrew McLean         |       Janet : PHR050@UK.AC.SOTON.IBM
Department of Physics | Earn/Bitnet : PHR050@IBM.SOTON.AC.UK
The University        |          or : PHR050%UK.AC.SOTON.IBM@UKACRL
Highfield             |    INTERNET : PHR050@IBM.SOTON.AC.UK
Southampton SO9 5NH   |        uucp : PHR050%UK.AC.SOTON.IBM@ukc.uucp
tel. +44(0)703 593084 |

------------------------------

Date:    Wed, 02 Dec 92 10:33:53 -0600
From:    "George D. Greenwade" <bed_gdg@SHSU.edu>
Subject: DVGT on FILESERV/Niord

Geoffrey Tobin kindly worked through some network difficulties to get me
his DVGT package.  Notably, this port of DVItoVDU/dvi2vdu/dv/... is
make-able under AIX, as well as other platforms.  As one would expect, DVGT
has the usual bells and whistles associated with version 3.0.  Attached is
the description listing from FILESERV/Niord.

Regards and my thanks to Geoffrey on this,   George
***************************************************************************
                                   DVGT
                                   ----
The DVGT package includes a UUENCODEd ZIP file containing Geoffrey Tobin's
<ecsgrt@luxor.latrobe.edu.au> modifications to Ian Dall's 3.0 C version of
dv (available at anonymous@augean.ua.oz.au:/pub/misc/dv.tar.Z), which is a
C port of the original Modula-2 version of DVItoVDU by Andrew Trevorrow. 
This version is Tobin's modification 4 (1 December 1992) of DVItoVDU
version 3.0.  As with all programs related to Trevorrow's original effort,
this driver allows the visual display of DVI files using PK fonts on a
monitor or terminal.

Two Makefiles are provided:
    Makefile.aix for IBM machines (such as the Risc/6000) running AIX.
    Makefile.sun for Suns and Sparcs running Sun/OS, with gcc.
These can serve as templates for other Makefiles.  (The AIX one originated
from the Sun Makefile.)

In developing this release, Tobin was in contact with Trevorrow, as well as
Masahiro Kitagawa <kitagawa@will.ntt.jp>, the author of the Japanese
version 1.1J.   Users of terminals that emulate tek4010 can use the vis550
of one of the other tek4010 emulating terminal drivers listed in the
README.  An explicit "tek4010" option is not provided, as this would be
misleading and so as to make provisions for a real tek4010 driver in a
(hypothetical) later release.  MS-Kermit 3.xx has a tek4010 emulator which
is compatible with the tek4010 emulation modes of DVGT drivers, such as
vis550.

This version includes the useful ZI/ZO features of 3.0.  Zoom is now
adjustable.  For example, one can say "ZI 1.2" to zoom in by a factor of
1.2.  Subsequent uses  of ZI and ZO with no explicit factor will continue
to zoom 1.2 fold.  DVGT supports many other features of 3.0, such as wisely
ignoring \special's.  

To retrieve the set of 6 UUENCODEd files, include:
 SENDME DVGT
in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu). 
The ZIP file upon which this distribution is based in available for
anonymous ftp retrieval from Niord.SHSU.edu (192.92.115.8) in
[FILESERV.DVGT] as DVGT-3_4.ZIP.

Files in this package: (1 Block = 512 bytes)
File                     Blocks

DVGT.UUE_1OF6
 through 
DVGT.UUE_5OF6        77 (each)
DVGT.UUE_6OF6        28

Approximate total blocks in full DVGT package = 413

------------------------------

Date:    Wed, 02 Dec 92 15:32:25 -0600
From:    "George D. Greenwade" <bed_gdg@SHSU.edu>
Subject: MFpic 0.2 on FILESERV/Niord

Geoffrey Tobin also forwarded me a more comprehensive fileset for Thomas
Leathrum's MFpic 0.2.  It includes a few fixes and extra files which have
appeared on the net since it's original posting on 8 September 1992.
Attached is the FILESERV description file.

- --George
***************************************************************************
                                  MFPIC
                                  -----
The MFPIC package includes version 0.2 (8 September 1992, updated as of 26
November 1992) of Thomas Leathrum's <leathrum@griggs.dartmouth.edu> set of
TeX and Metafont macros that essentially draw pictures in a TeX document
using Metafont. Additional related files subsequently posted to the
network, including support for 4DOS.  Also, there's a valuable patch to the
new "mfpic.tex", which takes care of the problem that the graphics TFM file
is initially absent, and therefore cannot be read.

In MFpic, each picture comes out as a single Metafont character; the TeX
macros actually write the Metafont file for you, so there's no need to
learn Metafont (although you do have to be able to run Metafont); and the
TeX macros are things like \axes, \arrow, \circle, \curve, etc., similar in
nature (but nowhere near the scope) of PiC-TeX.  The advantages of this
technique: significantly faster than PiC-TeX (especially on curves),
totally printer-independent (unlike \special's).

To retrieve the package of 2 UUENCODEd files necessary to recreate the ZIP
archive file distribution, please include:
 SENDME MFPIC
in the body of a mail message to FILESERV@SHSU.BITNET (FILESERV@SHSU.edu). 
The ZIP archive containing the entire distribution (MFPIC02.ZIP) may be
retrieved via anonymous ftp from Niord.SHSU.edu (192.92.115.8) in the
directory [FILESERV.MFPIC]; the individual files of the distribution are
retained within the directory tree rooted there.

Files in this package: (1 Block = 512 bytes)
File                 Blocks  Save file as:

MFPIC.UUE_1OF2           78
MFPIC.UUE_2OF2           33

Approximate total blocks in full MFPIC package = 111

------------------------------
                                        
                       UK TeX ARCHIVE at ASTON UNIVERSITY
                              >>>  UK.AC.TEX  <<<
                                        
                  *** Interactive and file transfer access ***
           JANET: Host: uk.ac.tex, Username: public, Password: public
                              (DTE 000020120091)
                    Internet: host tex.ac.uk [134.151.40.18]
               For telnet access, login: public, password: public
      For anonymous ftp, login: anonymous, password: <your-e-mail-address>
                                        
                              *** Mail server ***
                    Send mail to TeXserver@uk.ac.tex (JANET)
                   or TeXserver@tex.ac.uk (rest of the world)
                   with message body containing the word HELP
                                        
\section FILES OF INTEREST

    [tex-archive]00readme.txt
    [tex-archive]00directory.list        [tex-archive]00directory.size
    [tex-archive]00directory_dates.list  [tex-archive]00last30days.files
    [tex-archive.doc]TeX-FAQ.txt    (Frequently Asked Questions list)
    [tex-archive.doc]FAQ-Supplement-*.txt    (FAQ supplement)

\section DIGESTS

    This year's UKTeX back issues are stored in the archive in directory
      [tex-archive.digests.uktex.92]
    This year's TeXhax back issues are stored in the archive in directory
      [tex-archive.digests.texhax.92]
      Latest TeXhax: V92 #21
    TeXMaG back issues are stored in the archive in directory
      [tex-archive.digests.tex-mag]
      Latest TeXMaG: V5N3

\section MEDIA DISTRIBUTIONS
    Postal addresses are given below.

\subsection Washington Unix TeX distribution tape
    Latest copy of May/June 1991 contains:
    TeX 3.14, LaTeX 2.09, Metafont 2.7, 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 0.5" tape sent to Aston with return labels AND return postage
   OR
       One Quarter-Inch Cartridge, QIC-120 or QIC-150 format (DC600A or DC6150)
       sent with envelope AND stamps for return postage to Nottingham
         (Due to currency exchange, this service is offered only within the UK)

\subsection VMS tapes
    VMS backup of the archive requires three 2400ft tapes at 6250bpi.
    VMS backup of TeX 2.991 plus PSprint requires one 2400ft tape.

\subsection Exabyte 8mm tapes
    Same contents available as 0.5" tapes.
    Following tape types available: SONY Video 8 cassette P5 90MP,
    MAXELL Video 8 cassette P5-90, TDK Video 8 cassette P5-90MPB

\section TeX IMPLEMENTATIONS FOR SMALL COMPUTERS

\subsection OzTeX V1.4 (for Macintosh)
    Send 7 UNFORMATTED 800K disks to Aston with return postage.

\subsection emTeX (for OS/2, PC-DOS and MS-DOS)
    The complete package (3.5" High density disk format ONLY)
    is available from Aston at a cost of 15 pounds sterling,
    including documentation, disks, post and packing (DO NOT SEND DISKS):
      specify Set A.
    Additional utilities including DVIPS, 5 pounds sterling:  specify Set B.
    FLI files for FX, 5 pounds sterling:  specify Set C.
    FLI files for P6M, 5 pounds sterling:  specify Set D.

    For general enquiries, and a free catalogue detailing other disk 
    formats, precompiled fonts and lots of other goodies, contact:
    Eigen PD Software, P.O. Box 722, Swindon SN2 6YB  (tel: 0793-611270)
    (JANET e-mail address: kellett@uk.ac.cran.rmcs)

\subsection TeX for the Atari ST
    All enquiries for disks etc. should be directed to:
    The South West Software Library, P.O. Box 562, Wimborne, Dorset BH21 2YD
    (JANET e-mail address: mdryden@uk.co.compulink.cix)

\section POSTAGE RATES
    All prices in Pounds Sterling.
    For Aston orders, 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

\section POSTAL ADDRESSES
    Please include SELF-ADDRESSED ADHESIVE LABELS for return postage.

    Peter Abbott
    Information Systems, Aston University, Aston Triangle, Birmingham B4 7ET

    David Osborne
    Cripps Computing Centre, University of Nottingham, Nottingham NG7 2RD
    (for Quarter-inch cartridges ONLY -- must include stamps for return postage
)

\section UK TeX USERS GROUP

    For details, contact:
    David Penfold, Edgerton Publishing Services,
    30 Edgerton Road, Edgerton, Huddersfield HD3 3AD (tel: 0484 519462)
 or E McNeil-Sinclair, fax: 0272 236169
\bye

End of UKTeX Digest [Volume 92 Issue 45]
****************************************