X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Fmacros.itexi;h=9dbf8a8ff3fb2406a08b446ec1ade52799f17a87;hb=6500fe2f6286d983a818ef2e77d3f5d2eeca3340;hp=5a98638c2b1747ac538561d12da9ac4a11e5ca5c;hpb=a8f3bf6456d8d8abf5998216c528e873db1064b3;p=lilypond.git diff --git a/Documentation/user/macros.itexi b/Documentation/user/macros.itexi index 5a98638c2b..9dbf8a8ff3 100644 --- a/Documentation/user/macros.itexi +++ b/Documentation/user/macros.itexi @@ -6,13 +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.8 -- -@c say @q{@value{backslash}} instead -@set backslash \ +@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 @@ -21,6 +37,19 @@ @quotedblleft{}\TEXT\@quotedblright{} @end macro + +@ifhtml + +@macro warning{TEXT} +@cartouche +@b{Note:} \TEXT\ +@end cartouche +@end macro + +@end ifhtml + +@ifnothtml + @macro warning{TEXT} @quotation @quotation @@ -31,246 +60,343 @@ @end quotation @end macro -@c TODO: define different output for info +@end ifnothtml + + +@ifnotinfo + @macro notation{TEXT} @var{\TEXT\} @end macro +@end ifnotinfo +@ifinfo + +@macro notation{TEXT} +\TEXT\ +@end macro + +@end ifinfo -@c **** Headings in a doc subsection **** -@c not really a heading, but... @macro smallspace @sp 1 @end macro -@c obsolete; being removed. -@macro refcommands + + +@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 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 commonprop -@noindent -@subsubheading Commonly tweaked properties +@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 refbugs + +@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 usage: @lsr{ancient,custodes.ly} -@macro lsr{DIR,TEXT} -@ifhtml -@uref{source/input/lsr/\DIR\/collated-files.html#\TEXT\,@file{\DIR\/\TEXT\}} -@end ifhtml -@ifnothtml -@file{\DIR\/\TEXT\} -@end ifnothtml -@end macro - -@macro lsrdir{DIR} -@ifhtml -@uref{source/input/lsr/\DIR\/collated-files.html,@file{\DIR\}/} -@end ifhtml -@ifnothtml -@file{\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 ***** -@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/\TEXT\.html,\TEXT\}@c -@c @inforef{} adds ``See'' to the sentence, which is annoying, but -@c better than a broken link. -@c @inforef{\TEXT\,,lilypond-internals}@c -@c using @ref without punctuation is OK without for formats other than info +@c *** not TeX *** + +@ifnottex + +@c ** bigpage ** @ifset bigpage -@macro internalsref{TEXT} +@macro rglos{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-internals-big-page} +@ref{\TEXT\,,,music-glossary-big-page,Music Glossary} @end macro -@macro rglos{TEXT} +@macro rglosnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,,music-glossary-big-page} +@ref{\TEXT\,,\DISPLAY\,music-glossary-big-page,Music Glossary} @end macro -@macro rprogram{TEXT} +@macro rlearning{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-program-big-page} +@ref{\TEXT\,,,lilypond-learning-big-page,Learning Manual} @end macro -@macro ruser{TEXT} +@macro rlearningnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-big-page} +@ref{\TEXT\,,\DISPLAY\,lilypond-learning-big-page,Learning Manual} @end macro -@macro rlearning{TEXT} +@macro ruser{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-learning-big-page} +@ref{\TEXT\,,,lilypond-big-page,Notation Reference} @end macro -@end ifset - - -@ifclear bigpage - -@macro internalsref{TEXT} +@macro rusernamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-internals} +@ref{\TEXT\,,\DISPLAY\,lilypond-big-page,Notation Reference} @end macro -@macro rglos{TEXT} +@macro rprogram{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,music-glossary} +@ref{\TEXT\,,,lilypond-program-big-page,Application Usage} @end macro -@macro rprogram{TEXT} +@macro rprogramnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-program} +@ref{\TEXT\,,\DISPLAY\,lilypond-program-big-page,Application Usage} @end macro -@macro ruser{TEXT} +@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} +@ref{\TEXT\,,,lilypond-internals-big-page,Internals Reference} @end macro -@macro rlearning{TEXT} +@macro rinternalsnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-learning} +@ref{\TEXT\,,\DISPLAY\,lilypond-internals-big-page,Internals Reference} @end macro -@end ifclear +@end ifset -@end ifhtml +@c ** not bigpage ** -@ifdocbook -@c ***** DOCBOOK-XML ***** +@ifclear bigpage -@macro internalsref{TEXT} +@macro rglos{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-internals} +@ref{\TEXT\,,,music-glossary,Music Glossary} @end macro -@macro rglos{TEXT} +@macro rglosnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,,music-glossary} +@ref{\TEXT\,,\DISPLAY\,music-glossary,Music Glossary} @end macro -@macro rprogram{TEXT} +@macro rlearning{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-program} +@ref{\TEXT\,,,lilypond-learning,Learning Manual} @end macro -@macro ruser{TEXT} +@macro rlearningnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond} +@ref{\TEXT\,,,lilypond-learning,Learning Manual} @end macro -@macro rlearning{TEXT} +@macro ruser{TEXT} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-learning} +@ref{\TEXT\,,,lilypond,Notation Reference} @end macro -@end ifdocbook - - -@ifinfo -@c **** INFO **** - -@macro internalsref{TEXT} +@macro rusernamed{TEXT,DISPLAY} @vindex \TEXT\ -@inforef{\TEXT\,,lilypond-internals} +@ref{\TEXT\,,\DISPLAY\,lilypond,Notation Reference} @end macro -@macro rglos{TEXT} +@macro rprogram{TEXT} @vindex \TEXT\ -@inforef{\TEXT\,,music-glossary} +@ref{\TEXT\,,,lilypond-program,Application Usage} @end macro -@macro rprogram{TEXT} +@macro rprogramnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-program} +@ref{\TEXT\,,\DISPLAY\,lilypond-program,Application Usage} @end macro -@macro ruser{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} +@ref{\TEXT\,,,lilypond-internals,Internals Reference} @end macro -@macro rlearning{TEXT} +@macro rinternalsnamed{TEXT,DISPLAY} @vindex \TEXT\ -@ref{\TEXT\,,,lilypond-learning} +@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\} +@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). + +@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 rglos {TEXT} -@vindex \TEXT\ -@ref{\TEXT\,,,music-glossary} +@macro rglosnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,music-glossary,Music Glossary} @end macro -@macro rprogram{TEXT} -program usage manual, @ref{\TEXT\,,,lilypond-program} -@c @internalsref{\TEXT\} +@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} -@c @internalsref{\TEXT\} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,lilypond,Notation Reference} @end macro -@macro rlearning{TEXT} -learning manual, @ref{\TEXT\,,,lilypond-learning} -@c @internalsref{\TEXT\} +@macro rusernamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,lilypond,Notation Reference} @end macro -@end iftex +@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 -@c EOF +@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} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,,lilypond-internals,Internals Reference} +@end macro + +@macro rinternalsnamed{TEXT,DISPLAY} +@lilyvindex{\TEXT\} +@ref{\TEXT\,,\DISPLAY\,lilypond-internals,Internals Reference} +@end macro + +@end iftex