- Notifications
You must be signed in to change notification settings - Fork90
A modern commutative diagram editor for the web.
License
varkor/quiver
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
quiver is a modern, graphical editor forcommutative andpasting diagrams, capable ofrendering high-quality diagrams for screen viewing, and exporting to LaTeX viatikz-cd.
Creating and modifying diagrams withquiver is orders of magnitude faster than writing theequivalent LaTeX by hand and, with a little experience, competes with pen-and-paper.
Tryquiver out:q.uiver.app
quiver features an efficient, intuitive interface for creating complex commutative diagrams andpasting 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.
And full use of colour for labels and arrows.
quiver is intended to look good for screenshots, as well as to export LaTeX that looks as closeas 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 youto return to it later if you decide it needs to be modified, or to share it with others.
- 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. - Export embeddable diagrams to HTML.
- Panning and zooming, for large diagrams.
- Smart label alignment and edge offset.
To use custom macros and colours inquiver, create a file containing the definitions, like thefollowing.
\newcommand{\cat}{\mathscr}\newcommand{\psh}{\widehat}\newcommand{\smcat}{\mathbb}\newcommand{\yo}{よ}
Upload the file to a publicly accessible URL (for instance,gist.github.com), and paste the URL for the raw text into the "Macros"input at the bottom ofquiver.
Currently, macros may be defined using\newcommand
,\newcommand*
,\renewcommand
,\renewcommand*
,\DeclareMathOperator
, and\DeclareMathOperator*
; and colours may be definedusing\definecolor
(using the colour modes:rgb
,RGB
,HTML
,gray
).
SeeEditor integration on thequiverwiki.
Runmake
from the command line, and then opensrc/index.html
in your favourite web browser.
If this fails, you might be using an incompatible version of Make or Bash. In this case, you canmanually download thelatest release of KaTeX and placeit undersrc/
assrc/KaTeX/
. If KaTeX has not been given the correct path, you will get anerror telling you that KaTeX failed to load.
quiver must be run throughlocalhost
. If you have Python installed, an easy solution is torun:
python3 -m http.server
in thequiversrc
directory and then openlocalhost:8000
in browser.
If you have any other problems buildingquiver,open anissue detailing the problem and I'll try to help.
- S. C. Steenkamp, for helpful discussions regarding theaesthetic rendering of arrows.
- AndréC, for the custom TikZ style forcurves of a fixed height.
- Nathan Corbyn, for adding the ability to export embeddable diagramsto HTML.
- Paolo Brasolin, for adding offline support.
- Carl Davidson, for discussing and prototyping loop rendering.
- Everyone who has improvedquiver by reporting issues or suggesting improvements.
About
A modern commutative diagram editor for the web.