summaryrefslogtreecommitdiff
path: root/support/pmx/doc/pmx298.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-02-12 03:01:46 +0000
committerNorbert Preining <norbert@preining.info>2023-02-12 03:01:46 +0000
commitf76939750d63d6088b9bdeac794ce3fdf33d1269 (patch)
tree0cd0d327b53fe3a657722ae4188983b8b100468d /support/pmx/doc/pmx298.tex
parent73abb311c03e955ad9f7b7464390a5722b20b915 (diff)
CTAN sync 202302120301
Diffstat (limited to 'support/pmx/doc/pmx298.tex')
-rw-r--r--support/pmx/doc/pmx298.tex2949
1 files changed, 0 insertions, 2949 deletions
diff --git a/support/pmx/doc/pmx298.tex b/support/pmx/doc/pmx298.tex
deleted file mode 100644
index 82e8d24a4e..0000000000
--- a/support/pmx/doc/pmx298.tex
+++ /dev/null
@@ -1,2949 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% pmx298.tex 2/4/2022
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\documentclass[11pt]{article}
-%
-\let\reft\ref
- \usepackage[dvips,colorlinks=true,linkcolor=blue]{hyperref}
- \usepackage[dvips]{graphicx}
- \usepackage{multicol}
-%
-\def\MusiXTeX{MusiX\TeX}
-\def\bs{{\tt\char'134}}
-\newcommand\PMXX{\textbf{PMX}}
-\newcommand\PMX{\PMXX~}
-\newcommand\IMA{\href{http://Icking-Music-Archive.org}{\underline{Icking Music Archive}}}
-%
-% Use \bfx for program names only. Use \bf for single embedded letters
-%
-\font\bfx=cmb10 scaled\magstephalf
-\font\bfi=cmbxti10 scaled\magstephalf
-\font\specfig=cmrj
-\setcounter{secnumdepth}3
-\setcounter{tocdepth}3
-\def\Bslash{\tt\char'134}
-\def\|{{\tt\char'174}}
-\def\LBR{{\tt\char'173}}
-\def\RBR{{\tt\char'175}}
-\textheight= 9.5in \voffset-.8in%
-\textwidth= 6.5in \hoffset-1.0in
-\def\newfrom{2.59} % changed every now and then
-\def\NEW#1{\ifdim#1 pt<\newfrom pt\else%
-\marginpar{\fbox{#1}}\fi}
-
-\hoffset-54pt
-
-%\let\rulet\rule\def\rule#1#2{\if#1<#2\rulet{.05in}{#2}\else\rulet{#1}{.05in}\fi}
-
-\begin{document}
-
-\raggedright
-\parindent24pt
-
-\title{
- \Huge\bf
- PMX~--~a Preprocessor for \MusiXTeX{}\\
- \null\vskip-15pt
- \Large\sl
- Version 2.98~--~4 February 2022\\
- \author{\Large\rm Don \sc Simons\\
- \large\sl
- Dr. Don's PC and Harpsichord Emporium\\
- \normalsize\sl
- Redondo Beach, California, USA.\\
-% To make the bitmapped eps: (1) TeX file with cmtt scaled 2500,
-% (2) dvips -> gsview -> pdf.
-% (3) gwin32 -sDEVICE=pnggray -sOutputFile=file.png -r100 -dEPSCrop -dbatch -q
-% -dNOPAUSE -dTextAlphaBits=4 file.eps -c quit
-% (4) file.png -> GIMP (crop out blank space) -> save as .eps.
-%
- \includegraphics[scale=0.4]{file600.eps}}}
-
-\date{}
-
-\maketitle
-
-\section*{Preface}
-Compared to version 2.94, \PMX version 2.98 does not have any new functionality.
-As documented in the opening comments in the source code file pmx298.for,
-it does have several bug fixes, and changes in coding formalism to make it more
-broadly compatible with other FORTRAN compilers beyond GNU, and for translation from
-FORTRAN to C.
-
-\setcounter{page}1
-% Need extra line to push last line of TOC to next page
-
-~~
-
-~~
-
-\tableofcontents
-%\setcounter{secnumdepth}1
-\pagestyle{headings}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\boxitsep{10pt}
-\let\hrt\hrule\def\hrule{\hrt height2pt}
-\let\vrt\vrule\def\vrule{\vrt width2pt}
-\def\boxit#1{\vbox{\hrule\hbox{\vrule\kern\boxitsep\vbox{%
-\kern\boxitsep\hbox{#1}\kern\boxitsep}\kern\boxitsep\vrule}\hrule}}
-\font\ded=cmssdc10 scaled \magstep3
-\bigskip
-\setbox4=\vbox{
-% \hsize3in\noindent\strut
- \hsize4in\noindent\strut
- \centerline{\ded Dedication}
-\vskip 3pt
-The \MusiXTeX~community was stunned by the sudden death of Werner Icking on
-February 8, 2001. He had been a benevolent patriarch, touching many
-of us not only
-with his technical savvy and gentle guidance, but also his genuine kindness
-and generosity. His spirit runs deep through all of \PMX. His encouragement
-fueled its development from its very beginning. Many
-enhancements have been his proposals, including one he made on what
-turned out to be his last day. Werner, my friend, I dedicate this work to
-you and your memory.
-}
-\vfill
-$$\boxit{\box4}$$
-\let\hrule\hrt\let\vrule\vrt
-\vfill
-\eject
-
-\section{Introduction}
-%\setcounter{secnumdepth}1
-
- \PMX is a preprocessor for \MusiXTeX{}. Before using it you should
-have installed \MusiXTeX~Version 1.21 \NEW{2.71} or higher, and
-any available version of \TeX~that includes e-\TeX. The goal of \PMX is to
-facilitate the efficient typesetting of scores and parts
-that have an almost professional appearance. It can do {\it all} the work
-involved in setting up {\tt \bs notes-\bs enotes} groupings,
-selecting groups of
-notes to be beamed, defining beam heights and slopes, spreading the
-entire piece evenly over specified numbers of systems and pages, and inserting
-extra spaces where needed to make room for accidentals, flags, dots,
-and new clefs. The input language for \PMX is much simpler than
-\MusiXTeX. You can enter note values and rests from 64ths to double
-whole notes ({\it breves}), ornaments, slurs, and limited text strings. Every
-voice in every bar must have exactly the correct number of beats in
-the current meter, but you may change the meter at the beginning of any
-measure, with or without printing the new time signature. Before making a
-\TeX{} file, \PMX checks these timings and other aspects of the input.
-\PMX has special features for dealing with baroque chamber music, including
-the ability
-to notate figured bass below the bottom staff in each system. If \PMX hasn't
-yet learned to do something you want to do, you can usually work around the
-problem by inserting literal \TeX\ strings in the \PMX input file.
-
- You can automatically create parts from a score using {\bfx scor2prt}.
-This auxiliary program generates a set of {\tt .pmx} input files, one for
-each part, from a single {\tt .pmx} file for the score.
-You can control the appearance of the
-parts with special commands in the main file, thereby making it
-possible to include within a single input file all the information
-that defines the score and the individual parts.
-
-The basic \PMX
-distribution as of this version of the manual is
-\href{http://icking-music-archive.org/software/pmx/pmx298.zip}
-{\underline{\tt pmx298.zip}}.\NEW{2.98} It
-contains the FORTRAN sources, binaries that will run in a DOS
-window on a PC with WINDOWS95 or higher, manuals for usage and for installation
-in DOS/Windows, and example typesetting files. Alternatively, the
-\href{http://www.icking-music-archive.org/software/htdocs/Getting_Started_Four_Scenar.html}
-{\underline{software section}} of the Werner Icking Music Archive (WIMA) has instructions
-for acquiring and installing \MusiXTeX~and \PMX on various platforms
-(Windows, Mac-OSX, Unix-like systems) including using automated procedures from
-several external \TeX~distribution sites.
-The packages from those other sites will
-all eventually incorporate all the upgrades in {\tt pmx298.zip} but will take
-varying amounts of time to do so. If~\PMX~is upgraded, the most current version will
-be available directly from the ``News'' paragraph
-\href{http://www.icking-music-archive.org/software/htdocs/htdocs.html}{\underline{here}}.
-
-\subsection{Conventions for This Manual}
-
- Hey, this is boring stuff, but if you take a minute to understand
-the typographic conventions and a little jargon,
-it may avoid some confusion down the road.
-
- The typewriter typeface always indicates verbatim text as it would
-be input to a computer. This includes file names, \MusiXTeX{} tokens, and
-\PMX commands, e.g., {\tt barsant.pmx, \bs internote, c44}.
-
- Bold is used for program names (e.g., {\bfx pmxab}), or when applied
-to a single letter, to relate a \PMX command to its meaning (e.g., ``{\tt e}
-signifies a l{\bf e}ft shift'').
-
- When\NEW{2.5}~viewing the PDF version of this document on a computer
-screen, clickable internal hyperlinks are colored blue, and clickable external
-links are underlined and colored cyan.
-
- Italics may mean several different things depending on the context:
-simple emphasis, or the first appearance of {\it jargon}
-(buzz-words that need to be explicitly defined), or finally
-to represent input variables for which some verbatim text would need to be
-substituted. In the latter case the variable will be surrounded by
-square brackets, e.g., [{\it basename}], but the brackets are not to be
-included with the substituted text.
-
- Speaking of jargon, there are several special words that have very
-specific meanings here: A {\it staff} is one set of 5 lines (plural
-{\it staves}), a {\it system} is a group of staves, and {\it voice} refers to
-one of the one or two
-simultaneous allowable sequences of notes in a staff. Note that this
-is a change \NEW{2.5}from versions prior to 2.5, where {\it voice} was used
-interchangeably with staff.
-
-A \PMX {\it command} is a string of characters with no spaces between them.
-The first character determines the type of command. Any other characters
-are parameters that may be either required or optional. Sometimes we loosely
-use the word {\it command} to refer just to the initial character.
-
-\subsection{Setup}
-
- Here we briefly describe the setup for the Windows OS,
-assuming \TeX\ and \MusiXTeX\ have already been installed. After compiling the
-FORTRAN source code, users of other OS's
-may either adapt these instructions as needed or use one of the other setup
-methods referenced earlier.
-
-After decompressing the distribution file {\tt pmx276.zip},
-you should have these
-files: \NEW{2.76} {\tt pmx276.for}, {\tt scor2prt.for}, two
-Windows executables {\tt pmxab.exe} and {\tt scor2prt.exe}, several sample
-{\tt .pmx} files,
-{\tt pmx.tex}, {\tt ref276.tex} (\TeX\ source for a command summary),
-{\tt pmx276.tex }(\TeX\ source for this file),
-PDF images of the latter two files, {\tt pmx25-276.html} showing
-changes from version 2.50 to 2.76, and {\tt install\_run\_PMX271.pdf} which gives more
-details about installing and running on different platforms.
-
-%If necessary, compile the FORTRAN programs.
-%I have tried to keep the source code as generic as possible, but minor
-%modifications may be needed for FORTRAN-to-C translation and/or other
-%compilers.
-
- Once you have assembled a full set of files, put the executables
-somewhere in the path or in your working directory, {\tt pmx.tex} into the
-texinput directory, the sample {\tt *.pmx} files in your working
-directory (the one from which you will run \PMXX), and the source code and
-document files wherevever you wish.
-
-\subsection{Basic Operation, by Example}
-
-Edit the 15th line of {\tt barsant.pmx} to contain the path to the
-directory where you want \PMX to write the {\tt .tex} file. For example,
-if you want this to be the same as the working directory, type {\tt .\bs}~for Windows,
-or {\tt ./} for UNIX.
-
-If you haven't done so, open a command window and navigate to the
-folder containing {\tt barsant.pmx}. Execute \PMX by typing
-{\tt pmxab barsant} . Alternatively, you may
-just type {\tt pmxab <return>} and you will be prompted
-for a jobname, which in this case is just {\tt barsant} .
-{\bfx pmxab} will always generate two files in the working
-directory: {\tt barsant.pml}
-is a log file, and {\tt pmxaerr.dat} contains a single integer, 0 if
-the run was successful, otherwise the line number in the {\tt .pmx} file of the
-fatal error (useful for batch processing). Also, on successful completion,
-{\tt barsant.tex} will be placed in the path specified in the setup.
-
-Now you are right where you would be after
-entering, debugging, and rough-editing the {\tt .tex} file manually. To see
-the results, process {\tt barsant.tex} just as you would for any \MusiXTeX{}
-file, running all three passes, and view the {\tt .dvi} file, or go on and run
-{\bf dvips} to create a postscript file and view that with a postscript viewer
-such as {\bf GSview}. To make
-separate parts, run {\bfx scor2prt} by typing {\tt scor2prt barsant} .\NEW{2.0}
-The program will create a new {\tt .pmx} file for each instrument, in this
-case {\tt barsant1.pmx} and {\tt barsant2.pmx}.
-You may then process these
-files like you did the original one to create separate parts.
-
-\section{Elements of PMX}
-\def\l@subsection{\@dottedtocline{2}{5em}{20em}}%original 2 3.8 3.2
-%\setcounter{secnumdepth}2
-
-\subsection{Setup Data in the Input File} \label{setupdata}
-
- To see how the input file is put together, we'll look at
-{\tt barsant.pmx}. For reference, here are are the first few lines:
-\pagebreak
-\begin{verbatim}
-%----------------%
-%
-% barsant.pmx Revised 29 June 2002
-%
-%----------------%
-%
-% nv,noinst,mtrnuml,mtrdenl,mtrnmp,mtrdnp,xmtrnum0,isig,
- 2 2 4 4 0 6 0 0
-%
-% npages,nsyst,musicsize,fracindent
- 1 7 20 0.07
-Basso
-Recorder
-bt
-./
-\end{verbatim}
-The lines
-with {\tt \%} in column 1 are comments.
-Some special handling of comment lines will be
-discussed in the section on creating parts from a score in
-section~\ref{scor2prt}.
-
-The rest of the lines in this example are the {\it setup data}.
-Starting in the first non-comment line above,
-
-{\tt nv} (integer$\leq$24) \NEW{2.6} is the total number of
-sta{\bf v}es per system. Each staff may contain either one or two voices,
-but the total number of voices at any one time may not exceed 24.
-
-{\tt noinst} (integer$\leq${\tt nv}) is number of {\it instruments}. Each
-instrument has a unique name (see below), and any instrument
-with more than one staff will have its staves joined with a curly bracket.
-Usually there is only one staff per instrument and {\tt noinst=nv}. There
-are two ways to assign more than one staff to one or more instruments.
-If only the first (lowest) instrument has more than one staff, such as in
-a score for piano and a solo instrument, simply make
-{\tt noinst$<$nv} and any difference will show up in instrument 1, the bottom
-one in each system.
-\NEW{1.4} For a
-more general distribution of staves among instruments,
-put a minus sign in front of {\tt noinst},
-and follow {\tt noinst} with the number of staves in each instrument in
-succession, separated by spaces. These numbers must add up to {\tt nv} or your
-computer will explode. For a typical example of keyboard music, see
-{\tt mwalmnd.pmx}, in which {\tt nv=2} and {\tt noinst=1}, producing two
-staves per system with a curly bracket at the left.
-
-The number of instruments can be changed as well after the start of the
-score, but only to a number less than the original one. See
-section~\ref{movbrk} to learn how to start with a smaller
-number of instruments and later increase it.
-
-{\tt mtrnuml} is the {\it logical} numerator of the meter, or the number of
-beats per measure; {\tt mtrdenl} the denominator. Please note the special
-considerations in the paragraph after the next. If {\tt mtrnuml} is
-divisible by 2 or 3, beam grouping will be automatic; otherwise you will
-have to force all beams using {\tt [}$\dots${\tt ]} as described in
-section~\ref{beams}.
-
-{\tt mtrnmp} and {\tt mtrdnp} are the {\it printed} numerator and denominator.
-These determine the appearance of the meter in the printed output but
-have no effect on the internal timing analysis. If {\tt mtrnmp$>$0} then it
-and {\tt mtrdnp} are printed literally as the numerator and denominator
-of the time signature. Please note the special considerations in the following
-paragraph. If
-{\tt mtrnmp$<$0}, then the numerator is abs({\tt mtrnmp}) and the
-entire time signature will be printed with a vertical slash through
-it. If {\tt mtrnmp}=0, then {\tt mtrdnp} determines the printed meter
-as follows:
-
-\medskip
-
-\begin{tabular}{ll}
-\tt 0 & No meter is printed ({\it blind} meter change)\\
-\tt 1, 2, 3, or 4 & A single digit, between the 2nd and 4th lines\\
-\tt 5 & Cut time (alla breve)\\
-\tt 6 & Common time\\
-\tt 7 & Numeral 3 with a vertical slash\\
-\end{tabular}
-
-\medskip
-
-There are special considerations for n/16 and n/1 time signatures (where the
-latter "1" normally means a whole note). To get
-n/1 time, use {\tt 0} (zero) for {\tt mtrdenl} and {\tt 1} for {\tt mtrdnp}. To
-remember this rule, recall that the printed denominator is taken literally,
-while the logical denominator can always be represented
-by the same single digit used for the corresponding time value when entering
-ordinary notes (see section~\ref{notes}). So
-for n/16 time, use {\tt 1} for {\tt mtrdenl} and {\tt 16} for {\tt mtrdnp}.
-
-If the first bar is a partial bar containing a pickup, {\tt xmtrnum0} is
-the number of beats in it; otherwise set it to 0. It need not be an
-integer. The first bar is the {\it only} bar that can have a different
-number of beats than the current value of {\tt mtrnuml} (Later we'll see how
-to change the meter).
-
-{\tt isig} is the key signature, positive integer for sharps, negative for
-flats.
-
-If {\tt npages}$>$0, it is the number of pages and {\tt nsyst} is the total
-number of systems in the entire piece. \PMX will spread the entire
-piece horizontally over this number of systems, and vertically over
-{\tt npages} pages. For proper vertical spacing there should be from
-about 9 to 16 staves per page. If you specify too many staves for the number
-of pages, one or more staves may spill over onto an extra sheet. If this
-happens it will only become obvious when you preview the {\tt .dvi} file.
-One solution is to use the global option {\tt Ae}
-(see section~\ref{AeDirective}); another is to increase {\tt npages} or
-decrease {\tt nsyst}.
-
-If {\tt npages} is set to 0, then {\tt nsyst} is interpreted as the average
-number of measures per system. This is useful while building up a
-file a little at a time. \PMX will calculate how many systems to use, and
-spread them over an appropriate number of pages.
-
-{\tt musicsize} is 16, 20, 24, or 29, the height of a staff in points, with
-20 considered the default\NEW{2.6}.
-
-{\tt fracindent} is the indentation of the first system from the left
-margin, expressed as a decimal fraction of the total line width.
-
-Next come the names of the {\tt noinst} instruments as you want them to
-appear within the indentation in the first system, one per line,
-starting with the {\it bottom} instrument. If you've set {\tt fracindent}=0
-and don't
-want instrument names to appear, you must still leave {\tt noinst}
-blank lines here. Next comes a single string of {\tt nv}
-letters or numbers for the clefs, again starting with the bottom staff:
-\label{ClefCodes}
-{\tt b,~r,~n,~a,~m,~s,~t,~f,~8} or digits 0-8 \NEW{2.71} respectively for {\bf b}ass,
-ba{\bf r}itone, te{\bf n}or, {\bf a}lto, {\bf m}ezzo-soprano, {\bf s}oprano,
-{\bf t}reble,\NEW{2.2} {\bf F}rench violin clef, or octave treble clef.
-The last line of setup data contains the path to the directory
-where you want the {\tt tex} file to go when \PMX creates it. The one
-in {\tt barsant.pmx}~,
-{\tt ./}~, represents the current directory in UNIX and some versions of DOS.
-The path must terminate with {\tt /} or {\tt \bs}~.
-
-\subsection{Structure of the Body of the Input File} \label{structure}
-
- The rest of the {\tt .pmx} file is the {\it body} of the input.
-The basic unit of input from here on is called an {\it input block} or
-just {\it block}, each one representing an integral number of bars. If there
-is a pickup bar defined by {\tt xmtrnum0} $>$ 0,
-it must be included in the first block {\it together with at least one full bar}.
-If you wish to put a pickup in a separate block, for example at the start
-of a new movement, set the initial logical
-meter to fit the pickup bar, then after the pickup bar do a blind meter change
-as described in section~\ref{MeterChange}).
-
-There will usually be
-4 to 8 bars in a block. 15 is the most allowed. It is good practice
-to separate the blocks with comment lines that state which bars are
-represented, as I've done in {\tt barsant.pmx}.
-It is also advisable, although not required, to separate the bars with
-the command {\tt |}. Its main functions
-are to provide visual separation in the input file, and to help isolate input
-errors: if you put one anywhere except
-at a bar-end, {\bfx pmxab} will stop and show you where it detected the
-timing error. Otherwise, with several minor exceptions,
-{\tt |} has no effect.
-
-At the start of each block there may be a few special commands
-(described starting in section~\ref{pmxcmds}).
-Next come the input data for the selected number
-of bars of the first (lowest in the system) voice in the first staff, followed by
-either {\tt /} to move to the next staff, or {\tt //} to move to the next voice
-on the same staff. Each new voice must start on a new line
-in the input file, i.e., there should be no further data on the same input line
-after {\tt /} or {\tt // }.
- Continue entering other voices, each with
-{\it exactly} the same number of bars as the first,
-terminated by {\tt /} or {\tt //}, until
- the last (topmost in the system) ends with a {\tt /} and the block is
-finished. Within
-a block every voice must have the same number of bars, but every block
-needn't have the same number of bars as other blocks. The number of
-voices in a staff can only be 1 or 2, and cannot change within a block, but
-may vary from block to block.
-
- The data for each voice in each staff are a sequence of commands
-containing one or more adjacent characters. Commands are separated from each
-other by spaces. The line-terminating commands {\tt /} and {\tt //} should also
-naturally be preceded by a space.
-
-\subsubsection{Notes} \label{notes}
-
- Commands for notes always start with a lower-case letter and, as
-with all commands, end at
-the first space. The first letter is the note name ({\tt a-g}). The
-rest of the characters can be in any order with only a few
-restrictions. The first digit defines the {\it basic time value} of the
-note: {\tt 9, 0, 2, 4, 8, 1, 3} or {\tt 6} respectively for double-whole,
-whole, half, quarter,
-eighth, sixteenth, thirty-second, and sixty-fourth notes. The second
-digit sets the octave (for reference, octave 4 runs from middle C to
-the B above). Certain letters may appear after the initial one: {\tt d}
-for {\bf d}ot; {\tt dd} for \NEW{1.4} double dot;
-{\tt f, n,} or {\tt s} for {\bf f}lat, {\bf n}atural,
-or {\bf s}harp (repeat the letter
-immediately for a double); {\tt u} or {\tt l}, which force the stem
-direction of any un-beamed note; {\tt e} or {\tt r} to shift the notehead
-l{\bf e}ft
-or {\bf r}ight by its own width; {\tt a} (for {\bf a}lone) which inhibits
-beaming for this note (or, if the first note of an xtuplet, for the
-entire xtuplet); and \NEW{2.80}{\tt T} to insert a single-note {\it tremolo}
-on the stem (not to be confused with a 2-note tremolo, discussed later in
-section~\ref{TwoNoteT}).
-The {\tt T} may be followed by a single digit {\tt 1}, {\tt 2}, or {\tt 3}
-to indicate the
-number of slashes in the tremolo symbol; {\tt 1} is the default if no digit
-is entered. \NEW{2.4}A single accidental may be immediately
-followed by {\tt c} to
-make it {\bf c}autionary, i.e., surround it with parentheses.
-Alternatively, it may also be followed by {\tt i} to
-suppress typesetting \NEW{2.3} but still have
-the M{\bf I}DI processor honor the accidental. Other characters allowed in note
-commands are {\tt +}, {\tt -}, {\tt .}(period), {\tt ,}(comma), {\tt x}, and
-several special characters following {\tt x}, all to be described below.
-Between the first letter and the end or {\tt x} if present,
-non-digits can be in any order with respect to each other and to the digits,
-with minor exceptions involving shifting dots and accidentals.
-
-To move
-a dot from its default location, simply follow the {\tt d}
-with one or two decimal numbers, each predeced by
-{\tt +} or {\tt -}.
-The first is the
-vertical shift in \bs{\tt internote}s, the second, the horizontal shift in
-notehead widths.
-
-\label{AccidentalPosition}
-Accidentals \NEW{1.4} can be shifted too. One way is to enter
-{\tt +} or {\tt -} right after the accidental character,
-then an integer
-for the vertical shift, then another {\tt +} or {\tt -} followed by the
-horizontal shift in notehead widths. If you use this method, you {\it must}
-enter both numbers. Or, to just shift horizontally, use
-{\tt <} or {\tt >} followed by the shift in notehead widths. When shifting
-a sharp to avoid another sharp, a left shift of 0.85 is usually best. When
-shifting a flat to avoid a flat above it, a left shift of 0.3 is suggested.
-In chords (see section~\ref{chords}), if all the notes are in the same \NEW{2.4}voice,
-\PMX will automatically shift accidentals if required. This will be disabled
-for the current chord
-if any user-defined accidental shifts are entered, unless {\tt A} is entered
-along with the shift, e.g., {\tt zcsA<.5} . In that case the user-defined
-shift will be added to the PMX-computed one.
-\NEW{2.4} Another option that affects accidental positioning in
-chords is {\tt Ao},
-entered in the main note command of a chord. It will force the accidentals
-in that chord will be posted in the order
-they come in the source file (starting with the main note), each one as far
-to the right as it will go without crashing into a notehead, stem, or
-another accidental.
-
-
- Dots and accidentals always have to be entered when and if a note
-calls for them. i.e., they are never carried over from previous notes.
-On the other hand, the octave only needs to be entered if the note is
-more than a fourth away from the most recent note in the same voice.
-This feature lets you go for long stretches in a voice before needing
-to enter the octave. An alternate way to jump more than a fourth but
-less than a twelfth is to type {\tt +} or {\tt -}. In other words, these
-mean to put the note an octave higher or lower than it
-otherwise would have gone. Two {\tt +}'s will raise the pitch two octaves
-above what it otherwise would have been, and so forth.
-The basic time
-value is also carried over from the past if it is not re-entered,
-except for the first note or rest in each voice in an input block,
-for which it {\it must} be entered.
-Therefore, when the melody jumps more than a 4th, using {\tt +} or {\tt -} is
-often more convenient than using a digit. This is because in order to
-use the digit, you must first enter the basic time value whether it
-changes or not.
-
- For example {\tt c44 d e f g a b c c0-} is an ascending quarter-note
-scale starting on middle C, followed by an octave jump down to a
-whole note middle C.
-
- Explicit octave \NEW{2.1} numbers can be combined with one or
-more {\tt +} or {\tt -} . In earlier versions, {\tt +} or {\tt -} was
-ignored if an octave number was specified. This is a slight backward
-incompatibility; \PMX prints a warning when it happens.
-
-\label{Stemlength}Stem length \NEW{2.73} can be {\bf s}hortened or {\bf l}engthened by {\it x}
-\bs{\tt internote} with the options {\tt S}{\it x} or {\tt L}{\it x}~.
-{\it x} is restricted to the range (0.5,4.0) for shortening and 0.5 to 27.5
-for lengthening.
-The shortening can be made ``sticky'' by following the number {\it x} with
-{\tt :} . Then every note's stem in the voice will be shortened until
-one is encountered with the option {\tt S:} . By lengthening a stem enough
-to span to the next staff and connect with notes there, unflagged staff-spanning
-chords can be constructed. See section \ref{chords}~for further details
-about staff-spanning chords.
-
-The first note command in each voice in a block must
-contain at a minimum the note name or {\tt r} for a rest (see below),
-and a basic time value. For notes, it is good practice and can simplify
-editing
-if in addition an explicit octave is set here. However if it is not,
-\PMX will make some assumptions. At \NEW{2.4} the start of the first
-input block the pitch will be set as if the prior note were middle C.
-In later blocks \PMX will use the
-obvious inheritance rules from the end of the prior block.
-However, if the number of voices in a staff
-has changed from the prior block, it is safest to reset the octave at the
-start of a new block. Duration is never inherited and must be set at the
-start of each input block.
-
- Dots can be a little tricky, because even though they affect the
-actual time value, they don't affect the basic time value, and it is only the
-latter that is ``sticky". Therefore, if a note is to be dotted, you always have to
-enter a {\tt d} (or a period, see next paragraph) somewhere within the
-command, after
-the note name, even if the actual time value and octave are the same
-as the prior note. But the {\it basic} time value need not be re-entered if
-it hasn't changed (unless the note is more than a fourth from the
-prior note {\it and} you have for some strange reason elected to indicate the
-octave with a number rather than {\tt +} or {\tt -} ). So for example,
-consecutive dotted half notes, each within a fourth of the previous
-one, could be most cleanly entered as {\tt cd24 ed gd ed}, whereas {\tt cd24 e}
-would represent a dotted half note followed by a plain half note
-(since the basic time value---as defined by the first digit---was a half
-note all along).
-
- There are two special shortcut rhythmic notations. For normal dotted
-rhythms (3:1 ratio), if you
-include a period ({\tt .}) in the note command, it will
-(a) assign a dot to the note just entered, (b) terminate that note,
-(c) prepare to
-receive the next note name {\it without any space}, and (d)~automatically
-assign a time value to the second note equal to one-third of the first one.
-No time value may be entered for the second note, but octave and accidental
-data may. Ornaments and slurs (see below) following this command will apply
-to the second member. If you need to follow the main note
-with some modifying
-\NEW{2.3}
-command, you can still use the shortcut ({\tt .}) after that command and a
-space.
-The main advantage of this shortcut comes if you want to
-follow one dotted pair with another of the same rhythm; then you
-needn't enter any explicit time value for {\it either} member of the second pair.
-This is possible because after using the shortcut,
-the basic (inheritable) duration is set to that of the
-{\it first} note in the pair, without the dot.
-
- For paired notes with 2:1 rhythmic ratios, the character {\tt ,}~(comma)
-behaves similarly to the {\tt .}~(period) for 3:1 rhythms.
-
- Xtuplets, or groups of notes with their stems connected,
-can have from 2 to 24 notes or\NEW{1.4} rests. Normally they
-all have the same duration, but there are several options---described
-below---to change this. The command for the first note of an xtuplet begins
-exactly like a
-note or rest command, with the name of the first note in the xtuplet, or
-{\tt r} if it starts with a {\bf r}est (see subsection below on rests),
-and an optional time value.
-However, the actual time value (including a dot if present and a basic
-duration that may have been inherited from the prior note) now represents the
-{\it total} duration of the xtuplet. Next (with no space, as usual) comes
-{\tt x} followed by either a one- or two-digit integer for the number of notes in
-the xtuplet, or \NEW{2.80}{\tt T} to initiate a 2-note tremolo, to be further
-discussed below. The only options allowed immediately following the number are
-{\tt d} and {\tt n} . \NEW{2.4}{\tt d} signifies that the {\it first} note
-of the xtuplet should have a dot and the second, and extra flag.
-{\tt n} controls the printing of the {\bf n}umber and bracket.
-If {\tt n} is followed by a blank, then no number will be
-printed. On the other hand,
-an \NEW{2.3}{\it unsigned} integer here is taken as a substitute number to
-be printed instead of the natural one.
-If one or two {\it signed} decimal numbers follow {\tt n}
-(each starting with {\tt +} or {\tt -}), the first
-is a vertical shift in {\tt \bs internote}s, and the second, a horizontal shift
-in notehead widths. Another suboption to {\tt n} is {\tt f},
-to {\bf f}lip the number vertically from its default position. A \NEW{2.5}final
-suboption to {\tt n} is {\tt s} followed by a signed integer. It applies only
-to non-beamed xtuplets, for which it tweaks the slope of the bracket above or
-below the xtuplet. For non-beamed xtuplets, you can further change the
-appearance of the bracket and number as explain in section~\ref{ATDirective}.
-
-The second through last notes of the xtuplet are each then
-represented by a separate command containing a subset of the characters
-permitted for ordinary notes or rests: note name or {\tt r} (the only required
-character), accidental, and octave change character ({\tt +} or {\tt -}).
-\NEW{1.4} The octave may be given explicitly instead, and any integer will be
-interpreted as such, as no numerical time value is permitted.
-
-To double\NEW{2.3} the duration of any note in an xtuplet, add the
-character {\tt D} to the command for that note. This will decrease the expected
-number of notes in the xtuplet by one. To add a dot to the doubled note
-(as Bach sometimes did), use {\tt F} instead of {\tt D}.
-\NEW{2.4}To add a dot to one
-note and an extra flag to the next, include {\tt d} in the note command,
-{\it after} the {\tt x} if it's the first note of the xtuplet as noted above.
-
-As an example, an ascending quarter-note triplet scale would be
-notated\hfil\break {\tt~c44x3~d~e~f4x3~g~a~b4x3~c~d~\dots}
-
-\subsubsection{2-note tremolos}\label{TwoNoteT}
-
-A 2-note tremolo \NEW{2.80}is a special case of an xtuplet.
-It represent a rapid alternation between two notes.
-It is notated with a pair of
-notes, either beamed or unbeamed, with the possible addition of from one to three
-indented, disconnected beams between the two note stems.
-Like an ordinary
-xtuplet, it begins with a note name, optional duration and octave, then
-the character {\tt x}. The duration applies to the total time value of the
-two notes, is currently limited to either a half note ({\tt 2}),
-quarter ({\tt 4}), or eighth ({\tt 8}), and may be dotted by including~{\tt d}~after
-the duration digit.
-Next comes a {\tt T}. This is optionally followed by one or two
-integers from 0 to 3. The first indicates the number of ordinary beams
-connecting the two notes; the second, the number of indented beams.
-
-The only other option allowed on the first note is to move the dot. After
-the~{\tt d}~enter one or two signed integers, where the first
-is a vertical shift in {\tt \bs internote}s, and the second, a horizontal shift
-in notehead widths. If the note has both a moved dot and a digit for an explicit octave,
-the~{\tt d} must follow the octave number
-
-No other options are allowed, and some options are prohibited, such as zero
-ordinary beams on anything except a quarter or dotted quarter tremolo. If no
-integers are entered after the~{\tt T}, defaults are assigned: (3,0) for a half,
-(0,3) for a quarter, and (1,2) for an eighth.
-
-After a space, the second note of the tremolo is entered. If the total duration
-is a half or dotted half, the
-noteheads will be open. For a whole note tremolo, two consecutive half note
-tremolos should be used. As with ordinary xtuplets, the horizontal spacing of the
-notes will always be the
-correct value for notes with half the duration of the total. If the tremolo duration
-is dotted, a dot will appear by default on the second note, and no~{\tt d}~should
-be entered there unless the dot needs to be moved, in which case the syntax is as
-described above for the first note.
-
-Either\NEW{2.84} or both members of the tremolo may include chordal notes,
-using the normal {\tt z} notation described in section~\ref{chords}. If the
-duration is dotted, dots will appear by default on chord notes, and again
-no~{\tt d}~should be entered there unless the dot needs to be moved.
-If the tremolo is beamed, the height and angle of the beam may be adjusted
-after making it a forced beam as described in section~\ref{beams}.
-
-Some examples of 2-note tremolos are shown below. When two versions are shown
-for a given duration,
-the first is the default. The following \PMX code generates the example.
-
-~
-
-{\tt f24xT a fxT a | fxT20 a fxT20 a /}
-
-{\tt L2 fd24xT zefd-2+1 zcd-2+1 a r4 | f24xT a f2xT20 a /}
-
-{\tt L3 fd44xT a r8 f44xT a r4 | f44xT02 a fd8xT a r1 f8xT a r4 f8xT11 a /}
-
-~
-
-\includegraphics[scale=1.0]{tremxmpl4.eps}
-
-\subsubsection{Rests}
-
- The command for a rest starts with {\tt r}.
-Then for a normal rest, in either order come a digit for the basic time value
-(using same codes as for notes, optional if unchanged from previous value),
-a {\tt d} if the rest is dotted, and a second {\tt d} if double dotted.
-\NEW{2.0} The basic time value of a rest
-affects future notes and rests the same as if it had come from a note,
-i.e., it applies until another value is entered with a subsequent note
-or rest in the same voice. The command {\tt rp} represents a
-full-bar rest notated with a {\bfi p}{\it ause} character (whole rest)
-regardless of
-the time signature; in this case no other duration information is
-needed or allowed. {\tt rb}, followed if necessary by a duration
-specifier, denotes a {\bfi b}{\it lank} rest, one that occupies space and time
-but is invisible. This is most often used when there are
-two voices in a staff and one drops out for some of the duration
-of the current input block. (See {\tt mwalmnd.pmx} for examples).
-\NEW{1.4} The
-option {\tt o} (for {\bf o}ff-center) suppresses centering a full bar rest. If
-you don't exercise this option, then
-{\it all} full-bar rests will be horizontally centered between bar
-lines, including pauses ({\tt rp}) as well as normal rests that fill the bar.
-
- The default vertical position of a rest depends on whether there
-are one or two voices in the staff.
-For one voice it is just the \MusiXTeX{} default
-(approximately centered on the middle line). On the other hand, in
-the lower voice in
-a two-voice staff, the rest is lowered {\tt 4\bs internote}, while
-in the upper voice it is raised {\tt 2\bs internote}. The \PMX default can be
-manually overridden by appending {\tt +}~or~{\tt -} and an integer
-representing the offset from the {\it middle} line of the staff
-(not from the \PMX default if there are two voices in the staff!).
-So for example, in a single staff
-in 3/4 meter, two voices, each with a half note followed by its own
-quarter rest would be either
-\begin{verbatim}
-c24 r4 //
-c25 r4 /
-\end{verbatim}
-or equivalently
-\begin{verbatim}
-c24 r4-4 //
-c25 r4+2 /
-\end{verbatim}
-while
-\begin{verbatim}
-c24 r4+0 //
-c25 r4b /
-\end{verbatim}
-would produce two notes followed by a single, vertically centered rest.
-
-Another way to override the default vertical positioning of rests is useful in
-keyboard scores, or in fact any score containing two voices on a staff.
-The option {\tt K} (for {\bf K}eyboard) in the
-{\tt A} command generally causes rests to be
-aligned horizontally with notes in the voice in which they are entered. See
-section~\ref{Acommands} for a detailed description.
-
- \label{MultibarRest}The command {\tt rm} followed immediately by an
-unsigned integer will generate a {\bfi m}{\it ulti-bar}
-rest, a special combination of characters between two bar lines
-representing two or more bars of rest. The integer will always be printed,
-horizontally centered. The integer in the command \NEW{2.91}may optionally
-be followed by {\tt n} and then another integer, possibly negative, indicating a
-different vertical position for the number relative to the bottom staff line.
-The default is 9. To put the number
-below the staff use -5 or -6. Once the height is changed it will stay the same until
-changed again. The {\tt rm} command will generally only be used in separate parts
-that have been automatically generated by {\bfx scor2prt}. However, it
-\NEW{2.4}may be used in a multi-line score, provided it is entered for the same
-number of bars in every staff.
-
-\subsubsection{Chords}\label{chords}
-
- Chordal notes, which always share a stem and the same time value as the
-prior note, are symbolized with {\tt z} (for {\bf z}ero time) followed by a note name and
-optionally an accidental, {\tt +} or {\tt -} as octave indicator, and {\tt e}
-or {\tt r} for a l{\bf e}ft or {\bf r}ight shift by one notehead width.
-No basic time value is allowed. If the main note
-is dotted, then the chordal note will appear with a dot regardless of whether
-a {\tt d} is entered. The only time a {\tt d} is required in a chordal note
-command is if the dot's position is to be adjusted; in this case the
-{\tt d} is required, followed by one or two decimal numbers, each preceded by
-{\tt +} or {\tt -}. The first is the vertical shift in \bs{\tt internote}s;
-the second, the horizontal shift in notehead widths.
-Any number of chordal notes can follow a
-single main note. The stem direction of a chord is controlled by the main
-note, but may be manually overridden with {\tt u} or {\tt l} in the main note
-command.
-
- When chordal notes are beamed together, the default height and angle of
-the beam will be determined by the main note on each stem (the one without
-{\tt z}). If a beam joining chordal notes looks bad, you can usually
-fix it either by changing which note acts as the main one,
-or by fine-tuning the beam parameters as described
-in section~\ref{beams}.
-
-\PMX uses a complex algorithm to automatically position accidentals in chords.
-If you are unhappy with the result, you can manually tweak the horizontal
-positions as described in section~\ref{AccidentalPosition}.
-
-Although there is no dedicated command for it, chords can be made to span from
-one staff to another using various techniques\NEW{2.73}. The approach will depend on
-whether
-the chord is single-stemmed with no flag, single-stemmed with a flag, or beamed.
-If beamed, it will also depend on whether it is an xtuplet or not. Examples of all
-the basic possibilities are contained in the sample file {\tt staffcrossall.pmx}.
-
-For unbeamed, unflagged staff-crossing chords,
-by lengthening the stem with the {\tt L} option on the main note, it can
-be made long enough to join with an unflagged single-stemmed note or chord in the
-next staff. Single-stemmed notes with one or more flags can be joined across staves
-with a trick discovered by Andre Van Ryckeghem: In one staff create a standard note or
-chord with
-the stem pointing away from the other staff. In the other staff, place the chord notes
-in a one-note forced beam that has been lowered or raised into the first staff
-(e.g. {\tt [-10 b14 ]}); that
-will stretch the stem to join the other notes, but with just one note (or chord) in the
-beam, the crossbar will have zero length and be invisible.
-
-Beamed chords may also span from one staff to another, using joined beams (see
-section~\ref{beams}). The general approach is to construct a set of chords
-(or single notes, if the other chord notes are in the other staff) in each of
-the two staves, enclose each set in a separate forced beam, and join the two
-beams with {\tt ]j}...{\tt [j}~. It is important to remember that the
-lower staff is processed first. So in most cases, the end of the segment in the lower
-staff must be joined (using {\tt ]j}) to the start of the upper segment (with {\tt [j}).
-It turns out that for non-xtuplet beamed chords, in all cases where the chord at the
-beginning of the beam has a note
-in the {\it lower} staff, this works fine provided that the forced beams are of equal
-duration and cover the same time span, and that positions in either staff with no note
-are represented with
-blank rests \bs{\tt rb} inside the force beam. So for example a set of beamed chords
-that starts only in the
-lower staff and ends only in the upper could be represented by
-\begin{verbatim}
-[+28 g83 g g rb ]j /
-[jf rb g84 g g ] /
-\end{verbatim}
-This example highlights some other issues, viz., that the beam height or direction of one
-or both beam groups may need to be altered. Often this will require trial and error.
-
-Unfortunately this two-group procedure breaks down if the first chord in the beam has no
-notes in the lower staff. There are tricks to get around this; the user is referred to
-the file {\tt staffcrossall.pmx} for examples. However, there is a much more
-straightforward way to define
-staff-crossing beamed chords that begin in the upper staff: it simply requires defining
-the beamed group in each staff as an xtuplet within a forced beam. It turns out that
-the treatment of
-staff-crossing beamed xtuplets is more robust than for non-xtuplets, and will admit
-more intuitive coding. So for example, the reverse of the above example, where
-the beam starts in the upper staff and ends in the lower, could be obtained with
-\begin{verbatim}
-[+28 rb2x4n g3 g g ]j /
-[jf g24x4 g g rb ] /
-\end{verbatim}
-\newdimen\psav\psav=\parindent\parindent=0pt where we used the option {\tt n} to
-suppress printing the number. As you might expect, more general staff-crossing
-beamed chordal xtuplets follow the same concepts already described for non-xtuplets,
-but as noted, they are more robust and admit patterns that start in the upper staff
-and end in the lower one. {\tt staffcrossall.pmx} also contains examples this
-approach.
-
-\parindent=\psav
-
-\subsubsection{Grace notes}\label{graces}
-
- A grace note command starts with a {\tt G}. It is entered in its natural
-order, normally before the main note, but sometimes after. After {\tt G} and
-before the note name, comes any
-combination of the following options: an unsigned integer (which may have 2 digits)
-representing the number of
-notes in the grace (default is 1), {\tt m} and a digit for
-{\bfi m}{\it ultiplicity}
-(number of flags or beams, default is 1, 0 is allowed),
-{\tt s} for {\bf s}lur (joining all notes of the
-grace to the main note; no other {\bf s} is needed on the main note),
-{\tt x} for a slash (only for single graces),
-{\tt l} or {\tt u} to force the direction of the stem(s),
-{\tt X} followed by a decimal number {\it x} to insert a gap of {\it x}
-notehead widths between a normal grace and its main note\NEW{2.6},
-{\tt A} (for
-{\bf A}fter) or {\tt W} (for {\bf W}ay-after) to associate
-the grace note with the {\it prior} note. Next comes the only
-required character, the
-first note name. No time value can be entered, but if needed, the
-octave or an accidental can be given as in a normal note. Second and
-later notes must follow immediately in sequence, set apart by spaces, likewise
-without any time value, and without any intervening commands.
-
- Normal or after-graces will be placed {\it immediately} before or after
-the main note; way-after's, as far to right as possible before the next note
-or bar line. If either type of after-grace is slurred, the slur will start
-on the main note and end on the last one in the grace.
-
-
-\subsubsection{Ornaments}
-
- Commands for ornaments are entered {\it after} their associated
-note command. The ornaments now available are shake ({\tt ot}), {\bf m}ordent
-({\tt om}), ``x"- or ``+"-shaped ornament symbols ({\tt ox, o+}), pizzicato
-({\tt ou}), strong {\bf p}izzicato ({\tt op}), left parenthesis before
-notehead ({\tt o(}), right parenthesis after notehead ({\tt o)}),
-upper {\bf f}ermata ({\tt of}), {\bf d}own {\bf f}ermata ({\tt ofd}),
-staccato ({\tt o.}), tenuto ({\tt o\_}), two different se{\bf g}nos
-({\tt og} or {\tt oG}), {\bf C}oda ({\tt oC})\NEW{2.71},
-arbitrary-length wavy-line {\bf t}rill with {\it tr} ({\tt oT}),
-arbitrary-length wavy-line
-trill without {\it tr} ({\tt oTt}), sforzando ({\tt o>}),
-%duncecap ({\tt o}\hbox to 6pt{\tt\^~}), \NEW{2.4}{\bf c}aesura ({\tt oc}), and
-duncecap ({\tt o\verb|^|}), \NEW{2.4}{\bf c}aesura ({\tt oc}), and
-{\bf b}reath ({\tt ob}).
-All except the parentheses, staccato,
-tenuto, and down fermata will normally
-appear above the staff; the parentheses appear at the level of the note
-head, and staccato and tenuto just above or below depending on the
-stem direction. The only difference between staccato and
-pizzicato is the vertical positioning of the dot.
-
-Either type of trill may immediately include an unsigned decimal number
-to specify the length of the printed symbol in current \bs{\tt noteskip}s; the
-default is 1. Thus {\tt oT0} represents {\it tr} with no wavy line.
-
-Once the ornament type has been specified, most of them can be raised
-or lowered from their default position by appending
-a signed integer to the command, representing the vertical offset
-in \bs{\tt internote}s. \NEW{2.4}. A second signed integer specifies a
-horizontal shift from default in notehead widths.
-
-The caesura and breath marks differ from the others in their default horizontal position,
-which is 0.5\bs{\tt noteskip} past the note.
-
-The {\tt og} segno has several special properties. It must be entered in the first (lowest)
-staff, but will appear above
-every staff. Its vertical position cannot be altered, but if appended by a number...unsigned
-if positive...all appearances will be shifted horizontally by that number of points. On the
-other hand, the {\tt oG} segno\NEW{2.71} has a smaller symbol than {\tt og},
-applies only to the note after which it is entered, and can be shifted just as a
-normal ornament.
-
- An ornament can be automatically repeated on a series of consecutive notes,
-provided the notes are all in the same voice and the same input block.
-To activate this feature, terminate
-the first ornament command with~{\tt:}~. Then every note in that voice will
-have the same ornament until a note is followed by the repeat terminator
-{\tt o:} .
-
-\subsubsection{Editorial accidentals}
-
- To place a small sharp, flat, natural, or question mark above the staff,
-after the affected note enter {\tt oe} followed by {\tt s, f, n} or {\tt ?}.
-\NEW{2.2} You may also put a question mark right after the accidental.
-
-\subsubsection{Slurs} \label{slurs}
-
- By default \PMX will use \MusiXTeX's built-in font-based slurs.
-But through user intervention it is possible to use either one of
-\NEW{2.4}two different types of postscript slurs. {\it Type K} slurs,
-developed by Stanislav Kneifl, are directly supported by \PMX and will
-be the focus of any future \PMX enhancements.
-They are globally activated with {\tt Ap} and several global
-defaults set with other options to the {\tt A} command as described in
-section~\ref{ApDirective}. If these are used, so will an alternate
-set of hairpins (see section~\ref{dynamics}).
-The other postscript slur option is Hiroaki Morimoto's {\it Type M} slurs.
-These
-are not directly supported by \PMXX, but are intended to be fully
-compatible with the default font-based slurs. To use them, one would
-use the in-line \TeX~command \bs\bs{\tt input musixpss}\bs~, and be sure
-{\it not} to enter {\tt Ap} . From \PMXX's standpoint they are no different
-from font-based slurs.
-
-There are some advanced options available only
-with Type K postscript slurs, and a few obsolete ones only with font-based.
-At this point the main
-difference in functionality between the two is that with postscript, \PMX
-provides support for
-true ties, which are shaped and positioned slightly differently from
-slurs. Future enhancements
-will probably only work with Type K postscript slurs. Some users do still
-prefer
-font-based, possibly because Type K postscript slurs are not visible in some
-DVI viewers.
-New users should experiment with the various types of slurs and decide for
-themselves.
-
- The normal commands for slurs are {\tt (} placed with a space
-before a note, and {\tt )} placed after. The command {\tt s} is equivalent to
-{\it both} of them (!), except that it always follows the affected note.
-With font-based slurs, {\tt t} is equivalent to {\tt s} but
-with several minor differences to be explained later. With postscript slurs,
-{\tt t} signals to use a true tie.
-The commands {\tt s} and {\tt t} are {\it toggles}, turning
-a slur or tie off if it's already on and starting one otherwise.
-
-A \NEW{2.5} slur or tie may end on a rest, but not start on one. The default
-ending height in this case will be the same as the starting height, and it
-may be tweaked as described below.
-
- The first character is optionally followed by
-a single-character ID code {\tt 0-9} or {\tt A-Z}, then by other
-options described below. ID codes are only needed if two or more slurs are
-open at the same time within one voice, such as when several chord
-notes are tied. Using ID codes in such cases tells \PMX which open slur to
-close. ID codes cannot be used with font-based {\tt t} slurs.
-
-The rules for finding the default direction and position of a slur
-are complex; many factors enter into defining visually pleasing values. But
-there's no need for gory details here; the result will usually satisfy, and if
-not, it can easily be tweaked. The default direction of curvature can be
-overridden with {\tt u} ({\bf u}pper), {\tt l} ({\bf l}ower),
-or equivalently {\tt d} ({\bf d}own).
-Starting or ending position can be shifted from its default by
-entering one or two explicitly signed numbers. The first, which must be
-an integer, represents the vertical shift in \bs{\tt internote}s; the second,
-which may be decimal, the horizontal offset in notehead widths. \NEW{2.71}Starting
-or ending
-position of a postscript slur or tie can be made to align with the end of the stem
-of an unbeamed note by using the option {\tt v}. No other options are permitted
-with {\tt sv}, but any desired position can be forced with the numeric options.
-
-The shape of the slur may be altered as well\NEW{2.1}. This paragraph
-deals with font-based slurs, for which the shapes may be less
-than fully satisfying due to fundamental limitations of \MusiXTeX.
-At the slur termination only, one or three
-more parameters may follow the ones just described. The first, a signed,
-nonzero
-integer, is a vertical adjustment to the mid-height of the slur in
-\bs{\tt internote}s. The next two, integers between 1 and 7 following a
-``{\tt :}", are alterations to the starting and ending slopes.
-These numbers are
-passed directly as arguments of the \MusiXTeX{} macros \bs{\tt midslur}
-(if only
-one is given) or \bs{\tt curve} (if there are three).
-
-For \NEW{2.4}Type-K slurs,
-the shape may be changed locally by including {\tt f} in either the
-slur's starting or ending command to flatten it a bit, or {\tt h},
-{\tt H}, or {\tt HH} to
-increase its curvature and raise or lower its middle by increasing degrees.
-The default \NEW{2.5}curvature can be altered from normal
-with new suboptions
-to {\tt Ap} as described in section~\ref{ApDirective}. Local
-curvature tweaks will take precedence over the global default. A special
-option {\tt n} to the slur command can be used to locally restore the normal
-curvature if the default curvature has been globally changed.
-
-Another option peculiar to Type-K slurs and ties is to locally
-override the global
-setting for automatic height adjustment (to avoid tangencies with staff
-lines). The global defaults may be changed with the {\tt A} command as
-described in section~\ref{ApDirective}. To
-override the global setting for the current slur or tie only, use
-the option {\tt p} in the command that starts the slur or tie,
-followed by {\tt +} or {\tt -} (to turn adjustment
-on or off), followed by {\tt s} or {\tt t} (for slur or tie).
-
-A dotted \NEW{1.41} slur is activated by including the option {\tt b} (for
-{\bf b}roken) in the command that starts the slur.
-
-Slurs involving grace notes are specified within the command for the grace
-(see section~\ref{graces}).
-
-For font-based slurs, the unique aspect of {\tt t} slurs is that if one
-starts or ends on the same
-note as an {\tt s} slur, the former will be moved away from the notehead to
-avoid a collision. {\it This only works if neither slur has an ID code.}
-This feature is only retained for backward compatibility.
-
-The available options should cover most circumstances, but if not,
-the \TeX\ macros \bs{\tt isu} etc, defined in {\tt pmx.tex}, can be entered
-as in-line \TeX\ commands (see section~\ref{LitTeX}).
-These commands have three arguments:
-slur number, vertical position (pitch, or offset from bottom staff line in
-\bs{\tt internote}s), and horizontal offset in
-notehead widths. When using these commands, you must choose an explicit
-slur number. Use one large enough to avoid
-conflicts with \PMXX 's automatic slurs, which are numbered from \NEW{2.4}
-0 upward.
-Also, remember that non-spacing in-line \TeX\ commands such as this one must
-come {\it before} the note they apply to, in contrast with the \PMX
-slur toggles which may come after.
-
-\subsubsection{Ties}
-
-With font-based slurs, in \PMX the only difference between ties and slurs
-is the default positioning.
-Ordinary slur ends are centered horizontally above or below the notehead,
-while tie ends are shifted inboard and closer to the midheight of the
-notehead. To specify a font-based tie in \PMXX, use a slur command and
-include the option {\tt t}
-in it, somewhere after the initial {\tt ( , ) , s } or {\tt t} .
-
-\NEW{2.4} With postscript slurs, ties---indicated with {\tt t} or
-{\tt st}---will have similar differences
-in endpoint positions,
-but in addition will have a different shape (somewhat flatter) and will
-always end at the same height they start. There is also an option to the
-{\tt A} command that affects ties across line breaks
-(see section~\ref{ApDirective}). By default the
-second part of such ties will be drawn as a complete tie symbol. However,
-if you want them to be a {\it half tie}---a special shape that is horizontal
-at its left end---use the command {\tt Ap+h} at the start of the file.
-
-In addition to the notation options just mentioned, ties may also be
-%indicated with the character {\tt\{} before the starting note and {\tt\}} after
-indicated with the character {\tt$\{$} before the starting note and {\tt$\}$} after
-the ending note\NEW{2.6}.
-
-\subsubsection{Line-breaking Type K slurs and ties} \NEW{2.5} \label{lbslurs}
-
-No special action is required if a slur or tie happens to cross a line break.
-However, some special, manual adjustments are available for Type K postscript
-slurs in these cases. The global option {\tt Apl} by itself adjusts several
-parameters as described in section~\ref{ApDirective}. Further, if {\tt Apl}
-has been issued,
-then case-by-case adjustments for line-breaking Type K slurs and ties are
-available as suboptions to the
-slur commands. To tweak the horizontal and vertical positions of the end of
-the first segment, enter the suboption {\tt s} in the command that starts
-the line-breaking slur or tie, followed by two signed numbers representing
-respectively the vertical shift
-in \bs{\tt internote}s and the the horizontal shift in notehead widths. To
-tweak the position of the start of the second segment, follow the above by
-another {\tt s} and two more signed numbers. The usual curvature options
-{\tt h}, {\tt H}, {\tt HH}, and {\tt f}, if included in
-the starting command for a line-breaking slur, will apply only to the first
-segment, and if in the closing command, to the second segment. If the tweaked
-slur or tie does not happen to come at a linebreak,
-the special position tweaks (after {\tt s} ) will all be ignored, and the
-curvature tweaks on the closing note will take precedence as they normally
-would.
-
-\subsubsection{Dynamics} \label{dynamics}
-
-\NEW{2.3}
-After the affected note, enter {\tt D} followed by one of the
-following {\tt pppp, ppp, pp, p, ffff, fff, ff, f, mf, mp, fp, sfz,
-"[{\it any text}]", >,}
-or {\tt <} . The last two are diminuendo and crescendo, and they are toggles,
-i.e., the first one of each starts the symbol and the next one ends it.
-The one surrounded by \NEW{2.76} double quotes is an arbitrary text string
-no longer than 64 characters, which may include embedded \TeX.
-By default a single note dynamic mark is horizontally centered below the note
-to which it is assigned, or below the staff, whichever is lower. Dim. or cresc.
-follow the obvious extension of that rule to the starting and ending note taken
-together. Examples of the default positions of dynamic marks are contained
-in the file {\tt dyntest.pmx}. However, with any dynamic mark you can also
-enter position shifts, vertical as a signed integer representing
-the number of {\tt \bs internote}s, then (if desired) horizontal as a signed
-number representing a
-number of notehead widths. There can only be one of the letter-groups on each
-note, but there may also be {\tt D<} and/or {\tt D>} on the same note. These must be
-entered as separate {\tt D...} commands, and must come in the right order, e.g.,
-
-\medskip
-[{\it some notes}] {\tt D<} [{\it more notes}] {\tt D< Dffff D>}
-[{\it more notes}] {\tt D>}
-\medskip
-
-Hairpins \NEW{2.7} may span from one input block to the next.
-
-There are numerous context-sensistive automagic adjustments to the positions
-of all the dynamic symbols. If you don't like the result you can adjust the
-position as just described.
-
-Due to \MusiXTeX's limitations,
-there are some restrictions on hairpins when using font-based slurs.
-They cannot be longer than 68mm, they cannot wrap over a system break, and they
-must be horizontal. Finally,
-only certain specific lengths are available so some horizontal position
-tweaking may be needed, especially when letter-groups and
-hairpins are combined.
-These restrictions are all removed when using postscript slurs.
-
-\subsubsection{Beams} \label{beams}
-
- For the most part, \PMX automatically takes care of the details of
-defining beams: selecting which notes are beamed together, and setting
-the angle, direction, height, and {\it multiplicity} (the number of bars
-along the top or bottom). However, one may define a {\it forced}
-beam---which overrides \PMXX 's selection of which notes are beamed
-together---by
-surrounding the included notes with {\tt [} and {\tt ]}, being certain to
-separate these commands and their options from the included note commands with
-spaces. One may also wish to edit certain features of a beam even when
-\PMXX 's grouping decision
-would otherwise be acceptable; here again the beamed notes must be set
-apart with {\tt [} and {\tt ]}.
-
-The {\tt [} may optionally be followed
-immediately by several options.
-
-{\tt u} or {\tt l} will override
-\PMXX 's selection of the direction of the beam, while {\tt f} will
-{\bf f}lip it from whatever \PMX decided.
-
-{\tt j} {\bf j}oins the beam
-grouping to a prior one started in another system (see below).
-
-One, two, or three consecutive integers, each preceded with {\tt +}
-or {\tt -} , will affect the beam's appearance. The first integer is
-an adjustment to the starting level (in \bs{\tt internote}s) and may range
-from -30 to 30; the second is a slope adjustment with the same
-permissible range; the third is an alternate adjustment to the
-starting level (in beam thicknesses) and may only range from 1 to 3,
-always acting to increase the stem length. The latter may be used to
-align consecutive horizontal beams which have internal multiplicity
-changes. For example, in 2/4 time, {\tt c84~c1~c~c~c~c8} would cause two
-beams but the
-first one would be lower than the second; {\tt [+0+0+1~c84~c1~c~]~c~c~c8}
-would align the tops of the beams with each other. Due to the
-complexity of \PMXX 's beam analysis procedures, these editing commands
-may sometimes produce unexpected results, and some iteration may be
-required to get exactly what you want. For example,
-{\tt [+0+0+3~cd8~c3~c6~c~]~c~c~c3~cd8}
-will not produce two aligned beams as desired, because
-when \PMX analyzes the first beam, it automatically raises the starting
-level a bit for another reason, namely, to avoid too short a stem on
-the 64th notes at the end of that beam. In this case,
-the user could counteract \PMXX 's internal adjustment by using
-{\tt [-1+0+3~cd8~c3~c6~c~]~c~c~c3~cd8}.
-
-The option {\tt h} forces the beam to be {\bf h}orizontal.
-
-The character {\tt m} followed by a digit 1-4 forces the {\bf m}ultiplicity
-of the beam, the number of stem-joining bars.
-
- By default, xtuplets are set apart with their own beam. To beam
-an xtuplet together with other non-xtuplets, just include it with the
-other notes in a forced beam.
-
- Rests may also be included within forced beams, provided they are
-shorter than quarter rests, and of course that they come {\it between} the first
-and last notes under the beam.
-
-It's \NEW{2.5} now easy to define a repeating forced beam pattern.
-If the option {\tt :}~(colon) is included in the starting command {\tt [}~for
-a forced beam, then after you end the beam, more beams of the same duration
-will be forced in
-that voice, until stopped. They will be stopped at either the next regular
-forced beam, or the end of the input block for that voice, whichever comes
-first.
-
- Some users may wish to define beamed groupings with subgroups
-joined by a single beam. The command {\tt ][}, standing alone between two
-note commands in a forced beam, causes the multiplicity to decrease to
-unity and immediately increase to its natural value for the next note.
-For example, {\tt [~c14~c~c~c~][~c~c~c~c~]} will generate two doubly-beamed
-groups connected by a single beam.
-
-Related \NEW{2.3} to this is a {\it single-slope beam group}, which is the
-same as described
-in the previous paragraph except that the beam disappears between segments.
-Segments should be separated by {\tt ]-[} standing alone between two notes
-inside the forced beam.
-
- If there are large jumps in pitch between notes in a beam within
-a single staff, as a matter of taste you may wish
-to start the beam for example as an upper one and end it as a
-lower. \PMX will never do this automatically, but you can accomplish
-it by forcing the beam with appropriately modified up/down-ness, starting level,
-and slope. If you use this technique, there are two details to note: (1)~if
-there are any intermediate multiplicity changes, they will only be handled
-properly if the initially specified up-down-ness is consistent with the
-vertical position
-of the intermediate notes involved, and (2)~for proper appearance in crowded
-scores you may wish
-to insert hardspace or shifts as described in
-section~\ref{hardspace}. Some examples are included in {\tt most.pmx}.
-
- Beams cannot normally jump staves. But if that is desired, start
-the beam normally in one staff, and terminate the part of the beam in that
-staff with {\tt ...~]j} . Then resume the beam in the new, adjacent staff with
-{\tt [j~...} . For staff-jumping beams, it's OK to have just a single note
-inside one or both of the members. Some adjustment of the beam height and
-slope may be required. Sometimes the ending section's up-downness must be
-overridden; you will know this is so if the ending is shifted horizontally
-from its proper position by one notehead width.
-Each voice must still have the right number
-of beats, so you will probably need to fill time with blank rests after the
-first member of the beam in one staff and before the second member in the other.
-There can still only be one staff-jumping beam open at a time.
-
- \label{Jumps}In most cases \NEW{2.91} it is possible within \PMX to set a staff-jumping
-beam that changes multiplicity right at the jump. The only cases where the author
-hasn't yet found a way are where multiplicity increases and the beam runs
-at a height between the notes in the two staves. In that case some inline \TeX\
-is needed. The example below covers all possible combinations of jump direction;
-whether the beam runs below all, between, or above all of the notes; and
-whether multiplicity stays the same, increases, or decreases at the jump.
-
-~
-\begin{verbatim}
-h4.4i
-w5.5i
-\\let\nbbut\nbbu\let\nbblt\nbbl\
-% Fixed mult, up jump
-[ g83 g ]j rb4 | [u g83 g ]j rb4 | [u+14 g83 g ]j rb4 /
-rb4 [j f84 f ] | rb4 [j f84 f ] | rb4 [jl f84 f ] /
-% down jump
-rb4 [j g83 g ] | rb4 [j g83 g ] | rb4 [ju g83 g ] /
-[ f84 f ]j rb4 | [l f84 f ]j rb4 | [l-14 f84 f ]j rb4 /
-L2
-% Bar 7 Incr mult, up jump
-[ g83 g ]j rb4 | [l+14 g83 g ]j rb4 /
-rb4 [j f14 f f8 ] | rb4 \def\nbbu#1{\nbbl{#1}\let\nbbu\nbbut}\ [ju f14 f f8 ] /
-[u+14 g83 g ]j rb4 /
-rb4 [jl f14 f f8 ] /
-% down jump
-rb4 [j g13 g g8 ] | rb4 \def\nbbl#1{\nbbu{#1}\let\nbbl\nbblt}\ [j g13 g g8 ] /
-[ f84 f ]j rb4 | [u-14 f84 f ]j rb4 /
-rb4 [ju g13 g g8 ] /
-[l-14 f84 f ]j rb4 /
-L3
-% Bar 13 Decrease mult, up jump
-[ g83 g1 g1 ]j rb4 | [u g83 g1 g1 ]j rb4 | [u+14 g83 g1 g1 ]j rb4 /
-rb4 [j f84 f ] | rb4 [j f84 f ] | rb4 [jl f84 f ] /
-% down jump
-rb4 [j g83 g ] | rb4 [j g83 g ] | rb4 [ju g83 g ] /
-[ f84 f1 f ]j rb4 | [l f84 f1 f ]j rb4 | [l-14 f84 f1 f ]j rb4 /
-\end{verbatim}
-
-\includegraphics[scale=1.0]{sjb291.eps}
-
-~
-
-\subsubsection{Clefs}
-
- A clef change is signaled by {\tt C} followed by a single lower-case
-letter or digit using the code specified in
-section~\ref{ClefCodes}. If clefs come out at the wrong
-vertical position, refer to the note in {\tt pmx.tex}.
-
-\subsubsection{Arpeggios}
-
-To set an arpeggio (a vertical wavy line), simply place the \bs {\tt ?}
-after the commands for both the first and last note. To shift the symbol to
-the left by {\it x} notehead widths, use the option {\tt -}[{\it x}]\NEW{2.6} .
-
-\subsubsection{Lyrics}\NEW{2.73}\label{lyrics}
-
-Lyrics rely on the underlying \TeX\ command {\tt\bs pmxlyr} developed by Dirk
-Laurie, which is defined in {\tt pmx.tex}. It in turn makes use of the macro
-package {\tt musixlyr.tex} developed by Rainer Dunker. So to enable lyrics within \PMXX,
-you will need to
-ensure that {\tt musixlyr.tex} is installed somewhere in your system where your
-\TeX\ processor can find it.
-
-Lyrics can be inserted by enclosing them in double-quotes inside the music line
-just before the first note to which they apply, as in
-{\tt "us-ing lyr---ics now\_\hglue1pt\_ "}. Once the first double quote is encountered, \PMX will
-ensure that {\tt musixflx.tex} is input into the \TeX~file.
-
-Lyrics for several notes can be defined in one go.
-The lyrics in each input string demand a specific number of notes, depending on
-the number of syllables, hyphens, and underscores. If there are not enough lyrics,
-question marks will appear; if too many, the excess syllables will not appear.
-
-The rules for aligning lyrics properly with notes are as follows. Words are
-separated by whitespace, with any number of spaces counting as one. Syllables
-within a word that require just one note each are separated by a single hyphen. There are
-two ways to extend a syllable over two or more notes. If it is the last syllable in
-a word (like {\tt "now\_\hglue1pt\_ "}), follow it with consecutive underscores, one for each extra
-note, and finally a space. It will be printed with a continuous underscore.
-To extend a syllable within a word (like {\tt "lyr---ics"}), insert one extra hyphen
-(with no spaces) for each
-extra note, and it will be printed with some number of hyphens filling the proper
-space between syllables. Conversely, a tilde ({\tt \char126}) between two words
-(with no spaces) prints a space between them while assigning the last syllable of the
-first and the first syllable of the second to a single note\footnote{This is just an
-example of using a standard \TeX\ feature within lyrics.}. So in the end, in a voice
-with lyrics, every note must be associated with a syllable, its extension, or two
-syllables joined with a tilde.
-
-Although underscores within a word or consecutive hyphens at the end may not crash the
-code, they are not recommended for any foreseen useful purpose.
-
-Accented characters can be included in lyrics or elsewhere in several different ways. Here
-we provide examples for just one of those methods, one which uses special \TeX~commands.
-The following \PMX input contains most of the available accented characters and
-leads to the example pictured below.
-
-\begin{verbatim}
-"\'o \`o \^o \"o \~o \=o \.o \u{o} \v{o} \H{o} \t{oo}"@b+4
-c44 d e f g a b c c- d e r /
-
-"\c{o} \d{o} \b{o} {\oe} {\OE} {\ae} {\AE} {\aa} {\AA} {\o} {\O} {\l} {\L} {\ss}"
-c44 d e f g a b c c- d e8 f g a /
-\end{verbatim}
-
-\includegraphics[scale=1.0]{accents.eps}
-
-By default, lyrics will be placed below the staff where they are entered, half way between that
-and the next lower staff. You may want to
-alter the vertical position of a lyrics line, especially if both voices in
-a staff have lyrics. This is accomplished with the opfion {\tt @}, immediately
-following the closing quote of the
-lyrics string with no space. That must be followed by either {\tt a} or {\tt b} for
-{\bf a}bove or {\bf b}elow the staff, then a signed integer for the number of
-\bs{\tt internote}s above or below the default height. This command is "sticky"; it
-will remain in force for later lyrics in the same voice until altered.
-
-It may also be necessary to allow extra vertical space where the lyrics are positioned.
-There is no \PMX command for this, but type 2 inline \TeX~can be used to insert extra
-vertical space above any instrument. For example, if the voice is in instrument \#2 and
-lyrics are below that staff,
-\bs\bs{\tt interinstrument=0\bs internote\bs setinterinstrument1\{8\bs internote\}}\bs~ will
-add \newline 8 \bs{\tt internote}s in the space for the lyrics.
-
-Present limitations allow lyrics at upper and lower voices on the bottom two
-staves of instruments 1 to 4. Elsewhere they are quietly ignored.
-
-Most scores with lyrics will benefit from the type 2 command \bs\bs{\tt sepbarrules}\bs, which
-stops bar lines from crossing through the vertical space between instruments.
-
-The notation {\tt "us-ing lyr---ics now\_\hglue1pt\_ "} is actually shorthand for the inline \TeX\
-string {\tt\bs pmxlyr\{us-ing lyr---ics now\_\hglue1pt\_ \}\bs}. All the rules given in
-section~\ref{LitTeX}~for
-Type~1 \TeX\ strings apply. To ensure that the length of all the Type 1 \TeX\
-strings belonging to a particular note combined does not exceed 128, remember
-to account for the nine characters in {\tt\bs pmxlyr\{\}}.
-
-The sample files {\tt prad5.pmx} and {\tt netsoos.pmx} illustrate many aspects of
-this direct method for entering lyrics in pure \PMX.
-
-This way of entering lyrics is a convenient interface to a subset of the
-facilities offered by {\tt musixlyr}. If more advanced features than those supported by
-{\tt\bs pmxlyr} are needed, the necessary {\tt musixlyr} macros could be manually
-entered as in-line \TeX\ directly into the .pmx file.
-
-If really advanced features are needed (such as having several verses of lyrics
-at once), most users would prefer the convenient interface to {\tt musixlyr} via
-the program {\bfx M-Tx} developed by Dirk Laurie. It is a pre-preprocessor which produces
-a {\tt .pmx} file containing the proper in-line \TeX\ commands. Its input language
-is similar (but not identical) to \PMX and includes most \PMX functionality as a subset.
-
-\subsection{Commands That Affect All Voices} \label{pmxcmds}
-
- Most commands that affect all the voices can only appear in the first
-(lowest) voice in the first (lowest) staff. Most such commands will
-automatically be
-transferred from score to parts when separate parts are generated by
-{\bfx scor2prt} (see section~\ref{scor2prt}).
-
-\subsubsection{Repeats, double bars, forced single bars} \label{Repeats}
-
- Repeat signs, double bars, and other bar-ending options are signaled
-by {\tt R} followed by
-{\tt l, r, lr, d, D, dl, b} or {\tt z} for
-{\bf l}eft repeat, {\bf r}ight repeat, {\bf l}eft-{\bf r}ight repeat,
-thin-thin {\bf d}ouble
-bar, thin-thick {\bf D}ouble bar, thin-thin {\bf d}ouble bar followed by
-{\bf l}eft repeat, single {\bf b}ar, or blank (invisible) barline\NEW{2.4}.
-Some of these have peculiarities.
-{\tt Rb} forces a single bar before a movement break (see section~\ref{movbrk}),
-where otherwise by default there is a double bar. That can be useful for
-example if you
-change the number of instruments (via an option in the movement-break command)
-in the middle of a movement. {\tt Rz} will cause a blank barline at the end
-of the current system, not necessarily the current bar. It can be used
-together with blind meter changes if you want to split a bar across a
-system break.
-If {\tt Rlr} falls at a system break, \PMX will automatically split it in
-two. The command {\tt Rdl} will likewise be split at a system break, but if
-not at a system break, the {\tt d} will be ignored.
-
-These commands must be in the
-first voice. It is best only to place them before the first note in an
-input block or if necessary after the last one; otherwise {\bfx scor2prt}
-may behave erratically.
-Using two separate {\tt R} commands in succession will cause
-unpredictable results.
-
-
-\subsubsection{Voltas (first and second endings)}
-
- Beginnings and ends of first and second endings are signaled by
-{\tt V} (for {\bfi v}{\it olta}).
-If it's the {\it end} of the volta, add the option {\tt b} (for
-{\bfi b}{\it ox}) or {\tt x} for {\it no bo}{\bfi x}.
-If it's the {\it start} of a volta, you can
-optionally enter any text at all that doesn't include a space and doesn't
-start with {\tt b} or {\tt x} (most
-commonly {\tt 1} or {\tt 2}). A period will automatically be
-appended to the text. If one volta ends and another starts right
-away, only a single {\tt V} is needed. Voltas must only be entered in the
-first voice. If separate parts are to be created from a score using
-{\bfx scor2prt}, then only a single volta is allowed in any given input
-block, and it must be at the beginning of the block.
-
-\subsubsection{Meter changes}\label{MeterChange}
-
- Meter can only be changed at the beginning of an input block.
-A {\bfi m}{\it eter change} command starts with the letter {\tt m}.
-There are two different ways to complete the command.
-
-{\bfx Method 1.} Enter 4 numbers
-with no intervening spaces. The four numbers are {\tt mtrnuml},
-{\tt mtrdenl}, {\tt mtrnmp}, {\tt mtrdnp} as defined in section~\ref{setupdata},
-with the following exceptions for this method only:
-You must use {\tt o} to represent
-the number 1; if you enter the digit {\tt 1} then \PMX will interpret that
-digit and the next as a 2-digit integer, between 10 and 19 inclusive.
-19 is the largest number that can be entered with this method. Note that
-{\tt mtrdenl=0} still represents a whole note.
-
-{\bfx Method 2.} \NEW{1.4} Enter the four numbers verbatim in the order just
-listed, but separate them with slashes ({\it /}).
-
-\subsubsection{Bar numbers}
-
- By default \PMX will place a boxed bar number at the start of every system
-except the first, above the clef at the beginning of the top staff. Numbers start at
-1 unless the first bar is a pickup included in the first input block, in which case
-the pickup bar is numbered 0. There is no way to change any of this except with
-inline \TeX.
-
- There are several ways to modify specific aspects of bar numbering
-when blank gaps have been inserted (see section~\ref{Gaps}), or to continue
-numbering rather than resetting to zero at a movement break
-(see section~\ref{movbrk}).
-
- If you wish to mover the bar number box at the start of any system,
-enter the type 1 inline \TeX~ command {\tt\bs bnrs[i][j]} anywhere in the
-system before the linebreak, where {\tt [i]} is the vertical shift in
-{\tt \bs internotes} and {\tt [j]} is the horizontal shift in notehead
-widths.
-
-\subsubsection{Fundamentals of key changes and transposition}\label{transpose}
-
-As explained in section~\ref{setupdata}, the intial key signature, also called
-the concert key, is specified in the setup data. In order to change the key
-signature or to transpose (i.e. make the printed notes appear at a different
-level than where
-they were entered), use the {\tt K} command. The syntax is {\tt K}[{\it n}][{\it k}]
-where {\it n} and {\it k} are explicitly signed digits respectively giving the distance
-to transpose in \bs{\tt internotes}, and
-new key signature. When transposing, you should always use relative accidentals, activated by
-the separate command {\tt Ar} at the start of the first input block (see section~\ref{ArDirective}).
-For example, to transpose a piece in C major to E major you would enter
-{\tt Ar~K+2+4} at the beginning of the first block.
-
-To transpose by a half step to a key with the same
-letter name, use {\tt K-0}[{\it k}] where as before {\it k} is an explicitly signed integer giving
-the new signature.
-(Using {\tt -0} instead of {\tt +0} eliminates confusion with a simple key
-change, see the next paragraph.)
-
-A simple key change can be signalled at the start of any input block. Use
-the command {\tt K} with {\it n}={\tt +0} as the first argument and the new key signature as the second.
-
-If the signature changes from sharps to flats
-or vice-versa, the default will be to include naturals in the first instance of the new
-signature. To suppress this behavior, use the \NEW{2.7}option {\tt n} right after {\tt K} .
-For example, to change from
-2 flats to 3 sharps and suppress the naturals, enter {\tt Kn+0+3} .
-
-The procedures described above will affect all instruments in the score. To change the key of or
-transpose just a single instrument, use Ki[{\it m}][{\it n}][{\it k}] when {\it m} is an unsigned integer
-representing the instrument number, and {\it n} and {\it k} are as just described.
-For more than one instrument, you may immediately repeat everything after {\tt K} (including {\tt i}).
-This may come either at start of score (right after setup) or at the beginning of any later input
-block. But if it's later, it must be preceded by a normal
-(full score) non-transposing key change command {\tt K+0}[{\it k}].
-For example, to change the keys of the second and third instruments to one sharp and two sharps
-respectively, use {\tt Ki2+0+1i3+0+2} .
-
-\subsubsection{More on transposition; ``transposing'' instruments and example files}
-
-In practice, two fundamentally different situations may arise: (1) (Full-score transposition) A
-score that has been entered in one key
-is to be completely transposed to a different key and pitch level, usually to force the range to fit
-different instruments than original; or (2) (``Transposing''
-instruments) some of the instruments require a part printed in a different key and at a different
-pitch level than it sounds.
-
-To transpose
-an entire score from the key specified in the setup data (Case TTA), simply use the
-{\tt K} command at the
-beginning of the first input block, as outlined in the previous section.
-
-It gets more complicated when some transposing instruments are involved,
-because there are three different possibilities:
-(Case~CTS)~The transposing instruments can be entered in concert key but printed
-transposed in the score and in separate parts created with {\bfx scor2prt} (see
-section~\ref{scor2prt});
-(Case~TTS)~They can be entered transposed and printed transposed in
-both the score and in parts;
-(Case~CCS)~They can be entered in concert key and printed in concert key in the score, but
-printed transposed in parts. Matters are further complicated if there is a later key
-change. Finally, if a MIDI file is to be produced, then in cases CTS and TTS an additional
-step involving the transpose option to the MIDI command {\tt I}
-(see section~\ref{MIDI}) must be taken.
-
-All of the required commands for all four of these cases are summarized in the table
-below. Following that, they are discussed a bit further and illustrated in
-four example files (named [Case]{\tt .pmx}) that are also included in the distribution.
-
-\font\smaller=cmr10
-{\smaller
-\begin{center}
- \begin{tabular}{cllcll}
- \hline
- Case & PMX entry & Printed score & MIDI pitch & Initial commands & Later key change \\
- \hline
- TTA & All B flat major, & All transposed up & transposed & {\tt K+2+2} & {\tt K+0-5} \\
- ~ & later key change & 2 steps to D & ~ & {\tt I} & ~ \\
- ~ & to B flat minor & major, later to D & ~ & ~ & ~ \\
- ~ & ~ & minor & ~ & ~ & ~ \\
- \hline
- CTS & All B flat major, & Trombone (1) & concert & {\tt Ki2+5+1i3+1+0} & {\tt K+0-5} \\
- ~ & later key change & concert; alto sax & ~ & {\tt IT+0-5-1} & {\tt Ki2+5-2i3+1-3} \\
- ~ & to B flat minor & (2) transposed up & ~ & ~ & ~ \\
- ~ & ~ & 5 to G, later G & ~ & ~ & ~ \\
- ~ & ~ & minor; clarinet (3) & ~ & ~ & ~ \\
- ~ & ~ & transposed up 1 to & ~ & ~ & ~ \\
- ~ & ~ & C, later C minor. & ~ & ~ & ~ \\
- \hline
- TTS & Trombone (1) & Trombone (1) & concert & {\tt Ki2+0+1i3+0+0} & {\tt K+0-5} \\
- ~ & concert; alto sax & concert; alto sax & ~ & {\tt IT+0-5-1} & {\tt Ki2+0-2i3+0-3} \\
- ~ & (2) transposed up & (2) transposed up & ~ & ~ & ~ \\
- ~ & 5 to G, later G & 5 to G, later G & ~ & ~ & ~ \\
- ~ & minor; clarinet (3) & minor; clarinet (3) & ~ & ~ & ~ \\
- ~ & transposed up 1 to & transposed up 1 to & ~ & ~ & ~ \\
- ~ & C, later C minor. & C, later C minor. & ~ & ~ & ~ \\
- \hline
- CCS & All B flat major, & All B flat major, & concert & {\tt \%2K+5+2} & {\tt K+0-5} \\
- ~ & later key change & later key change & ~ & {\tt \%3K+1+0} & ~ \\
- ~ & to B flat minor & to B flat minor; & ~ & ~ & ~ \\
- ~ & ~ & parts printed & ~ & ~ & ~ \\
- ~ & ~ & transposed & ~ & ~ & ~ \\
- \hline
- \end{tabular}
-\end{center}
-\medskip
-}
-
-{\bfx Case TTA: Full score transposition.}
-Here the entire score is to be transposed. In the setup data the signature is set to -2. Then
-the command {\tt K+2+2} says to transpose up 2 steps from the initial key of B flat to D, and put 2
-sharps in the key signature. No special attention is needed for the MIDI; it will come out in the
-transposed key. A later (full-score) key change requires another {\tt K} command, but now the
-transposition parameter is set to 0 and the new key is the concert key (I guarantee people will be
-confused by this). In the example the command for the signature change is {\tt K+0-5} , making the
-new concert key B flat minor with 5 flats, and, considering the initial transposition, causing the
-score and MIDI to come out in D minor with 2 flats.
-
-{\bfx Case CTS: Parts all entered in concert key, but some transposed in the printed score.}
-Here, to produce the
-printed score, parts are all entered in concert key, but instrument-wise transposition is used for
-the transposed instruments. In the example the alto sax part is entered in B flat but will be
-transposed up 5 steps in the printed score, to G major. This is brought about with {\tt Ki2+5+1} . Similar
-logic applies to the clarinet part, while the trombone part is not transposed. If a MIDI file is
-desired, it will come out in concert key, but only after using the transpose option in the MIDI
-command to undo the transpositions caused by the K command. In the example the command
-{\tt IT+0-5-1} does this, ``de''transposing each of the three instruments by the necessary number of
-steps. For a later key change, first the full-score {\tt K} command changes the concert key, then the
-instrument-wise {\tt Ki command}, with the same transpositions as the initial one, sets the new key
-signatures for the transposing instruments. Here the signatures to be entered are the transposed
-signatures, i.e., the ones that will be printed.
-
-{\bfx Case TTS: Parts entered in respective transposed keys, and printed in those keys in the score.}
-In this method of scoring transposing instruments, parts for transposing instruments
-are transposed ahead of time and
-entered exactly as they will appear in the score. So to produce the printed
-score this way, the pitch does not have to be changed, but the key signatures must be set
-separately for each transposing instrument using the {\tt Ki} command. In the example, the alto sax is
-entered in the key of G so the instrument-wise option for it is {\tt Ki2+0+1} . Note that {\tt +0} means no
-further transposition is needed before printing, because the part was transposed on entry. Once
-again, if a MIDI file is desired, it will come out in concert key, but just as in the previous case,
-you must use the transpose option in the MIDI command {\tt IT} to undo the transpositions caused
-by the {\tt K} command. For a later key change, the same full-score {\tt K} command as in the previous
-case is used to change the concert key. Then the instrument-wise {\tt Ki} command, now with {\tt +0} for
-the transpositions, sets the new key signatures for the transposing instruments, again using the
-transposed signatures.
-
-{\bfx Case CCS: Parts entered in concert key, printed in score in concert key, but transposed in
-separate printed parts.}
-This is the easiest case of all. Nothing special needs to be done for the score, but part-only,
-full-score transposition commands {\tt\%}[instrument number]{\tt K...} should be entered in the score. Then
-{\bfx scor2prt} will generate a transposed part. Of course if a MIDI is made from the score it will
-come out at concert pitch. For example, to transpose the alto sax part up 5 steps, initially to G
-major, near the top of the score file enter {\tt\%2K+5+1} . Later, where the concert key changes to B
-flat minor and the alto sax to G minor, enter simply {\tt K+0-5}, making the new concert key B flat
-minor with 5 flats. When {\bfx scor2prt} is invoked to make separate parts, this will be transferred
-verbatim into all parts, and then \PMX will internally adjust the signature for each transposed part
-as required.
-
-{\bfx Making separate parts.}
-In all of the cases discussed, if the patterns of commands in the table are followed, then
-separate parts can be made as usual using {\bfx scor2prt}. They will
-automatically come out transposed as desired.
-
-\medskip
-%\pagebreak
-{\bfx Texts of the transposition sample files:}
-% Note: when editing is done, figure out how to make scripts size work without page break.
-\begin{scriptsize}
-%\begin{tiny}
-\begin{multicols}{4}
-\begin{verbatim}
-%TTA.pmx
-3 2 4 4 4 4 0 -2
-1 1 20 .13
-Trombone II+III
-Trombone I
-bbb
-.\bs
-Tt
-TTA
-Apr
-I
-K+2+2
-b42 d f b t b t gf df b /
-b42 d f b t b t gf df b /
-b42 d f b t b t gf df b /
-K+0-5
-b42 c d e f gs as b /
-b42 c d e f gs as b /
-b42 c d e f gs as b /
-
-
-
-%CTS.pmx
-3 3 4 4 4 4 0 -2
-1 1 20 .1
-Trombone
-Alto Sax
-Clarinet
-btt
-.\
-Tt
-CTS
-Apr
-Ki2+5+1i3+1+0
-IT+0-5-1
-b42 d f b t b t gf df b /
-b43 d f b t b t gf df b /
-b44 d f b t b t gf df b /
-K+0-5
-Ki2+5-2i3+1-3
-b42 c d e f gs as b /
-b43 c d e f gs as b /
-b44 c d e f gs as b /
-
-%TTS.pmx
-3 3 4 4 4 4 0 -2
-1 1 20 .1
-Trombone
-Alto Sax
-Clarinet
-btt
-.\
-Tt
-TTS
-Apr
-Ki2+0+1i3+0+0
-IT+0-5-1
-b42 d f b t b t gf df b /
-g44 b d g t g t ef bf g /
-c45 e g c t c t af ef c /
-K+0-5
-Ki2+0-2i3+0-3
-b42 c d e f gs as b /
-g44 a b c d es fs g /
-c45 d e f g as bs c /
-
-%CCS.pmx
-3 3 4 4 4 4 0 -2
-1 1 20 .1
-Trombone
-Alto Sax
-Clarinet
-btt
-.\
-Tt
-CCS
-Apr
-%2K+5+1
-%3K+1+0
-I
-b42 d f b t b t gf df b /
-b43 d f b t b t gf df b /
-b44 d f b t b t gf df b /
-K+0-5
-b42 c d e f gs as b /
-b43 c d e f gs as b /
-b44 c d e f gs as b /
-\end{verbatim}
-\end{multicols}
-\end{scriptsize}
-%\end{tiny}
-
-\subsubsection{Text}
-
- The commands {\tt h} or {\tt l}, when placed in the first
-column of an input line and followed by a blank or, for {\tt h} only, by
-a signed integer,
-stand for {\bfi h}{\it eader} and {\bfi l}{\it ower text}. They will put a
-text string
-above or below the {\it top} staff in the {\it first} bar of the block where
-they are entered. The text string must be on a line of its own,
-immediately following the command. The integer is a vertical shift in
-\bs{\tt internote}s.
-
- A {\it title block} with up to three elements can be defined at the
-beginning of the first input block. {\tt Tt} signals that the text
-{\it on the following line} is to be set as a {\bf t}itle for the whole piece,
-and it will be centered. {\tt Tc} similarly indicates a {\bf c}omposer's name,
-to be set below the title and right justified. {\tt Ti} likewise stands for
-an {\bf i}nstrument name, which will be set above the title, left-justified.
-The text for any of these commands can be split over two or more lines
-by including \bs\bs~at the location of the line break.
-
-{\tt Ti} will automatically be invoked by {\bfx scor2prt} when it generates
-parts from a score.
-
-Extra vertical space can be added between the title
-block and the top system by appending to {\tt Tt} a one- or two-digit
-number representing the space in \bs{\tt internote}s. This only works if
-{\tt Tt} is the {\it final} title block element entered.
-
-The {\tt D} command can be used to enter arbitrary text as described in
-section~\ref{dynamics}.
-
-Lyrics may be entered as described in section~\ref{lyrics}.\NEW{2.73}
-
-\subsubsection{Page numbering, centered header text}
-
- If you want pages to be numbered at the top left or right, place
-the command {\tt P} anywhere within the \PMX code that represents the first
-page to be numbered (usually the first or second page).
-{\tt P} can be followed optionally by the starting
-page number and/or by {\tt l} or {\tt r}, the latter overriding the default
-locations of odds on the right and evens on the left. \NEW{2.0}
-There is also a special option {\tt c} for {\bf c}entered header text.
-It must be the {\it last}
-option in the {\tt P} command. It will define text to be printed at the top of
-every page {\it after the first}. If a blank follows {\tt c}, the default
-header text will
-be the instrument name entered with the command {\tt Ti} . If any non-blank
-character except {\tt "} follows {\tt c}, the header text will start with that
-character and end at the next blank. If {\tt "} follows {\tt c}, the
-header text will be everything between that and the next {\tt "} (this
-permits headers containing spaces). The {\tt P} command and its options
-will be ignored when making parts from a score (since page numbering
-will usually be different in the score than in the parts), but page
-numbering (and centered headers) for parts can be still be initiated
-independently, for example with {\tt \%!P2} or {\tt \%1P2r} (see
-section~\ref{scor2prt}).
-
-\subsubsection{Overriding certain defaults, or
-getting the most from \PMXX}\label{Acommands}
-
-Understanding this section is important if you want to get the most out
-of \PMXX. In many
-cases the switches described here represent subtle but significant
-improvements that have come along since \PMX was initially developed. Rather
-than changing the defaults, they are treated as optional in order not to
-upset the layout of older scores. For example, virtually every new score I
-create begins with at least {\tt Abple}.
-
-As you may have guessed, it is the command {\tt A} that can be used to
-override a grab-bag of default settings. The available options affect a
-wide range of \PMX features: sizes
-and interpretation of accidentals,
-dot positions, space before the first note of every bar, space between staves,
-slur package selection, vertical positioning of Type K postscript
-slurs, line-breaking Type-K slurs, curvature of Type-K slurs,
-naming of parts, vertical positioning of rests in 2-voice staves\NEW{2.6},
-brackets for non-beamed xtuplets, and inputting so-called
-{\it normal include} files.
-
-{\bf Size of Accidentals.}
-{\tt b} makes all accidentals
-{\bf b}ig, {\tt s} makes them all {\bf s}mall. By default, big ones are used
-unless unaltered spacing doesn't provide enough space. Thus the default
-behavior may cause a mixture of big and small accidentals, and in fact is not
-recommended.
-
-{\bf Relative accidentals.}\label{ArDirective}
-If transposing, then the {\bf r}elative accidental convention must be used,
-indicated by {\tt r}. This changes the way you enter accidentals. With
-relative accidentals, the note options {\tt s}, {\tt f}, {\tt n} take on
-unconventional meanings, now respectively signaling that a note should be raised
-a half step, lowered a half step, or left alone {\it relative to the pitch
-it would have according to the key signature}. So for example, with {\tt Ar},
-in the key of B flat major the note command {\tt bs} would cause a B natural
-to be printed. By contrast, the default is
-the normal, absolute convention, where the indicated pitch alteration is
-relative to what the pitch would be if there were no key signature.
-
-{\bf Vertical position of dots.}
-If there are staves with two voices, {\tt d} causes dots in the
-lower one to appear on or {\it below} center, in contrast with the default.
-
-{\bf Gap at start of bar.}
-Use {\tt a} followed by a
-decimal number to override the default setting for \bs{\tt afterruleskip},
-the space before the first note in a bar. The default in \PMX is
-{\tt 1}\bs{\tt elemskip}, 20 percent smaller than \MusiXTeX{}'s.
-
-{\bf Space between staves within a system.}
-If \PMXX's vertical spacing between staves within a system is not pleasing, use {\tt I} or
-{\tt i} , followed by a decimal number, to apply a scale factor to
-\bs{\tt interstaff} . {\tt I}
-affects all pages, {\tt i} only the current one. Shrinking the space between
-staves within each system will cause the space between systems to increase, and
-conversely. These options have no effect if there is only one staff per system.
-
-{\bf Equal space between systems.}
-\label{AeDirective}\MusiXTeX~normally draws a virtual box around each system
-and inserts equal vertical space between boxes. \NEW{2.3}
-When objects protrude above the top staff in a system or
-below the bottom one, this can lead to unequal spacing between the top staff
-line in one system and the next. If you prefer that the vertical spacing
-between the staves of consecutive systems be constant for the whole page,
-use the {\tt e} option of the {\tt A} command. One side benefit of {\tt Ae}
-is that it will prevent systems from spilling over onto extra pages,
-regardless of how many systems are put on the page. When using this option,
-you may occasionally want to force more vertical space between certain systems.
-There is a \TeX~macro
-{\tt \bs spread} that can be inserted anywhere in the system before the
-desired wider gap. It has one argument, the desired extra space in
-{\tt\bs internote}s.
-
-{\bf Stop grouping systems at top in sparse pages.}
-Another \NEW{2.4}\ command affecting vertical spacing is the {\tt v}
-option of the {\tt A} command (for
-{\bf v}ertical). \PMX normally spreads staves
-vertically over a full page, unless the white space becomes excessive,
-in which case it groups all staves near the top of the page. Entering
-{\tt Av} will suppress this grouping near the top, and ensure that
-systems will always be spread vertically regardless of how much white
-space is left. It is a toggle; the second time it is issued, the
-behavior reverts to the default.
-
-{\bf Add extra vertical space before and/or page eject (last resort)}\NEW{2.8}
-As a last resort in getting the right spacing at the top or bottom of a page,
-the option {\tt V} will insert a vertical skip of the specified number of
-{\tt \bs Internote}s before and after the next page eject. It must be followed by
-{\tt +} or {\tt -}, then a number, then another {\tt +} or {\tt -} and number.
-
-{\bf Make some staves smaller.}
-The {\tt S}
-option to the {\tt A} command\NEW{2.7} allows you to specify a
-different size for selected staves and their notes compared to the
-global value set in the setup data. It is followed by exactly {\tt noinst}
-characters, one for each instrument, selected from
-{\tt 0}, {\tt -}, {\tt s}, or {\tt t} for
-normal, small, small, or tiny sizes respectively.
-
-{\bf Postscript slurs.}
-The \label{ApDirective}\NEW{2.4} command {\tt Ap} activates Type K
-{\bf p}ostscript slurs. To use this
-you must have {\tt musixps.tex} somewhere that \TeX~can find it, and
-{\tt psslurs.pro} somewhere that {\bfx dvips} can find it.
-If these files happen to be missing from your \TeX~distribution, they
-can be found
-\href{http://www.icking-music-archive.org/software/musixtex/musixtex.zip}
-{\underline{here}}.
-Several suboptions affecting Type K
-postscript slurs are described here and in the following paragraphs. First,
-by default these slurs and ties will not have their vertical positioning tweaked
-to avoid tangencies with staff lines. To activate this type of adjustment,
-use one of the suboptions {\tt +s} or {\tt +t} for
-slurs or ties respectively.
-(For example, {\tt Ap+s}). Be
-warned that this may alter the endpoint positions from what one would normally
-expect. To deactivate the adjustment, use the same command but with {\tt -} .
-Another suboption of {\tt Ap} affects line-breaking slurs. Normally a full tie
-is drawn at the start of the second line.
-However, the suboption {\tt Ap+h} causes the use of
-{\it{\bfi h}alfties} for the second part, which are flattened at their
-left-hand end, and require the
-special font {\tt mxsk} provided with the Type K postscript slur distribution.
-It may be cancelled with {\tt Ap-h} .
-
-The \NEW{2.5} suboption {\tt l} (e.g. {\tt Apl}~) activates some other tweaks
-and tweaking capabilities for line-breaking Type K slurs and ties. It
-automatically tweaks the
-horizontal positions of the end point of the first segment and the start of the
-second, uses a normal tie character for both segments of a tie, and enables
-further tweaking of the horizontal and vertical positions of internal endpoints
-on a case-by-case basis, using options in the initial slur or tie command (see
-section~\ref{lbslurs}, and the end of the fourth system in the example file
-{\tt barsant.pmx}).
-
-Another pair of \NEW{2.5}suboptions to {\tt Ap} affects the default curvature of
-Type-K postscript slurs. {\tt Ap+c} and {\tt Ap-c} will respectively increase or
-decrease the default curvature of all slurs to the next level in the sequence
-{\tt f, n, h, H, HH} . (Here {\tt n} stands for {\bf n}ormal.) Several levels
-may be traversed by repeating the suboption, e.g., {\tt Ap+c+c} increases the
-default curvature by two levels. If you try to
-go outside the allowable range, a warning will be issued, the curvature will be
-set to
-{\tt f} or {\tt HH} , and processing will continue. See section~\ref{slurs} for
-further details.
-
-If \NEW{2.5} your score contains Type K slurs and if you use a program such as
-{\bf dviselec} to extract single pages
-from a {\tt .dvi} file, you should use the suboption {\tt h} (e.g.
-{\tt Aph}~) . This will cause the header file {\tt psslurs.pro} to be written
-into the postscript file at the top of of every page.
-
-{\bf Vertical rest positioning in keyboard scores.}
-The\NEW{2.6} option {\tt AK} activates special rules for vertical positioning of rests in
-two-voice staves. By way of background, without this option, rests in two-voice
-staves have default positions based on a simple rule that is not
-context-sensitive: those in the lower voice (the one before {\tt//}) are
-4\bs{\tt internote}s below their single-voice default positions, and those in
-the upper line are 2\bs{\tt internote}s above the single-voice default. In contrast, the
-option {\tt AK} invokes a set of context-sensitive rules to set the default
-position. The baseline rule is to align the rest in a horizontal line with the
-next following note in the same bar. If there is no following note in the bar,
-then it is aligned with the next prior note. If there are simulataneous rests
-in both voices, the old rule is applied. When the {\tt AK} option is in force,
-it only affects places where there are two voices in a staff. It may be toggled
-on and off at the beginning of any input block, using just {\tt AK}. When the
-option is in effect, any user-defined tweaks on the height of a rest will
-supersede the option for that particular rest, i.e., the tweak will be applied
-relative to the single-voice default position. When {\tt AK} is in effect, the
-option {\tt L} in a rest command will cause the vertical position of that rest
-to be based on the {\it preceding} note, rather than the following one as is
-the default.
-
-{\bf Names of \PMX files for parts.}
-The \label{ANDirective}option {\tt N} to the {\tt A} command allows you to specify
-arbitrary names for the part files generated by
-{\bfx scor2prt}. Follow {\tt AN} with the part number and the new file base name in double
-quotes. Immediately follow this with any number of additional part numbers and
-alternate file base names in quotes. When part files are generated, {\tt .pmx} will be
-appended to the requested base name.
-
-{\bf Gapped bracket for nonbeamed xtuplets.}
-Non-beamed \label{ATDirective}\NEW{2.5}xtuplets will normally be printed with
-a bracket above or below, and
-a number above or below that. If you would like this number instead to be
-positioned within a gap in the bracket itself, enter {\tt AT} .You must have
-{\tt tuplet.tex} available to your \TeX~processor. If missing, this file
-can be found
-\href{http://www.icking-music-archive.org/software/musixtex/musixtex.zip}
-{\underline{here}}.
-
-{\bf ``Include'' file.}
-\PMX commands \NEW{2.5}in an external file can be included at the start of any input
-block by designating the file as a {\it normal include} file, using the
-command {\tt AR}[{\it filename}] . See section~\ref{ARDirective} for details.
-
-{\bf Positioning printed pages.}
-For \NEW{2.7} printing on {\bf l}etter or a{\bf 4} paper, the command {\tt Acl} or
-{\tt Ac4} will set the margins
-of the printed area so it will be properly centered with no further
-adjustments needed when running {\bfx dvips}.
-
-\subsubsection{Extra hardspace, horizontal shifts} \label{hardspace}
-
- Despite the author's best intentions to relieve you of the chore
-of adjusting {\it any} horizontal spacing by hand, there may be some occasions
-where you
-will want to do it. A command starting with {\tt X} initiates one of two
-types of horizontal adjustment: A {\it shift} moves one or more
-characters but does not affect any other spacing anywhere; a
-{\it hardspace} inserts a fixed amount of space at a particular time and
-affects the horizontal positions of everything in all staves in the system.
-If the command includes {\tt S}, it is a {\bfi s}{\it ingle} shift and affects
-only the next note or rest. If it includes a {\tt :} it either starts or
-terminates a {\it group} shift.
-All {\tt X} commands except group shift terminations
-must include a decimal number for the size of the offset in notehead widths.
-If the number is immediately followed by
-{\tt p}, then the number represents points, otherwise, notehead widths.
-If there is no such number but there is a {\tt :} the command
-signals a group shift termination.
-Group-shift commands must occur in
-start/terminate pairs, and group shifts cannot extend across a bar line.
-
-An {\tt X} command containing neither {\tt S} nor {\tt :} is
-automatically a hardspace.
-
-Because horizontal spacing in parts will usually differ from that in the
-score, by default the hardspace command will {\it not} be copied into parts
-by {\bfx scor2prt}; however the shift commands will be copied.
-These behaviors can be overridden using the methods to be described in
-section~\ref{scor2prt}, Alternatively, \NEW{1.42} to help keep \PMX score
-files neat
-and readable, the character {\tt B} can be used within the {\tt X} command
-to signify that it applies to {\bf b}oth score and part, or {\tt P} for
-{\bf p}art only.
-
-\subsubsection{Minimum spacing between notes in crowded systems}
-
- \PMX does some special, complex analysis to adjust horizontal spacing
-in crowded systems. By default, the minimum space between consecutive
-noteheads is 0.3 notehead widths. In very special situations you may want to
-change 0.3 to some other fraction. To do so, enter {\tt W. }(decimal point is required)
- followed by {\tt 1}-{\tt 9} to represent the number
-of tenths of a notehead width to be used as the minimum spacing. Use of this option
-is demonstrated in the example file {\tt barsant.pmx}.
-
-\subsubsection{Page size}
-
- The default page size is 740 by 524 pt (10.3 by 7.3 in). To change
-the height or width, use the special commands {\tt h}[{\it n}][{\it u}] or
-{\tt w}[{\it n}][{\it u}] at
-the beginning of the first input block. Here {\it n} is a decimal number
-for the new dimension and {\it u} defines the units; {\tt i} for inches, {\tt m} for
-millimeters, and {\tt p} or nothing for points. This command can be used
-together with {\tt \%\%} or {\tt \%!}
-(see section~\ref{scor2prt}) to give the parts made by
-{\bfx scor2prt} different page sizes than the parent score.
-
-\subsubsection{Line, page, and movement breaks} \label{movbrk}
-
- It is possible to force line, page, or movement breaks anywhere.
-For a line break, just enter {\tt L}[{\it n}] at
-the start of an input block (in the first voice only), and the {\it n}-th
-system will start there. To start page {\it m} at line {\it n}, enter
-{\tt L}[{\it n}]{\tt P}[{\it m}]. You can't force a page break without
-first forcing a line break.
-
- To force a movement break, you must first force a line break as above,
-then enter {\tt M}. If a page break also occurs here, the {\tt P} must precede
-the {\tt M}. Options following {\tt M} are {\tt +}[{\it integer}] to insert
-vertical space in \bs{\tt internote}s before the break,
-{\tt i}[{\it decimal number}] to reset the first-line indentation as a fraction
-of the line width, and {\tt c}\NEW{1.41} to {\bf c}ontinue bar numbering rather
-than resetting the bar number to 0 (which is the default). \NEW{1.4}Also, to
-change the {\bf n}umber of instruments,
-enter {\tt n}[{\it integer}], then the number of each instrument in their new
-order, then a clef-designating character for each staff of each instrument.
-(An instrument's number is simply its position in the original sequence.)
-There can never be more than the original number of instruments. In this
-instance, \NEW{2.5}two-digit instrument numbers must be preceded with
-{\tt :} (colon). If you want to start with some number of instruments and
-later increase it, you'll need to insert
-a dummy page at the beginning with the full set of instruments, then start the
-second page with a movement break and decrease the number there.
-
-Another\NEW{1.4} option after {\tt M} is {\tt r+} or {\tt r-}, which either
-forces or
-suppresses {\bf r}eprinting the instrument names. The default is to print
-them if the number of instruments changes, but otherwise not.
-
- Immediately after a movement break, any desired meter changes,
-key changes, or text can be entered in the normal way.
-
-\subsubsection{Blank gaps} \label{Gaps}
-
-A blank gaps can be insterted in the middle or at the end of almost any system.
-The middle gap might be used to create a very short coda at the end of a
-system. The end gap leaves the system shorter than the others. Both types
-create a space that could be used for text comments.
-
-Both types of gapped systems are initiated by an option to an {\tt L} command at
-the beginning of the system in question. The syntax is
-{\tt L}[{\it n}]{\tt S}[{\it x}] where [{\it n}] is the system number,
-[{\it x}] is the fraction of the width of the system up to the beginning of the
-gap, and no brackets are to be entered. This must be soon followed by a normal
-{\tt L}[{\it n+1}] command to start the next line. With no intervening {\tt LC}
-command (see below), the system entered between the two {\tt L}'s will simply
-start at the left margin and be shortened to a length of {\it x} times the
-default.
-
-To create a middle gap, begin as above with {\tt L}[{\it n}]{\tt S}[{\it x}]
-followed by the material to the left of the gap. Then enter {\tt LC}[{\it y}]
-to insert a gap followed by another segment of music extending to the end of
-the system. Here {\it y} is the fraction of the total system length occupied
-by the second segment (so the fraction of the width occupied by the gap will
-be 1-{\it x}-{\it y} ). The second segment must soon be followed by
-{\tt L}[{\it n+1}] to start the next normal line. Obviously {\it x}+{\it y}
-must be less than 1.
-
-Normally a bar number will appear at the beginning of the second segment after
-a gap. To suppress this, use {\tt LC}[{\it y}]{\tt n} to start the second
-segment.
-
-If you want to insert text into the gap, one way is to use the text-dynamics
-command after the last note before the gap:
-{\tt D"}{\it text}{\tt "}[{\tt +},{\tt -}][{\it n}][{\tt +},{\tt -}][{\it m}] , where
-{\it n} and {\it m} are the vertical and horizontal offsets from default
-position. Some trial and error will always be needed here.
-
-In a system with a gap, the default barline at the end of one or two segments
-of music will be a single bar unless the following line starts a new movement
-in which case it will be a double bar. If you want to change either of these
-segment-ending barline symbols to something else, then after the last note in
-the lowest voice before the gap, you may use the normal ``repeat'' command,
-e.g. {\tt RD} for a thin-thick double bar, or with other options for different
-symbols as explained in \ref{Repeats}. If you use this option, it must be
-immediately followed by a space and {\tt /} to end the input block. So in
-particular if you have entered some text with the {\tt D} command, that must
-come before the {\tt R} command.
-
-Here is an example \PMX file incorporating the different types of gaps,
-followed by the output it produces:
-
-%\pagebreak
-\begin{verbatim}
-1 1 2 4 2 4 0 -1
-1 9 20 .1
-Harp
-t
-.\
-h7.4i
-Abe
-h
-Movement 1
-f44 g a g f g a g /
-L2S.4
-f44 g a g a g D"\bigfont Hello"+8+8 /
-LC.4
-f44 g a g a g /
-L3
-f44 g a g f g a g /
-L4Mi.1+11
-h
-Movement 2
-f44 g a g f g a g /
-f44 g a g oC+1+6 f g a g /
-L6S.4
-f44 g a g a g
- D"\bigfont D.C. al"+10+6 D"\bigfont Coda"+4+6 RD /
-LC.4n
-f44 oC+2 D"\bigfont Coda"+18-8 g a g a g /
-L7Mi.1+11
-h
-Movement 3
-f44 g a g f g a g /
-f44 g a g f g a g /
-L9S.8
-f44 g a g a g D"\BIgfont The end"+6+11 /
-\end{verbatim}
-
-\includegraphics[scale=.7]{gapxmpl.eps}
-
-\subsubsection{Fractional bars}
-
- Often if a piece starts with a pickup, the last bar may not be
-complete. In such cases, it is usually possible to
-place the last bar in an input block by itself, headed by a {\it blind} meter
-change.
-For example, if the meter had been 4/4 and there was a quarter note
-pickup, leaving 3 beats in the last bar, the last bar might be coded
-{\tt m3400 cd24 /}.
-
-\subsubsection{Stem direction of bass notes}
-
- By default \PMX makes stems go up for middle-line D's in bass
-clef, but down for notes on the middle line of all other clefs. If
-you want middle-line bass-clef notes also to have downward stems by default,
-enter a {\tt B} near the beginning of the file.
-
-\subsection{Putting {\TeX} Commands into the {\PMX}File } \label{LitTeX}
-
- There are five ways to enter \TeX ~commands into the {\tt .pmx} file.
-Four of
-them are {\it in-line}, where the commands are entered directly; the fifth
-is by way of an external file.
-
- The four categories of in-line \TeX~strings
-differ mainly in where they will appear in the {\tt .tex} file.
-(A \TeX\ {\it string} consists of a starting character, a sequence of
-\TeX~commands, and a terminal character).
-In the {\tt .pmx} file,
-only type 4 \TeX~strings may wrap over line breaks. All in-line \TeX\ must
-adhere to the 128-character limit per line, but each line can have more than
-one \TeX\ command.
-Type 1 begins with a single \bs\ and will appear in the {\tt .tex} file
-right before the \TeX
-~command for the next note or rest in the {\tt .pmx} file. Multiple
-type 1 strings associated with the same note or rest are allowed, although
-the total length may not exceed 128 characters (so there is generally no
-reason not to combine all \TeX\ commands for a single note into a single
-type 1 string).
-
-A type 2 string begins with \bs\bs\
-and will appear near the top of the {\tt .tex} file, right before
-\bs{\tt startmuflex}, regardless of where it appears in the {\tt .pmx} file.
-A type 3 string starts with \bs\bs\bs\ and will appear right before the
-{\tt\bs xbar}
-or {\tt \bs alaligne} at the beginning of the current input block, before the
-first barline of the block. While individual type 2 and 3 strings may not wrap
-over line breaks in the {\tt .pmx} file, strings of like type on consecutive
-lines will appear together in the {\tt .tex} file.
-Types 1, 2, and 3 strings must end with \bs\ (backslash-space).
-This means that they may not contain
-the \TeX\ macro \bs\ (backslash-space). Finally, each type 2 or 3 string
-should be isolated on a line of its own, and should be started in column 1.
-
-Type four permits multiple
-lines of arbitrary text to be entered at the top of the {\tt .pmx} file;
-they will be transferred verbatim to the top of the {\tt .tex} file. Type
-four is initiated with {\tt ---} alone as the top line of the {\tt .pmx}
-file. Then follows any text on any number of lines, until the next line
-starting with {\tt ---} terminates the block to be transferred.
-
-The only other distinction among the types of in-line \TeX\ strings arises when
-{\bfx scor2prt} is used to make separate parts
-(see section~\ref{scor2prt}):
-types 2-4 will be copied into all parts, while type 1 only goes into its
-original part.
-
-If you should want to enter a type-1 (note-based) string longer than
-128 characters, you could use a series of type-2 or -3 strings to define
-a \TeX\ macro containing the desired commands.
-
- \PMX provides one further option for entering an unlimited set of
-\TeX ~commands
-just before \bs{\tt startmuflex}, and before any Type 2 in-line \TeX ~strings.
-Simply put the commands into a text file named [{\it basename}]{\tt .mod}
-in the texinput directory. It will then automatically be
-entered with an \bs{\tt input} command. This feature is retained mainly for
-backward compatibility; it has been essentially replaced by the various options
-for in-line \TeX ~strings.
-
-\subsection{Figured Bass}
-
- Figure commands are entered {\it after} their associated note commands.
-They only work in the first (lowest) voice, and in any one other voice\NEW{2.6}.
-Enter the characters as
-they would appear from top to bottom, and as you might pronounce them,
-e.g., {\tt 64} or {\tt 73}. Flats here are {\tt -} (minus), sharps are
-{\tt \#}, and
-naturals {\tt n}, {\it before} the number (if there is a number) (notice
-the characters are different here than in notes).
-So for example {\it sharp third} is {\tt \#3}, just a sharp is {\tt \#}, {\it six (over)
-flat five} is {\tt 6-5}, and {\it sharp six (over) 4} is {\tt \#64}.
-In addition to the symbols just described, the following special symbols
-are available: {\specfig 2}, {\specfig 4}, {\specfig 5}, {\specfig 6}, {\specfig 9} .
-\NEW{2.6}To use them, you must have the font
-\href{http://www.icking-music-archive.org/software/musixtex/add-ons/figbas.zip}{\underline{\tt cmrj}}
-in your \TeX~system, and then just put an {\tt s} after the number.
-
-The program
-positions all the figures for each system below the lowest staff of that
-system, with their tops aligned, and just low enough to clear the
-lowest beam, notehead, or stem that could interfere. If you would like to
-change the vertical alignment for the remainder of the staff starting at a
-figure after the first, \NEW{2.71}append {\tt v}[{\it n}], where {\it n} is an
-integer representing the vertical shift in \bs{\tt internote}s, which may
-have a minus sign.
-
-If you want a figure to
-align horizontally in the second tier, insert the placeholder figure
-{\tt\_} (underscore) before the one you want lowered. This is equivalent to
-lowering the figure stack by 4 \bs{\tt internote}s.
-\NEW{2.6}If you want to {\it raise} the entire stack by an integral number of
-\bs{\tt internote}s, append {\tt +} and the number. This can be combined with
-the placeholder figure {\tt\_} to provide full control over the vertical
-position of the stack.
-
- Sometimes you may need to enter a figure when there's no bass
-note sounding. To do this, just after the most recent bass note enter
-{\tt x}, followed by a two single digits (the first is a repeat count; the
-second a time value, i.e., {\tt 2,4,8,1,} or {\tt 3}), immediately followed by a figure symbol
-as defined in the previous paragraph. This will
-offset the figure from the associated note by the specified time
-value. For example, if the lowest voice contained {\tt c03 x3465}, there
-would be a whole-note c, and 3 quarter notes later a figure 65 below
-the staff.
-
- There is also a {\it continuation} command, a zero followed immediately
-by another \NEW{2.4}
-unsigned number. This produces a horizontal line under the bass note, starting
-just to the left and extending to the right by the given number of
-\bs{\tt noteskip}s. The height and length of the line are set by the current
-note's level and \bs{\tt noteskip} respectively. These \NEW{2.4} can be mixed in with
-other figures to produce vertical stacks. If another figure follows in the
-same command, use {\tt:} as a separator.
-If \bs{\tt noteskip} changes or a note drops
-below the starting level before the line ends, it is possible to trick
-\PMX by entering separate {\tt 0}[{\it n}] commands under each consecutive note; \PMX
-will automagically join them together at the same height
-(thanks to Werner Icking for this idea).
-
- If there are figured bass commands in a {\tt .pmx} file but
-you want them to be ignored, then enter the command {\tt F} at the
-beginning of the body of the file. This feature would most often be
-used in the form {\tt \%1F}
-(see section~\ref{scor2prt}), which makes a
-separate bass part with no figures.
-
- Figured bass commands will not be altered in any way under
-transposition. There is no universal set of interpretations of figured bass
-symbols, so no automatic transposition is possible.
-
-\subsection{Macros}
-
- A \PMX macro is a single command that stands literally for any
-any string of characters that may occur in the input file (sorry, no
-variables). It may be useful if you need to repeat the same string later.
-There is no practical length limit.
-
-To
-{\bfi r}{\it ecord} a macro, type {\tt MR}{\it n} where {\it n} is between
-1 and 20.
-Everything you then type will be processed normally as well as stored,
-until you enter the command {\tt M}. The next time you need to enter the same
-string, just type {\tt MP}{\it n} to {\bf p}lay back the macro.
-
-To just {\bf s}{\it ave} a macro without having \PMX process it as you
-enter it, start it with {\tt MS}{\it n}.
-
-Macros can be redefined at will. \PMX will print a warning whenever this
-occurs.
-
-If you use macros and want to make separate parts, some care is necessary.
-{\bfx Scor2prt} will only transfer {\tt MR} macros into the part where they
-originated, but will transfer {\tt MS} macros into all parts.
-
-\subsection{Include Files}\NEW{2.5}\label{ARDirective}
-{\it Include} files are separate text files
- containing arbitrary (but contextually appropriate) sequences of
- valid \PMX commands. By using the techniques described in this section,
- the commands in an include file can be inserted at any desired
- place in the virtual \PMX file that the code processes.
- They will always be syntax-checked.
-
-There are two types of include files, {\it global} and
- {\it normal}. There can only be one global include file and it must be named
- {\tt pmx.mod}. If activated, its contents will always be inserted right after
- the setup data.
- To activate it, two conditions must be met: (1) an environment variable
- {\tt PMXMODDIR} must be defined to contain a valid path, ending with {\tt /} or
- \bs~; (2) a file named {\tt pmx.mod} must be present in the directory so defined.
- If {\tt PMXMODDIR} is not set, or if it is defined but there is no file
- {\tt pmx.mod}, then processing will proceed as usual.
-
- Normal include files
- can have any name and do not require any environment variable to be set.
- They are activated by the PMX command {\tt AR[{\it filename}]} , placed in the
- .pmx file
- at the location where the included lines are to go. It will generally
- only make sense to place this command at the beginning of an input block.
- \PMX will first check
- for the file as pointed to by [{\it filename}], which may contain a complete
- or partial pathname preceding the actual file name. If [{\it filename}] is not
- found, then \PMX will look for {\tt \%PMXMODDIR[{\it filename}]}, i.e., it will check
- the directory defined by {\tt PMXMODDIR} if {\tt PMXMODDIR} has been set. However,
- it is not necessary to define {\tt PMXMODDIR} to use a
- normal include file. There may be any number of normal include files. The same
- file may be used multiple times. Include files cannot contain references to
- other include files via the {\tt AR} command; if you try to do that
- your computer will
- explode. The following information regarding all activated include
- files will be printed both to the screen and to the .pml file: notice of
- opening or closing, echo of the contents, error messages pertaining to syntax
- errors in the included \PMX commands, and an error message if \PMX cannot find
- a referenced normal include file. In the latter two cases \PMX will stop.
-
-\subsection{Batch Processing}
-
-Due \NEW{2.0} to the number of different programs that must be run in sequence
-to produce a printed sheet of music with the \MusiXTeX{} system, most users
-prefer to use a batch script to control the process. Since batch commands are
-platform-dependent we will not provide examples here, but will mention
-several \PMX features that can facilitate batch processing.
-
-First, whenever {\bfx pmxab} terminates due to a syntax
-error, the exit code is set to 1. There are various ways of detecting this
-with batch commands, then acting accordingly.
-\NEW{1.4} Second, {\bfx pmxab} always writes a file
-{\tt pmxaerr.dat} containing a single number: 0 if it exited normally,
-otherwise the line number in the {\tt .pmx} file where the syntax
-error was. With advanced batch programming techniques, this file can be
-opened and read, and if there was an input error, a text editor can be
-opened and the input point placed on the line with the error.
-
-There have been several requests to allow \PMX to keep running even
-after it detects an input error.
-This has not been done because in many cases any error messages after
-the first one would be meaningless, or worse, uncorrected errors could
-cause crashes. In any event, all the output from {\bfx pmxab} will be
-stored in the log file [{\it jobname}]{\tt.pml}.
-
-%\setcounter{secnumdepth}1
-\section{Making Parts from a Score} \label{scor2prt}
-
- Separate parts can be made by running {\bfx scor2prt} and entering the
-basename when prompted. The program will create {\tt noinst} separate
-{\tt .pmx} files, one for each instrument. By default the files will be named
-[{\it basename}][{\it n}]{\tt .pmx}, where [{\it n}]
-is the sequential position of the instrument. If desired, part file names can
-be customized with {\tt AN} as described in section~\ref{ANDirective}.
-
- In this section we describe how to control the layout of the
-parts separately from that of the score, but by using commands
-that are placed in the {\tt .pmx} file for the score. This eliminates the
-need for ever editing the {\tt .pmx} files for the parts separately. You
-can make all corrections in the file for the score, and then re-run
-{\bfx scor2prt}.
-
- Normally all lines starting with {\tt \%} in the parent {\tt .pmx} are
-transferred into all the parts. However, if a line has {\tt \%\%} in
-columns 1-2, both it {\it and the following line} will be ignored when
-making parts. If the ignored line contains only {\tt h}~, {\tt l}~,
- {\tt Tc}~, {\tt Ti}~, or {\tt Tc} to start,
-then one additional line will be ignored.
-
- Conversely, if a line begins with {\tt \%!} then it will be ignored as
-usual in creating the parent {\tt .tex} file, but after stripping the first
-2 characters the rest will be put in the {\tt .pmx} file for {\it all} the
-parts.
-
-To enter a line into the score file that is only to be transferred to one part,
-begin the line with \NEW{2.6} {\tt\%}{\it h}, where {\it h} is an {\it extended
-hexadecimal digit} representing the part number from 1 to 24
-({\tt1,2,...,9,a,b,c,...,n,o}). The first
-two characters will then be stripped and the rest transferred to the desired part.
-For example, to force a line break to system 15 and a page
-break to page 2 in part 11 only, enter {\tt \%bL15P2}. The use of the extended hex
-digits {\tt a-o} creates a potential incompatibility with prior versions.
-To minimize this, the
-character after ``{\tt\%}" will {\it only} be interpreted as a part number if
-it represents a number less than or equal to {\tt noinst}; otherwise the entire
-line will be treated as an ordinary comment and transferred to all parts as
-a comment.
-
- Although only permitted in the first voice in the score, the
-following commands with all their options will automatically be copied
-into all parts (unless the preceding line has {\tt \%\%}):
- {\tt m, V, R, A, h, w, K}. Literal \TeX\ strings of types 2-4 will also be
-copied into all parts, while type 1 will only go into its original part.
-
-User-defined hardspaces ({\tt X} without {\tt :}) are handled specially. By
-default they are not copied into parts. There are two ways to circumvent this.
-One way to insert hardspace {\it x} into part
-{\it n} is to place in the score, on a line of its own, the command
-{\tt\%}[{\it n}]{\tt X}[{\it x}] . The \NEW{1.42} other way is with options
-in the {\tt X} command in the score: {\tt B} causes the hardspace to be
-used in {\bf b}oth score and parts; {\tt P} puts it into the {\bf p}art but not
-the score.
-
-Instrument-wise \NEW{2.7} transposition commands (see section \ref{transpose})
-are also handled specially.
-When {\bfx scor2prt} encounters {\tt Ki}[{\it n}] (for instrument {\it n}) in
-the score, it transfers the transposition information (transposition amount and
-key signature) for that instrument into
-the corresponding part, replacing {\tt Ki} by {\tt K} and keeping only the
-information for instrument {\tt n}.
-
-Lateral shifts ({\tt X}[$\dots$]{\tt :}) will be handled normally,
-staying with their original voice.
-
- By default the total number of systems in each part will be the
-same as in the score. If you want to override this, there is a command
-{\tt S}[{\it n}] (where {\it n} is the desired number of systems), which
-can only appear at
-the beginning of the first input block. This can be used after {\tt \%!}
-to affect all the parts, or after {\tt \%}[{\it h}] to affect just part {\it h}.
- {\bfx Scor2prt} will also
-compute how many pages it thinks each part should have, and enter that
-in the startup data for that part. If you wish to override that, then
-in the {\tt .pmx} file for the score, insert for example {\tt \%3S14P2} to
-force the third part to have 14 systems and 2 pages (you cannot override the
-number of pages without first overriding the number of systems).
-
- A \NEW{2.0} musicsize of 20 is the default in all parts. This may be
-overridden with the option {\tt m} in the command {\tt S}; e.g.,
-{\tt \%2S15m16} .
-
- As already noted, a {\tt P} command for page numbering in the parent
-file is ignored when making parts. To initiate page numbering in the
-parts, use for example {\tt \%!P} anywhere within the \PMX code representing
-the first page of the parts (from \TeX 's standpoint the command must occur
-between the beginning and end of the page on which the numbering is to begin).
-It \NEW{2.0} will often be useful in this case to use the option {\tt c} ,
-which by default causes the instrument name to be centered in small type at
-the top of every page after the first.
-
-Note the distinctions among the various usages of {\tt P}: as an option with
-{\tt S}, it sets the total number of pages in a part; as an option with
-{\tt L}, it forces a page break; and as a command on its own, it controls page
-numbering and centered headings.
-
-MIDI \NEW{2.2} commands, i.e., those starting with {\tt I}, will never be
-copied into parts, unless they are in a special comment line as just described.
-
- One function of {\bfx scor2prt} is to condense consecutive bars of rest
-into a single group of special printed characters with a number above it.
-The command {\tt rm} defines such a {\bf m}ulti-bar {\bf r}est as described
-in section~\ref{MultibarRest}.
-{\bfx Scor2prt} will automatically insert {\tt rm} commands into the
-{\tt .pmx} files
-for the parts where appropriate. However, for this feature to work,
-the {\it first} full-bar rest in the sequence {\it must} have its duration
-explicitly defined in the parent {\tt .pmx} file, either with a digit or
-with {\tt p}. I.e., the feature will not work if the first rest in the
-sequence inherits its duration from the previous note.
-
-Using the special \PMX commands listed in this section,
-augmented where needed with literal \TeX ~commands, it is possible to store
-{\it all} the information for both the score and the parts in a single
-{\tt .pmx} file. This greatly simplifies the editing process, since
-both the score and the part can be corrected at once, and parts need not be
-re-edited each time they are regenerated from the score.
-
-\section{Making MIDI Files}\label{MIDI}
-
-\PMX has an elementary capability to create MIDI files. It is intended mainly
-to aid in editing scores, so it does not have advanced facilities one would
-want for making musically satisfying sound files.
-
-As \NEW{2.6} of version 2.6, \PMX can only generate MIDI files for scores with
-15 or fewer voices.
-
-Entering the command {\tt I} before any notes have been entered
-will cause a MIDI file [{\it jobname}]{\tt.mid} to be
-generated in the current directory. Options may follow, without spaces. They
-are defined in the following paragraphs. Multiple
-options can be combined in one {\tt I} command.
-{\tt I} commands can appear later in the file as well, but only at the start
-of an input block. Sometimes the order of the
-options matters, determining for example whether or not a user-defined pause
-is included inside a macro block.
-
-{\tt t}{\it x} sets the tempo to {\it x} quarter notes per minute.
-Default is 96. You can change tempos as often as you like, but only at the
-start of an input block (as with all MIDI commands).
-
-{\tt i}{\it i1i2...in} assigns MIDI instruments {\it i1,i2,...,in} to the
-respective \PMX instruments. The default is harpsichord, of course. If
-you use this option, you must specify {\it all} instruments.
-Each {\it in} is either
-a 2-letter abbreviation or an integer between 1 and 255. Acceptable
-abbreviations are listed below. Numbers and pairs of letters may be mixed,
-but consecutive pairs of numbers must be separated by {\tt :} (colon) .
-This option can only be exercised once per file.
-Also, the number of instruments cannot change during a piece.
-
-The \NEW{2.7} number of arguments following suboption {\tt i}, as well as the next
-three described suboptions, must in fact equal the number of {\it instruments}. Before
-version 2.7, it was the number of {\it staves} (despite the incorrect
-description in the manual!) These numbers may differ and this creates a
-backward incompatibility. Hoping this won't cause too much distress,
-I've enhanced the real-time error messages.
-
-{\tt v}{\it i1}:{\it i2}:{\it...}:{\it in} assigns MIDI \NEW{2.3} velocities
-to each instrument. The colons are required. Values may range from 1 to 127.
-The default is 127.
-
-{\tt b}{\it i1}:{\it i2}:{\it...}:{\it in} assigns MIDI \NEW{2.3} balances to
-each instrument. The colons are required. Values may range from 1 to 128.
-The default value is 64, which represents the center. Smaller numbers favor
-the left stereo channel; larger ones the right.
-
-{\tt T} allows transposing any instrument by a selected number of steps \NEW{2.7}
- ({\tt\bs internote}s).
-It must be followed by exactly {\tt noinst} signed integers representing the
-amount of transposition for each instrument in order. In practice it is useful
-in two situations (1) To transpose a MIDI output up or down by one octave
-(7 {\tt\bs internote}s); and (2) when a transposing instrument is printed
-in the transposed key in the score after having issued {\tt Ki}, to undo
-the transposition in the MIDI.
-
-{\tt M} initiates a macro operation. This is used for repeats, da capo's, etc.
-Macros must have ID numbers between 1 and 20. Operations are start record
-macro {\it i}: {\tt MR}{\it i} ; end recording: {\tt M} ; and playback (insert)
-macro {\it i}: {\tt MP}{\it i} . Only one macro can be active at a time,
-recording or playing but not both. If you try nesting or overlapping macros,
-your computer will become psychotic.
-
-{\tt p}{\it x} inserts a pause of {\it x} quarter notes. Decimals are
-allowed, but will be rounded to the nearest sixteenth note.
-
-{\tt g}{\it i} sets the MIDI gap to {\it i} MIDI clock tics. This is a silence
-inserted at the end of every note, while decreasing the sounding duration
-by the same amount. The default is 10, which is 2/3 of a 64th note.
-
- The MIDI module does not recognize graces, ornaments, repeats, voltas, or
-segnos. The only ties that are recognized are those using {\tt s} or {\tt (}
-alone, with no explicit ID number. Key signatures,
-time signatures (meter) and instrument names will be written into the MIDI file,
-the latter as track names. This will have no effect whatsoever on audible
-output but will affect on-screen appearance of some MIDI file players
-and editors. Location of the \PMX key-change and meter-change commands
-relative to MIDI macro delimiters in the source will affect (in the obvious
-way) how these data are passed to such programs.
-
-The MIDI file generator does not yet support changing the number of
-instruments in midstream. Doing so will cause unpredictable results.
-
- The instruments are a subset of ``The General MIDI Instrument
-Specification." Of course how they sound depends on your hardware and software.
-Instruments not listed below can still be used but must be specified by number.
-The numbers listed here are from the 1-128 range; when passed to the MIDI file
-they are reduced by one.
-
-%\def\toc#1#2{\hbox to 3.1in{{#2}\leaderfill{#1}}}
-\def\tentry#1#2#3{\hbox to 2in{
-\hbox to .24in{\tt #1\hfill}\hbox to 1.7in{#2 (#3)\hfill}\hss}}
-
-\null
-\hbox to 6.5in{\vbox to 1.7in{
-\tentry{pi}{Acoustic Grand Piano}{1}
-\tentry{rh}{Rhodes Piano}{5}
-\tentry{ha}{Harpsichord}{7}
-\tentry{ct}{Clavinet}{8}
-\tentry{ma}{Marimba}{13}
-\tentry{or}{Church Organ}{20}
-\tentry{gu}{Acoustic Nylon Guitar}{25}
-\tentry{ab}{Acoustic Bass}{33}
-\tentry{vl}{Violin}{41}
-}\hss\vbox to 1.7in{
-\tentry{va}{Viola}{42}
-\tentry{vc}{Cello}{43}
-\tentry{cb}{Contrabass}{44}
-\tentry{vo}{Synth Voice}{55}
-\tentry{tr}{Trumpet}{57}
-\tentry{tb}{Trombone}{58}
-\tentry{tu}{Tuba}{59}
-\tentry{fr}{French Horn}{61}
-\tentry{so}{Soprano Sax}{65}
-}\hss\vbox to 1.7in{
-\tentry{al}{Alto Sax}{66}
-\tentry{te}{Tenor Sax}{67}
-\tentry{bs}{Baritone Sax}{68}
-\tentry{ob}{Oboe}{69}
-\tentry{ba}{Bassoon}{71}
-\tentry{cl}{Clarinet}{72}
-\tentry{fl}{Flute}{74}
-\tentry{re}{Recorder}{75}
-}}
-
-\section{Limits}
-
-For simplicity in writing the program, \PMX has numerous variables with
-fixed dimensions. In most cases there are no checks against these limits
-(hey, I've got more important things to program), so
-occasionally there may be hangups due to exceeding a dimension.
-Any of these can potentially be increased by making a request via the
-mailing list. However, before making such a
-request, try working around the problem by
-breaking the input into smaller blocks.
-
-\subsection{Limits on quantities that a user can control}
-
-(The user can control the {\it number} of these items, but cannot control
-the {\it limit on the maximum number} of them.)
-
-128 characters per input line.
-
-24 \NEW{2.6} staves.
-
-2 voices per staff.
-
-24 \NEW{2.6} voices per system.
-
-125 systems.
-
-600 bars.
-
-40 forced line breaks.
-
-10 forced page breaks.
-
-18 key changes.
-
-75 \NEW{2.78} pages.
-
-600 \NEW{2.6} notes per input block.
-
-15 bars per input block.
-
-101 slurs per input block.
-
-74 figures (figured bass) per input block.
-
-37 grace note groups per input block.
-
-74 notes in grace note groups per input block.
-
-52 literal \TeX\ strings per input block.
-
-6 voltas per input block.
-
-24 \NEW{2.6} trills per input block.
-
-62 chordal notes (non-spacing) per input block.
-
-8 beams per voice per bar.
-
-40 \NEW{2.5}forced beams per voice per input block.
-
-10 clef changes per voice per input block.
-
-24 notes per beam.
-
-24 notes per xtuplet.
-
-41 text-dynamic strings per input block.\NEW{2.5}
-
-9600 \NEW{2.78} lines in input file
-
-\subsection{Limits not under immediate user control}
-
-% Need all the spaces because this damn format insists on left-justifying
-% first line of *first* paragraph in a section..
-%
-\ \ \ \ \ \kern6pt 131072 \NEW{2.78} bytes in the entire input file
-
-20 \bs{\tt notes} groups per bar.
-
-20 inserted standard anti-collision spaces (not xtuplet or end-of-bar) per bar.
-
-20 inserted anti-collision spaces within xtuplets per bar.
-
-19 inserted anti-collision end-of-bar hardspaces per system.
-
-83 inserted anti-collision end-of-bar hardspaces.
-
-400 inserted standard anti-collision spaces per system.
-
-100 inserted anti-collision spaces within xtuplets per system.
-
-1000 inserted standard anti-collision spaces.
-
-200 inserted anti-collision spaces within xtuplets.
-
-24576 \NEW{2.2} bytes of MIDI output data per voice.
-
-\section{Closing Notes}
-
-\subsection{About the Example Files}
-
-{\tt most.pmx} contains examples of most of the \PMX commands, and a few
-programming tricks, including examples in the last line of beam groups whose
-notes vary widely in pitch. The printed
-output displays the \PMX commands near to the resulting typeset characters.
-It is more
-useful to look at the printed output rather than the source file, since the
-file is littered with in-line \TeX ~needed to output the text strings
-representing the \PMX commands.
-{\bfx WARNING:} Do not try to play this music; it could be hazardous.
-
-{\tt barsant.pmx} contains the first movement of a recorder sonata by the
-Italian Francesco Barsanti (1690-1772). It demonstrates many of \PMXX 's
-strong points in a ``battlefield'' situation: figured
-bass, complex beaming patterns, xtuplets, and
-automatically adjusted horizontal and vertical spacing in crowded scores.
-In fact,
-this single-page score pushes the limits of vertical and horizontal crowding.
-To get the final result, it makes subtle adjustments using various available options:
-{\tt Ae} for equal space between systems, {\tt AI1.1} to increase the vertical
-space between staves in a system, {\tt Apl} to activate postscript slurs and
-special treatment of line-breaking slurs/ties (note slur at end of fourth
-system), and {\tt W.5} to increase minimum space between noteheads so the 64th
-notes don't touch each other. This is also a
-good score to try making parts with {\bfx scor2prt}. A special command
-{\tt \%2S9} is used to increase the number of systems in the recorder part.
-
-{\tt mwalmnd.pmx} is an Allemand for harpsichord by the German
-Matthias Weckmann
-(1616-1674). It uses many techniques peculiar to keyboard scores, most notably
-two voices per staff.
-
-{\tt prad5.pmx} {\tt netsoos.pmx} are examples of how to enter lyrics purely in \PMX.
-They include several inline \TeX\ commands to enhance the layout.
-
-{\tt staffcrossall.pmx}\NEW{2.74} contains examples of staff-crossing chords. Some are
-single-stemmed, some are beamed non-xtuplets, and finally beamed xtuplets.
-
-{\tt dyntest.pmx} contains examples showing the default vertical positions of dynamic marks.
-
-\subsection{A Benign Bug}
-
- When \TeX 'ing the output of \PMX you will usually get an {\tt Underfull
-\bs vbox} message at the end of each page. This is due to my using
-\bs{\tt eject} at the end of every page, which automatically spaces the
-systems vertically without having to fiddle with \bs{\tt staffbotmarg}. As far
-as I know, the
-warning is benign, and may be ignored.
-
-\subsection{Where to Get Help} \label{where}
-
-The main home of \PMX on the internet is the software section of the
-\href{http://icking-music-archive.org}{\underline{Werner Icking Music Archive}}. This
-site also links to a mailing list devoted to \MusiXTeX\ and related programs including
-\PMX. The denizens of this list are always willing to answer questions about any
-aspect of the software. New users are strongly advised to take advantage of this
-resource.
-
-\subsection{Acknowledgments}
-
- To Daniel Taupin, Ross Mitchell, and Andreas Egler for creating
-\MusiXTeX{}; to Olivier Clary for suggesting a crucial modification in
-the note-entry scheme;
-to my colleague John DiPol (a non-musician!) for the idea of using binary masks
-to define beam groupings;
-to Joel Hunsberger for unraveling some deep \MusiXTeX~tangles;
-to Dirk Laurie
-for making \PMX accessible to vocal music by creating {\tt\bs pmxlyr}
-and {\bfx M-Tx};
-to Stanislav Kneifl and Hiroaki Morimoto for developing the postscript
-slur packages; to
-Christian Mondrup, Andre Van Ryckeghem, Christof Biebricher, Joerg Anders,
-Olivier Vogel, and other denizens of the TeX-music mailing list
-for first-class bug-finding and support in responding to queries about
-\PMX on the mailing list; to Luigi Cataldi, Olivier Vogel, Christof
-Biebricher, and Cornelius Noack for producing translated and enhanced
-\PMX tutorials; and to Bob Tennent for maintaining the software section
-of the web site.
-Finally, I want to mention again the invaluable contributions by
-Werner Icking: his exhaustive beta testing,
-uncanny bug-finding, continuing encouragement, and promotion
-of \PMX right up until his sudden and premature departure from this
-earthly realm.
-
-\end{document}