LaTeX that never leaves your disk.

Open a folder of .tex files. Sheaf compiles with your TeX install and shows the PDF beside your source.

The Sheaf window: a file tree on the left, a chapter of LaTeX source in the middle, and the compiled page with its figure and table on the right.

Made for whole projects, not snippets.

The things that go wrong in a long document are the things Sheaf pays attention to.

Errors land on the line you wrote.

Sheaf reads the engine log and follows it back through every \input, so a mistake in a chapter points at that chapter instead of at main.tex. Click the problem to open the line.

The Problems panel listing an error at chapters/results.tex line 4, Undefined control sequence, above an uncited bibliography entry.

A project is just a folder.

No import step and no database. Your files stay where you put them.

The file tree showing a chapters folder with four .tex files inside it.

Source and page stay in step.

SyncTeX runs both ways. Jump from a line to its place in the PDF, or from the PDF back to the line that made it.

Search every file at once.

Plain text or a regular expression, across the whole project, with each match in context.

Project search reporting six results in three files, grouped by file with the matching line numbers.

It uses the TeX you already have.

pdflatex, xelatex, lualatex, latexmk or Tectonic. Sheaf finds them on your PATH and marks the ones you have not installed, rather than failing halfway through a build.

A settings panel reporting that TeX Live 2023 was found, listing the path of each tool it detected.

Nothing is uploaded.

No account, no server, no sync. Sheaf makes no network requests of its own, so the same project builds on a plane, on a train, or on a machine that has never been online.

One keystroke, as many passes as the document needs.

LaTeX rarely gets a document right in a single run. Sheaf reads the log after every pass, runs bibtex or biber when the document asks for one, and goes again until the log stops asking.

  1. pdflatexRecords every reference and citation in the .aux file
  2. bibtexTurns those citations into a .bbl bibliography
  3. pdflatexPulls the bibliography in, which moves the numbering
  4. pdflatexThe numbering settles and the log stops asking

Build output goes to .sheaf/build, so the .aux, .log and .pdf files never end up next to your chapters.

The raw log tab showing four engine runs that each exited 0, ending with the line Output written on .sheaf/build/main.pdf, 8 pages.

Install

Version 0.1.0. Linux and Windows builds are on the releases page. macOS is not packaged yet and builds from source with the commands below.

Debian and Ubuntu

Take the .deb from the releases page. This is the package to prefer.

$ sudo dpkg -i sheaf_0.1.0_amd64.deb

It adds Sheaf to your applications menu, registers .tex, .bib, .sty and .cls with your file manager, and sets up the sandbox that Ubuntu 24.04 requires.

Other distributions

The AppImage runs without installing anything.

$ chmod +x Sheaf-0.1.0-x86_64.AppImage
$ ./Sheaf-0.1.0-x86_64.AppImage

Ubuntu 24.04 blocks the sandbox an AppImage would normally use. Sheaf detects that at launch and says so rather than refusing to start, but the package keeps the sandbox and the AppImage cannot. How that works.

Latest release

Windows

Sheaf-Setup-0.1.0.exe installs Sheaf, adds it to the Start menu and registers .tex, .bib, .sty and .cls.

The build is not signed, so SmartScreen stops it the first time. Choose More info, then Run anyway.

Without installing

Sheaf-0.1.0-portable.exe is the whole application in one file. It runs from wherever you put it, with nothing to install and nothing to uninstall.

Latest release

From source

Node 18 or newer.

$ git clone https://github.com/emyotyyy/sheaf
$ cd sheaf
$ npm install
$ npm run dev

npm run dist packages Sheaf for the platform you are on. npm test runs the unit suite, and npm run test:latex runs the integration suite against your own TeX installation.

Sheaf does not bundle a TeX distribution. Install TeX Live, MacTeX or MiKTeX first. Sheaf looks for the tools on your PATH and tells you which ones it could not find. On Debian and Ubuntu a workable starting point is sudo apt install texlive-latex-recommended texlive-latex-extra biber.