\documentclass[12pt]{amsart}
\usepackage{dbnsymb,amssymb,longtable}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[setpagesize=false]{hyperref}\hypersetup{colorlinks,
  linkcolor={blue!50!black},
  citecolor={blue!50!black},
  urlcolor=blue
}

\usepackage[textwidth=7in,textheight=9.5in,headsep=0.15in,centering]{geometry}

\def\lref#1#2{{\href{https://drorbn.net/dbnsymb/#1}{#2}}}

\begin{document}

\title{The Symbol Font {\tt dbnsymb}}

\author{Dror Bar-Natan}
\address{
  Department of Mathematics \\
  University of Toronto \\
  Toronto Ontario M5S 2E4 \\
  Canada
}
\email{drorbn@math.toronto.edu}
\urladdr{\url{https://www.math.toronto.edu/~drorbn}}

\date{
  This Edition: \today;
  Revision History: Section~\ref{sec:revisions};
  See \url{https://drorbn.net/dbnsymb}.
}

\maketitle

\begin{abstract}
This is the user manual for the symbol font {\tt dbnsymb}.
\end{abstract}

\tableofcontents

\section{Introduction}

Over the last few years I occasionally needed new symbols for
papers I was writing: overcrossings ($\overcrossing$), undercrossings
($\undercrossing$), pentagons ($\pentagon$), whatever. I've always
settled for partial and ad-hoc solutions --- drawing little \LaTeX{}
figures, combining existing symbols, etc. But if the AMS can have its
own symbol package ({\tt amssymb.sty}), why can't I have one too, with
symbols to my liking, which are placed and scaled just like \TeX's own?

{\tt dbnsymb} is an attempt to create this personal font. I plan to use it
in my own papers and ship it with those when I ship them out, just like I
ship macros and figures. I plan to continue adding symbols to it as needed
(or as requested by others) and to continue improving the existing symbols
in it.

This document documents {\tt dbnsymb}, its usage, and how it can
be modified. If you also need wheels ($\fourwheel$) or double points
($\doublepoint$) or anything else that's in, feel free to use it yourself.
Finally, if you need your own symbols too, you are welcome to download {\tt
dbnsymb} and use it as a basis for your own modifications. I will also be
happy to add symbols to {\tt dbnsymb} for you, provided they are likely to
be of interest for me and/or others with similar research interests.

\section{Usage} \label{sec:Usage}

To use {\tt dbnsymb}, you need to have the files \lref{dbnsymb.mf}{\tt
dbnsymb.mf} and \lref{dbnsymb.sty}{\tt dbnsymb.sty} somewhere where
\LaTeX{} would see them --- your current working directory or in any other
place where \LaTeX{} looks. These files are available at \url{https://drorbn.net/dbnsymb}.

This done, you should include the package {\tt dbnsymb.sty} in your
document, cross your fingers, and hope for the best.

{\tt dbnsymb} is also available within \href{https://www.mathjax.org/}{MathJax} (at least partially)! See the instructions at \url{https://github.com/AmerMathSoc/mathjax-dbnsymb}.

\section{Example}

If all goes well and the files \lref{dbnsymb.mf}{\tt dbnsymb.mf} and
\lref{dbnsymb.sty}{\tt dbnsymb.sty} really are in \LaTeX's sight, the
following \lref{example.tex}{example file} should produce the output
that follows it:

\vskip 5mm

\begin{quote}
\begin{verbatim}
\documentclass{article}
\usepackage{dbnsymb}
\begin{document}
Here's a famous formula:
\[ V(\doublepoint) := V(\overcrossing) - V(\undercrossing), \]
and here's another way of writing it, with the new symbols as 
superscripts:
\[ V(K^\doublepoint) := V(K^\overcrossing) - V(K^\undercrossing). \]
\end{document}
\end{verbatim}

\vskip 5mm

Here's a famous formula:
\[ V(\doublepoint) := V(\overcrossing) - V(\undercrossing), \]
and here's another way of writing it, with the new symbols as 
superscripts:
\[ V(K^\doublepoint) := V(K^\overcrossing) - V(K^\undercrossing). \]
\end{quote}

\vskip 5mm

A more extensive example is this manual page itself. See \lref{dbnsymbman.tex}{\tt dbnsymbman.tex} at \url{https://drorbn.net/dbnsymb}.

\section{The symbol table} \label{sec:SymbolTable}

\begin{center}
\begin{longtable}{|cll|}
  \hline
  Symbol		& \LaTeX command
	& Usage example \\
  \hline \endhead
  \hline \endfoot
  $\text{\Huge$\doublepoint$}$		& \verb$\doublepoint$
	& $V(\doublepoint)$ \\
  $\text{\Huge$\overcrossing$}$		& \verb$\overcrossing$
	& $V(\overcrossing)$ \\
  $\text{\Huge$\undercrossing$}$	& \verb$\undercrossing$
	& $V(\undercrossing)$ \\
  $\text{\Huge$\virtualcrossing$}$	& \verb$\virtualcrossing$
	& Virtual crossings ($\virtualcrossing$) are endemic to quantum
	  algebra \\
  $\text{\Huge$\semivirtualover$}$	& \verb$\semivirtualover$
	& Semi-virtuals are differences:
	  $\semivirtualover\leftrightarrow\overcrossing-\virtualcrossing$. \\
  $\text{\Huge$\semivirtualunder$}$	& \verb$\semivirtualunder$
	& $\doublepoint\leftrightarrow\semivirtualover-\semivirtualunder$. \\
  $\text{\Huge$\slashoverback$}$	& \verb$\slashoverback$
	& $\langle\slashoverback\rangle$ \\
  $\text{\Huge$\svslashoverback$}$	& \verb$\svslashoverback$
	& $\svslashoverback=\slashoverback-\crossing$ \\
  $\text{\Huge$\backoverslash$}$	& \verb$\backoverslash$
	& $\langle\backoverslash\rangle$ \\
  $\text{\Huge$\svbackoverslash$}$	& \verb$\svbackoverslash$
	& $\svbackoverslash=\backoverslash-\crossing$ \\
  $\text{\Huge$\Associator$}$		& \verb$\Associator$
	& $\Associator$ and $\slashoverback$ generate parenthesized tangles. \\
  $\text{\Huge$\righttwist$}$		& \verb$\righttwist$
        & ``$\righttwist$'' denotes a ribbon with a right-handed twist \\
  $\text{\Huge$\lefttwist$}$ 		& \verb$\lefttwist$
        & ``$\lefttwist$'' denotes a ribbon with a left-handed twist \\
  $\text{\Huge$\MobiusSymbol$}$ 	& \verb$\MobiusSymbol$
        & ``$\MobiusSymbol$'' denotes the trivially embedded M\"obius band \\
  $\text{\Huge$\crossing$}$		& \verb$\crossing$
	& \\
  $\text{\Huge$\smoothing$}$		& \verb$\smoothing$
	& $zC(\smoothing)$ \\
  $\text{\Huge$\upupsmoothing$}$		& \verb$\upupsmoothing$
	& The Conway relation $C(\overcrossing)-C(\undercrossing) = zC(\upupsmoothing)$ \\
  $\text{\Huge$\hsmoothing$}$		& \verb$\hsmoothing$
	& The $A_1$ relation: $\HGraph=2\hbar(\hsmoothing-\crossing)$ \\
  $\text{\Huge$\HSaddleSymbol$}$	& \verb$\HSaddleSymbol$
	& The cobordism $\HSaddleSymbol:\smoothing\to\hsmoothing$ \\
  $\text{\Huge$\ISaddleSymbol$}$	& \verb$\ISaddleSymbol$
	& The cobordism $\ISaddleSymbol:\hsmoothing\to\smoothing$ \\
  $\text{\Huge$\fourinwheel$}$		& \verb$\fourinwheel$
	& The cobordism $\fourinwheel:\bigcirc\to\emptyset$ \\
  $\text{\Huge$\twowheel$}$		& \verb$\twowheel$
	& $\displaystyle\Omega=1+\frac{\twowheel}{48}$ \\
  $\text{\Huge$\fourwheel$}$		& \verb$\fourwheel$
	& The wheeled Kontsevich integral $Z^\fourwheel(K)$ \\
  $\text{\Huge$\pentagon$}$		& \verb$\pentagon$
	& The $\pentagon_m$ equation \\
  $\text{\Huge$\hexagon$}$		& \verb$\hexagon$
	& The $\hexagon_\pm$ relations \\
  $\text{\Huge$\tetrahedron$}$		& \verb$\tetrahedron$
	& $\tetrahedron$ is $6j$ \\
  $\text{\Huge$\isolatedchord$}$	& \verb$\isolatedchord$
	& The framing correction $e^{f\isolatedchord/2}$ \\
  $\text{\Huge$\righttrefoil$}$		& \verb$\righttrefoil$
	& $J(\righttrefoil)=-t^4+t^3+t$ \\
  $\text{\Huge$\lefttrefoil$}$		& \verb$\lefttrefoil$
	& $J(\lefttrefoil)=-t^{-4}+t^{-3}+t^{-1}$ \\
  $\text{\Huge$\OpenHopfUp$}$		& \verb$\OpenHopfUp$
	& The open Hopf link $\OpenHopfUp_{\!\!x}^y$ \\
  $\text{\Huge$\OpenHopf$}$		& \verb$\OpenHopf$
	& The undirected open Hopf link $\OpenHopf_{\!\!x}^y$ \\
  $\text{\Huge$\HopfLink$}$		& \verb$\HopfLink$
	& $Z^\fourwheel(\HopfLink) =
          \langle\Omega,\Omega\rangle\exp\,^{x}\!\!\frown^{y}$ \\
  $\text{\Huge$\botright$}$		& \verb$\botright$
	& $\sigma_yZ(\OpenHopfUp_{\!x}^y)
          = \Omega_y\exp_\#(\botright_x^{\!\!y})$ \\
  $\text{\Huge$\SGraph$}$		& \verb$\SGraph$
	& The STU relation: $\SGraph=\TGraph-\UGraph$ \\
  $\text{\Huge$\TGraph$}$		& \verb$\TGraph$
	& $\TGraph=\SGraph+\UGraph$ \\
  $\text{\Huge$\UGraph$}$		& \verb$\UGraph$
	& $\UGraph=\TGraph-\SGraph$ \\
  $\text{\Huge$\IGraph$}$		& \verb$\IGraph$
	& The IHX relation: $\IGraph=\HGraph-\XGraph$ \\
  $\text{\Huge$\HGraph$}$		& \verb$\HGraph$
	& $\HGraph=\IGraph+\XGraph$ \\
  $\text{\Huge$\XGraph$}$		& \verb$\XGraph$
	& $\XGraph=\HGraph-\IGraph$ \\
  $\text{\Huge$\YGraph$}$		& \verb$\YGraph$
	& The AS relation: $\YGraph+\TwistedY=0$ \\
  $\text{\Huge$\FlippedYGraph$}$		& \verb$\FlippedYGraph$
	& The w-vertices: $\{\YGraph,\FlippedYGraph\}$ \\
  $\text{\Huge$\TwistedY$}$		& \verb$\TwistedY$
	& $\TwistedY=-\YGraph$ \\
  $\text{\Huge$\ThetaGraph$}$		& \verb$\ThetaGraph$
	& $Z(\ThetaGraph) = \nu^{1/2}\otimes\nu^{1/2}\otimes\nu^{1/2}$ \\
  $\text{\Huge$\dumbbell$}$		& \verb$\dumbbell$
	& \\
  $\text{\Huge$\wiggle$}$		& \verb$\wiggle$
	& $Z^{\text{naive}}(\wiggle) = \nu^{-1}$ \\
  $\text{\Huge$\stonehenge$}$		& \verb$\stonehenge$
	& The Stonehenge pairing $\langle D,K\rangle_\stonehenge$ \\
  $\text{\Huge$\inup$}$			& \verb$\inup$
        & $\begin{array}{c} X \\ \inup \\ x \end{array}$ \\
  $\text{\Huge$\actsonleft$}$			& \verb$\actsonleft$
        & $G$ acts on $X$ on the left: $G\actsonleft X$ \\
  $\text{\Huge$\actsonright$}$			& \verb$\actsonright$
        & $G$ acts on $X$ on the right: $X\actsonright G$ \\
  $\text{\Huge$\isotopic$}$		& \verb$\isotopic$
        & \\
  $\text{\Huge$\horizontalchord$}$		& \verb$\horizontalchord$
        & $Z^u(\overcrossing)=\exp(\horizontalchord)\virtualcrossing$ \\
  $\text{\Huge$\rightarrowdiagram$}$		& \verb$\rightarrowdiagram$
        & $Z^w(\overcrossing)=\exp(\rightarrowdiagram)\virtualcrossing$ \\
  $\text{\Huge$\leftarrowdiagram$}$		& \verb$\leftarrowdiagram$
        & $Z^w(\undercrossing)=\exp(-\leftarrowdiagram)\virtualcrossing$ \\
  $\text{\Huge$\cappededge$}$		& \verb$\cappededge$
        & ${\mathcal A}^w(\cappededge)$ \\
  $\text{\Huge$\upcap$}$		& \verb$\upcap$
        & In ${\mathcal A}^w(\upcap)$, only wheels survive \\
  $\text{\Huge$\downcap$}$		& \verb$\downcap$
        & $\downcap(D)$ cups the bottoms of the strands of $D$ \\
  $\text{\Huge$\doubletree$}$		& \verb$\doubletree$
        & The $\doubletree$ map is key to associators and $Z^w$. \\
  $\text{\Huge$\uppertriang$}$          & \verb$\uppertriang$
        & $\uppertriang\subset gl_n$ represents the upper triangular matrices. \\
  $\text{\Huge$\lowertriang$}$          & \verb$\lowertriang$
        & $\lowertriang\oplus\uppertriang=gl_n\oplus{\mathfrak a}_n$. \\
  $\text{\Huge$\OU$}$ 		         & \verb$\OU$
        & $\OU$ means Over then Under. \\
  $\text{\Huge$\CanadianFlag$}$		& \verb$\CanadianFlag$
        & {\footnotesize\verb/Canad$\overset{\smash{\CanadianFlag}}{\text{a}}$/:
	  Canad$\overset{\smash{\CanadianFlag}}{\text{a}}$} \\
  $\text{\Huge$\dbnframe$}$		& \verb$\dbnframe$
	& \verb/\hbox to 0pt{$\slashoverback$}$\dbnframe$/: 
	  $\text{\hbox to 0pt{$\slashoverback$}$\dbnframe$}$ \\

  $\text{\Huge$\dbnsymbsandbox$}$		& \verb$\dbnsymbsandbox$
	& A development sandbox $\dbnsymbsandbox$ \\
\end{longtable}
\end{center}

\section{Modifying {\tt dbnsymb}} \label{sec:Modifying}
The symbols in {\tt dbnsymb} were all drawn using
\href{https://mcj.sourceforge.net/}{\tt xfig}, an X-windows drawing program,
and then converted to metafont using {\tt fig2dev} (a standard companion
program to {\tt xfig}) assisted by a simple
\href{https://www.perl.org}{\tt perl} script that I wrote.

To add new symbols or create your own symbol font, follow the following
steps:

\begin{itemize}

\item Pick a new name for your font or addition; I would much prefer that
  you don't reuse the name {\tt dbnsymb}. For the sake of concreteness,
  I will assume below that the name you have picked is ``{\tt dptsymb}''.

\item Download the {\tt perl} script \lref{makefont}{\tt makefont},
  save it, and make it executable on your machine.

\item Create a directory for the {\tt xfig}-generated {\tt .fig} files
  containing the symbols (for the sake of concreteness, let's call
  this directory {\tt figs}). You can start with an empty {\tt figs}
  directory or start with the {\tt .fig} files used for the creation
  of {\tt dbnsymb} by downloading and unpacking the file
  \lref{figs.zip}{\tt figs.zip}.

\item Use {\tt xfig} to draw your favorite symbols and to save them in
  the directory {\tt figs}. You should fit your drawing within the 4in by
  4in rectangle bounded by the horizontal and vertical 1in and 5in lines
  on the {\tt xfig} canvas. The {\tt dbnsymb} symbol \verb$\dbnframe$
  ($\dbnframe$) is precisely that rectangle; if you wish, you can extract
  the file {\tt figs/040dbnframe.fig} from \lref{figs.zip}{\tt
  figs.zip} and use it as your guide. When saving a symbol in the
  directory {\tt figs}, use the file name format {\tt figs/nnnxxxxxx.fig},
  where ``{\tt nnn}'' is the 3-digit decimal character code you wish
  to use for that symbol (0--255), and the arbitrary length string {\tt
  xxxxxx} is that symbol's name.

\item Run the script {\tt makefont} to create the files {\tt dptsymb.mf}
  and {\tt dptsymb.sty} (in the current working directory) by typing
  ``{\tt makefont -fn dptsymb -s figs}''.

\item You are done. Use the files {\tt dptsymb.mf} and {\tt dptsymb.sty}
  as if they were the files {\tt dbnsymb.mf} and {\tt dbnsymb.sty}
  of Section~\ref{sec:Usage}.

\end{itemize}

The script {\tt makefont} has an additional optional parameter,
\verb$-f2m_opts$ {\it filename}, that may contain symbol by symbol
options for {\tt fig2dev}. See the manual page for {\tt fig2dev} and
the options file \lref{dbnsymb.f2m-opts}{\tt dbnsymb.f2m-opts} used
for the creation of {\tt dbnsymb}.

\section{Acknowledgement} \label{sec:Acknowledgement} I wish to thank
Dylan P.~Thurston for his comments, suggestions and extra symbols and Peter Krautzberger for the \href{https://github.com/AmerMathSoc/mathjax-dbnsymb}{MathJax version}. The
base for the Canadian flag symbol
$\smash{\raisebox{6pt}{\text{\Huge$\CanadianFlag$}}}$ came from the (unreachable)
\href{https://epb.lbl.gov/xfig/libraries/Flags/}{Xfig Flag
Library}.

\section{Revision History} \label{sec:revisions}

\begin{description}
\item[July 10, 2025] Web page moved to
  \href{https://www.math.toronto.edu/~drorbn}{Dror Bar-Natan}:
  \href{https://drorbn.net/AcademicPensieve}{Academic Pensieve}:
  \href{https://drorbn.net/AcademicPensieve/Projects}{Projects}:
  \href{https://drorbn.net/AcademicPensieve/Projects/dbnsymb}{dbnsymb}; added link to the \href{https://github.com/AmerMathSoc/mathjax-dbnsymb}{MathJax version}.
\item[July 9, 2025] $\dbnsymbsandbox$ added.
\item[March 3, 2020] $\FlippedYGraph$ added.
\item[September 29, 2019] $\upupsmoothing$ added.
\item[April 1, 2017] $\OU$ added.
\item[January 28, 2017] $\uppertriang$ and $\lowertriang$ added.
\item[October 8, 2015] $\downcap$ added.
\item[January 27, 2014] $\horizontalchord$ added.
\item[August 12, 2013] Minor tweaking.
\item[November 30, 2011] $\doubletree$ added.
\item[May 29, 2010] $\upcap$ added.
\item[September 25, 2009] $\svslashoverback$ and $\svbackoverslash$ added.
\item[April 19, 2009] $\cappededge$ added.
\item[November 28, 2008] $\actsonleft$ and $\actsonright$ added.
\item[November 12, 2008] $\rightarrowdiagram$ and $\leftarrowdiagram$ added.
\item[September 25, 2008] $\semivirtualover$ and $\semivirtualunder$ added.
\item[August 22, 2008] $\virtualcrossing$ added.
\item[October 29, 2003] Canad$\overset{\smash{\CanadianFlag}}{\text{a}}$ added!
\item[October 27, 2003] Move to Toronto, some new symbols.
\item[November 11, 2001] Some new symbols.
\item[October 21, 2001] Some new symbols.
\item[March 22, 2001] Bigger sized symbols in
  Section~\ref{sec:SymbolTable} in the html version.
\item[January 25, 2001] Some new symbols.
\item[May 18, 2000] Some new symbols, sizes adjusted so that
  $\dbnframe\simeq\square$ (\verb/$\dbnframe\simeq\square$/).
\item[May 7, 2000] Minor modifications and some extra symbols added.
\item[April 26, 2000] Minor modifications.
\item[April 25, 2000] Added ``full mirror'' download option.
\item[April 24, 2000] Added a few symbols and
  Sections~\ref{sec:Modifying},~\ref{sec:Acknowledgement}
  and~\ref{sec:revisions} and made a few minor modifications.
\item[March 19, 2000] First version posted.
\end{description}

\end{document}

