%%%%%%%%%%%%%%%%%
%%
%%  ref230.tex  (latex2e?)
%%
%%%%%%%%%%%%%%%%%
\ifx\documentstyle\undefined
%       \documentstyle[11pt,multicol]{article}
        \documentstyle[12pt,multicol]{article}
\else
%       \documentclass[11pt]{article}
        \documentclass[12pt]{article}
        \usepackage{multicol}
\fi

\pagestyle{empty}

% A4 horizontal 210mm, letter vertical 11in: 
\setlength{\textwidth}{21cm}\addtolength{\textwidth}{-2cm} 
\setlength{\textheight}{11in}\addtolength{\textheight}{-2cm} 
\addtolength{\topmargin}{-3.5cm}
\addtolength{\oddsidemargin}{-3.4cm} 
\addtolength{\evensidemargin}{-3.4cm} 
\setlength\columnsep{2mm}

\message{h=\the\textheight, w=\the\textwidth, s=\the\columnsep}

\begin{document}

{\footnotesize\small

\def\bs{{\tt\char'134}}
\def\bsn{\bs}
\def\dhline{\hline\hline}
\def\newcol{
\hline
\end{tabular}

\begintab
\hline
}
%\let\blank\ \def\ {\blank\blank}

\centerline{QUICK REFERENCE TABLE FOR {\bf PMX}, 
Version 2.3,
February 2001~~~
\hfill by Don Simons (dsimons@logicon.com)}

%\begin{multicols}{2}
\null

 This table defines legal PMX {\it symbols}. Each one starts with a 
single character from a non-indented line, followed by characters from 
subsequent indented lines, with no internal spaces. When characters 
on the same line are separated by commas, only one can be used, unless 
otherwise noted. Characters enclosed in {\tt [~]} are optional. Several 
characters, chosen from different lines that are indented the same 
amount, may be used in sequence. {\it d1, d2} are single digits, so 
for example {\it d1}{\tt[}{\it d2}{\tt]} is a one- or two-digit integer.
{\it i} is any non-negative integer.  
{\it x} is any non-negative decimal number.

%\end{multicols}

\begin{multicols}{2}
\begin{center}
%\def\begintab{\begin{tabular}{|p{3.0cm\tt}|p{5.5cm\hangindent5pt}|}} 
\def\begintab{\begin{tabular}{|p{3.0cm\tt}|p{5.5cm\hangindent5pt}|}} 
\begintab
\hline
a,b,c,d,e,f,g   & Note name.\\
\ [0,2,4,8,1,\break\rightline{3,6,9]}  & If first digit, duration.
                Must include if duration not yet set in current input block.\\
\ [1,2,3,4,5,\break\rightline{6,7]} & If second digit, Octave number.
                Must include if octave not yet set in current input block.\\
\ [d]           & Dot.\\
\ \ [+.- {\it x}] & Vertical shift, \bsn{}internotes.\\
\ \ \ [+.- {\it x}] & Horiz. shift, notehead widths.\\
\ \ [d]         & Double dot.\\
\ [f,s,n]       & Accidental. Repeat for double.\\ 
\ \ [+,- {\it i} +,- {\it x}] & Vertical shift, \bsn{}internotes;
                    horiz. shift, notehead widths.\\
\ \ [<,> {\it x}] & Horiz. shift, notehead widths.\\
\ \ [i]         & MIDI-only accidental.\\
\ [+,-]         & Shift octave from default (default is within a 4th).\\  
\ [u,l]         & Force stem direction.\\ 
\ [a]           & Prohibit beaming this note.\\
\ [r]           & Right offset by one notehead.\\ 
\ [e]           & Left offset by one notehead.\\ 
\ [.]           & Dot shortcut: {\tt a8.b} = {\tt ad8 b1} \\
\ [,]           & 2:1 shortcut: {\tt a8,b} = {\tt a8 b1} \\
\ [D]           & In xtuplet note only, double duration. Reduce number of 
                   notes in xtup by 1.\\
\ [F]           & As above, and add dot.\\
\ [x{\it i}]    & An {\it i}-tuplet starts here.
                Duration (already set) refers to total for xtuplet.
                Next $i-1$ notes or rests are in 
                xtuplet. They must have no duration number; may have
                octave number.\\
\ \ [n]         & Fine-tune printed number. \\
\ \ \ (\it{blank}) &  Don't print number. \\ 
\ \ \ [f]       & Flip vertical location. \\
\ \ \ [{\it i}]  & Replacement printed number. \\
\ \ \ [+,- {\it i}] & Vertical shift, \bsn{}internotes.\\
\ \ \ \ [+,- {\it x}] & Horiz. shift, notehead widths.\\
\newcol
z               & Chordal note. No duration allowed.\\ 
\ a,b,c,d,e,f,g & Note name.\\
\ \ [f,s,n]     & Flat, sharp, natural. Repeat for double flat or sharp. 
                   Shift options same as on main note.\\ 
\ \ [+,-]       & Up or down one octave.
                may use several in succession.\\
\ \ [r,e]       & Right or left offset by one notehead.\\ 
\ \ [d]         & Dot.  Permitted but not required, unless dot is to 
                be shifted. \\
\ \ \ [+,- {\it x}] & Vertical shift, \bsn{}internotes.\\
\ \ \ \ [+,- {\it x}] & Horiz. shift, notehead widths.\\
\dhline
r               & Rest.\\
\ [0,2,4,8,1,\break\rightline{3,6,9]} & Duration.
                Must include if duration not yet set in current input block.\\
\ [d]           & Dot.\\
\ [p]           & Full-bar rest using 'Pause' symbol (no digit).\\ 
\ [m{\it i}]    & Multi-bar rest of {\it i} bars. Voice \#1 only.
                Normally only used in parts, generated by scor2prt.\\
\ [b]           & Blank rest, not printed (this line of music 
                drops from sight).\\
\ [o]           & Suppress centering full-bar rest.\\
\ [+,- {\it i}] & Raise/lower rest from middle line, \bsn{}internotes.\\ 
\ [x{\it i}]    & Start xtup.  After above options.  See description for
                   main note.\\ 
\dhline
G               & Grace note group.\\
\ [{\it i}]     & Number of notes in group. Not needed if 1.
                If {\tt>}1, next $i-1$ notes are in grace.\\
\ [s]           & Slur to/from main note.\\
\ [m {\it d1}]  & Multiplicity (number of flags or beams). Default is 1.\\ 
\ [x]           & Slash. Single grace only. \\
\ [l,u]         & Forced stem direction.\\ 
\ [A,W]         & Put grace just after main note, or shifted as far 
                    right as possible.\\
\ ({\it first note})  & Must follow the above options, with no space.
                Use same symbols as normal note.\\
\newcol
o               & Ornament.  Symbol comes after note.\\
%\ t,m,x,+,u,p,\break\rightline{),-,>,\raise1pt\hbox{\^\ }.}  
\ t,m,x,+,u,p,\break\rightline{(,),\_,.,>,\^\ }  
                & Shake, mordent, ``x", ``+", pizz., strong pizz., ``(" before
                notehead,
                ``)" after notehead, tenuto, stacc., sfz, duncecap\\
\ f             & Fermata. Default is up.\\
\ \ [d]         & Convert to down fermata. \\
\ T,Tt          & Trill ({\it tr}) with or without wavy line.\\
\ \ [{\it x}]   & Length to end of wavy line, \bsn{}noteskips.
                Default is one \bsn{}noteskip.
                Use {\tt oT0} for {\it tr} .\\
\ g             & Segno. Voice \#1 only.\\
\ \ [[-]{\it d1}[{\it d1}]] & Offset of segno symbol in points.\\ 
\ e             & Editorial accidental. \\
\ \ s,f,n       & Sharp, flat, natural. \\
\ \ \ [?]       & Editorial accidental is dubious. \\
\ \ ?           & Text is dubious. \\ 
\ [+,- {\it i}] & (After~setting~ornament~type)\break Raise/lower by 
                {\it i} \bsn{}internotes from default.\\ 
\ [:]           & Repeat toggle.  Must come last.  First instance, after setting 
                ornament type, gives all later notes same ornament, until 
                {\tt o:} shuts it off. \\
\dhline
s,t,)           & Slur toggle. Place after note.\\
(               & Placed before note, same as {\tt s} placed after. \\
\ [{\it c}]     & Optional ID code, {\tt 1-9} or {\tt A-Z} .  Must be first
                after {\tt s,t,(,)} .\\
\ [u,d,l]       & Force slur direction. Only allowed at slur start.\\ 
\ [t]           & Position slur end as tie rather than slur.\\ 
\ [b]           & Dotted slur.\\
\ [+,- {\it i}] & Raise/lower start/end of slur, \bsn{}internotes.\\ 
\ \ [+,- {\it x}] & Horizontal shift start/end of slur, notehead widths. \\ 
\ \ \ [+,- {\it i}] & Mid-height alteration, nonzero, place before slur termination.\\
\ \ \ \ [:{\it d1d2}] & Alter starting and ending slope, 1-7.\\
\newcol
A               & Miscellaneous controls. 
                Only at start of first block except {\tt i} , {\tt I}\\
\ [i,I {\it x}] & Factor on \bs{\tt interstaff}\\
\ [d]           & Lower dots in lower voice of 2 on a staff\\
\ [a{\it x}]    & Change afterruleskip to {\it x} \bs{\tt elemskip}s. Default 
                is 1.\\ 
\ [b,s]         & Force big or small accidentals.\\
\ [r]           & Relative accidentals. Must be set if transposing.\\ 
\ [e]           & Equalize inter-system spacing.\\ 
\ [S]           & Tweak accidental spacing for staves made small with in-line 
                TeX.\\
\ \ -,0;...;-,0 & A string of yes-or-no specifiers, one for each staff.\\ 
\dhline
B               & Toggles default stem direction for middle line of bass clef.
                intial direction is up).\\
\dhline
C               & Clef change.\\
\hbox{\ t,s,m,a,n,r,}\hbox{\ b,f or 0-7} & New clef. ({\bf t}reble, {\bf s}oprano, 
                {\bf m}ezzo-soprano, {\bf a}lto, te{\bf n}or, ba{\bf r}itone, 
                {\bf b}ass), {\bf F}rench violin.\\
\dhline
D               & Dynamics.\\
\ p,pp,...,ffff & Pre-defined standard dynamics.\\
\ "{\it text}"  & Any text string.\\
\ \ [+,- {\it n }] & Vertical shift from default, \bs{\tt internote}s.\\
\ \ \ [+,- {\it n }] & Horizontal shift from default, notehead widths.\\
\dhline
F               & Cancels figures in bass line
                (use with {\tt \%1} in score file
                to make a bass part with no figures).\\
\dhline
h,w             & If followed by number, page height or width.
                Only at start of first input block.\\
\ {\it x}       & Page height or width.\\
\ \ [i,m,p]     & Inches, mm, points. Default is points.\\ 
\dhline
h               & If followed by blank or {\tt [+,-]}, heading.
                Next input line will print above top staff.\\
\ [+,- {\it i}] & Alter height from default, \bs{\tt internote} \\ 
\newcol
I               & MIDI controls.  Only at start of an input block.\\
\ [t{\it x}]    & Set tempo to {\it x} beats per minute.\\ 
\ [p{\it x}]    & Insert a pause of {\it x} quarter notes.\\
\ [i{\it i1i2...in}] & Specify {\tt noinst} MIDI instruments. {\it i1,i2...in} 
                are integers between 1 and 128 or 2-letter abbreviations. 
                Consecutive integers must be separated with {\tt ":"}.\\
\ [v{\it i1}:{\it i2}:...{\it in}] & Specify {\tt noinst} velocities 
                  (volumes), 1$\leq${\it i}$\leq$128. \\
\ [b{\it i1}:{\it i2}:...{\it in}] & Specify {\tt noinst} balances 
                  1$\leq${\it i}$\leq$128, 64=center. \\
\ [g{\it i}]    & Internote gap in midi tics. Default = 10\\ 
\ [MR{\it i}]   & Start recording macro {\it i}.\\
\ [M]           & Stop recording.\\
\ [MP{\it i}]   & Playback (insert) macro {\it i}.\\
\dhline
K               & Key signature change and/or transposition.\\
\ +,- {\it i}   & Amount of transposition in \bsn{}internotes.\\ 
\ \ +,- {\it i} & New key signature.\\
\dhline
l               & Next input line is a text string
                to appear below top staff.\\
\dhline
L{\it i}        & Force a line break at line {\it i}. Voice \#1 only. Start of
                    block only.\\ 
\ [P{\it i}]    & Force a page break at page {\it i}.\\ 
\ [M]           & Movement break. Must follow {\tt P} if present.  \\
\ \ [+{\it i}]  & Extra vertical space, \bs{\tt internote}. \\
\ \ [i{\it x}]  & New indent, decimal fraction of line width.\\
\ \ [c]         & Continue bar numbering, do not reset.\\
\ \ [r +,-]     & Force or suppress reprinting instrument names.\\
\ \ [n{\it i}]  & Change to {\it i} instruments.\\
\ \ \ {\it d1d2...di} & Numbers of instruments.\\
\ \ \ \ {\it c1c2...ck} & Clef symbols. Enter one for 
                   every staff in new lineup.\\
\newcol
m               & Meter change. Voice \#1 only. Start of input block only.\\ 
\ o,{\it d1}[{\it d2}]  & True numerator of meter.
                Use {\tt o} if full value is exactly 1.
                If {\it d1}=1, numerator is 10+{\it d2}.\\
\ \ {\it d1}[{\it d2}]  & True denominator.\\
\ \ \ o,{\it d1}[{\it d2}] & Printed numerator of meter. Use {\tt o} as above.\\ 
\ \ \ \ {\it d1}[{\it d2}]        & Printed denominator.\\
\ {\it d1}[{\it d2}]/      & (Alternate syntax) true numer-ator \\
\ \ {\it d1}[{\it d2}]/    & true denominator \\
\ \ \ {\it d1}[{\it d2}]/  & printed numerator \\
\ \ \ \ {\it d1}[{\it d2}] & printed denominator \\
\dhline
M               & Macro.  If alone, ends recording or saving.\\
\ [R,S,P]       & Record (store and execute), save (store but do not execute), 
                  or playback. \\
\ \ {\it i}     & Macro ID number, from 1 to 20. \\
\dhline
P               & Start page numbering in this page. Voice \#1 only.
                  Start of input block only.\\
\ [{\it i}]     & Starting page number. Default is 1.\\
\ [r,l]         & Margin for starting page number. Default is 'r'.\\ 
\ [c]           & Centered header on each page. Must be last option in symbol. 
                  Default text is instrument name \\
\ \ [{\it text}] & Text with no blanks \\
\ \ ["{\it text}"] & Text with blanks \\
\dhline
R               & Repeat or doublebar. Voice \#1 only.
                Doublebars at start of bar only.\\
\ l,r,lr,d,D,dl  & Left repeat, right repeat, l-r rpt, doublebar, doubleBAR,
                 doublebar-left repeat. \\ 
\ b             & Single bar (end of movement or piece).\\
\dhline
S{\it i}        & Reset total number of systems to {\it i}.
                Only at start of first input block.
                Only useful with \bs{\tt \%}{\it j} for automatically 
                generated parts.\\
\ [P{\it i}]    & Force total number of pages to be {\it i}.\\ 
\ [m{\it i}]    & Change musicsize to {\it i}.\\
\newcol
T               & Title string. Only at start of first input block.\\
\ t[{\it d1}[{\it d2}]],i,c & Title of piece (centered), instrument (left 
                justified), or composer (right justified). Following line 
                is the text. 
                {\tt Tt} may be followed by a number (\bsn{}internotes) to add 
                vertical space below entire title block.
                {\tt Tt} must come after {\tt Ti} and {\tt Tc} for this to work.\\
\dhline
V               & Toggle for Volta. Voice \#1 only. Start of bar only.
                For scor2prt, only allowed one per input block, 
                and it must come at start of block.\\
\ [{\it text}]  & Text for start of volta. May not be ``b" or ``x".\\
\ b,x           & At end of volta, boxed end or horizontal (no box).\\ 
\dhline
W               & Set new minimum horizontal space between noteheads.\\ 
\ .             & Decimal point (required).\\
\ \ {\it d1}    & Tenths of notehead width. Default is 3.\\ 
\dhline
x               & Floating figure (offset to right).\\
\ {\it d1}      & Number of note-length units of offset.\\ 
\ \ {\it d2}    & Note-length unit. Same code as for note durations.\\
\ \ \ 2,3,\dots,9,\break\rightline{\#,-,n,0{\it d1}} 
                & Characters for floating figure, 
                arranged as in normal figure.\\
\dhline
X               & Shift or insert hardspace. \\ 
\ [-]{\it x}    & Distance.  Default units are notehead widths.\\
\ \ [{\tt p}]   & Units are points.\\
\ [:]           & Begin shift (if number\break also present), end shift 
                (if no number),\\
\ [S]           & Single-note shift ({\tt S}). \\
\ [P]           & Use only in part, not score. \\
\ [B]           & Use in both score and part. \\ 
\dhline
2,3,\dots,9,\#,-,n & Normal figure. Voice \#1 only.
                Combine characters as needed. See manual.\\
0  {\rm (zero)} & Continuation figure.\\
\ {\it d1}      & Length in \bsn{}internotes.\\
\_ {\rm (underscore)} & Placeholder figure, to lower the next one.  \\
\newcol
[               & Start a forced beam.\\
\ [j]           & Continue an existing staff-\break jumping beam.\\
\ [u,l]         & Direction of forced beam.\\
\ [f]           & Flip beam direction.\\
\ [m {\it d1}]  & Forced multiplicity.  {\it d1} = 1 - 4. \\
\ [h]           & Force horizontal beam (zero slope).\\
\ [+,- {\it i}] & Vertical offset, \bsn{}internotes.\\ 
\ \ [+,- {\it i}] & Change slope from default.\\
\ \ \ [+,- {\it i}] & Distance to raise or lower beam, beam thk's.\\ 
\dhline
]               & End forced beam.\\ 
\ [j]           & Keep beam open, prepare to jump to other staff \\
\dhline
][              & Between two notes in a forced beam, 
                decrease multiplicity to 1, then immediately increase. 
                Treated as a single symbol, set off by spaces.\\
\dhline
]-[             & Between two notes in forced beam, end one segment and 
                   start next of a single-slope beam group\\
\dhline
(               & Placed before a note, equivalent to {\tt s} after note. \\
)               & Equivalent to {\tt s} . \\
\dhline
?               & Arpeggio start/stop.  Comes after note. \\
\dhline
\bs,\bs\bs,\bs\bs\bs & Start a literal \TeX~string before 
                next note, before \bsn{}startmuflex, or before 
                first \bsn{}notes group of current input block.\\
\ {\it Text}\bs & TeX string and terminator.
                May have more than one TeX command, strung end-to-end.\\
--- (\rm 3 minus's) & Toggle for multiline \TeX\ block.  Must start on first
                line.  All lines until next {\tt ---} will be copied verbatim
                to top of \TeX\ file.\\ 
\dhline
[|]             & Bar line. Only used for checking, except required after
                end-of-bar inserted hardspace.\\ 
\dhline
/               & Terminate a voice (staff) for this input block.\\ 
\dhline
//              & Terminate first line of music on this staff for this input
                block, start a second line of music on same staff.\\
\newcol
\%              & Comment line.\\
\ [{\it h}]{\it text} & Scor2prt will put {\it text} 
                into the part whose hexadecimal number is {\it h}.\\
\ [!]{\it text} & {\it text} 
                will be put in all parts by scor2prt.\\
\ [\%]          & Following line will be ignored by scor2prt.\\ 
\dhline
.\break\null\ {\it note command} & Detatched dot-form shortcut.\break Note will have      
                1/3 duration of prior note. See note name command.\\
\dhline
,\break\null\ {\it note command} & Detatched 2:1 shortcut. Note will have
                1/2 duration of prior note. See note name command.\\
\hline
\end{tabular}
\end{center}
\end{multicols}
}
\end{document}
