[comp.text] TeXhax Digest V89 #104

TeXhax@cs.washington.edu (TeXhax Digest) (11/25/89)

TeXhax Digest    Friday,  November 24, 1989  Volume 89 : Issue 104

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:         

                    Macsyma/REDUCE ---> TeX interface, II
                  Comparing tpic, epic, eepic, pictex + fig
                          Constructing fonts for HP
                     Re: Algebra package interface to TeX
                          Re: Floating Environments
                       Help with two LaTeX/TeX queries
                         Equation numbers in LaTex
                       \uccode of the character 'sz'
                                Latex query
                ***FWEB: A WEB system for Fortran/Ratfor/C***
                          Request help with web2c

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

Date: Mon, 13 Nov 89 19:37:55 EST
From: Allan Adler <ara@lom1.math.yale.edu>
Subject: Macsyma/REDUCE ---> TeX interface, II
Keywords: Macsyma/REDUCE ---> TeX interface, II

I have received many replies to my original inquiry to this list for
information about software which will automatically convert MACSYMA
or REDUCE output to TeX format. The answer is:
(1) There is a program called tex.l which converts MACSYMA format to TeX.
(2) There is a program called TRI (with filenames such as tri.red and a
    documentation file called tri.tex, plus other files) which converts
    REDUCE output to TeX.

The MACSYMA version doesn't introduce line breaks and therefore increases
the chance of humans corrupting the output when they insert the needed
line breaks.

The REDUCE version nominally does introduce line breaks and seems
rather sophisticated. However, it only runs on version 3.3 of REDUCE
and here we have REDUCE 3.2 . So I haven't been able to test it
myself. I doubt very much whether I will be able to persuade the
people in charge here to purchase a new version of REDUCE just so that
I can format the output in TeX more conveniently. So I am now
interested in the following revised version of my original question:

Does anyone know how to modify tex.l so that it will introduce line
breaks ? Does anyone know how to modify TRI so that it will run with
version 3.2 of REDUCE ? Does anyone know what exactly are the incompatibilities
between version 3.2 and 3.3 which prevent TRRI from running on version 3.2
of REDUCE ?

Any comments are welcome.

Allan Adler
ara@lom1.math.yale.edu

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

Date: Mon, 13 Nov 89 15:42:47 EST
From: Clement Pellerin  <clement@opus.cs.mcgill.ca>
Subject: Comparing tpic, epic, eepic, pictex + fig
Keywords: comparisons, tpic, epic, eepic, pictex + fig

Can someone comment on the relative merit of tpic, epic, eepic, pictex,
and fig, or give a pointer to where such a work can be found.
Are there others that I missed (that do not require postscript)?

Clement Pellerin, McGill University, Montreal, Canada
clement@opus.cs.mcgill.ca

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

Date:  Sun, 12 Nov 89 15:36 EST
From: "Dwaine L. VanBibber" <DLV101%PSUVM@UWAVM.ACS.WASHINGTON.EDU>
Subject: Constructing fonts for HP
Keywords: fots, HP LaserJet II

What are the optimal pixels\_per\_inch, blacker, fillin, and o\_correction
for constructing the CM family of fonts for the HP LaserJet II?  I've seen
the following:
              pixels\_per\_inch:=300;
              blacker:=.3;
              fillin:=.2;
              o\_correction:=.6;

but am told that this is for the Corona laser printers, and the result is
slightly dark on HPs.  Would anyone who constructs fonts for HPs like to share
their MF settings?  Thanks.

--Dwaine
dlv101@psuvm

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

Date: Sat, 11 Nov 89 19:20:09 GMT
From: James Davenport <jhd%maths.bath.ac.uk@NSFnet-Relay.AC.UK>
Subject:  Re: Algebra package interface to TeX
Keywords: TeX, Algebra

Yes, such an interface is available.
For information, send a message containing the line
send index for tex
to reduce-netlib@rand.org
James Davenport
jhd@uk.ac.bath.maths

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

Date: Mon 13 Nov 89 12:30:39-EST
From: Michael Downes <MJD@MATH.AMS.COM>
Subject: Re: Floating Environments
Keywords: LaTeX, floating environments

Edward Gornish (#101, 5 NOV 89) asked how to define one's own floating
environments in LaTeX, like "figure" and "table".  If your commitment
to LaTeX is not absolute, you might consider Michael Spivak's LAMSTeX,
which I understand has a built-in mechanism for creating new classes
of floating objects.  For availability and more details you'd have to
contact Spivak:

Michael Spivak
3701 W. Alabama, Suite 450-130
PO Box 27703-130
Houston TX 77027
713/524-5515

He doesn't have an e-mail address, that I know of.

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

Date: Tue, 14 Nov 89 12:36:04 +0200
From: Rama Porat <rama%shum.huji.ac.il@UWAVM.ACS.WASHINGTON.EDU>
Subject: Help with two LaTeX/TeX queries
Keywords: LaTeX, TeX

I have already asked help concerning the following two issues,
but I'm afraid I have not addressed it to the right place.
Please excuse me if I 'm mistaken; anyhow, a solution for
the following two problems is urgently needed here.

1. How do I say a thing like
   \font\anyname=\fontname\font scaled \magstep1

   \fontname\font is expanded into the file name containing the
   current font (e.g.cmr10) but TeX append the word "scaled" onto
   it, and gives error. I found no effective way to seperate
   the two items and get the required font, which should consist
   of the current font scaled by \magstep1.

2. Trying to enact LaTeX-XeT (LaTeX which can change
   to right-to-left writing) I make use of Knuth's suggestion,
   %
   \def\hebrewtext{\everypar{\kern-\parindent\beginR\indent}}
   %
   The idea is to put this at the beginning
   of every Hebrew paragraph.

   The trouble is LaTeX has it's own \everypar, and
   my \everypar specification is lost whenever entering a LaTeX
   secial environements, like \item.

   I want LaTeX to insert at the beginning of each Hebrew paragraph
   the specified \everypar, and not to lose it. So I am inputting
   to each Hebrew text  a macro which sets
   \count191=1
   and I have added to the beginning of
   latex.tex file the following:
   %
   \def\hebpar{
               \ifodd\count191\kern-\parindent\beginR\indent
        	    \else {}
	       \fi
              }
   \everypar{\hebpar}
   %
   and changed each occurence of \everypar{} within
   latex.tex to \everypar{\hebpar}.

   I have re-installed LaTeX after those changes, but to no
   satisfactory effects.

   Thanks!

       Rama Porrat ---  rama@shum.huji.ac.il

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

Date: Fri, 10 Nov 89 16:50:47 CST
From: dale@tarski.cogsci.uiuc.edu (Dale Gerdemann)
Subject: Equation numbers in LaTex
Keywords: Latex, equation numbers

I'm trying to number some PostScript graphics as if they were
equations in LaTex. The problem is that I'd like the numbers to be in
the upper left hand corner. The leqno documentstyle parameter will put
the equation number on the left, but the number is still at the
bottom. Does anyone have an idea what to do?

Dale Gerdemann
dale@tarski.cogsci.uiuc.edu
d-gerdemann@uiuc.edu

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

Date: Mon, 13 Nov 89 15:03:17 MSZ
From: heurich <HEURICH%DDAGMD11@UWAVM.ACS.WASHINGTON.EDU>
Subject:  \uccode of the character 'sz'
Keywords: LaTeX, \uucode

Using LaTeX to produce a german document there's a problem with the
special character 'sz' (or sharp 's'):
When I specify \pagestyle{headings} the header of a document contains
a chapter or section title made by the \uppercase function.BUT:
If there is the character 'sz' in the sectioning command  the
\uppercase function has to change it in 'SS'. Are there any solutions,
f.e. changing the \uccode of the character?

Thanks
Cornelia Heurich
Gesellschaft fuer Mathematik und Datenverarbeitung
6100 Darmstadt
West-Germany

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

Date: Fri, 10 Nov 89  11:21 GMT
From: Catherine Griffin <CATHERINE%VAX.OXFORD.AC.UK@UWAVM.ACS.WASHINGTON.EDU>
Subject:  Latex query
Keywords: LaTeX

I have 2 problems, and would be grateful for any help on either of them.

1) I would like to include an example of a letter, a memo, and the file
SMALL.TEX in some notes I am writing. Lamport has included letters, etc.
in the manual, so presumably it can be done.

2) In tabular mode, I need some footnotes. I tried following the
suggestions in the manual, but although I can get lots of different effects
and numbers, I can't get the correct numbers to appear both in the text and
in the note at the foot of the page. This is what I have tried:

\begin{tabbing}
\centering
double quotes \quad\quad \= and |$|-|$| and \= {\bf result} quotes\kill
%
\bf to get \> \bf type \> \bf result\\
\smallskip
en-rule\footnotemark\       \> \verb|--|      \> -- \\
em-dash\footnotemark\       \> \verb|---|     \> --- \\
minus\footnotemark\         \> \verb|$-$|     \> - \\
\end{tabbing}
\addtocounter{footnote}$-2}\footnotetext{This character, ... ...
contexts.}
\addtocounter{footnote}$-1}\footnotetext{This is the traditional
dash, or em-rule,... ... }
\addtocounter{footnote}{0}\footnotetext%
{Note that ... ...}


In this case, the correct numbers for the footnote cues are printed in the
table (namely 2, 3, and 4, as note 1 has already occurred in the text), but
at the bottom of the page they go 2, 1, 1. The next footnote, in the main
text, is 2. By fooling about I get other numbers, but never the right ones!


Catherine Griffin			Janet: CATHERINE@OXFORD.VAX
Oxford University Computing Service	Bitnet:CATHERINE@VAX.OXFORD.AC.UK

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

Date: Fri, 10 Nov 89 11:49:38 PST
From: KROMMES%PPC.MFENET@CCC.NMFECC.GOV
Subject: ***FWEB: A WEB system for Fortran/Ratfor/C***
Keywords: FWEB, WEB, Fortran/Ratfor/C

Announcing FWEB: A Fortran/Ratfor/C version of WEB.

   Since the advent of Knuth's famous WEB system for documenting Pascal
and, later, Levy's C version thereof, various Fortran users have inquired
about the possibility of a WEB system for Fortran. I have developed a
version of WEB that supports Fortran, Ratfor, and C (which can be mixed in
the same WEB run). The new version is called FWEB. I am releasing v. 0.99
for beta-testing.  This release is a bit premature (there are a few known
bugs), but professional responsibilities force me to put FWEB on the back
burner for a few months.

   This project was driven by necessity. I was developing a large
scientific code that I planned to write mostly in C. I was eager to
document it as well as I could (so my graduate students could understand
it), so I was interested in Silvio Levy's CWEB. Levy graciously gave me v.
0.5 of CWEB, which I used successfully for a few years.

   However, part of my code could not be efficiently written in C; Fortran
was necessary in some form. Straight Fortran is terrible, but RATional
FORtran (Ratfor) removes many of the deficiencies and makes Fortran look
something like C. Thus, part of the code was written in Ratfor, with a
preliminary pass through the macro preprocessor m4 for good measure.  Of
course, I wanted to document that code as well. Now although CWEB was never
intended for Ratfor, because of Ratfor's C-like syntax CWEB was able in
many cases to format Ratfor code satisfactorily. Of course, sometimes the
documentation fell apart completely because keywords like DIMENSION aren't
known to C, and certain syntax is different.  Thus, after living with
usable but somewhat marginal woven Ratfor output from CWEAVE for a while, I
decided to do things right and teach CWEAVE the appropriate rules for
Fortran. I though that would take a couple of weeks...

   The first project was to endow FWEB with the concept of a current
language. Since I routinely mix C and Ratfor code and I wanted all the
documentation to be all in one place, it was important to be able to switch
between syntaxes as necessary.  After some MONTHS (FWEB was developed in my
spare time), I had taught the WEAVE processor to produce reasonable quality
typeset Fortran and Ratfor, and to switch back and forth between the
various languages. Little had been done to TANGLE at that point. However, I
then decided that it was pointless to make separate passes through m4 and
Ratfor; why not make TANGLE do it all. Levy had eliminated the macro
preprocessor from CTANGLE since C has its own. I reinstated one, patterned
after ANSI C. I also added a statement translator, so Ratfor keywords could
be expanded.

   Thus, the present version of FWEB has these significant enhancements
over CWEB: 

        (1) The concept of a current language (Fortran, Ratfor, and/or C);
        (2) A C-like macro preprocessor;
        (3) Ratfor to Fortran-77 translation.

My students and I use FWEB every day; we find it to be a tool of great
utility.  For writing in Fortran, the macro processor is 
indispensible. As far as Ratfor is concerned, I find it to be a great step
forward; I hope never again to have to write a straight Fortran program.

   The goal for FWEB v. 1.0 was to achieve functionality. It would be
pointless to defend the elegance of all of the internal code at this point:
some should be optimized for speed; some should be rewritten. Eventually,
these projects will be undertaken. (Note that since I'm a major user I have
a powerful motivation.) But now it's most important to get some Fortran
users involved so I get some feedback and bug reports.

   The relevant files are available via anonymous FTP from Internet host
CCC.NMFECC.GOV in directory (VMS syntax) TEX$ROOT:[DISTR.FWEB]. The files
are described in READ.ME.  As this explains, for VAX/VMS users only a
subset of all files is necessary, since the executable binaries FTANGLE.EXE
and FWEAVE.EXE are provided. If you have the courage to try to bring things
up on another machine, you should also read INSTALL.FWEB, and transfer all
files except *.EXE, *.HLB, and *.HLP to your machine.

To transfer the files, use FTP. You say, for example (the exact syntax
varies from one FTP to the next)

        FTP ccc.nmfecc.gov
        LOGIN anonymous
        (type some ident such as "guest" or your last name)
        CD tex$root:[distr.fweb]
        GET read.me read.me
           (etc.)

To transfer the binaries to a VAX, you must say
        TYPE i
        GET ftangle.exe ftangle.exe
        GET fweave.exe fweave.exe

To end the session, say
        QUIT
        

   If you are bootstrapping onto another machine, please note that you may
have to make a few operating system-dependent changes in the source code.
Feel free to contact me for help.

   I will appreciate bug reports, suggestions, etc. My addresses are

        MFEnet:   krommes@ppc.mfenet
        Internet: Krommes%ppc.mfenet@ccc.nmfecc.gov
        Bitnet:   krommes%ppc.mfenet@lbl.bitnet

   In conclusion, it's worth noting a few lessons I learned while
developing FWEB.  None of these are new, but I guess everyone must learn
them for himself.

        (1) Don't undertake a major software project in your spare time.
                You can't maintain the required concentration. Because I've
                had to balance teaching and research responsibilities, FWEB
                is less than it could be (as has been my output of published
                physics papers).

        (2) It's much harder to modify someone else's code than it is to
                write your own (even if the other code was written in WEB!).
                (If the other code was not written in WEB, it's probably
                impossible.) 

Finally,

        (3) Knuth's design for the original WEB is elegant. It's an important
                contribution to efficient programming. Indeed, structured
                programming with WEB is a joy. Try it! 

   I'll be out of the country until about Dec. 10. (Of course, this has
nothing to do with my release of FWEB!) At that time, I'll try to respond
to any messages about FWEB as quickly as I can.
 
   Good luck.

 John Krommes

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

Date:  Mon, 13 Nov 89 9:05:41 GMT
From: Dr R M Damerell (RHBNC) <damerell@NSFnet-Relay.AC.UK>
Subject: Request help with web2c
Keywords: web2c

I have been trying to compile Crudetype using web2c and having great
difficulty with it. Please does anybody know of a document that describes
how web2c works? 

One of many difficulties is this perennial problem; how to get a quoted
character string into an array? VMS Pascal provides 3 mechanisms;
conformant arrays, blank-padding, and "varying" arrays. None is adequately
portable. It looks as if I will have to adopt the pool file mechanism
of TEX; the disadvantage is that any installer will have to determine 
the name and directory of the  pool file & write it into the program.
Please could the authors of various versions say what they think of this?

I am writing an experimental set of Emacs Lisp functions for editing
WEB files (and Change files some day I hope) Is anybody interested in 
trying these & reporting bugs?

Mark

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

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