70 MAPS 37 Jonathan Kew

TEXworks: lowering the barrier to entry

Abstract and feel” for each platform being a realistic target. A multi-platform competitor for TeXShop is described: also provides a rich application framework, facilitating TEXworks. the relatively rapid development of a usable product. The standard TEXworks workflow will also be PDF- Keywords centric, using pdfTEX and XeTeX as typesetting engines editor, gui, interface, multi-platform, TeX front-end, and generating PDF documents as the default format- TeXShop ted output. Although it will still be possible to config- ure a processing path based on DVI, newcomers to the TEX world need not be concerned with DVI at all, but Introduction can generally treat TEX as a system that goes directly from marked-up text files to ready-to-use PDF docu- One of the most successful T X interfaces in recent E ments. years has been Dick Koch’s award-winning TeXShop T Xworks includes an integrated PDF viewer, based on MacOSX. I believe a large part of its success has E on the library, so there is no need to switch been due to its relative simplicity, which has invited to an external program such as Acrobat, xpdf, etc., to new users to begin working with the system without view the typeset output. The integrated viewer also baffling them with options or cluttering their screen allows it to support source ↔ preview synchronization with controls and buttons they don’t understand. Ex- (e.g., control-click within the source text to locate the perienced users may prefer environments such as iTeX- corresponding position in the PDF, and vice versa). Mac, AUCTeX (or on other platforms, WinEDT, , This capability is based on the “SyncT X” feature de- , or many others), with more advanced edit- E veloped by Jérôme Laurens, now integrated into the ing features and project management, but the simplic- XeTeX and pdfT X engines in T X Live 2008, MikT X, ity of the TeXShop model has much to recommend it E E E and other current distributions. for the new or occasional user. Besides the relatively “clean” interface, a second fac- tor in TeXShop’s success is probably the use of a PDF- Features for initial release centric workflow, with pdfT X as the default typeset- E Figure 1 shows the current T Xworks prototype run- ting engine. PDF is the de facto standard for fully- E ning on Windows Vista. While this is not a finished in- formatted pages; every user knows what a PDF file is terface, it gives an impression of how the application and what they can do with it. Bypassing DVI reduces will look. T Xworks version 0 will be an easy-to-install the apparent complexity of the overall process, and E application offering: so reduces the “intimidation factor” for a newcomer. But TeXShop is built on MacOSX-specific technologies, 1. Simple (non-intimidating — this is not emacs or and is available only to Mac users. There does not vi!) GUI text editor with seem to be an equivalent tool available on other plat- a. Unicode support using standard OpenType forms; there are many T X editors and environments, E fonts but none with this particular focus. b. multi-level undo/redo The T Xworks project is an effort to build a similar E c. search & replace, with (optional) regular T X environment (“front end”) that will be available for E expressions as well as simple string match all today’s major desktop operating systems — in par- d. comment/uncomment lines, etc. ticular, MS Windows (XP and Vista), typical GNU/ e.T X/LaT X syntax coloring distributions, and other X11-based systems, in addi- E E f.T X-aware spell checker tion to MacOSX. E g. auto-completion for easy insertion of common To achieve this, T Xworks is based on cross- E commands platform, open source tools and libraries. In particular, h. templates to provide a starting point for com- the Qt toolkit was chosen for the quality of its cross- mon document types platform user interface capabilities, with native “look TEXworks: lowering the barrier to entry NAJAAR 2008 71

Figure 1. A recent TEXworks build running on Windows Vista: source and preview windows, with the TeXShop-style magnifying glass in use.

2. Ability to run TEX on the current document to Current status generate PDF An early T Xworks prototype was demonstrated at the a. extensible set of T X commands (with common E E BachoTeX conference (April 2008). It became more commands such as pdftex, pdflatex, xelatex, widely available version (though still considered a pro- , etc. being preconfigured) totype, not a finished release) when a version was b. also support running BibTeX, Makeindex, etc. posted in mid-July before the TUG 2008 conference. c. any terminal output appears in a “console” The current code is available as source (easy to build panel of the document window; automatically on typical GNU/Linux systems), and as precompiled hidden if no errors occur binaries for Windows and MacOSX. d. “root document” metadata so “Typeset” works At this time, the application supports text editing from an \included file and PDF viewer windows, and has the ability to run 3. Preview window to view the output a typesetting job and refresh the output view, etc. a. anti-aliased PDF display There is not yet any documentation, and many poten- b. automatically opens when T X finishes E tial “power user” features do not yet exist, but it is a c. auto-refresh when re-typesetting (stay at same usable tool in its current state. In addition to Windows page/view) (XP and Vista), it runs on MacOSX (see figure 2) and d. TeXShop-like “magnifying glass” feature to GNU/Linux systems (figure 3). examine detail in the preview A few features remain to be implemented before e. one-click re-typesetting from either source or a formal release of “version 0”, including “single in- preview stance” behavior, and various options for window po- f. source ↔ preview synchronization based on sitioning; appropriate installer packages for MacOSX Jérôme Laurens’ SyncT X technology E and Windows are also needed, to simplify setup. More information may be found online via the TEXworks home page at http://texworks.org/. 72 MAPS 37 Jonathan Kew

Invitation to participate TEXworks is a free and open source software project, and all are welcome to participate and contribute to its development. This does not necessarily mean writing code; many other roles are equally important. Some possible ways to participate include:

use the prototype for some real work, and give 2 feedback on what’s good, what’s bad, what’s broken – if there’s a current binary download available for your platform, try that – get the code and try building it on your plat- Figure 2. T Xworks running on MacOSX: using the E form; provide bug reports (and fixes!) for Preferences dialog to configure a typesetting tool. whatever problems show up dig in to the code, and submit patches to implement 2 your favorite missing features write on-line help, documentation and tutorials for 2 newcomers to TEXworks and TEX review and enhance the command completion lists 2 available for the integrated editor provide well-commented templates for various 2 types of document design icons for the toolbars, etc.; TEXworks has 2 some nice icons from Qt and the Tango project, but others are merely rough placeholders use the Qt Linguist tool to localize the user interface 2 for your language package TEXworks appropriately for your favorite 2 GNU/Linux or BSD distribution, or create an Figure 3. TEXworks running on a typical GNU/Linux installer for Windows or MacOSX system (Ubuntu). There is a TEXworks mailing list for questions and Future plans discussions related to the project; for details, see: http://tug.org/mailman/listinfo/texworks/. After the release of version 0, several major additional The T Xworks source itself is maintained in a Google features are planned; some ideas high on the priority E Code project at http://code.google.com/p/texworks/. list include: Resources available through this site include the Sub- version source repository, precompiled binaries for intelligent handling of T X errors E Windows and MacOSX, and an issue tracker for bug assistance with graphics inclusion and format 2 reports and feature suggestions. 2 conversions text search and copy in the PDF preview 2 support rich PDF features such as transitions, Thanks embedded media (sound, video), annotations, etc. 2 The T Xworks project arose out of discussions at sev- customizable palettes of symbols, commands, etc. E eral recent TUG meetings, and has received generous T X documentation lookup/browser 2 E support from TUG’s T X development fund and its con- interaction with external editors and other tools E 2 tributors, and from UK-TUG. Special thanks to Karl additional support for navigating in the source, 2 Berry for his encouragement and support, and to Dick e.g., “folding” sections of text, recognizing docu- 2 Koch for showing us the potential of a clean, simple ment structure tags such as \section, etc. TEX environment for the average user.

I expect development priorities to be guided by user Jonathan Kew feedback as well as developer interest, once the initial [email protected] version 0 release is available.