<-- previous page Table of Contents next page -->
There are several commands for printing text.
There are four commands that have similar formats,
differing only in how they justify text.
print location "text" left location "text" right location "text" center location "text"
The location is optional. If the location is omitted, the "print" command will cause the text to be printed beginning at the current horizontal and vertical location. The other commands will cause the text to be placed vertically at the current vertical position, but left justified, right justified, or centered within the current margins of the page.
The location can be specified using the special keyword of "nl" which means "next line." This moves the current location to the beginning of the following line before placing the text. In other words, the current vertical position is moved downward by the height of the current text point size (or by as much as necessary if the string is taller than that). Then the text is printed on that line with the given justification style.
The other way to specify a location is by using coordinates.
The justification then takes place relative to the referenced location.
For example, consider the following "right" command containing a reference
to an absolute location:
right (25, 4) "something"
Here are some other examples:
print "Author unknown" center nl "subtitle" left (h.x - 1.5, h.n + 2.3) "Ad lib" right (_fine.e + time 3, _note.n + 5) "Duet"
Another type of print command
is "title." The full format of this command is:
title fontfamily font size "text1" "text2" "text3"
In all cases, the location will be like that obtained via the "nl" location to a print command. In other words, the title text string(s) will be printed on the line below the location that was current when the title command was encountered. If there is only one string given, it will be centered between the margins. If two strings are given, both will be printed on the same line, but the first will be left justified and the second will be right justified. If three strings are given, they will all be printed on the same line, with the first left justified, the second centered, and the last right justified.
Some samples:
title bold (12) "Sonata 12" title (18) "Song Without Words" title ital (12) "Text: John Doe" "Tune: Jane Doe" title "Suite in C" "Trumpet I" "Waltz" title "" "A. Composer"
The final command for printing text is
the "paragraph" command.
This is used when you have a long section of text,
and you would like it to automatically wrap around onto as many
lines as necessary.
You can specify whether you want the right margin to be "justified" or "ragged."
If you don't specify, the type of the previous paragraph is used.
The default for the very first paragraph is to be justified.
By default, the values of the
fontfamily,
font,
and
size
parameters are used to determine the text style, but any or all of those
parameters can be overridden on the paragraph command. The complete syntax is:
justify_type paragraph fontfamily font (size) "string"
Only the keyword "paragraph" and the string are required.
Here are some example paragraphs:
paragraph "This is an example of a paragraph. Since no justification type was specified, and this is the very first paragraph, the default (justified) is used. A paragraph will wrap around to as many lines as needed. An explicit newline is given at the end of this paragraph, to force a blank line between it and the following paragraph.\n" ragged paragraph avantgarde ital (15) "This paragraph is ragged rather than flush right. It is in a different font and size. Ragged paragraphs are split onto multiple lines if necessary, but they are not spread out to make lines go all the way to the right margin." justified paragraph (14) " Here is another paragraph. This one is justified. Only the size was specified for this paragraph; the font was not, so the current default will be used. Some spaces are included at the beginning of the paragraph text, to create an indented first line for the paragraph." paragraph "Here is the final paragraph. Since no justification type was given, that of the previous paragraph (justified in this case) was used. A paragraph may be used for many things, such as describing how you want a piece to be performed, or a biography of the composer."
Sometimes you may want to mix blocks of text with music. This can be done by specifying a "block" context. The block context will typically contain one or more "paragraph" commands, although any of the printing commands (paragraph, print, left, center, right, or title) can be used. The block can also contain changes in certain parameters, namely font, size, and fontfamily, which will affect the appearance of the following text. A block can also contain "newscore" or "newpage" commands. Using "newscore" will cause vertical space to be added, as would be used to separate scores. The amount of space is affected by the scoresep and scorepad parameters. Using "newpage" will cause a new page to be started. If a newscore or newpage includes a "leftmargin" specification, that will alter the left margin on the block text that follows. A "rightmargin" specification will alter the right margin of the block text that precedes it.
Here is an example of a block.
block title bold "Notation in Simple and Compound Meters" title "" paragraph "It is common for a person familiar with mathematics but not with music to assume that 3/4 and 6/8 time are equivalent, but that is not the case. In 3/4 time (which is known as simple triple meter), a measure containing 3 quarter notes would be notated like this:" score time=3/4 music 1: c;;; bar block paragraph "whereas in 6/8 time (which is compound duple meter), a measure with 3 quarter notes should be notated thus:" score time=6/8 music 1: 4c;8~;;4; bar
The printing commands may occur in the header, footer, header2, footer2, top, bottom, top2, bottom2, block, and music contexts. After each printing command, the current location is set to the right edge of the last character printed horizontally and at the baseline of the current line vertically.
There is another command that looks a lot like the printing commands,
but gives you a way to insert raw PostScript into the Mup output.
This might be used, for example,
to include a picture or logo along with your music.
The syntax is
postscript optional_location "raw PostScript"
The string is copied directly to the Mup output. You can use the usual \" to embed a double quote in the string, but otherwise the string is copied exactly as it is, enclosed inside a PostScript save/restore. After the restore, the current location is reset back to where it was originally.
Since the string is copied without any interpretation, Mup does not reserve any space on the page for the PostScript, and it is your responsibility to provide valid PostScript. The PostScript language is beyond the scope of this User's Guide; consult a book on PostScript if you need more information.
As a simple example, you might include an Encapsulated PostScript file
near the lower left corner of the current page using
postscript "50 50 translate (file.eps) run"
Or you could print a message in red italics
near the bottom of the page like this:
postscript (70, 20) " 1 0 0 setrgbcolor /NewCenturySchlbk-Italic findfont 16 scalefont setfont (Photocopying prohibited) show "