|
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: 10847 (0x2a5f) Types: TextFile Names: »manual.tex«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89 └─⟦this⟧ »./tex82/TeXgraphics/transfig/doc/manual/manual.tex«
% Master File: manual.tex % Document Type: LaTeX % \input{setup12.tex} \input{transfig} % %\lfoot{\small\it \today} %\cfoot{\small\fbox{DRAFT}} \lfoot{\it February 18, 1988} \cfoot{} \rfoot{\small\rm page\ \thepage} % \newcommand{\PicTeX}{{PiC\TeX}} \newcommand{\PS}{{\sc PS}} \newcommand{\DVI}{{\sc DVI}} \newcommand{\PIC}{{\sc PIC}} % \begin{document} \begin{center} \Large \bf TransFig: Portable Figures for \TeX\ \\[0.2in] \large\it Micah Beck \\ \rm Department of Computer Science \\ Cornell University \\ Ithaca, New York 14853 \\[0.2in] \end{center} TransFig is a mechanism for integrating simple figures into \TeX\ documents. Several ``graphics languages'' exist which achieve such integration, but none is widely enough used to be called a standard. TransFig's goal is to maintain the portability of \TeX\ documents across printers and operating environments. The central mechanism in TransFig is Fig code, a simple graphics description format which is produced by the Fig interactive graphics editor. Transfig provides an automatic and uniform way to {\it Trans}\,late {\it Fig} code into various graphics languages and to integrate that code into a \TeX\ document. \section{TransFig} The Transfig package includes several translators between Fig code and other graphics languages (see figure \ref{f:intro-trans}). The programs shown in dashed boxes were not developed as part of the Transfig distribution, but are compatible with it. These translators can be used directly to produce various graphics languages from Fig code, but do not in themselves provide document portability. Each graphics language requires different macro files to be loaded, or has a different command for specifying that a figure be included in the document. Transfig allows these differences to be hidden behind a uniform \TeX\ interface. If this interface is followed, then the makefile created by the {\tt transfig} command will translate Fig code into any of these graphics languages without changing to the \TeX\ document. To change to a different graphics language, it is necessary only to rerun {\tt transfig}, and then {\tt make}. Make can also be used to keep the translated code up to date when figures change. The graphics in this manual were created using Fig and integrated into the document using TransFig. \begin{figure} \hrule \vspace{2pt} \begin{center} \input{trans} \end{center} \hrule \caption{Fig Code Translations} \label{f:intro-trans} \end{figure} \vspace{2pt} \subsection{Files Name Conventions} Say that a document is to include a set of figures which are stored in Fig code form. These should be in files with the name suffix {\tt .fig}, for instance {\tt figure1.fig, figure2.fig,\ldots figuren.fig}. TransFig will create files {\tt figure1.tex, figure2.tex,\ldots figuren.tex} for {\verb|\input|} to the \TeX\ document, and in some cases will create files with other suffixes. Additionally, TransFig creates a file named {\tt transfig.tex} which must be {\verb|\input|} at the start of the document. \subsection{Transfig \TeX\ Documents} \begin{figure} \hrule \vspace{2pt} \small \begin{center} \[ \begin{array}{lr} % \verb|\documentstyle{article}| & \\ \verb|\input{transfig}| & ~~~\mbox{TransFig macro file}\\ \verb|\begin{document}| & \\ \hfill \vdots \hfill & \\ % \verb|\begin{figure}| & \\ ~~~\verb|\begin{center}| & \\ ~~~\verb|\input{figurei}| & \mbox{i'th TransFig figure}\\ % ~~~\verb| \end{center}| & \\ \verb|\end{figure}| & \\ \hfill \vdots \hfill & \\ % \end{array} \] \end{center} \hrule \caption{Layout of a TransFig \TeX\ Document} \label{f:tex-format} \end{figure} \vspace{2pt} In order to use TransFig, a \TeX\ file must follow the format shown in figure \ref{f:tex-format}. The document must input the file {\tt transfig.tex} before any TransFig figure is encountered. At the point where the $i$th figure {\tt figurei} is to be inserted, the file {\tt figurei.tex} is input. \subsection{Using TransFig} The transfig command has the form % \begin{center} {\tt transfig} {\it language filename} [\ldots] \end{center} % where {\it language} is one of the following: % \begin{quote} \begin{description} \item[pictex] for translation to \PicTeX\ macros. \item[postscript] for translation to PostScript. \end{description} See section~\ref{s:languages} for further details about these languages. \end{quote} Each file name specifies a Fig file, either with or without the {\tt .fig} suffix. Fig creates a file called {\tt Makefile} to apply the appropriate translator to the named files, and creates an appropriate {\tt transfig.tex} file. Thus, to create a {\tt Makefile} which will translate all figures in a directory to \PicTeX, the command would be % \begin{center} {\tt transfig pictex *.fig} \end{center} After running {\tt transfig}, simply type ``{\tt make}'' to create the appropriate \TeX\ files. {\tt Make} should be rerun whenever a Fig file is changed to recreate the corresponding \TeX\ file. To change between graphics languages, simply type ``{\tt make clean}'' to remove the files created by {\tt transfig}, and then rerun {\tt transfig}. \subsection{Text in Figures and Portability} \label{s:portability} In order to be translatable into different graphics languages, Fig code used in TransFig documents should use only those features which are supported by all of them. In particular, some graphics languages support more sophisticated processing of text which is part of the figure than others. \PicTeX, for example, allows full use of \TeX\ macros in text strings, while PostScript uses only built-in fonts., The standard way to use text in TransFig figures is to use only straight text with no \TeX\ commands. The text font is determined by the translator or the graphics language. A document which makes use of \TeX\ commands in text can still be created as a TransFig document, but it will not be portable Similarly, some graphics languages have controlling commands which are not understood by all (such as Pic\TeX's {\verb|\nopictures|}). To create a portable TransFig document, these commands should not be used. However, if portability is not an issue (as when developing a document), then they can be used at any point after the {\verb|\input{transfig}|} command. \section{Graphics Languages and Fig Translators} \label{s:languages} Transfig currently supports two graphics languages: \PicTeX, PostScript. The Fig translation programs corresponding to these languages are {\tt fig2tex} and {\tt fig2ps}. Each language may be appropriate in different operating environments or for different applications. It is hoped that more translators will be developed to support other graphics languages. A short description of the available languages is given below: \begin{quote} \begin{description} \item[\PicTeX] consists of a set of \TeX\ macros which implements simple graphics objects directly in \TeX. \PicTeX\ makes no use of pre- or post-processors; the \DVI\ files it generates are completely standard, and can be printed or previewed in any environment where \TeX\ is used. This result is achieved by using \TeX\ integer arithmetic to do all plotting calculations, and drawing the figure using the period character as a ``brush''. As a result \PicTeX\ is quite slow and requires a large internal \TeX\ memory. \item[PostScript] (\PS)\, is a powerful graphics language which is gaining acceptance as a standard. In an environment where \DVI\ code is translated into \PS\ before being printed, it is usually possible to insert a separately generated PostScript file into a the document, using the \TeX\ {\verb|\special|} command. However, the resulting \PS\ file can be previewed only using a \PS\ previewer, and must be printed on a \PS\ printer, such as the Apple LaserWriter. \end{description} \end{quote} % When \TeX\ processes the file {\tt transfig.tex}, it will produce the message ``{\verb|Transfig: figures in |}{\it language}'' indicating which graphics language is in use. \section{The \PIC\ to Fig Translator} \label{s:pic2fig} The \PIC-to-Fig translator allows graphics to be described in \PIC, the language of Brian Kernighan's graphics preprocessor for Troff. The Fig code produced by {\tt pic2fig} is compatible with that produced by Fig, and can be edited with Fig. This translator is included because Fig code itself does not have a syntax which is readable by humans, and is not well documented. The {\tt pic2fig} program itself is in fact a modified form of the {\tt tpic} program, which was adapted from \PIC\ itself (see section~\ref{s:software}). The overall goal of TransFig is to provide a single framework for graphics which can be included in TeX documents. The motivation is to attract the builders of tools such as graphics editors to produce output compatible with this framework. An programs which produces \PIC\ can be translated into various graphics languages via {\tt pic2fig} and {\tt fig2*} translators. Fig itself, and any other programs which actually produce Fig code can be translated more directly. \appendix \section{Related Software} \label{s:software} Software availability is subject to change, and this list may not be completely up to date. \begin{description} \item[Fig] is an interactive graphics editor in the style of MacDraw which runs under the Suntools/SunView windowing system. It produces intermediate code which can be translated into a variety of graphics languages, including \PIC\ , Postscript, and \PicTeX. Fig was developed by Supoj Sutanthavibul at the University of Texas at Austin, ({\tt supoj@SALLY.UTEXAS.EDU}), and is available via anonymous {\tt FTP} from {\tt SALLY}. \item[\PicTeX] is a set of macros for describing graphics in TeX documents. \PicTeX\ is unique among available graphics languages in that it is implemented entirely within standard \TeX, and requiring no pre- or post processing programs or special fonts. The main problem in using \PicTeX is its slow operation (all calculations are done using \TeX's integer arithmetic) and large memory requirements. Many \PicTeX\ users have turned to C implementations of \TeX\ in order to obtain memory sizes larger than are possible using the standard Web/Pascal version. \PicTeX\ was developed by Michael Wichura at the University of Chicago ({\tt wichura@GALTON.UCHICAGO.EDU}), and is available via anonymous {\tt FTP} from {\tt A.CS.UIUC.EDU}. \item[tpic] is a version of Brian Kernighan's \PIC\ graphics preprocessor for Troff. Tpic has been altered to produce \TeX\ {\verb|\special|} commands which are understood by some \DVI\ print drivers and previewers. \end{description} %\section{Fig Code} %\label{s:figcode} \end{document}