A Review of Blue Sky Research's Textures Typesetting Program

By William D. Walker

Agricultural Economics, Michigan State University

walker5@pilot.msu.edu

CONTENTS

INTRODUCTION TO TeX
WHO USES TEXTURES?
THE VIRTUES OF TeX
EXTENTIONS TO TeX: LaTeX and AMSLaTeX
INTRODUCTION TO TEXTURES
HARDWARE REQUIREMENTS
WHAT'S IN THE BOX
THE EDITOR
FONTS
FLASH MODE
GRAPHICS
TECHNICAL SUPPORT
MISCELLANEOUS COMPLAINTS
SUMMARY
APPENDIX A: A SAMPLE LaTeX INPUT FILE
BIBLIOGRAPHY
BLUE SKY CONTACT INFORMATION

INTRODUCTION TO TeX

This is a review of Blue Sky Research's Textures typesetting program. Textures is a Macintosh implementation of Donald Knuth's TeX program. Textures (and TeX) is an extraordinarily powerful typesetting program. It is programmable, employs sophisticated algorithms for line breaking, hyphenation and so on, employs a text markup language that is of particular value in representing mathematics, is available on scores of platforms (TeX, that is, not Textures), and is multilingual. Textures improves on standard TeX (while remaining compatible with it) in font handling, file organization, and previewing. I am impressed with Textures (not to mention TeX). As a user of other TeX systems, I found Textures' clean interface, font handling, and previewing features extraordinary. It was faster than other systems as well.

Before discussing Textures itself, I will give a too brief description of TeX. Interested readers are encouraged to consult the references. TeX is versatile and powerful and has been employed for innumerable types of documents in countless disciplines. I can but scratch the surface.

Donald Knuth, a mathematician and computer scientist, now emeritus professor at Stanford University, began developing TeX (pronounced 'techhh') and its companion font generation program METAFONT in 1978. (Knuth 1979.) Knuth designed TeX for the "creation of beautiful books---and especially for books that contain a lot of mathematics." (Knuth 1986.) Knuth was disturbed by the increasing expense and decreasing quality of hand set type. METAFONT produces pleasing fonts from design parameters. (It was designed before PostScript or TrueType.)

TeX was written using the WEB system, allowing it to be ported to different systems. There are TeX implementations for Amiga, Atari, Macintosh, MSDOS, Windows NT, OS/2, Unix and VMS, among others. Unlike with other programs, there is little difficulty transferring files among systems. This is for three reasons. (1) there is a clear standard for a program to be "TeX"; (2) TeX input files are marked up ASCII text---easily transferable; and (3) TeX is built from the ground up and does not rely on system-specific features. A TeX input file will produce identical output on all TeX systems. This has made TeX popular in the academic community.

TeX has been frozen by Knuth. Apart from major bug corrections, he will make no changes to the program. (Knuth 1990.) TeX's version number now converges to pi (it is currently at 3.14159). METAFONT has become less important as other font technologies emerge. In particular, Textures uses PostScript versions of Knuth's Computer Modern fonts (as well as other PostScript and TrueType fonts).

WHO USES TEXTURES?

According to Blue Sky Tech Support, about half of their direct sales are to academics (they cannot track resales by vendors). Other major users are scientific publishing houses and scientific government agencies and laboratories. LaTeX's (see below) language abilities and format-switching abilities have an appeal in the humanities as well. According to Blue Sky, they are developing an Xtension for QuarkXpress to integrate Textures into traditional desktop publishing. I personally expect many of the design concepts in TeX to be incorporated into other publishing tools. (I have read, for instance, that AmiPro's equation editor uses TeX markup internally.)

THE VIRTUES OF TeX

TeX is flexible. Indeed it is more accurate to describe TeX as a programming language than a typesetter. (A BASIC compiler has been written in TeX!) (Goossens 1994.) This makes TeX extraordinarily versatile and possibly daunting. Fortunately, basic typesetting is relatively simple. Users who find themselves battling against their wordprocessors' limitations may find TeX's extendability appealing. Whereas WordPerfect, Nisus and others provide macro languages to modify their basic functions, TeX is in some sense only a programming language. Ordinary use of TeX does not require programming knowledge but even amateurs can "tweak" fairly easily.

TeX is international. There are at least 12 TeX users groups around the world. A partial list of languages supported by TeX is arabtex; chinese; devanagari; english; ethiopian; french; german; greek; hebrew; icelandic; indian; italian; japanese; korean; malayalam; oriental; polish; portuguese; scyrillic; swedish; tamil; telugu; turkish and vietnamese. The Babel system for LaTeX (see below) supports the following languages: breton; catalan; croatian; czech; danish; dutch; english; esperant; estonian; finnish; francais; galician; german; irish; italian; isorbian; magyar; norsk; polish; portuges; romanian; scottish; slovak; slovene; spanish; swedish; turkish; and usorbian.

(I have not used TeX's language capabilities. The above lists were culled from the Comprehensive TeX Archive Network. I do not claim they are exhaustive. Interested readers should consult the references (listed below).)

TeX is precise. TeX calculates text placement in RSU's (Ridiculously Small Units) which are approximately 100 times smaller than the wavelength of visible light. (There are 65536 RSU's to a point.) TeX employs very good algorithms for line breaking, hyphenation and other typesetting tasks. TeX output looks good.

TeX is mature. This system has been in use for a long time, as far as programs go. It has an extremely professional underlying design (the sort of work that comes from love of quality rather than love of profits). There are hundreds of extensions available and interested users can design their own.

Though TeX is a powerful typesetting system, it has shortcomings. The most important in my opinion are in usability, incorporation of graphics, and compatibility with other wordprocessors' file formats. The file formats problem is largely unsolvable (though there are TeX to RTF, TeX to WordPerfect, and other translators available) since TeX is vastly more versatile and changeable than wordprocessors. (Though remember that TeX files are marked-up ASCII and therefore readable by any system---with the commands intact.) Graphics will be discussed in the review of Textures proper. There is controversy of the usability issue. TeX is clearly not WYSIWYG and one must learn TeX's syntax. On the other hand, the markup commands employed by TeX (and LaTeX, see below) are intuitive. In particular, the mathematics commands are vastly easier to use than graphical equation editors. Some feel that extensions such as LaTeX (see below) make TeX easier to use by providing "canned" formats. In any event, TeX is a powerful, and therefore complicated, system. For people who write short letters, memos and reports (without much mathematics), TeX is overkill. (In my opinion Word, WordPerfect and other major wordprocessors are also overkill for these tasks.) People who write longer, more technical documents, or whose publishers prefer the TeX format, can benefit from TeX's flexibility and quality.

EXTENTIONS TO TeX: LaTeX and AMSLaTeX

LaTeX, a package which extends (and modifies) TeX, was developed by Leslie Lamport in the early 1980's. It adopts the document-markup philosophy. In general, documents have a logical structure which should be represented to the computer. For instance, quotations, headers, emphasized text, and lists are all structured pieces of a document. The way in which these pieces are formatted may change (e.g. the indentation of a quotation may change) but the logical structure remains. LaTeX provides standardized formats for letters, books, articles, reports, and slides. (See the sample in Appendix A.) The typist marks logical pieces of the document (for instance, quotations are marked as "\begin{quote} ... [quotation] ... \end{quote}"). If a different appearance is desired for quotations, the quotation environment is changed globally. This results in uniform appearance, and the ability to quickly reformat a document for different settings (e.g. transforming a journal article into a format for inclusion in a book). In the mathematics community in particular, documents are marked-up generically and then given the appropriate style (e.g. for American Mathematical Society journals) at publication time. Though TeX is frozen, LaTeX continues to undergo development. The LaTeX3 project is working on, among other things, allowing easier changes to style files (book, report, etc.) and improving bibliography handling.

Included in the LaTeX world are programs to manage and format bibliographies (e.g. BibTeX, the Camel Citator, etc.) and indices (e.g. MakeIndex). The bibliography tools for LaTeX allow reformatting of a general bibliography file into forms suitable for hundreds of different publications. (There are tools available for plain TeX bibliographies as well.) The standard approach in LaTeX is to mark citations in the document with the "\citation" command, give LaTeX the name of a separate ASCII file which contains bibliographic data (and keys to connect the entries to the "\citation" commands), have the program BibTeX do the work of formatting the bibliography (in the selected bibliography style), then have LaTeX combine the formatted bibliography with the document. The bibliography data files must be in a particular format. If one wanted to use a different bibliography manager, one would need to dump the contents of a data file into an ASCII file with the proper format. There is at least one extension to the BibTeX approach (the Camel citator, visit http://rumple.soas.ac.uk/camel-link/camel.html) which can directly use ProCite, EndNotes Plus, Reference Manager and Papyrus.

One more package deserves mention. TeX has a strong heritage in mathematical typesetting. It was so good at typesetting math that it was adopted by the American Mathematical Society (AMS). The AMS has developed an extension to LaTeX, called AMSLaTeX (as well as an earlier extension to plain TeX: AMS-TeX) which further improves LaTeX's already powerful mathematical typesetting abilities. For writers whose documents contain some mathematics, and who care about output quality, LaTeX and AMSLaTeX are vital. Though other programs such as WordPerfect and MS Word offer equation editors, they are clumsy to use, produce relatively poor output, and, most importantly, cannot be extended by the user to handle new typesetting requirements. AMSLaTeX explicitly allows the creation of new mathematics symbols which obey mathematical typesetting rules relating to spacing, line length and height, placement of limits and other things.

INTRODUCTION TO TEXTURES

As a skillful programmer (TeX embodies Knuth's philosophy of "elegant programming"), Knuth created a program that does its job exceptionally well but without much concern for the user's comfort. Many of TeX's users, particularly in the early years, were programmers and mathematicians---the sort of people who love to tinker with algorithms. This was also the era of command-line operating systems. As a result, TeX is primarily a command-line program whose Unix-like flavor shows through.

Textures does its best to transform TeX into a comfortable Macintosh program. Though the basic TeX system is there (including, of course, TeX's document markup syntax), Textures cleans up and groups the scattered files which make up the typical TeX system, adds a nice system for graphics, incorporates Macintosh font handling, integrates printing and provides an integrated (though simple) Macintosh text editor which includes a customizable macros menu to simplify typing of [La]TeX commands. The show piece of Textures is its "flash mode" in which the document is continually typeset while you edit it. (In ordinary TeX implementations, the document is written, saved, typeset, previewed or printed, edited and retypeset.) In addition, Textures has recompiled some of the TeX code to increase speed.

HARDWARE REQUIREMENTS

Textures is a full TeX implementation (version 3.1415). Textures runs on all Macs. A PowerPC Native version is available for a higher price. Blue Sky's specifies a 4 meg memory partition for running the LaTeX format. The key variables for memory usage are the document size and format (Plain TeX is easier than LaTeX). Textures runs under System 6.04 or later (including System 7.5---my installation). It currently does not like Quickdraw GX. One needs Adobe Type Manager for clean screen display and for printing on QuickDraw (non PostScript) printers. ATM is not included but is available from Blue Sky for \$15. (The ATM included with Quickdraw GX (System 7.5) works on my system though I do not have any other parts of Quickdraw GX installed.) Textures prints through the Chooser like any well-behaved Mac program and consequently can print to any Chooser extension (printers, fax machines, etc.). (This is only surprising to people familiar with TeX on other systems.)

WHAT'S IN THE BOX

The Textures package includes eight disks (five for Textures and the PostScript Computer Modern fonts, three for LateX2e), the Textures manual, an installation pamphlet, an order form for TeX and LaTeX reference books, and a pamphlet depicting the Computer Modern typefaces. (As a nice touch, the fonts pamphlet has concealed within it Mark Twain's essay on the evils of watch repair.) When registering, users are sent a TeX or LaTeX reference manual of their choice (less-than-full-price customers, including students and software reviewers, do not get the free book). The Blue Sky manual is very well done. Its index is excellent and it covers installation and technical topics clearly. It does not tell you how to use TeX or LaTeX. If you do not have one of the [La]TeX reference manuals when you install Textures you will feel powerless.

Installation is straightforward. Total disk size is around 8 megabytes for the (full) 680x0 version including BibTeX, MakeIndex and the Latex2e source code (for those whizzes who want to recompile it). The PostScript fonts are around 2 megabytes. (My installation is 14 megabytes but includes AMSLaTeX and the AMSLaTeX fonts.)

THE EDITOR

Textures includes a text editor for creating TeX input files. It features ordinary Mac cut and paste, find and change, word wrapping, an autoindent feature, the ability to mark places in the file and the standard Mac cursor and highlighting commands. It is minimalist to say the least. The lack of wordprocessor features like bold and centering is obviously valid since TeX is not a WYSIWYG wordprocessor. More disturbing is the lack of editing tools like twiddling (switching characters), delete word, line and paragraph commands, capitalize word commands and others. A recent files menu would be useful.

The shortcomings of the editor are less serious since Textures receives Apple Events and can be used with other text editors. Among the many available for the Mac are the freeware BBEdit Light and Tex-Edit Plus (available on InfoMac among others) and the Shareware Alpha (ftp://www.cs.umd.edu/pub/faculty/keleher/Alpha/). There is also a GNU Emacs for the Mac (believe it or not). ("Tex-Edit" refers to the state of Texas, not TeX.)

The Textures editor includes a Macros menu. This is not to be confused with the macro languages of other wordprocessors. The Textures editor macros have a simple purpose: the insertion of canned [La]TeX text. Each TeX format (plain TeX, LaTeX, AMSLaTeX, or user defined formats) can be assigned a set of macros. For instance, the LaTeX macros menu has entries for the standard commands for formats (book, article, etc.), sectioning (chapter, section, etc.), environments (lists, math mode, quotations, centering, footnotes, marginal notes, etc.), and common symbols (the Greek alphabet and some math symbols). One can add keystroke equivalents to the macros but the number of keys is currently limited to only 12 keys (though Blue Sky "expects this to improve in future versions" (Textures Users Guide)).

The macro menu is nice (and is user-customizable) but it has two shortcomings. First, the macros for LaTeX are out of date and incomplete. For instance, LaTeX now has a Slides format which is not included in the Textures format menu. It would be straightforward for me to add it but I would prefer not having to. Second, the macro language is very simple. It has nine commands, three define the menu appearance, one is for comments, the remainder affect the macro itself. For example, the "bold" command inserts "{\bf }" (the LaTeX bold environment) and places the cursor just before the right bracket. A more complicated language, such as that used by the Alpha editor, would make the bold command interactive by defining a key for moving the cursor past the right bracket when the bold text was entered. In this example that hardly seems necessary, but in more complicated environments (like the letter environment which has "fields" for return address, addressee, opening, closing, signature, enclosures and cc) it would be useful. On the other hand, Alpha's macro language is more than I want to learn.

FONTS

A word about TeX fonts. Since TeX is a sophisticated system, it needs detailed font information. TeX separates metric information (width, height, depth, kerning, ligatures, etc.) from face information (the font's appearance). Early (and many current) TeX implementations had TeX Font Metric (TFM) files and Packed Pixel (PK) font files (bitmapped fonts). One needed different TFM and PK fonts for different display sizes (10 pt vs. 12 pt) and different qualities (300 dpi vs. 600 dpi). The use of outline fonts (PostScript and TrueType) reduces the need for different size and quality files (outline fonts are scalable and print at arbitrary quality). Note however that even scalable fonts have a design size. A 10 pt designed font scaled to 30 pt looks different than a 30 pt designed font at 30 pt.

Textures includes PostScript fonts (a version of Knuth's Computer Modern font) and can use TrueType fonts as well. (Note that Textures includes PostScript fonts at many different design sizes. Compare this to the Macintosh Operating system and typical PostScript font collections which provide a single design size, usually around 18 pt.) The factor limiting Textures' use of a font is the availability of metric information. PostScript fonts contain sufficient metric information (usually left unused by Mac applications) which is extricable using the Textures EdMetrics tool (which is easy to use though not self-explanatory). TrueType fonts may or may not have sufficient metric information (also extricable by EdMetrics). The Mac's Helvetica does not. Times does. (The lack of metrics information is not fatal, it just reduces output quality.) Textures can used bitmapped fonts as well if necessary. (The American Mathematical Society distributes bitmapped special symbol fonts in various sizes. Visit http://e-math.ams.org/.)

Textures ability to conveniently use any PostScript or TrueType font is an improvement over other TeX implementations but will seem ordinary to regular Mac users.

FLASH MODE

In ordinary TeX, one repeats a typeset-preview-correct cycle. The delay between making a correction and seeing the new output can be annoying. (Though it does discourage the habit of making numerous style changes to a document while you write it. How many of you haven't restyled a title page repeatedly instead of doing actual work?)

Textures avoids this delay through its flash mode. In flash mode, the typesetting engine retypesets the document as you type. Since this is still TeX, the typesetting involves a complete run through of the document, so changes do not appear instantaneously. TeX has to get from the document's beginning to the point of the change. For users of TeX on other systems, flash mode is fantastic. For WYSIWYG fans it is slow. For example, in plain TeX, it took about 10 seconds for a change at the end of a five page document to be reflected in the typeset window. In LaTeX the same change took about 22 seconds since LaTeX does more setup calculations. (The change took 14 second using the suggested "canned" format trick for LaTeX.) Textures starts over at each keystroke so to see the results one must pause in typing. Blue Sky quotes speed improvements of 3.7 times for the PowerPC native version. Note that speed depends critically on the document's format (Plain TeX, precompiled LaTeX, or LaTeX---from fastest to slowest). Screen redraw depends on the PowerPC nativeness (nativity?) of ATM.

When composing a document, I turn flashmode off. It slows down typing, results in continuous disk access, and doesn't show me anything useful. When composing I am interested in what I am writing, not in how it looks. But for correcting the final copy, flash mode is wonderful. The correct and retypeset cycle is still there but is automated. Textures starts the typesetting for me and I do not have to save the document and switch to a separate TeX program as one must do with other implementations. The delay in seeing the final product is not as annoying as you may imagine. My process is to read through the typeset output until I find an error, correct that error and then look at the input text while the typesetting continues. I can scan the input text for syntax or content errors for the ten seconds until the typeset view is available. Given the benefits of TeX, the delay is worth it, particularly since the delay only occurs during the final proofing stage.

GRAPHICS

Textures imports graphics through copy/paste, PICT, and Encapsulated PostScript Files (EPSF). Macros for including EPSF in TeX documents are included. Textures can export typeset pages via copy/paste and via the Adobe Illustrator/EPSF format. (Blue Sky suggests viewing TeX output as an input to further document (graphics) processing---a reversal of the usual TeX "paradigm.")

Textures is not a WYSIWYG system. There are no drawing tools (like those in WordPerfect for example) in Textures, though one can incorporate PostScript commands (yes, the real low level commands) directly into a TeX document. (This is clearly a capability for wizards only.) One can place a given graphic from another application (in EPSF or PICT format) directly into a TeX document. One specifies the size of the box, text flow and other things directly in TeX. One commonly uses the included TeX macros to do this---such as the BoxedEPS, EPSF, or PSFIG macros. Textures includes a pictures window (similar to the Mac Scrapbook) for display of PICT images. These images must still be included in the document by use of commands similar to those for EPSF files. The pictures window merely serves to collect PICT images in one place and provides information on the images' dimensions. When previewing the typeset document, the images appear properly in the typeset document. The typeset preview window is an accurate rendition of the final output (limited by the resolution of the screen and the scale of the bitmap preview). Note that for PostScript files to appear in the typeset preview window, they must include a PICT preview.

TECHNICAL SUPPORT

I had no technical questions for myself (a credit to the manual) but I interacted somewhat with Tech Support in preparing this review. Blue Sky is a small, dedicated company. Their people are friendly. As far as I can tell, Blue Sky's programmers work hard to produce a good program and take suggestions from users. (Can the same be said of Microsoft?)

One problem: Blue Sky cannot provide support for the myriad extensions to TeX and LaTeX. Blue Sky provides a referral service to professional TeX consultants. There are also numerous references on TeX and LaTeX---both in print and on-line.

According to Tech Support, most user questions are about printing, fonts, incorporation of graphics or creating new LaTeX formats. Blue Sky's web site has answers to such frequent questions.

MISCELLANEOUS COMPLAINTS

I had a few minor complaints. The close file dialog box lacks command key equivalents (e.g. for "No, I don't want to save this file"). Document file names cannot contain spaces (this is TeX's fault, not Textures). In the typeset window, one cannot conveniently scroll from the bottom of one page to the top of the next. Switching pages keeps you at the same part of the page, top or bottom. (WordPerfect 3.0 had this same problem.) But these are cosmetic problems. The core of Textures was fast, usable and stable.

SUMMARY

Textures is a TeX system. This is either a fundamental flaw or a fundamental perfection, depending on your perspective (I choose the latter). Readers of this article will likely be interested in TeX's output quality or programmability. Its mathematical typesetting ability may also be of interest. If you are interested in Textures but fear TeX I encourage you to check out TeX for the Beginner by Wynter Snow and A Guide to LaTeX by Helmut Kopka and Patrick Daly. Both are beginner books. The TeXbook (Knuth 1986.) is technical but a lot of fun. The standard LaTeX book is LaTeX: A Document Preparation System by Leslie Lamport.

Textures failings are largely cosmetic. The editor is too minimalist, the Macro language needs strengthening, dialog boxes could be spruced up. Its core function, typesetting TeX files, it does fast and well. Its incorporation of standard Mac features (graphics, font selection, etc.) is well done. On the whole, I am impressed.

APPENDIX A: A SAMPLE LaTeX INPUT FILE

With a typical wordprocessor like WordPerfect, one formats the pieces of a document individually. For a letter, one sets the return address at the right margin, selects a font, skips a few lines, sets the addressee in another font, then begins the body text. Though one can attach styles to paragraphs, one cannot identify pieces of text with any greater precision.

In contrast, in LaTeX, one uses the predefined Letter environment. One can modify this environment within LaTeX or design something similar in Plain TeX. The environment is a "program". It defines fields for return address, addressee, opening, closing, signature, enclosures and cc. The placement, font and style of these fields is defined in the format. One creates a plain text file using LaTeX command syntax for the letter. For instance, the full letter environment might look like this:

\documentclass[12pt]{letter} \address{%

 Joe Macuser \\

 Anywhere \\

 Anytime \\ 

 Any PowerMac \\ }

 \date{August 8, 1995} % Or use TeX's date command: \date.

 \signature{Joe}

 \begin{document}

 \begin{letter}{%

 Bill Gates \\ 

 Microsoft Corporation \\ }

 \opening{Dear Napoleon,}

 % BODY OF LETTER

 \closing{Sincerely,}

 \encl{A copy of MacUser}

 \cc{John Dvorak}

 \end{letter}

 \end{document}

 Note: \ marks commands, 

 % is a comment character (remainder of line is ignored),

 \\ forces a new line,

 {} enclose required arguments,

 [] enclose optional arguments.

BIBLIOGRAPHY

(Goossens 1994) Michael Goossens. The LaTeX Companion. Addison, Reading, Mass. 1994.

(Knuth 1979) Donald E. Knuth. "Mathematical Typography." Bulletin of the American Mathematical Society, March 1979, Vol. 1, No. 2, pp. 337-372. The Josiah William Gibbs Lecture, January 4, 1978. Reprinted in TeX and METAFONT, New Directions in Typesetting. American Mathematical Society and Digital [Equipment Corp.] Press. 1979.

(Knuth 1986) Donald E. Knuth. The TeXbook, volume A of Computers and Typesetting. Addison-Wesley, Reading, 1986. (A more recent version may be available).

(Knuth 1990) Donald E. Knuth. The Future of TeX and METAFONT. TUGboat, 11(4):489, November, 1990.

(Kopka) A Guide to LaTeX. Helmut Kopka and Patrick Daly.

(Lamport) LaTeX: A Document Preparation System by Leslie Lamport.

(Snow) TeX for the Beginner. Wynter Snow.

(Textures Users Guide) Textures Users Guide. Blue Sky Research. Written by Mark Metzler.

TeX Frequently Asked Questions.

WWW Page.

The Comprehensive TeX Archive Network (CTAN) contains gigabytes of TeX related files including documentation and the many extensions available for TeX.

Blue Sky Contact Information

Blue Sky Research is located in Portland, Oregon.

Their Web page contains detailed information on product pricing, student discounts, specifications, technical support, documentation and upgrades.

Blue Sky Sales's email address is sales@bluesky.com
or you can call 800-622-8398/503-222-9571
or you can fax 503-222-1643
or you can send real mail to

Blue Sky Research
534 SW Third Ave.
Portland, OR 97204 USA

jmfarmer@students.wisc.edu

All materials on this page and related H-Mac pages are copyright the individual authors and may not be used without permission of the individual authors.
Last Update: 31 August 95