Skip to main content

Micromanubot

Ruff image image image Actions status

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.

Why Micromanubot?

  • 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.

Usage

Create a new manuscript

umb new my-manuscript

Build the manuscript in the current directory

umb build

Install TinyTex

umb install

Installs TinyTex into the ~/.umb/tinytex directory.

Help

For a full list of commands and arguments, add --help to any command.

umb --help
umb new --help

Installation

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.

FAQ

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.

Why not just plain LaTeX?

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.

Possible future features

  1. Citing using PubMedId (PMID)
  2. Citing using Manubot itself
  3. Improved templating (e.g. Jinja2, latexbuild)
  4. In-place modification of LaTeX, not just whole-document string replacements.
  5. clean command to clear cache, etc.
  6. Allow install command to install other packages.

Metadata

Release files for micromanubot 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for micromanubot 0.4.3
File Size Uploaded
micromanubot-0.4.3.tar.gz 35.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for micromanubot 0.4.3
File Interpreter ABI Platform
micromanubot-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 74.5 kB

Release files / micromanubot-0.4.3.tar.gz

Download URL micromanubot-0.4.3.tar.gz
Size 35.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f20e77b5079bb99b53ab1f3244d26c1bd02e24d10327367e6b8a76ed48b0fdfe
BLAKE2b-256 checksum
How to use checksums
7176d0074c4997ca6b869e6ec43e52e944d196f69728301866aa4342ab9aca32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

Release files / micromanubot-0.4.3-py3-none-any.whl

Download URL micromanubot-0.4.3-py3-none-any.whl
Size 38.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3b2166ad69955ac847f6628fe3a3b654ebdf9a5146a903430073e6c8a44a2640
BLAKE2b-256 checksum
How to use checksums
4b688efc7c44f8198d966c90e56956d07671fc19be99ff025bb87da2556952df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

Release history Release notifications | RSS feed

This release

0.4.3 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page