%% LyX 2.3.4.2 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[active]{srcltx}
\usepackage{amsbsy}

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
%% Because html converters don't know tabularnewline
\providecommand{\tabularnewline}{\\}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\usepackage{mflogo}
\usepackage{amsfonts}

\makeatother

\usepackage{babel}
\begin{document}
\title{\LaTeX{} on the Amiga - Old-School}
\author{Torsten Finnberg}
\date{10/28/2020\\v1.0}
\maketitle
\begin{abstract}
This is a guide to the installation of the \LaTeX{} distribution AmiWeb2c
in the version 2.1 on an emulated Amiga~4000 computer running Workbench
3.1. Furthermore the installation of a \LaTeX{} server for calling
\LaTeX{} from an editor is given and some tips on the installation
of new fonts are detailed. Also regard is given (code for: I have
no idea what I'm talking about) for the handling of PostScript fonts.
\end{abstract}

\section{Preface}

This guide is the result of many a night's tinkering, driven by both
nostalgia and stubbornness to get this damn thing to work, no matter
how many more cryptic error messages appeared\footnote{I am still convinced one of these was ``Out of Cheese Error.''}.
So as a way of exorcism and as a guide to fellow nostalgians\footnote{Is that a word?}
this guide was written. It could however never be written without
standing on the shoulders of those giants and gurus who ported \LaTeX{}
to the Amiga and the many people who keep Amiga related websites alive.
This guide is a small way of giving back.

Although this guide is based on an emulated Amiga running Workbench
3.1, there is no reason why it should not work on a physical Amiga.
An attempt to install TeX on a AmigaOs3.9 failed in the regard that
\LaTeX{} could not find the .aux-file generated by it. As \LaTeX{}
would only run on an a .tex-file if the full path was specified on
the command line, I suspect some changes in the command line parsing.

Note however that \TeX{} and \MF{} are resource hungry. The full installation
takes as near as makes no difference 50~MB of disk space, not accounting
for additional PostScript fonts. For \MF{} to run, I needed to set
Motherboard RAM to at least 16~MB. For an Amiga~4000 emulation the
compilation of a \LaTeX{} document can be said to be reasonably fast
but generation of fonts is something that calls for a cup of coffee.
Several ones. Likewise, rendering of a .ps-file by Ghostscript can
only be called...well, remember those old SF movies in which computers
spell out messages one letter at a time? Well, the title of the guide
has the word Old-School included, so don't expect the speed or functionality
of modern \TeX{} systems.

It must also be said what this guide is not about: The programming
of a \LaTeX{} document itself and the setup and running of the emulator\footnote{I used FS-UAE}.
It is also assumed that the reader has - like the author - a rudimentary
acquaintance with the command line (CLI) on an Amiga. I found the
website
\begin{quotation}
\texttt{https://wiki.amigaos.net/AmigaOS\_Manual:\_AmigaDOS}
\end{quotation}
very helpful in that aspect.

\subsection{Legalese}

There are a lot of trademarks mentioned in this guide and a lot of
programs which have authorship different from this author. All rights
to these trademarks and programs lie with their respective owners.
No infringement or financial gain is intended. On the same note, you
are free to copy this guide any way you wish, although if you publish
it in a modified form, please change the author. Oh, and a reference
to the original author would be nice.

\subsection{Disclaimer}

If using any of the instructions in this guide breaks your system
or leads to loss of data or gives you a headache...you are on your
own.

\section{Installation of the \protect\LaTeX{} system}

We now turn to the installation of the AmiWeb2c distribution in the
version 2.1 on an emulated Amiga~4000 with Workbench~3.1 installed.
For this distribution the \TeX{} version is 3.14159 and \LaTeX{} in
the form of \LaTeXe{} dates from 2001/06/01. But first we need some

\subsection{Preliminaries}

For the installation to proceed you need, besides a working emulated
Amiga, the archives \texttt{amiweb2c.tar.gz}, \texttt{amiweb2c-patch.tar.gz}
which can be found on the CTAN website
\begin{quotation}
\texttt{www.ctan.org/tex-archive/systems/amiga/amiweb2c}
\end{quotation}
The meat on the bones (for reasons I cannot fathom) is the archive
\begin{quotation}
\texttt{texmflib-7.10.tar.gz}
\end{quotation}
which can be found on
\begin{quotation}
\texttt{http://ftp.math.utah.edu/pub/tex/historic/systems/}

\texttt{web2c/texmflib}
\end{quotation}
We now set up the machinery to deal with compressed tar archives.
If you have this machinery already set up (and the \texttt{lha} program
installed) you can skip most of this and only do the final step of
the preliminaries. To uncompress the .tar.gz-files into .tar-files
you need \texttt{gzip:}
\begin{quotation}
\texttt{http://aminet.net/dev/gg/gzip-bin.lha }
\end{quotation}
To extract this .lha-file you need the \texttt{lha} program contained
in the file:
\begin{quotation}
\texttt{http://aminet.net/util/arc/lha.run }
\end{quotation}
The file \texttt{lha.run} is a self-extracting archive you extract
simply by executing it. Afterwards rename the extracted file \texttt{lha\_xxxxx}
to \texttt{lha} where \texttt{xxxxx} corresponds to your CPU. Then
move the file \texttt{lha} to \texttt{S:}. Now you can extract the
file \texttt{gzip-bin.lha }by
\begin{quotation}
\texttt{lha x gzip-bin.lha }
\end{quotation}
which creates the file \texttt{gzip-1.2.4-bin.tar}. To extract .tar-files
you need the \texttt{tar} program:
\begin{quotation}
\texttt{http://aminet.net/dev/gg/tar-bin.lha }
\end{quotation}
Extract this file and copy the resultant file \texttt{tar} to \texttt{S:}.
Then issue the command
\begin{quotation}
\texttt{tar xvf gzip-1.2.4-bin.tar}
\end{quotation}
The option ''x'' tells \texttt{tar} to extract the archive, the
option ``v'' to be verbose about it (list the files extracted) and
``f'' that \texttt{tar} should use the file given instead of the
default tape device. After this you'll find the new subdirectory \texttt{bin/}
in which various files reside. Copy the one file named \texttt{gzip}
to\texttt{ S:}. The program \texttt{gzip} needs a library file
\begin{quotation}
\texttt{http://aminet.net/util/libs/ixemul-48.0.lha}
\end{quotation}
After extracting this with \texttt{lha}, rename the resultant file
\texttt{ixemul-xxx.library}, where \texttt{xxx} corresponds to your
68xxx CPU-type, to \texttt{ixemul.library} and copy it to \texttt{LIBS:}.
After all this uncompress the three archive files given at the start
of this section by issuing
\begin{quotation}
\texttt{gzip -d amiweb2c.tar.gz}
\end{quotation}
producing the file \texttt{amiweb2c.tar}. The other archives are uncompressed
similarly.

Finally the previewer ShowDVI needs the file \texttt{req.library}
contained in the file
\begin{quotation}
\texttt{http://aminet.net/util/libs/ReqLib28.lha}
\end{quotation}
Extract \texttt{Reqlib28.lha} and move the file \texttt{req.library}
to \texttt{LIBS:}. After all these preliminaries we can now turn to
the actual

\subsection{Installation}

First find or generate via \texttt{makedir} a directory in which you
want to install Amiweb2c and \texttt{cd} into that directory. Then
issue the command
\begin{quotation}
\texttt{tar xvf PATHTO:amiweb2c-patch.tar}
\end{quotation}
where \texttt{PATHTO:} is the path to the .tar-file. A message that
\texttt{pdftex.pool} could not be extracted as there is no such file
appears. Ignore it. Then \texttt{cd} into the new subdirectory \texttt{Amiweb2c-2.1}
and issue the command
\begin{quotation}
\texttt{tar xvf PATHTO:texmflib-7.10.tar}
\end{quotation}
extracting the files in this archive to the subdirectory \texttt{texmf}.
Now go one level up in the directory tree by \texttt{cd /} and issue
\begin{quotation}
\texttt{tar xvf PATHTO:amiweb2c.tar}
\end{quotation}
The reason for this strange sequence of commands is that both \texttt{amiweb2c.tar}
and \texttt{texmflib-7.10.tar} come with their own .pool files, but
the initex process (see below) fails with the texmflib ones. So extracting
amiweb2c \emph{after} texmflib overwrites the non-working .pool-files.
The extraction of \texttt{amiweb2c-patch.tar} first is just a convenient
way to create the \texttt{Amiweb2c-2.1} directory. In the following
there will be given a lot of paths beginning with \texttt{../texmf}
where \texttt{..} stands for the full path of the \texttt{Amiweb2c-2.1}
directory.

In the \texttt{Amiweb2c-2.1} directory there is a subdirectory
\begin{quotation}
\texttt{bin/m68000-amigaos2.1/local}
\end{quotation}
which holds a file \texttt{DosPrefs}. Copy this file to the folder
\texttt{System:wbstartup}. Not sure what this program does, but apparently
there are different conventions on directory naming which make \TeX{}
find files only if the full path is given if \texttt{DosPrefs} has
not been started beforehand.

The next step is to make the file
\begin{quotation}
\texttt{..texmf/amiweb2c/s/user-startup.entry}
\end{quotation}
writable by issuing in its directory the command
\begin{quotation}
\texttt{protect user-startup.entry +w}
\end{quotation}
and then edit the file according to the comments in that file. After
that, insert a line
\begin{quotation}
\texttt{execute ..texmf/amiweb2c/s/user-startup.entry}
\end{quotation}
in the file \texttt{S:user-startup} where you must replace the \texttt{..}
with the omitted part of the absolute path. The \texttt{rxset...}
lines in \texttt{user-startup} are used to set necessary preferences
for the \TeX{}-server (see below). To process these lines correctly
you need to preface the \texttt{execute} line given above with the
line \texttt{rexxmast}, starting the Rexx server during startup. Also
the lines containing \texttt{PSFONTS:} can be commented out, if you
do not use PostScript fonts. It is not necessary, but I found it helpful
to add the line
\begin{quotation}
\texttt{assign TEXMF: ..texmf}
\end{quotation}
where again the \texttt{..} must be replaced by the full path. This
gives a quick way to \texttt{cd} into the central \texttt{../texmf}
directory.

Finally, in \texttt{..texmf/amiweb2c} there are two subdirectories,
namely \texttt{s} and \texttt{rexx}. Copy all files in \texttt{s}
to \texttt{S:} (except \texttt{user-startup.-entry}) and all files
in \texttt{rexx} to \texttt{REXX:} (By default \texttt{S:} and \texttt{REXX:}
point to the same directory.). After these steps reboot your Amiga.

After rebooting, \texttt{cd} into \texttt{..texmf} and start the script
\texttt{mktexlsr}. This creates the file \texttt{ls-R} which acts
as a lookup table for the \TeX{} system. Without it \TeX{} complains
a lot about files it can't find. There is a zoo of environment variables
to take care of that, found here
\begin{quotation}
\texttt{http://kirste.userpage.fu-berlin.de/chemnet/use/info/}

\texttt{kpathsea/kpathsea\_5.html}
\end{quotation}
If you want to set these manually, be my guest. This script must always
be started in \texttt{../texmf}. Then issue \texttt{cd} w\texttt{eb2c}
and make the file \texttt{texsys.aux} writable by
\begin{quotation}
\texttt{protect texsys.aux +w}
\end{quotation}
Now to install \TeX , issue
\begin{quotation}
\texttt{tex -{}-ini -{}-fmt=tex plain}
\end{quotation}
\TeX{} will start and the CLI prompt will change to the \TeX{} prompt.
(Without having run the script \texttt{mktexlsr} before this step
\TeX{} will complain that it cannot find the file \texttt{plain}.)
At this prompt enter the optional lines
\begin{quotation}
\texttt{\textbackslash input hyphen.cfg}
\end{quotation}
or else just
\begin{quotation}
\texttt{\textbackslash dump}
\end{quotation}
This runs the initex process for the plain \TeX{} format and will return
to the CLI prompt. Afterwards issue
\begin{quotation}
\texttt{mf -{}-ini -{}-base=mf plain}
\end{quotation}
so the initiation process for \MF{} will start. At the \MF{} prompt,
enter the lines
\begin{quotation}
\texttt{input modes}

\texttt{dump}
\end{quotation}
and \MF{} will run its initiation process and return to the CLI prompt.
The last initiation process is that for \MP{} started with the command
\begin{quotation}
\texttt{mpost -{}-ini -{}-mem=mpost plain}
\end{quotation}
At the \MP{} prompt enter the line
\begin{quotation}
\texttt{dump}
\end{quotation}
Afterwards issue \texttt{cd /} and run the script \texttt{mktexlsr}.
You now have a working \TeX -system.

To install \LaTeX , issue\texttt{ }in\texttt{ ../web2c} the command
\begin{quotation}
\texttt{tex -{}-ini -{}-fmt=latex latex.ltx}
\end{quotation}
running the initex process for the \LaTeX{} system. Finally execute
\texttt{mktexlsr} again in \texttt{..texmf}. You can check the success
of the initex process for \LaTeX{} by
\begin{quotation}
\texttt{latex ltxcheck}
\end{quotation}
You can now compile a \LaTeX{} document \texttt{filename.tex} in your
current directory by
\begin{quotation}
\texttt{latex filename}
\end{quotation}
Note that if \LaTeX{} finds the .mf-file of a font but not the corresponding
tfm-file, it will call \MF{} automatically via CallMF2. However
this needs memory to keep both \LaTeX{} and \MF{} running at the same
time. For me worked 2~MB Chip RAM and 8~MB Fast RAM. Lower values
may work, but I did not test this. The previewer ShowDVI does not
seem to have this problem. This concludes the installation of the
\LaTeX{} system.

\subsubsection{A note on other \protect\TeX{} systems}

The file \texttt{README.amiweb2c} in \texttt{../texmf/doc/amiga},
which informs much (but not all) of the preceding section, details
the initex processes for further \TeX{} systems. These are the $\varepsilon$-\TeX ,
pdf\TeX{} and omega systems. To install these, additional files are
needed.

\paragraph{$\boldsymbol{\varepsilon}$-\protect\TeX}

The installation of $\varepsilon$-TeX is not really necessary since
$\varepsilon$-\TeX{} is of version 3-14159-2.0 from 2001/06/01 same
as the \LaTeXe{} system which incorporates all feature of $\varepsilon$-\TeX{}
so $\varepsilon$-\TeX{} muyo!\footnote{Wait! Where did that giant hammer come from?}
To install the $\varepsilon$-\TeX{} system you need the file
\begin{quotation}
\texttt{http://ftp.math.utah.edu/pub/tex/historic/systems/web2c/}

\texttt{etex/etexlib-2.1.tar.gz}
\end{quotation}
which gets untar-ed in \texttt{...Amiweb2c-2.1}. After a run of \texttt{mktexlsr}
\texttt{cd} to \texttt{...web2c} and issue the commands
\begin{quotation}
\texttt{etex -{}-ini -{}-efmt=etex {*}etex.src}

\texttt{\textbackslash input hyphen.cfg (optional)}

\texttt{dump}

\texttt{etex -{}-ini -{}-efmt=tex plain}

\texttt{\textbackslash input hyphen.cfg (optional)}

\texttt{dump}
\end{quotation}
I issued a \texttt{mktexlsr} at this point. Not sure if it makes any
difference but it surely can't hurt. To run the initiation process
for $\varepsilon$-\LaTeX{} issue the commands
\begin{quotation}
\texttt{etex -{}-ini -{}-efmt=elatex {*}latex.ltx}

\texttt{etex -{}-ini -{}-progname=elatex latex.ltx}
\end{quotation}
so the initiation processes for $\varepsilon$-\TeX{} and its \LaTeX{}
variant run without problems. Calling these programs is done by \texttt{etex}
or \texttt{elatex} on the appropriate .tex-file.

\paragraph{pdf\TeX{}}

In order to install pdf\TeX{} get the file
\begin{quotation}
\texttt{http://ftp.math.utah.edu/pub/tex/historic/systems/web2c/}

\texttt{web2c-7.2/pdftexlib-0.12h.tar.gz}
\end{quotation}
and extract it in \texttt{../amiweb2c-2.1/}. Then from \texttt{../texmf/web2c}
issue the commands
\begin{quotation}
\texttt{pdftex -{}-ini -{}-fmt=pdftex plain.tex}

\texttt{\textbackslash input hyphen.cfg (optional)}

\texttt{dump}
\end{quotation}
and to initiate the pdf\LaTeX{} system
\begin{quotation}
\texttt{pdftex -{}-ini -{}-fmt=pdflatex latex.ltx}
\end{quotation}
Calling these programs is done by \texttt{pdftex} or\texttt{ pdflatex}
on the appropriate .tex-file. For a manual see
\begin{quotation}
\texttt{https://tex.loria.fr/moteurs/pdftex0.12-manual.pdf}
\end{quotation}
There is also a file \texttt{pdftexlib-0.14h.tar.gz} but I chose the
file above as it corresponds to the version of the pdf\TeX{} binary.
Note that installing the 0.14h library does not update the pdf\TeX{}
binary. If you want to do that you need to install from web2c source.
I have no idea how to do that.

\paragraph{omega}

For the omega system, a 16~bit, Unicode based \TeX{}-system there
is the file
\begin{quotation}
\texttt{http://ftp.math.utah.edu/pub/tex/historic/systems/web2c/}

\texttt{omega/omega-lib-1.5.tar.gz}
\end{quotation}
which gets untar-ed in \texttt{../Amiweb2c-2.1}. After the customary
\texttt{mktexlsr} the ini process is started in \texttt{../web2c}
by
\begin{quotation}
\texttt{omega -{}-ini -{}-progname=lambda lambda.tex}
\end{quotation}
after which a further 8~MB of disk space are taken up. This gets
run on a \texttt{test.tex} file as
\begin{quotation}
\texttt{lambda test.tex}
\end{quotation}
I do not use the omega system which has been abandoned anyway so this
is just for completeness sake.

\subsection{Configuration of ShowDVI\label{subsec:Configuration-of-ShowDVI}}

To view the .dvi-file \texttt{filename.dvi}, produced by the compilation
of your \TeX{} document, you need the command
\begin{quotation}
\texttt{showdvi filename}
\end{quotation}
For standard resolution of 100~dpi this should produce results. For
full functionality, however, some tweaks need to be made in the configuration
of ShowDVI:

The configuration file \texttt{ShowDVI.config} located in \texttt{..texmf/pastex/config}
is set to run ShowDVI on its own screen in the NTSC format. If, like
me, you are running a PAL monitor the line
\begin{quotation}
\texttt{screen-mode ntsc}
\end{quotation}
must be changed to
\begin{quotation}
\texttt{screen-mode pal}
\end{quotation}
ShowDVI in the installed configuration starts on its own screen. If
you want the program to run on the Workbench screen, the line
\begin{quotation}
\texttt{use-own-screen no}
\end{quotation}
must be changed to
\begin{quotation}
\texttt{use-own-screen yes}
\end{quotation}
The disadvantage of this is, you loose the automatic switching to
the previewer when calling the \LaTeX{} server.

The fonts for LA\TeX{} are defined via .mf-files which \MF{} uses
to produce the .tfm-files for typesetting and the .pk-files which
ShowDVI uses for graphical representation. The .mf-files are found
in directories of the form \texttt{..texmf/fonts/source/supplier }where
\texttt{mode} is a printer specific mode used by \MF{} detailed in
\texttt{modes.mf}. The \texttt{supplier} part refers to subdirectories
in \texttt{..texmf/fonts/source} as for example \texttt{public/cm}
or \texttt{jknappen/ec}.\texttt{ }

The way ShowDVI finds the .pk-files is defined in \texttt{ShowDVI.fnt}
located in \texttt{..texmf/pastex/config}. The main part consists
of lines of the form
\begin{quotation}
\texttt{basepkdir res res /mode}

\texttt{basepkdir res res \TeX :..fonts/pk/mode/supplier1}

\texttt{basepkdir res res \TeX :..fonts/pk/mode/supplier2}

\texttt{...}
\end{quotation}
For example one of the ``suppliers `` is ``misc'' so to use the
fonts in that subdirectory you need for the mode \texttt{amiga} below
the line
\begin{quotation}
\texttt{basepkdir 100 100 /amiga }
\end{quotation}
to add the line
\begin{quotation}
\texttt{basepkdir 100 100 \TeX :..fonts/pk/amiga/misc}
\end{quotation}
and likewise for all other modes.

An edit is necessary for the existing resolution 120~dpi which uses
the mode \texttt{OneTwoZero}. The lines below the line
\begin{quotation}
\texttt{basepkdir 120 120 /OneTwoZero}
\end{quotation}
are of the form
\begin{quotation}
\texttt{basepkdir 120 120 \TeX :..fonts/pk/amiga/supplier}
\end{quotation}
but need to be changed for each supplier to
\begin{quotation}
\texttt{basepkdir 120 120 \TeX :..fonts/pk/OneTwoZero/supplier}
\end{quotation}
as CallMF2 for this resolution is called with the mode \texttt{OneTwoZero}
and thus stores the .pk-files in the subdirectory \texttt{../texmf/fonts/pk}/\texttt{OneTwoZero},
so in the original version of \texttt{ShowDVI.fnt} ShowDVI would search
in the subdirectory \texttt{../texmf/fonts/pk}/\texttt{amiga} and
not find the files.

\subsubsection{AMS fonts}

The AMS fonts also contain Cyrillic fonts which are stored in the
subdirectory \texttt{..ams/cyrillic} in \texttt{..texmf/fonts/source}.
So if you need these fonts, add the lines
\begin{quotation}
\texttt{basepkdir res res \TeX :../fonts/pk/mode/ams/cyrillic}
\end{quotation}
for the respective resolutions/modes in \texttt{ShowDVI.fnt}.

If you want to use AMS fonts, there is a file
\begin{quotation}
\texttt{..texmf/doc/fonts/amsfonts/amsfndoc.tex}
\end{quotation}
which can be \TeX -ed in that directory with the CLI command \texttt{tex~amsfndoc.tex}.
where the .tfm-files are part of the distribution. However as ShowDVI
generates the .pk-files for \emph{all} AMS fonts, viewing the .dvi-file
can take a bit of time.

\section{Installation of the \protect\TeX{} server}

The Amiweb2c distribution comes with a set of scripts located in\texttt{
\TeX :rexx} which enables you to call \LaTeX{} from a text editor with
the push of a key. There are scripts for Cygnus Editor (CED) with
the ending .ced and for MicroEmacs (memacs) ending on .mg. This guide
only details the use of these scripts for CED.

Independent of what editor you use, \texttt{InitTex}, copied during
the installation to\texttt{ S:}, needs a bit of editing: comment out
the lines
\begin{quotation}
\texttt{run >NIL: SpecialHost}

\texttt{WaitForPort special\_dvi}
\end{quotation}
by putting a semicolon at the beginning of the lines. The reason is
that \texttt{SpecialHost} needs the file \texttt{muimaster.library}
to work. But even with MUI installed I could not get \texttt{SpecialHost}
to work. Furthermore the \LaTeX{} server calls the Rexx script \texttt{namestruc}
located in \texttt{\TeX :rexx}. But the server script expects this
routine in \texttt{REXX:} so issue the command
\begin{quotation}
\texttt{copy \TeX :rexx/namestruc REXX:}
\end{quotation}
The \TeX -server scripts for CED need not be copied to \texttt{REXX:},
but are called from where they reside. To install the \TeX -server
scripts in CED, use the menu entry ``Install DOS/ARexx command''
in the ``Special'' menu, enter the number of the function key where
you want to install the command and then enter the command. You need
to use the menu entry ``Save DOS/ARexx commands'' to make this permanent.

The scripts thus to install in CED are
\begin{quotation}
\texttt{\TeX :rexx/InitTex}

\texttt{\TeX :rexx/Start\_\TeX .ced}

\texttt{\TeX :rexx/Quit\_Tex}
\end{quotation}
I installed the above three scripts on F1,F3 and F10 in that order.
This choice of function keys is of course just one possibility.

The script \texttt{InitTex} starts the \TeX -server and ShowDVI on
a different screen, but does not call \TeX{} to compile your document.
To compile your active document, run \texttt{Start\_\TeX .ced}. If
you use \texttt{Start\_\TeX .ced} and the server is not running yet,
\texttt{Start\_\TeX .ced} will automatically start the server.

You can install \texttt{Start\_\TeX .ced} with the option ``\texttt{?}'',
so that \texttt{Start\_\TeX .ced} \texttt{?} will always ask for the
format to use. Standard would be \texttt{plain} or \texttt{latex}.
If you set the environment variable \texttt{ASKFORMAT} to \texttt{1}
then you will always be asked which format to use. You can call \texttt{Start\_\TeX .ced}
with a definite format by installing the command \texttt{Start\_\TeX .ced
\&format} where \texttt{format} is the format in question. Regardless
of the method, the format will be stored in the environment variable
\texttt{TEXFORMAT} which is updated whenever you use a different format.
If you add the line
\begin{quotation}
\texttt{setenv TEXFORMAT format}
\end{quotation}
to your user-startup file, the \TeX -server and do not use an argument
for \texttt{Start\_\TeX .ced} the \TeX -server will be always be called
with the format \texttt{format}.

Calling \texttt{Quit\_TeX} then stops the server and closes ShowDVI.
You need to stop the server in order to stop ShowDVI manually.

As a final tweak: ShowDVI is configured to switch to CED by pressing
the F5 key. There is a counterpart \texttt{showdvitofront} in \texttt{\TeX :rexx}
which similarly switches to the ShowDVI screen. Installing \texttt{showdvitofront}
on the F5 key in CED in the same way as detailed above gives a nice
way of toggling between the editor and the previewer.

\subsection{Wishlist}

The \TeX -server so far accepts only the commands \texttt{compile}
for starting \LaTeX{} and \texttt{quit} for, well, you've guessed it.
It does not automatically call \LaTeX{} again to correct for unresolved
references nor does it support programs like bibtex, makeindex or
dvips. It would be possible to take the subbranch of the script executing
the compile order as a template to expand the capabilities of the
\TeX -server, but as these scripts are themselves derived from web2c
programs it would be less messy if the original web2c program CallMF2
is extended. So if any \TeX -guru out there fancies some nights of
tinkering...

\section{Fonts and all that}

Actually this section is not about ``and all that''. It is not about
what fonts actually are, but what is most memorable about them\footnote{``1066 and all that'' by Sellar and Yeatman. When working out the
test questions for each chapter do not attempt to write on both sides
of the paper at the same time.}... What is most memorable about fonts is that there two kinds: Bitmap
fonts using \MF{} to generate .pk-files giving the pixelated representation
of the font and outline fonts defined so that they can be rendered
in terms of curves ``on the fly'' to give a graphical representation
using the programming language PostScript. We start with the former
and then turn to the latter.

\subsection{Installation of new fonts}

To install new fonts based on \MF{}, you need the defining .mf-files.
Store these in a subdirectory to \texttt{..texmf/fonts/source}, say
\texttt{newfontsdir} and run \texttt{mktexlsr} from \texttt{..texmf/}
to make these files findable to \MF{}. If you compile your document
with \LaTeX , CallMF2 will automatically generate the .tfm-files \LaTeX{}
needs to typeset the new fonts. For PostScript fonts this process
is more involved, and will only be briefly (read: to the extent of
my meager knowledge) be touched upon below.

Like \LaTeX , ShowDVI will automatically use CallMF2 to generate the
pk files, but first you need to tell ShowDVI where to find the .pk-files.
To do this, you need to add for each resolution or mode in \texttt{ShowDVI.fnt}
the line
\begin{quotation}
\texttt{basepkdir \TeX :../fonts/pk/mode/newfontsdir}
\end{quotation}
where \texttt{mode} is the respective mode in question found in \texttt{modes.mf}.
To use the new font in \LaTeX , include the line
\begin{quotation}
\texttt{\textbackslash newfont\{\textbackslash fontcommand\}\{mffilename
at xxxpt\}}
\end{quotation}
where \texttt{xxx} is the size of the font in pt (1/72.27 inch) before
the part in your document where you actually use the font. Alternatively
you can use
\begin{quotation}
\texttt{\textbackslash newfont\{\textbackslash fontcommand\}\{mffilename
scaled 1000\}}
\end{quotation}
The factor 1000 means a scaling factor of 1. So if \texttt{mffilename}
encodes a font of 10~pt size \texttt{..scaled 1200} would tell \TeX{}
to use it magnified at 12~pt size.

Replace \texttt{fontcommand} with any label you want. To switch to
the new font, use the command \texttt{\textbackslash fontcommand}.
If you don't want to use the font for the remainder of your document,
enclose \texttt{\textbackslash fontcommand} and the text it applies
to in curly brackets. If you want to switch back to the standard computer
modem font, use
\begin{quotation}
\texttt{\textbackslash fontfamily\{cmr\}\textbackslash selectfont}
\end{quotation}
Alternatively you can enclose the \texttt{\textbackslash fontcommand}
in curly brackets
\begin{quotation}
\texttt{\{\textbackslash fontcommand text...\}}
\end{quotation}
If you want to save a bit of time by calling \MF{} only once, forgo
the calling of \texttt{mktexlsr} and generate the .tfm-files and the
pk-files in one go by \texttt{cd}'ing into \texttt{..texmf/fonts/source/newfontsdir}
and issuing the commands
\begin{quotation}
\texttt{mf ``\textbackslash mode:=amiga;'' ``mag:=1;'' input
mffilename}

\texttt{gftopk mffilename.100gf mffilename.pk}
\end{quotation}
where \texttt{mffilename} is the name of the .mf-file in question.
Then move the generated .tfm-file to\textbf{ }
\begin{quotation}
\texttt{..texmf/fonts/tfm/newfontsdir}
\end{quotation}
and the .pk-file to
\begin{quotation}
\texttt{..texmf/fonts/pk/amiga/newfontsdir/dpi100}
\end{quotation}
It is advisable to run \texttt{mktexlsr} from \texttt{..texmf/} at
this point. Furthermore, you need still need to edit \texttt{ShowDVI.fnt}
as outlined above. This gives you the fonts for the standard resolution
of 100~dpi in one go. For other resolutions ShowDVI needs to call
\MF{} again, though. This method is only workable for small sets
of fonts. For whole font families it is advisable to use the automatic
generation process.

For other printers/resolutions the corresponding definition can be
found in \texttt{modes.mf} (in \texttt{..texmf/metafonts}). If you
run \MF{} in another mode with resolution \texttt{xxx~dpi} or with
another magnification, you get a file \texttt{ending on .xxxgf}, the
pk-file of which needs to be stored in
\begin{quotation}
\texttt{..texmf/fonts/pk/mode/newfontsdir/dpixxx}
\end{quotation}
If \MF{} cannot find the .mf-file in question and you want \MF{}
to stop asking, enter ``\texttt{null}'', and \MF{} will use the
default file \texttt{null.mf}.

\subsection{A note on ec fonts}

The Amiweb2c distribution includes the .mf-files of the ec font family
in the T1 encoding. You can set your document in this font family
by using
\begin{quotation}
\texttt{\textbackslash usepackage{[}T1{]}\{fontenc\}}
\end{quotation}
in the preamble. You need to configure \texttt{ShowDVI.fnt} for the
ec fonts, as shown in section~\ref{subsec:Configuration-of-ShowDVI}
where the subpath to the .mf-files is
\begin{quotation}
\texttt{..texmf/fonts/source/jknappen/ec}
\end{quotation}
The \MF{} run on an ec-font takes about 4 minutes while a run on
a cm font takes 1 minute 30 seconds, so it is advisable to download
the .tfm-files of the ec fonts from CTAN and copy them to \texttt{..fonts/tfm/jknappen/ec}
so that only the generation of the -pk-files is necessary.

A hitch exists for the small ec fonts like ecrm0500 as CallMF2, called
by \LaTeX , runs \MF{} in \texttt{nullmode} with a 101~dpi resolution.
For small fonts this mode throws up the error message ``strange path
(turning number zero)``, seemingly due to rounding errors. A list,
not claiming to be complete, of problematic .mf-files for the ec fonts
is:
\begin{verbatim}
eccc0500-0800,ecoc0500,ecsc0500-0800,ecsi0500-0800,
ecsl0500-0900,ecso0500-0700, ectc0500-0700, ecs1200,
ecss0500-2488, ectt0500, ectt0900, ecti 0500, ecti0700, ecbx0500
\end{verbatim}
The trick is to generate the .tfm- and .pk\-files for such offending
fonts by the manual method described in the previous subsection with
the mode \texttt{ljfour} corresponding to 600~dpi and store the .tfm-files
in
\begin{quotation}
\texttt{..texmf/fonts/tfm/jknappen/ec/}
\end{quotation}
and the the .pk-files in
\begin{quotation}
\texttt{..texmf/fonts/pk/ljfour/jknappen/ec/dpi600/}
\end{quotation}
If you are using the small ec fonts for the first time, it is advisable
to run ShowDVI from the command line and not from the server as in
the former case you get detailed error messages about which font is
causing such problem. ShowDVI is not configured ``out of the box''
for the use of ec fonts, so need to modify its config file as outlined
in the previous section.

\subsection{PostScript fonts}

The following is a few notes based on gleanings from the wild world
of PostScript fonts for \LaTeX{}. It does not claim to be authoritative
or in any way complete. Nor should the same functionality as of a
modern \TeX{} system be expected. After all, pdf\TeX{} for Amiweb2c
is in version 0.12h. I will not even begin to discuss OpenType or
TrueType fonts.

\subsubsection{Crating PostScript files with dvips}

To convert a .dvi-file \texttt{test.dvi} produced by TeX into a PostScript
documents is done by the program dvips by calling
\begin{quotation}
\texttt{dvips test}
\end{quotation}
producing the PostScript file \texttt{test.ps}. Dvips can be made
to tailor its output to a specific printer by calling it with the
option \texttt{-Pxxx}, where \texttt{xxx} is part of the name in files
of the type \texttt{config.xxx}, usually located in \texttt{..texmf/dvips/config}.
The \texttt{xxx} also correspond to modes found in \texttt{modes.mf}
(in \texttt{..texmf/metafonts/misc}) which also gives the physical
printer model these modes refer to. For Amiweb2c the following config
files are available:
\begin{quotation}
\begin{tabular}{|c|c|c|}
\hline
\texttt{xxx} & \texttt{resolution / dpi} & \texttt{printer model}\tabularnewline
\hline
\hline
\texttt{canonex} & \texttt{600} & \texttt{LaserWriter Pro 630}\tabularnewline
\hline
\texttt{cx} & \texttt{300} & \texttt{Canon CX}\tabularnewline
\hline
\texttt{deskjet} & \texttt{300} & \texttt{HP DeskJet 500}\tabularnewline
\hline
\texttt{epson} & \texttt{240x216} & \texttt{Epson MX/FX 9-pin}\tabularnewline
\hline
\texttt{ibmvga} & \texttt{110} & \texttt{IBM VGA monitor}\tabularnewline
\hline
\texttt{ljfour} & \texttt{600} & \texttt{HP LaserJet 4}\tabularnewline
\hline
\texttt{qms} & \texttt{300} & \texttt{QMS (Xerox engine)}\tabularnewline
\hline
\texttt{toshiba} & \texttt{180} & \texttt{Toshiba 13XX}\tabularnewline
\hline
\end{tabular}
\end{quotation}
The mode \texttt{config.deskjet} is the default one.

\subsubsection{Dvips with PostScript fonts}

Dvips works with CallMF2 to produce .pk-files on the fly. However
dvips also works\footnote{And I use the word works in a very fuzzy sense.}
with native PostScript fonts. In the \TeX{} world a font is defined
via two files: the .tfm-file encoding the way a font is typeset and
a .mf-file encoding in lines and curves how a font actually looks.
Their counterparts the PostScript world are the .afm-file (Adobe Font
Metric) and the .pfa-file (PostScript Font Adobe) in human readable
format or in packed, binary form as .pfb-files.

For the standard Computer Modern (cm) fonts there is a PostScript
version known as bakoma fonts which can be found in the bakoma package
on CTAN. To install the bakoma fonts, copy the .pfb-files to the sub-directories
\texttt{cm/ and ams/ in} \texttt{..fonts/type1/bakoma/}. Then copy
the files \texttt{cmfonts.map}, \texttt{amsfonts.map} to \texttt{..texmf/dvips/config}
and edit the file \texttt{config.ps} in \texttt{..texmf/dvips} to
include the lines
\begin{quotation}
\texttt{p +cmfonts.map}

\texttt{p +amsfonts.map}
\end{quotation}
A run of \texttt{mktexlsr} is to follow. Then using \texttt{dvips
<filename>} on a .dvi-file \texttt{<filename.dvi>} containing cm fonts
will produce a .ps-file \texttt{<filename.ps>} containing the PostScript
outline versions of cm fonts. Dvips ``downloads'' that is incorporates
the .pfb files into the PostScript file. If you don't want that for
reason of file size you need to edit the corresponding map files and
remove the ``<'' in front of the token xxx.pfb where xxx is the
name of the -pfb-file in question. A test is given by \texttt{cd}-ing
into \texttt{..texmf/doc/fonts/amsfonts} and running \texttt{dvips}
on \texttt{amsfndoc.dvi}.

Running dvips on a .dvi-file in OT1 encoding with the bakoma .pfb-files
present but not with the map files of the bakoma package installed,
it throws up the error message that it cannot find the file \texttt{f7b6d320.enc}.
This file is referred to in the default map file \texttt{psfonts.map}.
You can download this .enc-file (and other .enc files also referred
to in \texttt{psfonts.map} for cm fonts) from
\begin{quote}
\texttt{http://chocolatshalba.ch/files/texlive/texmf/fonts/}

\texttt{enc/dvips/tetex/}
\end{quote}
all of which which gets copied into \texttt{.../dvips/base}. Then
dvips runs cleanly.

If you want to use the ec fonts in their Postscript version, get the
file \texttt{cm-super.zip} from CTAN. Note that they eat up about
60MB of disk space. Copy the .pfb-files to \texttt{.../texmf/fonts/type1/public/cm-super}
and the .enc-files to \texttt{../dvips/base}. Dvips comes with the
default map \texttt{psfonts.map} which already contains the necessary
mappings for the cm-super fonts. A run of \texttt{mktexlsr} is to
follow.

For pdf\TeX{} copy the .enc-files and .map-files from \texttt{cm-super.zip}
to\\ \texttt{..texmf/pdftex/base} and add to \texttt{pdftex.cfg}
in the same directory the line
\begin{quotation}
\texttt{m +cm-super-t1.map}
\end{quotation}
and similar for all the other .map-files.

\subsubsection{Ghostscript}

ShowDVI in its Amiweb2c incarnation can only preview .dvi-files containing
bitmap-based fonts but not .dvi-files containing PostScript fonts
which are based on outlines. In the same vain ShowDVI does not know
how to handle .ps-files or .pdf-files created by dvips or pdflatex.
However there is a previewer for .ps- and .pdf-files called Ghostscript.
To install Ghostscript, download from \texttt{aminet.net} the files
\begin{quotation}
\texttt{GS510-fonts-st.lha}

\texttt{GS510-fonts-ot.lha}

\texttt{GS510-data.lha}

\texttt{GS510-040fpu.lha}

\texttt{GS510Fontmap.lha}
\end{quotation}
To automatize the install process also download \texttt{GS510-Install.lha}.
Extract this file and copy the above .lha-files into the created directory
\texttt{Ghost\_Install}. Then get \texttt{Installer\_43.3.lha} from
\texttt{aminet.net}, extract it and copy the file \texttt{Installer}
to \texttt{C:}. Then run one of the install-scripts in \texttt{Install\_Ghost}.
To install Ghostscript in \texttt{../Amiweb2c-2.1/ghostscript} as
in \texttt{user-startup.entry} create the subdirectory \texttt{ghostscript}
in \texttt{../Amiweb2c-2.1} either by hand or during the installation
process. Note that this installation adds to \texttt{user-startup}
a section starting with \texttt{;Begin Ghostscript} which has then
entry \texttt{assign PSFONTS:Ghostscript:fonts} without the qualifier
``\texttt{add}'', undoing all the settings to \texttt{PSFONTS:}
in \texttt{user-startup.entry}. So it is advisable to uncomment this
line. AFAICT Ghostscript 5.10 ignores that assignment anyway.

Invoke Ghostscript on a .ps-file in the directory of that .ps-file
by \texttt{gs <psfile>}. The resolution of the display window of can
be changed by the command line option \texttt{\textendash r<dpi>}.
I have found that \texttt{<dpi>=250} is the maximum value, for \texttt{<dpi>=300}
Ghostscript crashes. This might be a problem of insufficient memory.

Ghostscript has two ways of finding the .pfb-files (or .pfa-files,
the ASCII variant of the binary .pfb-files) for a font: One is the
file \texttt{Fontmap} in \texttt{Ghostscript:} which has lines of
the form
\begin{quotation}
\texttt{/fontname (pfbfilename.pfb);}
\end{quotation}
where \texttt{fontname} is the full font name as given in the .pfb-file
in the line beginning with /Fontname and \texttt{pfbfilename} is,
well, you've guessed it. If only \texttt{pfbfilename} is given, Ghostscript
looks for it in \texttt{Ghostscript:fonts}. But you can also give
the full path like \texttt{TYPE1DIR:supplier/typeface/pfbfilename.pfb}.
Another way is to set the environment variable \texttt{GS\_FONTPATH}
by
\begin{quotation}
\texttt{setenv GS\_FONTPATH Path}
\end{quotation}
The problem is that AFAICT Ghostscript 5.10 does not search in multiple
paths of the form \texttt{Path1,Path2...} nor does it accept wild
cards like \texttt{\#?} or \texttt{{*}} so for Ghostscript all .pfb-files
would be needed to be stored in one directory if you want to use the
environment variable.

On a final note, avoid running \texttt{dvips} and \texttt{gs} from
the same CLI window. There seem to be some incongruities which causes
dvips to crash or stall.

\subsubsection{Ghostscript and PostScript cm/ec fonts}

Running dvips on a .dvi-file containing cm fonts in the OT1 encoding
using the default psfonts.map gives a clean run. But when viewing
the resulting .ps-file in Ghostscript 5.10 there are missing glyphs.
Viewing that .ps-file on a modern modern PC with TeXLive installed
gives the same result. An even bigger but\footnote{I can't lie, I had to.}
is that using the maps from bakoma package, the .ps-file is displayed
correctly in Ghostscript but has missing glyphs and weird font substitution
when viewing on a modern PC.

For the ec fonts in the cm-super form dvips runs cleanly, but Ghostscript
throws up the maddeningly unhelpful error message ``/undefined in
T1Encoding''. Viewing the same .ps-file on a modern PC has missing
glyphs.

\subsubsection{Ghostscript and pdf\TeX{}}

Running pdflatex on .tex files with bakoma or cm-super PostScript
fonts produces a .pdf-file which is is displayed without errors on
a modern PC but Ghostscript throws up the maddeningly unhelpful error
message ``undefined in \yen''. For PostScript ec fonts from the
Latin Modern package pdflatex throws up ``unexpected end of file''.

\subsubsection{Ghostview and PostScript New Font Selection Scheme\label{subsec:psnfss}}

The PostScript New Font Selection System (psnfss) detailed in \texttt{psnfss.pdf}
in \texttt{..texmf/doc/latex/psnfss} works in Amiweb2c for all packages
like \texttt{avant, courier} etc. (see \texttt{psnfss.pdf} for a full
list) . Note that the font outlines for all packages in the psnfss
are not part of the distribution due to licensing. However, for the
fonts used in \texttt{psnfss} (see below) Ghostscript comes equipped
with its own version of the .pfb-files (the .gsf-files) and will call
them automatically. The .gsf versions are generally seen as lacking
in quality, but with the resolution on an old-school Amiga this is
not really an issue. Two exceptions are the Utopia fonts and the Charter
fonts which Ghostscript has on board in the form of .pfa-files. Alternatively
for the packages \texttt{charter} and \texttt{utopia} there are freely
available .pfb-files on CTAN. To install these, copy them into
\begin{quotation}
\texttt{.../texmf/fonts/type1/adobe/charter/}

\texttt{.../texmf/fonts/xxx/adobe/utopia}.
\end{quotation}
respectively. The map files \texttt{charter.map}, \texttt{utopia,map}
are already in \texttt{../dvips/psnfss}. Activate these map files
by adding the lines
\begin{quotation}
\texttt{p +psnfss/utopia.map}

\texttt{p +psnfss/charter.map}
\end{quotation}
to \texttt{..dvips/config.ps}. Dvips reads in map files according
to the file \texttt{config.ps}. See section \ref{subsec:psnfss}.
Another way is to specify the map on the command line with \texttt{-u}
option like
\begin{quotation}
\texttt{dvips -upsnfss/utopia.map test}
\end{quotation}
However displaying the resulting .ps-file in Ghostscript causes the
program to fail and throw up a lot of incomprehensible error messages.
According to the man page of dvips using this \texttt{-u} option means
that dvips uses the specified map file exclusively. It should be possible
to call dvips as
\begin{quotation}
\texttt{dvips -u +psnfss/utopia.map test}
\end{quotation}
so that \texttt{utopia.map} is used \emph{in addition} to \texttt{psfonts.map}.
But this causes dvips to complain that it cannot find the headerfile
\texttt{+psnfss/utopia.map}.

\subsubsection{General PostScript fonts}

The installation of any PostScript font can be done pretty much as
outlined in the two above examples. Most packages on CTAN for PostScript
fonts come with the relevant files which just need to be copied to
their appropriate locations and then run \texttt{mktexlsr}. The best
way is keep in accordance with the TDS (TeX Directory Structure) is
to copy the files of type \texttt{xxx} of a font designed by the ``supplier''
and with the ``typeface'' into \texttt{.../texmf/fonts/xxx/supplier/typeface}.

If you have only .afm- and .pfb-files, the process is more daunting
and I cannot claim to fully understand it. A starting point for DIY
PostScript font installation would be
\begin{quotation}
\texttt{https://www.tug.org/TUGboat/tb27-1/}

\texttt{tb86kroonenberg-fonts.pdf}
\end{quotation}
for details.

There is a package fontinst on CTAN which automatizes most of the
installation process of PostScript fonts (see:
\begin{quotation}
\texttt{http://texdoc.net/texmf-dist/doc/fonts/Type1fonts/}

\texttt{fontinstallationguide.pdf}
\end{quotation}
However this can be time consuming. The process of converting a single
afm-file to a .pl-file (the ASCII version of the binary .tfm-file)
and several .vpl-files the ASCII version of the binary .vf-files takes
about 15 minutes. So installing whole font families from scratch is
something of a project.

\subsubsection{Automatic font creation}

The Amiweb2c-2.1 distribution can create .tfm- and .pk-files form
\MF{} source files automatically. However PostScript fonts are outline
fonts and not bitmaps like .pk-fonts. So pk is pk and pfb is pfb and
never shall the twain meet. In principle CallMF2 contains a subsection
for the generation of .pk-files from .pfb-files using the program
\texttt{ps2pk}. Calling ShowDVi on a .dvi-file containing PostScript
fonts (or more to the point their .tfm-file) then effects a call on
\MF{} via CallMF2 which complains that is cannot find some .mf-file.

However \texttt{MakeTeXFont.rexx}, the heart of the automatic font
generation scripts for Amiweb2c looks for the fonts according to the
names given in the .dvi-file. These names depend on the encoding (OT1,T1...)
chosen in the \LaTeX{} file. But \texttt{MakeTeXFont.rexx} looks
for the corresponding .pfb-files according to that encoding scheme
determined by the final two symbols (number and letter) in the .tfm-filename
which which it was called. For the Utopia-Roman font in the T1 encoding
that filename is \texttt{putr8t}. But \texttt{MakeTexFont.,rexx} then
looks for that string in a single map file \texttt{ps2pk.map} which
isn't even the default map of dvips. The problem is that the naming
convention by Karl Berry has the names of the .pfb-files end on two
letters determining the encoding (8a for Adobe, 7t for OT1, 8t for
T1, see input98.pdf in the package fontinst for a partial list and
Karl Berry Filenames for fonts
\begin{quotation}
\texttt{https://www.tug.org/TUGboat/tb11-4/tb30berry.pdf}
\end{quotation}
for a full list. The naming scheme is a result of the restriction
on the length of filename on old operating systems. Note however that
modern packages come with filenames which break the maximum length
of filenames for AmigaOS. Here you are on your own. So to make a long
story short, \texttt{MakeTexFont.rexx} fails to find the .pfb-file
and proceeds to look for a corresponding .mf-file. Which fails. While
it would be possible to patch the script by hand, CallMF2 for Amiweb2c
is derived from web2c sources, which should be edited. Summoning some
TeX-genie at this point...

\subsection{Afterword}

After my adventure in PostScript land so far as it applies to the
Amiweb2c distribution on an Old-School Amiga, it is my considered
opinion that PostScript fonts should only be used with Amiweb2c in
connection with the psnfss. For this Ghostscript displays the files
correctly. For common cm/ec fonts it is best to stick to the classic
\MF{} world. If you want to use their PostScript versions nonetheless,
my advice is to use pdf\LaTeX{} and display the .pdf-file on a modern
PC with a modern \TeX{} installation.

\section{Conclusion}

This concludes the installation of the \LaTeX{} distribution Amiweb2c
on an emulated Amiga with Workbench 3.1. Happy \TeX -ing!

\appendix

\section{Keyboard}

The keyboard of the emulated Amiga and the modern PC keyboard are
not identical, so the mapping of the emulated Amiga keyboard to your
physical keyboard can be a bit ...opaque. Below is a list of keymappings
I found out --- some of them quite by accident --- to be helpful.
Note that they depend on my keyboard with German layout. The left
side of the equation sign is the PC keyboard and the right side is
the Amiga keyboard:
\begin{quotation}
\texttt{Einf = \#}

\texttt{Shift + Einf = \textasciicircum}

\texttt{\# = \textbackslash}

\texttt{Shift + \# = |}

\texttt{\textasciicircum{} = `}

\texttt{Shift + \textasciicircum{} = \textasciitilde}

\texttt{Pos 1 = {[}}

\texttt{Shift + Pos 1 = \{}

\texttt{Bild up = {]}}

\texttt{Shift + Bild up = \}}

\texttt{Bild down = Amiga key}
\end{quotation}
The key \texttt{Einf} corresponds to \texttt{Ins} and \texttt{Bild}
corresponds to \texttt{Pg} on an English keyboard.

The keymapping of the emulator has consequences for the navigation
of the cursor in CED:
\begin{quotation}
\texttt{Line up: Shift + Numpad 8}

\texttt{Line down: Shift + Numpad 2}

\texttt{Beginning of file: Ctrl (left) + Shift + Numpad 8}

\texttt{End of file: Ctrl (left) + Shift + Numpad 2}

\texttt{Character left: Shift + Numpad 4}

\texttt{Character right: Shift + Numpad 6}

\texttt{Word left: Ctrl (left) + Shift + Numpad 4}

\texttt{Word right: Ctrl (left) + Shift + Numpad 6}

\texttt{Beginning of line: Ctrl (left) + Shift + Numpad 7}

\texttt{End of line: Ctrl (left) + Shift + Numpad 1}

\texttt{12 lines up: Ctrl + Shift + Numpad 9}

\texttt{12 lines down: Ctrl + Shift + Numpad 3}
\end{quotation}

\section{Searching files}

Quite often during the installation process you will have to find
out where a particular file is located or whether it contains a particular
phrase. This can be achieved from the CLI by the \texttt{search} command:
\begin{quotation}
\texttt{search from pattern file all quiet}
\end{quotation}
The option \texttt{from} is the full directory path in which to search.
If the search is to be conducted from the currently active directory
the \texttt{from} part is just \texttt{``''} (not an empty string,
but double quotation marks). The option \texttt{pattern} is whatever
you are searching for. For example to search for files with the ending
mf, use the pattern \texttt{\#?.mf}. The options \texttt{file} means
that only file names are searched, without it the pattern is looked
for also inside the files. Which can come in handy but slows things
down. The option \texttt{all} means to search in all subdirectories
and the option \texttt{quiet} means to show only the files where pattern
is found, not to show all files being searched.

If the list of results is rather long and scrolls past too quickly
you can use w
\begin{quotation}
\texttt{search from pattern file all quiet > filename}
\end{quotation}
and the output will be redirected to the file \texttt{filename} for
you leisurely perusal at you convenience.
\end{document}