A Review of Textures 1.8

February 10, 1998

Copyright, 1998 by William D. Walker
Department of Agricultural Economics
Michigan State University
walkerw5@pilot.msu.edu

Contents

  1. Introduction
  2. Other Macintosh TeX Programs
    1. DirectTeX
    2. CMacTeX
    3. OzTeX
  3. Textures 1.8
    1. Improvements over version 1.7
    2. Features and Comparisons
      1. Installation
      2. Speed
      3. Usability
      4. Fonts
      5. Textures' integrated editor
      6. Apple Events and external text editors
      7. Custom LaTeX Formats
  4. Conclusion

Introduction

Textures is a Macintosh implementation of Donald Knuth's TeX (pronounced "tek") typesetting system. The current version is 1.8. My previous review of version 1.7 is available at http://www.h-net.msu.edu/~mac /textures.html on the H-Mac product review page (http://www.h-net.msu.edu/~mac/*prod.html). Readers interested in TeX on the Macintosh may wish to visit the Macintosh TeX/LaTeX Software Page (http://www.esm.psu.edu/mac-tex/).

In my earlier review, I discussed the history and characteristics of TeX itself. I will not repeat that information except for a few vital points. First, note that TeX uses a markup language (roughly similar to HTML). TeX documents are drafted in ASCII text with various codes (such as \emph{} to denote emphasized text) and are run through the TeX program itself which produces a typeset file. Most implementations of TeX produce a ".dvi" file (for DeVice Independent). That file can be viewed or converted into a Postscript file which is then printed. (Textures displays the typeset page in a separate window which can be printed to any Macintosh print driver, printed to a PostScript file, or saved as a .dvi file.) Owing to its ancient lineage, most implementations of TeX use an odd font system involving a large number of bitmapped ".pk" files which are not installed in the system folder. (Textures uses Macintosh fonts.) TeX itself is something of a programming language. There are numerous packages written for TeX of which the most famous is the LaTeX package, developed by Leslie Lamport, which greatly simplifies the creation of standard forms such as books, articles, and bibliographies. TeX is usually described as being a mathematical typesetting system but it has features that make it valuable for any typesetting. It is a high quality program that produces high quality output.

Because of the space devoted to explaining TeX in my earlier review, I did not compare Textures to other Macintosh implementations of TeX. This review will do the inverse. I do not perform a detailed study of competing versions, however. If any list members feel I have omitted a critical element of one of the programs, direct your comments to the list.

For the impatient, my major conclusions are as follows. Textures 1.8 is a solid, easy to install and use program that uses the Macintosh font and printing systems. It has an improved Apple Events interface over version 1.7 that will allow better integration with external text editors. However, it is significantly more expensive than competing implementations. Users who value convenience will, in my judgment, prefer Textures. Users who are comfortable with the traditional TeX font and printing system and who prefer to use their cash for other things, will not.

For the historically curious, note that one writes TeX and LaTeX because Knuth, in an effort to show that his program could do things no other typesetting program could do at the time, designed a logo with the letters "T," "E," and "X" but with the E set slightly lower than the other two. Since this cannot be done by pedestrian systems like HTML, one simulates the effect by writing TeX. Now, virtually all additions to the base TeX system have some sort of offset logo. A point in Textures' favor is that they declined to follow this trend. The program is not "TeXtures."

Other Macintosh TeX Programs

Before discussion Textures, I will describe its competitors. There are three competitors of which I am aware. DirectTeX by Wilfried Ricken (available by anonymous ftp at ftp://hadron.tp2.ruhr-u ni-bochum.de/%2Fpub/directtex/) costs $100 for up to three installations and $20 for each additional installation. CMacTeX by Tom R. Kiffe (available at the CMacTeX home page) (http://www.kiffe.com/cmactex.html) costs $35 for a single user and $150 for a 100 user site license. OzTeX by Andrew Trevorrow, available at the OzTeX home page (http://www.kagi.com/authors/akt/oztex.html) costs $30 for a single user and $300 for a site license (note that many universities and businesses have site licenses-see the OzTeX documentation for a listing).

DirectTeX

I have little to say about DirectTeX because I was not able to get it to run on my system. For some reason, it was not able to recognize the printer driver I have installed (a Stylewriter 1200 desktop printer). It would not run at all because of this problem. Unfortunately, the documentation was in the form of DirectTeX .dvi files. I was able to read them with my other TeX programs, but a user without alternative TeX programs would have had some difficulty. When I finally took time to work on the problem, the program informed me that I had had it installed on the system for more than three weeks and that it would no longer run until I registered it. I did not wish to reinstall it for testing purposes. If there are any users of DirectTeX on the list, I invite you to submit a comment to the list describing why you chose the program.

CMacTeX

Installing CMacTeX did not go smoothly either. I had to open seventeen self-extracting archives in which the program's source folders were contained. The first source folder contained an Apple Script meant to complete the installation process by moving files from the source folders into their proper places in another folder. Unfortunately, I neglected to extract folder number eight. The installation Apple Script ran smoothly until it discovered my error, whereupon it balked and quit. Because it did not notice the error until part way through the installation, the contents of folders one through seven had already been moved. I had to start the installation process from scratch in order to recover from this error. (I could not just extract folders one through eight since the archive names did not match the folder names. To be fair, the manual included a table of corresponding names but it was easier to start over.)

Once the program was installed, it functioned as a traditional TeX system. The heart of the system is a collection of programs including TeX itself, .pk font utility programs, PostScript utility programs, the Ghostscript viewer, MetaPost (a command driven PostScript graphics program) and .dvi utility programs. There is also a folder of Apple Script files to perform various tasks (such as working with virtual fonts) but I did not try them out. It includes a collection of BBEdit plug-ins, documentation for TeX, MetaPost, and DVIPS but little explanation of CMacTeX itself. This is because CMacTeX is ordinary TeX with no Macintosh additions. Unix TeX users will feel right at home in CMacTeX. The various component programs are well integrated. When I typeset the included TeX documentation (A Gentle Introduction to TeX), CMacTeX processed the file, opened the .dvi viewer, call MetaFont to create missing font information, and showed the resulting typeset file. I could have created a PostScript file from within the viewer. Of course, one cannot print to a non PostScript printer except by using GhostScript or Adobe Acrobat Distiller to convert the file.

OzTeX

I obtained OzTeX as a single file which I then expanded. The package was as easy to install as Textures (see below) because decompressing it yields folders already in their proper arrangements --- no further installation is required. It includes MetaFont, MetaPost, and the .dvi and PostScript utilities. OzTeX's font handling is based on the original TeX model with bitmapped .pk files. OzTeX is integrated with all TeX functions (TeXing, .dvi viewing, PostScript creation, and font creation) handled from within OzTeX. OzTeX allows one to print to non PostScript printers but requires particular configuration files to be loaded so the the image is appropriate to the resolution of the printer. I strongly preferred OzTeX to the other two shareware versions.

Textures 1.8

Textures is sold by Blue Sky Research (http://www.bluesky.com). The company's email is mailto:sales@bluesky.com. Its phone is (800) 622-8398 in the US and Canada. Textures is an expensive program. The PowerMac (actually Fat) version is $795 for single copies ($595 for academics). The non PowerMac version is $100 cheaper. The extra $100 does not seem worth it to me. There are student and multicopy discounts available, contact the company.

Improvements over version 1.7

For the benefit of Textures 1.7 users, I will list Textures 1.8's four areas of improvement. By far the most important is the Apple Event handling that will allow external editors to work conveniently with Textures (see below for details). The second are the improvements in the integrated editor. While I don't find them sufficient to displace external editors, they may be welcome to those who use the integrated editor regularly. These improvements include a multiple redo command, a display showing the currently selected precompiled format, the addition of block indent and block comment commands, and the shifting of the marks and macros menus into the editing window. The editor also adds basic wildcard searching and leaves the wrap around search flag set between restarts. The editor no longer switches to the Typeset window automatically. I like this change since in version 1.7 I was often yanked out of the editing window before I was ready. The third area of improvement is in the view window. Controls for switching pages and magnification are moved to a menu bar within the window. Also, the window allows continuous scrolling through the document. Textures adds an anti-aliasing (text smoothing) option though I find Adobe Type Manager's anti-aliasing to be faster and less fuzzy. Fourth, Textures now directly opens .dvi files. This is useful for reading files created on other TeX implementations.

Features and Comparisons

Installation

Textures 1.7 came on floppy disk. Seven for TeX and four for LaTeX. Version 1.8 came on CD. The advantage with the CD is that it included numerous additional tools that many TeX users retrieve from internet archives. These include AMS-TeX, the LaTeX source files, babel, the european CM fonts, and all of the unsupported and supported (by the authors, not by Blue Sky Research) packages for LaTeX available from the Comprehensive TeX Archive Network as of 5/29/1997. It also includes the Alpha 6.5 and BBEdit Lite 4.0 text editors, several dictionaries for the Excalibur spell checker, MetaFont 0.66, RTF->TeX, Lucida Bright font metrics, CM and AMS Adobe Font Metric Files, and the MathX viewer for Quark Express. Finally, the CD contains the HTML help pages from Blue Sky's web site. The full Textures manual is not included on the CD. Note that customers upgrading from version 1.7 do not receive a new printed manual (there are too few changes in the use of the program to warrant it).

Installation from a CD is obviously easier than from floppies. Installation time on a PowerMac 6360 was two minutes and thirty seconds. The installation was completed in one step except for the hidden fonts option. Because TeX uses so many fonts and Textures uses Macintosh system fonts, other programs wind up with long font menus filled with fonts that are only of use to Textures. The hidden fonts installation, which must be performed after the main installation, replaces the regular fonts with fonts that are only visible to Textures. This required another twenty seconds or so. The installer required a restart after installation (likely a wise choice but somewhat officious). Incidentally, the installer also has an empty help page.

Speed

I reviewed the PowerMac version of Textures. Compared to my 680x0 copy of version 1.7 (which I ran on an '030 machine) this version is like lighting. However, OzTeX is faster than Textures, both for plain TeX files and for LaTeX files. Some of this speed difference is due to the fact that Textures displays the .dvi file while it is typesetting but I doubt that can explain all of the difference. As an incomplete benchmark, I ran a 369K text file through both programs. For the plain TeX format, Textures took 14.58 seconds, OzTeX took 9.9. For the LaTeX run, Textures took 48.55 seconds without a precompiled format and 24.17 with one. OzTeX took 21.8 seconds without a precompiled format. OzTeX is also faster in creating Postscript files.

Usability

Some of the speed difference is made up by Textures in usability. Typesetting in Textures results in the .dvi file ready to view and print without extra steps. CMacTeX gets you to the .dvi file but the transition is a bit awkward and involves generation of missing fonts. OzTeX also gets you there but you have intermediate keystrokes to indicate desired resolution. This difference is minor however, particularly between Textures and OzTeX.

Fonts

CMacTeX and OzTeX use the bitmapped versions of Knuth's Computer Modern fonts. The practical upshot of this is that one must take care to have the required font in the appropriate size. In my attempts to learn OzTeX, I ran into missing font problems several times, including when attempting to view the OzTeX manual and when printing things. OzTeX is capable of using Postscript fonts though I did not play with this option. Textures' fonts are Blue Sky's Postscript versions of the CM fonts. They are installed in the system folder (but can be hidden from other programs). Since they are PostScript fonts (and therefore scalable), size problems do not occur. Note that printing to a non PostScript printer and smooth viewing on screen require Adobe Type Manager which is not included with Textures (Blue Sky Research sells it separately for $15).

Textures integrated editor

Textures includes an integrated text editor. To use Textures by itself, one simply edits the file in in the text window and views the typeset version in the typeset window. Coupled with Textures flash feature, where the file is retypeset after each change, one can have a relatively fast update to the typeset version. Unfortunately, the editor leaves much to be desired. Though it has features like the ability to block indent and block comment, elementary search and replace, and basic editing shortcuts, it lacks many features available in other text editors. There are improvements over the version 1.7 editor but they are minor. The two editors that I have used are BBEdit Lite from Bare Bones Software (http://www.barebones.com) and Pete Keleher's Alpha (http://www.cs.umd.edu/~keleher/alpha.html). While I prefer BBEdit's stability, Alpha is extraordinarily useful for composing LaTeX files since it has a menu of LaTeX (and AMS-LaTeX) commands together with a convenient completions routine. (The commercial version of BBEdit apparently includes some of these features, though I do not use it.) Textures' editor has a homespun macro ability (apparently unchanged from version 1.7) but it is cumbersome and cannot perform completions.

Apple Events and external text editors

Though external text editors cannot drive the flash feature, they can tell Textures to start a typeset job. Textures 1.8 has new Apple Events support which improves this ability. (Interested readers should see the Apple Events manual at http://www.bluesky.com/help/ techaevents.html.) Of greatest significance is the ability of Textures to send a list of its preinstalled formats and to maintain a dedicated window (identified with an id number assigned at first typesetting) for each typesetting job. Multiple jobs can be open at once. Even if one closes the job's windows within Textures, they remain available until the sending editor tells Textures to close that job. As long as one does not edit the file from within Textures, one can perform all editing in Alpha or another Apple Events capable editor and view the typeset page in Textures. (Editing a file within Textures that is also open within another editor will leave the editor unaware of Texture's changes.) Combined with a keyboard program switching utility, one can typeset, view, and switch back to editing with single-keystroke simplicity. Of course, OzTeX has been able to do this for many years.

Alpha version 6.5 had a collection of tcl macros that used the Textures 1.8 Apple Events interface. Alpha 7.0 does not support that collection but modifications are apparently in the works. Even without it, one can still send typesetting commands. What one loses is the ability to select precompiled formats from within Alpha. Files are initially typeset with the default file format which can be set by the user. One can still apply a different format to a document from within Textures.

There is a BBEdit plug-in package (available for the lite and full versions of BBEdit) that can send a typeset job and retrieve a list of and select precompiled formats. It is available from Brad Hanson's BBEdit plug-ins page (http://members.aol.com/BradH5/bbedit).

Textures does not have an Apple Event dictionary that can be accessed from within the Apple Script Editor but Blue Sky Research makes a Apple Event manual available on their web site at http://www.bluesky.com/help/ techaevents.html.

Custom LaTeX Formats

Both Textures and OzTeX allow the creation of custom formats. These formats allow one to input packages such as AMS-LaTeX, the Harvard bibliographic styles, etc. in a precompiled format so that documents using the format typeset faster. In Textures, one creates a file with the preamble commands desired and selects "Make Format" from the file menu. Textures builds the format and saves it within the original file. If that file is placed in the TeX Formats folder, it will be available each time Textures is started. Formats are assigned to an open document by selecting from the list in the format menu. One can also assign a default format. OzTeX uses the standard LaTeX method which is similar. Note that in Textures, external editors can select a precompiled format with an Apple Event command. In OzTeX, one adds a code to the source file itself. OzTeX's method is compatible with more editors but Textures allows format information to be manipulated by external editors. The difference is insignificant.

Conclusion

Textures is the fanciest implementation of TeX available for the Macintosh. It is also the most expensive. TeX has two significant advantages over competing programs. First, it uses Macintosh PostScript fonts. Missing font sizes and other complexities of traditional TeX fonts have been eliminated. Second, it streamlines viewing and printing by making the typeset page visible in an integrated window and printing through whatever Macintosh printers are available. Though high quality output will likely still be done with a PostScript printer, it is convenient for me to be able to print drafts on my printer and take only final versions to the office PostScript printer. Also, its installation process is fully automated, fast, and complete (as is OzTeX's). The advantages of Textures 1.8 over version 1.7 are, in my view, confined to the improved Apple Events support which will make an external editor convenient to use. The improvements in the integrated editor are minor.

Whether Textures is the best implementation depends on one's budget. In my view, the competition is between Textures and OzTeX. Textures' advantages over OzTeX are in usability, not in core functionality. Its disadvantage is in price. Let the users be the judges.