quiver: a modern commutative diagram editor
quiver is a modern, graphical editor for commutative and pasting diagrams, capable of rendering high-quality diagrams for screen viewing, and exporting to LaTeX via tikz-cd.
Creating and modifying diagrams with quiver is orders of magnitude faster than writing the equivalent LaTeX by hand and, with a little experience, competes with pen-and-paper.
Try quiver out: q.uiver.app
Features & screenshots
quiver features an efficient, intuitive interface for creating complex commutative diagrams and pasting diagrams. It's easy to draw diagrams involving pullbacks and pushouts,
adjunctions,
and higher cells.
Object placement is based on a flexible grid that resizes according to the size of the labels.
There is a wide range of composable arrow styles.
quiver is intended to look good for screenshots, as well as to export LaTeX that looks as close as possible to the original diagram.
Diagrams may be created and modified using either the mouse, by clicking and dragging, or using the keyboard, with a complete set of keyboard shortcuts for performing any action.
When you export diagrams to LaTeX, quiver will embed a link to the diagram, which will allow you to return to it later if you decide it needs to be modified, or to share it with others.
Other features
- Multiple selection, making mass changes easy and fast.
- A history system, allowing you to undo/redo actions.
- Support for custom macro definitions: simply paste a URL corresponding to the file containing your
\newcommand
s. - Panning and zooming, for large diagrams.
- Smart label alignment and edge offset.
Building
Make sure you have installed yarn and have a version of
Make that supports .ONESHELL
(e.g. GNU Make 3.82).
Clone the repository, and run
make
which will build KaTeX. Then simply open src/index.html
in your favourite web browser.
Note for macOS users: the default version of Make on macOS is GNU Make 3.81, which does not
contain support for .ONESHELL
. You may need to update Make to run the Makefile.
Note for Ubuntu users: the cmdtest package that comes with Ubuntu conflicts with the yarn installation. You may need to uninstall cmdtest to install yarn.
If you have any other problems building quiver, open an issue detailing the problem and I'll try to help.
Thanks to
- S. C. Steenkamp , for helpful discussions regarding the aesthetic rendering of arrows.
- AndréC for the custom TikZ style for curves of a fixed height.
- Everyone who has improved quiver by reporting issues or suggesting improvements.