1
$\begingroup$

I made this annotated expression using q.uiver.app and would like to know how I can embed it in a math.se post.

q.uiver.app gives me the following LaTeX and also mentions I should include \usepackage{quiver} in the preamble. How do I do this?

% https://q.uiver.app/?q=WzAsMTIsWzEsMCwiXFxsYW1iZGEgeC4iXSxbMiwwLCJcXGxhbWJkYSB5LiJdLFszLDAsIngiXSxbNCwwLCJ5Il0sWzAsMCwiKCJdLFs1LDAsIikiXSxbNiwwLCIoIl0sWzcsMCwiXFxsYW1iZGEgeC4iXSxbOCwwLCJcXGxhbWJkYSB5LiJdLFs5LDAsIngiXSxbMTAsMCwieSJdLFsxMSwwLCIpIl0sWzAsMiwiIiwwLHsiY3VydmUiOi01fV0sWzEsMywiIiwwLHsiY3VydmUiOjV9XSxbNyw5LCIiLDAseyJjdXJ2ZSI6LTV9XSxbOCwxMCwiIiwwLHsiY3VydmUiOjV9XV0=
\[\begin{tikzcd}
    {(} & {\lambda x.} & {\lambda y.} & x & y & {)} & {(} & {\lambda x.} & {\lambda y.} & x & y & {)}
    \arrow[curve={height=-30pt}, from=1-2, to=1-4]
    \arrow[curve={height=30pt}, from=1-3, to=1-5]
    \arrow[curve={height=-30pt}, from=1-8, to=1-10]
    \arrow[curve={height=30pt}, from=1-9, to=1-11]
\end{tikzcd}\]

q.uiver.app also gives another paste:

% *** quiver ***
% A package for drawing commutative diagrams exported from https://q.uiver.app.
%
% This package is currently a wrapper around the `tikz-cd` package, importing necessary TikZ
% libraries, and defining a new TikZ style for curves of a fixed height.
%
% Version: 1.2.1
% Authors:
% - varkor (https://github.com/varkor)
% - AndréC (https://tex.stackexchange.com/users/138900/andr%C3%A9c)

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{quiver}[2021/01/11 quiver]

% `tikz-cd` is necessary to draw commutative diagrams.
\RequirePackage{tikz-cd}
% `amssymb` is necessary for `\lrcorner` and `\ulcorner`.
\RequirePackage{amssymb}
% `calc` is necessary to draw curved arrows.
\usetikzlibrary{calc}
% `pathmorphing` is necessary to draw squiggly arrows.
\usetikzlibrary{decorations.pathmorphing}

% A TikZ style for curved arrows of a fixed height, due to AndréC.
\tikzset{curve/.style={settings={#1},to path={(\tikztostart)
    .. controls ($(\tikztostart)!\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$)
    and ($(\tikztostart)!1-\pv{pos}!(\tikztotarget)!\pv{height}!270:(\tikztotarget)$)
    .. (\tikztotarget)\tikztonodes}},
    settings/.code={\tikzset{quiver/.cd,#1}
        \def\pv##1{\pgfkeysvalueof{/tikz/quiver/##1}}},
    quiver/.cd,pos/.initial=0.35,height/.initial=0}

% TikZ arrowhead/tail styles.
\tikzset{tail reversed/.code={\pgfsetarrowsstart{tikzcd to}}}
\tikzset{2tail/.code={\pgfsetarrowsstart{Implies[reversed]}}}
\tikzset{2tail reversed/.code={\pgfsetarrowsstart{Implies}}}
% TikZ arrow styles.
\tikzset{no body/.style={/tikz/dash pattern=on 0 off 1mm}}

\endinput
```
$\endgroup$
5
7
$\begingroup$

Unfortunately, at present there is no official support for tikz in MathJax. Here is the relevant issue from the MathJax project - progress has been made on running tikz in the browser by third parties, but has not been adopted by the main project.

Currently your options for producing a commutative diagram for your questions on MSE are detailed here: you can use amscd, array, or create the image elsewhere and include that in to your question. If you're doing reasonably complicated diagrams with quiver, this last option may be your best bet.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .