One of the most successful TeX interfaces in recent years has been Dick Koch’s award–winning TeXShop on Mac OS X. I believe a large part of its success has been due to its relative simplicity, which has invited new users to begin working with the system without baffling them with options or cluttering their screen with controls and buttons they don’t understand. Experienced users may prefer environments such as iTeXMac, AUCTeX (or on other platforms, WinEDT, Kile, TeXmaker, or many others), with more advanced editing features and project management, but the simplicity of the TeXShop model has much to recommend it for the new or ocasional user.
Besides the relatively “clean” interface, a second factor in TeXShop’s success is probably its PDF–centric workflow, with pdfTeX as the default typesetting engine. PDF is the de facto standard for fully–formatted pages, and every user knows what a PDF file is and what they can do with it. Bypassing DVI reduces the apparent complexity of the overall process, and so reduces the “intimidation factor” for a newcomer. But TeXShop is built on Mac OS X–specific technologies, and is available only to Mac users. There does not seem to be an equivalent tool available on other platforms; there are many TeX editors and environments, but none with this particular focus.
This is the background to TeXworks, which aims to provide a simple TeX environment based on modern standards — including Unicode encoding and PDF output by default — with an uncluttered interface that does not overwhelm the newcomer. It is built using cross–platform, open–source tools and libraries, so as to be available on all today’s major operating systems, with a native “look and feel” for each.
TeXworks also works with the new SyncTeX extension designed by Jérôme Laurens for pdfTeX and XeTeX, to provide a two–way link between source text and PDF output without requiring any modifications to the source document or support at the macro package level.
This presentation will discuss the goals and features of the TeXworks project, describe the implementation that has been developed, and show the capabilities of the current prototype.