A build tool for academic manuscripts.
Lowering the friction to academic writing. Opinionated but customizable. Cargo for preprints. A fraction of Manubot in a self-contained, command-line tool. All the flexibility of LaTeX, available immediately.
- LaTeX based - flexible, extensible, fully-customizable
- Automatic citation management - cite using DOI directly
- Automatic image file management - provide images at URLs without manual downloads
- No LaTeX boilerplate fiddling - automatic authorship, metadata, and formatting.
umb new my-manuscript
umb build
umb install
Installs TinyTex into the ~/.umb/tinytex
directory.
For a full list of commands and arguments, add --help
to any command.
umb --help
umb new --help
pip install micromanubot
pdflatex
and bibtex
must be installed to produce PDF output.
Micromanubot includes an installer for TinyTex, a minimal version of LaTeX.
To install TinyTex, run
umb install
If you already have TeX installed and prefer to use the existing installation, simply do not run the above command.
Why not manubot?
Manubot is the inspiration for this project. Its selling point is Markdown manuscripts and web interfaces, though it can produce many different kinds of output, including DOCX and PDF. Micromanubot is more focused---dealing only with LaTeX manuscripts and PDF output. We believe that Micromanubot's simplified interface to LaTeX (no boilerplate!) provides most of the advantages of writing in Markdown while maintaining LaTeX's superior flexibility (especially for tables).
Manubot provides an alternative to preprint servers and traditional publishing, allowing users to serve nicely-formatted manuscripts online at no cost. Micromanubot provides the simplest path to creating a manuscript or preprint locally.
Setting up a new manuscript should be as simple as possible. It should be possible to go from producing the last figure of the analysis to typing in the manuscript within five seconds, and to produce a nicely-formatted PDF five seconds after that. Micromanubot does not seek to replace Manubot (in fact, we use some of it internally!). Instead, it seeks to provide a more lightweight alternative in the form of a command-line tool.
To create a new Manubot manuscript, the standard path is to clone the rootstock repository and begin altering the manuscript content.
This leads to a repository that maintains all of the commits to the rootstock, making it harder to decipher who actually wrote the manuscript using GitHub.
On the other hand, Micromanubot creates a clean repository every time, using the simple command umb new
.
Why not Overleaf?
Overleaf is a collaborative online LaTeX editor, basically Google Docs for LaTeX. We love Overleaf, and we use it regularly for manuscripts. However, Overleaf can be a less ergonomic starting point for a new manuscript, especially if the initial writing is done by only one person.
One key feature we feel is missing from LaTeX/Overleaf is the ability to automatically pull content (e.g. images, citations) from the internet.
In Manubot, you can cite papers using [@doi:10.1103/PhysRev.47.777]
and images using ![](https://example.com/figure.png)
.
In Micromanubot, you can do essentially the same thing, just in LaTeX.
A formatted LaTeX document is produced when you run umb build
, and this pulls all citations and figures automatically.
Overall, we feel Overleaf is better for a mid-to-late-stage manuscript, but we prefer Micromanubot for initial writing.
The output of umb build
is a perfect input to an Overleaf document, which is perfect for review and making final changes.
Micromanubot is plain LaTeX, just with a (to our eyes) nicer interface.
Building a manuscript locally with plain LaTeX is like compiling a C++ project by typing g++ -Wall ... file_a.cpp file_b.cpp main.cpp -o ...
.
Building a Micromanubot manuscript is like compiling a Rust project using cargo build
.
It's ultimately doing a similar thing, but using the opinionated tool and structure makes the user interface so much nicer.
Ultimately, though, it's just a first step build tool.
You can always output a full LaTeX manuscript and compile it however you please.
- Citing using PubMedId (PMID)
- Citing using Manubot itself
- Improved templating (e.g. Jinja2, latexbuild)
- In-place modification of LaTeX, not just whole-document string replacements.
clean
command to clear cache, etc.- Allow
install
command to install other packages.