[comp.text] TeXhax Digest V90 #17

TeXhax@cs.washington.edu (TeXhax Digest) (02/12/90)

TeXhax Digest    Friday,  February 9, 1990  Volume 90 : Issue 17

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:         

              [<PJT%TNTECH.BITNET@forsythe.stanford.edu> dviware]
                                   Font search
                               Bitstream Math fonts
                          Persion(Farsi) or Arabic Fonts 
                                Center environment
                            Use of \special\landscape
                        Bold vectors and tensors in LaTeX.
                           Recycling arrows in [La]Tex
                                LaTeX picture mode
                 Re: Virtual fonts: More fun for Grand Wizards
                             How to trim whitespace?
                 Re: TeX & UNIX tricks (TeXhax Digest V90 #13)

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

Date: Tue, 30 Jan 1990 13:32:13 PST
From: Max Hailperin <mxh@sumex-aim.stanford.edu>
Subject: [<PJT%TNTECH.BITNET@forsythe.stanford.edu> dviware]
Keywords: dviware

I received the following request from <PJT%TNTECH.BITNET@forsythe.stanford.edu>

> We have DEC VAX running on VMS with the following output devices:
> ...
>    MATRIX TT200 Thermal color printer for transparency, and
>    MATRIX PCR film recorder for slides.
> My questions are:
>    1. Are there any drivers for MATRIX TT200 or MATRIX PCR?
> ...

I thought I remembered reading something about such a driver, but couldn't
turn one up in the places I looked.  Can anyone help PJT?  Thanks very much.

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

Date: Tue, 30-JAN-1990 11:32:41.44 GMT+1
From: <psjeka1%dtuzdv5a.bitnet@UWAVM.ACS.WASHINGTON.EDU>
Subject: Font search
Keywords: Metafont, Fonts: Old English, German Fraktur

I am working with TeX and LaTeX for six years. During these years, I
always searched for German "Fraktur" or Old English fonts, but I never
found any. Therefore my question: Does anybody out there have such
fonts which can be acquired using anonymous FTP? We have a full version
of METAFONT installed on our VAX cluster, so a .MF file would be
sufficient.

Thank you very much in advance,

       Volkmar Kuhnle
       Universitaet Tuebingen
       Astronomical Institute
       EARN: PSJEKA1@DTUZDV5A
       SPAN: AITMVX::KUHNLE

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

Date: Tue, 30 Jan 90 13:29:24 CST
From: Pat Lestrade <LESTRADE%MSSTATE.BITNET@UWAVM.ACS.WASHINGTON.EDU>
Subject: Bitstream Math fonts
Keywords: fonts, Bitstream Math

Am I the last person in the world to find out that Bitstream Inc is
NOT going to going to develop the math fonts that I need to use with
PCTeX?  Is there a solution other than throwing away my BS????.PK
files?


| John Patrick Lestrade         |   Department of Physics and Astronomy |
| lestrade@msstate.bitnet       |   Mississippi State University        |
| lestrade%ssl.span@fedex.      |   Mississippi, 39762                  |
|                 msfc.nasa.gov |   (601) 325-2926                      |

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

Date: Tue, 30 Jan 90 01:18:26 est
From: taalebi@ai.mit.edu (Ali Taalebi)
Subject: Persion(Farsi) or Arabic Fonts 
Keywords: fonts, Persian, Arabic

Hello there.
Is there any fonts for writing Persion (Farsi) texts by using Latex or
Tex?
Persion uses roughly the same alphabets as Arabic.
Both of these languages write from right to left.
Thanks in advance.
	--Ali Taalebi
 	  AI Lab, MIT
	  Room 768b
	  545 Tech. Sq.
	  Cambridge, MA 02139
	  (617)253-3022

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

Date: Tue, 30 Jan 90 14:38:26 -0500
From: lang@PRC.Unisys.COM
Subject: Center environment
Keywords: TeX, centering

Could someone explain to me why this:

\begin{center}
\LARGE \bf PROBLEMS WITH \\ KNOWLEDGE REPRESENTATION
\end{center}

behaves fine, but if I enclose the centered text
in another (admittedly superfluous) set of braces,
like this

\begin{center}
{\LARGE \bf PROBLEMS WITH \\ KNOWLEDGE REPRESENTATION}
\end{center}

there is not enough space left between the two centered lines?

Many thanks,

Francois-Michel Lang
Paoli Research Center, Unisys         lang@prc.unisys.com      (215) 648-7256
Dept of Comp & Info Science, U of PA  lang@linc.cis.upenn.edu  (215) 898-9511

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

Date:  9 Feb 90  9:00
From: ANDRES BRITO GALINDO <abg@iac.es>
Subject: Use of \special\landscape
Keywords: TeX, \special\landscape

Dear TeXnitians:


I've tried to get a landscape-formatted piece of TeX and I've
couldn't, maybe because I need something that I haven't got in my
computer environment, but that I'm sure I'm going to receive from
somebody of you. I've tried with \special\landscape and TeX seems not
to recognize this control sequences. Could anybody tell me why and
what I need to know to get that landscape TeXt? Thank you very much in
advance.

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

Date: Mon, 29 Jan 90 17:27:37 MET
From: Bo Thide <bt@irfu.se>
Subject: Bold vectors and tensors in LaTeX.
Keywords: LaTeX, vectors, tensors

Some time ago I posted a question on how to turn the default overarrow
vector style into boldface in LaTeX (and an ssociated \tensor command).
I received some answers, but but they didn't address the most urgent
problem of correct boldface size in \scriptstyle and \scriptscriptstyle.
The following piece of LaTeX code, however clumsy, does that.  I have
added it at the end of agujgr.sty nad agugrl.sty:

%\vec has to be changed since JGR wants boldface vectors -- not overarrow
% First we redefine \ixpt so that the \bf fonts have their proper sizes
% and then we redefine \vec to mean \bf.
%
% \tensor defined as bold sans serif by introducing a new \bsfam family.
%
% bt@irfu.se Dec 29, 1989.
\font\sixbf=cmbx6
\font\fivbf=cmbx5
\font\fivbs=cmssbx5
\font\sixbs=cmssbx6
\font\ninbs=cmssbx9

% This is a new protected family \pbs for bold sans serif
\def\bs{\protect\pbs}
\newfam\bsfam

% The following should really go in lfonts.tex instead!
\def\ixpt{\textfont\z@\ninrm 
  \scriptfont\z@\sixrm \scriptscriptfont\z@\fivrm
\textfont\@ne\ninmi \scriptfont\@ne\sixmi \scriptscriptfont\@ne\fivmi
\textfont\tw@\ninsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivsy
\textfont\thr@@\ninex \scriptfont\thr@@\sixex \scriptscriptfont\thr@@\fivex
\def\prm{\fam\z@\ninrm}%
\def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
    \@boldfalse}\@boldfalse
\def\boldmath{\@subfont\boldmath\unboldmath}%
\def\pit{\fam\itfam\ninit}\textfont\itfam\ninit 
   \scriptfont\itfam\sevit \scriptscriptfont\itfam\sevit 
\def\psl{\@getfont\psl\slfam\@ixpt{cmsl9}}%

%This has been changed to get correct \bf sizes
\def\pbf{\fam\bffam\ninbf}\textfont\bffam\ninbf 
   \scriptfont\bffam\sixbf \scriptscriptfont\bffam\fivbf 

\def\ptt{\fam\ttfam\nintt}\textfont\ttfam\nintt
   \scriptfont\ttfam\nintt \scriptscriptfont\ttfam\nintt 
\def\psf{\@getfont\psf\sffam\@ixpt{cmss9}}%
\def\psc{\@getfont\psc\scfam\@ixpt{cmcsc9}}%
\def\ly{\fam\lyfam\ninly}\textfont\lyfam\ninly 
   \scriptfont\lyfam\sixly \scriptscriptfont\lyfam\fivly 

% This is a new protected family \pbs for bold sans serif
\def\pbs{\fam\bsfam\ninbs}\textfont\bsfam\ninbs 
   \scriptfont\bsfam\sixbs \scriptscriptfont\bsfam\fivbs 

\@setstrut \rm}

\renewcommand{\vec}[1]{{\bf #1}}
%This is a tensor command generating bold sans serif
\newcommand{\tensor}[1]{{\bs #1}}


   ^   Bo Thide'--------------------------------------------------------------
  | |        Swedish Institute of Space Physics, S-755 91 Uppsala, Sweden
  |I|     [In Swedish: Institutet f|r RymdFysik, Uppsalaavdelningen (IRFU)]
  |R|  Phone: (+46) 18-403000.  Telex: 76036 (IRFUPP S).  Fax: (+46) 18-403100 
 /|F|\          INTERNET: bt@irfu.se      UUCP: ...!mcvax!sunic!irfu!bt  
 ~~U~~ -----------------------------------------------------------------sm5dfw

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

Date: Sun, 28 Jan 90 23:58:47 EST
From: csrobe@cs.wm.edu (Chip Roberson)
Subject: Recycling arrows in [La]Tex
Keywords: LaTeX, TeX, recycling arrows

Does anyone have a macro that will draw the Recycling symbol (3 arrows
arranged in a triagular loop) -- filled or unfilled arrows are fine,
but I prefer filled.

Also, if anyone has any experience with recycled-paper in HP DeskJets,
I would like to hear them.

Thanks,
  -chip
  -=- Charles S. Roberson          ARPANET:    csrobe@cs.wm.edu           -=-
  -=- VA Remote Sensing Study      UUCP:       ...!uunet!cs.wm.edu!csrobe -=-
  -=- Dept of Comp. Sci.           Compu$erve: 71500.2056@compuserve.com  -=-
  -=- College of William and Mary  Ma Bell:    (804) 221-3455 [W]         -=-
  -=- Williamsburg, VA 23185                   (804) 229-5530 [H]         -=-

    "Experience the feel of fur --- slam your fingers in a car door."

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

Date: Sun, 28 Jan 90 15:45:13 EST
From: INHB000 <INHB%MUSICB.MCGILL.CA@UWAVM.ACS.WASHINGTON.EDU>
Subject: LaTeX picture mode
Keywords: LaTeX, picture

One the deficiencies of the LaTeX picture mode is that you have to tell
it what size box to put it in; it cannot figure that out itself.  This
violates one of the fundamental principles of computing and especially
of TeX: never have the user do something the computer can do better,
like count and measure.  At any rate, this problem appears to go deeper
than just LaTeX.  If you build a box like the one depicted on page 389
of the TeXbook, it will have width 0, but the correct height and depth.
Experiments with \moveright instead of \rlap and \kern didn't produce a
better result.  Either it didn't work at all or gave a box of 0 width.
When I tried \put'ting an object not in picture mode, I also got a box
that had the correct depth and height and zero width, so it is clear
that LaTeX has inherited this problem from TeX.  Has anyone figured out
a reasonble workaround?

Michael Barr
inhb@mcgillb.bitnet
inhb@musicb.mcgill.ca

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

Date: 26 Jan 90  19:49:28 gmt
From: Graham_Asher%EDINBURGH.AC.UK@UWAVM.ACS.WASHINGTON.EDU
Subject: Re: Virtual fonts: More fun for Grand Wizards
Keywords: virtual fonts

When we read Don Knuth's article on Virtual Fonts in the recent double-issue
of texhax, we cussed a bit and said 'damn - why didn't we know about this
earlier?' (our fault for not listening of course :) )   Then we realised
we're in the same boat because we've never told anyone of the work we've
been doing either!  So I asked my colleague Graham Asher to write a few
short words on our version of virtual fonts et al.  He's not a regular
net user so please excuse the writing style.  I'm afraid net usage in
this company is an 'acoustic coupler hidden in a drawer' job :-)
Graham Toal.
PS. Usual disclaimer.... the MD hasn't read this.

The Type & Set system used at Current Science, a London and Philadelphia
publisher of scientific and medical journals, is a TeX system incorporating
style sheets, global document optimisation --- and virtual fonts.
Current Science is the largest commercial TeX user in the U.K., and possibly
in Europe, publishing over twenty different bimonthly and monthly
journals (mostly called `Current Opinion in X', where X is something like
Cardiology or Gastroenterology). Most journals published in London are typeset
on a Chelgraph IBX phototypesetter using the ACE language; in Philadelphia
they use a Varityper running PostScript; some output (mostly marketing stuff)
is done on a Linotronic 100 and a Linotron 101 using Cora V, which used to be
used for the journals; and proofing is done on a variety of
laser printers using PostScript.

I introduced TeX to Current Science in early 1987 and realised that there
was a problem with font layouts. The first solution was for our drivers, which
we wrote in-house, one for the Linotron and one for PostScript, to read
layout files which translated standard TeX codes into the codes used on
the output devices. There was provision at that point for
characters in a given font to come from the current font or from the
pi font; but no support for arbitrary font mixing or scaling.

Over the past three years this system has evolved by various stages into
the present one, in which each driver (we now have drivers for the
Chelgraph IBX (using the ACE language) and Compugraphic 8400 phototypesetters
as well as for Cora V and PostScript, and of course the screen previewer)
reads a FontData file which contains all the information necessary to
render any character. The FontData file format uses the same sort of
layout as AFM or Adobe Font Metric files, and is thus readable and editable
by human beings, as well as being very quick and easy for a computer to read.
By `same sort of layout' I mean that it consists of a series of possibly
nested sections, all starting `Start<x>' and ending `End<x>' --- the entire
file is contained between `StartFontData' and `EndFontData' lines, for
instance --- and is line-oriented, keyword-based and whitespace-delimited.

The readability of the FontData file is an important point. Unreadable
formats such as TFM and VF are always associated with pairs of conversion
programs such as TFtoPL and PLtoTF to translate them into readable
form and back. This is unnecessary and confusing. There is no reason
why, using today's hardware, the readable format cannot be read directly
by the programs which are the end users of the information.

FontData files work in quite a different way from VF files. Where a VF
file is needed for each virtual font, only one FontData (FD) file
is needed for each output device. The FD file contains the definitions of
several named layouts, each of which may be used to map many TFM files
to the output device. For example, the Linotronic 100 FD file `lin100.fd'
contains a standard layout called `text' which is shared by most of the
fonts.

A layout lists valid TeX character codes and their
device equivalents, and may include references to arbitrary geometric
transformations to be used when rendering the character. Each
`virtual' character may be composed of any number of actual device characters,
each one transformed in a different way.

Transformations are declared using six-element matrices following the
PostScript ordering convention: a b c d tx ty. The rule for applying the
transformation is: x' = a.x + b.y + tx and y' = c.x + d.y + ty.
A similar system is used in METAFONT, but, I believe, with the elements in
a different order. The PostScript ordering was chosen for mnemonic reasons:
the FD file looks very similar to an AFM file, and so should be
PostScript-like in other respects.

When a character is rendered by a driver, two transformations are applied:
first the font transformation, then the transformation for an individual
character. This allows us to create a character in a certain layout by,
say, stretching a device character, and then to create a new font (such as
Helvetica Bold at 90% normal width) by specifying a transformation
as part of the way the TeX font is converted to a virtual font.

One of the useful spinoffs of the whole approach is that it allows us
to create TFM files for our PostScript, Linotron, Chelgraph (actually
Monotype) and Compugraphic fonts by running a single program, MAKETFM.
This reads the FD file and the AFM files for the fonts. Of course,
AFM files only exist normally for PostScript fonts, but that is handled
by another very simple program, MAKEAFM. Since the FD file is used both
when creating the TFMs and by the drivers, no mismatches occur.

The drivers, which are written using Microsoft C 5.10, are all linked to
common modules which read DVI files, handle the command-line options,
and read the FD file. A given driver can use any FD file which is marked
as being for its own language. For Cora V, for example, there are, among
others, FD files called `lin100.fd' and `lin202.fd'. The main part of the
name of an FD file is the `device name', which can be selected on the
command line when invoking the driver. Thus the Cora V driver DVICORA can
write Cora suitable for the Linotronic 100 if invoked using the command
`dvicora +dev=lin100 <dvi file>'; or for the older Linotron 202, if you type
`dvicora +dev=lin202 <dvi file>'.

Proofing is accomplished very simply. The emulating device, such as the
PostScript printer, has an FD file which contains entries for all the
non-PostScript fonts to be emulated, specifying which PostScript fonts
are to be used in each case. The screen previewer uses a vector font
which can be scaled to any size necessary.

To sum up, the advantages of the FD system as opposed to the VF system are
readability and small size of data files, commonality of data between
drivers and the TFM creator, and the ability to apply arbitrary geometric
transformations to entire fonts and/or individual characters without
resorting to device-dependent \specials.

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

Date: Tue, 30 Jan 90 14:00:33 EST
From: mernst@theory.LCS.MIT.EDU (Michael Ernst)
Subject: How to trim whitespace?
Keywords: TeX, whitespace, macro

I'm trying to write a macro which will remove trailing spaces from its
argument.  Exercise 20.18 of The TeXbook defines \stripspace, which does
just that, but it gives an error if there isn't actually a space at the end
of its argument.  Can someone help me to modify it to simply return its
argument in that case?

I'm also curious about how I would write a macro to strip space from the
front of its argument.

Thanks for your help.
					-Michael Ernst
					 mernst@theory.lcs.mit.edu

PS:

The TeXbook solution to Exercise 20.18 is

\def\myname{Michael Ernst   }

\def\stripspace#1 \next{#1}
\edef\myname{\expandafter\stripspace\myname\next}

Now \myname expands to "Michael Ernst".

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

Date: Mon, 29 Jan 90 10:00:23 PST
From: scenic!pauld@beaver (Paul Davis)
Subject: Re: TeX & UNIX tricks (TeXhax Digest V90 #13)
Keywords: TeX, UNIX

Yes, so Don Knuth's little trick is very nice, but wouldn't it
be so much nicer if you could say:

tex trick *.tex \\end | dvi2XXX | lp(r)

Whatever happened to stdout in WEB ?

Paul Davis				<pauld@scenic.nwnexus.wa.com>
ScenicSoft, Inc.			"Industry without art is brutality"
206-776-7760

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

%%% 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 <your name>    % 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
**************************
-------