Chapter 15. TeX on the Macintosh

For the most part, using TeX on the Macintosh is like using TeX on any other system. Certainly, the TeX documents that you edit are the same, and the output (on paper) is the same as the output from any other version of TeX.

However, because they are immersed in a consistent graphical environment, Macintosh tools have a substantially different appearance from their non-graphical counterparts.[128]

There are four implementations of TeX available for the Macintosh. Of these four, one is commercial, two are shareware, and one is (mostly) free. The following sections present an overview of each implementation, in alphabetical order.

CMacTeX

The CMacTeX package includes the most recent versions of TeX and MetaFont and all of the standard tools. A port of \dvips\index{dvips!for Macintosh} is also included, as well as a DVI previewer and a PrintPS tool for printing PostScript files directly to a LaserWriter printer over AppleTalk.

Each utility is a straightforward port of its unix counterpart. Command-line options have been replaced by standard Mac dialog boxes and menus where appropriate. TeX has been extended to include a built-in editor, although it is not necessary to use that editor if you have another favorite.

By design, CMacTeX is a very modular package. This makes it easy to substitute different tools, or different ports of the same tools, where it is advantageous to do so. For example, you can use MacGS (a Macintosh version of Ghostscript) as a previewer if you like.

Small versions of TeX, iniTeX, MetaFont, and iniMF are provided in the free distribution of CMacTeX. Big versions are available only in a commercial distribution purchased directly from the author. At the time of this writing, the commercial distribution is available on diskettes and via email. The commercial version also provides fully automated font generation (see “the section called “Automatic Font Generation by DVI Drivers”” in Chapter 5, Chapter 5) and faster versions of TeX and MetaFont.

The configuration files used by CMacTeX resemble the environment variables used by implementations of TeX on other systems. You can set up multiple search folders for input files and fonts, for example, by providing a list of folder names separated by colons.

Table 15.1 summarizes the CMacTeX version 2.1 distribution available on the CTAN archives (in systems/mac/cmactex) as of July, 1993. The top-level folders and their contents are presented, not a list of the archive files that form the distribution.

Table 15.1. Summary of the \protect\cmactex Distribution at CTAN

images

images

The installation instructions for CMacTeX are easy to understand, but you will have to configure CMacTeX before you try to use it. Unfortunately, the default configuration files do not reflect the layout of folders that results directly from unpacking the archive files.

CMacTeX includes a prebuilt format file for Plain TeX, but if you want to use LaTeX, you will have to build the format file with iniTeX first.

DirectTeX

DirectTeX is a Macintosh Programmer's Workshop (MPW) based TeX package. It is distributed in archive files containing eight disk images. You will have to copy each disk image onto a diskette (using a tool provided) before you can install DirectTeX.

Because I don't have access to a Mac with MPW installed, there is very little that I can say about DirectTeX at this point.

OzTeX

OzTeX is a complete TeX package that includes an integrated DVI previewer. OzTeX can print TeX DVI files directly to any printer selected by the Chooser. Because OzTeX does not include MetaFont, you may need to get from some other source PK files at a resolution appropiate for your printer. The standard OzTeX distribution includes a complete set of PK files for 300dpi and 360dpi printers.

A default configuration file and a selection of specialized configuration files for different printers and environments are provided with OzTeX. The distinction between big and small implementations of TeX has been replaced by configurable memory limits. With enough RAM and appropriate configuration, you should be able to get OzTeX to process any TeX file you give it.

OzTeX includes a simple text editor called $\Sigma$Edit, but you can replace it with any editor you choose. Table 15.2 summarizes the OzTeX version 1.5 distribution available on the CTAN archives (in systems/mac/oztex) as of July, 1993. The top-level folders and their contents are given, not a list of the archive files that form the distribution.

Table 15.2. Summary of the \protect\oztex Distribution at CTAN

\bf Folder \bf Contents
\it Configs Configuration files
\it TeX-formats Format files for Plain TeX and LaTeX
\it TeX-fonts TFM files for CMR, LaTeX, and PostScript fonts
\it Help-files Online help files
\it PS-files PostScript sources for OzTeX's PostScript built-in driver
\it TeX-docs Example TeX files
\it LaTeX-docs LaTeX sources for a 26 page User's Guide to OzTeX
\it $\Sigma$Edit A simple text editor desk accessory
\it TeX-inputs Input files for Plain TeX and LaTeX
\it PK-files A set of PK files for 300dpi and 360dpi printers

The OzTeX DVI printer recognizes \special commands for inserting PICT, PNTG (MacPaint), and EPSF images into your documents. Provision is also made for including raw PostScript code if the selected printer is a PostScript printer.

OzTeX is a shareware program. If you continue to use it after a reasonable trial period, you are expected to purchase it.

Textures

Textures is a commercial implementation of TeX from Blue Sky Research. It has a number of features that make it unique in the TeX market. It is supported by a complete user's guide and access to telephone and email product support.

Textures supports an interactive preview mode called Lightning Textures. It is this feature that really sets Textures apart from other implementations. In this mode, changes to your document are reflected immediately in the preview window. In an environment with sufficient resources (memory and processing speed), the result is striking. Constructing complex items like tables and mathematical formulae is much easier, especially for the TeX novice, than using the conventional edit, TeX, preview, debug cycle. Because the log file is also visible, it's easy to see when you've written erroneous TeX code.

Note that Lightning Textures is not really a WYSIWYG environment (like Scientific Word, for example) because you still enter regular TeX commands in a purely textual fashion. You get immediate feedback in a different window.

Textures is fast. Extensive instrumentation and hand-tuning of the program has produced an executable that is several (maybe many) times faster than other TeX executables on similar hardware.

A complete set of Computer Modern Roman fonts is provided in Adobe Type 1 format. This means that any font can be rendered at any size without loss of quality. PostScript versions of the \AmS-fonts are also available. The fonts can be purchased separately in either Macintosh or Adobe PFB formats.

Textures is a very integrated environment. This can hardly be labelled a disadvantage considering how well it works, but it does mean that some extra effort is required if you want access to your document in a less integrated fashion. Using another editor to compose your document is possible, but it prevents you from using Lighting Textures. Starting with version 1.6, the Textures editor includes a macro programming language, so you can customize it with features that you find useful. Blue Sky Research provides the tools you need to incorporate other fonts into TeX or extract TeX files (like DVI files) that are normally hidden from view by Textures.

Figure 15.1 shows an example of a Textures session. The preview quality in this image is less than optimal because the Macintosh that Textures is running on does not have Adobe Type Manager.

Figure 15.1. Editing, previewing, and typesetting in Textures

FIXME:

Because the Computer Modern Roman fonts are included in Adobe Type 1 format, MetaFont is not provided in the Textures package. Recently, BSR made their version of MetaFont freely available. BSR's MetaFont was designed to work with Textures, and creates output files that are suitable for Textures, but not necessarily the standard GF and TFM files you might expect. Those files can be obtained elsewhere, of course.

The Textures package includes implementations of many auxiliary TeX programs including BibTeX, MakeIndex, the Excalibur spellchecker (see the “the section called “CMacTeX”” section later in this chapter), a DVITool for importing and exporting DVI files, and font tools for importing and exporting fonts. (Because Textures doesn't use PK files directly, the standard \mfware tools are not provided.) The Textures font tools are freely available from Blue Sky Research; see the “the section called “BSR Font Tools”” section later in this chapter. Textures also supports virtual fonts.

Textures includes the Eplain and Midnight macro packages in addition to Plain TeX and LaTeX. iniTeX is built into Textures, so you can make additional format files as described in Chapter 4, Chapter 4. Making format files with Textures requires a Macintosh Plus or other system with at least 1Mb of memory.

The Textures previewer and printing operations understand bitmap or scalable (EPSF) pictures inserted into your document with \special commands. Although not visible on the previewer, raw PostScript can also be inserted for documents printed on PostScript devices.

Other Tools

The following sections describe Macintosh versions of other common tools. Some of these programs are unique to the Mac, while others are ports of tools from other systems.

Alpha

Alpha is a sophisticated shareware editor for text files. Alpha uses Tcl, an interpreted C-like language, as a macro programming language for extending the editor. LaTeX support, which is written in Tcl, is very complete. An example of the Alpha editor is shown in Figure 15.2.

Figure 15.2. Alpha editing the fonts chapter from this book

FIXME:

BBEdit

BBEdit is another shareware editor. Like Alpha, it has a wide range of features including a LaTeX-aware editing mode. An example of the BBEdit editor is shown in Figure 15.3.

Figure 15.3. \program{BBEdit} editing the fonts chapter from this book

FIXME:

BSR Font Tools

The Macintosh Programmer's Workshop (MPW) is required to use the Blue Sky Research Font Tools. These tools were written for Textures users so that they could make other fonts, like those created with MetaFont, for example, usable in Textures. In practice however, they create standard Macintosh font resources, so the resulting fonts can be used by any Mac application. Table 15.3 describes the tools included in the BSR Font Tools package.

Table 15.3. Font Tools in the BSR package

\bf Tool \bf Description
\it GFtoPK Converts MetaFont GF files into standard PK format
\it PKtoFOND Creates Mac FOND resource from PK and TFM files
\it TFMtoSuit Creates a font metrics suitcase
\it NFNTcon Finds NFNT resource numbering conflicts
\it TFtoPL Converts TFM files into PL files
\it PLtoTF Translates PL files (back) into TFM files

Excalibur

Excalibur is a spellchecker designed to work with LaTeX documents. An example of Excalibur is shown in Figure 15.4.

Figure 15.4. \program{Excalibur} spellchecking the fonts chapter from this book

FIXME:

HyperBibTeX

This is a hypercard stack for maintaining bibliographic databases suitable for use with BibTeX. BibTeX is described in Chapter 12, Chapter 12. An example of HyperBibTeX is shown in Figure 15.5.

Figure 15.5. The \program{Hyper\BibTeX} view of a bibliographic database

FIXME:

MacGS

MacGS is a Macintosh port of GNU Ghostscript, described in Chapter 9, Chapter 9.

dvidvi

dvidvi is a Macintosh port of the dvidvi utility for rearranging pages in a DVI file.

MacDVIcopy

MacDVIcopy is a port of the DVICOPY utility, which transforms virtual font references in a DVI file into the appropriate non-virtual fonts or commands. This allows DVI drivers and previewers that lack support for virtual fonts to preview documents that use them.

MacBibTeX

MacBibTeX is a port of the standard BibTeX utility for accessing bibliographic databases in a document. BibTeX is described in Chapter 12.

MacMakeIndex

MacMakeIndex is a port of the standard MakeIndex for creating sorted, multilevel indexes in a document. MakeIndex is described in Chapter 12.

[128] {I'm not going to argue about the relative merits of graphical and non-graphical environments or particular implementations of graphical environments. When all is said and done, the Mac is different. At least today.}

Get Making TeX Work now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.