%%%%%%%%%%%%%%%%%
%%
%%  ref20.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}

\hoffset22.5pt

\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.6,
July 2010~~~
\hfill by Don Simons (dsimons@roadrunner.com)}

%\begin{multicols}{2}
\null

 This table defines PMX command syntax. Each command 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 brackets {\tt [~]} are optional, 
but if one is used and the following line is indented and unbracketed, 
then one character must be used from the unbracketed group. 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.\\
\ \ [c]         & Cautionary accidental.\\
\ [+,-]         & Shift octave from default (default is within a 4th).\\  
\ [u,l]         & Force stem direction.\\ 
\ [a]           & Prohibit beaming this note. If first note of xtuplet, prohibit
                  beaming the xtuplet.\\
\ [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.\\
\ [S{\it x}]    & Shrink stem length by {\it x} \bs{\tt internote}.\\
\ \ [:]         & Make it sticky.\\
\ [S:]          & Shrink this stem, then turn off stem shrinkage.\\
\ [Ao]          & In main chord note, post accidentals in order entered.\\ 
\newcol
~               & Note options, continued\\
\ [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 or {\tt d} for dot.\\
\ \ [d]         & Dot first xtup note, halve next.\\
\ \ [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.\\
\ \ \ [s]       & Fine tune slope of bracket for non-beamed xtuplet.\\
\ \ \ \ +,- {\it i} & Slope adjustment.\\
\dhline
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.\\ 
\ \ \ [A]       & (Preceding a shift) Apply shift relative to PMX-computed one.\\
\ \ [+,-]       & 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.\\
\newcol
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.\\
\ [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.\\ 
\ [L]           & With AK, align rest with note to left. \\
\ [x{\it i}]    & Start xtup.  After above options.  See description for
                   main note.\\ 
\dhline
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\\
\ c,b           & Caesura, breath.\\
\ \ [+,- {\it i}] & Vertical shift, \bs{\tt internote}.\\
\ \ \ [+,- {\it x}] & Horiz. shift, notehead widths.\\ 
\ 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. \\
\newcol
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.\\
\ [X{\it x}]    & Gap to main note, notehead widths. \\
\ ({\it first note})  & Must follow the above options, with no space.
                Use same symbols as normal note.\\
\dhline
s,t,)           & Slur toggle. Place after note. If {\tt Ap} is on, {\tt t} causes
                true tie.\\
(               & 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. With postscript
                slurs, print a true tie.\\ 
\ [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, only on termination.\\
\ \ \ \ [:{\it d1d2}] & Alter starting and ending slope, 1-7.\\
\ [f,n,h,H,HH]    & Flatten, normalize, or increase curvature. For font-based slurs, only allowed
                on termination. For Type K linebreak slurs, applies to first segment if on start, 
                second if on end.\\
\ [s +,- {\it i}] & On start of a line-breaking type K slur or tie, vertical adjustment
                  of end of first segment.\\
\ \ +,- {\it x} & Horizontal tweak of end of first segment.\\
\ \ \ [+,- {\it i}] & Vertical adjustment of start of second segment.\\
\ \ \ \ +,- {\it x} & Horizontal tweak of start of second segment.\\
\ [p]           & Local change in postscript slur or tie adjustment.\\
\ \ +,-         & Turn on or off automatic adjustment.\\
\ \ \ s,t       & Adjust slur or tie.\\
\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.\\
\ [v]           & Toggles vshrink (initially on), which collapses pages vertically
                when computed \bs{\tt interstaff} exceeds 20.\\
\ [N]           & User-defined part file name.\\
\ \ {\it i}"{\it name}" & Name to use in part {\it i}.\\
\ [T]           & Use Col. S's broken brackets for non-beamed xtups.\\
\ [p]           & Activate postscript slurs.\\
\ \ l           & Activate special adjustments for line-breaking slurs and ties.\\
\ \ h           & Input Type K postscript header at start of every page, so pages can be
                separated e.g. with dviselec.\\
\ \ [+,-]       & Turn on or off global slur or tie adjustments, or halfties.\\
\ \ \ s,t,h,c   & Switch slur, tie, halftie, or ratchet curvature.\\
\ [R]           & Read in normal include file.\\
\ \ {\it filename} & File name, may include path.\\
\ [K]           & Activate special rules for rest positions in 2-staff keyboard scores.\\
\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.\\
\ <.>           & Hairpin toggles.\\
\ \ [+,- {\it n }] & Vertical shift from default, \bs{\tt internote}s.\\
\ \ \ [+,- {\it n }] & Horizontal shift from default, notehead widths.\\
\newcol
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} \\ 
\dhline
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. \\
\ [T]           &  MIDI-only transposition.\\
\ \ +,- {\it i1} +,- {\it i2} ... +,- {\it in} & Amounts of transpositions, multiples 
                  of 12 only, {\tt noinst} values.\\
\ [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. Use {\tt-0} to transpose
                by 1/2 step to same-name key.\\ 
\ \ +,- {\it i} & New key signature.\\
\dhline
l               & Next input line is a text string
                to appear below top staff.\\
\newcol
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. Precede 2-digit numbers with {\tt :}\\
\ \ \ \ {\it c1c2...ck} & Clef symbols. Enter one for 
                   every staff in new lineup.\\
\dhline
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 \\
\newcol
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.\\
\ z             & Blank barline at next system break.\\ 
\ 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}.\\
\dhline
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.\\
{\it text}\bs\bs{\it text} & Make a line break in the title string.\\
\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.\\
\newcol
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. 
                Combine characters as needed. See manual.\\
0  {\rm (zero)} & Continuation figure.\\
\ {\it x}       & Length in \bsn{}internotes.\\
\_ {\rm (underscore)} & Placeholder figure, to lower the next one.  \\
\ [+{\it i}]    & In any figure, raise by {\it i}~\bs internotes. \\ 
\ [s]           & (With 2,4,5,6,9) add slash. Must have font cmrj. \\ 
\dhline
[               & 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).\\
\ [:]           & After this forced beam, continue forced beaming over the
                same interval until next explicit forced beam or end of 
                input block.\\ 
\ [+,- {\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
\{              & Placed before a note, equivalent to {\tt t} after note. \\
\}              & Equivalent to {\tt t} . \\
\newcol
?               & Arpeggio start/stop.  Comes after note. \\
\ [-{\it x}]    & Shift left by {\it x} notehead widths. \\
\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 input for a staff in 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.\\
\dhline
\%              & 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}
