summaryrefslogtreecommitdiff
path: root/fonts/apl/readme.txt
blob: 4d939552a3dbfb4c7add4ef932799875357eafc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
Thank you for your letter of 27 February. The original purpose
of our APL font and macros was to solve the immediate problem
of writing documents with APL code. Therefore, they are free for
anyone who finds them useful. Some people have requested the font
and we have sent them the files appended below (with CMAPL10 and
two conversion programs for downloading pixel files, not given here).
Further, we have nothing against giving our net address to the
users because it would be useful to hear about extensions made
to the system.

The files APLDEF.TEX and TUGBOAT.TEX are identical with the second
versions sent to you (via BITNET) except for minimal changes (there
are some corrections and extensions in APLDEF.TEX, and in
TUGBOAT.TEX one APL line was corrected.) We think the files are
in a "final" form (at least we are not planning any changes).

Our original purpose was to publish the second version, but the only
difference was really the removal of the tilde space character (this
resulted in more complex 1-character macros, but the user cannot
see any difference; moreover, TeX runs only about 14% slower). Thus,
we feel that there is no reason to publish a list of errata in
TUGboat, because any user would inevitably have to use the new
version (the old one has not been released).

We are adding a file containing sample examples on the use of the
APL mnemonics.

Aarno Hohti



%=================================================================
%                     R E A D M E . T X T
%=================================================================

      These files contain the necessary material for producing
APL documents with TeX.  It should be pointed out that as written
in an article published in TUGboat, the system as such can be
described as a straightforward solution to the problem of making
nice documents containing APL code.  Instead of trying to achieve
a completed result, we tell the reader how to use existing MetaFont
character descriptions as far as possible to provide an APL font
of reasonably fine quality.  Further development is left to the users. 
Combined with suitable TeX macros using Digital's mnemonics -- chosen
because of the popularity of the interpreter among APL users
(it is really the only one used at our site) -- the font can be used
smoothly enough.  Furthermore, if combined with an APL workspace
providing functions for an automatic conversion of APL workspaces
into TeX code, the system can be used to merge pre-existing
APL code into documents without the pain of re-writing the code
in Digital's 2-letter mnemonics. 
      To produce pixel files from the MetaFont file CMAPL10.MF,
you have to run MetaFont in your local machine.  By typing METAFONT
you should get the prompt symbol '*'.  It may be necessary to use
the form

            METAFONT\INPUT_DIRECTORY = XXXXXX

where XXXXXX is the global name of the directory where the basic
CMMF definitions can be found.
The following discussion will then get MetaFont to produce a generic
font file CMAPL10.360GF:

                 * \relax;
                 * \mode = imagen;
                 * \mag = 1.2;
                 * input cmapl10

Here \mode = imagen was used to get a pixel file for a laserprinter
with the resolution 200 times 200 pixels per square inch.  It is
possible that the definition of 'imagen' is different at your local
site; in the case of error ask the person who installed your local
MetaFont.  Notice that \mag = 1.2 is needed in case you want to get
magnified pixels.  The final pixel (because of the resolution 200)
files will then be named CMAPL10.1800PXL (or whatever you choose
to call them).  If you want to produce 'small' pixel files for example
for a screen previewer, use \mag = xxx with an appropriate constant xxx.
(You can check the form of characters obtained on a teletype terminal
by using the program GFTYPE.)  Finally, you get a pixel file from
CMAPL10.xxxGF by running the program GF(TO)PXL.EXE, which should be
found together with MetaFont.
        Some people want to use their pixel files on a PC (the
laserprinter is connected to a PC or for previewing purposes).  In
that case the pixel files must be downloaded from the host.  We never
use programs like Kermit for transferring the binary file but
first convert it to hex form, load the file down as a text file and
then convert it back.  It is IMPORTANT to notice that pixel files in
VAXes (say) are composed of 512 byte blocks.  The pixel file itself
is ended by the pixel_id, which is either 1001 (rasters are in word packed
form) or 1002 (rasters are in byte packed form).  Some programs running
on PCs assume that the last 4 bytes of the pixel file really
represent the pixel_id.  Hence, the pixel files downloaded from the host
should be CLEANed from garbage (the programs CONVERT and CLEAN are
given for convenience and to fix the definition of what they should do).
       MetaFont also produces the file CMAPL10.TFM containing the
metric information of the characters in the font.  These are needed
by TeX, and they can be downloaded as such (at least if you are
using Micro-TeX or PCTeX).

        In order to use the mnemonics, the macros in APLSTYLE are
needed.  There are basically two ways of merging APL code.  There are
standard macros called VERBATIM, which enable the user to produce
'typewriter-like' output.  As APL is modelled on a typewriter style,
too, it has been reasonable to extend VERBATIM to accept different
typewriter-like fonts.  The escape sequence \choosett enables you to
choose the font you want to use.  Thus, \choosett{tentt} swithces
the standard font CMTT10 on, whereas \choosett{apl} chooses the font
APL, defined in APLSTYLE by '\font\apl = cmapl10'.  First, you can
insert APL code into text lines.  In this case you can call any
APL symbol either by its 2-letter mnemonic (for example \BX produces the
box symbol) if there is no symbol for it OR otherwise by its name
surrounded by two @'s.  (The @ character swithces into the current
typewriter style.)  Thus, @A_B@ produces 'A <-- B' in APL style, because
'_' is the name of '<--' in Digital's mnemonics.  Secondly, you can
insert APL code in 'screenlike' mode.  The code is to be delimited
by the pair \begintt - \endtt.  Example:

\begintt
    @DL Z_ZNPLUS N;@BXIO    % Here '@' replaces '\' as the escape
[1]   @BXIO_0               % character
[2]   Z_N@AB(@ION)@SO.+@ION
    @DL
\endtt

Please note that in this case the material between \begintt -- \endtt
is considered by TeX as a vertical box that cannot be divided between
pages.  Thus, if you have a long APL function, it might produce
a message of underfull vbox.