% TODO: Prevent this macro from globbing the following space
\define[0]\eg{{\em e.g.}}
\define[0]\ie{{\em i.e.}}
+
+
+% Define a new reference to a definition of the term. The text of the
+% reference is the term itself, the name is the term with def: prefixed.
+% For example, \defref{some defined term} defines the reference named
+% "def:some defined term" to point to this location with the text "some
+% defined term".
+% You can refer to this reference with refdef, e.g.,
+% \refdef{def:some defined term}.
+\define[1]\defref{\defreftxt{#1}{#1}}
+
+% Define a new reference with a text different from the name, #1 is the name
+% of the reference, #2 is the text.
+% This automatically prefixes the reference name with def:
+\define[2]\defreftxt{\reference[def:#1]{#2}}
+
+% Reference a defined reference (using \defref). Will put the reference text
+% and a page number in the margin. We use \inothermargin, since it is slightly
+% bigger.
+% This automatically prefixes the reference name with def:
+\define[1]\refdef{\inothermargin{\ref[t][def:#1] p.\ref[p][def:#1]}}