TeXShop
TeXShop is a free, open-source TeX editor and previewer designed specifically for macOS, serving as a graphical front-end for typesetting systems like TeX and LaTeX.[1][2] Developed by Richard Koch at the University of Oregon, it is written in Apple's Cocoa framework and defaults to using pdftex and pdflatex engines to produce native PDF output, leveraging macOS's built-in PDF support.[1][3] Licensed under the GNU General Public License version 2, TeXShop requires a separate TeX distribution such as MacTeX or BasicTeX for full functionality, integrating seamlessly with TeX Live to handle document compilation, font management, and auxiliary tools like Ghostscript.[3][2] Key features of TeXShop include a source code editor with syntax highlighting, synchronized PDF and HTML preview windows for real-time viewing, a console for typesetting messages, and a log file viewer for debugging errors.[2] It supports multiple typesetting engines beyond pdfTeX, such as XeTeX, LuaTeX, and ConTeXt, allowing users to switch configurations via customizable scripts and engines.[2] The application is universal binary, compatible with both Intel and Apple Silicon (Arm) architectures, and the latest version, 5.57 (as of October 2025), requires macOS 10.13 (High Sierra) or later while maintaining support for older systems through archived releases.[1][3][4] TeXShop's development emphasizes simplicity and integration with the macOS ecosystem, making it a popular choice among academic and scientific users for creating high-quality documents, presentations, and publications.[1] It includes built-in help resources, such as a comprehensive 200-page manual and release notes, accessible via the menu bar, and encourages community contributions through its source code availability.[1] Distributed primarily via the TeX Users Group (TUG) and CTAN, installation is straightforward, often bundled with MacTeX for a complete TeX environment setup.[3][2]Introduction
Overview
TeXShop is a free, integrated TeX/LaTeX editor and PDF previewer designed specifically for macOS.[1] It serves as a front-end to TeX distributions, enabling users to edit source files and generate PDF outputs directly within a native Cocoa-based application.[1] Distributed under the GNU General Public License (GPLv2), TeXShop provides an accessible tool for typesetting without additional costs.[5] The primary purpose of TeXShop is to streamline the typesetting workflow for academic and technical writing, particularly in fields requiring precise rendering of mathematics and scientific notation.[6] By leveraging pdfTeX and pdflateX engines, it facilitates efficient compilation and immediate previewing of documents, reducing the complexity of traditional TeX usage on Apple systems.[1] TeXShop targets macOS users, including academics, researchers, and LaTeX enthusiasts seeking a lightweight, native alternative to cross-platform editors.[5] A key unique aspect is its built-in support for SyncTeX, which enables bidirectional synchronization between the source code and PDF output for seamless navigation.[7] Initially developed for personal use in spring 2000 by Richard Koch to handle mathematical typesetting on early macOS betas, it was released publicly on July 23, 2000, as version 1.0d1.[6]Licensing and Availability
TeXShop is released under the GNU General Public License version 2 (GPLv2), a copyleft license that allows users to freely use, study, modify, and distribute the software, provided derivative works adhere to the same terms.[5][8] The application is available for download from the official website maintained by the University of Oregon, a mirror on SourceForge, and as part of the MacTeX distribution, which bundles it with a full TeX Live installation for macOS users.[5][9][10] Source code is openly accessible for download and independent compilation, with pre-compiled binaries provided in universal format supporting both Intel x86_64 and Apple Silicon (ARM) architectures on macOS 10.13 or later.[11][5] As an entirely free and open-source tool under GPLv2, TeXShop incurs no costs for acquisition, usage, or maintenance, with no premium features, in-app purchases, or subscription models offered.[5][8] Primary distribution occurs via the developer's site, while integration into TeX Live-derived packages like MacTeX facilitates broader accessibility for LaTeX users on Apple systems.[3]Development
Creator and History
TeXShop was created by Richard Koch, a mathematician and professor at the University of Oregon, who initiated its development in the spring of 2000 to address his personal requirements for a native LaTeX editing and previewing tool on macOS.[6] The software's first public beta release, version 1.0d1, occurred on July 23, 2000, marking the beginning of its availability to the broader TeX community.[6] This effort was driven by Koch's expertise in mathematics and computing, building on earlier influences from NeXTSTEP's TeXview application during the transition to Apple's OS X platform.[6] The project emerged in the early 2000s, a period of increasing macOS adoption among academic users for scientific computing and document preparation, alongside the push for standardized TeX distributions like TeX Live, which unified TeX implementations across platforms starting in the late 1990s.[12] Key milestones include the 2002 Apple Design Award in the open-source category, recognizing its innovative integration of TeX workflows on macOS, and the transition from beta to stable releases around 2008 with version 2.12, which solidified its reliability.[6][13] Further adoption came through the TeX Users Group (TUG), whose MacTeX working group—formed in July 2003—incorporated TeXShop into its distributions to facilitate easier TeX setup on Macintosh systems.[14] Development has relied on community contributions, including bug reports and localizations that expanded accessibility; notable efforts encompass French localization by Jérôme Laurens, Hendrik Chaltin, and Jean-Claude De Soza; German by Keith J. Schultz, Sascha Beverungen, Martin Kerz, and others; Japanese by Seiji Zenitani, Yoshihisa Okazaki, and Yusuke Terada; and Spanish by Juan Luis Varona Malumbres.[15] Michael Sharpe provided significant enhancements, such as improved AppleScript macros and font-related utilities.[15] As of 2025, Koch remains the primary maintainer, issuing annual updates synchronized with macOS releases to ensure compatibility and incorporate community feedback.[13] TeXShop's inclusion in MacTeX distributions has further supported its widespread use among TeX practitioners.[3]Integration with TeX Distributions
TeXShop relies on an underlying TeX distribution, such as TeX Live, to supply essential compilation engines including pdfLaTeX, XeLaTeX, and LuaLaTeX, which handle the core typesetting functionality for LaTeX documents.[3] Without such a distribution, TeXShop cannot perform document compilation, as it functions primarily as an editor and interface rather than a complete typesetting system.[3] The application is most closely integrated with MacTeX, a macOS-optimized wrapper for TeX Live developed by the TeX Users Group, which includes TeXShop as its default editor alongside the full TeX Live suite, Ghostscript, and configuration utilities.[16] This bundling ensures seamless setup on Apple systems, with TeXShop accessing TeX Live's binaries directly from standard paths like /usr/local/texlive.[3] TeXShop also supports lighter installations like BasicTeX, a minimal TeX Live subset, for users needing only core components.[3] TeXShop provides built-in engine configurations for auxiliary processing tools such as BibTeX for bibliography management and MakeIndex for index generation, enabling automated workflows within the editor.[3] It further incorporates support for advanced automation via Latexmk, a Perl-based build tool included in TeX Live up to version 4.87 as of mid-2025, which iteratively runs compilation, bibliography, and indexing steps as needed.[17] For compatibility, TeXShop works with any full TeX Live installation, including those managed via package tools like TeX Live Utility, and has supported XeTeX—introduced in 2004 for enhanced Unicode and system font handling—since the engine's early availability in TeX distributions during the mid-2000s.[3][18] In the broader TeX ecosystem, TeXShop acts as a user-friendly frontend to TeX Live, abstracting command-line operations by invoking engines and tools through its Typeset menu and customizable engine scripts, thus allowing users to focus on editing without direct terminal interaction.[3] This integration is particularly optimized for macOS, where path configurations and Apple notarization in MacTeX ensure reliable performance across Intel and Arm architectures.[16]Features
Editing and Syntax Support
TeXShop employs a native Cocoa-based text editor as its core interface for composing and modifying LaTeX source files, leveraging macOS's built-in text handling for efficient input and manipulation. Since version 4.00, the editor defaults to UTF-8 encoding for new files and fresh installations, aligning with modern LaTeX expectations and eliminating the need for explicit input encoding packages in most cases.[19] This configuration supports a wide range of international characters and scripts without additional setup, though legacy encodings like ISO Latin 9 remain selectable via preferences for compatibility with older documents.[13] Syntax highlighting in TeXShop color-codes key LaTeX elements to enhance readability and reduce errors during editing, including commands, environments, math delimiters, citations, footnotes, and indices. The feature has evolved through iterative improvements, such as enhanced bracket matching that ignores comments and escaped symbols since version 4.08, and support for specialized modes like PreTeXt XML documents with distinct colors for tags, commands, and values introduced in version 4.30.[13] In version 5.56, separate customizable colors were added for parenthesis pairs—parentheses(), braces {}, and brackets []—while retaining prior marker colors for dollar signs $ and ampersands &.[13] Syntax coloring can be toggled per window via the menu since version 3.86, with a default setting in preferences, and extends to advanced constructs like expl3 code (toggleable since version 5.27) and natbib citation commands (since version 4.50).[13]
Code completion aids productivity by suggesting and inserting LaTeX commands and structures, activated via the Escape key and cycling through options for ambiguous matches. This system draws from an editable command completion file, accessible through the "Edit Command Completion File" menu item since version 3.21, which allows integration with macro files for custom expansions.[13] Version 5.49 introduced math expression completion, where partial inputs like "e =" expand to numerical approximations such as "2.718", configurable via a preference setting (0: off, 1: on, 2: default).[13] Customizable snippets support multi-line boilerplate insertion with placeholders for user input, as enhanced in PreTeXt mode from version 4.30, and bracket auto-enclosure for selections of more than two characters is available since version 4.08, toggleable in preferences.[13]
Font and theme customization options provide flexibility in the editing environment, with the default font set to Menlo at 12-point size since version 3.15 for optimal monospace rendering.[13] The Themes tab in preferences, introduced in version 4.08, allows editing of color schemes for light and dark modes via plist files, including the Dracula dark theme contributed by Keiran Harcombe in version 4.69.[13] Interline spacing and kerning controls, added in version 3.98, enable adjustments through the Source menu's Font submenu and preferences, with spacing tunable in points since version 4.08; these features apply to the source window and can be set as defaults for new documents.[13]
Additional editing tools include command completion sourced from macro files for rapid insertion of complex structures, and support for alternative encodings such as ISO Latin Greek via the encoding menu in the open/save dialogs. The editor monitors external file changes and prompts for reloading to prevent data loss, complemented by automatic saving every few minutes since earlier versions.[20] These elements collectively streamline the authoring process while maintaining compatibility with diverse LaTeX workflows.
Preview, Synchronization, and Output
TeXShop integrates a PDF preview viewer based on Apple's PDFKit framework, introduced in version 2.00, which enables real-time rendering of typeset documents directly within the application.[13] This viewer supports features such as rotated page display and live resizing with a "fit to window" magnification option, allowing users to view polished PDF output immediately after typesetting without external applications.[13] Synchronization capabilities were enhanced with the addition of SyncTeX support in version 2.18, providing bidirectional linking between specific lines in the TeX source code and corresponding positions in the PDF preview.[13] This feature requires the--synctex=1 flag during compilation and uses visual indicators like red circles in the preview for forward synchronization from source to output, and yellow highlights in the source for backward jumps from PDF to code, facilitating efficient interactive editing.[13]
Output options expanded in version 5.00 to include direct preview of HTML files generated via the TeX4ht engine, displayed in an integrated HTML window alongside the standard PDF viewer.[13] Annotation support was added in version 5.42 through an "Annotation Panel" accessible from the Preview menu, allowing users to add and manage notes on PDF pages, with subsequent versions enabling a "save-all" functionality for preserving these annotations.[13]
Search and navigation tools in the PDF preview include a dedicated toolbar search field introduced in version 3.64, where users can enter a term and press Return to locate occurrences within the document.[13] Version 3.72 added link hover popups for hyperref elements, displaying the linked document portion in a temporary window for up to four seconds, which can be extended by holding the Option key.[13] Additionally, version 5.42 addressed page number display issues for large PDF files, ensuring accurate navigation.[13]
Magnification and selection tools provide interactive control over the PDF view, with zooming capabilities up to 1000% and dedicated tools for text copying and graphic region selection available since version 2.00.[13] Fixes for magnification behavior, such as immediate zoom adjustments and corrections for scrolling issues, were implemented in versions like 4.37 and 4.38, including compatibility improvements for macOS releases such as Mavericks.[13] Keyboard shortcuts like Command-+ and Command-- for zoom control were added in version 5.46 to streamline these operations.[13]
Customization Options
TeXShop provides extensive customization for typesetting engines, allowing users to configure them either globally via the Preferences dialog or on a per-file basis using the% !TEX TS-program directive. This directive, which can be placed within the first 20 lines of a TeX source file (with an optional space between % and !), specifies the desired engine—such as pdftex, xelatex, or custom scripts—overriding the default settings established in the Typesetting tab of Preferences.[7] For automated builds, TeXShop integrates Latexmk engines, which handle dependency tracking and repeated compilations; versions have been updated progressively, reaching 4.86a in release 5.49.[7] Additionally, BibTeX variants like Biber are supported through file-specific directives such as % !BIB TS-program = biber or global configuration in the Engine tab, where users can define programs (e.g., bibtex, biber) and associated flags.[7]
The application's Preferences dialog features dedicated tabs for fine-tuning various aspects, including Source (for file handling and encoding), Editor (for text input behaviors), Typesetting (for engine defaults and flags), and PDF (for display options).[7] Advanced users can access hidden preferences via command-line tools like defaults write, enabling tweaks such as custom font rendering or spell-checking exclusions for TeX commands.[7] A Themes tab, introduced in version 4.08, allows customization of syntax highlighting colors for light and dark modes, including specific adjustments for elements like parentheses, braces, and brackets.[7] UI enhancements include the "Highlight Current Line" option in the Editor tab (version 4.73), with color selectable in Themes, and single-window mode configurable in the Preview tab (version 3.41) to consolidate source and preview panes.[7]
Macro and script support is facilitated through a built-in macro editor accessible via the Macros menu, where users can create and edit AppleScript-based or shell-script macros for tasks like batch processing.[7] TeXShop includes pre-configured engines for specialized tools, such as Sage (revised in version 3.21 and simplified in 4.69), PythonTeX (added in 3.26), LilyPond (introduced in 3.34 with updates in 4.27), and PreTeXt (added in 3.89 for PDF and HTML output, updated in 5.12).[7] These engines, often located in ~/Library/TeXShop/Engines/Inactive/, can be activated and customized by users. External editor synchronization, enabled in version 4.24, allows seamless integration with third-party editors by watching for file changes and refreshing the preview accordingly.[7] AppleScript integration further extends customization, permitting automation of workflows like typesetting or PDF manipulation through scripts invoked from the Macros menu.[7]
Installation and Usage
System Requirements
TeXShop is designed exclusively for macOS and requires macOS 10.13 (High Sierra) or later for its current version 5.57, with compatibility extending up to macOS 26 (Tahoe) as of November 2025.[5] This version is compiled as a universal binary, providing native support for both Intel x86_64 and Apple Silicon (Arm) architectures, ensuring optimal performance across modern Macintosh hardware.[3] Older releases, such as version 4.79, extend compatibility to macOS 10.12 (Sierra) and higher, allowing users on legacy systems to continue using the application.[3] Hardware prerequisites align with macOS minimums, recommending at least 2 GB of RAM to meet the base requirements of High Sierra, though contemporary systems with 8 GB or more are advisable for handling complex LaTeX documents without performance degradation. TeXShop leverages macOS-specific features, including tabbed interfaces introduced in version 3.64 for Sierra and later, and AVKit integration for embedding media like MP4 demos starting from Mavericks in the same version.[13] TeXShop depends on an underlying TeX distribution for compilation and typesetting, such as TeX Live or the macOS-optimized MacTeX; the 2025 edition of MacTeX specifically requires macOS 10.14 (Mojave) or higher.[21] While core operations, including editing and PDF previewing, function offline once installed, internet access is necessary for downloading updates to TeXShop itself or the TeX distribution.[3] MacTeX bundles TeXShop by default, simplifying the setup for new users.[16] Performance enhancements in recent versions address challenges with large documents and resource management. For instance, version 5.42 improved the PDF PageNumber navigation box to correctly handle documents exceeding 1000 pages by eliminating formatting artifacts like commas and periods.[13] Memory leaks, which affected earlier iterations, were resolved in version 3.66 through contributions from Martin Hairer, with further fixes in version 4.25 to prevent excessive RAM usage during prolonged sessions.[15][7]Setup Process
TeXShop can be obtained either as a standalone application or as part of the MacTeX distribution, which bundles it with a full TeX Live installation. For the standalone binary, users download the filetexshop.zip from the official website, while the source code is available via texshopsource.zip for those wishing to build custom versions.[3] Alternatively, MacTeX provides TeXShop integrated within its ~6 GB package, downloadable as MacTeX.pkg from CTAN mirrors, offering a complete setup without separate downloads.[3] BasicTeX, a lighter ~100 MB option, also includes TeXShop but requires additional packages via TeX Live Utility.[3]
Installation begins by double-clicking the downloaded zip or pkg file to unzip or launch the installer. For the standalone version, drag the TeXShop icon to the /Applications folder or /Applications/[TeX](/page/TeX) subfolder.[22] When using MacTeX, run MacTeX.pkg to automatically install TeXShop alongside TeX Live, typically taking 8-10 minutes on a standard macOS system.[23] Post-installation for upgrades, consult the "About This Release" item in the TeXShop Help menu to apply any required configuration adjustments for new features.[22]
Initial configuration occurs through TeXShop's Preferences (or Settings in recent macOS versions). In the Engine tab, set the TeX engine path to /Library/TeX/texbin for MacTeX installations or the appropriate directory for other distributions like MiKTeX or Homebrew (e.g., /opt/homebrew/bin for Arm-based systems).[22] Under the Typesetting tab, select SyncTeX as the Sync Method to enable bidirectional synchronization between source and preview, which is recommended for most workflows and activated during compilation with the --synctex=1 option.[7] In the Source tab, choose a default font such as Courier or SF Mono via the Font panel, and adjust size for readability; themes, including dark modes like Dracula, are configured in the Themes tab for syntax highlighting and interface colors. These settings ensure compatibility with TeX Live paths as detailed in broader distribution integrations.[22]
After setup, verify functionality by creating a simple LaTeX file (e.g., a "Hello World" document), typesetting it via Cmd-T, and confirming PDF output without errors. Updates are managed through the built-in Sparkle framework, accessible via TeXShop > Check for Updates, with the framework last majorly updated to version 1.13.1 in TeXShop 3.60 for enhanced security via public key encryption.[13]
Common troubleshooting includes addressing macOS-specific issues: for example, crashes on Mojave (macOS 10.14) affecting versions 5.00 to 5.48 were resolved in 5.49 by fixing compatibility with High Sierra and later.[13] Additionally, in version 4.70, shell scripts transitioned from bash to zsh to comply with macOS deprecations starting in Monterey 12.3, with revised engines like Latexmk 4.77 placed in ~/Library/TeXShop/Engines/Inactive for optional activation.[13] If typesetting fails post-install, recheck the engine path and ensure TeX Live binaries are in the system PATH.[22]
Version History
Early Development (Versions 1.x to 2.x)
The early development of TeXShop, spanning versions 1.x to 2.x from 2004 to 2008, centered on building a robust integrated editor and previewer for TeX documents on macOS, particularly during the transition from Tiger to Leopard operating systems. This period emphasized core functionalities like typesetting engine support, search capabilities, and preview synchronization to streamline workflows for users handling LaTeX and related formats.[13] Version 1.35, released in 2004, introduced support for XeTeX, a Unicode-based typesetting engine that enabled handling of multilingual and complex script documents within TeXShop. It also added the OgreKit find panel for advanced searching with regular expressions and implemented matrix code to facilitate basic table editing in source files. These enhancements, including UTF-8 Unicode encoding options and custom engines via the ~/Library/TeXShop/Engines folder, laid groundwork for more versatile editing.[13][24] In 2005, version 2.00 marked a significant advancement by shifting to PDFKit for native PDF previewing, a feature available starting with macOS Tiger (10.4), thereby requiring that OS version. This update introduced hyperlink support in previews and a new synchronization method using PDFKit, allowing seamless navigation between source code and output PDF via tools like the text selection copy feature and document outline drawer. Version 1.37 incorporated most of these changes without the Tiger dependency, ensuring broader compatibility.[13] The 2.10 beta in 2006 focused on stability, with code cleanups by contributor Max Horn and improvements to syntax coloring for better code readability. It added index item coloring (defaulting to yellow) and addressed bugs such as window crashes and commenting issues, alongside a revised Help menu.[13] Version 2.12, released in 2007, prioritized compatibility with macOS Leopard and Tiger, fixing issues like infinite loops and loading delays. It restored functionality to dialog buttons, introduced fullscreen mode, and added zoom shortcuts to enhance user interaction during previews.[13] Later in 2007, version 2.14 expanded accessibility by adding localizations in French, German, Japanese, and Spanish, while resolving dialog button glitches and accelerating the opening of graphic files for embedded images.[13] Version 2.15, also from 2007, integrated support for the Hiero and Sketch packages to handle diagrams and sketches in TeX documents, and included a Beamer presentation template for slide creation. It addressed memory leaks specific to Leopard and improved PDF drag-and-drop operations.[13][25] By 2008, version 2.18 officially supported SyncTeX for bidirectional synchronization between source and PDF, added new encodings like ISOLatinGreek, and introduced the "After Typesetting" preference to automate post-processing tasks. Additional features included BibDesk integration for completions and updated LaTeX macros, solidifying TeXShop's role in editor-previewer integration.[13]Major Updates (Versions 3.x to 5.x)
TeXShop's version 3.x series, spanning the 2010s, introduced several foundational enhancements for modern macOS integration and typesetting automation. Version 3.21 added support for BibTeX variants through the% !BIB TS-program = directive, enabling engines like Biber for more flexible bibliography processing.[13] In version 3.22, the PythonTeX engine was incorporated, allowing seamless integration of Python code within LaTeX documents for dynamic computations.[13] Version 3.35 adopted Automatic Reference Counting (ARC) for improved memory management in the application's codebase.[13] By version 3.41, a single-window mode was implemented, consolidating source editing and PDF preview into one interface for streamlined workflows.[13]
The mid-2010s updates in versions 3.60 to 3.98 focused on security, search capabilities, and typographic refinements. Version 3.60 updated the Sparkle framework to version 1.13.1, enhancing secure automatic updates while addressing vulnerabilities in prior implementations.[13] Toolbar search functionality arrived in 3.64, providing quick PDF navigation directly from the interface.[13] Version 3.70 improved PDF search mechanisms and introduced interline kerning options in the Source menu, aiding precise text rendering in previews.[13]
From 2018 to 2021, versions 4.00 through 4.79 emphasized encoding standards, external tool compatibility, and user interface polish. The 4.00 release set UTF-8 as the default encoding, simplifying handling of international characters and aligning with contemporary text processing norms.[13] Version 4.24 enabled SyncTeX synchronization with external editors like TextMate via a hidden preference.[13] Support for PreTeXt was added in 4.30, including engines for LaTeX, HTML, and validation to facilitate XML-based authoring.[13] Version 4.70 transitioned engine scripts to zsh for better shell compatibility on newer macOS versions.[13] The 4.79 update refreshed OgreKit to version 2.1.10, incorporating Dark Mode support and font rendering fixes for the find panel.[13] Notably, version 4.67 included fixes for macOS Monterey, exemplifying the series' annual alignment with Apple's OS releases.[13]
The 5.x series, from 2022 to 2025, advanced preview options, annotation tools, and code assistance features. Version 5.00 introduced an HTML preview window using WKWebKit, with support for TeX4ht engines to generate web-ready outputs.[13] PDF annotations were enhanced in 5.42, allowing direct markup within the application.[13] Math completion, triggered by cursor movement to dollar signs, debuted in 5.48 for Sequoia compatibility.[13] Version 5.56 improved syntax coloring specifically for parentheses, enhancing code readability.[13] The latest release, 5.57 on October 3, 2025, addressed Spanish localization issues for better multilingual accessibility.[13]
Throughout these versions, TeXShop emphasized automation via Latexmk upgrades and accessibility through themes and single-window options, with releases timed to macOS updates like those for Monterey in 4.67.[13] As of 2025, version 5.57 remains the stable release, with the application's copyright extended to cover developments through that year.[13]