Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(746)

Delta Between Two Patch Sets: Documentation/notation/input.itely

Issue 4124056: Doc: NR rewrite of 3.2 Titles and Headers (Closed)
Left Patch Set: Second Draft Created 13 years, 1 month ago
Right Patch Set: Draft 9 Created 12 years, 10 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « no previous file | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 @c -*- coding: utf-8; mode: texinfo; -*- 1 @c -*- coding: utf-8; mode: texinfo; -*-
2 2
3 @ignore 3 @ignore
4 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH 4 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 5
6 When revising a translation, copy the HEAD committish of the 6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. For details, see the Contributors' 7 version that you are working on. For details, see the Contributors'
8 Guide, node Updating translation committishes.. 8 Guide, node Updating translation committishes..
9 @end ignore 9 @end ignore
10 10
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
516 516
517 @menu 517 @menu
518 * Creating titles headers and footers:: 518 * Creating titles headers and footers::
519 * Custom headers footers and titles:: 519 * Custom headers footers and titles::
520 * Reference to page numbers:: 520 * Reference to page numbers::
521 * Table of contents:: 521 * Table of contents::
522 @end menu 522 @end menu
523 523
524 524
525 @node Creating titles headers and footers 525 @node Creating titles headers and footers
526 @subsection Creating titles headers and footers 526 @subsection Creating titles, headers, and footers
527 527
528 @menu 528 @menu
529 * Title blocks explained:: 529 * Title blocks explained::
530 * Layout of book and score title blocks:: 530 * Default layout of book and score title blocks::
531 * Layout of headers and footers:: 531 * Default layout of headers and footers::
532 @end menu 532 @end menu
533 533
534 534
535 @node Title blocks explained 535 @node Title blocks explained
536 @unnumberedsubsubsec Title blocks explained 536 @unnumberedsubsubsec Title blocks explained
537 537
538 @c TODO: figure out how \bookpart titles work 538 @c TODO: figure out how \bookpart titles work
539 539
540 There are two types of title blocks: the main title block that appears 540 There are two types of title blocks: the main title block that appears
541 outside of the first @code{\score} of a book, and individual title 541 above of the first @code{\score} of a book, and individual title
Graham Percival (old account) 2011/02/15 01:28:04 I'm not certain about the word "outside". Do you
pkx166h 2011/02/25 14:17:26 Not especially. Done.
542 blocks that appear within each @code{\score} block. Text fields for 542 blocks that appear within each @code{\score} block. Text fields for
543 both types are entered using a @code{\header} block. 543 both types are entered using a @code{\header} block.
544 544
545 If the book only has a single score, the @code{\header} block may be 545 If the book only has a single score, the @code{\header} block may be
546 placed inside or outside of the @code{\score} block. 546 placed inside or outside of the @code{\score} block.
547 547
548 @lilypond[quote,verbatim,noragged-right,staffsize=17,indent=13\mm] 548 @warning{Remember when adding a @bs{}@code{header} block inside a
Graham Percival (old account) 2011/05/25 10:25:46 The first block inside a \score must be the music
549 @bs{}@code{score} block, that the music expression must come before the
550 @bs{}@code{header} block.}
551
552 @lilypond[papersize=a5,quote,verbatim,noragged-right]
549 \header { 553 \header {
550 title = "SUITE I." 554 title = "SUITE I."
551 composer = "J. S. Bach." 555 composer = "J. S. Bach."
552 } 556 }
553 557
554 \score { 558 \score {
555 \new Staff { 559 \new Staff \relative g, {
556 \relative g, { 560 \clef bass
557 \clef bass 561 \key g \major
558 \key g \major 562 \repeat unfold 2 { g16( d' b') a b d, b' d, } |
559 \repeat unfold 2 { g16( d' b') a b d, b' d, } | 563 \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
560 \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
561 }
562 } 564 }
563 \header { 565 \header {
564 piece = "Prélude." 566 piece = "Prélude."
565 } 567 }
566 } 568 }
567 569
568 \score { 570 \score {
569 \new Staff { 571 \new Staff \relative b {
570 \relative b { 572 \clef bass
571 \clef bass 573 \key g \major
572 \key g \major 574 \partial 16 b16 |
573 \partial 16 b16 | 575 <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
574 <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) | 576 d16( b g fis) g( e d c) b(c d e) fis( g a b) |
575 d16( b g fis) g( e d c) b(c d e) fis( g a b) |
576 }
577 } 577 }
578 \header { 578 \header {
579 piece = "Allemande." 579 piece = "Allemande."
580 } 580 }
581 } 581 }
582 @end lilypond 582 @end lilypond
583 583
584 Text fields from the main title block of a book can also be displayed in 584 Text fields from the main title block of a book can be displayed in all
585 all other @code{\score} blocks within the same book by adding 585 @code{\score} blocks, or manually suppressed:
586 @code{print-all-headers = ##t} inside a @code{\paper} block. 586
Graham Percival (old account) 2011/02/15 01:28:04 Don't talk through the code.
pkx166h 2011/02/25 14:17:26 Done.
587 587 @lilypond[papersize=a5,quote,verbatim,noragged-right]
588 Text fields can also be manually suppressed for individual @code{\score}
589 blocks by adding @code{##f} to the Text field.
Graham Percival (old account) 2011/02/15 01:28:04 Don't talk through the code.
pkx166h 2011/02/25 14:17:26 Done.
590
Graham Percival (old account) 2011/02/15 01:28:04 Replace the previous two paragraphs with this: Te
pkx166h 2011/02/25 14:17:26 Thanks...done.
591 @lilypond[quote,verbatim,noragged-right,staffsize=17]
592 \book { 588 \book {
593 \paper { 589 \paper {
594 print-all-headers = ##t 590 print-all-headers = ##t
595 } 591 }
596 \header { 592 \header {
597 title = "DAS WOHLTEMPERIRTE CLAVIER" 593 title = "DAS WOHLTEMPERIRTE CLAVIER"
598 subtitle = "TEIL I" 594 subtitle = "TEIL I"
595 % Do not display the tagline for this book
599 tagline = ##f 596 tagline = ##f
Graham Percival (old account) 2011/02/15 01:28:04 If you want to clarify this, add a comment above t
pkx166h 2011/02/25 14:17:26 Good idea. Also did this for the next two scores i
600 } 597 }
601 \markup { \vspace #1 } 598 \markup { \vspace #1 }
602 \score { 599 \score {
603 \new PianoStaff << 600 \new PianoStaff <<
604 \new Staff { s1 } 601 \new Staff { s1 }
605 \new Staff { \clef "bass" s1 } 602 \new Staff { \clef "bass" s1 }
606 >> 603 >>
607 \header { 604 \header {
608 title = "PRAELUDIUM I" 605 title = "PRAELUDIUM I"
609 opus = "BWV 846" 606 opus = "BWV 846"
607 % Do not display the subtitle for this score
610 subtitle = ##f 608 subtitle = ##f
611 } 609 }
612 } 610 }
613 \score { 611 \score {
614 \new PianoStaff << 612 \new PianoStaff <<
615 \new Staff { s1 } 613 \new Staff { s1 }
616 \new Staff { \clef "bass" s1 } 614 \new Staff { \clef "bass" s1 }
617 >> 615 >>
618 \header { 616 \header {
619 title = "FUGA I" 617 title = "FUGA I"
620 subsubtitle = "A 4 VOCI" 618 subsubtitle = "A 4 VOCI"
621 opus = "BWV 846" 619 opus = "BWV 846"
620 % Do not display the subtitle for this score
622 subtitle = ##f 621 subtitle = ##f
623 } 622 }
624 } 623 }
625 } 624 }
626 @end lilypond 625 @end lilypond
627 626
628 @seealso 627 @seealso
628 Notation Reference:
629 @ref{File structure},
629 @ref{Custom layout for title blocks}. 630 @ref{Custom layout for title blocks}.
630 631
631 632
632 @node Layout of book and score title blocks 633 @node Default layout of book and score title blocks
633 @unnumberedsubsubsec Layout of book and score title blocks 634 @unnumberedsubsubsec Default layout of book and score title blocks
634 635
635 The layout and formatting of title blocks are controlled by two 636 The layout and formatting of title blocks are controlled by two
636 @code{\paper} variables: 637 @code{\paper} variables; @code{bookTitleMarkup} for the main
637 638 @code{\header} title block and @code{scoreTitleMarkup} for individual
638 @itemize 639 @code{\header} blocks within a @code{\score}.
639 640
640 @item 641 @lilypond[papersize=a6,quote,verbatim,noragged-right]
641 @code{bookTitleMarkup} for the main title block and
Graham Percival (old account) 2011/02/15 01:28:04 I'm confused -- below, you just write \header {
pkx166h 2011/02/25 14:17:26 I've taken a look at this - before I had just edit
642
643 @item
644 @code{scoreTitleMarkup} for individual score title blocks.
645
646 @end itemize
647
648 @c Is the bit about \null markups true? -mp
649
650 These markup variables access text fields from the @code{\header}
Graham Percival (old account) 2011/02/15 01:28:04 This is way less important than the general layout
pkx166h 2011/02/25 14:17:26 See comment above.
651 blocks and format them appropriately when set. Text fields left unset
652 in the @code{\header} block are replaced with @code{\null} markups so
653 space is not wasted within title blocks. The default settings are
654 defined in @file{ly/titling-init.ly}.
655
656 Settings for @code{bookTitleMarkup}:
Graham Percival (old account) 2011/02/15 01:28:04 If we keep the bookTitleMarkup string at all, how
pkx166h 2011/02/25 14:17:26 See comment above.
657
658 @itemize
659
660 @item
661 @code{dedication}, @code{title}, @code{subtitle}, @code{subsubtitle}
662 and @code{instrument} text fields are placed in a centered column at the
663 top.
664
665 @item
666 @code{poet} and @code{meter} text fields are placed in an align-left
667 column on the left side of the @code{instrument} markup.
668
669 @item
670 @code{composer} and @code{arranger} text fields are placed in a
671 align-right column on the right side of the @code{instrument} markup.
672
673 @end itemize
674
675 @lilypond[quote,verbatim,noragged-right,indent=13\mm]
676 \header { 642 \header {
677 dedication = "dedication" 643 % The following fields are centered
678 title = "title" 644 dedication = "Dedication"
679 subtitle = "subtitle" 645 title = "Title"
680 subsubtitle = "subsubtitle" 646 subtitle = "Subtitle"
681 instrument = "instrument" 647 subsubtitle = "Subsubtitle"
682 poet = "poet" 648 instrument = "Instrument"
683 meter = "meter" 649
684 composer = "composer" 650 % The following fields are left-aligned on the left side
685 arranger = "arranger" 651 poet = "Poet"
686 } 652 meter = "Meter"
687 @end lilypond 653
688 654 % The following fields are right-aligned on the right side
689 The default settings for @code{scoreTitleMarkup} place the @code{piece} 655 composer = "Composer"
Graham Percival (old account) 2011/02/15 01:28:04 If you're doing the @itemize thing for bookTitleMa
pkx166h 2011/02/25 14:17:26 I personally don't normally like itemizing things,
690 and @code{opus} text fields at opposite ends of the same line. 656 arranger = "Arranger"
691 657 }
Graham Percival (old account) 2011/02/15 01:28:04 also, if you keep the first @itemize on this page,
pkx166h 2011/02/25 14:17:26 Again see comments above. I've incorporated this w
692 @lilypond[quote,verbatim,noragged-right,indent=13\mm] 658
693 \score { 659 \score {
694 { s1 } 660 { s1 }
695 \header { 661 \header {
696 piece = "piece" 662 % The following fields are placed at opposite ends of the same line
697 opus = "opus" 663 piece = "Piece"
698 } 664 opus = "Opus"
699 } 665 }
700 @end lilypond 666 }
701 667 @end lilypond
702 To force titles to start on a new page, enter the following line 668
703 in the appropriate @code{\header} block: 669 @c Is the bit about \null markups true? -mp
704 670
705 @example 671 Text fields left unset in a @code{\header} block are replaced with
706 breakbefore = ##t 672 @code{\null} markups so that the space is not wasted.
707 @end example 673
Graham Percival (old account) 2011/02/15 01:28:04 I'd rather have a @lilypond.
pkx166h 2011/02/25 14:17:26 I think until I can get a way to 1. Incorporate a
pkx166h 2011/04/09 20:19:31 Although I've now used the new papersize we have d
708 674 The default settings for @code{scoreTitleMarkup} place the @code{piece}
Graham Percival (old account) 2011/05/25 10:25:46 delete this sentence; it's covered in the image.
709 675 and @code{opus} text fields at opposite ends of the same line.
710 @node Layout of headers and footers 676
711 @unnumberedsubsubsec Layout of headers and footers 677 @cindex breakbefore
678
679 Use the @code{breakbefore} variable inside a @code{\header} block
680 that is itself in a @code{\score} block, to make the top-level
681 @code{\header} block titles appear on the first page on their own, with
682 the music (defined in the @code{\score} block) starting on the next.
683
684 @lilypond[papersize=a8landscape,verbatim,noragged-right]
685 \book {
686 \header {
687 title = "This is my Title"
688 subtitle = "This is my Subtitle"
689 copyright = "This is the bottom of the first page"
690 }
691 \score {
692 \repeat unfold 4 { e'' e'' e'' e'' }
693 \header {
694 piece = "This is the Music"
695 breakbefore = ##t
696 }
697 }
698 }
699 @end lilypond
700
701 @seealso
702 Learning Manual:
703 @rlearning{How LilyPond input files work},
704
705 Notation Reference:
706 @ref{File structure}.
707
708 Installed Files:
709 @file{ly/titling-init.ly}.
710
711 @node Default layout of headers and footers
712 @unnumberedsubsubsec Default layout of headers and footers
712 713
713 @emph{Headers} and @emph{footers} are lines of text appearing at 714 @emph{Headers} and @emph{footers} are lines of text appearing at
714 the top and bottom of pages, separate from the main text of a book. They 715 the top and bottom of pages, separate from the main text of a book.
715 are controlled by the following @code{\paper} variables: 716 They are controlled by the following @code{\paper} variables:
716 717
717 @itemize 718 @itemize
718 @item @code{oddHeaderMarkup} 719 @item @code{oddHeaderMarkup}
719 @item @code{evenHeaderMarkup} 720 @item @code{evenHeaderMarkup}
720 @item @code{oddFooterMarkup} 721 @item @code{oddFooterMarkup}
721 @item @code{evenFooterMarkup} 722 @item @code{evenFooterMarkup}
722 @end itemize 723 @end itemize
723 724
724 These markup variables can only access text fields from top-level 725 These markup variables can only access text fields from top-level
725 @code{\header} blocks (which apply to all scores in the book) and are 726 @code{\header} blocks (which apply to all scores in the book) and are
726 defined in @file{ly/titling-init.ly}. By default: 727 defined in @file{ly/titling-init.ly}. By default:
727 728
728 @itemize 729 @itemize
729 730
730 @item 731 @item
731 page numbers are automatically placed on the top far left (if even) or 732 page numbers are automatically placed on the top far left (if even) or
732 top far right (if odd), starting from the second page. 733 top far right (if odd), starting from the second page.
733 734
734 @item 735 @item
735 the @code{instrument} text field is placed in the center of every 736 the @code{instrument} text field is placed in the center of every
736 page, starting from the second page. 737 page, starting from the second page.
737 738
738 @item 739 @item
739 the @code{copyright} text is centered on the bottom of the first page. 740 the @code{copyright} text is centered on the bottom of the first page.
740 741
741 @item 742 @item
742 the @code{tagline} is centered on the bottom of the last page (below the 743 the @code{tagline} is centered on the bottom of the last page, and below
743 @code{copyright} if there is only one page). 744 the @code{copyright} text if there is only a single page.
744 745
745 @end itemize 746 @end itemize
746 747
747 The default tagline is a clickable link (to 748 @lilypond[papersize=a8landscape]
748 @url{http://www.lilypond.org}), and appears on the page as: 749 \book {
749 750 \score {
750 @quotation 751 \relative c' {
751 Music engraving by LilyPond @version{}---www.lilypond.org 752 c4 d e f
752 @end quotation 753 }
753 754 }
754 The default tagline can be changed by explicitly adding a custom 755 }
755 @code{tagline} entry within the top-level @code{\header} block or can be 756 @end lilypond
756 removed by setting the value to @code{##f}. 757
757 758 The default tagline can be changed by adding a @code{tagline} in the
758 @example 759 top-level @code{\header} block.
759 \header @{ 760
760 piece = "piece" 761 @lilypond[papersize=a8landscape,verbatim]
761 opus = "opus" 762 \book {
762 tagline = ##f 763 \header {
763 @} 764 tagline = "... music notation for Everyone"
764 @end example 765 }
766 \score {
767 \relative c' {
768 c4 d e f
769 }
770 }
771 }
772 @end lilypond
773
774 To remove the @code{tagline} set the value to @code{##f}.
765 775
766 776
767 @node Custom headers footers and titles 777 @node Custom headers footers and titles
Graham Percival (old account) 2011/02/15 01:28:04 I'm ignoring this subsection for now; let's focus
pkx166h 2011/02/25 14:17:26 No problem, but I am hoping that we can make this
768 @subsection Custom headers footers and titles 778 @subsection Custom headers, footers, and titles
769 779
770 @c TODO: somewhere put a link to header spacing info 780 @c TODO: somewhere put a link to header spacing info
771 @c (you'll have to explain it more in NR 4). 781 @c (you'll have to explain it more in NR 4).
772 782
773 @menu 783 @menu
774 * Custom text formatting for title blocks:: 784 * Custom text formatting for title blocks::
775 * Custom layout for title blocks:: 785 * Custom layout for title blocks::
776 * Custom layout for headers and footers:: 786 * Custom layout for headers and footers::
777 @end menu 787 @end menu
778 788
779 789
780 @node Custom text formatting for title blocks 790 @node Custom text formatting for title blocks
781 @unnumberedsubsubsec Custom text formatting for title blocks 791 @unnumberedsubsubsec Custom text formatting for title blocks
782 792
783 Standard @code{\markup} commands can be used to customize any header, 793 Standard @code{\markup} commands can be used to customize any header,
784 footer and title text within the @code{\header} block. 794 footer and title text within the @code{\header} block.
785 795
786 @lilypond[quote,verbatim,noragged-right,indent=13\mm,staffsize=17] 796 @lilypond[quote,verbatim,noragged-right]
787 \score { 797 \score {
788 { s1 } 798 { s1 }
789 \header { 799 \header {
790 piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" } 800 piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
791 subtitle = \markup { \italic "(Excerpt)" } 801 subtitle = \markup { \italic "(Excerpt)" }
792 } 802 }
793 } 803 }
794 @end lilypond 804 @end lilypond
795 805
796 @seealso 806 @seealso
797 Notation Reference: 807 Notation Reference:
798 @ref{Formatting text}. 808 @ref{Formatting text}.
799 809
800 810
801 @node Custom layout for title blocks 811 @node Custom layout for title blocks
802 @unnumberedsubsubsec Custom layout for title blocks 812 @unnumberedsubsubsec Custom layout for title blocks
803 813
804 @code{\markup} commands in the @code{\header} block are useful for 814 @code{\markup} commands in the @code{\header} block are useful for
805 simple text formatting, but they do not allow precise control over the 815 simple text formatting, but they do not allow precise control over the
806 placement of titles. To customize the placement of the text fields, 816 placement of titles. To customize the placement of the text fields,
807 use either or both of the following @code{\paper} variables: 817 use either or both of the following @code{\paper} variables:
808 818
809 @itemize 819 @itemize
810 @item @code{bookTitleMarkup} 820 @item @code{bookTitleMarkup}
811 @item @code{scoreTitleMarkup} 821 @item @code{scoreTitleMarkup}
812 @end itemize 822 @end itemize
813 823
814 These markup variables are discussed in 824 These markup variables are discussed in
815 @ref{Layout of book and score title blocks}. 825 @ref{Default layout of book and score title blocks}.
816 826
817 The default settings for @code{scoreTitleMarkup} as defined in 827 The default settings for @code{scoreTitleMarkup} as defined in
818 @file{ly/titling-init.ly} are: 828 @file{ly/titling-init.ly} are:
819 829
820 @example 830 @example
821 scoreTitleMarkup = \markup @{ \column @{ 831 scoreTitleMarkup = \markup @{ \column @{
822 \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @} 832 \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
823 \fill-line @{ 833 \fill-line @{
824 \fromproperty #'header:piece 834 \fromproperty #'header:piece
825 \fromproperty #'header:opus 835 \fromproperty #'header:opus
826 @} 836 @}
827 @} 837 @}
828 @} 838 @}
829 @end example 839 @end example
830 840
831 This places the @code{piece} and @code{opus} text fields at opposite 841 This places the @code{piece} and @code{opus} text fields at opposite
832 ends of the same line: 842 ends of the same line:
833 843
834 @lilypond[quote,verbatim,noragged-right,indent=13\mm,staffsize=17] 844 @lilypond[quote,verbatim,noragged-right]
835 \score { 845 \score {
836 { s1 } 846 { s1 }
837 \header { 847 \header {
838 piece = "PRAELUDIUM I" 848 piece = "PRAELUDIUM I"
839 opus = "BWV 846" 849 opus = "BWV 846"
840 } 850 }
841 } 851 }
842 @end lilypond 852 @end lilypond
843 853
844 This example redefines @code{scoreTitleMarkup} so that the @code{piece} 854 This example redefines @code{scoreTitleMarkup} so that the @code{piece}
845 text field is centered and in a large, bold font. 855 text field is centered and in a large, bold font.
846 856
847 @lilypond[quote,verbatim,noragged-right,staffsize=17] 857 @lilypond[papersize=a5,quote,verbatim,noragged-right]
848 \book { 858 \book {
849 \paper { 859 \paper {
860 indent = 0\mm
850 scoreTitleMarkup = \markup { 861 scoreTitleMarkup = \markup {
851 \fill-line { 862 \fill-line {
852 \null 863 \null
853 \fontsize #4 \bold \fromproperty #'header:piece 864 \fontsize #4 \bold \fromproperty #'header:piece
854 \fromproperty #'header:opus 865 \fromproperty #'header:opus
855 } 866 }
856 } 867 }
857 } 868 }
858 \header { tagline = ##f } 869 \header { tagline = ##f }
859
860 \score { 870 \score {
861 { s1 } 871 { s1 }
862 \header { 872 \header {
863 piece = "PRAELUDIUM I" 873 piece = "PRAELUDIUM I"
864 opus = "BWV 846" 874 opus = "BWV 846"
865 } 875 }
866 } 876 }
867 } 877 }
868 @end lilypond 878 @end lilypond
869 879
870 Text fields normally reserved for the main title block can be included 880 Text fields normally reserved for the main title block can be included
871 in individual score title blocks with the @code{print-all-headers} 881 in individual score title blocks with the @code{print-all-headers}
872 placed inside the @code{\paper} block. A disadvantage of using this 882 placed inside the @code{\paper} block. A disadvantage of using this
873 method is that the text fields that are intended specifically for the 883 method is that the text fields that are intended specifically for the
874 top-level @code{\header} block need to be manually suppressed in every 884 top-level @code{\header} block need to be manually suppressed in every
875 @code{\score} block. See @ref{Title blocks explained}. 885 @code{\score} block. See @ref{Title blocks explained}.
876 886
877 To avoid this, add the desired text field to the @code{scoreTitleMarkup} definit ion. In the following example, the @code{composer} text field 887 To avoid this, add the desired text field to the @code{scoreTitleMarkup}
888 definition. In the following example, the @code{composer} text field
878 (normally associated with @code{bookTitleMarkup}) is added to 889 (normally associated with @code{bookTitleMarkup}) is added to
879 @code{scoreTitleMarkup}, allowing each score to list a different 890 @code{scoreTitleMarkup}, allowing each score to list a different
880 composer: 891 composer:
881 892
882 @lilypond[quote,verbatim,noragged-right,staffsize=17] 893 @lilypond[papersize=a5,quote,verbatim,noragged-right]
883 \book { 894 \book {
884 \paper { 895 \paper {
896 indent = 0\mm
885 scoreTitleMarkup = \markup { 897 scoreTitleMarkup = \markup {
886 \fill-line { 898 \fill-line {
887 \null 899 \null
888 \fontsize #4 \bold \fromproperty #'header:piece 900 \fontsize #4 \bold \fromproperty #'header:piece
889 \fromproperty #'header:composer 901 \fromproperty #'header:composer
890 } 902 }
891 } 903 }
892 } 904 }
893 \header { tagline = ##f } 905 \header { tagline = ##f }
894
895 \score { 906 \score {
896 { s1 } 907 { s1 }
897 \header { 908 \header {
898 piece = "MENUET" 909 piece = "MENUET"
899 composer = "Christian Petzold" 910 composer = "Christian Petzold"
900 } 911 }
901 } 912 }
902
903 \score { 913 \score {
904 { s1 } 914 { s1 }
905 \header { 915 \header {
906 piece = "RONDEAU" 916 piece = "RONDEAU"
907 composer = "François Couperin" 917 composer = "François Couperin"
908 } 918 }
909 } 919 }
910 } 920 }
911 @end lilypond 921 @end lilypond
912 922
913 It is also possible to create your own custom text fields, and refer to 923 It is also possible to create your own custom text fields, and refer to
914 them in the markup definition. 924 them in the markup definition.
915 925
916 @lilypond[quote,verbatim,noragged-right,staffsize=17] 926 @lilypond[papersize=a5,quote,verbatim,noragged-right]
917 \book { 927 \book {
918 \paper { 928 \paper {
929 indent = 0\mm
919 scoreTitleMarkup = \markup { 930 scoreTitleMarkup = \markup {
920 \fill-line { 931 \fill-line {
921 \null 932 \null
922 \override #`(direction . ,UP) { 933 \override #`(direction . ,UP) {
923 \dir-column { 934 \dir-column {
924 \center-align \fontsize #-1 \bold 935 \center-align \fontsize #-1 \bold
925 \fromproperty #'header:mycustomtext %% User-defined field 936 \fromproperty #'header:mycustomtext %% User-defined field
926 \center-align \fontsize #4 \bold 937 \center-align \fontsize #4 \bold
927 \fromproperty #'header:piece 938 \fromproperty #'header:piece
928 } 939 }
929 } 940 }
930 \fromproperty #'header:opus 941 \fromproperty #'header:opus
931 } 942 }
932 } 943 }
933 } 944 }
934 \header { tagline = ##f } 945 \header { tagline = ##f }
935
936 \score { 946 \score {
937 { s1 } 947 { s1 }
938 \header { 948 \header {
939 piece = "FUGA I" 949 piece = "FUGA I"
940 mycustomtext = "A 4 VOCI" %% User-defined field 950 mycustomtext = "A 4 VOCI" %% User-defined field
941 opus = "BWV 846" 951 opus = "BWV 846"
942 } 952 }
943 } 953 }
944 } 954 }
945 @end lilypond 955 @end lilypond
(...skipping 12 matching lines...) Expand all
958 variables: 968 variables:
959 969
960 @itemize 970 @itemize
961 @item @code{oddHeaderMarkup} 971 @item @code{oddHeaderMarkup}
962 @item @code{evenHeaderMarkup} 972 @item @code{evenHeaderMarkup}
963 @item @code{oddFooterMarkup} 973 @item @code{oddFooterMarkup}
964 @item @code{evenFooterMarkup} 974 @item @code{evenFooterMarkup}
965 @end itemize 975 @end itemize
966 976
967 These markup variables are discussed in 977 These markup variables are discussed in
968 @ref{Layout of book and score title blocks}. 978 @ref{Default layout of book and score title blocks}.
969 979
970 The following example centers page numbers at the bottom of every 980 The following example centers page numbers at the bottom of every
971 page. First, the default settings for @code{oddHeaderMarkup} and 981 page. First, the default settings for @code{oddHeaderMarkup} and
972 @code{evenHeaderMarkup} are removed by defining each as a @emph{null} 982 @code{evenHeaderMarkup} are removed by defining each as a @emph{null}
973 markup. Then, @code{oddFooterMarkup} is redefined with the page 983 markup. Then, @code{oddFooterMarkup} is redefined with the page
974 number centered. Finally, @code{evenFooterMarkup} is given the 984 number centered. Finally, @code{evenFooterMarkup} is given the
975 same layout by defining it as @code{\oddFooterMarkup}: 985 same layout by defining it as @code{\oddFooterMarkup}:
976 986
977 @lilypond[quote,verbatim,noragged-right] 987 @lilypond[papersize=a8,quote,verbatim,noragged-right]
978 #(set-default-paper-size "a8")
979
980 \book { 988 \book {
981 \paper { 989 \paper {
982 print-page-number = ##t 990 print-page-number = ##t
983 print-first-page-number = ##t 991 print-first-page-number = ##t
984 oddHeaderMarkup = \markup \null 992 oddHeaderMarkup = \markup \null
985 evenHeaderMarkup = \markup \null 993 evenHeaderMarkup = \markup \null
986 oddFooterMarkup = \markup { 994 oddFooterMarkup = \markup {
987 \fill-line { 995 \fill-line {
988 \on-the-fly #print-page-number-check-first 996 \on-the-fly #print-page-number-check-first
989 \fromproperty #'page:page-number-string 997 \fromproperty #'page:page-number-string
990 } 998 }
991 } 999 }
992 evenFooterMarkup = \oddFooterMarkup 1000 evenFooterMarkup = \oddFooterMarkup
993 } 1001 }
994
995 \score { 1002 \score {
996 \new Staff { s1 \break s1 \break s1 } 1003 \new Staff { s1 \break s1 \break s1 }
997 } 1004 }
998 } 1005 }
999 @end lilypond 1006 @end lilypond
1000 1007
1001 1008
1002 @node Reference to page numbers 1009 @node Reference to page numbers
1003 @subsection Reference to page numbers 1010 @subsection Reference to page numbers
1004 1011
1005 A particular place of a score can be marked using the @code{\label} 1012 A particular place of a score can be marked using the @code{\label}
1006 command, either at top-level or inside music. This label can then be 1013 command, either at top-level or inside music. This label can then be
1007 referred to in a markup, to get the number of the page where the marked 1014 referred to in a markup, to get the number of the page where the marked
1008 point is placed, using the @code{\page-ref} markup command. 1015 point is placed, using the @code{\page-ref} markup command.
1009 1016
1010 @lilypond[verbatim,line-width=11.0\cm] 1017 @lilypond[verbatim]
1011 \header { tagline = ##f } 1018 \header { tagline = ##f }
1012 \book { 1019 \book {
1013 \label #'firstScore 1020 \label #'firstScore
1014 \score { 1021 \score {
1015 { 1022 {
1016 c'1 1023 c'1
1017 \pageBreak \mark A \label #'markA 1024 \pageBreak \mark A \label #'markA
1018 c'1 1025 c'1
1019 } 1026 }
1020 } 1027 }
1021
1022 \markup { The first score begins on page \page-ref #'firstScore "0" "?" } 1028 \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
1023 \markup { Mark A is on page \page-ref #'markA "0" "?" } 1029 \markup { Mark A is on page \page-ref #'markA "0" "?" }
1024 } 1030 }
1025 @end lilypond 1031 @end lilypond
1026 1032
1027 The @code{\page-ref} markup command takes three arguments: 1033 The @code{\page-ref} markup command takes three arguments:
1028 @enumerate 1034 @enumerate
1029 @item the label, a scheme symbol, eg. @code{#'firstScore}; 1035 @item the label, a scheme symbol, eg. @code{#'firstScore};
1030 @item a markup that will be used as a gauge to estimate the dimensions 1036 @item a markup that will be used as a gauge to estimate the dimensions
1031 of the markup; 1037 of the markup;
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1141 (add-toc-item! 'tocActMarkup text)) 1147 (add-toc-item! 'tocActMarkup text))
1142 1148
1143 \book { 1149 \book {
1144 \markuplines \table-of-contents 1150 \markuplines \table-of-contents
1145 \tocAct \markup { Atto Primo } 1151 \tocAct \markup { Atto Primo }
1146 \tocItem \markup { Coro. Viva il nostro Alcide } 1152 \tocItem \markup { Coro. Viva il nostro Alcide }
1147 \tocItem \markup { Cesare. Presti omai l'Egizzia terra } 1153 \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
1148 \tocAct \markup { Atto Secondo } 1154 \tocAct \markup { Atto Secondo }
1149 \tocItem \markup { Sinfonia } 1155 \tocItem \markup { Sinfonia }
1150 \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore } 1156 \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1157 \markup \null
1158 }
1159 @end lilypond
1160
1161 Dots can be added to fill the line between an item and its page number:
1162
1163 @lilypond[verbatim,quote]
1164 \header { tagline = ##f }
1165 \paper {
1166 tocItemMarkup = \tocItemWithDotsMarkup
1167 }
1168
1169 \book {
1170 \markuplines \table-of-contents
1171 \tocItem \markup { Allegro }
1172 \tocItem \markup { Largo }
1151 \markup \null 1173 \markup \null
1152 } 1174 }
1153 @end lilypond 1175 @end lilypond
1154 1176
1155 1177
1156 @seealso 1178 @seealso
1157 Init files: @file{../ly/toc-init.ly}. 1179 Init files: @file{../ly/toc-init.ly}.
1158 1180
1159 1181
1160 @predefined 1182 @predefined
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
1301 Variables are perhaps most useful for combining lengthy sections 1323 Variables are perhaps most useful for combining lengthy sections
1302 of music and/or annotation in various ways, while tags are more 1324 of music and/or annotation in various ways, while tags are more
1303 useful for selecting one from several alternative shorter sections 1325 useful for selecting one from several alternative shorter sections
1304 of music. Whichever method is used, separating the notation from 1326 of music. Whichever method is used, separating the notation from
1305 the structure of the score will make it easier to change the 1327 the structure of the score will make it easier to change the
1306 structure while leaving the notation untouched. 1328 structure while leaving the notation untouched.
1307 1329
1308 @menu 1330 @menu
1309 * Using variables:: 1331 * Using variables::
1310 * Using tags:: 1332 * Using tags::
1333 * Using global settings::
1311 @end menu 1334 @end menu
1312 1335
1313 @node Using variables 1336 @node Using variables
1314 @unnumberedsubsubsec Using variables 1337 @unnumberedsubsubsec Using variables
1315 1338
1316 @cindex variables, use of 1339 @cindex variables, use of
1317 1340
1318 If sections of the music are defined in variables they can be 1341 If sections of the music are defined in variables they can be
1319 reused in different parts of the score, see @rlearning{Organizing 1342 reused in different parts of the score, see @rlearning{Organizing
1320 pieces with variables}. For example, an @notation{a cappella} 1343 pieces with variables}. For example, an @notation{a cappella}
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
1519 @c Rests are not merged whether or not they come from tagged sections. 1542 @c Rests are not merged whether or not they come from tagged sections.
1520 @c Should be deleted? -td 1543 @c Should be deleted? -td
1521 1544
1522 @knownissues 1545 @knownissues
1523 1546
1524 Multiple rests are not merged if you create a score with more 1547 Multiple rests are not merged if you create a score with more
1525 than one tagged section at the same place. 1548 than one tagged section at the same place.
1526 1549
1527 @end ignore 1550 @end ignore
1528 1551
1552 @node Using global settings
1553 @unnumberedsubsubsec Using global settings
1554
1555 @cindex include-settings
1556
1557 Global settings can be included from a separate file:
1558
1559 @example
1560 lilypond -dinclude-settings=MY_SETTINGS.ly MY_SCORE.ly
1561 @end example
1562
1563 Groups of settings such as page size, font or type face can be stored
1564 in separate files. This allows different editions from the same score
1565 as well as standard settings to be applied to many scores, simply by
1566 specifying the proper settings file.
1567
1568 This technique also works well with the use of style sheets, as
1569 discussed in @rlearning{Style sheets}.
1570
1571 @seealso
1572 Learning Manual:
1573 @rlearning{Organizing pieces with variables},
1574 @rlearning{Style sheets}.
1575
1576 Notation Reference:
1577 @ref{Including LilyPond files}.
1578
1529 @node Text encoding 1579 @node Text encoding
1530 @subsection Text encoding 1580 @subsection Text encoding
1531 1581
1532 @cindex Unicode 1582 @cindex Unicode
1533 @cindex UTF-8 1583 @cindex UTF-8
1534 @cindex non-ASCII characters 1584 @cindex non-ASCII characters
1535 1585
1536 LilyPond uses the character repertoire defined by the Unicode 1586 LilyPond uses the character repertoire defined by the Unicode
1537 consortium and ISO/IEC 10646. This defines a unique name and 1587 consortium and ISO/IEC 10646. This defines a unique name and
1538 code point for the character sets used in virtually all modern 1588 code point for the character sets used in virtually all modern
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
1830 connecting and controlling digital instruments. A MIDI file is a 1880 connecting and controlling digital instruments. A MIDI file is a
1831 series of notes in a number of tracks. It is not an actual 1881 series of notes in a number of tracks. It is not an actual
1832 sound file; you need special software to translate between the 1882 sound file; you need special software to translate between the
1833 series of notes and actual sounds. 1883 series of notes and actual sounds.
1834 1884
1835 Pieces of music can be converted to MIDI files, so you can listen to 1885 Pieces of music can be converted to MIDI files, so you can listen to
1836 what was entered. This is convenient for checking the music; octaves 1886 what was entered. This is convenient for checking the music; octaves
1837 that are off or accidentals that were mistyped stand out very much 1887 that are off or accidentals that were mistyped stand out very much
1838 when listening to the MIDI output. 1888 when listening to the MIDI output.
1839 1889
1890 Standard MIDI oputput is somewhat crude; optionally, an enhanced and
1891 more realistic MIDI output is available by means of
1892 @ref{The Articulate script}.
1893
1840 @c TODO Check this 1894 @c TODO Check this
1841 The midi output allocates a channel for each staff, and one for global 1895 The midi output allocates a channel for each staff, and one for global
1842 settings. Therefore the midi file should not have more than 15 staves 1896 settings. Therefore the midi file should not have more than 15 staves
1843 (or 14 if you do not use drums). Other staves will remain silent. 1897 (or 14 if you do not use drums). Other staves will remain silent.
1844 1898
1845 @menu 1899 @menu
1846 * Creating MIDI files:: 1900 * Creating MIDI files::
1847 * MIDI block:: 1901 * MIDI block::
1848 * What goes into the MIDI output?:: 1902 * What goes into the MIDI output?::
1849 * Repeats in MIDI:: 1903 * Repeats in MIDI::
1850 * Controlling MIDI dynamics:: 1904 * Controlling MIDI dynamics::
1851 * Percussion in MIDI:: 1905 * Percussion in MIDI::
1906 * The Articulate script::
1852 @end menu 1907 @end menu
1853 1908
1854 @node Creating MIDI files 1909 @node Creating MIDI files
1855 @subsection Creating MIDI files 1910 @subsection Creating MIDI files
1856 1911
1857 To create a MIDI output file from a LilyPond input file, add a 1912 To create a MIDI output file from a LilyPond input file, add a
1858 @code{\midi} block to a score, for example, 1913 @code{\midi} block to a score, for example,
1859 1914
1860 @example 1915 @example
1861 \score @{ 1916 \score @{
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
2052 @cindex Pitches in MIDI 2107 @cindex Pitches in MIDI
2053 @cindex MIDI, Pitches 2108 @cindex MIDI, Pitches
2054 @cindex Quarter tones in MIDI 2109 @cindex Quarter tones in MIDI
2055 @cindex MIDI, quarter tones 2110 @cindex MIDI, quarter tones
2056 @cindex Microtones in MIDI 2111 @cindex Microtones in MIDI
2057 @cindex MIDI, microtones 2112 @cindex MIDI, microtones
2058 @cindex Chord names in MIDI 2113 @cindex Chord names in MIDI
2059 @cindex MIDI, chord names 2114 @cindex MIDI, chord names
2060 @cindex Rhythms in MIDI 2115 @cindex Rhythms in MIDI
2061 @cindex MIDI, Rhythms 2116 @cindex MIDI, Rhythms
2117 @cindex Articlulate scripts
2118 @cindex MIDI, articulations
2119 @cindex articulations in MIDI
2120 @cindex trills in MIDI
2121 @cindex turns in MIDI
2122 @cindex rallentando in MIDI
2123 @cindex accelerando in MIDI
2062 @c TODO etc 2124 @c TODO etc
2063 2125
2064 The following items of notation are reflected in the MIDI output: 2126 The following items of notation are reflected in the MIDI output:
2065 2127
2066 @itemize 2128 @itemize
2067 @item Pitches 2129 @item Pitches
2068 @item Microtones (See @ref{Accidentals}. Rendering needs a 2130 @item Microtones (See @ref{Accidentals}. Rendering needs a
2069 player that supports pitch bend.) 2131 player that supports pitch bend.)
2070 @item Chords entered as chord names 2132 @item Chords entered as chord names
2071 @item Rhythms entered as note durations, including tuplets 2133 @item Rhythms entered as note durations, including tuplets
2072 @item Tremolos entered without @q{@code{:}[@var{number}]} 2134 @item Tremolos entered without @q{@code{:}[@var{number}]}
2073 @item Ties 2135 @item Ties
2074 @item Dynamic marks 2136 @item Dynamic marks
2075 @item Crescendi, decrescendi over multiple notes 2137 @item Crescendi, decrescendi over multiple notes
2076 @item Tempo changes entered with a tempo marking 2138 @item Tempo changes entered with a tempo marking
2077 @item Lyrics 2139 @item Lyrics
2078 @end itemize 2140 @end itemize
2079 2141
2142 Using @ref{The Articulate script}, a number of items are added to the
2143 above list:
2144
2145 @itemize
2146 @item Articulations (slurs, staccato, etc)
2147 @item Trills, turns
2148 @item Rallentando and accelerando
2149 @end itemize
2150
2151
2080 @unnumberedsubsubsec Unsupported in MIDI 2152 @unnumberedsubsubsec Unsupported in MIDI
2081 2153
2082 @c TODO index as above 2154 @c TODO index as above
2083 2155
2084 The following items of notation have no effect on the MIDI output: 2156 The following items of notation have no effect on the MIDI output,
2157 unless you use @ref{The Articulate script}:
2085 2158
2086 @itemize 2159 @itemize
2087 @item Rhythms entered as annotations, e.g. swing 2160 @item Rhythms entered as annotations, e.g. swing
2088 @item Tempo changes entered as annotations with no tempo marking 2161 @item Tempo changes entered as annotations with no tempo marking
2089 @item Staccato and other articulations and ornamentations 2162 @item Staccato and other articulations and ornamentations
2090 @item Slurs and Phrasing slurs 2163 @item Slurs and Phrasing slurs
2091 @item Crescendi, decrescendi over a single note 2164 @item Crescendi, decrescendi over a single note
2092 @item Tremolos entered with @q{@code{:}[@var{number}]} 2165 @item Tremolos entered with @q{@code{:}[@var{number}]}
2093 @item Figured bass 2166 @item Figured bass
2094 @item Microtonal chords 2167 @item Microtonal chords
(...skipping 16 matching lines...) Expand all
2111 \repeat tremolo 8 { c'32 e' } 2184 \repeat tremolo 8 { c'32 e' }
2112 \repeat percent 2 { c''8 d'' } 2185 \repeat percent 2 { c''8 d'' }
2113 \repeat volta 2 { c'4 d' e' f' } 2186 \repeat volta 2 { c'4 d' e' f' }
2114 \alternative { 2187 \alternative {
2115 { g' a' a' g' } 2188 { g' a' a' g' }
2116 { f' e' d' c' } 2189 { f' e' d' c' }
2117 } 2190 }
2118 } 2191 }
2119 \bar "|." 2192 \bar "|."
2120 @end lilypond 2193 @end lilypond
2194
2195 In scores containing multiple voices, unfolding of repeats in MIDI
2196 output will only occur correctly if @emph{each} voice contains fully
2197 notated repeat indications.
2121 2198
2122 When creating a score file using @code{\unfoldRepeats} for MIDI, 2199 When creating a score file using @code{\unfoldRepeats} for MIDI,
2123 it is necessary to make two @code{\score} blocks: one for MIDI 2200 it is necessary to make two @code{\score} blocks: one for MIDI
2124 (with unfolded repeats) and one for notation (with volta, tremolo, 2201 (with unfolded repeats) and one for notation (with volta, tremolo,
2125 and percent repeats). For example, 2202 and percent repeats). For example,
2126 2203
2127 @example 2204 @example
2128 \score @{ 2205 \score @{
2129 @var{..music..} 2206 @var{..music..}
2130 \layout @{ .. @} 2207 \layout @{ .. @}
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
2417 instruments is to substitute the nearest sound from the standard 2494 instruments is to substitute the nearest sound from the standard
2418 set. 2495 set.
2419 2496
2420 @c TODO Expand with examples, and any other issues 2497 @c TODO Expand with examples, and any other issues
2421 2498
2422 @knownissues 2499 @knownissues
2423 2500
2424 Because the general MIDI standard does not contain rim shots, the 2501 Because the general MIDI standard does not contain rim shots, the
2425 sidestick is used for this purpose instead. 2502 sidestick is used for this purpose instead.
2426 2503
2427 2504 @node The Articulate script
2505 @subsection The Articulate script
2506
2507 A more realistic MIDI output is possible when using the Articulate
2508 script. It tries to take articulations (slurs, staccato, etc) into
2509 account, by replacing notes with sequential music of suitably
2510 time-scaled note plus skip. It also tries to unfold trills turns
2511 etc., and take rallentando and accelerando into account.
2512
2513 To use the Articulate script, you have to include it at the top of
2514 your input file,
2515
2516 @example
2517 \include "articulate.ly"
2518 @end example
2519
2520 and in the @code{\score} section do
2521
2522 @example
2523 \unfoldRepeats \articulate <<
2524 » all the rest of the score...
2525 >>
2526 @end example
2527
2528 After altering your input file this way, the visual output is heavily
2529 altered, but the standard @code{\midi} block will produce a better
2530 MIDI file.
2531
2532 Although not essential for the Articulate script to work, you may want
2533 to insert the @code{\unfoldRepeats} command as it appears in the
2534 example shown above as it enables performing abbreviatures such as
2535 @notation{trills}.
2536
2537 @knownissues
2538
2539 Articulate shortens chords and some music (esp. organ music) could
2540 sound worse.
LEFTRIGHT
« no previous file | no next file » | Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Toggle Comments ('s')

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b