Texworks: Lowering the Barrier to Entry
Total Page:16
File Type:pdf, Size:1020Kb
TEXworks: Lowering the barrier to entry Jonathan Kew 21 Ireton Court Thame OX9 3EB England [email protected] 1 Introduction The standard TEXworks workflow will also be PDF-centric, using pdfT X and X T X as typeset- One of the most successful TEX interfaces in recent E E E years has been Dick Koch's award-winning TeXShop ting engines and generating PDF documents as the on Mac OS X. I believe a large part of its success has default formatted output. Although it will still be been due to its relative simplicity, which has invited possible to configure a processing path based on new users to begin working with the system with- DVI, newcomers to the TEX world need not be con- out baffling them with options or cluttering their cerned with DVI at all, but can generally treat TEX screen with controls and buttons they don't under- as a system that goes directly from marked-up text stand. Experienced users may prefer environments files to ready-to-use PDF documents. T Xworks includes an integrated PDF viewer, such as iTEXMac, AUCTEX (or on other platforms, E based on the Poppler library, so there is no need WinEDT, Kile, TEXmaker, or many others), with more advanced editing features and project man- to switch to an external program such as Acrobat, agement, but the simplicity of the TeXShop model xpdf, etc., to view the typeset output. The inte- has much to recommend it for the new or occasional grated viewer also allows it to support source $ user. preview synchronization (e.g., control-click within Besides the relatively \clean" interface, a sec- the source text to locate the corresponding position ond factor in TeXShop's success is probably the use in the PDF, and vice versa). This capability is based on the \SyncT X" feature developed by J´er^omeLau- of a PDF-centric workflow, with pdfTEX as the de- E fault typesetting engine. PDF is the de facto stan- rens, now integrated into the X TE EX and pdfTEX en- dard for fully-formatted pages; every user knows gines in TEX Live 2008, MiKTEX, and other current what a PDF file is and what they can do with it. distributions. Bypassing DVI reduces the apparent complexity of 2 Features for initial release the overall process, and so reduces the \intimida- tion factor" for a newcomer. But TeXShop is built Figure 1 shows the current TEXworks prototype run- on Mac OS X-specific technologies, and is available ning on Windows Vista. While this is not a finished only to Mac users. There does not seem to be an interface, it gives an impression of how the applica- equivalent tool available on other platforms; there tion will look. TEXworks version 0 will be an easy- to-install application offering: are many TEX editors and environments, but none with this particular focus. 1. Simple (non-intimidating | this is not emacs or The TEXworks project is an effort to build a vi!) GUI text editor with similar TEX environment (\front end") that will be i. Unicode support using standard OpenType available for all today's major desktop operating sys- fonts tems | in particular, MS Windows (XP and Vista), ii. multi-level undo/redo typical GNU/Linux distributions, and other X11- based systems, in addition to Mac OS X. iii. search & replace, with (optional) regular expressions as well as simple string match To achieve this, TEXworks is based on cross- platform, free and open source tools and libraries. In iv. comment/uncomment lines, etc. particular, the Qt toolkit was chosen for the qual- v. (LA)TEX syntax coloring ity of its cross-platform user interface capabilities, vi. TEX-aware spell checker with native \look and feel" for each platform being vii. auto-completion for easy insertion of com- a realistic target. Qt also provides a rich application mon commands framework, facilitating the relatively rapid develop- ment of a usable product. viii. templates to provide a starting point for common document types 362 TUGboat, Volume 29 (2008), No. 3 | Proceedings of the 2008 Annual Meeting TEXworks: Lowering the barrier to entry 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 3 Current status generate PDF: An early TEXworks prototype was demonstrated at i. extensible set of TEX commands (with com- the BachoTEX conference (April 2008). It became mon commands such as pdftex, pdflatex, more widely available (though still considered a pro- xelatex, context, etc. preconfigured) totype, not a finished release) when a version was ii. also support running BibTEX, Makeindex, posted in mid-July before the TUG 2008 conference. etc. The current code is available as source (easy to build on typical GNU/Linux systems), and as precompiled iii. any terminal output appears in a \console" binaries for Windows and Mac OS X. panel of the document window; automati- At this time, the application supports text edit- cally hidden if no errors occur ing and PDF viewer windows, and has the ability to iv. \root document" metadata so \Typeset" run a typesetting job and refresh the output view, works from an \included file etc. There is not yet any documentation, and many 3. Preview window to view the output: potential \power user" features do not yet exist, but i. anti-aliased PDF display it is a usable tool in its current state. In addition to Windows (XP and Vista), it runs on Mac OS X (see ii. automatically opens when T X finishes E figure 2) and GNU/Linux systems (figure 3). iii. auto-refresh when re-typesetting (stay at A few features remain to be implemented be- same page/view) fore a formal release of \version 0", including \sin- iv. TeXShop-like \magnifying glass" feature to gle instance" behavior, and various options for win- examine detail in the preview dow positioning; appropriate installer packages for v. one-click re-typesetting from either source Mac OS X and Windows are also needed, to simplify or preview setup. More information may be found online via the vi. source $ preview synchronization based on TEXworks home page at http://texworks.org/. J´er^omeLaurens' SyncTEX technology TUGboat, Volume 29 (2008), No. 3 | Proceedings of the 2008 Annual Meeting 363 Jonathan Kew Figure 2:TEXworks running on Mac OS X: using the Figure 3:TEXworks running on a typical GNU/Linux Preferences dialog to configure a typesetting tool. system (Ubuntu). 4 Future plans • Dig in to the code, and submit patches to im- After the release of version 0, several major addi- plement your favorite missing features. tional features are planned; some ideas high on the • Write on-line help, documentation and tutorials priority list include: for newcomers to TEXworks and TEX. • intelligent handling of TEX errors • Review and enhance the command completion • assistance with graphics inclusion and format lists available for the integrated editor. conversions • Provide well-commented templates for various • text search and copy in the PDF preview types of documents. • support rich PDF features such as transitions, • Design icons for the toolbars, etc.; TEXworks embedded media (sound, video), annotations, has some nice icons from Qt and the Tango etc. project, but others are merely rough placehold- • customizable palettes of symbols, commands, ers. etc. • Use the Qt Linguist tool to localize the user • TEX documentation lookup/browser interface for your language. • interaction with external editors and other tools • Package TEXworks appropriately for your fa- • additional support for navigating in the source, vorite GNU/Linux or BSD distribution, or cre- e.g., \folding" sections of text, recognizing doc- ate an installer for Windows or Mac OS X. ument structure tags such as \section, etc. There is a TEXworks mailing list for questions I expect development priorities to be guided by and discussions related to the project; see http:// user feedback as well as developer interest, once the lists.tug.org/texworks/ to subscribe, for the list initial version 0 release is available. archives, etc. The T Xworks source itself is maintained in a 5 Invitation to participate E Google Code project at http://code.google.com/ TEXworks is a free and open source software project, p/texworks/. Resources available through this site and all are welcome to participate and contribute to include the Subversion source repository, precom- its development. This does not necessarily mean piled binaries for Windows and Mac OS X, and an writing code; many other roles are equally impor- issue tracker for bug reports and feature suggestions. tant. Some possible ways to participate include the following. 6 Thanks • Use the prototype for some real work, and give The TEXworks project arose out of discussions at feedback on what's good, what's bad, what's several recent TEX Users Group meetings, and has broken: received generous support from TUG's TEX develop- { if there's a current binary download avail- ment fund and its contributors, and from UK-TUG. able for your platform, try that; Special thanks to Karl Berry for his encouragement { get the code and try building it on your and support, and to Dick Koch for showing us the platform; provide bug reports (and fixes!) potential of a clean, simple TEX environment for the for whatever problems show up. average user. 364 TUGboat, Volume 29 (2008), No. 3 | Proceedings of the 2008 Annual Meeting.