% % F637 TEX A % \documentstyle[apl]{article} % % \input{aplbibl} % % % APLBIBL % % aplbibl.tex % % Andreas Geyer-Schulz V1.0 May 1990 % % Purpose: collect bibliographic data which is distributed over % a text in a single file. % % ;APLbibentry ...... precedes a normal entry in a bibliography. % The entry MUST end with an empty line. % ;cite can be used as usual. % % ;APLbibentry;bibitem[Geyer]{geyers} Andreas Geyers, % 'Collecting Bibliographic Data' % Tech. Report 12, 1990 % % ;APLbibliography ... generates the bibliography % % generated by function APLBIBL in class TEX_DOCS. \chardef\other=12 \newwrite\biblio \immediate\openout\biblio=biblio \outer\def\APLbibentry{\par\medbreak\APLcopytoblankline} \def\APLcopytoblankline{\begingroup\APLsetupcopy\APLcopyans} \def\APLsetupcopy{\def\do##1{\catcode`##1=\other}\dospecials \catcode`\D=\other \obeylines} {\obeylines \gdef\APLcopyans#1 {\def\next{#1}% \ifx\next\empty\let\next=\endgroup% \else\immediate\write\biblio{\next} \let\next=\APLcopyans\fi\next}} \def\APLbibliography{\immediate\closeout\biblio \immediate\openin5=biblio \read5 to\APLtesteof \if\APLtesteof\par \relax \else\immediate\closein5 \begin{thebibliography}{99999} % % \input{biblio} % % % BIBLIO % % % end BIBLIO % \end{thebibliography}\fi} % This is the end of aplbibl.tex % % end APLBIBL % \topmargin=1cm \oddsidemargin=2cm \evensidemargin=2cm \addtolength{\oddsidemargin}{-1in} \addtolength{\evensidemargin}{-1in} \addtolength{\topmargin}{-1in} \headheight=3mm \headsep=7mm \footheight=0mm \topskip=0cm \textwidth=17cm \textheight=25cm \title{Class\ % APL2TEX \\ of Category \\% OOPS - System Browser } \author{\ }% \markboth{Class\ % APL2TEX \ of category\ % OOPS - System Browser }{Class\ % APL2TEX \ of category\ % OOPS - System Browser }\pagestyle{myheadings} \begin{document} \maketitle \tableofcontents % % \input{F634} % % % F634 % % F634 \section{Description of Class\ % APL2TEX } % % \input{F635} % % % F635 % % F635 {\parindent=0pt\parsep=0pt % \begin{flushleft}{\bf Description}\end{flushleft} CLASS{\protect\APLunderbar}DESCRIPTION: {\APLbr} APL2TEX implements the {\APLbr}basic functionality needed to typeset APL {\APLbr}documentation with \LaTeX. The basic functionality includes {\APLbr}\begin{enumerate} {\APLbr} \item printing a workspace as a \LaTeX\ {\APLbr}document, \item a processor for merging all {\APLbr}include files of a \LaTeX\ document into one large {\APLbr}file (convenient for e-mail \dots), \item {\APLbr}printing an array, {\APLbr} \item an array in boxed representation, {\APLbr} \item a function in canonical representation, {\APLbr} \item a function as displayed by {\APLbr}the del-editor, \item a function in {\APLbr}direct definition form, \item {\APLbr}an APL expression as typed in by the user (six spaces {\APLbr}indented), \item and one step of a dialogue (an user input {\APLbr}followed by the computer{\APLquote}s response). {\APLbr} \end{enumerate} {\APLbr} \par {\APLbr} {\APLbr} {\APLbr} The class APL2TEX can be easily converted {\APLbr}to APL workspace form and does not depend on the {\APLbr}object oriented system. APL2TEX is the version {\APLbr}for IBM{\APLquote}s APL2 interpreter under the CMS operating {\APLbr}system. \par {\APLbr} {\APLbr} You should always define a {\APLbr}temporary A-disk, because some of APL2TEX{ {\APLbr}\APLquote}s functions generate synthetic file identifiers and write {\APLbr} files on the A-disk without checking for existing {\APLbr}files. Files may be overwritten. {\APLbr} {\APLbr} \vspace{2mm} {\APLbr} {\APLbr}{\bf Requirements:} \LaTeX\ and the apl.sty style file. {\APLbr} \par {\APLbr} {\APLbr} {\bf Warning:} This is a {\APLbr}testversion. No responsibility for any {\APLbr} damage or any other failures is taken by the author. {\APLbr} Use on your own risk. {\APLbr} \par {\APLbr} {\APLbr} {\bf Bug Reports:} {\APLbr}Please report bugs to Andreas Geyer-Schulz {\APLbr} by sending a note to \newline {\APLbr} APLAG AT AWIWUW11.BITNET. {\APLbr} \par {\APLbr} {\APLbr} \vspace{2mm} {\APLbr} {\APLbr}{Vienna, March 1991} \hfill {Andreas Geyer-Schulz} \par {\APLbr} \vspace{2mm} {\APLbr} \begin{flushleft} {\APLbr} Andreas Geyer-Schulz \\ {\APLbr} Department of {\APLbr}Applied Computer Science \\ {\APLbr}Vienna University of Economics and Business Administration \\ {\APLbr} Augasse 2--6, A-1090 Vienna, AUSTRIA \\ {\APLbr} ANDREAS{\APLat}AWIWUW11.bitnet \par {\APLbr} \end{flushleft} {\APLbr} {\APLbr}\vspace{2mm} {\APLbr} {\APLbr} RESPONSIBILITIES: the basic \TeX\ {\APLbr}typesetting support. \par {\APLbr} ROLE: CONSULTANT {\APLbr}\par {\APLbr} {\APLbr} COLLABORATORS: \par {\APLbr} CONSULTANTS: None \par {\APLbr} CLIENTS: {\APLbr}TEX{\protect\APLunderbar}DOCS \par {\APLbr} \par} % % end F635 % \section{A Short Protocol of Class\ % APL2TEX } % % \input{F636} % % % F636 % % F636 {\parsep=0pt\parindent=0pt \par\vspace{2mm}\begin{flushleft}{\bf Protocol}{\em\ % Document }\end{flushleft}\begin{footnotesize}% \par\vspace{3pt}\begin{flushleft} Method{\bf\ % PRTEX{\protect\APLunderbar}WS }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}fileid{\APLgreater} {\APLleftarrow} {\APLbr}PRTEX{\protect\APLunderbar}WS {\APLless}author{\APLgreater} {\APLless}wsid{ {\APLbr}\APLgreater} {\APLstile} {\APLless}fileid{\APLgreater} { {\APLbr}\APLleftarrow} 0 PRTEX{\protect\APLunderbar}WS {\APLless}author{ {\APLbr}\APLgreater} {\APLless}wsid{\APLgreater} {\APLstile} { {\APLbr}\APLless}fileid{\APLgreater} {\APLleftarrow} 1 {\APLbr}PRTEX{\protect\APLunderbar}WS {\APLless}author{\APLgreater} {\APLless}wsid{ {\APLbr}\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% PRTEX{\protect\APLunderbar}WS typesets all objects in the {\APLbr}workspace. By default the functions and variables of {\APLbr}APL2TEX are not included in the workspace print {\APLbr}out. If you want to include the functions and {\APLbr}variables used in the print processing, specify a left {\APLbr}argument of 1. {\APLless}author{\APLgreater} and { {\APLbr}\APLless}wsid{\APLgreater} are text vectors. \end{minipage}\par \end{footnotesize} \par\vspace{2mm}\begin{flushleft}{\bf Protocol}{\em\ % Internal }\end{flushleft}\begin{footnotesize}% \par\vspace{3pt}\begin{flushleft} Method{\bf\ % {\protect\APLdelta}{\protect\APLdelta}FV }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}return code{\APLgreater} {\APLleftarrow} { {\APLbr}\APLless}vector of text lines{\APLgreater} {\APLbr}{\protect\APLdelta}{\protect\APLdelta}FV {\APLless}file identifier{\APLgreater} { {\APLbr}\APLstile} {\APLless}vector of text lines{\APLgreater} { {\APLbr}\APLleftarrow} {\protect\APLdelta}{\protect\APLdelta}FV {\APLless}file {\APLbr}identifier{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% {\protect\APLdelta}{\protect\APLdelta}FV writes a vector {\APLbr}of text lines to a file with variable {\APLbr}record length or reads a file. \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % APLFNSLINE }\end{flushleft}% \begin{minipage}[t]{8.25cm}% APLFNSLINE {\APLless}text line{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% APLFNSLINE converts one line of APL code to a sequence of {\APLbr} \LaTeX\ macros. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % APLLINE }\end{flushleft}% \begin{minipage}[t]{8.25cm}% APLLINE {\APLless}text line{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% APLLINE typesets one line of text as a sequence of fixed {\APLbr} spaced \LaTeX\ macros. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % APLTOTEX }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}vector of lines{\APLgreater} {\APLleftarrow} {\APLbr}APLTOTEX {\APLless}line of text{\APLgreater} {\APLstile} { {\APLbr}\APLless}vector of lines{\APLgreater} {\APLleftarrow} {\APLquote}F{ {\APLbr}\APLquote} APLTOTEX {\APLless}line of text{\APLgreater} { {\APLbr}\APLstile} {\APLless}vector of lines{\APLgreater} {\APLleftarrow} { {\APLbr}\APLquote}V{\APLquote} APLTOTEX {\APLless}line of text{ {\APLbr}\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% APLTOTEX translates a line of text into a sequence of {\APLbr} \LaTeX\ macro calls. The default is variable spacing ({ {\APLbr}\APLquote}V{\APLquote}). \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % APLTOTEX{\protect\APLunderbar}S }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}vector of lines{\APLgreater} {\APLleftarrow} {\APLbr}APLTOTEX{\protect\APLunderbar}S {\APLless}line of text{ {\APLbr}\APLgreater} {\APLstile} {\APLless}vector of lines{\APLgreater} { {\APLbr}\APLleftarrow} {\APLquote}F{\APLquote} {\APLbr}APLTOTEX{\protect\APLunderbar}S {\APLless}line of text{\APLgreater} {\APLstile} { {\APLbr}\APLless}vector of lines{\APLgreater} {\APLleftarrow} {\APLquote}V{ {\APLbr}\APLquote} APLTOTEX{\protect\APLunderbar}S {\APLless}line of text{ {\APLbr}\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% APLTOTEX{\protect\APLunderbar}S translates a line of text {\APLbr}into a sequence of latex macro calls, characters {\APLbr}and numbers. This function should be used for {\APLbr}preprocessing text which is interleaved with a few APL {\APLbr}symbols and short APL expressions. The default is {\APLbr}variable spacing ({\APLquote}V{\APLquote}), for fixed spacing {\APLbr} use {\APLquote}F{\APLquote}. \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % DISPLAY }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}boxed representation of array{\APLgreater} { {\APLbr}\APLleftarrow} DISPLAY {\APLless}array{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% DISPLAY draws a boxed diagram of any nested array. {\APLbr} DISPLAY is functional equivalent to IBM{\APLquote}s {\APLbr}version. \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % FIXEDSPACING }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}boxed letter{\APLgreater} {\APLleftarrow} {\APLbr}FIXEDSPACING {\APLless}letter{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% FIXEDSPACING boxes each letter in order to simulate equal {\APLbr} spaced typing. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % FNSFMT }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}vector representation{\APLgreater} { {\APLbr}\APLleftarrow} FNSFMT {\APLless}canonical representation{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% FNSFMT translates the canonical function representation to {\APLbr} the vector representation of the function. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % FNSLIST }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}filename{\APLgreater} FNSLIST {\APLless}object {\APLbr}name{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% FNSLIST formats a subsection header and the code to input {\APLbr} the file which contains a \LaTeX\ macro stream {\APLbr}which typesets the APL code of the APL object. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % FOLD }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}folded text matrix{\APLgreater} {\APLleftarrow} {\APLbr}FOLD {\APLless}text matrix{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% FOLD mimicks APL2s formatting algorithm for arrays. {\APLbr} The matrix is cut in columns and the columns are printed {\APLbr} one after the other. Broad tables can thus {\APLbr} be restored by cut and paste. \end{minipage}\par \end{footnotesize} \par\vspace{2mm}\begin{flushleft}{\bf Protocol}{\em\ % Internal Local Adaption }\end{flushleft}\begin{footnotesize}% \par\vspace{3pt}\begin{flushleft} Method{\bf\ % BEGIN{\protect\APLunderbar}ARRAY }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}start of array macro sequence{\APLgreater} { {\APLbr}\APLleftarrow} BEGIN{\protect\APLunderbar}ARRAY \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% BEGIN{\protect\APLunderbar}ARRAY defines the \LaTeX\ {\APLbr}macros which precede an APL array. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % END{\protect\APLunderbar}ARRAY }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}end of array macro sequence{\APLgreater} { {\APLbr}\APLleftarrow} END{\protect\APLunderbar}ARRAY \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% END{\protect\APLunderbar}ARRAY defines the \LaTeX\ macros {\APLbr}which precede an APL array. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % LOCAL{\protect\APLunderbar}PAGE }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}latex macros defining the size of a local page{ {\APLbr}\APLgreater} {\APLleftarrow} LOCAL{\protect\APLunderbar}PAGE \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% LOCAL{\protect\APLunderbar}PAGE defines the size of a {\APLbr}page. All relevant changes are made here. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % PRINTING{\protect\APLunderbar}WIDTH }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}integer{\APLgreater} {\APLleftarrow} {\APLbr}PRINTING{\protect\APLunderbar}WIDTH \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% PRINTING{\protect\APLunderbar}WIDTH sets the number of {\APLbr}characters per screen line. This value has to {\APLbr}be set to the maximal numbers of characters per {\APLbr}printed line. \end{minipage}\par \end{footnotesize} \par\vspace{2mm}\begin{flushleft}{\bf Protocol}{\em\ % Internal Translation Table }\end{flushleft}\begin{footnotesize}% \par\vspace{3pt}\begin{flushleft} Method{\bf\ % TEXM }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}translation table{\APLgreater}{\APLleftarrow}TEXM {\APLbr}{\APLquote}{\APLquote} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% TEXM generates a translation table which maps {\APLbr}EACH symbol of the atomic vector to a \LaTeX\ macro {\APLbr}name. \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % TEXM{\protect\APLunderbar}S }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}translation table{\APLgreater}{ {\APLbr}\APLleftarrow}TEXM{\protect\APLunderbar}S {\APLquote}{\APLquote} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% TEXM{\protect\APLunderbar}S generates a translation table {\APLbr} which maps symbols of the atomic vector to {\APLbr}a \LaTeX\ macro name. All standard characters are NOT {\APLbr} mapped (lowercase alphabet, uppercase alphabet, {\APLbr}numbers). {\APLbr} \end{minipage}\par \end{footnotesize} \par\vspace{2mm}\begin{flushleft}{\bf Protocol}{\em\ % Internal Utility }\end{flushleft}\begin{footnotesize}% \par\vspace{3pt}\begin{flushleft} Method{\bf\ % FLAT }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}return code{\APLgreater} {\APLleftarrow} FLAT { {\APLbr}\APLless}in file name{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% FLAT implements the recursive scan of the \TeX\ files. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % TO{\protect\APLunderbar}APL }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}vector of lines{\APLgreater} {\APLleftarrow} {\APLbr}TO{\protect\APLunderbar}APL {\APLless}vector of lines{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% TO{\protect\APLunderbar}APL translates a vector of tex {\APLbr}lines to a vector of APL lines. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % TOUPPER }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}upper case string{\APLgreater} {\APLleftarrow} {\APLbr}TOUPPER {\APLless}lower case string{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% TOUPPER translates lower case to upper case and passes all {\APLbr} other characters. {\APLbr} \end{minipage}\par \end{footnotesize} \par\vspace{2mm}\begin{flushleft}{\bf Protocol}{\em\ % Logical Document Element }\end{flushleft}\begin{footnotesize}% \par\vspace{3pt}\begin{flushleft} Method{\bf\ % PRTEX{\protect\APLunderbar}ARRAY }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}LaTeX code{\APLgreater} {\APLleftarrow} {\APLbr}PRTEX{\protect\APLunderbar}ARRAY {\APLless}variable name{\APLgreater} { {\APLbr}\APLstile} {\APLless}return code{\APLgreater} {\APLleftarrow} {\APLbr}{\APLless}file name{\APLgreater} {\APLbr}PRTEX{\protect\APLunderbar}ARRAY {\APLless}variable name{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% PRTEX{\protect\APLunderbar}ARRAY prints the \LaTeX\ code {\APLbr}of {\APLless}variable{\APLgreater} to a file named {\APLbr} by the CMS file name {\APLless}filename{\APLgreater}. { {\APLbr}\APLless}variable{\APLgreater} is printed as {\APLbr}displayed by the APL2 function {\APLuptackjot}. {\APLless}file name{ {\APLbr}\APLgreater} and {\APLless}variable name{\APLgreater} {\APLbr}are text vectors. \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % PRTEX{\protect\APLunderbar}BOXEDARRAY }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}LaTeX code{\APLgreater} {\APLleftarrow} {\APLbr}PRTEX{\protect\APLunderbar}BOXEDARRAY {\APLless}variable name{ {\APLbr}\APLgreater} {\APLstile} {\APLless}return code{\APLgreater} { {\APLbr}\APLleftarrow} {\APLless}file name{\APLgreater} {\APLbr}PRTEX{\protect\APLunderbar}BOXEDARRAY {\APLless}variable name{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% PRTEX{\protect\APLunderbar}BOXEDARRAY {\APLbr} prints the \LaTeX\ code of {\APLless}variable{ {\APLbr}\APLgreater} to a file named by the CMS file name { {\APLbr}\APLless}filename{\APLgreater}. {\APLless}variable{\APLgreater} is {\APLbr}printed in boxed representation as displayed by the {\APLbr}APL2 function DISPLAY. {\APLless}file name{\APLgreater} {\APLbr}and {\APLless}variable name{\APLgreater} are text vectors. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % PRTEX{\protect\APLunderbar}DIALOG }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}LaTeX code{\APLgreater} {\APLleftarrow} {\APLbr}PRTEX{\protect\APLunderbar}DIALOG {\APLless}APL expression{\APLgreater} {\APLbr}{\APLstile} {\APLless}return code{\APLgreater} { {\APLbr}\APLleftarrow} {\APLless}file name{\APLgreater} {\APLbr}PRTEX{\protect\APLunderbar}DIALOG {\APLless}APL expression{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% PRTEX{\protect\APLunderbar}DIALOG simulates and prints one {\APLbr}interaction of user and computer. The right {\APLbr}argument of PRTEX{\protect\APLunderbar}DIALOG is a text {\APLbr}string containing the APL expression normally typed in {\APLbr}by the user. User input is printed in bold face, six {\APLbr}spaces indented with proportional spacing. The {\APLbr}response of the APL interpreter (if any) is printed {\APLbr}with fixed spacing thus simulating a {\APLbr}traditional type writer. \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % PRTEX{\protect\APLunderbar}EXPR }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}LaTeX code{\APLgreater} {\APLleftarrow} {\APLbr}PRTEX{\protect\APLunderbar}EXPR {\APLless}APL expression{\APLgreater} { {\APLbr}\APLstile} {\APLless}return code{\APLgreater} {\APLleftarrow} {\APLbr}{\APLless}file name{\APLgreater} {\APLbr}PRTEX{\protect\APLunderbar}EXPR {\APLless}APL expression{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% PRTEX{\protect\APLunderbar}EXPR takes a text string as {\APLbr}right argument which is typeset as an APL expression typed {\APLbr}in by the user: six spaces indented and bold face. {\APLbr} \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % PRTEX{\protect\APLunderbar}FN }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}LaTeX code{\APLgreater} {\APLleftarrow} { {\APLbr}\APLless}file name{\APLgreater} PRTEX{\protect\APLunderbar}FN { {\APLbr}\APLless}function name{\APLgreater} {\APLstile} {\APLless}LaTeX code{ {\APLbr}\APLgreater} {\APLleftarrow} {\APLless}file name{\APLgreater} {\APLbr}PRTEX{\protect\APLunderbar}FN {\APLless}operator name{ {\APLbr}\APLgreater} {\APLstile} {\APLless}return code{\APLgreater} { {\APLbr}\APLleftarrow} {\APLless}file name{\APLgreater} {\APLbr}PRTEX{\protect\APLunderbar}FN {\APLless}function name{\APLgreater} {\APLstile} { {\APLbr}\APLless}return code{\APLgreater} {\APLleftarrow} {\APLless}file {\APLbr}name{\APLgreater} PRTEX{\protect\APLunderbar}FN { {\APLbr}\APLless}operator name{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% PRTEX{\protect\APLunderbar}FN prints the \LaTeX\ code of {\APLbr}the del-editor representation of a {\APLless}function{ {\APLbr}\APLgreater} or an {\APLless}operator{\APLgreater} to a file {\APLbr}named by the CMS file name {\APLless}filename{ {\APLbr}\APLgreater}. \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % PRTEX{\protect\APLunderbar}FNCR }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}LaTeX code{\APLgreater} {\APLleftarrow} {\APLbr}PRTEX{\protect\APLunderbar}FNCR {\APLless}function name{\APLgreater} { {\APLbr}\APLstile} {\APLless}LaTeX code{\APLgreater} {\APLleftarrow} {\APLbr}PRTEX{\protect\APLunderbar}FNCR {\APLless}operator name{ {\APLbr}\APLgreater} {\APLstile} {\APLless}return code{\APLgreater} { {\APLbr}\APLleftarrow} {\APLless}file name{\APLgreater} {\APLbr}PRTEX{\protect\APLunderbar}FNCR {\APLless}function name{\APLgreater} {\APLstile} { {\APLbr}\APLless}return code{\APLgreater} {\APLleftarrow} { {\APLbr}\APLless}file name{\APLgreater} PRTEX{\protect\APLunderbar}FNCR { {\APLbr}\APLless}operator name{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% PRTEX{\protect\APLunderbar}FNCR prints the \LaTeX\ code of {\APLbr}the canonical representation of a { {\APLbr}\APLless}function{\APLgreater} or an {\APLless}operator{\APLgreater} to a {\APLbr}file named by the CMS file name {\APLless}filename{ {\APLbr}\APLgreater}. \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % PRTEX{\protect\APLunderbar}FNDD }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}LaTeX code{\APLgreater} {\APLleftarrow} {\APLbr}PRTEX{\protect\APLunderbar}FNDD {\APLless}direct definition{ {\APLbr}\APLgreater} {\APLstile} {\APLless}return code{\APLgreater} { {\APLbr}\APLleftarrow} {\APLless}filename{\APLgreater} {\APLbr}PRTEX{\protect\APLunderbar}FNDD {\APLless}direct definition{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% PRTEX{\protect\APLunderbar}FNDD prints the \LaTeX\ code of {\APLbr}the {\APLless}direct definition{\APLgreater} of a { {\APLbr}\APLless}function{\APLgreater} or {\APLless}operator{ {\APLbr}\APLgreater} to a file named by the CMS file name { {\APLbr}\APLless}filename{\APLgreater}. The direct definition must be a {\APLbr}character vector. \end{minipage}\par \end{footnotesize} \par\vspace{2mm}\begin{flushleft}{\bf Protocol}{\em\ % Utility }\end{flushleft}\begin{footnotesize}% \par\vspace{3pt}\begin{flushleft} Method{\bf\ % FILE{\protect\APLunderbar}TO{\protect\APLunderbar}APL }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}returncode{\APLgreater} {\APLleftarrow} { {\APLbr}\APLless}fileid in{\APLgreater} {\APLbr}FILE{\protect\APLunderbar}TO{\protect\APLunderbar}APL {\APLless}fileid out{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% FILE{\protect\APLunderbar}TO{\protect\APLunderbar}APL {\APLbr}converts the text of a cms file named {\APLless}fileID in{ {\APLbr}\APLgreater} from TEX macros to APL2 symbols and writes the new {\APLbr}text to cms file named {\APLless}fileID out{ {\APLbr}\APLgreater}. \end{minipage}\par \par\vspace{3pt}\begin{flushleft} Method{\bf\ % FLATTEN }\end{flushleft}% \begin{minipage}[t]{8.25cm}% {\APLless}return code{\APLgreater} {\APLleftarrow} { {\APLbr}\APLless}fileid out{\APLgreater} FLATTEN {\APLless}file name in{ {\APLbr}\APLgreater} {\APLstile} {\APLless}return code{\APLgreater} { {\APLbr}\APLleftarrow} FLATTEN {\APLless}file name in{\APLgreater} \end{minipage}\hspace{0.5cm}\begin{minipage}[t]{8.25cm}% FLATTEN recursively collects all small and scattered {\APLbr} \TeX\ files and writes one large file. {\APLbr} \end{minipage}\par \end{footnotesize} \par} % % end F636 % % % end F634 % \APLbibliography \end{document} % % end F637 TEX A %