News
- (Feb 2024) TeXworks 0.6.9 released (Get it | Changes)
- (Feb 2023) TeXworks 0.6.8 released (Changes)
- (Feb 2022) TeXworks 0.6.7 released (Changes)
- (Mar 2021) TeXworks 0.6.6 released (Changes)
- (Mar 2020) TeXworks 0.6.5 released (Changes)
- (Mar 2020) TeXworks 0.6.4 released (Changes)
- (Mar 2019) TeXworks 0.6.3 released (Changes)
- (Apr 2017) TeXworks 0.6.2 released (Changes)
- (May 2016) TeXworks 0.6.1 released (Changes)
- (Apr 2016) TeXworks 0.6.0 released (Changes)
- (Apr 2015) TeXworks 0.4.6 released (Changes)
- (Apr 2013) TeXworks 0.4.5 released (Changes)
- (Apr 2012) TeXworks 0.4.4 released (Changes)
- (Jun 2011) TeXworks 0.4.3 released (Changes)
- (Jun 2011) TeXworks 0.4.2 released (Changes)
- (May 2011) TeXworks 0.4.1 released (Changes)
- (Mar 2011) TeXworks 0.4.0 released (Changes)
- (Oct 2009) TeXworks 0.2.3 released
- (Oct 2009) TeXworks 0.2.2 released
- (Oct 2009) TeXworks 0.2.1 released
- (Sep 2009) TeXworks 0.2.0 released (Changes)
Introduction
The TeXworks project is an effort to build a simple TeX front-end program (working environment) that will be available for all today's major desktop operating systems—in particular, MS Windows (7/8/8.1/10/11), typical GNU/Linux distros and other X11-based systems, as well as macOS. It is deliberately modeled on Dick Koch's award-winning TeXShop for Mac OS X, which is credited with a resurgence of TeX usage on the Mac platform.
To provide a similar experience across all systems, TeXworks is based on cross-platform, open source tools and libraries. The Qt toolkit was chosen for the quality of its cross-platform user interface capabilities, with native “look and feel” on each platform being a realistic target. Qt also provides a rich application framework, facilitating the relatively rapid development of a usable product.
The normal TeXworks workflow is PDF-centric, using pdfTeX and XeTeX as typesetting engines and generating PDF documents as the default formatted output. Although it is possible to configure a processing path based on DVI, newcomers to the TeX world need not be concerned with DVI at all, but can generally treat TeX as a system that goes directly from marked-up text files to ready-to-use PDF documents.
TeXworks includes an integrated PDF viewer, based on the Poppler library, so there is no need to switch to an external program such as Acrobat, xpdf, etc., to view the typeset output. The integrated viewer also supports source/preview synchronization (e.g., control-click within the source text to locate the corresponding position in the PDF, and vice versa). This capability is based on the “SyncTeX” feature developed by Jérôme Laurens, and supported by both the pdfTeX and XeTeX programs in TeX Live and other current distributions.
Getting TeXworks
You can get stable release binaries for the following platforms:
- Microsoft Windows: TeXworks installer
- macOS: TeXworks disk images
- GNU/Linux: AppImage, Arch Linux, Debian, Fedora, Flatpak, Gentoo, openSUSE, Ubuntu
See also Repology, the packaging hub for more details about pre-built packages
For the latest development versions, see Online resources.
Note that TeX Live (since version 2009) and MiKTeX (since version 2.8) both include TeXworks for MS Windows. For Linux, prepackaged binaries may be available through the usual channels for your distribution or are currently in preparation.
If no binaries are available for your platform, you can grab a copy of the sources and build TeXworks yourself.
A few screenshots are available showing the TeXworks 0.4 release running on the three major supported operating systems (click images to open full-size versions):
Documentation
If you are using a stable version of TeXworks, "A short manual for TeXworks" should be included automatically. Despite its name, it is quite extensive and should provide all the necessary information for normal usage. This manual normally is accessible from the "Help" menu (and possibly also from other locations, such as the Microsoft Windows start menu).
"A short manual for TeXworks" in its latest version is also available on GitHub.
For script authors, the primary resource is Paul A. Norman's TeXworks Scripting Information page.
Online resources
There is a mailing list available for discussion of any topics related to the TeXworks project. You can search the list archives online.
TeXworks development is currently hosted at GitHub; this is where most resources and the latest source code can be found. Experimental precompiled development snapshots for Windows 10 and above, Windows 7 and above, macOS 11 and above, macOS 10.13 and above, Linux (AppImage), and Ubuntu can be found on GitHub and Launchpad.
Presentations introducing TeXworks have been given at recent TeX conferences. Video recordings from the TUG 2008 and TUG 2010 conferences are available online, as well as an earlier one from BachoTeX 2008, thanks to River Valley Technologies. The PDF slides (1.5MB) used for the TUG 2008 presentation are also available.
History
Odd-numbered series (0.1, 0.3, ...) are development series. Numerous snapshots are made available during the evolution of TeXworks, and feedback from those brave enough to use these experimental versions is greatly appreciated!
The 0.6.x stable release series
The main focus of this release series is a complete overhaul of the PDF previewer. A lot of effort went into streamlining and improving the code "under the hood" while maintaining the general user experience. As a side effect, this brings about several improvements and often-requested features, such as:
- Faster rendering
- Major performance improvements at high magnifications
- Continuous scrolling mode — no more abrupt jumps from one page to the next (the non-continuous mode is still available from the View menu)
- Two-pages (spread) mode
- Selecting and copying text out of a PDF
- Going back to the previous view after clicking on a link (by pressing Alt+left arrow)
- A ruler and guidelines for precision measurements in the previewer
- A dialog to manage/insert citations
- Improved syntax highlighting
- Fine grained synchronization between source and output — down to a character-by-character level
In addition, several bugs were fixed and support for macOS was improved by adopting continuous integration (currently using GitHub Actions for building and deploying.
The 0.4.x stable release series
Apart from numerous fixes, improvements, and new features, this series has one major focus: scripting. Scripts allow users to easily customize and extend TeXworks. Current uses range from simple formatting over automation tasks to the implementation of new dialogs and auto-completion methods. Currently, the primary resource for scripts is GitHub. For those interested in learning how to write scripts, Paul Norman has compiled some excellent documentations.
This series includes:
- Scripting
- QtScript, Lua and Python languages are supported
- use scripts to add new features (trough standalone scripts) or extend existing functionality (through hook scripts)
- assign custom shortcuts for quick access
- customizable access to other files and programs on your computer
- use some of the bundled scripts to, e.g., set the spellchecker language based on babel options or turn the lengthy console output into a concise list of TeX errors and warnings
- New features
- use “Follow focus” to keep the source and preview in sync all the time
- window positions and sizes are saved for recent documents
- a command line parser allows for greater interoperability with other programs
- resources (templates, scripts, ...) are updated automatically when upgrading to a post-0.4 version
- use one of numerous file encodings and line ending conventions to increase interoperability between different systems
- “Save all” open documents using this single menu item
- auto-completion for the beamer class
- Major improvements & bug fixes
- implement fine-grained synchronization using text searching to assist SyncTeX
- support background color/font flags in syntax highlighting
- show the spellchecker languages in human-readable form; no more ISO language codes, no more multiple entries for the same language on *nix platforms
- preserve document view when reloading after external changes
- switched to pdfLaTeX as the default engine on fresh installation
- allow “smart quotes” to be applied to a selection
- allow Esc and Return in the tags and search result windows
- made the “Highlight current line” color palette-aware to accommodate dark themes and improve accessibility
- improve "Remove Auxiliary Files" dialog
- fix handling of external file links in PDFs
- Fix handling of “All Files” in the “Save As” dialog on MS Windows
No new features or major code changes will be made in the 0.4.x series, but there may be new "point releases" as necessary to fix specific bugs.
The 0.2.x stable release series
This series marks the initial release of TeXworks as a stable product. It includes:
- Simple GUI text editor
- Unicode support using standard OpenType fonts
- multi-level undo/redo
- search & replace, with (optional) regex support
- comment/uncomment lines, etc.
- TeX/LaTeX syntax coloring
- auto-completion for easy insertion of common commands
- spell-checking in the TeX source document
- templates to provide a starting point for common document types
- hard line-wrapping to facilitate the use of version control systems or sending the source files by email
- Ability to run TeX on the current document to generate PDF
- extensible set of TeX commands (with pdftex, pdflatex, xelatex, context, etc. being preconfigured)
- also support running BibTeX, Makeindex, etc.
- terminal output appears in a “console” panel of the document window; automatically hidden if no errors occur
- support “root document” metadata so “Typeset” works from an included file
- Preview window to view the output
- anti-aliased PDF display
- automatically opens when TeX finishes
- auto-refresh when re-typesetting (stay at same page/view)
- TeXShop-like “magnifying glass” feature to examine detail in the preview
- one-click re-typesetting from either source or preview
- text search in the PDF preview
- source/preview synchronization based on Jérôme Laurens' SyncTeX technology
Future plans
TeXworks is constantly evolving and improving. Several major additional features are planned for future releases; some issues fairly high on the priority list include:
- TeX documentation lookup/browser (partially implemented in scripts by Paul Norman)
- intelligent handling of TeX errors (partially implemented in a bundled script)
- assistance with graphics inclusion and format conversions
- support rich PDF features such as transitions, embedded media (sound, video), annotations, etc.
- customizable palettes of symbols, commands, etc.
- interaction with external editors and other tools
- additional support for navigating in the source, e.g., “folding” sections of text, recognizing document structure tags such as \section, etc.
- printing
- full project support
- expand auto-completion to include e.g. citations
- tabbed editing
Some of these features, and perhaps others, will be implemented in the current development version (0.7), leading to the next release series designated 0.8 once a suitable set of features is considered stable.
We expect development priorities to be guided by user feedback as well as developer interest. A rough, tentative roadmap is available on GitHub.
How can you help?
TeXworks is a free and open source software project, and you are invited to participate; some suggested ways are listed below, but this is not exhaustive. Note that most of these items do not require a programmer! Many other skills are just as vital. Some ways to contribute:
- get the code and try building it on your platform; provide feedback and patches as needed
- use the current "stable" release, or (for the more adventurous) a development snapshot, in your regular TeX work; give feedback on what's good, what's bad, what's broken
- dig in to the code, and submit patches to fix bugs or implement missing features (some places to start at are available on GitHub)
- write documentation and tutorials for newcomers to TeXworks and TeX; both standalone documentation and pages suitable for online help are welcome
- review and enhance the command completion lists available for the integrated editor
- provide well-commented templates for various types of document
- design icons for the toolbars, etc.; TeXworks has 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 for your language
- package TeXworks appropriately for your favorite GNU/Linux or BSD distribution
- write and share scripts to simplify tedious, repetitive tasks, or provide new functionality
Thanks
The TeXworks project arose out of discussions at several recent TUG meetings, and initial development has been generously supported by TUG's TeX development fund and its contributors, and by UK-TUG.
Special thanks to Karl Berry for his encouragement and support; to Dick Koch for showing us the potential of a clean, simple TeX environment for the average user; to Alain Delmotte for writing a manual; to Paul A. Norman for constantly evaluating (not only) scripting and documenting it; and to many others who have contributed ideas, suggestions, translations, and patches.