-@ifnottex
-@macro reng {word}
-@ref{ (lilypond-internals)\word\, \word\ }
+@c -*-texinfo-*-
-@end macro
-@end ifnottex
+@tex
+\input feta20.tex
+\font\fetasixteen=feta16
+\def\fetafont{\fetasixteen}
+\def\fetachar#1{\hbox{\fetasixteen#1}}
+@end tex
-@iftex
-@macro reng {word}
-\word\
+@c Reference GLOSsary
+@macro rglos {NAME}
+@ifhtml
+@c ugh: @ref assumes that external refs are split documents too
+@html
+<a style="text-decoration: none; color: inherit;" href="../music-glossary.html#\NAME\">\NAME\</a>@c
+@end html
+@end ifhtml
+@ifnothtml
+\NAME\@c
+@end ifnothtml
@end macro
-@end iftex
@ifnottex
-@macro rgrob {word}
-@ref{ (lilypond-internals)\word\, \word\ }
-
-@end macro
+ @macro texisharp {word}
+ #
+ @end macro
+ @macro texiflat {word}
+ b
+ @end macro
@end ifnottex
@iftex
-@macro rgrob {word}
-\word\
-@end macro
+ @macro texiflat {word}
+ @tex
+ \\kern0.15em\\fetachar\\fetaflat
+ @end tex
+ @end macro
+ @macro texisharp {word}
+ @tex
+ \\raise0.5ex\\fetachar\\fetasharp
+ @end tex
+ @end macro
@end iftex
-@ifnottex
-@macro rint {word}
-@ref{ (lilypond-internals)\word\, \word\ }
+@macro arrow{}
+@iftex
+@tex $\\Rightarrow$ @end tex@c
+@end iftex
+@ifhtml
+@html
+→
+@end html
+@end ifhtml
+@ifinfo
+-->
+@end ifinfo
+@end macro
+
+
+
+@c dup?
+@ifhtml
+
+ @c ***** HTML *****
+
+@macro internalsref{NAME}@c
+@c makeinfo-4.7 encodes html names, which means that nodes that
+@c contain nonalphanum characters will be broken links on the website.
+@c @uref{../lilypond-internals/\NAME\.html,\NAME\}@c
+@c @inforef{} adds ``See'' to the sentence, which is annoying, but
+@c better than a broken link.
+@c @inforef{\NAME\,,lilypond-internals}@c
+@c using @ref without punctuation is OK without for formats other than info
+@ref{\NAME\,,,lilypond-internals}@c
+@c should we do this?
+@cindex @code{\NAME\}
+@end macro
+
+ @c what is this? -- jcn
+ @macro hyphenatedinternalsref{NAME,NODENAME}
+ @c @uref{../lilypond-internals/\NODENAME\.html,\NAME\}@c
+ @c @inforef{\NODENAME\,,lilypond-internals}@c
+ @c should we do this?
+ @c using @ref without punctuation is OK without for formats other than info
+ @ref{\NODENAME\,,\NAME\,lilypond-internals}@c
+ @cindex @code{\NAME\}
+ @end macro
+
+ @macro inputfileref{DIR,NAME}
+ @uref{../../../../\DIR\/out-www/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
+ @end macro
+
+@end ifhtml
+
+@c dup?
+@ifdocbook
+
+ @c ***** DOCBOOK-XML *****
+
+ @macro internalsref{NAME}
+ @c makeinfo-4.7 encodes html names
+ @c @uref{../lilypond-internals/\NAME\.html,\NAME\}@c
+ @inforef{\NAME\,,lilypond-internals}@c
+ @c should we do this?
+ @cindex @code{\NAME\}
+ @end macro
+
+ @macro hyphenatedinternalsref{NAME,NODENAME}
+ @c @uref{../lilypond-internals/\NODENAME\.html,\NAME\}@c
+ @inforef{\NODENAME\,,lilypond-internals}@c
+ @c should we do this?
+ @cindex @code{\NAME\}
+ @end macro
+
+ @macro inputfileref{DIR,NAME}
+ @uref{../../../../\DIR\/out-www/collated-files.html#\NAME\,@file{\DIR\/\NAME\}}@c
+ @end macro
+
+@end ifdocbook
+
+@ifinfo
+@c **** INFO ****
+@macro internalsref{NAME}
+@inforef{\NAME\,,lilypond/lilypond-internals}@c
+@cindex \NAME\@c
@end macro
-@end ifnottex
-@iftex
-@macro rint {word}
-\word\
+@macro hyphenatedinternalsref{NAME,NODENAME}
+@c FIXME: suspicious info file name?
+@inforef{\NODENAME\,,lilypond-internals}@c
+@c should we do this?
+@cindex @code{\NAME\}
@end macro
-@end iftex
-@ifnottex
-@macro texisharp {word}
-#
+@macro inputfileref{DIR,NAME}
+@file{\DIR\/\NAME\}
@end macro
-@end ifnottex
+
+
+@macro usermanref{NAME}
+@ref{\NAME\,,,lilypond/lilypond}@c
+@end macro
+
+@end ifinfo
@iftex
-@macro texisharp {word}
-@tex
-$\\sharp$
-@end tex
+@c **** TEX ****
+
+@macro internalsref{NAME}@c
+@cindex @code{\NAME\} @c
+@code{\NAME\}@c
@end macro
-@end iftex
-@ifnottex
-@macro texiflat {word}
-b
+@macro inputfileref{DIR,NAME}@c
+@file{\DIR\/\NAME\}@c
@end macro
-@end ifnottex
-@iftex
-@macro texiflat {word}
-@tex
-$\\flat$
-@end tex
+@macro hyphenatedinternalsref{NAME,NODENAME}
+@code{\NAME\}@c
+@c should we do this?
+@cindex @code{\NAME\} @c
@end macro
-@end iftex
-@iftex
-@macro separate
-@c I want some space over here, not silly characters.
-@tex
-@end tex
+@macro seeinternals{NAME}
+internals document, @internalsref{\NAME\}
@end macro
@end iftex
-@c \heartsf was supposed to be filled?
+@c **** not TEX ****
-@c center*** is broken?
+@ifnottex
+ @macro seeinternals{NAME}
+ @internalsref{\NAME\}
+ @end macro
+@end ifnottex
-@ifinfo
-@macro separate
+@ifnotinfo
+ @macro usermanref{NAME}
+ @ref{\NAME\}@c
+ @end macro
+@end ifnotinfo
-@quotation
-@end quotation
-@end macro
-@end ifinfo
+@macro refbugs
+@noindent
+@subsubheading Bugs
-@ifhtml
-@macro separate
-@html
-<p></p><br><br>
-@end html
@end macro
-@end ifhtml
-
-@ignore
-@c Huh, do outline mode and texinfo really fight eachother?
-@c Outline can only use spaces to indent topic headers
-@c (or bullets, but then topics can't start with `@c').
-@c Texinfo can't have spaces in macro names.
+@macro seealso
+@noindent
+@subsubheading See also
-@macro c_ {word}
-\word\
-@node \word\
-@section \word\
@end macro
-@macro c__ {word}
-\word\
-@menu
-* \word\::
-@end menu
+@macro refcommands
+@noindent
+@subsubheading Predefined commands
-@node \word\
-@subsection \word\
@end macro
-@macro c___ {word}
-\word\
-@node \word\
-@unnumberedsubsubsection \word\
+@macro context{NAME}@c
+@code{\NAME\}@c should use internalsref
+@cindex \NAME\@c
@end macro
-@macro c_ {word}
-@end macro
-@end ignore
+
+@c
+@c ARGGGHHHHH! I want
+@c @cindex @code{@backslash\WHAT\}
+@c how do I do that?
+@c --hwn
+
+@macro refcommand{WHAT}
+@cindex @code{\WHAT\}
+@code{\WHAT\},
+@end macro