TeX64

Every LaTeX editor ends up answering the same question: what does it add to a text editor plus latexmk? TeX64’s answer is three tools placed right next to the mathematicsBlocks, a visual editor for assembling formulas without memorising the notation; math OCR, which turns an image of an equation into LaTeX on the device itself; and Axiom, an AI that proposes edits as diffs. It is a local-first desktop application for macOS and Windows, and it does no typesetting of its own. This reference is published by Fermion Inc., the company that makes TeX64 — which is precisely why this page is limited to what can be verified in the repository and the published documents, and carries no sales copy.

What TeX64 is, and what it is not

First: TeX64 is not a typesetting engine. No LaTeX engine ships inside the application. Every build invokes latexmk, lualatex, latexindent and synctex from a TeX distribution you install separately, and the documentation states plainly that without a distribution, compilation is unavailable. TeX64 is therefore the front end that binds editing, building and preview together, while the PDF that comes out is made by the standard TeX toolchain. That is a limitation and a guarantee at once: there is no proprietary document format, your manuscript stays plain .tex, and it can leave for another editor or another machine at any moment.

Second, what local-first means here. Editing, building, PDF preview, SyncTeX and math OCR all run on your device. The internet is needed only for Axiom AI, for account and billing functions, and for downloading the managed TeX Live described below. The supported platforms are macOS 12 or later on Apple Silicon or Intel and Windows 10/11 on x64; Microsoft Store manages updates for the Windows Store version. Linux is not currently available, as the documentation states. When choosing an editor those three points — whether you can write offline, whether the same manuscript works on both operating systems, and whether you need Linux — are the first filter.

Installing it, and checking that it can find TeX

The download page (/download) offers the path that matches your operating system. On Windows 10/11 x64 you run the Microsoft-signed Store installer, and Microsoft Store handles updates from then on. On macOS 12 or later you open the Apple Silicon or Intel DMG and drag TeX64.app into Applications. The macOS artifacts are signed and notarized, and every release publishes a SHA-256 per artifact, so the file you downloaded can be checked against it on the spot. If you are unsure which Mac build to take, run uname -p in Terminal: arm means Apple Silicon, i386 means Intel.

The thing to do straight after installing is to confirm that the TeX environment has been found. Open Settings > Environment and four tools — lualatex, latexmk, latexindent and synctex — appear with a green check when detected and in red when they are not. Starting a manuscript while those are still red means that when a build later fails you cannot tell whether the editor or the missing TeX is at fault. If there is no TeX environment at all, TeX64 can install a managed TeX Live once you approve it. That route fetches TeX packages from a mirror and installs them into an app-managed folder — and, as the privacy policy states explicitly, your projects are not uploaded during that setup.

  • Windows: an existing TeX Live, or the TeX64-managed TeX Live you approve.
  • macOS: MacTeX (about 4 GB, everything included), BasicTeX (about 100 MB, add what is missing with tlmgr), or the TeX64-managed TeX Live.
  • Verify: all four of lualatex, latexmk, latexindent and synctex showing green under Settings > Environment.
  • PATH: MacTeX adds /Library/TeX/texbin; a Homebrew install lives under /opt/homebrew/bin. Restart the terminal and TeX64 after changing PATH.

The workspace: moving around a long manuscript

TeX64 opens a folder as the workspace: file tree on the left, a tabbed editor in the middle that can be split vertically or horizontally, PDF viewer on the right. The viewer can be detached into its own window, so on a multi-monitor setup the source sits on one screen and the PDF on the other. What earns its keep in a long manuscript is the outline panel, which lists chapters, sections, figures, tables, labels, citations and TODOs in a hierarchy and updates as you type. Click any entry to jump there, and a three-hundred-page thesis stops feeling shapeless. Cmd+Shift+O toggles it (Ctrl+Shift+O on Windows).

Search comes in two tiers. Cmd+F searches the current file; Cmd+Shift+F runs a full-text search across the whole workspace, powered by ripgrep, listing every match with line numbers so you can jump to it. That panel also does project-wide replace, so renaming \mycommand to \mynewcommand is a single operation — preview the results before replacing, as a matter of habit. One quieter feature prevents a surprising amount of damage: renaming a file. Rename it in the file tree and every \input, \include and \graphicspath reference to it across the project is updated automatically. For anyone who has hand-patched references after every reorganisation of their chapter files, that single behaviour can be reason enough to switch.

terminal
thesis/                 # open this folder as the workspace
  main.tex              # \documentclass + preamble + \begin{document}
  chapters/
    intro.tex           # pulled in with \input{chapters/intro}
    methods.tex
  figures/
    setup.pdf           # ASCII names, hyphens, no spaces
  refs.bib
  • Keep \documentclass, the packages and \begin{document} in main.tex, and pull chapters in with \input{chapters/intro}. With exactly one \documentclass in the project, root-file detection cannot go wrong.
  • Give figures ASCII filenames with hyphens or underscores and avoid spaces. If you rename one later, do it from the file tree so the references follow.
  • Before adding chapters or figures, build a short document once with Cmd+Enter. If it fails at that point, the cause is the TeX environment and not your source.
  • Get the project building before asking Axiom for a large edit, then judge the proposed diff and the rebuilt PDF against the last version that built cleanly.
  • If SyncTeX stops working in a multi-file project, check the root file setting first, then whether a .synctex.gz was generated by the build.

How a build runs, and why Cmd+B is not Build

Builds are driven by latexmk. That means the repeated passes needed to resolve cross-references, BibTeX or Biber, makeindex or xindy, and the change detection that skips a rebuild when nothing moved, all follow latexmk’s own rules. The root file — the one containing \documentclass — is found by scanning the project, and can be set by hand in a structure with several \documentclass declarations. You can also keep several build profiles, each with its own engine (pdflatex, xelatex, lualatex) and extra flags. To throw away intermediate files, use Clean under Settings > Build Profile; Clean -C removes the generated output as well. The log streams while compiling, so you can watch which pass latexmk is on.

Here is the binding that surprises people arriving from other editors: Cmd+B is not Build. In TeX64, Cmd+B inserts \textbf{} and Cmd+I inserts \textit{}, while building is Cmd+Enter or the play button in the toolbar. It looks contrarian until you count: over an hour of writing LaTeX, compare how often you type \textbf{} with how often you start a build, and the question of which deserves the shortest key answers itself. It has the side effect that fingers trained on Cmd+B for bold in a word processor keep working. On Windows, Cmd maps to Ctrl and Option to Alt.

Key (macOS)What it does
Cmd+EnterBuild: runs latexmk and refreshes the PDF preview
Cmd+BInserts \textbf{}, wrapping the selection if there is one — not Build
Cmd+ClickClick in the PDF to jump back to the matching source line (inverse SyncTeX)
Cmd+Shift+EOpens Blocks, the visual math editor
Cmd+Shift+AOpens Axiom’s AI chat panel
Cmd+Shift+FFull-text search across the workspace, with project-wide replace
Cmd+POpens a file by fuzzy-matching part of its name
Cmd+DSelects the next occurrence of the word; repeat for multiple cursors

Building an equation without knowing the notation (Blocks)

Blocks is the visual editor for assembling equations without having memorised LaTeX notation. Under the hood it uses MathLive, an interactive equation builder: you pick from a palette of Greek letters, operators, relations, arrows, set symbols, structures such as fractions and roots, and accents, and put the formula together. The typeset result is drawn in real time as you work, and when you are done the corresponding LaTeX code is inserted back into the source automatically. That last part is the point: Blocks invents no format of its own — what comes out is the same .tex fragment you would have typed by hand.

There are three ways in: place the cursor in a math environment and right-click > “Edit in Block”, use the menu Math > Block Editor, or press Cmd+Shift+E (Ctrl+Shift+E on Windows). TeX64 detects the math environment automatically and launches the block for it. The environments covered are the displayed ones — equation, align, gather, multline, split, cases — the matrix family, and inline math written as $...$ or \(...\). Its use is well defined: it is strong for a formula containing a symbol whose command you do not yet know, and for rebuilding a long expression whose bracket nesting you have lost track of; for typing a familiar \frac{a}{b}, the keyboard is still quicker.

Turning a picture of an equation into LaTeX, on the device

Math OCR converts the mathematics inside an image into LaTeX code. Choose Math > OCR, select a screen region, and the bundled ONNX/Tesseract components analyse it on your device before inserting the result into the editor. This is a place where the facts are worth stating precisely: as both the privacy policy and the terms of service say explicitly, the selected screen or image capture is not sent to OpenAI. The OCR works offline and is included in the free plan. Photographs of handwritten notes, equations inside a PDF, and screenshots from a textbook are all fair game.

Three practical notes. First, capturing a screen region may require the operating system’s screen-capture permission; on macOS, grant Screen Recording when asked. Second, accuracy: the more you use a high-contrast image and crop to the equation alone, the steadier the result. Third, verification: OCR is an aid, not a fair copy, so always build the inserted code once and compare it against the PDF. Confusions between a subscript and a superscript, between 1 and l, or between \times and x surface far faster when typeset than when re-read. As a rule of thumb for choosing between the two: Blocks when creating a new formula from scratch, OCR when importing one that already exists on paper or in a PDF.

Axiom: an AI that proposes diffs, and its boundaries

Axiom is the AI writing assistant built into TeX64, and it has two entry points: AI chat (Cmd+Shift+A), where you talk in natural language, and inline completion, which suggests the next line, equation or paragraph in the editor. What distinguishes it is that it does more than converse — it works inside the project. According to the documentation, Axiom reads your project files and the file tree, proposes edits as diffs, compiles the project and reads the build log, and searches arXiv to fetch BibTeX entries (arxiv_search, arxiv_bibtex). These capabilities are available on every plan that has AI access.

With any tool that lets an AI touch your source, the boundaries matter more than the capabilities. First, a proposed diff is not applied until you have reviewed and approved it. Second, Axiom cannot reach files outside your workspace and cannot run arbitrary system commands — its tools are restricted. Third, API keys and tokens are redacted automatically. On the flow of data, the privacy policy and the terms of service say the same thing: only when you invoke Axiom are the prompt and the context that request needs — which may include selected text or relevant project content — sent to the configured AI service, currently the OpenAI API. Math OCR captures are not sent. The site’s FAQ also states plainly that your papers are never used to train AI models. If your manuscript contains confidential material, read the privacy policy yourself before you send anything.

It also helps to know how the plans are laid out. The editor, the build system, PDF preview, SyncTeX, Blocks and the on-device math OCR are included in the free plan. For AI, every plan carries a monthly Axiom allowance, and the current amount is shown inside the app. The paid Basic and Pro tiers widen that allowance, and Pro adds priority processing, wider context for long-form work, and the most capable Axiom model. When the allowance runs out, local OCR, editing, building and PDF preview keep working. One last habit worth adopting: get the project into a compiling state before asking Axiom for a large edit. Then judging the result is just a matter of comparing the proposed diff, and the PDF rebuilt after applying it, against the last version that built cleanly.

SyncTeX: travelling between source and PDF

SyncTeX links matching positions in the source and the PDF in both directions, and it is built into TeX64’s PDF viewer. Forward (source to PDF), the region of the PDF corresponding to the cursor is highlighted and the viewer scrolls there by itself. Inverse (PDF to source), Cmd-clicking in the PDF jumps straight to the corresponding source line and highlights it — for a multi-line block such as a paragraph or a figure, to the start of the block. It rests on exactly two preconditions: synctex must be available, and the build must generate a .synctex.gz, which TeX64’s build enables by default.

It works in multi-file projects too: click an element belonging to a file split out with \input or \include and the correct external file opens at the right line. That depends on the root file — the main file containing \begin{document} — being set correctly; with the wrong root, SyncTeX does not function at all. TeX64 tries to detect it automatically, and you can state it explicitly with “Set Root File” in the menu when needed. It is also worth holding a realistic expectation about precision. Most of the time you land on the right line at paragraph-level accuracy, but packages that generate large amounts of content through macros, such as tikz or pgfplots, make the mapping harder and can leave you with coarser, sometimes page-level, precision. Checking whether a .synctex.gz exists in the project after a build is the first step in diagnosing any of this.