]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/macros.itexi
Eliminate unix-specific -u flags from internationalization build
[lilypond.git] / Documentation / user / macros.itexi
index 2f236b251a954054aa20c23e6478e30230fd9d58..9dbf8a8ff3fb2406a08b446ec1ade52799f17a87 100644 (file)
@@ -6,20 +6,29 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c @value{version}
-@macro version
-2.11.43
-@end macro
+
+@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.8 --
-@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  Possibly deprecated; under discussion.
-@c usage: @lsr{ancient,Ancient-notation,custodes.ly}
-@macro lsr{SECTION,DIR,TEXT}
-@ifhtml
-@uref{source/input/lsr/lilypond-snippets/\DIR\.html#\TEXT\,@file{\SECTION\/\TEXT\}}
-@end ifhtml
-@ifnothtml
-@file{\SECTION\/\TEXT\}
-@end ifnothtml
-@end macro
-
-@c usage: @lsrdir{ancient,Ancient-notation}
-@macro lsrdir{SECTION,DIR}
-@ifhtml
-@uref{source/input/lsr/lilypond-snippets/\DIR\.html,\SECTION\}
-@end ifhtml
-@ifnothtml
-\DIR\
-@end ifnothtml
-@end macro
-
+@c   ***** Links and references *****
 
 @c  Definitions for references:
-@c     @internalsref
+@c
 @c     @rglos
-@c     @rprogram
-@c     @ruser
 @c     @rlearning
+@c     @ruser
+@c     @rprogram
+@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 *****
 
-@ifset bigpage
+@c *** not TeX ***
 
-@macro internalsref{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals-big-page,Internals Reference}
-@end macro
+@ifnottex
+
+@c ** bigpage **
+
+@ifset bigpage
 
 @macro rglos{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,music-glossary-big-page,Music Glossary}
 @end macro
 
-@macro rprogram{TEXT}
+@macro rglosnamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program-big-page,Application Usage}
-@end macro
-
-@macro ruser{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-big-page,Notation Reference}
+@ref{\TEXT\,,\DISPLAY\,music-glossary-big-page,Music Glossary}
 @end macro
 
 @macro rlearning{TEXT}
 @ref{\TEXT\,,,lilypond-learning-big-page,Learning Manual}
 @end macro
 
-@macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets-big-page,Snippets}
+@macro rlearningnamed{TEXT,DISPLAY}
+@vindex \TEXT\
+@ref{\TEXT\,,\DISPLAY\,lilypond-learning-big-page,Learning Manual}
 @end macro
 
-@end ifset
-
-
-@ifclear bigpage
-
-@macro internalsref{TEXT}
+@macro ruser{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals,Internals Reference}
+@ref{\TEXT\,,,lilypond-big-page,Notation Reference}
 @end macro
 
-@macro rglos{TEXT}
+@macro rusernamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,music-glossary,Music Glossary}
+@ref{\TEXT\,,\DISPLAY\,lilypond-big-page,Notation Reference}
 @end macro
 
 @macro rprogram{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program,Application Usage}
+@ref{\TEXT\,,,lilypond-program-big-page,Application Usage}
 @end macro
 
-@macro ruser{TEXT}
+@macro rprogramnamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond,Notation Reference}
+@ref{\TEXT\,,\DISPLAY\,lilypond-program-big-page,Application Usage}
 @end macro
 
-@macro rlearning{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-learning,Learning Manual}
+@macro rlsr{TEXT}
+@ref{\TEXT\,,,lilypond-snippets-big-page,Snippets}
 @end macro
 
-@macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets,Snippets}
+@macro rlsrnamed{TEXT,DISPLAY}
+@ref{\TEXT\,,\DISPLAY\,lilypond-snippets-big-page,Snippets}
 @end macro
 
-@end ifclear
+@macro rinternals{TEXT}
+@vindex \TEXT\
+@ref{\TEXT\,,,lilypond-internals-big-page,Internals Reference}
+@end macro
 
-@end ifhtml
+@macro rinternalsnamed{TEXT,DISPLAY}
+@vindex \TEXT\
+@ref{\TEXT\,,\DISPLAY\,lilypond-internals-big-page,Internals Reference}
+@end macro
 
+@end ifset
 
-@ifdocbook
-@c ***** DOCBOOK-XML *****
 
-@macro internalsref{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond-internals,Internals Reference}
-@end macro
+@c ** not bigpage **
+
+@ifclear bigpage
 
 @macro rglos{TEXT}
 @vindex \TEXT\
 @ref{\TEXT\,,,music-glossary,Music Glossary}
 @end macro
 
-@macro rprogram{TEXT}
+@macro rglosnamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-program,Application Usage}
-@end macro
-
-@macro ruser{TEXT}
-@vindex \TEXT\
-@ref{\TEXT\,,,lilypond,Notation Reference}
+@ref{\TEXT\,,\DISPLAY\,music-glossary,Music Glossary}
 @end macro
 
 @macro rlearning{TEXT}
 @ref{\TEXT\,,,lilypond-learning,Learning Manual}
 @end macro
 
-@macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets,Snippets}
+@macro rlearningnamed{TEXT,DISPLAY}
+@vindex \TEXT\
+@ref{\TEXT\,,,lilypond-learning,Learning Manual}
 @end macro
 
-@end ifdocbook
-
-
-@ifinfo
-@c **** INFO ****
-
-@macro internalsref{TEXT}
+@macro ruser{TEXT}
 @vindex \TEXT\
-@inforef{\TEXT\,,lilypond-internals,Internals Reference}
+@ref{\TEXT\,,,lilypond,Notation Reference}
 @end macro
 
-@macro rglos{TEXT}
+@macro rusernamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@inforef{\TEXT\,,music-glossary,Music Glossary}
+@ref{\TEXT\,,\DISPLAY\,lilypond,Notation Reference}
 @end macro
 
 @macro rprogram{TEXT}
 @ref{\TEXT\,,,lilypond-program,Application Usage}
 @end macro
 
-@macro ruser{TEXT}
+@macro rprogramnamed{TEXT,DISPLAY}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond,Notation Reference}
+@ref{\TEXT\,,\DISPLAY\,lilypond-program,Application Usage}
 @end macro
 
-@macro rlearning{TEXT}
+@macro rlsr{TEXT}
+@ref{\TEXT\,,,lilypond-snippets,Snippets}
+@end macro
+
+@macro rlsrnamed{TEXT,DISPLAY}
+@ref{\TEXT\,,\DISPLAY\,lilypond-snippets,Snippets}
+@end macro
+
+@macro rinternals{TEXT}
 @vindex \TEXT\
-@ref{\TEXT\,,,lilypond-learning,Learning Manual}
+@ref{\TEXT\,,,lilypond-internals,Internals Reference}
 @end macro
 
-@macro rlsr{TEXT}
-@ref{\TEXT\,,,lilypond-snippets,Snippets}
+@macro rinternalsnamed{TEXT,DISPLAY}
+@vindex \TEXT\
+@ref{\TEXT\,,\DISPLAY\,lilypond-internals,Internals Reference}
 @end macro
 
-@end ifinfo
+@end ifclear
+
+@end ifnottex
+
 
+@c *** TeX ***
 
-@c **** TEX ****
 @iftex
 
-@macro internalsref{TEXT}
-@vindex \TEXT\
-@code{\TEXT\}
-@end macro
+@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).
 
-@macro rglos {TEXT}
-@vindex \TEXT\
+@tex
+\gdef\lilyvindex#1{\doind{vr}{\code #1}\ignorespaces}
+@end tex
+
+@macro rglos{TEXT}
+@lilyvindex{\TEXT\}
 @ref{\TEXT\,,,music-glossary,Music Glossary}
 @end macro
 
-@macro rprogram{TEXT}
-program usage manual, @ref{\TEXT\,,,lilypond-program,Application Usage}
+@macro rglosnamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,music-glossary,Music Glossary}
+@end macro
+
+@macro rlearning{TEXT}
+@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 rlearning{TEXT}
-learning manual, @ref{\TEXT\,,,lilypond-learning,Learning Manual}
+@macro rusernamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,lilypond,Notation Reference}
+@end macro
+
+@macro rprogram{TEXT}
+@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
 
-@end iftex
+@macro rlsrnamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,lilypond-snippets,Snippets}
+@end macro
 
+@macro rinternals{TEXT}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,,lilypond-internals,Internals Reference}
+@end macro
 
-@c EOF
+@macro rinternalsnamed{TEXT,DISPLAY}
+@lilyvindex{\TEXT\}
+@ref{\TEXT\,,\DISPLAY\,lilypond-internals,Internals Reference}
+@end macro
+
+@end iftex