Skip to main content

A build tool for academic manuscripts

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

micromanubot-0.4.3.tar.gz (35.8 kB view details)

Uploaded Source

Built Distribution

micromanubot-0.4.3-py3-none-any.whl (38.6 kB view details)

Uploaded Python 3

File details

Details for the file micromanubot-0.4.3.tar.gz.

File metadata

  • Download URL: micromanubot-0.4.3.tar.gz
  • Upload date:
  • Size: 35.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for micromanubot-0.4.3.tar.gz
Algorithm Hash digest
SHA256 f20e77b5079bb99b53ab1f3244d26c1bd02e24d10327367e6b8a76ed48b0fdfe
MD5 a73e78a35fcbf939056d71afa1e6be17
BLAKE2b-256 7176d0074c4997ca6b869e6ec43e52e944d196f69728301866aa4342ab9aca32

See more details on using hashes here.

File details

Details for the file micromanubot-0.4.3-py3-none-any.whl.

File metadata

  • Download URL: micromanubot-0.4.3-py3-none-any.whl
  • Upload date:
  • Size: 38.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for micromanubot-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b2166ad69955ac847f6628fe3a3b654ebdf9a5146a903430073e6c8a44a2640
MD5 28690e21b1d94a7b48cfd763d58b8f46
BLAKE2b-256 4b688efc7c44f8198d966c90e56956d07671fc19be99ff025bb87da2556952df

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page