|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 2800 (0xaf0) Types: TextFile Names: »mctex-int.tex«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12 └─⟦af5ba6c8e⟧ »unix3.0/DVIWARE.tar.Z« └─⟦ca79c7339⟧ └─⟦this⟧ »DVIware/laser-setters/mctex/doc/mctex-int.tex«
\documentstyle[11pt,fullpage,dtt,twoside]{article} \input{defs} \newcommand\dvitype{{\tt DVItype}} \newcommand\void{{\tt void}} % Variables are typeset in italics. % \var{x} includes an italic correction, while \var*{x} does not. \makeatletter \def\var{\@ifstar{\@varN}{\@varC}} \def\@varN#1{{\it#1}} \def\@varC#1{{\it#1\/}} \makeatother \catcode`\_=12 % no subscripts, unless you set it back to 8 \everymath{\catcode`\_=8\relax} % magic fixup, can do math again \def\_{\char95\relax} % for places where _ has been math-ized \title{\mctex\ Internals Guide} \author{Chris Torek\\ Department of Computer Science\\ University of Maryland\\ College Park, MD 20742\\ {\tt chris@mimsy.umd.edu}} \date{30 November 1989} \begin{document} \maketitle \begin{abstract} This document describes the internals of \mctex, The Maryland \Unix\footnote {\Unix\ is a trademark of AT\&T Bell Laboratories. \ps\ is a trademark of Adobe Systems Inc.} \TeX\ collection of programs. It is intended for people porting \mctex\ to other systems and for those who want to add to the \mctex\ collection. \end{abstract} %\begin{titlepage} %\tableofcontents %\end{titlepage} \section{Introduction} This document makes use of several typesetting conventions to compress information into less space. Words in {\tt typewriter text} generally indicate literal C code text or file names. Function and macro arguments appear in \var*{italics}. C function declarations are given in {\em prototype\/} form---e.g., \mbox{\tt int main(int \var*{argc}, char **\var{argv})}---except when the parameter types are obvious or (as is the case with several macros) irrelevant, and except that types of the functions themselves are normally omitted when the functions return \void. The \mctex\ system itself does not use prototypes (nor most other features of ANSI C), since many compilers still do not handle them. Most of the routines labelled as macros have the option of referring to their arguments more than once; these macros may not be handed expressions containing side effects. For instance, {\tt Sign8(*p++)} is illegal, as it may well increment {\tt p} twice and produce a bogus value. Those macros that are {\em function-like\/} (that is, can tolerate side effects) are so noted. The \mctex\ source code is organised as a two-level tree. At the top level are directories for each major subsystem, such as the library ({\tt lib}), the Imagen driver ({\tt imagen}), global header files ({\tt h}), and so forth. Within each directory are the files that make up that subsystem. There is a {\tt Makefile} in every directory, with entries as described in the installation section of the \mctex\ User's Guide. \section{The \mctex\ library} \input{lib} \section{A Tour Through a Driver}\label{sec:tour} \input{tour} \end{document}