%% 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 } on a .dvi-file \texttt{} containing cm fonts will produce a .ps-file \texttt{} 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 }. The resolution of the display window of can be changed by the command line option \texttt{\textendash r}. I have found that \texttt{=250} is the maximum value, for \texttt{=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}