]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/macros.itexi
Doc-de: update macros.itely and nitpicks
[lilypond.git] / Documentation / user / macros.itexi
index fb4e0e779adf1c184103bc0ce9c3fa3c9e418bbb..9dbf8a8ff3fb2406a08b446ec1ade52799f17a87 100644 (file)
@@ -6,17 +6,29 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @include version.itexi
 
+
+@c Don't replace quotes with directed quotes.
+
+@set txicodequoteundirected
+@set txicodequotebacktick
+
+
+
 @c   ***** Displaying text *****
 
-@c we need this since @q{\} doesn't work with makeinfo 4.11 --
-@c say @q{@bs{}} instead
+@c We need this since @q{\} doesn't work with makeinfo 4.11 --
+@c say @q{@bs{}} instead.
+
 @macro bs
 \\
 @end macro
 
-@c to get decent quotes in `foo' and ``foo''
+
+@c To get decent quotes in `foo' and ``foo''.
+
 @macro q{TEXT}
 @quoteleft{}\TEXT\@quoteright{}
 @end macro
 @quotedblleft{}\TEXT\@quotedblright{}
 @end macro
 
-@macro warning{TEXT}
+
 @ifhtml
+
+@macro warning{TEXT}
 @cartouche
 @b{Note:} \TEXT\
 @end cartouche
+@end macro
+
 @end ifhtml
+
 @ifnothtml
+
+@macro warning{TEXT}
 @quotation
 @quotation
 @cartouche
 @end cartouche
 @end quotation
 @end quotation
-@end ifnothtml
 @end macro
 
+@end ifnothtml
+
+
 @ifnotinfo
+
 @macro notation{TEXT}
 @var{\TEXT\}
 @end macro
+
 @end ifnotinfo
 
 @ifinfo
+
 @macro notation{TEXT}
 \TEXT\
 @end macro
+
 @end ifinfo
 
+
 @macro smallspace
 @sp 1
 @end macro
 
 
-@c   **** Displaying images not generated by lilypond-book
 
-@c current installation setup of Info docs requires that all images are
-@c expected to be found in lilypond/ subdirectory.  lilypond-book already
-@c generates proper @image commands for images of music; these macros
-@c definitions do the same for other images.
+@c   ***** Displaying images not generated by lilypond-book *****
+
+@c Current installation setup of Info docs requires that all images are
+@c expected to be found in the `lilypond/' subdirectory.  `lilypond-book'
+@c already generates proper @image commands for images of music; these
+@c macro definitions do the same for other images.
 
 @ifnotinfo
+
 @macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
 @image{\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
 @end macro
+
 @end ifnotinfo
 
 @ifinfo
+
 @macro sourceimage{FILENAME,WIDTH,HEIGHT,ALTTEXT}
 @image{lilypond/\FILENAME\,\WIDTH\,\HEIGHT\,\ALTTEXT\}
 @end macro
+
 @end ifinfo
 
 
-@c   **** Headings in a doc subsection ****
+
+@c   ***** Headings in a doc subsection *****
+
+@c Don't insert an empty line after @predefined!  Right now
+@c it doesn't matter, but a future implementation will probably
+@c add some code which needs this restriction.
 
 @macro predefined
 @noindent
 @subsubheading Predefined commands
+@end macro
 
+@c The next macro is a dummy currently since texinfo doesn't
+@c provide a real ragged-right environment yet.
+@c
+@c Due to a bug in texi2html (texi2html.pl CVS versions <= 1.245)
+@c the macro must not be empty.
+
+@macro endpredefined
+@c
 @end macro
 
+
 @macro snippets
 @noindent
 @subsubheading Selected Snippets
-
 @end macro
 
+
+@c Don't insert an empty line after @seealso!  Otherwise we get
+@c unwanted extra vertical space in the PDF output.
+
 @macro seealso
 @noindent
 @subsubheading See also
-
 @indent
 @end macro
 
+
 @macro knownissues
 @noindent
 @subsubheading Known issues and warnings
-
 @end macro
 
+
 @macro lydoctitle {TEXT}
 @emph{\TEXT\}
-
 @end macro
 
+
+@c Don't remove the `@c' within the macro definition!  See section 19.3,
+@c `Macro Details and Caveats', in the texinfo info file for explanation.
+
 @macro funindex {TEXT}
 @findex \TEXT\
 @kindex \TEXT\
+@c
 @end macro
 
 
 
-@c   **** Links and references ****
+@c   ***** Links and references *****
 
 @c  Definitions for references:
+@c
 @c     @rglos
 @c     @rlearning
 @c     @ruser
 @c     @rprogram
-@c     @rsnippets
+@c     @rlsr
 @c     @rinternals
+@c
+@c  All these also have a @...named version which allows to specify the
+@c  displayed text for the reference as second argument.
+@c
+@c ***** HTML + bigpage is a special case (other manual names); all other
+@c formats are treated similarly.
 
-@ifhtml
-@c ***** HTML *****
+
+@c *** not TeX ***
+
+@ifnottex
+
+@c ** bigpage **
 
 @ifset bigpage
 
 @ref{\TEXT\,,,music-glossary-big-page,Music Glossary}
 @end macro
 
+@macro rglosnamed{TEXT,DISPLAY}
+@vindex \TEXT\
+@ref{\TEXT\,,\DISPLAY\,music-glossary-big-page,Music Glossary}
+@end macro
+
 @macro rlearning{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,lilypond-learning-big-page,Learning Manual}
 @end macro
 
+@macro rlearningnamed{TEXT,DISPLAY}
+@vindex \TEXT\
+@ref{\TEXT\,,\DISPLAY\,lilypond-learning-big-page,Learning Manual}
+@end macro
+
 @macro ruser{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,lilypond-big-page,Notation Reference}
 @end macro
 
+@macro rusernamed{TEXT,DISPLAY}
+@vindex \TEXT\
+@ref{\TEXT\,,\DISPLAY\,lilypond-big-page,Notation Reference}
+@end macro
+
 @macro rprogram{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,lilypond-program-big-page,Application Usage}
 @end macro
 
+@macro rprogramnamed{TEXT,DISPLAY}
+@vindex \TEXT\
+@ref{\TEXT\,,\DISPLAY\,lilypond-program-big-page,Application Usage}
+@end macro
+
 @macro rlsr{TEXT}
 @ref{\TEXT\,,,lilypond-snippets-big-page,Snippets}
 @end macro
 
+@macro rlsrnamed{TEXT,DISPLAY}
+@ref{\TEXT\,,\DISPLAY\,lilypond-snippets-big-page,Snippets}
+@end macro
+
 @macro rinternals{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,lilypond-internals-big-page,Internals Reference}
 @end macro
 
+@macro rinternalsnamed{TEXT,DISPLAY}
+@vindex \TEXT\
+@ref{\TEXT\,,\DISPLAY\,lilypond-internals-big-page,Internals Reference}
+@end macro
+
 @end ifset
 
 
+@c ** not bigpage **
+
 @ifclear bigpage
 
 @macro rglos{TEXT}
 @ref{\TEXT\,,,music-glossary,Music Glossary}
 @end macro
 
-@macro rlearning{TEXT}
+@macro rglosnamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-learning,Learning Manual}
+@ref{\TEXT\,,\DISPLAY\,music-glossary,Music Glossary}
 @end macro
 
-@macro ruser{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond,Notation Reference}
-@end macro
-
-@macro rprogram{TEXT}
+@macro rlearning{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program,Application Usage}
-@end macro
-
-@macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets,Snippets}
+@ref{\TEXT\,,,lilypond-learning,Learning Manual}
 @end macro
 
-@macro rinternals{TEXT}
+@macro rlearningnamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals,Internals Reference}
+@ref{\TEXT\,,,lilypond-learning,Learning Manual}
 @end macro
 
-@end ifclear
-
-@end ifhtml
-
-
-@ifdocbook
-@c ***** DOCBOOK-XML *****
-
-@macro rglos{TEXT}
+@macro ruser{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,music-glossary,Music Glossary}
+@ref{\TEXT\,,,lilypond,Notation Reference}
 @end macro
 
-@macro rlearning{TEXT}
+@macro rusernamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-learning,Learning Manual}
+@ref{\TEXT\,,\DISPLAY\,lilypond,Notation Reference}
 @end macro
 
-@macro ruser{TEXT}
+@macro rprogram{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond,Notation Reference}
+@ref{\TEXT\,,,lilypond-program,Application Usage}
 @end macro
 
-@macro rprogram{TEXT}
+@macro rprogramnamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program,Application Usage}
+@ref{\TEXT\,,\DISPLAY\,lilypond-program,Application Usage}
 @end macro
 
 @macro rlsr{TEXT}
 @ref{\TEXT\,,,lilypond-snippets,Snippets}
 @end macro
 
-@macro rinternals{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals,Internals Reference}
+@macro rlsrnamed{TEXT,DISPLAY}
+@ref{\TEXT\,,\DISPLAY\,lilypond-snippets,Snippets}
 @end macro
 
-@end ifdocbook
-
-
-@ifinfo
-@c **** INFO ****
-
-@macro rglos{TEXT}
+@macro rinternals{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,music-glossary,Music Glossary}
+@ref{\TEXT\,,,lilypond-internals,Internals Reference}
 @end macro
 
-@macro rlearning{TEXT}
+@macro rinternalsnamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-learning,Learning Manual}
+@ref{\TEXT\,,\DISPLAY\,lilypond-internals,Internals Reference}
 @end macro
 
-@macro ruser{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond,Notation Reference}
-@end macro
+@end ifclear
 
-@macro rprogram{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program,Application Usage}
-@end macro
+@end ifnottex
 
-@macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets,Snippets}
-@end macro
 
-@macro rinternals{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals,Internals Reference}
-@end macro
+@c *** TeX ***
 
-@end ifinfo
+@iftex
 
+@c All commands below should work in the middle of the line;
+@c we thus must not use @vindex directly since it works only if placed
+@c on a line of its own.  To overcome this problem, we define a
+@c replacement macro using the internal definition of @vindex which
+@c delimits arguments in the standard way (i.e., with braces).
 
-@c **** TEX ****
-@iftex
+@tex
+\gdef\lilyvindex#1{\doind{vr}{\code #1}\ignorespaces}
+@end tex
 
 @macro rglos{TEXT}
-@vindex \TEXT\
+@lilyvindex{\TEXT\}
 @ref{\TEXT\,,,music-glossary,Music Glossary}
 @end macro
 
+@macro rglosnamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,music-glossary,Music Glossary}
+@end macro
+
 @macro rlearning{TEXT}
-learning manual, @ref{\TEXT\,,,lilypond-learning,Learning Manual}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,,lilypond-learning,Learning Manual}
+@end macro
+
+@macro rlearningnamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,lilypond-learning,Learning Manual}
 @end macro
 
 @macro ruser{TEXT}
-notation reference, @ref{\TEXT\,,,lilypond,Notation Reference}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,,lilypond,Notation Reference}
+@end macro
+
+@macro rusernamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,lilypond,Notation Reference}
 @end macro
 
 @macro rprogram{TEXT}
-program usage manual, @ref{\TEXT\,,,lilypond-program,Application Usage}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,,lilypond-program,Application Usage}
+@end macro
+
+@macro rprogramnamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,lilypond-program,Application Usage}
 @end macro
 
 @macro rlsr{TEXT}
+@lilyvindex{\TEXT\}
 @ref{\TEXT\,,,lilypond-snippets,Snippets}
 @end macro
 
+@macro rlsrnamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,lilypond-snippets,Snippets}
+@end macro
+
 @macro rinternals{TEXT}
-@vindex \TEXT\
-@code{\TEXT\}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,,lilypond-internals,Internals Reference}
 @end macro
 
-@end iftex
+@macro rinternalsnamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,lilypond-internals,Internals Reference}
+@end macro
 
+@end iftex