-@ifinfo
-@macro rgrob {word}
-@ref{ (lilypond-internals)\word\, \word\ },
+@c -*-texinfo-*-
+@c Only reference in HTML.
+@macro htmlref {NAME}
+@ifhtml
+@ref{\NAME\}@c
+@end ifhtml
+@ifnothtml
+\NAME\@c
+@end ifnothtml
@end macro
+
+
+@c Reference ENGraver description
+@ifnottex
@macro reng {word}
-@ref{ (lilypond-internals)Engraver \word\, \word\ },
+@ref{ (lilypond-internals)\word\, \word\ }
@end macro
-@end ifinfo
+@end ifnottex
-@ifnotinfo
+@iftex
+@macro reng {word}
+\word\
+@end macro
+@end iftex
+
+
+@c Reference GROB description
+@ifnottex
@macro rgrob {word}
@ref{ (lilypond-internals)\word\, \word\ }
@end macro
-@macro reng {word}
-@ref{ (lilypond-internals)Engraver \word\, \word\ }
+@end ifnottex
+
+@iftex
+@macro rgrob {word}
+\word\
+@end macro
+@end iftex
+
+
+@c Reference INTernals document
+@ifnottex
+@macro rint {word}
+@ref{ (lilypond-internals)\word\, \word\ }
+
+@end macro
+@end ifnottex
+
+@iftex
+@macro rint {word}
+\word\
+@end macro
+@end iftex
+
+
+@c Reference GLOSsary
+@macro rglos {NAME}
+@ifhtml
+@c ugh: @ref assumes that external refs are split documents too
+@uref{../music-glossary.html#\NAME\,\NAME\}@c
+@end ifhtml
+@ifnothtml
+\NAME\@c
+@end ifnothtml
+@end macro
+
+
+@ifnottex
+@macro texisharp {word}
+#
+@end macro
+@end ifnottex
+
+@iftex
+@macro texisharp {word}
+@tex
+$\\sharp$%
+@end tex
+@end macro
+@end iftex
+
+@ifnottex
+@macro texiflat {word}
+b
+@end macro
+@end ifnottex
+
+@iftex
+@macro texiflat {word}
+@tex
+$\\flat$%
+@end tex
+@end macro
+@end iftex
+
+
+
+@iftex
+@macro separate
+@c I want some space over here, not silly characters.
+@tex
+@end tex
+@end macro
+@end iftex
+
+@c \heartsf was supposed to be filled?
+
+@c center*** is broken?
+
+@ifinfo
+@macro separate
+
+@quotation
+@end quotation
+@end macro
+@end ifinfo
+
+@ifhtml
+@macro separate
+@html
+<p></p><br><br>
+@end html
+@end macro
+@end ifhtml
+
+
+@c dup?
+@ifhtml
+@macro internalsref{NAME}
+@uref{../lilypond-internals/\NAME\.html,\NAME\}
+@cindex \NAME\
+@end macro
+@end ifhtml
+
+@ifinfo
+@macro internalsref{NAME}
+@inforef{\NAME\,,lilypond-internals}
+@cindex \NAME\
+@end macro
+@end ifinfo
+
+@iftex
+@macro internalsref{NAME}
+@cindex \NAME\
+@code{\NAME\}
+@end macro
+@end iftex
+
+
+@iftex
+@macro seeinternals{NAME}
+internals document, @internalsref{\NAME\}
+@end macro
+@end iftex
+@ifnottex
+@macro seeinternals{NAME}
+@internalsref{\NAME\}
@end macro
-@end ifnotinfo
+@end ifnottex