From e0cf1c6f0003d2d2504e786112d1f3132d7ab17a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 3 Mar 2020 23:20:40 +0000 Subject: pmx now that we have new binaries git-svn-id: svn://tug.org/texlive/trunk@54056 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/pmx/ChangeLog | 713 +++++ Master/texmf-dist/doc/generic/pmx/README | 20 +- Master/texmf-dist/doc/generic/pmx/accents.eps | 1145 ++++++++ .../texmf-dist/doc/generic/pmx/examples/prad5x.pmx | 104 + Master/texmf-dist/doc/generic/pmx/gapxmpl.eps | 1243 +++++++++ Master/texmf-dist/doc/generic/pmx/pmx-install.pdf | Bin 90847 -> 108463 bytes Master/texmf-dist/doc/generic/pmx/pmx-install.tex | 24 +- Master/texmf-dist/doc/generic/pmx/pmx25-284.html | 384 --- Master/texmf-dist/doc/generic/pmx/pmx284.pdf | Bin 322439 -> 0 bytes Master/texmf-dist/doc/generic/pmx/pmx284.tex | 2759 ------------------ Master/texmf-dist/doc/generic/pmx/pmx294.pdf | Bin 0 -> 345417 bytes Master/texmf-dist/doc/generic/pmx/pmx294.tex | 2948 ++++++++++++++++++++ Master/texmf-dist/doc/generic/pmx/ref284.pdf | Bin 64109 -> 0 bytes Master/texmf-dist/doc/generic/pmx/ref284.tex | 480 ---- Master/texmf-dist/doc/generic/pmx/ref294.pdf | Bin 0 -> 70133 bytes Master/texmf-dist/doc/generic/pmx/ref294.tex | 487 ++++ Master/texmf-dist/doc/generic/pmx/sjb291.eps | 1208 ++++++++ Master/texmf-dist/doc/generic/pmx/tremxmpl4.eps | 972 +++++++ Master/texmf-dist/doc/man/man1/pmxab.man1.pdf | Bin 15273 -> 15272 bytes Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf | Bin 14692 -> 14661 bytes Master/texmf-dist/scripts/pmx/pmx2pdf.lua | 5 - Master/texmf-dist/tex/generic/pmx/pmx.tex | 19 +- Master/tlpkg/libexec/ctan2tds | 19 +- 23 files changed, 8873 insertions(+), 3657 deletions(-) create mode 100644 Master/texmf-dist/doc/generic/pmx/ChangeLog create mode 100644 Master/texmf-dist/doc/generic/pmx/accents.eps create mode 100644 Master/texmf-dist/doc/generic/pmx/examples/prad5x.pmx create mode 100644 Master/texmf-dist/doc/generic/pmx/gapxmpl.eps delete mode 100644 Master/texmf-dist/doc/generic/pmx/pmx25-284.html delete mode 100644 Master/texmf-dist/doc/generic/pmx/pmx284.pdf delete mode 100644 Master/texmf-dist/doc/generic/pmx/pmx284.tex create mode 100644 Master/texmf-dist/doc/generic/pmx/pmx294.pdf create mode 100644 Master/texmf-dist/doc/generic/pmx/pmx294.tex delete mode 100644 Master/texmf-dist/doc/generic/pmx/ref284.pdf delete mode 100644 Master/texmf-dist/doc/generic/pmx/ref284.tex create mode 100644 Master/texmf-dist/doc/generic/pmx/ref294.pdf create mode 100644 Master/texmf-dist/doc/generic/pmx/ref294.tex create mode 100644 Master/texmf-dist/doc/generic/pmx/sjb291.eps create mode 100644 Master/texmf-dist/doc/generic/pmx/tremxmpl4.eps delete mode 100755 Master/texmf-dist/scripts/pmx/pmx2pdf.lua (limited to 'Master') diff --git a/Master/texmf-dist/doc/generic/pmx/ChangeLog b/Master/texmf-dist/doc/generic/pmx/ChangeLog new file mode 100644 index 00000000000..6715e9b1e36 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pmx/ChangeLog @@ -0,0 +1,713 @@ +2.94 + Allow moving dots on main and chord note in 2-note termolos + Add definitions of \hbp and \hbpp to pmx.tex +2.91 + Tweak: insert \stdstemfalse before every user-shortened or lengthened + stem. + This cancels defaul extensions to middle line and also (with 'L') allows + stems that are longer than 4.66 but still don't reach middle line. + Allow alteration of number height in multibar rest, option n. + Fix bug introduced in 2.89 so that the "o" in "mo800" is now OK. +2.90 + Many tweaks to allow gaps at end or middle of a system using + L[n]S[x] and LC[y]. New pmx.tex. +2.88 + Comment out print*,"Changed pathname to..." since it was going + iteration when optimizing linebreaks with the undocumented option Ao. + Add nv back in as argument for getmidi, so loop transferring data + from midivel to midvelc can be executed. This corrects bug and + allows per-instrument change in midi velocities at the start + of any block + Add subroutine inst2chan to transfer midi data as noted above. Works with + Iv but buggy when used with IT and Ib +2.87 + Allow changes to and from octave treble clef. Instrument with it + must only have one staff. + Some fixes for beam multiplicity changes at staff jumps. Must still + use inline for mult. increase at downward staff jump. See sjb.pmx. +2.84 + Bug fix: dots in chordal seconds + Bug fix: Initialize ihornb for non-beamed, down xtup + Bug fix: When using "AT" with 2-note x3c rD. +2.83 + Fix problems when changing to or from octave treble clef. + Fix beaming (or not) and number location for xtups with + multiple rests. Still some problems with number height but + can be band-aided with number height tweak option. + Tweak error messages for options on "R" command. + Allow forced beam height and slope tweaks with 2-note tremolos + Allow chordal note with 2-note tremolos, adding dots as needed. + Fix call to ncmid in beamstrt when setting start height for beam of + 2-note trem, by changing arg from ivx to iv +2.82 + bugfix: beams with rests, not confused with xtups. + x option after slur index to allow slurs to go from one voice to another. + x option also for ties +2.81 + Allow string of rests to end xtup + in chordal half-note 2-note tremolo, make chord notes open. +2.80 + Add 2-note tremolos +2.78 + Expand bufq to 131072 bytes + Expand maxblks tp 9600 + Allow up to 75 pages + Index postscript hairpins from 1 up instead of by voice #. + Add option 'o' to forced beam for open notehead (\hb); set ipl(3) + Add option T[n], n=1,2,3 for single stem tremolo +2.77 + Enable AV+/-x+/-y to add vskip bigh before or after \eject +2.76 +2.75 + Bugfix: unbeamed xtups with dots: in beamn1 and beamid allow dotted 16th, and + 2 or 3 flags on shortened note. +2.74 + Bugfix: allow "0" as argument of @ command on lyrics string. + Check for and allow "\ in centered page headings with P command. + Check for and allow "\ in text dynamics with D command. + For lyrics string starting in xtuplet, insert check for inputting musixlyr. + For staff-crossing beamed xtuplet chords, if 2nd segment of a joined beam + starts with a blank rest, put '\sk' into the TeX. + To enable high-to-both beamed etup staff-crossing chord, for blank + rest at start of forced beam, shift \sk's from before to after \ib..; + so \ib is at start and note in upper voice has a beam to connect to. + Expand range of vertical xtup number shift, now stored in mult(16-22) + Check for and allow \" within lyrics strings, for umlauts. +2.73 (160121) + Dirk's "..." command, to convert "text" into \pmxlyr{text}\ and insert as + inline TeX. Replace all '~' inside "..." and not preceded with '\', by + '\lk '. Right after 2nd ", replace @[a,b][+,-]n with \at{[a,b][+,-]n}\ + Include definitions of \ly and \at in pmx.tex (2 Feb 16). After first ", + add (as type 2 string) '\\input musixlyr \' + After inputting pathname, change any '\' to '/', for Linux compatibility. +2.72 (160110) + Really finalize \mbrest...go back to 3 args to deal with clef changes. + Fine tune centered whole bar rests to deal with clef changes + Fix bug in wsclef when >1 staff per instrument, since \setclef + needs to know instrument and specify clefs on all staves for that + instrument. Ones that were not changed by user will not be printed, + and will be kept the same as before. + Fix bug with arpegii from one voice to another in same staff. +2.71 (151226) + Finalize mbrest mods +2.705 + Fix error message +2.704 (140614) + Octave treble clef + Make horizontal ornament shift (ornhshft) floating +2.703 (140323) + Option v[-]n at end of any figure will alter figdrop for rest of system +2.702 + Stem slurs. Only for ps, assume no other pos'n adjustments. Option "v" +2.701 + oC = coda (\code{10}) + Move iornq(29) (blank barline) to ipl(0) (changes in pmxb, getnote) + oG = new seqno + To do: fix grace note spacing problem (partially done) +2.622 + Redefine midtc(..) and miditran(..); clean up all transpositions/key changes + Kn[+/-...] \ignorenats at signature changes + Fix tie checks in doslur() and dopsslur() to subtract iTransAmt from nolevs + before checking and setting pitch levels levson() and levsoff() + Define midisig separately from isig. Put in common commidisig. + Use for explicit midi signature and for accid corrections to midi piches + in addmidi. +2.621 + Make keyboard rest option work in xtuplets. Created subroutine + chkkbdrests, modified make2bar to include calls to chkkbdrests as rqd. +2.620 + Allow user-defined rest height tweaks at start of beam. +2.619 + At movement break, change \nbinstruments in \newmovement macro; add + 3rd arg to \newmovement in pmx.tex; modify pmxb.for and getnote.for + to remove call to newnoi and change call to \newmovement +2.618 + Add option Ac[l,4] to set vert and horiz size and offsets to properly + center page for letter or a4 paper. +2.617 + In g1etnote, change if-check for note to use index(...) instead + of ichar(charq) since it was messing up gfortran optimizer + After pmxa, search for and remove penultimate line / + because it was screwing up linux-compiled versions + Bugfix: Increase dimension of kicrd from 7 to 10 in crdaccs(...) +2.616 (111110) + Allow hairpins to span multiple notes groups (gulps). +2.615+ (110810) + Fix midi when some instruments are transposed, by subtracting + iTransAmt(instno(iv)) from pitch values sent to via addmidi in + make2bar.for (for main notes) and docrd (for chord notes) +2.615 (110725) + Fig bug with size-setting (in topfile) when instrument has >1 staves +2.615 (110724) + Make AS[0|-|s|t]... really set sizes +2.614 + Mod notex.for to fix Terry's bug with raised dotted rests (caused + by double-hboxing). +2.613 + Bugfix: In pmxa, change "do while" limit to keep from overwriting instno. +2.612 + Enhance AS to allow s or t for smallsize or tinysize +2.611 + Error trap for "D" before any notes in a block. +2.610 + Instrument-wise key changes and transposition (incomplete) +2.603 + 101211 In getpmxmod.for, decreased nline by 2 to fix locating errors + following reading in an include file. + 101121 Added some error messages in g1etset.for setup data +2.602 + Correct slur indexing in linebreakslurs. + Account for comment lines in line count for error messages +2.601 + Bug fix: allow 24 slurs with graces +2.60 Changes made make it really big + increase mv (size of midi) ? Note: MIDI can't have >16 voices w/o + major reprogramming, and 16 may also be a problem (icmm) + nm=24 (voices) done + 24 slurs done + 24 simultaneous beams (Replace index 24 by 0, so get 0-23) + bufq*131072 (gfortran only) + getarg syntax (gfortran only) +2.523+ + Fix voice numbering for normal dynamics and text dynamics +2.523 + Version of bigpmx first posted to Hiroaki's web site. +2.522 + 5/26/10 Replace ipl bits 0-7 with ipl2, add new common for it. + With 2.521+ as starting version, incorporate bigpmx mods to allow 24 voices. + 5/13/10 Fix log2 function + 5/15/10 Fix bitwise storage for dynamics, fix segnoo string length. +2.521+ + 091025 Enable dotting 2nd part of linebreak slur or tie. + To adjust barno height due to linebreak slur, use \bnrs instead of + explicitly redefining \raisebarno (pmxb) +2.521 + Bugfix +2.520 + 090519 Enable ligfonts (special figured bass characters) +2.519 + Fix another bug which kept \sk from being output so misaligned some notes. +2.518 + Fix bugs: referencing fig data, char declaration for member of + common/comfig/ +2.517 + Allow figures in voice 1 + any one other. +2.516 + Allow figures in voice #2 +2.515+ to do: Change manual and activate rule against clef change in voice #2. +2.515 + 071222 Changes in getnote to allow auto forced beams to start anywhere. + 071206 In make2bar, shift fermataup7 to left over centered pause. + 070901 In doslur, check for nolev <=2 in case slur ends on rest in 2-line + staff (it was screwing up vertical justification). + n34 for tweaks to midi durations of quarter note septuplets. + To do: In ref250.tex, the tables where 's,t,)' is explained, the line + [+,- i] ... Vertical adjustment of the start of second segment + should it be replaced by + [s +,- i] ... Vertical adjustment of the start of second segment +2.514 + Changes in make2bar to get horizontal spacing right when normal grace + follows after grace + Changes in dograce to get octaves right for any material entered inside + \gaft, which shields transpose register changes from the outside world. +2.513 + In make1bar, near end, for forced beams starting with a rest, copy hgt and + slope tweaks to ALL notes after first, not just the second one, so if + there's more than one rest at start the tweaks are still observed. + In beamid and beamend, add stand-alone triply-flagged notes for xtups. +2.512 + Near end of pmxb, fix error trap to allow redundant 'RD' + Enable multiplicity down-up '][' within xtup. +2.511 + Introduce eskz2 for xtup #'s and bracket lengths, to remove bug caused by + adjusteskz as in bar 7 of barsant. +2.510a + Test: remove restriction on tempo changes in MIDI macros + Send to CM for beta testing. +2.509+ + To do: Correct manual on AS. "-" is for smaller staves. +2.510 + Forgot to declare litq, voltxtq as character in subroutine getgrace +2.509 + Corrected small bug in arpeggio shifting (ivx <= iv in call putarp) +2.508 + Allow graces in xtups. New subroutine getgrace. +2.507 + To do: Raise/lower figures. + To do: Add 24, 29 to list of musicsizes in manual + New sub adjusteskz to account for ask's when computing lengths of + brackets for unbeamed xtups, slopes and horizontal posn's of number + Bug fix: in beamn1, beamid, and beamend, allow unbeamed xtups w/ 2 flags + Add look-left option for keyboard rests, "L" in rest command, set iornq(30) +2.506 + Fix bug with AK, when simultaneous rests have same duration, use defaults. +2.505 + Keyboard rests AK +2.504 + Space after normal grace: option X[n] + Fixed og when nv .ne. noinst, by using sepsymq instead of '&' + (To do) length of xtup bracket when there is added non-collision space. + Trap musicsize if .ne. 16,20,24,29. +2.503 + Enable arpeggio left shift with ?-x + To do: In manual, arpeggio over 2 staves. + Allow musicsize of 24 and 29. Had to define meter font size explicitly, + also change font size for text dynamics, but not much else so far. + Bugfix in beamstrt, introduced in 2415, ip was changed before putxtn + was called, causing error in printing replacement number. +2.502 + Incorporate Dirk Laurie's patch to use { , } , for ties. + Figure height adjustment: append +[n] + Change ec font stuff in pmx.tex per Olivier Vogel's comment (CM email?) +2.501 + Readjust horizontal offset back to .8 in LineBreakTies + Fix zero-subscript (iudorn) in putorn +2.50 + Increase number of text-dynamics (dimension of txtdynq) per block + from 12 to 41. + Slur option n to override altered default curvature. + Allow default ps slur curvature tweaks with Ap+/-c +2.416 + Increase length of textdynq from 24 to 128 + (Todo) Add comment in manual about blank lines at end. + Configuration file: Define subroutine getpmxmod, check path in environment + variable pmxmoddir, check existence, read lines into bufq after setup. + Increase dimension on idynn in dodyn from 4 to 10 for max number + of marks in a bar + Increase allowable # of lines from 2000 to 4000. + (To do) Replace definition of \liftpausc per Olivier. + (To do) Fix extraneous error message if RD is placed at very end. +2.415 + Fix "AT" option: replace putxtn,topfile,beamstrt,beamid to use \xnumt + instead of redefining \xnum. Change font used to \smallfont (as for + normal xtups, + Allow slur to start on rest. +2.414 + Correct bug in crdacc when adding accidental to boundary causes number of + segments to decrease + Special rule for 3-accidental chords: If no 2nds, place them in order + top, bottom, middle. +2.413 + Correct bugs in chordal accidentals, related to left-shifted noteheads + (a) Special problems with downstem when main note needs shifting + (b) Assign 0 rank to boundary segs due to left-shifted noteheads +2.412 + Change default horiz shift of start of seg 2 of linebreak slurs: + -.7 for slurs, -1.2 for ties, + Use height of start of seg 1 slur itself for end of 1 and start of 2. +2.411 + "Apl" activates special treatment of linebreak slur/tie's; breaks all in 2. + "s" option in start of slur/tie as precursor to vert/horiz tweaks for end + of seg 1. of linebreak slur/tie, 2nd "s" for start of seg2. + With "Apl", curvature adjustments on starting slur command apply to seg 1, + those on ending command to seg 2. +2.410 + "AT" to allow Col. S.'s tuplet option. Simply input tuplet.tex and redefine + \xnum, \unbkt, \ovbkt. + "s" option in main xtup input after "x": slope tweak for bracket. mult(4) is + flag, mult(5-9) is tweak value+16 +2.409 + Bugfix in docrd for MIDI: Use original pitch in case main/chord were + switched due to 2nds. + Remove "o" from error message for "A" command. + New syntax: optional instrument number separator ":" in movement + break command to precede a 2-digit instrument. + Conditional output formats for \setname at movement break to allow + instrument numbers >9. + Bugfix in coding to raise barno due to slur over line break (pmxb) + Move date/version data statement in pmxab to a better place. +2.408 + Allow pnotes{x} when x>9.995 (mod is only to format stmt in make2bar). + Bug fix in \liftPAusep in notex.for and in pmx.tex + Character variables for version and date + For up-stem single graces slurred to down-stem, shift slur start left by + 0.8 so slur doesn't get too short. + Initialize and slide mult, same as other full-program variables in /all/. +2.407 + Allow AN[n]"[partname]" to be parsed by scor2prt as filename for part n, +2.406 + Alter PMX: put \dnstrut into \znotes in \starteq (for system spacing + equalization). + Put dimensions of double sharps and flats in crdacc (for chords). + Bugfix: Use sepsymq in LineBreakTies(..) instead of '&' + Use only first 4 bits of mult for multiplicity+8, so rest can be used + for other stuff. + Move stemlength stuff in nacc(27-30) to mult(27-30) to remove conflict. +2.405: Not published but saved for safety. + Option Aph to write \special{header=psslurs.pro} top of each page, so + dviselec will work OK. +2.404 + Allow slur to end on rest, but not start on a rest. Efaults height + of ending is default height of start (before any automatic or user- + defined djustments). User may adjust height as normal from default. +2.403 + Bugfix: turn off repeated beaming patterns.at end of non-last voice. +2.402 + Automatic repeated forced beams. Start with "[:" End with next explicit + forced beam or end of input block. + Increase # of forced beams per line of music per input block from 20 to 40 +2.401 + Optional K-Postscript Linebreak Ties, Apl. New subroutine LineBreakTies. + Makes 1st part normal shape, and starts 2nd part a little further left. + Enable arpeggios in xtuplets. Had to make time itar(narp) a real. +2.40 + Set up WrotePsslurDefaults (logical) so only write defaults on 1st Ap. + Fix non-ps-slur input to \midslur (third signed integer). Do not reverse + sign for down-slurs. +2.359 + Add error exit subroutine stop1 to make exit status g77-compatible.. + Absolute octave on xtup chord note was 2 octave too high, fixed in getnote + Fermata on vertically shifted rest: special trap in putorn() to set height. + Correct multiple grace note spacing for small staves (in dograce, + define wheadpt1 depending on staff size) +2.358 + Allow curvature corrections at start of postscript slur, in dopsslur() + Local slur options p[+|-][s|t] for [nos|s]luradjust,[not|t]ieadjust + Options for [Nos|S]luradjust,[Not|T]ieadjust,[noh|h]alfties: Ap[+|-][s|t|h] + Make t[ID] act like s[ID]t, most mods in spsslur(). + Add spsslur() to read in data for ps slurs, call from getnote. + In beamstrt, save args for SetupB in common comipb to save them for + 2nd call when xtup starts with rest + Add spacing for ornament ")" as if it were accidental, in make2bar(). + Horiz shift start and end of ps ties, dep. on stem dir'n, in dopsslur() + Horiz. shift start of ps grace slur, 2 places in dograce(). + Horiz shift end of grace slur in endslur() + Make st slurs into postscript ties. Separate subroutine dopsslur(), + Non-beamed xtup: "a" in 1st note or rest, before "x" (sets drawbm=.false.) + Allow two D"x" on same note. Introduced jtxtdyn1 in dodyn. +2.357a + Fix missing "end" in backfill.com, too-long lines in g1etnote, getnote +2.357 + Increase dimension for # of lit TeX strings from 52 to 83. + Allow blank rest in middle of xtuplet. Only mods in g*etnote(). +2.356 + Increased some dimensions from 30 to 40 to allow up to 40 pages. + In unbeamed xtups, "n" did not suppress bracket. Fixed in beamstrt(). + Fix parsing of "f,h,H,HH" in sslur. + Fix bug with cdot, note-level for slur termination (in getnote) +2.355 + Midi transposition: IT[+|-][n1][+|-][n2]...[+|-][n(noinst)], + n=# of half-steps. Restrict to mult. of 12 now, to avoid key-sig issues + Make midi recognize ps ties in doslur. + Correct ttieforsl so that it eats 2nd argument properly, using \zcharnote + to get octave right. +2.354 + With postscript slurs, make t-slurs real ties by inserting replacement + macros \tieforisu, etc, defined in pmx.tex + Check for open cresc or decresc at end of input block, using list[de]cresc + Hairpin syntax conditional on postscript slurs. Backup to fill in start + level, using new backfill(...). Separate height tweaks for + start and finish. +2.353 + K-0+n to transpose by half step (rather than just change key) + Allow "rm[n]" when nv>1. Require it in all parts. Just write a stack of + \mbrest's + Enable "Rz"; define \setzalaligne in pmx.tex. Special treatment at end + of input block before movement break, and at start of block after + movement break, using \newmovement rather than \setzalaligne, since + former already redefines \stoppiece. In second case, set rptfg2='z'. + Make clefq(nm) common between pmxb and getnote; change references in + getnote at 'M' to array elements, setting all new clefs as you go. +2.352 + Remove \parskip redefinition from pmx.tex; write it into TeX file when + "Ae" is invoked. + Ap to activate postscript slurs. Add macro \psforts to pmx.tex to redefine + \tslur in case \midslur was used. Allow slur inputs 'f','h','H','HH', + translate them thru mapping to (1,4,5,6) as \midslur params, then let + \psforts translate them back to ps slur macors. +2.351 + Number slurs from 0 up instead of 11 down, anticipating postscript slurs. + Write "\eightrm" instead of "\cmr8" for \figfont with small baseline size. + Increase length of basenameq to 44 characters everywhere. + Increase dimension of mcpitch (midi-chord-pitch) to 20. + Set default systems per page to 1 if nv>7 + In pmxb, move place where isystpg is reset to 0, so that \eject gets + written when there is just one system per page. +2.35 + Cautionary accidentals with 'c' anywhere in note symbol. + NEW pmx.tex with \resetsize to set size to normal or small depending on + current \internote. Used with new coding in dograce() to get right + new size in case user has \setsize'ed some lines to \smallvalue. For + \smallvalue-sized staves, redefine \tinynotesize to give 11-pt font. + Affects pmx.tex. + Continuation figure with fractional length. May now mix with other figures. + If another figure follow Cont-fig, separate with colon. +2.342 + Bugfix in getnote to recognize relative octave shift in grace at start of + input block. + In make2bar, initialize islhgt=0 earlier than before (possible solution + to Suse g77 compile problem that I could not reproduce).. + Bugfix in beamstrt & beamn1 for r2x6 c4D d d d +2.341 + Syntax check: Forced page break page number must be > than previous. + Bugfix: Define ivx when "sliding down" breath/caesure data in pmxb. +2.34 + New pmx.tex with redefined liftpausc + Bug fix with dotted, non-beamed xtups. +2.332 + Fix bugs in horizonal shifts, spacing, for accid's, graces, noteheads. + Allow arbitrary pos. input to W in g1etnote and getnote. +2.331 + Bug-fix in dodyn(..): typo on length of arg of txtdyn +2.33 + Caesura (oc), breath (ob). Set iornq(28), store rest of data in ibcdata() +2.321 + Rescale accidental shifts. Still use 7 bits but now map (0,127) + onto (-1.,5.35) + Fix ihornb bug in dodyn, seen with dynamics on lower-voice non-beamed xtups +2.32 (Noticed after posting) + Prohibit "/" as figure. +2.32 (Posted) + Tidied up accidentals in chords, do spacing. + Still to do: + check for "(" on chord notes in spacing algo + small accids + double accids + autoshift slurs +2.310 + Extra call to precrd ahead of spacing chk, and single-note crd/acc + shifts seem OK, but not multiple. crd/acc shifts not recorded 1st time. +2.309 + Alternate algo for accid shifts in chords. +2.308 + Auto horiz. notehead shifting added to precrd. +2.307 + Auto shifting of multiple accidentals in chords. + "Ao" in main chord note to keep accidentals in order. Set nacc(28). + If there are any manual main or chord note shifts, then + If any manual shift is preceded by "A" then + 1. Auto-shifting proceeds + 2. "A"-shifts add to autoshifts + 3. non-"A" shifts are ignored! + Else (>0 man shifts, none has "A") + No auto-ordering, No autoshifts, + End if + End if +2.306 + Initialize legacy note level to middle C in case user forgets to set + octave. + Shift xtup note? + Shift in elemskips rather than noteheads? +2.305 + Stop pmxb from multiple endvolta's at start of new page. +2.304 + "Sx" in a note means shorten stemlength by x \internotes. "Sx:" turn on + for multiple notes in the voice, "S:" last shortened note. +2.303 + vshrink stuff all OK? Description is in pmxb. +2.302 + Toggle vshrink with "Av". vshrink normally kicks in when \interstaff + hits 20. This still needs work. + Add " /" to last line if last char is not % or /. +2.301 + Check in beamn1 for single note before multiplicity down-up. + allow '.PMX' as well as '.pmx' +2.299 + Correct typo in pmxb involving PMXbarnotrue. + Replacement printed number for xtup: Unsigned integer after 'n' after 'x' + Minor upgrade parsing xtuplet options 'x...' + Correct dimension of nxtinbm in make2bar. +2.298 + Account for doubled xtup notes in subroutine getx (user-defined spaces), + by adding ndoub as an argument.. +2.297 + Created and solved compiler problem. Put drawbm(NM) in its own common. + Add new def'ns [\a|PA]usc, \lift[pa|PA]usc to pmx.tex, use them in make2bar + when \centerbar is used. + Modify \mbrest & \CenterBar in pmx.tex to use \volta@endcor etc. Have PMX + use right 2nd and 3rd args for \mbrest when key, meter, or clef changes. +2.296 + Correct printed numbers for forced beams with multiple xtups. For each beam + make list in setupb by voice of eloff (h-offset) and mtupv (printed #) + Increase lengths of jobname and infileq by 20 characters + Enable whole notes and breves as 1st or last note of xtup in beamn1 and + beamend, and wholes in beamid. +2.295 + Midi balance Ib[n1]:[n2]:...[nn] + Single-slope beam groups [...]-[...] + Trap "i" unless after accidental (main notes, xtups, chord notes) +2.294 + Unequal xtups with "D" to double a note in an xtup. + As above, "F" will (a) increase multiplicity by 1 for marked note and next + one and (b) add a dot to the first one. + Fix bug with e.g. c84 [ .d e.f ] by checking whether forced beam is on + when "." is encountered, then correcting beam start time.(end of getnote) + MIDI velocity (volume) set: Iv[n1]:[n2]:[n3]... +2.293 + Check for single notes spanning bar lines. + Correct various bugs with staff-jumping beams. (1) for 2nd segment, vxtup + must be set in make2bar since beamstrt is not called, fixing problem with + dot at end. (2) add ivjb2 to flag which voice has 2nd segment and fix + problem when >2 staves. + Add nodur to args of dodyn, so can check if stemless and avoid height tweak + Correct bug in getdyn setting flag in idynda2(0) for manual horiz. tweak +2.292a + Undo syntax check for Type 2 or 3 TeX string starting in column 1. + Meanwhile, Werner's problem with a mid-line Type 3 string has gone away?! +2.292 + Allow comments in xtuplets + Enable multiple octave jumps in grace notes. + Allow dynamics in xtuplets. + Fix bug in getdyn searching for end of text string (correct length of lineq + to 128) + Fix bug in dodyn, must ignore horiz. interaction tweak for + user-text (idno = 0) + Syntax check for Type 2 or 3 TeX string starting in column 1 + (NOTE: later undone!) + Syntax check for page number > npages at forced line break. +2.291 + Fix error in AS command (accid spacing for small systems), making only + one spec per staff, nv total. + Stop using MIDI channel 10 +2.29 + Fix error in console output format for # of bytes used in MIDI file. + Fix bug in dograce so no space is added between grace and main note when + there is a MIDI-only accidental. + Fix bug so oes?+4 works. It was too ugly to explain. + ...Different ways of storing accidental specs on input and output. + No longer zap \writezbarno in special situations. + Fix bug in dyntxt level on rest + Line spacing equalization. Add macros \starteq, \endeq, \spread, etc. + Activate with Ae. (Maybe later could input alternate values for + \upamt, \dnamt, \parskip). Put \starteq on 1st note in voice 1 + in the page, and \endeq on 1st note of next-to-last line in page. +2.28 + Flip direction of forced beam "[f..." + Fix beam numbering for staff jumping beams. Uses irest(23,24,29,30) + Fix bug in sliding ip's for txtdyn's + In dyn's allow vert. offsets +/-64, horiz +/-25.6 (store in idnyda2(1-99) +2.27 + Comment out lines in dodyn checking number of dynamic marks found. Voice + order may not be monotonic if two lines on a staff. + Literal dynamic: D"[text]" +2.26 + Allow hairpin start-stop on same note by disabling auto-tweaks in dodyn, + increasing dimension of idynn to 4 to allow 4 symbols on same note. + Increase voltxtq length from 10 to 20. + AS[-/0][-/0]... to inform PMX that "-" voices are small, and rough + accounting for ast's is done by defining effective headwidth + whead1 in makebar2 to be 0.8*whead. +2.25 + Fix logic bug with sepsym's when # of instruments changes. + Slight increases in default offsets for hairpin starts after "p" +2.24 + Hairpins D< or D> as toggle. + Many automatic position tweaks for letter-group dynamics and hairpins. +2.23 + Continued rhythmic shortcuts: space followed by "." or "," +2.22 + In call to doslur, change tno(...) to tnote(...). This was only + used when checking to slurs per stem directions, and should have been + the note duration all along. + MIDI-only accidental, bit 17 in nacc, or 27 in icrdat. + Use "i" anywhere in note symbol. +2.21 + Increase from 20 to 30 dimensions for movement breaks and midi sections. + Fix out-of-order declarations per mutex comments + Add "Bad error" and "Kluging" messages to log file. +2.197 + add /comips/ to save tie-check midi variables + For spacing of clef changes at start of input block, changed integer time + lastnodur to prevtn, so it works with xtups. Possible incompatibility! +2.196 + Fix Ickbug with time check in ncmid() + Interchange \fermataup7 and \pausec to get proper alignment + Enable French violin clef "f", number 7 in PMX, but 9 in MusiXTeX. + Add defn's of \hsp, \hspp to pmx.tex + Fix pre-slurs on xtup chord notes. + Fixed raised PAuse, define \liftPAuse + Replace \zbreve\sk with \breve. + Made "1" work as mtrdenl by doubling it and mtrnuml. BUT WAIT...what + about "o" and 1 as shorthand for 16???? Search for "Kluge" + Added "vo" (voice) as MIDI instrument 55 + Allow 3-digit page numbers (search for "toppageno") + Fix bug caused by prior fix (cancelling accid after bar line was ignored). + Fix double accids in chords +2.194 + Fix bug with accid/tie/barline/chord in addmidi by restructuring accid if + block. + Add meter to MIDI file with every pause + Purify FORTRAN? +2.193 + Increased # of in-line TeX strings from 36 to 52. + Fix entry of # of bytes in header of tempo/meter/key track to allow >255. +2.191 + Event track: Tempos, meters, keys all together. Data in comevent +2.15 + Pretty good midi capability. Still no attention to slurs on chord notes. +2.11 + 11 Dec 99 c rm1 + 11 Dec 99 "oes?", "oe?" + 11 Dec 99 Cancel slur horizontal tweaks with non-stemmed notes + 11 Dec 99 Error message for shifted, repeated ornaments. +2.10 (Version 2.1) + Fix bug with lowdot and xtuplets +2.09 + Fix bug with multiple ornament heights over beams, when one is . or _ + Error message from pmxa if rest on last note of xtup. + Enable 12 slurs. + Reinstate multiple rests at start of xtup. +2.07 + Combine consecutive type-1 TeX strings. + \midslur and \curve as 3rd signed digit in slur termination, + 2 opt.int's. + Fixed breve chord notes in docrd + Check irest(28) as well as vxtup when setting nodur for chord notes, since + vxtup isn't set until 1st *main* note in xtup + Vectorize nolev1, slope, ixrest. Klug fix for xtups with variable spacing. +2.06+ + Make deterministic the beam slope calculation when there are an even # of + slopes in list and middle two are equal magnitude but opposite sign. + pmxa Trap for "o:" before 1st note in block + Partial bug fix for 64th notes in xtuplets. + Make ixrest a vector, since with new time scheme may not finish xtup in + same notes block. + Increase max # of pages from 20 to 30 (dimensions of nsystp,..., in pmxb) +2.06 + Account for changes in nv when computing \interstaff. Add a counter + nistaff(iflb) = # of interstaff spaces per system = nv-1. Set whenever + setting isysflb(iflb). Note nv can only change at a forced line break. + Note also, iflb starts at 0! +2.05 + Automatic start of new notes group with part 2 of staff-jump beam + In make1bar, set irest bit 29 of lowest-voice note at same time, + use as flag when making notes groups. + For now, remove dummy blank line at end...it zaps terminal repeats. +2.02 + Fixed slur-counting bug for multiple, slurred, aftergraces. +2.01 + Increase to ask(1400) + Increase max forced page breaks to 18 + Define pausc for centered pause +2.0a + Insert dummy blank line at very end to handle input files w/o terminal CR-LF +pmx03r + Option m[n] in S symbol to change musicsize (for parts) + Double dotted rests now work. + Write file name to log file + Check existence of input file + Allow 24-char jobname, may end with ".pmx" + Comment out time stuff + Replace 3-argument getarg with 2-argument + iargc + Fix bug with negative noinst due to nint<=int replacement + move lovation of iv in isdat1 to allow iv>7. + Set nm=12 +pmx03q + replace int(x+.001) with nint(x) + Write TeX file name to screen and to pml. + Replace char(...) with chax(...) to sovle msdev bug. + Bug fix: macro terminations when M is on a line by itself. + Bug fix: don't accumulate space for XS in pmxa. + Streamline Macros: use pointers to bufq instead of scratch files +pmx03p + Store input file in single character array bufq. + lbuf(i)*2 is length of line i + ipbuf is position just before next line to be read. +pmx03 + Optimize read/writes +pmx02 + Fix line count (for errors) when there are saved macros +pmx01 + In optimize mode, open/close macros (Watch out for residual zz files!) + Command line input + Option Ao to optimize, otherwise normal processing +c diff --git a/Master/texmf-dist/doc/generic/pmx/README b/Master/texmf-dist/doc/generic/pmx/README index 492559b1b0d..18a886f436e 100644 --- a/Master/texmf-dist/doc/generic/pmx/README +++ b/Master/texmf-dist/doc/generic/pmx/README @@ -1,11 +1,17 @@ -This is PMX, version 2.8.4 (2018-02-12). PMX provides a preprocessor for MusiXTeX. +This is PMX, version 2.94 (2020-01-27). PMX provides a preprocessor for MusiXTeX. -pmxab builds a TeX input file based on a .pmx input file in a much -simpler language, making most of the layout decisions by itself. It has -most of MusiXTeX's functionality, but it also permits in-line TeX to -give access to virtually all of MusiXTeX. For proof-listening, pmxab will -make a MIDI file of your score. +pmxab builds a TeX input file based on a .pmx input file in +a much simpler language, making most of the layout decisions +by itself. It has most of MusiXTeX's functionality, but it +also permits in-line TeX to give access to virtually all of +MusiXTeX. For proof-listening, pmxab will make a MIDI file +of your score. scor2prt is an auxiliary program that makes parts from a score. -The author of pmxab and scor2prt is Don Simons (dsimons@roadrunner.com). +PMX may be freely copied, duplicated and used in conformance +to the GNU General Public License (Version 3, 29 June, 2007, +see included file gpl.txt). + +The author of pmxab and scor2prt is Don Simons +(dsimons@roadrunner.com). diff --git a/Master/texmf-dist/doc/generic/pmx/accents.eps b/Master/texmf-dist/doc/generic/pmx/accents.eps new file mode 100644 index 00000000000..f51f0419971 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pmx/accents.eps @@ -0,0 +1,1145 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: accents.dvi +%%CreationDate: Sun Feb 21 13:36:34 2016 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 45 640 443 743 +%%DocumentFonts: TeXMUSIX20-Regular CMBX12 CMR10 CMMI10 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -O0.25in,-0.22in -tletter accents +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2016.02.21:1336 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginFont: CMMI10 +%!PS-AdobeFont-1.0: CMMI10 003.002 +%%Title: CMMI10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMMI10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup +/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMMI10 def +/FontBBox {-32 -250 1048 750 }readonly def +/UniqueID 5087385 def +/PaintType 0 def +/FontInfo 10 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMMI10.) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/ascent 750 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 127 /tie put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5 +45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4 +7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7 +72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E +BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89 +974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674 +11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2 +1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C +7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B +0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085 +EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37 +404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133 +78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF +A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE +88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4 +C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC +BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88 +98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760 +E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44 +143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3 +981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490 +88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285 +4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683 +FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F +347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F +FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB +C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04 +B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733 +F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA +29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66 +36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12 +048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0 +80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C +9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B +75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E +4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC +74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B +D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355 +E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097 +EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D +543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883 +710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6 +EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F +7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93 +03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2 +01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89 +500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F +F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208 +AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE +1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915 +85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C +4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1 +6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F +55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18 +085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02 +BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951 +2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D +CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E +BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E +D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1 +991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125 +6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754 +E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80 +E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1 +B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3 +4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65 +1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB +B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7 +8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA +FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6 +AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E +BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051 +E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD +38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3 +7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751 +2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27 +DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D +22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6 +8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB +44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90 +D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A +42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF +C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E +0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE +66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6 +E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1 +6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E +1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10 +B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B +897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E +EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40 +A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3 +F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA +A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126 +2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6 +51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3 +598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F +87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE +178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6 +4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78 +7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6 +AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6 +3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379 +337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547 +C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5 +DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA +7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD +6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC +98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355 +821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4 +C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886 +7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6 +B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16 +A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325 +23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF +C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3 +969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10 +3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B +9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725 +1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239 +B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966 +95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7 +FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE +44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986 +FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4 +E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA +633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D +6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F +FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD +375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2 +6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7 +EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C +E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D +F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156 +DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891 +D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538 +D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4 +9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B +9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6 +B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0 +D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF +8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93 +FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26 +B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F +00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50 +909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49 +5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF +7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA +BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0 +C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1 +BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37 +BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D +4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075 +94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1 +F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9 +E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA +92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0 +63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A +CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271 +B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9 +5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E +86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0 +AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180 +3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC +35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD +155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580 +AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255 +E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F +226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496 +9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B +8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B +919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE +A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7 +9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0 +523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7 +88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D +2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF +AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66 +B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D916672480464F7E22 +CA6E431FE38D3FC019BDD229E064B72C545C61C6EA55984565CCA88ACB01F744 +3B4593CC8940010E0BAAABF2916AC16E116A1D859D33BA673EB3C4E53A20890C +40AAE11ED78F50CBF337AA14142CAF866D317D14BD18C5D51051A0F07837E003 +01C38255280BF78B391745DAA0113E9DF8BA8A60659187B460BCE00EE2EF8981 +DC7B23EF5FCF822EF5291A4B1A48CE07C78463FDD89CA0A2B44CDE13F73C4354 +99BECB008D72D32547451602077C0D2F8B1B17FCE63228D1436F461BED1B4EA9 +F4EA9D66070141A23B2C6DB64E8173974BFEE3495376 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 18 /grave put +dup 19 /acute put +dup 20 /caron put +dup 21 /breve put +dup 22 /macron put +dup 23 /ring put +dup 24 /cedilla put +dup 25 /germandbls put +dup 26 /ae put +dup 27 /oe put +dup 28 /oslash put +dup 29 /AE put +dup 30 /OE put +dup 31 /Oslash put +dup 32 /suppress put +dup 46 /period put +dup 65 /A put +dup 76 /L put +dup 94 /circumflex put +dup 95 /dotaccent put +dup 97 /a put +dup 108 /l put +dup 111 /o put +dup 125 /hungarumlaut put +dup 126 /tilde put +dup 127 /dieresis put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA6B0DE25D015E874D9781C6E58BA3DED8555858792C68064773D72E45B84 +ADAD33B9E15B5A6A25612F737876399278839E3C2111A05D71CA7D9E3F827A2C +A8FC1D6F2939F0631048FFD7F31682DA828E01531857A3BD1BD163518B525EDB +3004C44AEAE92C7D6E49A68F23BC5D249C4F34A7414158B385AEDF0D4068E59E +572F18EA1B164627634D49F5942122649EE6B65CFB15D184DE32D70E116BC5EB +64FDE5E007E243BC3270D1D797D8A63194586DD11A074F3F0B29ABD81E289B58 +C0B3D0FE267EE0682D21664D35522EADAC9FFE1131374EB2AADDB2337DB2A016 +EF151F02BF3BAA09ABE4C1BB62EDA276008395A897AEC52D74BB6747FB9CD5A6 +33DF53752834D0BEA5CD32D55AA3E61DCAE5E57A9D3AD3DED4F1EB816ED38265 +BF356222C354FBF375EC58C2E9FA510419AB80F1B121E0DBB1291EABC3C1681B +9266B0BAA7F004B5D37F7FC2942673BE5FD5E91307DC570EDF6AB622B948DBD7 +507294E341DBDFA8FE1EEE5C4C8248E590D6C483705CB60F40C4860B1EE04F59 +972D72EA028CA0FD447F078A7CD8B1719D6C9C458980A3690A84614077D7D036 +EE1B9492E53D785C12B6AD35172B26943C56487BB7DDF90F0B10B975B4E3B65F +483BC8155E7DAD9D0E23A165C83FC3D6CACC6E5C69CDE3EDEE000C3C6CEB6EC4 +1CE1FA470E7F992C0D5CC50A36A9037DAF6FD2A332787E2DC69F55D9D312A15B +5D2711A37DCF54B21AB4A5DFD1227CBB21912F2881FA513340102CC18D64411A +41FB44D0E3A577D784872CA691EC93BB025AD0760B0D69011C6F6E6000F11FC2 +357FA3ABC25330D3134DE8F40C716B11D0A6E396D355576B9E53C70763B26763 +27EC212DBEF80F9865CDBD6441ABC890E170EFFC12D2D1F2356F8A3D634E5AA9 +137DBDD228B75223D15695B6ED06E7FB334F4F2A5BEB4C0A925139CDAEF7E741 +7850981E2FC2BB60E3AB70FBF4A282CE3CB43CD00D5017219264F47E5F287393 +BDE47F4A0FB2D029B166D01B44818AF5389329FE1DB14432617CA186D413D7FB +DE7A1DE16C177B128893D0DE27431534700371469A49A9C05D6FABB7A8C644DE +59BF031EF5BA8990633918F5A211CC9414A94BE79E2F704DEEEB76DAD21733DE +55FA05C2A592D1E80050D3E2B615F6F492F8D3AA12B7E2928E87443D6FE06977 +66C2C86C378E8C16EACC723052C57A8D7CA479E41B23C66518608AC5D90D8ABF +8C1492282910DA2DF652D357596E3A2D629461953F256D85FFA25FBAE4BF76AE +8BB9A8C848963020A5B15F862E7DCC78F25D7C5647AC7A395E0A83ED0A777D02 +3E226271C826E5FF80FBAF21BC9EA91B74EC159DA81A275C732DACE2E77C4444 +9EF06590F446448C1DADBEF2BCEE271D2BA5DA1874A485BE3CBF2F8211576162 +D806F8F5A1C1D177D8345299B536DCB10CE7B05165DCEEFA72DC1B32829F1580 +5AF829D5869F2C70B0233569EF120DFC5F5FB5FEDADF4E23A07F6C0E1387DD54 +F5C8BD071C4E9F79ED12C18200177C729F813D56D632F88A4EF310FEDE65CF0A +519FB5A109CA9D14EB30F6F4C1B85C7C52B1620851BE2D39031BCFA0821FED4A +2A8D9F8B0FEE253FA7BD5DCFEC68DCAC374CC58F53516ECD13D631D0220B9D12 +A4FB00F763274628831334E1E727FEE910CD83EAF19D803FA4B566D7ACAA1BB5 +BB81CDFB6FEE81AFCC44A5C176DDF5EFF2C02F57FE5DDAEF20AAEE8645E1F5AC +047A8204F464CF29A60BA4DEAE3FFB9A394A21568AA5756B2072DB14584DFAEC +37FF325F2C397C3D4B3BC97F1CC3EEFB3E577C48B5548AF39513A0614101B04C +BDDA982E68D06BEF3405EEEAF0E94D35858F00E6A27320CF515B7B8AF90D0682 +E89F0DE665C15797687C7632A189CF44A025208FBB7013739BC3BBEC27564A3E +4D7B473606A827BE2D3F3CE87AE338F0EC679E1C63E8243807390B2D12C84419 +356DF4AAEBB939DE320592ADCBD738746D3E9F1CCFFB3932AE80CE06895EACC8 +15D11C5043C96E89E9C036EE6C2191D26958AA329DDE6CAB1E9FEF16322F936A +48395AB4A3F9CEAC274305B54CCE2C3B7D51A061E3F7734DE2DB7D9E0B333DAC +A34F1E77B2FC8CF7B612D1D4861AE5458EF2CEE3F3D44FD65FDC0F4AB30BA6AC +4245F76C39075D9EC1A987BD461FC72472E528053EC041E396333C90480C82F2 +BFEE3E5238AB3271A5B75ECE9721E484AEA8DEFA2A7580CE960BFB314E1BCD17 +59871F1D84EBFE2F44AA6A60FF72940BA3ECFA1C2AD0E4174917B2684EF827C7 +9E742336A93039AF47F5F3FD6ED94DC2FD9C5DEB0EC87EBF8DE7F77FCB8A5EA2 +C99F29B4A22D9E9AD1345ACE0F492497BACB4DB51595758AFDC9C644CC5BF728 +A2044B1C0EE6096E008AD67226A9ABBB491C4139F1F5F2B8AB0B4503D1E9AA8E +377610666E66BF183BFCA55397E2CC27E11DCFA24B47253A03A99363DD7B4CE5 +38113E5BC6BCCBCE4D0F09A5DC24D41FDD14AC7C31D7A36B38DE952F20E91B9F +1FFF741056B0E064DF6E7494F86F8C3939211D916712A414BB10FACF6C427A7D +2A858E0999113780E725D31915DB1B2049FA929E4D61960B8408BF7CE6B50320 +2AD177075BED89D832B806286039E75042D590F24D8FE9F50D35EC6BBAFB7C8E +37A821C28E4BCB80DD25CAF8C992AB1C122C7ED7BA6583A6C2EB5F2781310B9F +71EF1D05A873B258256AD59910E1B9D0959793EC2AE0FDEB52BB3553777BF90A +75073302BBE80809A0E934D63F193DF73DB857E80BB677C002F5B67650D9D434 +956C7787A6E90159AA49D316055F12C89AF17686542CC2D5F3E338816E6A00C6 +D1F4A994FD05DD0D2954B32F80C37FD41E6CD2CFF2A335D8E21BDEAC7BDE74DB +E7654F3BBD951BF1781785213D442C049956A04CB4C3DD6BB91A7926694EC48C +B03CF1EACFD31FEE3C7AFFFF0C541ABCE1D7B9AD890D6BC64614C5CF9B2479B4 +E7C3BDF225EDD7CE0EAF2EC676BF0059B715DD5462BA30D79D3DBD0851B8BC5D +A5D6AE5DB8C2A8676394B9AFC566EE1F7C23694636BECCF37854EB8D1A83149B +DB16A1AFE7D791B07EB542990B715D2F0275F485F8A27B768569194196139732 +69D39C7AC30DC3D3C5CD3B5E0513A540D0C7575D56000265BDDF7E05182EAB8A +2552D56AA3C47CCD8C1D6E639E7F193BE97BC04E27182EBC4DAF4EDF918D5DFF +4919FDAB604E024605457F1542C9D6103231E07E329746C603BB348538AA9E7E +A10777B121C420A66285B634B8AB297A5D347483B3D007AA801A46BCA9E0AE04 +79A2DE64C1D02FD6CAB479553AA9B765C965D69113E9FAC007352614C0B6C531 +C06E1725F3921569489DAEBA2A55A24376D02217FB64BD239285BC326D3CA20C +489EEEE1EE3B133ED53C51EAB75CF06C2B39A0898B7CC02FE9FAAE87F5A611B1 +D378B62358BF5E25F65788D4F82CB6337B999E290BB4071162282D094BE1C031 +BC75811A1DD5E64C58133F9A3E0EBC98FE3E53527BB50F8BE40D53CE6E71799B +0C843BA365A2F4BABA71C8F79B55F4F4B85119DC42AD7FBA3CFE5A2C05726643 +A5487ACDE14AD769C9FC397A5AAEFCD3D40868AFE8EE3233385559F8207716EF +512E25143354112A94A8078E716ACFC5623ADEDCB1A2AAC15697873546780162 +645D80F81FABAFA22D9083A3C41D2DE357174437979F6EBF8F421F50EF88D987 +33C2DFE909C8C5A88B62917924175E42D35054A32489D47C933BCE7D86B6E212 +A934304AE22716B20C8EB6F4E3BA93D4195967818AC4CDAD4D349F459C06B793 +E2E898D2E498EC6EE98660AF2E60E5A9821E3FB5D5882F227F5E02F7552A84D1 +5D6CD8EC3984DAC23909C658DDDC822CD31C8BF81F3C97ACB070F0FB855070AE +5D6C0A45E70C0BC64BA6EF14A8EE2797590E6D3576CC4E86F01A83EA8F7A255A +3DD9F7399710FFC6DFDBFD53FDA46C8F4E3CA5C117DCBF87E337517F39CF2A81 +DA04465265B92D93A6176BB021339917ABC323B11AED08B5B3D616DEB8FA7B76 +51CA42570F44CF369F7B491D1916BD5CF6DA9C0E373AF9C87FFDEE82C88D4662 +0819A46222B5CA0725F074B827A868D4872655A2BD4FB49E60F202CF6991AD87 +365EDCDDE2FB1EC836470B81B8C9C85DBBF03EE94C0954BA226146FB8921E919 +8EBC370BCEFD816C3ABA3EDB74B4B0A0C0FCF9D014AD737B1E4E99330959659D +7E66B007D290E2243487507C2378201CE997FFE034CB211FE6A09ED38DD14C29 +490263CB36DA7E7AD15456A98B2CD42EBD483AA357ED46F6FECFB20A448221C2 +75E205F217EDAFED6CA09BCE61E8CBC89F09F91750A1CB36D5E23009C938389C +E30A3886FE98AECCB04093C0DDC1AC4A2265D1A370F7AAFCC119EAC81400B855 +6F77DE10D0077EACE4FAA4B1579EA116FFA6C2438F1EFA03A226E33CFC7B84E3 +41BC8CD681027AFEEAB6C0CF88498A1F22A9523974FCE5B9EFC9DB09F0BBE4F4 +39B2E3492CB90468C5D8B8C94CA7847135E6EC3A7D157D101E7A9750DD47D956 +7F5F4EFE3945BD5CD0F249C067A94120A37D4D22E38D5E473887DE036CBBBA11 +B787067D0B48DC3FAF66EC7E190BBCEF473F3785C5FA226BB9E115F6013EE2A4 +52B9019599553C2346B347A6C8E863921B24278DA29CF6437A796C44BFE76A46 +D8C0539B41792E6BB9F821F8CE3296FE6A233884F91A1EF27A5E189C27712418 +383B0C6AF161ECB1B7CADA28487C67CE56285D3D4DC520D171AC6C66FE1F4182 +FD039DA2F5CA498F00A80DE6B199E69ADB7F2A2612217F9FA876C0B3FBA488DB +5F3AD3F66A5AA600D818F876D2C76AAD1D911CCCFD2670AB6296FA60279A82E0 +E3579DF4826697FB1F0283A69E757D8935884179C5451AF8B399B48DC3C28FFA +A903DD15CD931F9328E806306889A3A8708B089A0BB453B52C71537278B7C081 +6D22FA50FCB41BAC3820EE915955268578F64C07E7499C16184B911E125BA281 +B53B4A29C6B53E99D39B8BA609BFF6403FC8F3C98E06FA6DF9C7AD42F76F0750 +7109D4C9FFDAD720DACFB5D84704E39BAC39CA4834EAE46C01EA49A82F82B438 +760EE11B29E9DF9512827E980E594B34FCF388FE34B8C5A8E15A468A50E7A1B4 +ECCED1D2386F3BD5B9EB4C4A30FB76CDE3917F660B6CBD804F6D1C6AE0403C2D +6B40A6D5F13F2624279924A9A1BE472F17A18D466E40C5FEFE673E4C7CC2CCE6 +A1007F22D5F42C9DD1DE9F35FD693AF04668D139B7ADC4C9CBB6153042EFC469 +91EB6730C4FBF1874AE24D20FE93AFE4948E6D5285AAFAA103FED500328B88FE +F05AB71B6683B2DAD793448FB2ECFC3360B577EDCF1A384230B0E0C1EC47A11E +7A31EB3B224FF6B7BE8201F4BCA49B03780BBC753F789350328C9C422AE18B04 +1C14524B86373BA9C73D98CB661689ABD0D2A966D98AEE56BB6042243ACDBF91 +184AEFDDF2B41942B72B6C3358D233BB6DC8B1761DF56B5F15C00A159F80102D +E7D02DCDFADB7B173F7B37EAF206A731236678E41A14DA8FCD63F26517225F33 +5929F33A68F459299FBABE2094675D7D023B8364FD57138773D1EF33CC620CF7 +9F7506F77EB5951F5D1C51E15FB7EA1369CE5B7148A9D22B34F30880A19A7B99 +A57B26A897BE67183F5D457BF1C4A71380D410C321D2580C33213CC9CB07372C +EDAE3C4111BD41E90DC26CAD0A10AD2104DA0D4BFB3A62282A3F3DFFF850A985 +39C3D57505E266EBC2E91A27A14F0E917B9A8F6681195746A3C7558F3CFCAF00 +C871F110811D0EFCDBA3A9F3F3C56C43003D26486C972D8211C41DC1B4AA2335 +2AB46E4C3F6F3D70BD58A146484F41F0D3ACE414063200AAE1A03BC431E452DC +1359911A5432037E3820545D5262DCD426912116AA1C2CD77C4F82A0CB9C2941 +891A235128E627886D6BAEFED699554DF04BA4F7B9AFEEA8E276FEB648A794E8 +6574A8A647A730DF4EEF6160CBA9A5CB2CEE710542DD0BD787F492CA713F41E7 +D41F3630EF019546860E5872D5C5419E03A1BF2612C4C30C1C4FF61D61F1B9DE +E020DF01A876D068274BBB50F9C6DCCA060524818BF1CABBE668D5C3B6BADBEE +EAAC69E6A7C87B849A5040E293799892A6F516C8E748948532BF285ACD182CD6 +426AB87E99B4A3086C0D40563FAB9873954311D4ECD4071B45A5A18DE65034D0 +CC5768DC673243A7E81D77858E63FCFE7F11E29102901C518A2837DEED861E2D +433DF012A2EC910BBF595C1EC78C641A6316A2268F1DD5393F08D1728139F37D +B2EC3507F7CB271C03FCAED8334EACE169D0DFB7C516C6AE99F17428CCA633BF +2862AB61B33656C96859B7F15937038F75F3C648C3E7D4054EF64DDADC38DF59 +C8460B2B86A2BD6ADB913472083A122FD5378E3F86AEF654A8B0CAEA7480D92F +0333BC18983EE00EAE93CC6C6845BB435E2DAAED437DB4D0AA569322D1E59613 +84FBF63BD521236742C9FAC67070F026EAEC3455C90F1D36E21DFFAF0B828F45 +1AE2E31A0B5B889F84F3F7A2C2BC1BE64CD3D925B4222284727A23837191BEE0 +404C80BDE4CCFB9AA802F3002A2924F449D390BB0BE17AB7384BBA04AC9E6375 +FE9BAD741CD5267EF8BDE5D7CC3F82379973A653EC4EA229981975CA2832C2E8 +2B12307F60C854A327057CA2DC2DE0A5D2E096C832747168BBC25A3F5D47A279 +08FBECD7EAC521F78BDE171FFF2A3B0A3534A3E5466BAA838CB92AFF9F0924FF +69E1675AC424EAD43E622096C792EE26645F1458326424E96582E7F178E8C52B +75FF37BB7F4332DD9B83746022FBC96286ED617F30D6087BDB8D72F20BB9FA08 +AB4090DEBED843C4D8C479494019ED7C604962EB78B915C7332D78A626D76FFD +B3D1BDB0EFC34C0DAC467D633AC93D98B7D56608733918E9BD9A3648564F4308 +3C1EF4617B7B3480C591C3F2AABA930D3162AEDB1E661EBDC830383A9D5CAF97 +11E55EA2D5AE36ACA2155A504947187A4EE6587FFE33198D8D9145770C400B2C +FD8191467179CC979A6FBE6DCD379BBE240514E2F15A362AEDF369A4D9F59C30 +BF14BB039FAD6866B77B8CAF088EEF2F506BBA1977CECCABF7595A94260615D8 +0538013DEC9B305E9255FB5DD2478F07049BEC46D3CEF5D19BB35FE555DA224C +F9BDAFA574C89BC62032085C8514E7D56FE84483E550EBD7FE4E7B4F3925D25C +B59A77177E120E4E9447DD10437B610C53A3184CB168C739E8288273419F3393 +ECB3AC0907CDEFC793B960637F99B884637328F690D0B3CFD6FAEAB79F30D94E +0DB440205A7C7E8500B2A419910DAE632270967D2117044E079B5DC46A7AA32E +C49EA316416F6A5375930A6B2B261BBB7AA059CB4F971B887DA18756C63AF40E +413EC7001D7284DD1772B5AD304A0696EAFD72719DC22B9CD36B19038696F871 +E4E0121CD16AB1A57866017B2102C6595DF82189E330018956CCD377F80301B2 +5EFDDF1C5ED9C7CB2DDC67444F9333A69F835EAD82334D1289FA059A3C0D5E3E +5F6751536A0BD1DC82EEB54BCC8B6385AA1DC3DC759694F69474E1AE46618C6D +49CE13EDE23F7387C697011834C42B47B6408CB2235EF200D7016470436A9DC2 +4D6EC38B7CF0DC4D3D10540B6D884A8CF8B9CA6C08A3A9ED75BBC804E7305EDA +409B97C5B6E7B5C107E5755B3BE89104D40B5DE63173B33D7B8BDFD4E2CE1356 +775BB53D5EC5DADE022EEAAB9004161842E7CA8CF452BA74CB6839FBCDA9B119 +DBECEE1118C073908430BD400CC34D2184FD6315149EFBEF420363062771EBE5 +E9B713DE4118D491FF00E54DE454C726ADB7F1E08137B8B11B937D9421F7377A +D51616DE54341BC82D0EC1564615853F80C33BA1C0F4C15BC485A8CCBEDC1A3A +F638986F53C9E7E917AED236E40DE4220811B76FB5DC312EC0E452D03A24176E +4F33E7082A9C50A057776DCAC54ECFF72DDA6EDE24493D13E3A0A3218FCC9AB0 +0D05389E41F6070DB554201FD0CF869287C990A1525B2C201F31B10586ABEB98 +7F7159C50DC857A15217A30657E3072F7F4A419FEDC6296C7E0F43B16A51E399 +9B03CE2BE43628A1A4EB141D70B634B91DB1711BB8E7CE101D43CB6740D8CC70 +EFC295ED5F578DD576E42D1510A1014A8ADA918043658F4BBAD3574A6133A609 +9B5CF5CC326D63F48C8C468735375DE35A9D64E4484719AADF563235E334F1CD +1882B2FA73AC2EC4B342162D997416B9EC92E83590466066363516F67D419769 +1D58134739543B229703DE48891740B8E656C1B528D31966E3889C0B6706D3BE +C34C93838A1A27722AF8AC284EC003E909131C78A3EFB616425213101789FE1F +D6C344DDCD333087C09C92A32A3C698325FE575968912BC23BA338DEB7D243B1 + +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX12 +%!PS-AdobeFont-1.0: CMBX12 003.002 +%%Title: CMBX12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup +/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX12 def +/FontBBox {-53 -251 1139 750 }readonly def +/UniqueID 5000769 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX12.) readonly def +/FullName (CMBX12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 52 /four put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE +0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D +2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 +1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C +42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 +FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE +78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 +22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE +A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 +4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 +4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 +95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D +9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC +5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF +9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 +CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 +BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 +9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 +EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A +D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE +2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE +947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B +0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 +4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C +BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 +F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 +6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 +D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 +F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 +481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 +FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D +419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 +7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B +70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 +2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE +0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC +9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A +C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D +1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 +A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 +21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 +7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 +17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 +30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F +3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 +96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 +B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 +1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B +57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE +B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC +8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 +8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 +B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E +BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC +21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 +D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 +FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F +A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 +A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 +A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA +DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 +7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F +07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 +BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E +8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 +E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C +B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 +45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 +2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 +5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF +A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 +5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 +E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 +5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 +6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 +8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB +BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 +9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB +B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B +B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E +8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD +595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E +FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 +13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A +FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 +DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB +313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 +C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 +F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD +DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 +8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 +E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 +A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 +C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 +417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 +19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 +9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 +12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 +3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 +A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 +90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 +3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 +B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B +82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 +1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 +AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D +9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 +2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 +99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A +31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 +3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 +F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 +70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E +5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 +84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 +BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 +8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 +5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 +9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B +F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E +94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE +0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC +E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 +7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 +596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 +F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E +7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 +1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 +AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE +4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F +744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D +67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA +054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA +6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B +8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE +CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 +EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 +C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 +57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 +5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F +C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 +CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 +848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C +B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB +77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 +87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 +3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 +409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 +A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B +72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D +99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD +8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB +E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C +82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 +C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 +EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 +23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A +59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F +C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 +1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C +403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 +1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 +75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E +0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 +82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 +C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 +A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC +9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 +0693AAE0FFD5C119D11E5D13743E28D843B0F2EE315A2ED05A510CE53A2D06A7 +0C076D4B6BC2B6A928553E7F0FD472760167DB486A777259FA74245EE37D0125 +47314DEE4B29E5D22180BDB1BDA7D33406FD340DC3991F50800BDC90F7678EF1 +1064986DDA53A77FBE2EDD38E20C41EF86CD50E8EC167344A3F3B3C3BD83CD80 +87BE64CAB701D25CFC0796C099C07882A4332A5588B9900849925FE82DFEB1B3 +306700778714A8D72AD7F55F8836D0C1E2D6761CC3499C1771035D21CF191A2A +9F424F1AAA20430004FE7917E3A6199B483D1CBABA5ECAF65287B7C389E86AF0 +CD55328B3E14C9688832B25EEAA05B69CE25CA606368FC10F30F6D04E5099566 +0F0497F4676676DDEB198758CBC2742F5F5FA5B904616A4F6DDA098FCA6837C1 +D16539998B5F787C29720DDF8A817E5AE94832178857EF7FB6DA2FA0E8BAA5C4 +62DB63EA840133874605DF90C8D027CEFBC212B9E2480DC7D4337D24F5377529 +CF1F14F3FA398C621ECC8AAB77BD1278DB82447A4B3A0784F91EB8706AD2EDEA +8EAFF674B892ED3B33DDD9BF1A5A8E002DDD34D4172E9B51F4716DDDF3E2 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: TeXMUSIX20-Regular +%!PS-AdobeFont-1.0: TeXMUSIX20-Regular 001.000 +%%CreationDate: 01-07-25 at 04.07 +%%VMusage: 1024 35768 +% Generated by Fontographer 4.1.4 +% converted using TeXtrace 0.45 and modified by T. Uchiyama +% ADL: 701 299 0 +%%EndComments +FontDirectory/TeXMUSIX20-Regular known{/TeXMUSIX20-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +20 dict begin +/FontInfo 16 dict dup begin +/version (001.000) readonly def +/FullName (TeXMUSIX20-Regular) readonly def +/FamilyName (TeXMUSIX20) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Notice (converted using TeXtrace 0.45 and modified by T. Uchiyama) readonly def +/em 1000 def +/ascent 701 def +/descent 299 def +end readonly def +/FontName /TeXMUSIX20-Regular def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 7 /caron put +dup 62 /greater put +dup 71 /G put +dup 132 /Dcaron put +readonly def +/PaintType 0 def +/FontType 1 def +/StrokeWidth 0 def +/FontMatrix[0.001 0 0 0.001 0 0]readonly def +%/UniqueID 0 def +/FontBBox{-619 -1659 3200 1660}readonly def +currentdict end +currentfile eexec +D9D66F633B846AB28EDC112EE8CE6C6736001234F4C7DFDC8C8014E32702D436 +0A505E30AFE960AA59313499738A089E6AEAEFDC84AEBA57A1F9AD647CCB7BE5 +B03F5F4993FB2566BC918B0AB23DB4629AC0D00174ECD9F3286839BBEA5DD0D6 +84E25152E241F0D923ADCB347B5635EE25CE26F509B8F400F2C9CFB67D676ACF +9D516193DA983A07AC65A99BDDE6D09C93F522AF18F5462F7C2C3A7CD58FB034 +810D4645AE7525C1BDF2E062C4D0BB1A115E406B09C9014323678B1FF15AC494 +A82AC85A09051539D2EBF8D4910447B1C8875854670342B6D13D727DDBA5C2FD +52AFE2107B72A73D3A8F8B0516B5D141AA315F37523CA19009A6CEAB11C23A80 +20B8C46718DBF2DBEAB3320A596C8992531F6E70A725359BD09EF9FF2C0E58DD +9EE54192A355EDB81FB6E2391CD91A9BBD4E6637ECE7F9DA1603F49FA9AEF3E7 +27075B080A569EF1014B7F2D4C3687FA1336676537B82BF4590F962C967795F7 +BF6CD740C57389AB77A273920959FE657B87F76B9403C9586FE85C957B0BFF7B +26F4AA603883E02139AC15D1360C26E332527461ABDBAA603802CAE75E08F559 +E16B2E623827BEBD40D4661A6B3D10D6C395EECC916F52F99D9D1F19DE5977BB +73C4EFAEB7FD0052E831BE175C945358083BA2C5690E0CF8B386900A4A51F60D +C8E98236B16D54A1D94E88A062E0E3D8397F5CB503F51A4F9918D3A902AC7DB3 +25B30A154EF106BF4CB8A369599B3496537F22C842825F69154DD87E05CF9ADA +B6C94188CB702F53D00BBEC8ACE69CBBFB8C11099395D7BF0D47EB3E41454D13 +AAAC4392E8C0ADCA1E87A6F844D3AD81EDD4CCDD0FBBFCEEE9C70BAC5B4D4861 +E7B9DB2F4DAD612986007DB8CDB3B5384C3C7D77A2609D2255D4098E7A314D80 +1A553DD03007696C9DA22D9E9AD132F09CDC0144E7C1BB169635A24341DE3589 +96D503CB7BC73A81FC12A743C711916CBEEEF61F7273B238B3C0DF1AF4B190B7 +C820DD8F5FDAF73872074E1C95F4A4B7E1B5DED436C03D1020B9FE9F780FF2C5 +920C97B1584B7E0051107EE7789BFAB0B13F32AD2DC01DB5120BFD6B5FA8E386 +EE743D10E6A9E858979543882C19ABB36FE278EAD1304E84DF80E8CF87A994DE +0DAFBB918B5C13EC0B410CDE19ACC3DCCCC419A6C552410C0CFAAF624006218C +F236274FE535A25B1399748107BCA62DD24FF611AD06154590701B4F54D1E477 +B50B48E13664D702948BD52E67810674BA5D058566DA6CC9723B4A050CCBDA4B +8FD30EBFD87EC56E8066F70BA599EB653CFB284B181180037686575E99E5C0BB +E77A57FEE248B5D5AD7ECD2D17E71639FFB500A3AE87AC4389C467D85208D40E +F57D23C3D8D280B6455358C20778A78B6F1D5236E17313A5B9DA837B94628F42 +62CFA16DCCB7D16B1433B8B5D7E59D83BAF9EFEE967ABDE6667A5ABDD13785C6 +BDF0FA4FD321EF8EDF5FEDB46D9F64D5ED15852FA1F41F9E8A4F21E9D45A7919 +C796EABF32FDFC699847D095F8CAA278EE2B92127A79E961C4923C2F98F628F8 +24114A265B39DADC68B25A2AEF4802D9746A17DC3D6345ADC5F99196A49D9B29 +6A29EF0ECFC8CD39815B445E13FAA9B48F4BF5BB6DBFBF8C128B24B106A11CDD +DD7D273D2A1FC9EFA0EC9EE950E2C7B30D4B1E5F3289E38DB4DC044CE2BBF0ED +BF2D23762517E4629589A75E17FE469086F1E6423491717CAA204608C6CEDFD5 +AD5DAE7C7586E88B5DD6E2EA7FE9125D63DE433831E07CCC89F630326A335B63 +BCC756BC08F5BB5E644F931152933BE70459BA66022B75B583664BFE23E73DDB +97B9DEB35C502B190DC3C129FF9D30718516C65CB75126D1D6136A3E3EC9698E +F30404C85712742E064D97E7623C2DDD4129FEA5A65234B45567B724BC22E278 +AEFCF3E52C1D6079A198BDE7E5E1EB5712E209654F8ADFEDB034D703FC73F0F7 +B5C5C3F1BA997451C0FDEED203FBC64D6E838600BFDAF3CCC06EA0A68FE170FF +0A8B2050073DCD9A381ABA8A0B582B40EAF0CFFA1FF5E4BEC8F946601F1529C3 +A2A56AFB035DE9086EE7CE32B0E6B2C84144272FC9DF80FACA7AC99234542221 +2178C46E51467C3BD8367B53982590483499B5BFE40E9AC667977BD77D742C9D +C1507ABB947CA63C85E2DD14CB702D0B71AB3BF2DD7FE8A158E9EFC4E9DA426F +1EE6D1B53B3C1BA652030C5E5C93B9DD94146D1067AE41BA2AFE91AF21EDD13E +C8CAB19248510182D05A29ACF5FC2E3CF25222317FA3EFDC9646FCD6D295CD77 +A2C5E245853AA3FDF608E5307904A82BB682C38CDDEA8EE2117BCED133EDA549 +E0B87C84689770CBFB3FFF74ABAF0CDB88E61F053B36BE54405953E5DCB6A1FF +39C30A464759A4349A9585277F3BE1C5C25BC779BF20DD62 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark{restore}if +%%EndFont +TeXDict begin 40258431 52099146 1000 600 600 (accents.dvi) +@start /Fa 128[23 127[{}1 83.022 /CMMI10 rf /Fb 128[42 +42 42 13[42 2[23 10[42 1[23 42 17[52 10[62 18[23 13[23 +65 84 75 42 65 60 42 37 62 42 42 42 42 42 18[{}26 83.022 +/CMR10 rf /Fc 203[67 52[{}1 119.552 /CMBX12 rf /Fd 123[266 +60[133 8[0 54[0 7[{}4 166.044 /TeXMUSIX20-Regular rf +end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: Letter +letter +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop -214 -117 3288 4 v -214 -76 V -214 +-34 V -214 7 V -214 49 V -214 5 a Fd(G)-51 -39 y Fc(4)-51 +44 y(4)141 194 y Fb(\023)-42 b(o)p 124 90 75 4 v 185 +88 4 146 v 138 88 a Fd(\007)371 194 y Fb(\022)g(o)p 415 +68 V 368 68 a Fd(\007)602 194 y Fb(^)g(o)p 646 47 V 599 +47 a Fd(\007)832 194 y Fb(\177)g(o)p 876 26 V 829 26 +a Fd(\007)p 1058 49 4 168 v 1147 194 a Fb(~)g(o)p 1191 +5 4 146 v 1144 5 a Fd(\007)1378 194 y Fb(\026)g(o)p 1422 +-15 V 1375 -15 a Fd(\007)1617 194 y Fb(_)-32 b(o)p 1604 +109 V 1605 -36 a Fd(\007)1838 194 y Fb(\025)-42 b(o)p +1834 88 V 1835 -57 a Fd(\007)p 2064 49 4 168 v 2153 194 +a Fb(\024)g(o)p 2137 90 75 4 v 2197 88 4 146 v 2150 88 +a Fd(\007)2384 194 y Fb(})g(o)p 2428 68 V 2381 68 a Fd(\007)2594 +194 y Fa(\177)-23 b Fb(oo)p 2658 47 V 2611 47 a Fd(\007)229 +b(>)p 3071 49 4 168 v -214 327 3288 4 v -214 368 V -214 +410 V -214 451 V -214 493 V -214 450 a(G)21 638 y Fb(\030)-39 +b(o)p 2 534 75 4 v 62 532 4 146 v 15 532 a Fd(\007)241 +638 y Fb(o)250 656 y(.)p 285 512 V 238 512 a Fd(\007)464 +638 y Fb(o)464 694 y(\026)p 508 491 V 461 491 a Fd(\007)675 +638 y Fb(\033)p 730 470 V 683 470 a Fd(\007)p 905 493 +4 168 v 969 638 a Fb(\036)p 1035 450 4 146 v 988 450 +a Fd(\007)1204 638 y Fb(\032)p 1257 429 V 1210 429 a +Fd(\007)1419 638 y Fb(\035)p 1432 553 V 1433 408 a Fd(\007)1648 +638 y Fb(\027)-52 b(a)p 1654 532 V 1655 387 a Fd(\007)p +1877 493 4 168 v 1953 625 a Fb(\027)1953 640 y(A)p 1946 +534 75 4 v 2007 532 4 146 v 1960 532 a Fd(\007)2186 638 +y Fb(\034)p 2230 512 V 2183 512 a Fd(\007)2397 638 y +Fb(\037)p 2452 491 4 165 v 2405 491 a Fd(\007)2575 638 +y Fb( )-23 b(l)p 2609 470 4 152 v 2562 470 a Fd(\007)2721 +638 y Fb( )c(L)p 2767 450 4 139 v 2720 450 a Fd(\007)2452 +335 y(\204)2661 325 y(\204)2880 638 y Fb(\031)p 2924 +429 4 126 v 2877 429 a Fd(\007)p 3033 493 4 168 v 3049 +493 25 168 v eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/generic/pmx/examples/prad5x.pmx b/Master/texmf-dist/doc/generic/pmx/examples/prad5x.pmx new file mode 100644 index 00000000000..1e6e52990ef --- /dev/null +++ b/Master/texmf-dist/doc/generic/pmx/examples/prad5x.pmx @@ -0,0 +1,104 @@ +4 4 3 4 0 3 0 -1 +3 13 16 .1 +\bigfont B. C. +\bigfont Soprano +\bigfont Violin 2 +\bigfont Violin 1 +bttt +.\ +Abp +\\input musixlyr \ +\\input musixdbr \indivbarrules\ +\\setinterinstrument{1}{4pt}\ +\\allbarrules\sepbarrule\ +\\allbarrules\sepmultibarrule\ +\\allbarrules\showbarrule\ +%1S9P2 +%\\interinstrument=0\internote\setinterinstrument1{16\internote}\ +Tt +Cantata "Ah del c\'elebre conf\'in" (1724) +Tc +Jos\'e Pradas Gallen\\1689-1757 +h +Grave +% 1-4 +gd23 | fs4 6 d f | g2,g | fs4 6 d f / +r4 "Ah del c\'e-le-bre con-fin," + b44 g | d+.c b8a a | b2,r | rp / +rp rp r4 g45 b | ad2 / +rp rp r4 b44 g | d+d c8 b a / +% 5-8 +gd23 | a4 6 f a | b2,b | a4 6 f a / +"tro-no~en_ que~ha--bi-ta el a-mor," + d45 b8 c [ d ef ] | f4.ef d8a c | d2,r | rp / +g25,r | rp | r4 b- d | cd2 / +b24,r | rp | r4 d b | f+.ef d8 c / +%9-12 +b23,fs 6 | g,c- t - | c4 t g2 n | c n ,f / +r4 "cu-yo d\'o-ri-co_ pa-la--cio" + d45.a | b g ( ef+ e8 ) da d4.c | c2,r / +b24,r rp rp g+4 e f t / +d25,r rp r4 g d | e c a+ t / +% 13-17 +f42 c+2 | f4.ef d8 6 c 6 | b4 f+2 | b4.af g8 f | ef4 b2 / +r4 "es cen-tro_ no--ble de~un Dios" + c25 | a2 b8 c | d c c4.b | b2,r | rp / +f45 t e.f | f2,r | rp | f4 d b t | b t d2 / +a45 t g2 | fd | r4 r f | d b ef8 f | g4 g oT0 .ef / +% 18-24 +efd2 | a4 6 f2 | ,b f | d-d | b+4 ef-2 | f,c - | f4 6- g2 #5n x147 / +r4 "Es-cu-chad a-ten-ded, que, con dar-me~a--ten--ci\'on los tro-fe-os que" + ef45 b | c f c | d2,r | r4 b c | d ef8 d [ c b ] | a4.b c | c bn b / +ef25,r | rp | r4 c a | b2,r | rp | rp | rp / +efd2 | rp | r4 f c | d d ef | f g8 f ef d | c4.d ef | d ef f / +% 25-31 +c23 - ,d 6 | ef4 6 f2 | b-,ef | c4 - d2 # | g-d | g+4 ef2 | fd / +"pu-do~al--can-zer, sa-breis_ de mi voz." + c25 b4 t | b t a2 | b4 d g- t | g t fs.g | g2,r | rp | rp / +rp rp rp rp r4 b44 c | d ef d | c a b / +ef45 e f | g c- ot .b | b2,b | c4 a ot .g | g d+ d | g g-8 g+ a g | f4 c c / +% 32-37 +f43 d2 | efd | ef4 c2 - | d # ,b 6 | c4 65- d2 # | g-d / +rp rp rp rp rp rp / +c45 d c | b g a | b c b | a2,d | c8 b a4 ot .g | gd2 / +f45 f-8 f+ g f | ef4 b b | ef ef-8 e+ f e | d4 fs g t | g t fs2 ot | gd / +%L7Mn212bt +%% +L7Mn212bt +m4406 +h +Recitat +b02 | a 6 | g 5 x126 / +r4 r8 "E-sa Dei-dad gi-gan-te, e-se que~hor-ror y~ha-la-go~es jun-ta-" + d85 ba c da e | fa f r4 r8 f- ga a | b4 r8 b ba b ba a / +f42 4 x183 f+ d2 5 | c 4 x183 f | e #6 d t / +"men-te, es nie-ve~y ra-yo~ar-dien-te; el Ni-\~no~a-mor ven-da-do~es que triun-fan-te," +b84a a r c f fa f ea | f ea r1 c ca c a4 r8 f | cs+ ca c da d da r4 / +d23 t a 6 t | a t 6-5 b t 4 x183 | b t d 6-5 | ef f4 b- / +"con el vi-so de~ha-la-go~y de fi-ne-za, es ze-\~no,~es so-bre sal-to y~es fi-ne-za." +r4 d85 ea f4 f8 fa | c ca d efa e da r4 | r r8 b f fa g afa | g ga anc ba b fa r4 / +% Aria 1-3 +L10P3Mn41234bttt +b42 r b+ r | a oG 6 r b r | f f1 ef d c b8 f b d / +rp rp oG rp / +rp | r4 oG f15 ef d c b8 f b d | c1 b a g f8 f+ d b d f / +r4 f15 ef d c b8 f b d | c1 oG b a g f8 f+ d8 b1 c d8 b | a f1 g a8 f b1 f f f f f f f / +% 4-6 +ef43 6 e-8 e+ d4 6 d-8 d+ | c4 6- c-8 c+ b4 6 r8 b | a4 6 g -6 d+8 6 ef f f- / +rp rp rp / +ef85 e- g c d d- f b | c c ef- a b b d- g | a f g1 a b c d8 b f a / +g15 c- c c c c c c f b- b b b b b b | ef a- a a a a a a d g- g g g g g g | + c f- g a b c d ef f8 e1 d c8 ot .b / +% 7-9 +b42 r b r | a 6 r b r | f r b r / +"Es_ re--l\'am-pa-go y~es true----------------no y~es" + r4 [ f15 ef ] d c b8a f ba d | c1 b a g f8 f+ d b1 c d8 b | a f1 g a8 f b4 r8 f+ / +b24 r | rp | r4 f15 ef d c b8 f b d / +b24 r | r4 f15 ef d c b8 f b d | c1 b a g f8 f+ d b1 c d8 b / +% 10-12 +f42 f+1 ef d c b8 f b d | ef4 6 ef-8 e+ d4 6 d-8 d+ | c4 6 c8- c+ b4 6 r8 b / +"true-no." f45 f- r2 | rp rp / +c15 b a g f8 f+ d b d f | ef ef- g c d d- f b | c c ef- a b b d- g / +a84 f1 g a8 f b1 f+ f f f f f f | g c- c c c c c c f b- b b b b b b | + ef a- a a a a a a d g- g g g g g g / + diff --git a/Master/texmf-dist/doc/generic/pmx/gapxmpl.eps b/Master/texmf-dist/doc/generic/pmx/gapxmpl.eps new file mode 100644 index 00000000000..d84d9a6ace6 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pmx/gapxmpl.eps @@ -0,0 +1,1243 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: gapxmpl.dvi +%%CreationDate: Sat Jan 25 14:03:50 2020 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 45 234 570 765 +%%DocumentFonts: CMR10 TeXMUSIX20-Regular CMBX12 CMBX8 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -O0.25in,-0.22in -tletter gapxmpl +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2020.01.25:1403 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginFont: CMBX12 +%!PS-AdobeFont-1.0: CMBX12 003.002 +%%Title: CMBX12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup +/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX12 def +/FontBBox {-53 -251 1139 750 }readonly def +/UniqueID 5000769 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX12.) readonly def +/FullName (CMBX12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 46 /period put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 67 /C put +dup 68 /D put +dup 72 /H put +dup 77 /M put +dup 84 /T put +dup 97 /a put +dup 100 /d put +dup 101 /e put +dup 104 /h put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 116 /t put +dup 118 /v put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE +0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D +2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 +1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C +42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 +FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE +78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 +22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE +A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 +4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 +4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 +95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D +9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC +5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF +9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 +CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 +BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 +9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 +EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A +D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE +2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE +947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B +0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 +4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C +BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 +F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 +6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 +D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 +F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 +481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 +FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D +419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 +7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B +70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 +2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE +0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC +9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A +C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D +1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 +A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 +21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 +7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 +17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 +30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F +3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 +96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 +B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 +1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B +57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE +B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC +8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 +8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 +B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E +BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC +21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 +D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 +FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F +A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 +A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 +A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA +DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 +7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F +07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 +BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E +8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 +E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C +B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 +45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 +2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 +5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF +A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 +5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 +E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 +5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 +6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 +8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB +BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 +9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB +B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B +B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E +8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD +595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E +FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 +13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A +FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 +DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB +313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 +C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 +F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD +DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 +8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 +E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 +A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 +C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 +417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 +19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 +9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 +12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 +3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 +A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 +90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 +3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 +B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B +82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 +1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 +AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D +9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 +2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 +99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A +31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 +3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 +F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 +70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E +5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 +84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 +BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 +8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 +5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 +9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B +F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E +94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE +0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC +E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 +7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 +596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 +F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E +7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 +1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 +AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE +4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F +744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D +67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA +054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA +6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B +8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE +CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 +EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 +C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 +57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 +5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F +C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 +CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 +848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C +B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB +77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 +87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 +3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 +409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 +A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B +72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D +99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD +8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB +E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C +82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 +C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 +EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 +23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A +59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F +C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 +1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C +403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 +1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 +75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E +0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 +82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 +C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 +A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC +9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 +0693AFFEF215D00BFCAD02E45496D7C8F5E99EB9096FC4300D038C1AFD31EC4C +5ACA6B72C1BE7204E37A4CBBCB1EC26AB87F2FF82DE20601025169A5FBD2D060 +62B5B2DBC288C79C33B596832AA18D730AD572C6EDFABCBD36DEA87C0F323C3D +6E537AD3B43C6F3A905597570A8C6B0B4A5E08C08A430B643B6ED36DCAA09B41 +FEFDB90E10C8A8B74EB358437D0CEBB9E03109C593BAC09CA996278246E7CA38 +4F311F23DC5A7F7DB374E0E3D066C874EEE28CFA47054DC41A389203BFB3D601 +BC9A4817F8DAC250A102E7404CA135B33DD66F8FF40D106F52081FBA3E79CE29 +FCA5C502B38C86D8D507AEF30436472D2381DEA09B8B3BCB109BCD72332A9483 +E61ECF0F89A85BC37B8C10FF3F7C0A84FB8D0F4A7898D3F8B06202FF8DCD698B +56544751347E9AA35209B18D3D416E5E034E36D9C5FC0B33B7AA0D46F3A3F925 +7FCAD9D6B9E25671F9AC599A40C37B2439C06FDFDFB3E78DCE515BE82B5BE1AD +2F205E8249407179559DF39CF29120C4B92C5283B609D0445B30F3AC71A1A678 +8F43D8B12D7FD722606252CF4902733EA4B2537462B5BD9C7BFDC2F5C4ECB91A +F64F3B9C6161ECF8A915023D2ADAFB92307C9095DFF4FBB8E732521EB394C4A7 +99D09151340C8F0A3F260DF18DDAB0BA5A946FBE5FB48D7E3DB8167066DD58A1 +321A5D5C85739DC41A1B86D87CA8EF1A936796E59409AB7B28ED527E3256C678 +970EDB788B65D0FFB919652DF4A23EDD2DBC29BD4A7B8B11CEDAEC17A38F1BF3 +6D4C9DE1D951E93EA0DE92E5581D2A3050C7E808CA03C9406A424393CBFA080C +CF0BF49186C8FFF65304F4102B4C771ED77B82E219F27CBCCD0A629D1046EC78 +059C54D64E2FC129488FAE43D7C948310106F403BAD307528DF531EB26B17A5C +C1E86541C32AF9C03BCBDF98BC78ED751C821BFC31D9D602D8E2FDF739298497 +0B6F4976A1EAAB46EFE1719DE1D46F58CFDF82A68AD1ABF82F1679A242250EB9 +BD86DE15586051189667CF3BADB326B061AE07A21697941BE4166BABA34148A3 +4DA613812ED14953A0CC3B36305276839F55542C65A21A346619337BF25CCA6F +5BB02ADDBCCBDE6A05FEA2870D0F2622E85536990306AB20EF99874EC1AF6132 +163BAC621E8DD44794DC61A4F56820031D1B2CB55812D94D18BD4C8F71A181A1 +6F0228A1BB8D3CFAB1250E476E50FE648F0D082609BC154CEB364F964D13E1BE +47663B388D5B9BEBBFFEC5A5934BB5DE77BB16D46EE98CD36018D0AB49E0FF88 +7540B0716A0335BF254B8523680B4C8429F93872FD6AEC7108CE3DFEB1535AEE +AA0D188BB89DBD10340B55ED8FA5FC9092C7F0C6F9BB574674174ABDE43B13BA +23CB424A9E247761830A3F5EDC885D8F9E0D672D63DBAACBD071C370BFF1941D +D42AD48C6DDBDE0B785FFBBE67546A90FA90D79065C1FBA8F8C6475D7577B712 +D44DB1527BCB0EF44889D06AC11A95DA833B2AB813C86021ADD87EBAFAB7BB6F +E05C56A7929F2A6145EA70B7EE8A7D06A74238F3A7DD2C6ED9164549F5ACC15B +62200E4ABB2AE712350F111F557121D5678A21F357066CF840EC5A6837E0FD1F +1D43065851887CE8299F546BDABD920E561CED9653C76406F089EE5338B48388 +5D93D991A3760E1C1BBCBC7C4B4238921EC6CD27B53C85DE0352FCDCF5867DE3 +3C489F086B03762EE7425BE748ECBB0216F5DE2B236E3BCBD37BA5D0AA49DFD8 +0232BD29154DB883E8CB22CE99CBA9C20C386642A62C8A2C5C2D70B995903BE3 +200F625B70E02FF5C7CE74312A191C08FA9C8CAED12090EDEA250D6E2E733C9A +8F5802DD53E6B71BA8000334D2136641C1AA8E527DA4D69B200E6DE15DA4913F +4ACD27070E78B7AB768FB3918067BFC75A05B1063C7567B27A33295058BA18C7 +EFC4F9B519C078AC9135ED29D1165B82E4B9F4EC99A94A23BC4DA6D7C13522AF +5D9565FF13BF765591FB392A5F16403DDA83770DEDE2A146F8E49DEF0350BE78 +4C9E13F0795427889830B6137EDA7DCD74BC653B4A4B7A917D54151797A9D6D9 +DEFA591F8B2685C35CE147EE9DFDCC9E3AAA2510755A802E79DD05D0F0B590A9 +C20C55B229854255E5CACE41DA182FF1D85B3B45BD7BF811DFB11201295141DA +B8BAD0A3BD129B84740CFB7D81E4D43A81544FA24CD9FC16187B25ECC405DD68 +07E1020BE9B8F0364D6BE03D204A4EAE5D4AC2ED74061800D9066C218C0C1D7B +94F5A597BF5C6CEB9115589FD11910352E96E5C84C15B4FD7C652B8000235E7B +24CD96D7C647B1ACF31B3E45CE7683948CB5CFEE1F057DD65C8A42EC4DCE7977 +C230C3FA3219DAAAFD0096C56E65FEEF8DE39117EC6E5FA8125EDDF1E4D20F45 +13442CE7D35B529798F9C180A206CA5B0572A0797DFC8CCC21B695D29361F825 +3C267CF46A6908010166275C7E16130656A10C1017AEEDAB16D781622B4099AF +EC4F190B74145E158399B33AA45C91815CB1A8E3ACF8C1E6F97DD1613B06F65D +108F57EA59D971E3E81013968151A1F17E40EAB4EBF7246426ABBEEE3B5C9ADF +774E19A99512A0F5E5C600D464355273CF256DDD5FEC0DD82C92D53D564158AC +43CE360F2F33D13D235C569C809669E6F11A7F29BAEA9E6F585BE3A93065F8A9 +40815E22C73573FDD775499376ECDE6BE2C40332610CB77C17609B947B07873E +1193BA45205BCCC0D81B72D87FC8A0DC245DDC8245D440BD89BD4867F547CC3A +098F2CD1382E6467AC65E5A616142CFCB27FFDC25D54B0755B6762289CBD27A9 +136CA1F7A82AB3407328D554047962FD70D643150F533008BB59221FC7CD590F +3101C32B1A2AA78F9A76E7920B60E2D836EB18801CC1B2230E4CDC23E7102F3E +AD479933C820559A3F5D2891C1510B66CE9C8E9AAFEA22651C752C7EE0276401 +A93707791720C9EC5F1641E850D01DDA8FC1E97AC0637215E7AC910F4759CBC2 +995DB086DB285BEF4CA5FEBAC9DDF98CC464F61B071B5906CBADE42DC6F31151 +4916B03F9F4F60CA6F2950FB9FDFA29E63FA6762F7EFC4C1F414A80D4EB0401B +718DFC57C500FE57C7C66139DB39D1AC0A39CE7DC57017787C04374978DEC663 +80E87CA7A8671C5D442F4CB3B0BDAFAA432BF6AADA725547892357CFF0E5D141 +EA60C20954BE1B49DDA61A247DFE81486CA38215F6CC8248A4B312DB232CF42B +FD5FC0F49B433A4C211508374B41688E9AA41DEFCD93C9F0E8A0C2AEDABFE47D +6378E5CE48F9003440B3E33018B98863ADCBDD7FA671BF5397773908C6AF7C98 +E547DA56BF1DD5C079935B92B9E02B612EF9521941F1D5F340DF0BD1BC1EC2AA +38045E5EDF02B712DDCEA28E5ABB3049380C60E38CF4F8D12CE696CDE0F53D73 +9962ED5CB6991315C66B8F354CF9989F9C09C9D13B9A65DB14FEB8CED31F0452 +ACBD239EC915362C83D45DA97D03938310FA265C536BB22A0A4B91A9F4B40A3B +17D17A85DDCB89E6BE5D95B5BA9393EC184D58EA612FECE94A62F24AD2CCB86B +C02260AD8EC417E93FC251196D561BB1CB44BE42FB7492E6C18AA18D5D45512D +308662EBA2E802CABE5C356A59CB05C4B9B7B84118A9BAF2BC4A47C0DA2FDBAF +14167ED33BBDFC0925777FF38CFE3768B87907DC25939896584E14F7461E4AD9 +C15E808DDC45BAB75E953A8D1F17A9DEBB8F26164F6C8BE9722275CE02DBF42B +E65D5EA76FE393A6B114AE21C04A1FBA0B70403240A8475A47135FD81A95999F +AA617BA8FDA4DA7AAC318A4E07AA4D7D8A01E467C48A7FF034BED591272A9503 +05A53D4AFA7ECEDA0805EB83EC996BD0F2C0E428943310AC4CFA21E32C28BC05 +4A366498119E9C91CFA93783D7DAEC9CB20717A9E3336E87ED69BF5CDEF78D76 +A281E581B439A12ADC6FA378D3B15E370B68E5BDC6C82420BA165C8E19BEC8FA +B1519B7E08760BCD307140F95346B88706D5E99B9368DFCF788F30BFDD408A04 +47E55E85F969A8A87986C8C5D6F334DB9C21E618346956BA50481A874B22A212 +6902F85FF97E9246A156B1131100E3E2CD3C2BA28DE2D7288B5B431B94F795B1 +9649DD2919596BD6605BE51DAEE36035753074AB6F602D585ED719C952C4A931 +3B310C30D5C491F8A0177E5555FABFDD95749CE25FEC9BF6BBD0C116944D5800 +B9DB8AC2AE09970B9290340488D4AF0165F79FD45C08C7F1AB25FC9EF7E41AC3 +90BC184F7BFC19D0CAE8E8BF7AC9913D3EBC305B8CD90BEBED829C933E86C603 +58E87DE63B7CE41133B1AD7C8EFF48F2D6972CBF763C0DA976246667663C5FCC +BC09EC4F60092780A1D08F517A876E25C61EB21379174F1B7B528B0D7B25180C +622AB398022D524E3ACCCE53D109A8E4AF331725774D99C495FCA69D565EDFCD +D1D9370CFF8C0AB1A9D24AE4619560BF3AD7412A4D09E5247B049AA98014AF01 +CDE1B29A5EEAB01EA2E3783EB83DBEB3CE8CB11B42D2BF31F13AFEFD2045C052 +E920FBE22C27B7B7D9CC0DF132F08C2FB79E12B327E1763C6B2204C164BFF9F8 +FC7C40F6FB3A2BB8DFD03057E4D36E4D7286D79557CE91DD6E3C9FC044087C6B +BDFF6EE48FA8430F0304BF09AEBB390AB0D693AED8CFB6E07F90DB281DF38215 +5E7C0DEAA4F89E401040367B3578C5E9F100B9239774DF937FEE9E68E38B499D +60CA9562C7CFADE74DD827C59CD4DD8EF2F7936710F490A95E94D9F0B8EFC657 +4D354C60A330556CD6799E51498265119F9D8ED542BB3FC97E9B1E15136BF2A7 +B108C48F8D8B77EF4DFB67A15F1F15D332463AF6CCFC6AEE8E93721B59AF6821 +B10CC89EEB0572A72624671A22031563661DC5A4944DC88BC1825171BD6E94D6 +F168B0EC840F33E03AAE8D8760E7FF9258BCB8C8CB9A6752BCC1FA836B4FD9BB +A922969F199BAF6C36A5E0CF6F474AFE360E62F3E96B995056AE44FE8CF72689 +6DDA1FE223AED2F337E7A3547F7D2A3BD04DEC8451BEDC94D5DE3349450D8969 +9274AB9B620CED1FE04E5D4937F16D773F4E3D4748BBBFAD940A0EFB3B0CBB77 +36F050CCAA7D21DEE4ED90AF97200AB81C4227060E27DB22668E86F0B357A38F +C66DCD3EC4AB6240147C3D146D0ADE63A111C9020769D1DC8A36BE8FD73A1E6F +F0CB94FBC0657F9491C14D45A88C5DBAC08C900C2BCC4B43A357A32A52426A01 +EE7A526D7F1C8462ACF9D331D63612E1D35511AEEF5CE9DDC5E850F1940CF994 +DB6442AA86D7C9E9B7BFCCED40FEB6DC6AAA6F868CF3D5C28D4E1C91F3A569C2 +782125312D896FA8C179DFADBB6505A854A4AF8CC620E491676C4643F8EE6546 +B6670A01410F385A06C4E8C650FB212958AFCE844148262246302F14C90B43F5 +8916F6741748A22FE2F91ECFB3B895FE7B0EF22EC80E82208E44C8B8261FE3B8 +FB74758B71A815E424A4A52A95B59C1D86FA +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX8 +%!PS-AdobeFont-1.0: CMBX8 003.002 +%%Title: CMBX8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX8 known{/CMBX8 findfont dup/UniqueID known{dup +/UniqueID get 5000766 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX8 def +/FontBBox {-59 -250 1235 750 }readonly def +/UniqueID 5000766 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX8.) readonly def +/FullName (CMBX8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 53 /five put +dup 56 /eight put +dup 57 /nine put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D4350D67F24B396427 +8808B79FF5CAF896E4A8A31E46499CEE35E6A5AF0CFD175C2DD628620C681947 +A02A01D3C2B715AB79D7FDAB638D887B77DFFEC5C3A9484104D84FCECC7296CE +2A3488AE246E233A8D5B40ED5DCC44558B77422BDE47E0435F960EEC3A26DA9C +E137555F0638511AAA14992C8DDA9A4A11B3F90BD4DAAD1883BBEC357DBD8389 +16EBE2AA8F93C2AD44F383ABE13B8C95B240563FAB987EA98794D301785E1E9F +03DD545E51A6D58B3618E0750208D3AB913F9CE8C3B865D4CB83B90FB24962D6 +142B0204A1E271854F903A2FF600E087EE2FC222326051F155BE709B3E7A808A +487B8AC3CD7D2EAB52C2ED68285F962D06677C2A5015A16B3D12D15D658D89E5 +18513C020222D1A995EA14D7D9CCAC4A552172146B53AA4DCF6DD217B61CFE98 +1E14709295D97DC8B168AFBBA9990F0BFB9F72A5305570A1848A9E2CCA702C77 +DF4F414CDDA4FD7DA25D9B09F05A77F37F1496F2601AA5FBE9B52C1C16FBE860 +A3FCA20DCAA3BBADDA16304242A306400D2BEC9BA12788A5AE0E0CABDCF565BF +474A615DB6A14695E6C7288DE0B852EB91153F8A337E66DB5CB43E8234589F00 +4868530A5216CFCFA0DCDB92D6BDB092855E9BA80682D5679EF88F3152E8C2B9 +E38D0D6F26276BC74B8664E13D4B388124C88D19FFD2448E2743BC02AEB14694 +1AC48CB776F8526FA416549A3C35616E8FA5632AA0D557B90C5CF40BE1B62325 +97E45F7EC4F04CBC178B72A195912CD18498098C901CD35834FD6EEF765CB292 +5A753BAACA557BEA0AF989BDEE0F0C5DF8177084AFC20E7A78BFA536DC28E9DA +FEBFF50E908CA6B5DA15D3CC28A00DBFF8A1D7FF0D82F2A397C0B8B23F959C99 +63BFBA5FC83D7F51CD0EA2E2C925F7F4AAEEC8A0483F50E02E4C0373FA4D7891 +3EDAB498C44A259B6A2E3E176143C12E25C7B880E2E6B96592BE77AEE1190C74 +35F4BA28952C002AB6B3A4B0BD9054855CBDC143CA9D20D20EB111A030D1C979 +86BDE77F3BB47918F4A456513EDCB90B7CF72E97296FE07F51D0DF8C9E666024 +69C209E6A4A5343F3DEDB6F09B06297505F8F8AC2AA857DC545E030DC9337FBC +E48DC186C5DB047D0FF564B444054F7664AC72B7C39F39959BD574C099562FAF +9832B2260D4F1E9FE64F6BE5243308B57499B6220EB4431A53E8D9A3C6BDF5F3 +8D7EA0754D363E897EC68D7E45DB4635D3E7D7176C8C364082D1D6B00D9A7AEE +5E978FC3AC4D9D73E8FAE3086930DA11497F8867E01CAE42CD9D7D1558DA4694 +48501C4729614948B9DD2065E5F13275325302C24E28A22AC2F33304EAE0A317 +FE51288D91EFB7AF68B8B9C3BE1294CBC390862BC28463FBBD62A32E0AE3344C +5F96E2343E5E1662E5626C6014E1F0E661126A00E1E24A4F7A2546C37B701BA8 +F18F93372B48893E3C0449CEA14D228BDB8FD17256DF2FE0767661F6A3972DA9 +33C746E2AFF1EFF2B44159CFF6A570C10260751299D8A30A3BC19239C9FE0DC6 +BAD2AD2558223FF4CA1B672426EBC422A12514F67D9152099848B13E131C0E90 +9037A6DBEC1CB183720F78C37D5EE5BFE81FCB2F615A9595791C6F56210C84FE +62FF6F5F15B866C686D8881212D7B3F4342FD09FC1E4874D35DCDFDB9D506D5A +06E5DB61F496E70C8E8B145B9BB951B2160B6FE86EA7AC1671BC40CDD866A9DB +3103E91EB483E5BE3C037F2D2388A44D8154B216C433FB85231DA4F55D3D4A8E +7FDA4387923679067F13454B02D9F2E2B030FD62C0750576F32F090E9A054DBF +4BBB729B94162C080ECD81F2DB2BD1D65C1D50CE414D0FFB4C7E994B65177F04 +E786CACF71A5690F62AE3AE57F43247B8392D2BBD4E61262EA0CAD3868F33296 +BC7002271448E865DED4324FCD923313969D1355A579F918E6225955A2BD5B7E +C2A0E02809102F295895722930FCCCE6E8DB301635221B57FA589533C2C3BEC4 +9B1958680BE6102180C667E4984C7B9250C5BB231F8E443B98EF07FAE3AC29F0 +B4CC4BE8A3DC0058FB2CCEB90262FC959D5ECC3A887E10E1E43FAE7DFBDE4882 +BA9035B38BB0F69F8659C0094EA643DEBCACFC8EB5C73AA25A1B83B2DA2D1D47 +29A27B554BB9A762D020EC05001DC8559E096F82581B248AF95D6F12FB73E4E9 +58BFF246EB803809F561F8E17E6B1B7B1472FC342761EF29FA2C3890FEEB96FF +6B1A173A74A2A61837BE90AD9574EFD8D65602C63C560DEFBE5F0C1F8250E66B +E7A8C1A68E8445CF67F672E2F11583F70E77F479916339FA7E5672DFD1907CAE +45A5DBD35C535D903442EECF453495A6B256DC635941A6781C426A2E12BAF3BB +73C147A74DDE4925D642BB73D9F2608554D967A0944D38CB29F984379073F6B2 +77301EA7AD503121EAA1AF349D72677869515D0E537AD762304A6A5CF31E8431 +D053D4A1B6C03A4DBE6BDAE2312FBC65F18FC8F4AA546FA69D09DCC722CEE1DA +E02B6F69B69F675AE544ACAEFCDE959350E1EB6C45C162E08E153D1F3151AFF7 +B539D0834CA4B87B06732D5EC077B37373348A5CD7B39811286092ADBDD86931 +3F6867AC5D53E565234847205FEDC23BC1E1166CA113787DEB72AC251FE7FD1E +250557284E533F3B2DA3BB22AFF13428D2537BBAFB70734A7FDDC68AF58A9D3F +DD456ED2E4A0A89C6E22080101412164A955748ED5E689308C96FA5D23D63513 +5B8890A57983C9DAE333B38ADFE356C6CD6BB865C493151B24B9A1FC4D66C491 +12E8637906EBCBD60E76227E8847112135CE4FFB00B396FE3DC237292B8D2EA3 +03B263C1B6CDA2719C0D99B6CEEE6C86CB397C4D0C058BC2EE9D6298612D01BD +31531819BFC228868453DB8EB836AF2394D45A222A21EBDE795E558E84A277F7 +D8591ADCD9E16C34201CB0D0FC1FE62FB107D53DA0D95F61A9A55585A3D106B5 +48B258A35D3AF66995A9DEE4312C0DA4C91CD3AA7FFBB7A5278FACBA05E5BBA0 +F936BC210EA4E107EB883DEBC83BBA0798B665F2DAF2BCFC00D524930B394187 +4712AC73DC2F901BDA21589E9132A50B6F16FE8C6153209BDEEC9025C3C24035 +F8623B3CDF420E064D2D3F1BEDA64E39C8482972C96B38BF7D25C1025A9DC57C +40BE36086161C419BE1B0CB4B653DB07FA28934C41AFE90152A14AF2688FB6A0 +71AEB8175EEA7775C13F2B7C598C30E91EA8DB07ECDDAD64E40A8C8FAA3ACCAE +ECD1296AB2075DE150F10502847E970256A70B7329834B1D80D40AC5C8DF55DD +E3922D85820114F898F87E644EB8F460BFCFF752B635B6D08F46AEF2123A2E86 +913CF1B45DD2D01B8E560EC04230CC8DE7C78EA2970C224B371777430ED41B02 +63C87C9B29161341DAC785F547C2E6256370BF3BD8D7AEC72F6F9A4BDDFB6EFD +45AF0A366B9387A4CD9164326B997BCDCFFE0D25D88E22888889D8E47C5709F7 +CAD17E0DD435B20E767B31521E9E14ADE57C7C9CDC2FD7D09DAF912F6C5CDC34 +6362133B50B8E5954814EFAE6AB8D004AF3CBE097BB0F61FDF1E10170F4EA28D +CD93B802BE124A435403D3BAEBE8C1131718579194420AD650A3986AF9220363 +75155975B60093A9A6CD171834B2E39629041BEDA7CFAC7BA6411A206B09DD78 +CFF14E36304B7FAC838FEC6E4AC6847C6CEC1559B41D81383017668DD230C98B +C317B08B199C270FEAF50868DFE6AD4243EAEB67590855074A248CEF8F64DB80 +D5CCAE6445AE92150058660E861467D0CECF61DCD5D4062CE9DF07CB098B90FB +6CB59553A0956BD6339CAC2FA9C519C46AE9775672DD69D33C0E6D7F626EC2D5 +85070A68A450227CD535911F9E0CCD1BA379C750CD10C4190EC8B979C1E4ECBD +DE2836E85616406FC2DFDA7E27A411276AD1B3900453DC3AD85C7A9BE51CCAEE +315E3E5C31F8E6962721DA166B9660C8087C1F1ABD77950E061A2D924FBF4A89 +3FF5C570ABAC5EED011D2BF94BC1268EE4F2A2CCBCBA29FBCC4B186A3FCDDDD3 +B462305EABECBFD279C9860D5E490EA63D9231638E06EE8D58EE6E926C4A3D3A +C5E957A20F1F99FA05C43BC4D1918DA051656EEF0C498748879BA4258DD73CAB +0F32F20B98014C2B14A77186E43470F0182828955730F440493D34B0877065A7 +6E7B704B27F93DAD747DA77109C541A15F08A694A703E6E7C62BD0A86331EE79 +6C18A6C38923B88BF83BF212C76BA6EAC620CC859F0365F5511821261CE29DC2 +BFEBDE0CD36F0052692C9945077CD606E4841CB991D3C3DE9BE28EC7CBEC2FA6 +75984071CFDFA8857CCDF9005AA8FC549EF295DC701260CB4A5CE8FA0F439B22 +BC2C19D3C14E7B2B6B41AAA158659C307D9C91C2B12331BE152D3EF8FD324B9F +8C3B74D553AADE2B0E89805F47FA2DF36766B8DF01CC2B6B44344BF4B11C7FD3 +186662A11137448ACE7D3F4CA515E0BEC21859D2BB5A25F67C48817404DFA0CA +7B3D11495250150C6A1E32B80334E8F5C52D4769C8BDF3E6E3DA4FF1BC97E009 +A1AFD195205FC741837F21CC2942CC8322F3D6AAB6D330E6CE120E1A15E91987 +AD98FC12019A945B215BC72768F32A7635AB0F0E6E185AC7099F1A0EAEEC5FA0 +341EBECA077B25102310331CA87B74345506156CA5E853728217608416EC8173 +2D24CEE766E2B3B0BE183CF2A8B794E0E0E91C11D59B98DF5F4E5EA119F197B5 +D8800744F9FD45015FCF5E740105ECE72AB5AB7E1CFEB15807A0D1CDE00A44AD +E94EF57AB546990A691FB2E24CB55477B7FAB6F12A28676DB7ECCC014AC70C80 +9199E921F449C232EEB88268A48DD86FCFA2E29FB450FEC618E9E317F4AACC68 +C51EBDB1B9E43F7574B40C0EB05E769D30F1C172645006D799E8C3D7C79DACD4 +FD269ABF9B24B215B534365D79535AE3578D714606D22AAA5A2039FE7A5DD52E +506D293824BEF78F5E1C7228FF9097FF5AE8CB7B46E69C72FB43EEA7110A9EAA +546E9975C54CFD56022EB1B21E00CEC393DFA488C49C90E73D57CAB0324E36CD +0D2F0F0641DC3785CA9BFD680D609392CC2F852056E90276DA93043B14F30BDB +C32808FCF16CD13E4A13B727BEB4FD42B29D6C215AF4811B965822960F6D7CDE +92BBB8FB84B59075FC14075C30CEFD9D095ADD8043FD12452D3C5E4EFABC9671 +6E929D5932C337969F3F5448A2BC8001ACDDA043EE975F35E64D7436FB73B197 +697E87860E071F326C7080E9C2930CBA600C6875ECFA85DD4C3741945004B3C3 +298F2B741302E0FD39D990F20D68542B2FD0D71F52DE1ADF30FFA332306360C7 +C6BE3E6D510A691029D503FBFE96831D332831C69B590025C831281881968B86 +42817BFDCE322355F994FA9C8BE68A9222CC09AF9AB2AAE8BCFDEB69B8481CB5 +75E66873B08A4E8265F369448F0E3BC0C82D82F65216D0C93DE88322EE7D0FD4 +1089A1D6CC3B52F681BAEADB1C82EC3B82949C27C6C340BE7E27020015CF142C +37DC3BA8E4EC2A4FA81E50EE6854C23B3EE301E43D83CF6B82E80ABAA01EC82A +36CFE930297EE3A45783871EC4E77DCCC0923A9FB1654406FC8070BDADBD27D6 +0BA8837A459481ECB63F03DC3007700D360643864AFB3728C5573A20870E5D55 +4F698DB4B5610C30876DE56786D84C71AA9FDD5198B4F3F8918AF319B7FCD04C +F06C90B2CD0CF2241C2055DB68F1CA5CD57990E68F6F832A5820A481B0823F98 +0F4BAE4D7E92F4F2BC118E01ADDB7D527E6BB49E85D37D7E0BE7BEFBD1BF9E1B +9ECE91D28E664284D190010D1578C1F61F02610A9AA6E9527872276E59A25362 +68F74B88959CE84F497D8D89735413981FE4EF573E4E0C02D3F0EED5FC100A4A +563949D21A3E29D86A84C9F945602D9EDA860C6C44492EF219DFEBCC016FA7A4 +AA12A727D4E218D22805E5EC878AEA7D8B5D79E84E74E78FD9E017FEC4220A7F +9ABCD125BA6E9D378BDC19D0B267A323FDD0831C5E7EB7D4A5CE7047F272D3AD +1E25F7C5327127A058C287FEC98BD81144447D5BF73C56472E552C7B1AAF6705 +05286122B612BF5A2AA8C4A6CD64088BAB59B008A43121FBF5692418FFCFAF05 +260D6EB20C680BB73F3988C3E4E3CEFC65BA637FDFBA60E6D9D63E6C7FE196F4 +412367C1F43343EC6FEE8F97FA0E95BF1BC2C15F14CB6C8E8B28248B5EBB6478 +FDDA9D183AFF6A63145824E518377F384740984DC6095FCF3F8B777DD23A221B +AB1ED5EE27C19941184967846B8800E489E1B86F23ABC34237502ABCAF092C77 +38A1720A851E8EED24BFEC9AB4C8D4D7FFC3ED0C1CF4FC73B962EB53725DB67D +983A8C2B9E30F4F85AFAA17D86EEFD57CB17BACFB8BB2204E7CDAC446C679226 +F21D1A5CF2EA719888BC727725346D58479B69213F9EC3520B9C3A1778061AB0 +3B330514114833525D40B3F7F45EE401534732803B807953EE20C9660FB790C2 +71513A220EBE1731295B205324F275FE110D60A77CBB43441472193570E67BD0 +E97D51AEDD94B4DA0D71DE66E18F22F1E6CCB81D1DAD113125743D82DD4BBC8C +190BF7073078FB1235E8A329EC3C69E3D25B37B1BCBDFA50D0C34BA486AB50CE +0F411AE5DDD05BF3ABA16151A06D566860A08B2C634786C823D615BE622BC8DC +36FADBEE389BA4F7A5A32BBAC6403282F02E92ADF11C14F45B51D579631F067E +09C17ACC247837A8B6F66C66574F91317CC12C73D09A75B80CFD11993FEFCED9 +859D36B55033A149ECF0A845F611FAC0A8DEE32B407091C0233808C79857C2C1 +540A530EBFAE98C5D51C955D02FE62C8F207C97D614636AF826A7F2247E56B54 +3B496509DEDA8A277F0100A94376F5FF85586C6721F65F3F6BCF8B19CAAF8E4A +EB16AC97AB71C32FD3DC9E7F1CF02D29ED516BE9F8F0BA027C68A5467A91338C +CB52C099EC4FB72775138197BFF472B4FB75B84D5D45824A705412F13EC5A2DF +363D37E7ED7DEBD14AB754B8F7C829998351F76E0660BBBFAE6DE96BEA394965 +F14D65CD28C593B5056D41FBE0780AE9AFE5F697D3F41FD750D327F5DC23FE02 +1DC31AC1DC74721C939D38710BB1BE55E895C2181365CD2BF61E8B59023253B9 +7694B2215942A702B855A0102029229F2CFB8EBDED2BA9B723CD915E0CF54FD2 +D8B4CA2A0BD43DEB478AC342F292FF590B2FDCFEB7195BA687A7C7D4E17D5E06 +EDA0D7F0195D255CEA7288396CB53A961DC4EC29F949EA8AA48DBFD6BD2BC7C5 +7019E26D342B8BBD0AD9D48E689550DC1FD581EB0D6E4156D107E116D9326BF7 +E29F3479790283C8FA5AD1BF8562D11A26F81783E7B9CB3C74EDB9A2BCEE56F0 +0A6FF68026B320FAA86EF294C07F310B832941D400337C0A1C8DD466F2AEA9C9 +7284F09CF01CB6D17E333AFEAB84DB7E5451829DEE0B97F8D4037877EB32BE6C +871C9B477865AFA9BECE34891B81B4416BF1C82CEBFBBB6757B7032E04E2ED10 +38DC59E06E65379DF10372264804733507A929783916D02CF3158E4AEC0531EB +95502E07ECAAAE6EF0E70EE934263D6C8404739F468228484BC5BF2EDF9BF06C +D5CABBE2E28975711AD2F485846A92D22DB307ED63FDF99120684837B21AE421 +751B4681AF90A153AE3B977850AF1B7FADFB4A0D074AEE539DD1B553D99CF869 +0D589B7C27086CD89458E78A94E33C2610617A56771E56B146D9143488B01742 +017A7EE0444948173C783DB8643039B61CAE1D863047ED474E47A1CB49DC43DA +0099D2BE926D5C8CE61D98B0DF3B532AAB90EE57BC17191EF4119FCDB991ACE4 +B124110BEAD7BC80EC8A205638E2727D8464AFE44C65F47D33F454316DD87FAF +A1C93E7C6C1E357F3E111E41706635476A360F789F0153DD8DBBFD19826BDB1C +AD807F7DC8E3B4FC65AF1AFF2B5F23727E87CBB5B28857BB09DB24DA0108AC68 +5D78CADFEA384D7451C16602F9891FE1A54C2FA09AE44D439F8EDA1737952610 +6ADC59D1E8DFD741EE046B1C12BFA1805CB95465143A974C742CC2A4DE9757F6 +D39720632467BD4C29F7D81E4732EE868C28D22CF1B0F5E3DB01ECE22DB2BA87 +F43A973880DE8BCA102C0CDE55BEA23A80805CF9B4424B33D813EAF6F030D6EC +4A23F5A8AAA20340DF3D3A8D347D38C954F559500326F09B89A79101FC0687AC +D1D9A52D5C7D65C39296EB63F9C68C013B31B5EFB435E39ABE193361F1BD2A7A +522F3DACEE93502E5A25ADA16540CB10C430F2024A97E551274FC768059F812A +9DA535E722F1AE482FE3C289D21FF13DE6B6A7899EDB0637AC219D4FAA55EBBD +9500DC38289468A27FAC7A3BF48D9B8874CE74C2403EF64CE9493FEF5766A661 +89A29CEA44DC51DCEFE71B5F458B42166D07C33579842C28CE6F7BFC6698A1BE +8841E555EA3DC91FC2A8A3938DCC21B9E8DF2179E80F169CB5005C4C1B0A0D33 +2CFD77310C3A420403409EFA81F600CA37A31087D48E30720C8892B1122189BD +7A3CF264B075C24D5AA20BA3251EDBBCD4B52494296F26BFD2D113C95D484C66 +4C6C9E13A1D6456017B5F2EF749BC141AE961B212C2B6AF01282C3209C27684B +7EC90D5FBE7F12F2E8FEDCF61BAA6297CFAC67892E4567A910DB2024A151E2CA +BD149C93371A2262C1027D4B35D4D94635B257B6A011FCC702208E51D86B34E9 +2D8CD2520DB282E7BD39EEE37CC816B98325804045B0748A23BBC25E9650829D +E2A3B98D2BE4EC11699DE708454D414ADDFBC07B3E959E523A2638E369D3220C +D9430EDBFE656FE18B89DFF47059719296198BB464CB2FC9C91F43627C0437EE +E961D9A559087251DDD9410F5A0E4ED72B3331836B848BE8C79B7719BA995222 +12604331FCC84EA0A652885866C8DD3D456BFD9762B551466559741F2CFE7F60 +D676B7E31B920251307043626EC6D0EFC50729F1A28C9E2D267E13DA7DDAC6A5 +ED26E1B062A6E8344563B05CBEAE0959BE0B12541758E533A99941F795E677C8 +41D079306E883C1CD921AD2C06BBE33E181C146645FAF0C83AA91B48EC9818D8 +E97CB4631323560D5F796FF98D1D +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: TeXMUSIX20-Regular +%!PS-AdobeFont-1.0: TeXMUSIX20-Regular 001.000 +%%CreationDate: 01-07-25 at 04.07 +%%VMusage: 1024 35768 +% Generated by Fontographer 4.1.4 +% converted using TeXtrace 0.45 and modified by T. Uchiyama +% ADL: 701 299 0 +%%EndComments +FontDirectory/TeXMUSIX20-Regular known{/TeXMUSIX20-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +20 dict begin +/FontInfo 16 dict dup begin +/version (001.000) readonly def +/FullName (TeXMUSIX20-Regular) readonly def +/FamilyName (TeXMUSIX20) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Notice (converted using TeXtrace 0.45 and modified by T. Uchiyama) readonly def +/em 1000 def +/ascent 701 def +/descent 299 def +end readonly def +/FontName /TeXMUSIX20-Regular def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 7 /caron put +dup 50 /two put +dup 71 /G put +dup 85 /U put +readonly def +/PaintType 0 def +/FontType 1 def +/StrokeWidth 0 def +/FontMatrix[0.001 0 0 0.001 0 0]readonly def +%/UniqueID 0 def +/FontBBox{-619 -1659 3200 1660}readonly def +currentdict end +currentfile eexec +D9D66F633B846AB28EDC112EE8CE6C6736001234F4C7DFDC8C8014E32702D436 +0A505E30AFE960AA59313499738A089E6AEAEFDC84AEBA57A1F9AD647CCB7BE5 +B03F5F4993FB2566BC918B0AB23DB4629AC0D00174ECD9F3286839BBEA5DD0D6 +84E25152E241F0D923ADCB347B5635EE25CE26F509B8F400F2C9CFB67D676ACF +9D516193DA983A07AC65A99BDDE6D09C93F522AF18F5462F7C2C3A7CD58FB034 +810D4645AE7525C1BDF2E062C4D0BB1A115E406B09C9014323678B1FF15AC494 +A82AC85A09051539D2EBF8D4910447B1C8875854670342B6D13D727DDBA5C2FD +52AFE2107B72A73D3A8F8B0516B5D141AA315F37523CA19009A6CEAB11C23A80 +20B8C46718DBF2DBEAB3320A596C8992531F6E70A725359BD09EF9FF2C0E58DD +9EE54192A355EDB81FB6E2391CD91A9BBD4E6637ECE7F9DA1603F49FA9AEF3E7 +27075B080A569EF1014B7F2D4C3687FA1336676537B82BF4590F962C967795F7 +BF6CD740C57389AB77A273920959FE657B87F76B9403C9586FE85C957B0BFF7B +26F4AA603883E02139AC15D1360C26E332527461ABDBAA603802CAE75E08F559 +E16B2E623827BEBD40D4661A6B3D10D6C395EECC916F52F99D9D1F19DE5977BB +73C4EFAEB7FD0052E831BE175C945358083BA2C5690E0CF8B386900A4A51F60D +C8E98236B16D54A1D94E88A062E0E3D8397F5CB503F51A4F9918D3A902AC7DB3 +25B30A154EF106BF4CB8A369599B3496537F22C842825F69154DD87E05CF9ADA +B6C94188CB702F53D00BBEC8ACE69CBBFB8C11099395D7BF0D47EB3E41454D13 +AAAC4392E8C0ADCA1E87A6F844D3AD81EDD4CCDD0FBBFCEEE9C70BAC5B4D4861 +E7B9DB2F4DAD612986007DB8CDB3B5384C3C7D77A2609D2255D4098E7A314D80 +1A553DD03007696C9DA22D9E9AD132F09CDC0144E7C1BB169635A24341DE3589 +96D503CB7BC73A81FC12A743C711916CBEEEF61F7273B238B3C0DF1AF4B190B7 +C820DD8F5FDAF73872074E1C95F4A4B7E1B5DED436C03D1020B9FE9F780FF2C5 +920C97B1584B7E0051107EE7789BFAB0B13F32AD2DC01DB5120BFD6B5FA8E386 +EE743D10E6A9E858979543882C19ABB36FE278EAD1304E84DF80E8CF87A994DE +0DAFBB918B5C13EC0B410CDE19ACC3DCCCC419A6C552410C0CFAAF624006218C +F236274FE535A25B1399748107BCA62DD24FF611AD06154590701B4F54D1E477 +B50B48E13664D702948BD52E67810674BA5D16DBF37481B4847AB1053F4DCD13 +21E97F4A4EDD6FAB8EC10976E2833BC7BC7091827D64CEDD4200199DD4C2E02D +B3A00B71CB3CCAD44123D9DF9F82EE852E53DC6B974333A0049C05CB65F9BFC6 +D7DE5DEA8F847914575DC2638D68668776CA0A4596E19C3B2067E17D5D9564C9 +487D1BA5971C59AE61F7E99DAEB520C1EB53F7AE28879DFFFA0B75F72B460BC8 +D3C64E90F48FF1FE5481798011345171E6E1B22EC8AA4A0DAAAF03CD98EBFC61 +5FC26C6D9E3C3AC13953E033B235304E2D38FBA249BB40B9EA55026E83069E54 +35D0289834FA3EBCE37FAF01A2C77BB55B28CCC265EDCC5FAE00561E2A365E03 +5A109565AE24568C3E5AB8D80828A9CE717406B80CF697638421FEF9E74E6096 +C7BFB2B05F9937C1A5F6FF971DBC565DB46985D405B31D7B3E97C0ECEBCD68E2 +34DDB4544C1A9323C18606C953ED17153D9713F13C1CE56E6F0C09FAAB8FD11F +CC8ADFDFDE42B6ACFA8AFAF2C8F0CBD7F6A07322E8A5554314FAF58D1C511ED9 +743294F53AF9AFD0A40943F21CDA99CC37594E444B5863D19A02B93CEF93BCB7 +FE8889084DBA449CB89485C0C6BC9B843AC7032C007BDFC6830A98555E8435A6 +E04471265C24CE87455514A41FFA8E051C803BB2D2FC5884D08B528D5F95697D +306D0B77D4901E3A2FEE88ABD43D7A5B88EA7D20802D6E2A5868B88FA3012BA5 +CF53F24BD6ACE03800E20CD7723DA527427D075E1F2031035F5FA47D33D843A5 +A6C719C41DB1B0F2551A72FED8446240933F5E57677DC190566257D1841ABAC2 +A2F1207BF9C8CDFFC2F3790FDA3268A9830D9F9B5822FDB36DE636F629E8379E +9F1C59D80642690249E87D1CF0D1E369D1E34821EBC67CBBCB45790B3A9B73B0 +6A1DC82BD838916B79C22317DEA91B9F364FBDD71FF4A6B1E0575D4108B3554C +23DCAD074DB6C902B30FBAFBFABE56F50212E10B34EB734A2EA7B00947A9DFAD +F3C31C576813190D929DE66B91B9DF680F383D5652865EB561E8D811524FFB16 +EDCFB17C5951166E2DD0FA70DB2C4EA2F0522D6AE227A91BDA3ED6293F260480 +0E994C31D82D26E69AAC153402BBC2CCF1F1ED899E4AA36A15115E62A860C77C +DFC304428A9495AD26F1AD1E57CA4B13A14C35E8A4B80E3416AB4AC06290038D +2C7F1938F8908CB444FF9C6B1A9EBEF6A6A3828AB8DC86282A7782860D500F9E +9D6273930803F9731E32866A1AFF6367D6BA9F6E8CB5CA7F43A060D463405F61 +C97364ED +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark{restore}if +%%EndFont +%%BeginFont: CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 72 /H put +dup 97 /a put +dup 112 /p put +dup 114 /r put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +EC7762B3A0C6518E8855CEBB9937C972EA909F25CA31C33A6AC307FF01317AD7 +58BD08D95697E699B40A3CA81F8A9ADBC5AC368A2D56BD00684494819CF72865 +86D1DE7A349F3C98F89FF38B30D840294DD3E51258FB4208CCAA455C3A13C6F8 +9B4DBC3027B3CAF2C6EF0A5000F53914FC469769D1D2D72D9F57A11C5BB44D8A +1857472CC47B532E2A0CD7BD2F7F99930FE769403B46E25CFC2041759BBC27CB +A60525182B0BAC8AB381658DF10814D8C2A0F73A0415B8AD23DF0A82CC481EAD +70AADE0E2676CAC46D5C39B92C18AAD0147814BF27C8FA6DCA0BBA0FF0775836 +2210962B3400AE0CDF57242EA8A7DA911652D5DF61139650117E65779D80FA5D +F0DE22F7D2CCD0185380E1D346582C2E719ACB75A70367913F69BADAA2F9B4BE +5A76DAF30053CE655A7C984B6BB390F7DE687B10EEA2F1D2F4353AD17B032900 +6E4AF46A848A94E69B6B7F3EC896D42594593A016CB5FD306F41F1E396EA1B59 +8CDC2B459A81B19A090AA25E8D003483A64C21070738838BE7E8F0DA026A315C +DAD06E46B3BFDF5D0A48DEAAA63DC107C8352E4BD2361E66C1CCFE8E3C283C02 +A4655C579BF21B53D1FD37996C682D1B232ED1F6A1B37ED3F17DE0D82EF0E15D +FECF39F8EA9A1804A05B350671BA8D9838EC6FD9269FC73192DDFBD4CEDD9954 +5675E7431A7793960485EAB5778EA899E98988CAFF8DCCEBF494D5676912D5E8 +68E4B6E8380F66A410FF23883099831871EC2B5353AB2F0E8D941BCB25FBF929 +F49068E8F65763CF259036DFEA1AAB44ED4B4F457EFD4B9B0BBED34041206F8F +2CF988CFDEFF949914C4B69F50F6628F9EEC6842B79E4DEF88F1FEE5AC7014E8 +652E21891F7FBB5D720CDA676189F016B1FEABC10785FEEF0F4B11C7658A59CA +73528778D2213CA6DC3A62BE2D64A05860D0930D7EA56788DD87665BF143F034 +85E11FFE1F67FB6D16AD327872C04F8876134E5B5D5D1D811F297520B630C1FC +45D9A4531606AE86CEF0D876894372B84D03D1BAB918DA530B3F2D2A59FED439 +D11DED107279134ECD4728803979CDBBCDC96B5F791E79254ECD13F2577B13AD +665ADBE9C5032A6D6EBB105FA5656E64E8E61C718E533A2C71F469930F296766 +4F0D17A94A65D60F87DE73CD3E463B692A4B59BA7A760DD7A81CDDA23CD0698F +4C6FA5667BE5D25FFF2E69922C496CB4EFE5117A04277C8B701D81BF0951FDC6 +C238657A7D1B2E5FC7E8261F0CAF9CA00E0A0219C771FF38A45647D2F019FEC8 +39F4D48736977F5B21F6961C8A9ACF420971A8B4B3EB237EB85B600FD483DA2A +8717A30EB97DF714C48065871D95F479057A8A29DC524D9781A602791A5E6D1F +F41C00075B1FED387D98CF7EB11374C849D87018D4F17E60D3CEE00CC979AD41 +0F813119C60C8E89BD209DB0CCDDC342CC3D438356296934D03AFCC9B2A2F85E +CF808E3F4F73415A620F8F1D9563FDE6DFF71385693E6B75BFC0436205231264 +EAB0C8398DD7DD9C0DDFF09EAFAA8D67F25F80B39F4A584B94E08408C02326B4 +0E27E034DC75E7E797B53DEB549AF0590C15DB00EFEDAA1F5EFA3F7A08023326 +6EB529F0B4B8DD91CB69558534CCE31AE7E157D0B060877EE4F153EEC4FDC93D +0FEEC724C9AFC18168AE7D0CA13F0B4F66C9F9C1A3BAC53475B5A70CA1B83D37 +D276F00DA0A9318C09C86A3CB60F8FF548AF36F41E219F071A8638431CE2A931 +13031EB40F0EACF90949369A67E8793F1C76C3A2577467242CC0BA47B411DF2A +9D9FA70D335D41F59317F44A60ED73DAB72A2F1AC1D8400534CE5162CB3751D1 +DAC13FBB3B99C04815F958AD5B9B44388979B95C2AE6E66E90645AA34F8C455B +E6EF471BB8E5036B399054FE6BD3B4E612415883B53B6C5971EBED8F462F4DC2 +C59118D0C3921FE8A238D2E3CF0C0DDCAED669667EA5390087B2FC75CAD18883 +113AAADF162B023352069A442B6682C3FF51D628BE1DBBD89A7AAB946AF7132C +1739C239C496145E7DD84FDA4F11EEEA103137618571BDCD4958E166EC99FE60 +AA5334CB63B98D4A88FFAFBD8962186FAABF1E2593031D084359B02ECE352A5C +8B4F4C828D7FF50D459FB6C913BB52FEF3A6D47C338EC99E6FE3FB13AB6FB9F6 +6BECF95B625F9BE81A4C9E5CBFB6407856406CC9C52353EAB3C79BAAEFD69628 +448FB6E92B0345E5D3AD7E0009212A52D33A0DD0870C6834B8CFC8A8488B4BEA +EBBA5C743CA53E8EDEA6034994F5A338B85C4ADD0A28C7A8FB765C4A027ACC65 +C774E5244912470606D852A39CBBE5E41177FFDF5DACF00BCE930F6409136C17 +93AAD1ECAA2A3D88D47656ED2CBC816B173B01048BE9D1E4B54ABC063AA483DA +D551D0ECDC163CEAD83A7B901741578483203BE72E4B676F7A211F72225DB3DB +146BDB01C7EB13041306FB82B973E484683DFB445134A9805F40B22CEFABB5A7 +A66796AC5B925B8021ED155E58FA101CACA594C7503B7E343ACD1B94657EB3E3 +7F509A1F69D934014A04624F43FF1E9BF2F55A8A2A7E3EFCEA27582959FD01BD +E891530114DBC5F754A238B7ED890A1F80E836F340D0286D7334BC5E28D184E6 +A895BDCCEE38F5EC170D3BFB792D2DDA7E57BD2FBD1E6304DD03CD20842B335D +7FA068735311F96609995E26B0F630CDFC5AB855D56CEBEEBF94D111260C0212 +E7EB17ECCCC87FE8878535BCD8619D29EF97ABF0145D6824F0514D9716DEBCFC +9E82635CAEA24178E29C4CE99D72268FE8DDE42697988A4974226A16CA2B5C11 +B169965B9F8FC6BD4CD581D381D212A0A28D4A44AEC567E94EB24EBF471E5C4A +BCBD7576320CCD8530E963D0E26A035ACCEF2F9907FA86DF3301A707606734F0 +FD11DAB90103A5679DE35F079686D41EBB178539ECC9D2642278E664701A2734 +8169C341BDAE29D7D9FF6B70FD7FDEE5AF87A8F2D29A8EB31AA1F43F8EA2B412 +9F373BF55F8B6F39BE1DFCAC77739309DAC06E611A988C7A52803B68778F61D6 +948783D125CF6DCC92A782A220C706FB04EA7F557E7C4ACFBEDFAF9845F260FE +69A02FB078D023D395D0597D33119430301E1AA71C59ACEA32EB0486252C86A4 +39BF53F48ED5FDC8CAE4B4B82FA08AA4AA713467F1B67A0FAA2A3599E4F11969 +5FBFDB5CB6C50DD3456FBE0ED46D519A4DF0460658D5FC6AC70242AAF40CCB42 +D8A7F1EBF6A08226C7E293DF58978F897FC2A064A48C0BA9889256FCCC681003 +270E57A7FA7E122BA9E485BD270A36CFE59DCFF75F52663243F379183287C1FB +9125F74AD6BC865CB040324F31694B34AA9A59952D8379FD1E03B285AFC3D8A7 +763B01901CB9D2D6D7661AC86A5670FD1A669F7A3EBC1F9B51B883477D41E0A2 +180C6EC74730B48E34C6DF5E17BE66FBCAE3E62F906657E24EDB68B65B979C68 +16DA62B2D513971B9495F6C6B2CC9EA0324667DE7CB380EAA91C91E8D1FDFDB9 +48876FAABDA95743B87081DD91C5FB6292B024AD61E5F104174387BBAF158ED5 +81B8A774318D7488E273ECF31FB7C852AA3EAE39D09596729F36AF3C6E0802C3 +3BFF624A3ED426EA821588BA547AE9C95E5A31BD7969B74F8A3EFA328227D35B +3422F6FE038BCF008A0D37533483D4D012DC41B7ED4797A9BA43A3EE01DB61F7 +F25C014CCF48ADDAD0F820F1CA4FB7E6053BB26FD6B034604696092FD747DC1C +10E378A08E09FADC650615435AA6574E3A11FB1314D40F3D0C289B0837A97C0E +4163F7AB434FCC774501B7B6E3B0C4C415271D66F58620A7F1D268F91B3EC459 +C877CBB1D3CB8AF6AD234944E2CFBCA036C06BA266D8DE5AD1402AF05A00A570 +78A6C92833589A5A10257C81646E17D59BF6DA4AC4378A8345D6EF04F624EED5 +C57146972E3CB064E63B6AF8804D9928343F91F44FCE53DC5C04D6D6C78F15DB +135C38C52E710C62E371409C775351D87DED6A18C83BBB94A91C9DA5C57D04E2 +CEF60E5D286D50F568463AF569B78CBDC6B618DCD032198666142BAD655C9BC8 +8D9B5416418E515A03BC75FA4D87E92E98204594211FFCFF7FB7ADA62C5FB21B +84A48FD25D38FEE1BCE41B5B203BD6D57753F53DEC3C4AE8C3EB52A9348E3FE2 +3C1C960705F4B40127CC21392444DAC1CB0AC4A94499459D8756F970D5B930FC +F8A67F620DB3D6E3210034DC9543 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +TeXDict begin 40258431 52099146 1000 600 600 (gapxmpl.dvi) +@start /Fa 145[108 5[108 2[88 108 15[135 84[{}5 172.154 +/CMBX12 rf /Fb 198[41 41 2[41 3[41 49[{}4 66.4176 /CMBX8 +rf /Fc 137[71 1[52 4[67 75 112 37 6[61 75 2[65 19[128 +4[105 3[103 97 14[67 67 67 67 2[37 46[{}18 119.552 /CMBX12 +rf /Fd 170[0 13[133 20[50 42[0 7[{}4 166.044 /TeXMUSIX20-Regular +rf /Fe 141[33 1[46 14[42 24[62 72[{}4 83.022 /CMR10 rf +end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: Letter +letter +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 218 -118 3919 4 v 218 -77 V 218 +-35 V 218 6 V 218 48 V -144 -9 a Fe(Harp)218 4 y Fd(G)355 +-37 y(2)423 -40 y Fc(2)423 43 y(4)415 -286 y(Mo)l(v)l(emen)l(t)46 +b(1)p 712 25 4 146 v 665 25 a Fd(\007)p 1094 4 V 1047 +4 a(\007)p 1427 48 4 168 v 1614 -16 4 146 v 1567 -16 +a(\007)p 1996 4 V 1949 4 a(\007)p 2329 48 4 168 v 2516 +25 4 146 v 2469 25 a(\007)p 2898 4 V 2851 4 a(\007)p +3231 48 4 168 v 3418 -16 4 146 v 3371 -16 a(\007)p 3800 +4 V 3753 4 a(\007)p 4133 48 4 168 v -214 279 1741 4 v +-214 321 V -214 362 V -214 404 V -214 445 V -141 109 +98 4 v -141 202 4 93 v -112 177 a Fb(5)p -47 202 V -141 +205 98 4 v -214 402 a Fd(G)-77 361 y(2)p 102 423 4 146 +v 55 423 a(\007)p 320 402 V 273 402 a(\007)p 490 446 +4 168 v 619 381 4 146 v 572 381 a(\007)p 837 402 V 790 +402 a(\007)p 1007 446 4 168 v 1135 381 4 146 v 1088 381 +a(\007)616 b Fc(Hello)p 1353 402 V 1306 402 a Fd(\007)p +1523 446 4 168 v 2396 279 1741 4 v 2396 321 V 2396 362 +V 2396 404 V 2396 445 V 2469 109 98 4 v 2469 202 4 93 +v 2498 177 a Fb(8)p 2563 202 V 2469 205 98 4 v 2396 402 +a Fd(G)2533 361 y(2)p 2713 423 4 146 v 2666 423 a(\007)p +2931 402 V 2884 402 a(\007)p 3100 446 4 168 v 3229 381 +4 146 v 3182 381 a(\007)p 3447 402 V 3400 402 a(\007)p +3617 446 4 168 v 3745 381 4 146 v 3698 381 a(\007)p 3963 +402 V 3916 402 a(\007)p 4133 446 4 168 v -214 677 4351 +4 v -214 718 V -214 760 V -214 801 V -214 843 V -141 +507 138 4 v -141 599 4 93 v -112 574 a Fb(11)p -7 599 +V -141 602 138 4 v -214 800 a Fd(G)-77 758 y(2)p 180 +820 4 146 v 133 820 a(\007)p 616 800 V 569 800 a(\007)p +1004 843 4 168 v 1210 779 4 146 v 1163 779 a(\007)p 1647 +800 V 1600 800 a(\007)p 2035 843 4 168 v 2241 820 4 146 +v 2194 820 a(\007)p 2677 800 V 2630 800 a(\007)p 3065 +843 4 168 v 3271 779 4 146 v 3224 779 a(\007)p 3708 800 +V 3661 800 a(\007)p 4096 843 4 168 v 4112 843 25 168 +v 218 1420 3919 4 v 218 1462 V 218 1503 V 218 1545 V +218 1587 V 218 1543 a(G)355 1502 y(2)423 1499 y Fc(2)423 +1582 y(4)415 1211 y(Mo)l(v)l(emen)l(t)46 b(2)p 712 1564 +4 146 v 665 1564 a Fd(\007)p 1094 1543 V 1047 1543 a(\007)p +1427 1587 4 168 v 1614 1523 4 146 v 1567 1523 a(\007)p +1996 1543 V 1949 1543 a(\007)p 2329 1587 4 168 v 2516 +1564 4 146 v 2469 1564 a(\007)p 2898 1543 V 2851 1543 +a(\007)p 3231 1587 4 168 v 3418 1523 4 146 v 3371 1523 +a(\007)p 3800 1543 V 3753 1543 a(\007)p 4133 1587 4 168 +v -214 1843 4351 4 v -214 1885 V -214 1926 V -214 1968 +V -214 2009 V -141 1673 98 4 v -141 1766 4 93 v -112 +1741 a Fb(5)p -47 1766 V -141 1769 98 4 v -214 1966 a +Fd(G)-77 1925 y(2)p 181 1987 4 146 v 134 1987 a(\007)p +621 1966 V 574 1966 a(\007)p 1014 2010 4 168 v 1221 1946 +4 146 v 1174 1946 a(\007)1912 1779 y(U)p 1661 1966 V +1614 1966 a(\007)p 2054 2010 4 168 v 2261 1987 4 146 +v 2214 1987 a(\007)p 2701 1966 V 2654 1966 a(\007)p 3093 +2010 4 168 v 3301 1946 4 146 v 3254 1946 a(\007)p 3741 +1966 V 3694 1966 a(\007)p 4133 2010 4 168 v -214 2266 +1741 4 v -214 2308 V -214 2349 V -214 2391 V -214 2432 +V -141 2096 98 4 v -141 2189 4 93 v -112 2164 a Fb(9)p +-47 2189 V -141 2192 98 4 v -214 2389 a Fd(G)-77 2348 +y(2)p 100 2410 4 146 v 53 2410 a(\007)p 313 2389 V 266 +2389 a(\007)p 478 2433 4 168 v 604 2368 4 146 v 557 2368 +a(\007)p 817 2389 V 770 2389 a(\007)p 982 2433 4 168 +v 1108 2368 4 146 v 1061 2368 a(\007)1572 2327 y Fc(D.C.)g(al)1572 +2451 y(Co)t(da)p 1321 2389 V 1274 2389 a Fd(\007)p 1486 +2433 4 168 v 1501 2433 25 168 v 2396 2266 1741 4 v 2396 +2308 V 2396 2349 V 2396 2391 V 2396 2432 V 1122 w(G)2533 +2348 y(2)2264 2161 y Fc(Co)t(da)2663 2202 y Fd(U)p 2711 +2410 4 146 v 2664 2410 a(\007)p 2923 2389 V 2876 2389 +a(\007)p 3088 2433 4 168 v 3215 2368 4 146 v 3168 2368 +a(\007)p 3427 2389 V 3380 2389 a(\007)p 3592 2433 4 168 +v 3719 2368 4 146 v 3672 2368 a(\007)p 3931 2389 V 3884 +2389 a(\007)p 4096 2433 4 168 v 4112 2433 25 168 v 218 +3010 3919 4 v 218 3051 V 218 3093 V 218 3135 V 218 3176 +V 218 3133 a(G)355 3091 y(2)423 3088 y Fc(2)423 3171 +y(4)415 2801 y(Mo)l(v)l(emen)l(t)g(3)p 712 3154 4 146 +v 665 3154 a Fd(\007)p 1094 3133 V 1047 3133 a(\007)p +1427 3176 4 168 v 1614 3112 4 146 v 1567 3112 a(\007)p +1996 3133 V 1949 3133 a(\007)p 2329 3176 4 168 v 2516 +3154 4 146 v 2469 3154 a(\007)p 2898 3133 V 2851 3133 +a(\007)p 3231 3176 4 168 v 3418 3112 4 146 v 3371 3112 +a(\007)p 3800 3133 V 3753 3133 a(\007)p 4133 3176 4 168 +v -214 3408 4351 4 v -214 3449 V -214 3491 V -214 3532 +V -214 3574 V -141 3237 98 4 v -141 3330 4 93 v -112 +3305 a Fb(5)p -47 3330 V -141 3333 98 4 v -214 3531 a +Fd(G)-77 3489 y(2)p 181 3551 4 146 v 134 3551 a(\007)p +621 3531 V 574 3531 a(\007)p 1014 3574 4 168 v 1221 3510 +4 146 v 1174 3510 a(\007)p 1661 3531 V 1614 3531 a(\007)p +2054 3574 4 168 v 2261 3551 4 146 v 2214 3551 a(\007)p +2701 3531 V 2654 3531 a(\007)p 3093 3574 4 168 v 3301 +3510 4 146 v 3254 3510 a(\007)p 3741 3531 V 3694 3531 +a(\007)p 4133 3574 4 168 v -214 3805 3481 4 v -214 3847 +V -214 3888 V -214 3930 V -214 3971 V -141 3635 98 4 +v -141 3728 4 93 v -112 3703 a Fb(9)p -47 3728 V -141 +3731 98 4 v -214 3928 a Fd(G)-77 3887 y(2)p 188 3949 +4 146 v 141 3949 a(\007)p 647 3928 V 600 3928 a(\007)p +1058 3972 4 168 v 1272 3907 4 146 v 1225 3907 a(\007)p +1731 3928 V 1684 3928 a(\007)p 2142 3972 4 168 v 2356 +3907 4 146 v 2309 3907 a(\007)3315 3949 y Fa(The)64 b(end)p +2815 3928 V 2768 3928 a Fd(\007)p 3226 3972 4 168 v 3242 +3972 25 168 v eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/generic/pmx/pmx-install.pdf b/Master/texmf-dist/doc/generic/pmx/pmx-install.pdf index e4c9429da66..5538f8db899 100644 Binary files a/Master/texmf-dist/doc/generic/pmx/pmx-install.pdf and b/Master/texmf-dist/doc/generic/pmx/pmx-install.pdf differ diff --git a/Master/texmf-dist/doc/generic/pmx/pmx-install.tex b/Master/texmf-dist/doc/generic/pmx/pmx-install.tex index e49bfd0f8c0..c6bf78dc6d5 100644 --- a/Master/texmf-dist/doc/generic/pmx/pmx-install.tex +++ b/Master/texmf-dist/doc/generic/pmx/pmx-install.tex @@ -5,7 +5,7 @@ \RequirePackage{hyperref} \usepackage{xcolor} \newcommand{\myurl}[1]{\textcolor{blue}{\underline{\textcolor{black}{\url{#1}}}}} -\newcommand{\pmxVersion}{2.8.4} +\newcommand{\pmxVersion}{2.9.4} \begin{document} \title{Installation of the CTAN PMX Distribution} \author{Bob Tennent\\ @@ -32,25 +32,16 @@ which tree to use\footnote{% and installing files\footnote{% \myurl{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=inst-wlcf}}. -\section{Installing \texttt{pmx.tds.zip}} +\section{Installing \texttt{texmf} Files} -In this distribution of PMX, most of the files to be installed -(including macros, documentation, and a processing script) are in -\myurl{http://mirror.ctan.org/install/support/pmx.tds.zip} at CTAN. -The file \verb|pmx.tds.zip| is a zipped TEXMF -hierarchy; simply download it and unzip in the root folder/directory of whichever TEXMF tree -you decide is most appropriate, likely a ``local'' or ``personal'' one. -This should work with any TDS\footnote{% -\myurl{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds}} -compliant TeX distribution, including MikTeX, TeXlive and teTeX. +Copy \verb|tex/pmx.tex| to \verb|/tex/generic/pmx| in a personal or local +TEXMF tree. +Copy files in \verb|doc| to \verb|/tex/doc/generic/pmx| in the TEXMF tree. -After unzipping the archive, update the filename database as necessary, +Update the filename database as necessary, for example, by executing \verb\texhash ~/texmf\ or clicking the button labelled ``Refresh FNDB" in the MikTeX settings program. -Documentation for PMX is installed under \verb\doc/generic/pmx\ -in the TEXMF tree. - \section{Installing \texttt{pmxab} and \texttt{scor2prt}} The next step in the installation is to install @@ -87,6 +78,7 @@ and \texttt{gcc}\footnote{% on your platform, you should be able to build \texttt{pmxab} and \texttt{scor2prt} executables. + To build \texttt{pmxab} and \texttt{scor2prt} for your platform: \begin{enumerate} \item Unpack the \texttt{pmx-\pmxVersion.tar.gz} archive: @@ -112,7 +104,7 @@ as root (admin) to install to the system path, or just \end{list} to install in your own path. \end{enumerate} -You should now have executables \verb\pmxab\ and +You should now have executables \verb\pmxab\ and \verb\scor2prt\ available for use. \section{The \texttt{musixtex.lua} Processing Script} diff --git a/Master/texmf-dist/doc/generic/pmx/pmx25-284.html b/Master/texmf-dist/doc/generic/pmx/pmx25-284.html deleted file mode 100644 index 29d811084c1..00000000000 --- a/Master/texmf-dist/doc/generic/pmx/pmx25-284.html +++ /dev/null @@ -1,384 +0,0 @@ - - - - - PMX 2.84 vs 2.5 - - - - -

Changes from PMX 2.5 to the Latest Full Release (2.84), 10 February 2018

- -

2.501 (Note: new scor2prt)

-
    -
  • Bugfix: initialize index in PMX subroutine putorn to eliminate subscript - error detected in some compilers
  • -
  • Bugfix in scor2prt: Ignore special treatment of special - symbols if they appear between double quotes.
  • -
  • Tweak: move end of first part of line-break ties slightly to the right.
  • -
- -

2.502 (Note: new pmx.tex)

-
    -
  • The height of a figured bass vertical stack can now be adjusted upward by - an integral number of \internote by appending "+" and the number. Recall that - it can already be moved downward 4\internote by prepending "_" (underscore). The - two options can be combined to provide full control over the vertical position.
  • -
  • Ties can now be represented with braces "{" before a note and "}" after. Both are - equivalent to "t" after the note. (Thanks to Dirk Laurie).
  • -
  • In pmx.tex all the commands of the form - \font\...=\fontid sy1000 have been changed to \font\...=cmsy10 (Thanks to - Olivier Vogel).
  • -
- -

2.503

-
    -
  • Enable arpeggio left shift with ?-[x]
  • -
  • Allow musicsize of 24 and 29.
  • -
  • Bugfix: Fix bug introduced in 2.415 which caused error in printing replacement - number in xtup.
  • -
- -

2.504

-
    -
  • Gap between normal grace and main note: X[x] as option to the G command, - where x is the gap size in notehead widths.
  • -
  • Bugfix: og (segno) now works OK when nv .ne. noinst.
  • -
- -

2.505

-
    -
  • A new global option AK activates special rules for vertical positioning - of rests in two-voice staves. By way of background, without the new 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 "//") are 4\internote below their - single-voice default positions, and those in the upper line are 2\internote - above the single-voice default. The new option 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 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 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.
  • -
- -

2.506

-
    -
  • Fixes a bug in AK. Simultaneous, equal-duration rests will be positioned - according to the default rules.
  • -
- -

2.507

-
    -
  • Enhancement to global option AK for vertical positioning of rests in - two-voice staves (see version 2.505): The option L ("look left") in a rest will cause the - vertical position of that rest to be based on the preceding note, rather than the - following one as is the default when AK has been issued
  • -
  • Partial bugfix: In unbeamed xtuplets, the length of the bracket and position of - the number are now adjusted to account for any inserted hardspaces.
  • -
  • Bugfix: unbeamed xtups with two flags are now allowed.
  • -
- -

2.508

-
    -
  • Allow grace notes in xtuplets.
  • -
- -

2.509

-
    -
  • Correct small bug in arpeggio left-shifting (it got confused when there - was more than one voice on a staff).
  • -
- -

2.510

-
    -
  • Bugfix: Correct omission of character variable declarations in new subroutine getgrace - introduced in 2.508.
  • -
- -

2.511 (Note: new scor2prt named s2p2511.exe)

-
    -
  • Bugfix: Correct error in horizontal spacing introduced in 2.507.
  • -
  • Experiment: Remove prohibition against tempo changes in MIDI macros.
  • -
  • Bugfix in scor2prt: Make it work right when "R" command occurs at end of - input block and "/" is on next line (as produced by M-Tx).
  • -
- -

2.512

-
    -
  • Enable multiplicity down-up "][" within xtuplet
  • -
- -

2.513

-
    -
  • Bugfix: If there is more than one rest at start of a beamed xtuplet marked as a forced - beam, beam height and slope tweaks are now properly handled.
  • -
  • Bugfix: If an xtuplet with multiplicity 2 or 3 starts with a rest, the rest is now printed - correctly.
  • -
  • Bugfix: Unbeamed xtuplets (with option 'a' on first note) with multiplicity 2 or 3 are now printed correctly.
  • -
- -

2.514

-
    -
  • Bugfix: Correct horizontal spacing when after-grace is immediately followed by - normal grace.
  • -
  • Bugfix: Correct transpose register when it has been changed in a single - after-grace.
  • -
- -

2.515

-
    -
  • Bugfix: Correct error in automatic forced beams. Before the fix, if the - beam did not start an integral number of beam durations from the start of - the bar, incorrect results would occur. -
  • Bugfix: Properly center fermata over centered whole-bar rest.
  • -
- -

2.516 (Note: new pmx.tex)

-
    -
  • Allow figures in voice #2.
  • -
- -

2.517

-
    -
  • Allow figures in two voices, voice 1 and any other one.
  • -
- -

2.518

-
    -
  • Bug fixes in 2-voice figures.
  • -
- -

2.519

-
    -
  • Fix bug that prevented \sk from being output, misaligning some voices.
  • -
- -

2.520

-
    -
  • New feature: special characters 2+, 4+, 5+, 6+, 9+ for figured bass. In the PMX - string for any figure, follow the number by 's'. This uses the font cmrj from the - new package figbas. You must install this font in your TeX setup for this to work.
  • -
- -

2.521

-
    -
  • Bugfix: Font definition syntax corrected so no extra space is introduced.
  • -
- -

2.602 (Note: new pmx.tex; requires eTeX)

-
    -
  • Allow 24 voices, beams, slurs. Require etex.
  • -
  • Include comment about doubling size of internal buffer to 131072, requiring gfortran for Windows to compile.
  • -
  • Correct slur indexing in linebreakslurs.
  • -
  • Account for comment lines in line count for error messages
  • -
- -

2.603 (Note: new scor2prt)

-
    -
  • In getpmxmod.for, decrease nline by 2 to fix locating errors - following reading in an include file. -
  • Add some error messages in g1etset.for setup data -
- -

2.610

-
    -
  • Instrument-wise transposition: Ki[instrument #][+/-][trans amt.][+/-][new key]. - For more than one instrument, may immediately repeat everything after "K". Must - either be at start of score (right after setup), or if later, must be preceded - by normal (full score) key - change command K+0[+/-][new key]. Must be used with relative accidentals ("Ar"). - Part(s) to be transposed must be entered in concert key, and will appear transposed - in the score. MIDI behavior not yet - tested. Has not yet been integrated into scor2prt, so for now - if you want to make parts, only use Ki... as score-only (on line after "%%") and/or - instrument only (on same line after %[Instrument #]). -
- -

2.613

-
    -
  • Set error trap if "D" is entered before any notes.
  • -
  • Enhance "AS" to allow spacing adjustments tailored for either smallsize or - tinysize. As before, "AS" must be followed by nv characters, but now they - may be "0" for normal, "-" or "s" for small, or "t" for tiny. Still must - set sizes of instruments with inline TeX.
  • -
  • Bugfix: Fixed broken "K-..." in 2.610. -
- -

2.614

-
    -
  • Bugfix: revise raised dotted rests by separately raising rest and dot. -
- -

2.615 (Note: new scor2prt)

-
    -
  • Command "AS", described above under 2.163, now also causes staff sizes to change - (in score only, not parts), so inline TeX is no longer needed to change sizes of - selected staves.
  • -
  • Scor2prt transfers partwise transposition commands Ki... (see 2.610 above) - into parts.
  • -
- -

2.616

-
    -
  • "Feature" added: Hairpin dynamics now may span input blocks.
  • -
- -

2.617

-
    -
  • Repaired several obscure bugs related to platform and compiler dependencies; - see pmxab.for for details. -
  • -
- -

2.618

-
    -
  • For letter and a4 paper respectively, commands "Acl" and "Ac4" set horizontal - and vertical sizes and offsets that center the page with no further adjustments - required in dvips.
  • -
- -

2.619 (Note: new pmx.tex)

-
    -
  • Several changes at movement breaks to improve compatibility with M-Tx - and musixlyr.
  • -
- -

2.621

-
    -
  • Bugfix: Made keyboard rest positioning ("AK" command) work properly - when there are rests are within xtuplets. - Also fine-tune default positioning of number and - bracket in unbeamed xtuplets containing rests. Position of both can still - be overridden with options on first note command for xtuplet.
  • -
- -

2.622

-
    -
  • New option in "K" command: "Kn..." inserts \ignorenats before signature - change, supressing naturals in new signature
  • -
  • Many small fixes in transposition and key changes with "K", "Ki", and - "IT" to make MIDI come out OK. Basic function of "K" and "Ki" unchanged. - "IT[+/- n1][+/- n2]..." now transposes MIDI by \internotes, not half steps - as before. E.g. to transpose MIDI of 2nd instrument out of 3 up by one octave, - use "IT+0+7+0". May also use to untranspose a transposing instrument that - has been entered transposed, to make MIDI come out at concert pitch.
  • -
- -

2.70 (Note: new scor2prt.exe and pmx.tex)

-
    -
  • Bugfix in AN, to make it behave as advertised, which is to assign user- - defined names to part files rather than using the default.
  • -
- -

2.71 (Note: new pmx.tex and MusiXTeX 1.21)

-
    -
  • Octave treble clef ("C8" command).
  • -
  • In figured bass, apply vertical shift for remainder of line with - option "v[-](number)" to the figure command
  • -
  • Internal changes in multi-bar rests to accommodate changes in - musixtex.tex.
  • -
  • Slurs aligned with stem ends, postscript slurs only, option "v".
  • -
  • Coda "oC".
  • -
  • New, smaller segno "oG". Unlike "og", must enter on every staff.
  • -
- -

2.72 (Note: new pmx.tex; still requires MusiXTeX 1.21)

-
    -
  • Bugfix when arpeggios go from one voice to another in the same staff.
  • -
  • Further tweaks in multibar rests.
  • -
  • Tweaks in centered full-bar rests.
  • -
  • Fix bug in clef changes for multi-staff instruments.
  • -
- -

2.73 (Note: new pmx.tex)

-
    -
  • Enabled lyrics with "[text]".
  • -
  • Internally replace each '\' in pathname in input file with '/', so files made - in Window are compatible with linux systems. -
- -

2.74 (Note: new pmx.tex, new scor2prt)

-
    -
  • Enabled staff-crossing chords with single stems, as ordinary beams, and as - beamed xtuplets.
  • -
  • Allow \" in lyrics string, for umlaut.
  • -
  • Fix bug in scor2prt that was causing crashes when last line started with %.
  • -
  • Enable note option Lx to lengthen a stem by x \internotes.
  • -
- -

2.76

-
    -
  • Allow accented characters in lyrics.
  • -
  • Behind-the-scenes modifications to allow staff-crossing chords that - are unbeamed or beamed, as illustrated in staffcrossall.pmx.
  • -
  • Modifications to allow accented characters in text strings in - lyrics, page headers, and text dynamics.
  • -
  • Bugfixes in unbeamed, dotted xtuplets.
  • -
  • Increased allowable length of text dynamic strings from 52 to 64 - characters.
  • -
- -

2.77

-
    -
  • Enable AV+/-x+/-y to add vskip bigh before or after \eject.
  • -
- -

2.78

-
    -
  • Expand bufq to 131072 bytes.
  • -
  • Expand maxblks tp 9600.
  • -
  • Allow up to 75 pages.
  • -
  • Index postscript hairpins from 1 up instead of by voice #.
  • -
  • Add option 'o' to forced beam for open notehead (\hb); set ipl(3).
  • -
  • Add option T[n], n=1,2,3 for single stem tremolo.
  • -
- -

2.80

(Note: new pmx.tex)

-
    -
  • Add 2-note tremolos.
  • -
- -

2.81

-
    -
  • Allow string of rests to end xtup,
  • -
  • In chordal half-note 2-note tremolo, make chord notes open.
  • -
- -

2.82

-
    -
  • Bugfix: beams with rests, not confused with xtups.
  • -
  • x option after slur index to allow slurs to go from one voice to another.
  • -
  • x option also for ties.
  • -
- -

2.83

-
    -
  • Fix problems when changing to or from octave treble clef.
  • -
  • Fix beaming (or not) and number location for xtups with - multiple rests. Still some problems with number height but - can be band-aided with number height tweak option.
  • -
  • Tweak error messages for options on "R" command.
  • -
  • Allow forced beam height and slope tweaks with 2-note tremolos.
  • -
  • Allow chordal note with 2-note tremolos, adding dots as needed.
  • -
  • Fix call to ncmid in beamstrt when setting start height for beam of - 2-note trem, by changing arg from ivx to iv.
  • -
- -

2.84

-
    -
  • Bug fix: dots in chordal seconds.
  • -
  • Bug fix: Initialize ihornb for non-beamed, down xtup.
  • -
  • Bug fix when using "AT" with 2-note x3c rD.
  • -
- -

Revised 12 February 2018, Don Simons (dsimons at roadrunner dot com)

- - - diff --git a/Master/texmf-dist/doc/generic/pmx/pmx284.pdf b/Master/texmf-dist/doc/generic/pmx/pmx284.pdf deleted file mode 100644 index a62ebabf247..00000000000 Binary files a/Master/texmf-dist/doc/generic/pmx/pmx284.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/generic/pmx/pmx284.tex b/Master/texmf-dist/doc/generic/pmx/pmx284.tex deleted file mode 100644 index ce131274281..00000000000 --- a/Master/texmf-dist/doc/generic/pmx/pmx284.tex +++ /dev/null @@ -1,2759 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% pmx284.tex 12/30/2017 -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\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.84~--~20 December 2017\\ - \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.80, aside from bug fixes which are documented in the -opening comments in the source code, \PMX version 2.84 allows arbitrary -numbers of rests in xtuplets, chordal notes in 2-note tremolos, and -user-defined adjustments of beam height and slope in 2-note tremolos. - -\setcounter{page}1 -\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 - \centerline{\ded Dedication} -\vskip 3pt -The \MusiXTeX~community was stunned by the sudden death of Werner Icking on -\break 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/pmx276.zip} -{\underline{\tt pmx276.zip}}.\NEW{2.76} It -contains the FORTRAN sources, binaries that will run in a DOS -window on a PC with WINDOWS95 or higher, manuals for useage 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 pmx276.zip} but will take -varying amounts of time to do so. \PMX is often upgraded; the most current version will -always 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 } 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: -\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 {\it tremolo} -on the stem. -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. - -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} - -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 level, then -the character {\tt x}. The duration applies to the total time value of the -two notes, and is currently limited to either a half note ({\tt 2}), -quarter ({\tt 4}), or eighth ({\tt 8}). The duration may be dotted. -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. -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, 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. - -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}. Also, -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 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 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]{tremxmpl3.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. -\label{MultibarRest}{\tt rm} followed immediately by an integer will generate a -{\bfi m}{\it ulti-bar} -rest, a special combination of characters between two bar lines with an integer -above representing two or more bars of rest. -This command will generally only be used in separate parts -after having 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. - - 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. - -\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} -{\tt [+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} -{\tt [+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. -With any dynamic mark, you can also -enter position shifts, vertical as a signed integer representing -the number of {\tt \bs internote}s, then horizontal as a signed number representing -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. - -\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 command {\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 depend 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\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\{\}}. - -This way of entering lyrics is a convenient interface to a small 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 entered as -in-line \TeX\ directly into the .pmx file - see the example file {\tt netsoos.pmx} for -some of those. - -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} - - 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{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. \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{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 netsoos.pmx}\NEW{2.73} is an example with lyrics, including 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. - -\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} diff --git a/Master/texmf-dist/doc/generic/pmx/pmx294.pdf b/Master/texmf-dist/doc/generic/pmx/pmx294.pdf new file mode 100644 index 00000000000..2a0d2d18874 Binary files /dev/null and b/Master/texmf-dist/doc/generic/pmx/pmx294.pdf differ diff --git a/Master/texmf-dist/doc/generic/pmx/pmx294.tex b/Master/texmf-dist/doc/generic/pmx/pmx294.tex new file mode 100644 index 00000000000..69bf5269b8e --- /dev/null +++ b/Master/texmf-dist/doc/generic/pmx/pmx294.tex @@ -0,0 +1,2948 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% pmx294.tex 1/22/2020 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\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.94~--~22 January 2020\\ + \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.84, aside from bug fixes documented in the +opening comments in the source code, \PMX version 2.94 +enables blank gaps at the end or in the middle of a system (\ref{Gaps}), +allows virtually +arbitrary staff jumping beams with multiplicity changes at the jump (\ref{Jumps}), +allows +changes to the vertical position of the number for a multibar rest (\ref{MultibarRest}), +and has more flexibility in setting stem lengths (\ref{Stemlength}). + +\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/pmx294.zip} +{\underline{\tt pmx294.zip}}.\NEW{2.94} 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 pmx294.zip} but will take +varying amounts of time to do so. \PMX is often upgraded; the most current version will +always 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 } 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} diff --git a/Master/texmf-dist/doc/generic/pmx/ref284.pdf b/Master/texmf-dist/doc/generic/pmx/ref284.pdf deleted file mode 100644 index 422a0b12f2d..00000000000 Binary files a/Master/texmf-dist/doc/generic/pmx/ref284.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/generic/pmx/ref284.tex b/Master/texmf-dist/doc/generic/pmx/ref284.tex deleted file mode 100644 index 0355f13e360..00000000000 --- a/Master/texmf-dist/doc/generic/pmx/ref284.tex +++ /dev/null @@ -1,480 +0,0 @@ -%%%%%%%%%%%%%%%%% -%% -%% ref284.tex (latex) -%% -%%%%%%%%%%%%%%%%% -\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.84, -February 2018~~~ -\hfill 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}, {\it i1}, or {\it i2} 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,L {\it x}] & Shrink or lengthen stem length by {\it x} \bs{\tt internote}.\\ -\ \ [:] & Make it sticky.\\ -\ [S,L :] & Shrink or lengthen this stem, then return to default.\\ -\ [Ao] & In main chord note, post accidentals in order entered.\\ -\ [T] & Single-note tremolo (slashes across stem).\\ -\ \ [1,2,3] & Number of slashes; 1 is default.\\ -\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.\\ -\ [xT] & Start a 2-note tremolo.\\ -\ \ [0,1,2,3] & Number of main beams between 2 notes.\\ -\ \ \ [0,1,2,3] & Number of indented beams.\\ -\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 n} & Horizontal shift, points. \\ -\ G & Smaller segno, any voice. \\ -\ \ [[-]{\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. \\ -\ C & Coda. \\ -\ [+,- {\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 above options. - Use same symbols as normal note.\\ -\dhline -s,);t,\} & Slur/tie toggle, after note. With {\tt Ap}, {\tt t} or {\tt\}} causes - true tie.\\ -(;\{ & Placed before note, same as {\tt s} or {\tt\}} 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 direction. Only allowed at slur/tie 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 curve. For font-based, on end - only. For Type K linebrk, 1st seg if on start, - 2nd 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.\\ -\ \ \ [s +,- {\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.\\ -\ [v] & Stem slur, postscript only.\\ -\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] & Make some staves small.\\ -\ \ {\it c1c2...} & A string of specifiers {\tt 0} (normal); {\tt -,s} (small); - {\tt t} (tiny); 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 i1}"{\it name1}" & Base name to use in part {\it i1}.\\ -\ \ \ [{\it i2}"{\it name2}"] & Base name to use in part {\it i2}.\\ -\ \ \ \ [...] & Continue with other parts as desired.\\ -\ [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.\\ -\ [cl,c4] & Set vert. and horiz. page sizes and offsets for letter or a4 paper.\\ -\ [V +,- {\it n1} +,- {\it n2}] & Vertical skips, \bsn{}internotes, before and after next - ~\bsn{}eject.\\ -\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,8 or 0-8} & {\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, octave treble\\ -\newcol -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.\\ -\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} \\ -\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 in - \bs{\tt internote}s, {\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.\\ -\ [n] & Suppress printing naturals.\\ -\ [i {\it i}] & Applies only to instrument {\it i}.\\ -\ +,- {\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.\\ -\ \ \ [i {\it i}]... & Applies to another instrument {\it i}.\\ -\newcol -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. 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.\\ -\ [v] & Start vertical shift for this line.\\ -\ \ [+,- {\it i}] & Vertical offset, \bsn{}internotes.\\ -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} . \\ -\newcol -\{ & Placed before a note, equivalent to {\tt t} after note. \\ -\} & Equivalent to {\tt t} . \\ -\dhline -? & 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.\\ -\dhline -"\break\null\ {\it text}" & Lyrics. See pmx274.pdf section 2.2.14 for details.\\ -\ \ [@] & Set a vertical offset\\ -\ \ \ a,b & Above or below the staff\\ -\ \ \ \ +,- {\it i} & Amount of offset, \bsn{}internotes\\ -\hline -\end{tabular} -\end{center} -\end{multicols} -} -\end{document} diff --git a/Master/texmf-dist/doc/generic/pmx/ref294.pdf b/Master/texmf-dist/doc/generic/pmx/ref294.pdf new file mode 100644 index 00000000000..6161911998f Binary files /dev/null and b/Master/texmf-dist/doc/generic/pmx/ref294.pdf differ diff --git a/Master/texmf-dist/doc/generic/pmx/ref294.tex b/Master/texmf-dist/doc/generic/pmx/ref294.tex new file mode 100644 index 00000000000..28c426f6632 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pmx/ref294.tex @@ -0,0 +1,487 @@ +%%%%%%%%%%%%%%%%% +%% +%% ref294.tex (latex) +%% +%%%%%%%%%%%%%%%%% +\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.94, +Jan 2020~~~ +\hfill 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}, {\it i1}, or {\it i2} is any non-negative integer. +{\it x} or {\it y} 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,L {\it x}] & Shrink or lengthen stem length by {\it x} \bs{\tt internote}.\\ +\ \ [:] & Make it sticky.\\ +\ [S,L :] & Shrink or lengthen this stem, then return to default.\\ +\ [Ao] & In main chord note, post accidentals in order entered.\\ +\ [T] & Single-note tremolo (slashes across stem).\\ +\ \ [1,2,3] & Number of slashes; 1 is default.\\ +\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.\\ +\ [xT] & Start a 2-note tremolo. Next note is 2nd note. If starting note + has {\tt d}, 2nd note must not, unless dot needs to be moved.\\ +\ \ [0,1,2,3] & Number of main beams between 2 notes.\\ +\ \ \ [0,1,2,3] & Number of indented beams.\\ +\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.\\ +\ \ [n{\it j}] & Put number at level {\it j}. Default is 9, below staff + is -6. Change is ``sticky''.\\ +\ [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 n} & Horizontal shift, points. \\ +\ G & Smaller segno, any voice. \\ +\ \ [[-]{\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. \\ +\ C & Coda. \\ +\ [+,- {\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 above options. + Use same symbols as normal note.\\ +\dhline +s,);t,\} & Slur/tie toggle, after note. With {\tt Ap}, {\tt t} or {\tt\}} causes + true tie.\\ +(;\{ & Placed before note, same as {\tt s} or {\tt\}} 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 direction. Only allowed at slur/tie 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 curve. For font-based, on end + only. For Type K linebrk, 1st seg if on start, + 2nd 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.\\ +\ \ \ [s +,- {\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.\\ +\ [v] & Stem slur, postscript only.\\ +\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] & Make some staves small.\\ +\ \ {\it c1c2...} & A string of specifiers {\tt 0} (normal); {\tt -,s} (small); + {\tt t} (tiny); 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 i1}"{\it name1}" & Base name to use in part {\it i1}.\\ +\ \ \ [{\it i2}"{\it name2}"] & Base name to use in part {\it i2}.\\ +\ \ \ \ [...] & Continue with other parts as desired.\\ +\ [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.\\ +\ [cl,c4] & Set vert. and horiz. page sizes and offsets for letter or a4 paper.\\ +\ [V +,- {\it n1} +,- {\it n2}] & Vertical skips, \bsn{}internotes, before and after next + ~\bsn{}eject.\\ +\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,8 or 0-8} & {\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, octave treble\\ +\newcol +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.\\ +\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} \\ +\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 in + \bs{\tt internote}s, {\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.\\ +\ [n] & Suppress printing naturals.\\ +\ [i {\it i}] & Applies only to instrument {\it i}.\\ +\ +,- {\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.\\ +\ \ \ [i {\it i}]... & Applies to another instrument {\it i}.\\ +\newcol +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. Precede 2-digit numbers with {\tt :}\\ +\ \ \ \ {\it c1c2...ck} & Clef symbols. Enter one for + every staff in new lineup.\\ +\ [S{\it x}] & Shorten this system to fraction {\it X} of orig.\\ +LC{\it y} & After L{\it i}S{\it x} and after gap, short segment of + length fraction {\it y} to end of system.\\ +\ [n] & Suppress bar number at start of 2nd segment\\ +\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. \\ +\newcol +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.\\ +\ 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).\\ +\newcol +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. + Combine characters as needed. See manual.\\ +\ [v] & Start vertical shift for this line.\\ +\ \ [+,- {\it i}] & Vertical offset, \bsn{}internotes.\\ +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 \\ +\newcol +][ & 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} . \\ +\dhline +? & 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.\\ +\newcol +"\break\null\ {\it text}" & Lyrics. See pmx294.pdf section 2.2.15 for details.\\ +\ \ [@] & Set a vertical offset\\ +\ \ \ a,b & Above or below the staff\\ +\ \ \ \ +,- {\it i} & Amount of offset, \bsn{}internotes\\ +\hline +\end{tabular} +\end{center} +\end{multicols} +} +\end{document} diff --git a/Master/texmf-dist/doc/generic/pmx/sjb291.eps b/Master/texmf-dist/doc/generic/pmx/sjb291.eps new file mode 100644 index 00000000000..d00e4f363d7 --- /dev/null +++ b/Master/texmf-dist/doc/generic/pmx/sjb291.eps @@ -0,0 +1,1208 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: sjb291.dvi +%%CreationDate: Sat Jun 08 08:40:31 2019 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 38 451 442 745 +%%DocumentFonts: TeXMUSIXSPX-Regular TeXMUSIX20-Regular CMBX12 CMBX8 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -O0.25in,-0.22in -tletter sjb291 +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2019.06.08:0840 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: psslurs.pro 0 0 +% This file can be used instead of psslurs.pro, it is only commented +% and indented. +% +% VERSION: 1.01 +% +% WARNING! This is a heavy magic! If you want something more understandable, +% you will have to write it yourself (if it is possible in a stack-oriented +% language that PostScript is). There are some constants you can +% change and see what happens, but I think the slurs should be almost +% always satisfiable. When not, let me know at: +% stanislav@kneifl.net +% Also any bug reports and comments are welcomed. +% +% Stanislav Kneifl. + +/slur@Dict 200 dict def + +% this dictionary is for \setslurtext, overriding some dvips's definitions +/temp@xx@dict 4 dict def temp@xx@dict begin + /a { moveto ax1 ay1 rmoveto } def + /V {gsave newpath transform round exch round exch itransform + exch ax1 add exch ay1 add moveto rulex 0 rlineto 0 ruley neg + rlineto rulex neg 0 rlineto fill grestore} def +end + +TeXDict begin +% get dimen from TeX's string ("125pt" -> 125 PS points) +/psxGD { dup length 2 sub 0 exch getinterval cvr 1.045 mul} def +% get dimen adjusted to Resolution +/psxGDAR { dup length 2 sub 0 exch getinterval cvr 4 psxAR mul 1.045 mul} def +% Adjust to Resolution +/psxAR { Resolution mul 300 div } def +% the distances in dvips's PostScript are resolution dependant! +end + +slur@Dict begin +/CP /currentpoint load def +/ED { exch def } bind def +/psxAR { Resolution mul 300 div } def % stands for Adjust to Resolution, +/VS { dup /ay1 exch ay1 exch linew mul 4 mul add def /ay2 exch ay2 exch linew mul 4 mul add def } def +/y { 3 2 roll ax1 ay1 rmoveto show moveto } def +/M { mul } def +/A { add } def +/SB { sub } def +/P { pop } def +/DP { dup } def +/R { roll } def + +/drawseg { 0 0 moveto + ax1 ay1 + ax1 0.6 mul ax2 0.4 mul add ay1 0.6 mul ay2 0.4 mul add + ax1 ax2 add 2 div ay1 ay2 add 2 div curveto + ax1 0.4 mul ax2 0.6 mul add ay1 0.4 mul ay2 0.6 mul add + ax2 ay2 + x2 0 curveto } def + +/DS { + psxAR /maxe ED + /ifadjust ED + /ifdash ED + psxAR /m ED % max height of the slur + /e ED % "angularity" of the slur; 0.1 = very angular, + % 0.3 = very round + /aa exch neg def % what to multiply the height with + % AFTER the max height checking + /y2 ED % y coordinate of the end of the slur + /x2 ED % x coordinate of the end of the slur + /y1 ED % y coordinate of the beginning of the slur + /x1 ED % x coordinate of the beginning of the slur + /yr2 ED + /yr1 ED + /internote ED + /x2 x2 x1 sub def % x2=x2-x1 + /y2 y2 y1 sub def % y2=y2-y1 + /sx y2 x2 div def + /b x2 300 mul Resolution div abs sqrt psxAR 2 mul def % b=2*sqrt(x2) + b 3 psxAR lt {/b 3 psxAR def} if % b=max(b,3) + b m gt {/b m def} if % b=min(b,m) + /aa b aa mul def % aa=aa*b + /s 90 x2 y2 atan sub def % s=90-arctan(x2,y2) slope of the slur + /aa aa s cos div def % aa=aa/cos(s) height of the slur + /x2 s neg cos x2 mul s neg sin y2 mul sub def % x2 = x2*cos(-s) - y2*sin(-s) + % is the length of the slur + e x2 mul maxe gt { /e maxe x2 div def } if + /beta e x2 mul aa neg atan def + beta 90 gt {/beta 180 beta sub def} if + /ax1 e x2 mul def % control points + /ay1 aa def + /ax2 1 e sub x2 mul def + /ay2 aa def + +% check if the starting and endin vector stay in desired quadrants +% => beta < abs(s) + beta s abs lt { + /b aa abs s abs 2 add sin mul s abs 2 add cos div def + s aa mul 0 lt { + s cos 0.75 lt { /ax1 ax1 b 1 s cos sub mul 0.5 mul sub def /ay1 ay1 s cos mul 0.8 mul def } if +% ^^^^ ^^^ ^^^ +% (values to play with) + /ax2 x2 b sub def + } + { + /ax1 b def + s cos 0.75 lt { /ax2 b 1 s cos sub mul 0.5 mul ax2 add def /ay2 ay2 s cos mul 0.8 mul def } if +% ^^^^ ^^^ ^^^ + } ifelse + } if + +% align the slur to the staff lines + + gsave + x1 y1 translate + s rotate +% [1 0 sx 1 0 0] concat + drawseg + gsave + initmatrix + flattenpath + pathbbox + exch pop + sub + /slh ED % in slh we have the height of the whole slur + pop + grestore + + /yr s aa mul 0 ge { yr1 } { yr2 } ifelse internote div def + /slh yr slh internote div aa 0 gt { add } { sub } ifelse 2 div def +% check if the slur gets too close to staff line + /shift 0 def + slh 4.45 lt slh -0.5 gt and { + /slh slh dup truncate sub def + slh 0 lt { /slh 1 slh add def } if + aa 0 gt { /slh 1 slh sub def } if + + % slh now contains the position ot the slur top/bottom in the space + % between the nearest staff lines (from <0,1>), regardless direction + + % slur is too low: + slh 0.45 lt { /shift 0.45 slh sub def } if + % slur is too high, but we can be shift it down: + slh 0.7 gt slh 0.85 lt and { /shift 0.7 slh sub def } if + % slur is too high, must be shifted up: + slh 0.85 ge { /shift 1.45 slh sub def } if + } if + + aa 0 gt { /shift shift neg def } if + + ifadjust 0 eq { + /shift 0 def + } if + + +% and finally draw it... + + grestore + gsave + /linew internote 0.06 mul psxAR def + linew 4 mul setlinewidth + 1 setlinecap + 0 setlinejoin + ifdash 1 eq + { [internote 8 mul psxAR internote 5 mul psxAR] 0 setdash } if + x1 y1 shift neg 2 mul internote mul 4 psxAR mul add translate + s rotate +% [1 sx 0 1 0 0] concat + +% uncomment this to see the control points +% 5 psxAR setlinewidth ax1 ay1 moveto 0.1 0 rlineto stroke +% ax2 ay2 moveto 0.1 0 rlineto stroke linew setlinewidth + + drawseg + 1 VS + drawseg + -2 VS + drawseg + x2 20 psxAR gt { + 3 VS + drawseg + } if + x2 50 psxAR gt { + -4 VS + drawseg + } if + x2 80 psxAR gt { + 5 VS + drawseg + } if + stroke + + grestore + + % now some \slurtext code... + + /x1 ax1 ax2 add 2 div def % middle of the slur + /y1 ay1 ay2 add 2 div def + x1 s cos mul y1 s sin mul add neg + y1 s cos mul x1 s sin mul sub + aa 0 lt {1} {0} ifelse + end + + % this is a hack to place the slurtext in the middle of the slur. + % From unknown reasons simple 'ax1 ay1 translate' did not work, + % so we have to overlay some definitions with our own, namely + % 'a', which is originally 'moveto' and 'V' for drawing rules. + % maybe there are some other operations that should be redefined, + % but for almost all cases this will be sufficient. If you find + % anything that won't be typeset at the correct position, let me know... + + temp@xx@dict begin + /dir exch def + /ay1 exch def + /ax1 exch def +} def + +% crescendos +/DC { + /y2 ED + /x2 ED + /y1 ED + /x1 ED + gsave + 1 psxAR ceiling setlinewidth % line thickness: this results + 1 setlinecap % to exactly 2 pixels in 300 dpi + 1 setlinejoin + x2 y2 10 psxAR add moveto % the 10's specify wideness of the + x1 y1 lineto % open end of the crescendo, + x2 y2 10 psxAR sub lineto % similarly the 11's below + stroke + grestore +} def + +% half crescendos +/DHC { + /y2 ED + /x2 ED + /y1 ED + /x1 ED + gsave + 1 psxAR ceiling setlinewidth + 1 setlinecap + 1 setlinejoin + x2 y2 11 psxAR add moveto + x1 y1 4 psxAR add lineto stroke + x1 y1 4 psxAR sub moveto + x2 y2 11 psxAR sub lineto + stroke + grestore +} def + +% differenced line + +/DLN { + gsave + psxGDAR ceiling setlinewidth + psxGDAR exch psxGDAR neg rlineto + stroke + grestore +} def + +% sloped line + +/DSLN { + gsave + psxGDAR ceiling setlinewidth + psxGDAR exch 1.125 mul neg rotate 0 rlineto + stroke + grestore +} def + +% free line (init & terminate) + +/DFLN { + gsave + psxGDAR ceiling setlinewidth + CP moveto + lineto + stroke + grestore +} def + +end + + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginFont: CMBX8 +%!PS-AdobeFont-1.0: CMBX8 003.002 +%%Title: CMBX8 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX8. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX8 known{/CMBX8 findfont dup/UniqueID known{dup +/UniqueID get 5000766 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX8 def +/FontBBox {-59 -250 1235 750 }readonly def +/UniqueID 5000766 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX8.) readonly def +/FullName (CMBX8) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 51 /three put +dup 55 /seven put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D4350D67F24B396427 +8808B79FF5CAF896E4A8A31E46499CEE35E6A5AF0CFD175C2DD628620C681947 +A02A01D3C2B715AB79D7FDAB638D887B77DFFEC5C3A9484104D84FCECC7296CE +2A3488AE246E233A8D5B40ED5DCC44558B77422BDE47E0435F960EEC3A26DA9C +E137555F0638511AAA14992C8DDA9A4A11B3F90BD4DAAD1883BBEC357DBD8389 +16EBE2AA8F93C2AD44F383ABE13B8C95B240563FAB987EA98794D301785E1E9F +03DD545E51A6D58B3618E0750208D3AB913F9CE8C3B865D4CB83B90FB24962D6 +142B0204A1E271854F903A2FF600E087EE2FC222326051F155BE709B3E7A808A +487B8AC3CD7D2EAB52C2ED68285F962D06677C2A5015A16B3D12D15D658D89E5 +18513C020222D1A995EA14D7D9CCAC4A552172146B53AA4DCF6DD217B61CFE98 +1E14709295D97DC8B168AFBBA9990F0BFB9F72A5305570A1848A9E2CCA702C77 +DF4F414CDDA4FD7DA25D9B09F05A77F37F1496F2601AA5FBE9B52C1C16FBE860 +A3FCA20DCAA3BBADDA16304242A306400D2BEC9BA12788A5AE0E0CABDCF565BF +474A615DB6A14695E6C7288DE0B852EB91153F8A337E66DB5CB43E8234589F00 +4868530A5216CFCFA0DCDB92D6BDB092855E9BA80682D5679EF88F3152E8C2B9 +E38D0D6F26276BC74B8664E13D4B388124C88D19FFD2448E2743BC02AEB14694 +1AC48CB776F8526FA416549A3C35616E8FA5632AA0D557B90C5CF40BE1B62325 +97E45F7EC4F04CBC178B72A195912CD18498098C901CD35834FD6EEF765CB292 +5A753BAACA557BEA0AF989BDEE0F0C5DF8177084AFC20E7A78BFA536DC28E9DA +FEBFF50E908CA6B5DA15D3CC28A00DBFF8A1D7FF0D82F2A397C0B8B23F959C99 +63BFBA5FC83D7F51CD0EA2E2C925F7F4AAEEC8A0483F50E02E4C0373FA4D7891 +3EDAB498C44A259B6A2E3E176143C12E25C7B880E2E6B96592BE77AEE1190C74 +35F4BA28952C002AB6B3A4B0BD9054855CBDC143CA9D20D20EB111A030D1C979 +86BDE77F3BB47918F4A456513EDCB90B7CF72E97296FE07F51D0DF8C9E666024 +69C209E6A4A5343F3DEDB6F09B06297505F8F8AC2AA857DC545E030DC9337FBC +E48DC186C5DB047D0FF564B444054F7664AC72B7C39F39959BD574C099562FAF +9832B2260D4F1E9FE64F6BE5243308B57499B6220EB4431A53E8D9A3C6BDF5F3 +8D7EA0754D363E897EC68D7E45DB4635D3E7D7176C8C364082D1D6B00D9A7AEE +5E978FC3AC4D9D73E8FAE3086930DA11497F8867E01CAE42CD9D7D1558DA4694 +48501C4729614948B9DD2065E5F13275325302C24E28A22AC2F33304EAE0A317 +FE51288D91EFB7AF68B8B9C3BE1294CBC390862BC28463FBBD62A32E0AE3344C +5F96E2343E5E1662E5626C6014E1F0E661126A00E1E24A4F7A2546C37B701BA8 +F18F93372B48893E3C0449CEA14D228BDB8FD17256DF2FE0767661F6A3972DA9 +33C746E2AFF1EFF2B44159CFF6A570C10260751299D8A30A3BC19239C9FE0DC6 +BAD2AD2558223FF4CA1B672426EBC422A12514F67D9152099848B13E131C0E90 +9037A6DBEC1CB183720F78C37D5EE5BFE81FCB2F615A9595791C6F56210C84FE +62FF6F5F15B866C686D8881212D7B3F4342FD09FC1E4874D35DCDFDB9D506D5A +06E5DB61F496E70C8E8B145B9BB951B2160B6FE86EA7AC1671BC40CDD866A9DB +3103E91EB483E5BE3C037F2D2388A44D8154B216C433FB85231DA4F55D3D4A8E +7FDA4387923679067F13454B02D9F2E2B030FD62C0750576F32F090E9A054DBF +4BBB729B94162C080ECD81F2DB2BD1D65C1D50CE414D0FFB4C7E994B65177F04 +E786CACF71A5690F62AE3AE57F43247B8392D2BBD4E61262EA0CAD3868F33296 +BC7002271448E865DED4324FCD923313969D1355A579F918E6225955A2BD5B7E +C2A0E02809102F295895722930FCCCE6E8DB301635221B57FA589533C2C3BEC4 +9B1958680BE6102180C667E4984C7B9250C5BB231F8E443B98EF07FAE3AC29F0 +B4CC4BE8A3DC0058FB2CCEB90262FC959D5ECC3A887E10E1E43FAE7DFBDE4882 +BA9035B38BB0F69F8659C0094EA643DEBCACFC8EB5C73AA25A1B83B2DA2D1D47 +29A27B554BB9A762D020EC05001DC8559E096F82581B248AF95D6F12FB73E4E9 +58BFF246EB803809F561F8E17E6B1B7B1472FC342761EF29FA2C3890FEEB96FF +6B1A173A74A2A61837BE90AD9574EFD8D65602C63C560DEFBE5F0C1F8250E66B +E7A8C1A68E8445CF67F672E2F11583F70E77F479916339FA7E5672DFD1907CAE +45A5DBD35C535D903442EECF453495A6B256DC635941A6781C426A2E12BAF3BB +73C147A74DDE4925D642BB73D9F2608554D967A0944D38CB29F984379073F6B2 +77301EA7AD503121EAA1AF349D72677869515D0E537AD762304A6A5CF31E8431 +D053D4A1B6C03A4DBE6BDAE2312FBC65F18FC8F4AA546FA69D09DCC722CEE1DA +E02B6F69B69F675AE544ACAEFCDE959350E1EB6C45C162E08E153D1F3151AFF7 +B539D0834CA4B87B06732D5EC077B37373348A5CD7B39811286092ADBDD86931 +3F6867AC5D53E565234847205FEDC23BC1E1166CA113787DEB72AC251FE7FD1E +250557284E533F3B2DA3BB22AFF13428D2537BBAFB70734A7FDDC68AF58A9D3F +DD456ED2E4A0A89C6E22080101412164A955748ED5E689308C96FA5D23D63513 +5B8890A57983C9DAE333B38ADFE356C6CD6BB865C493151B24B9A1FC4D66C491 +12E8637906EBCBD60E76227E8847112135CE4FFB00B396FE3DC237292B8D2EA3 +03B263C1B6CDA2719C0D99B6CEEE6C86CB397C4D0C058BC2EE9D6298612D01BD +31531819BFC228868453DB8EB836AF2394D45A222A21EBDE795E558E84A277F7 +D8591ADCD9E16C34201CB0D0FC1FE62FB107D53DA0D95F61A9A55585A3D106B5 +48B258A35D3AF66995A9DEE4312C0DA4C91CD3AA7FFBB7A5278FACBA05E5BBA0 +F936BC210EA4E107EB883DEBC83BBA0798B665F2DAF2BCFC00D524930B394187 +4712AC73DC2F901BDA21589E9132A50B6F16FE8C6153209BDEEC9025C3C24035 +F8623B3CDF420E064D2D3F1BEDA64E39C8482972C96B38BF7D25C1025A9DC57C +40BE36086161C419BE1B0CB4B653DB07FA28934C41AFE90152A14AF2688FB6A0 +71AEB8175EEA7775C13F2B7C598C30E91EA8DB07ECDDAD64E40A8C8FAA3ACCAE +ECD1296AB2075DE150F10502847E970256A70B7329834B1D80D40AC5C8DF55DD +E3922D85820114F898F87E644EB8F460BFCFF752B635B6D08F46AEF2123A2E86 +913CF1B45DD2D01B8E560EC04230CC8DE7C78EA2970C224B371777430ED41B02 +63C87C9B29161341DAC785F547C2E6256370BF3BD8D7AEC72F6F9A4BDDFB6EFD +45AF0A366B9387A4CD9164326B997BCDCFFE0D25D88E22888889D8E47C5709F7 +CAD17E0DD435B20E767B31521E9E14ADE57C7C9CDC2FD7D09DAF912F6C5CDC34 +6362133B50B8E5954814EFAE6AB8D004AF3CBE097BB0F61FDF1E10170F4EA28D +CD93B802BE124A435403D3BAEBE8C1131718579194420AD650A3986AF9220363 +75155975B60093A9A6CD171834B2E39629041BEDA7CFAC7BA6411A206B09DD78 +CFF14E36304B7FAC838FEC6E4AC6847C6CEC1559B41D81383017668DD230C98B +C317B08B199C270FEAF50868DFE6AD4243EAEB67590855074A248CEF8F64DB80 +D5CCAE6445AE92150058660E861467D0CECF61DCD5D4062CE9DF07CB098B90FB +6CB59553A0956BD6339CAC2FA9C519C46AE9775672DD69D33C0E6D7F626EC2D5 +85070A68A450227CD535911F9E0CCD1BA379C750CD10C4190EC8B979C1E4ECBD +DE2836E85616406FC2DFDA7E27A411276AD1B3900453DC3AD85C7A9BE51CCAEE +315E3E5C31F8E6962721DA166B9660C8087C1F1ABD77950E061A2D924FBF4A89 +3FF5C570ABAC5EED011D2BF94BC1268EE4F2A2CCBCBA29FBCC4B186A3FCDDDD3 +B462305EABECBFD279C9860D5E490EA63D9231638E06EE8D58EE6E926C4A3D3A +C5E957A20F1F99FA05C43BC4D1918DA051656EEF0C498748879BA4258DD73CAB +0F32F20B98014C2B14A77186E43470F0182828955730F440493D34B0877065A7 +6E7B704B27F93DAD747DA77109C541A15F08A694A703E6E7C62BD0A86331EE79 +6C18A6C38923B88BF83BF212C76BA6EAC620CC859F0365F5511821261CE29DC2 +BFEBDE0CD36F0052692C9945077CD606E4841CB991D3C3DE9BE28EC7CBEC2FA6 +75984071CFDFA8857CCDF9005AA8FC549EF295DC701260CB4A5CE8FA0F439B22 +BC2C19D3C14E7B2B6B41AAA158659C307D9C91C2B12331BE152D3EF8FD324B9F +8C3B74D553AADE2B0E89805F47FA2DF36766B8DF01CC2B6B44344BF4B11C7FD3 +186662A11137448ACE7D3F4CA515E0BEC21859D2BB5A25F67C48817404DFA0CA +7B3D11495250150C6A1E32B80334E8F5C52D4769C8BDF3E6E3DA4FF1BC97E009 +A1AFD195205FC741837F21CC2942CC8322F3D6AAB6D330E6CE120E1A15E91987 +AD98FC12019A945B215BC72768F32A7635AB0F0E6E185AC7099F1A0EAEEC5FA0 +341EBECA077B25102310331CA87B74345506156CA5E853728217608416EC8173 +2D24CEE766E2B3B0BE183CF2A8B794E0E0E91C11D59B98DF5F4E5EA119F197B5 +D8800744F9FD45015FCF5E740105ECE72AB5AB7E1CFEB15807A0D1CDE00A44AD +E94EF57AB546990A691FB2E24CB55477B7FAB6F12A28676DB7ECCC014AC70C80 +9199E921F449C232EEB88268A48DD86FCFA2E29FB450FEC618E9E317F4AACC68 +C51EBDB1B9E43F7574B40C0EB05E769D30F1C172645006D799E8C3D7C79DACD4 +FD269ABF9B24B215B534365D79535AE3578D714606D22AAA5A2039FE7A5DD52E +506D293824BEF78F5E1C7228FF9097FF5AE8CB7B46E69C72FB43EEA7110A9EAA +546E9975C54CFD56022EB1B21E00CEC393DFA488C49C90E73D57CAB0324E36CD +0D2F0F0641DC3785CA9BFD680D609392CC2F852056E90276DA93043B14F30BDB +C32808FCF16CD13E4A13B727BEB4FD42B29D6C215AF4811B965822960F6D7CDE +92BBB8FB84B59075FC14075C30CEFD9D095ADD8043FD12452D3C5E4EFABC9671 +6E929D5932C337969F3F5448A2BC8001ACDDA043EE975F35E64D7436FB73B197 +697E87860E071F326C7080E9C2930CBA600C6875ECFA85DD4C3741945004B3C3 +298F2B741302E0FD39D990F20D68542B2FD0D71F52DE1ADF30FFA332306360C7 +C6BE3E6D510A691029D503FBFE96831D332831C69B590025C831281881968B86 +42817BFDCE322355F994FA9C8BE68A9222CC09AF9AB2AAE8BCFDEB69B8481CB5 +75E66873B08A4E8265F369448F0E3BC0C82D82F65216D0C93DE88322EE7D0FD4 +1089A1D6CC3B52F681BAEADB1C82EC3B82949C27C6C340BE7E27020015CF142C +37DC3BA8E4EC2A4FA81E50EE6854C23B3EE301E43D83CF6B82E80ABAA01EC82A +36CFE930297EE3A45783871EC4E77DCCC0923A9FB1654406FC8070BDADBD27D6 +0BA8837A459481ECB63F03DC3007700D360643864AFB3728C5573A20870E5D55 +4F698DB4B5610C30876DE56786D84C71AA9FDD5198B4F3F8918AF319B7FCD04C +F06C90B2CD0CF2241C2055DB68F1CA5CD57990E68F6F832A5820A481B0823F98 +0F4BAE4D7E92F4F2BC118E01ADDB7D527E6BB49E85D37D7E0BE7BEFBD1BF9E1B +9ECE91D28E664284D190010D1578C1F61F02610A9AA6E9527872276E59A25362 +68F74B88959CE84F497D8D89735413981FE4EF573E4E0C02D3F0EED5FC100A4A +563949D21A3E29D86A84C9F945602D9EDA860C6C44492EF219DFEBCC016FA7A4 +AA12A727D4E218D22805E5EC878AEA7D8B5D79E84E74E78FD9E017FEC4220A7F +9ABCD125BA6E9D378BDC19D0B267A323FDD0831C5E7EB7D4A5CE7047F272D3AD +1E25F7C5327127A058C287FEC98BD81144447D5BF73C56472E552C7B1AAF6705 +05286122B612BF5A2AA8C4A6CD64088BAB59B008A43121FBF5692418FFCFAF05 +260D6EB20C680BB73F3988C3E4E3CEFC65BA637FDFBA60E6D9D63E6C7FE196F4 +412367C1F43343EC6FEE8F97FA0E95BF1BC2C15F14CB6C8E8B28248B5EBB6478 +FDDA9D183AFF6A63145824E518377F384740984DC6095FCF3F8B777DD23A221B +AB1ED5EE27C19941184967846B8800E489E1B86F23ABC34237502ABCAF092C77 +38A1720A851E8EED24BFEC9AB4C8D4D7FFC3ED0C1CF4FC73B962EB53725DB67D +983A8C2B9E30F4F85AFAA17D86EEFD57CB17BACFB8BB2204E7CDAC446C679226 +F21D1A5CF2EA719888BC727725346D58479B69213F9EC3520B9C3A1778061AB0 +3B330514114833525D40B3F7F45EE401534732803B807953EE20C9660FB790C2 +71513A220EBE1731295B205324F275FE110D60A77CBB43441472193570E67BD0 +E97D51AEDD94B4DA0D71DE66E18F22F1E6CCB81D1DAD113125743D82DD4BBC8C +190BF7073078FB1235E8A329EC3C69E3D25B37B1BCBDFA50D0C34BA486AB50CE +0F411AE5DDD05BF3ABA16151A06D566860A08B2C634786C823D615BE622BC8DC +36FADBEE389BA4F7A5A32BBAC6403282F02E92ADF11C14F45B51D579631F067E +09C17ACC247837A8B6F66C66574F91317CC12C73D09A75B80CFD11993FEFCED9 +859D36B55033A149ECF0A845F611FAC0A8DEE32B407091C0233808C79857C2C1 +540A530EBFAE98C5D51C955D02FE62C8F207C97D614636AF826A7F2247E56B54 +3B496509DEDA8A277F0100A94376F5FF85586C6721F65F3F6BCF8B19CAAF8E4A +EB16AC97AB71C32FD3DC9E7F1CF02D29ED516BE9F8F0BA027C68A5467A91338C +CB52C099EC4FB72775138197BFF472B4FB75B84D5D45824A705412F13EC5A2DF +363D37E7ED7DEBD14AB754B8F7C829998351F76E0660BBBFAE6DE96BEA394965 +F14D65CD28C593B5056D41FBE0780AE9AFE5F697D3F41FD750D327F5DC23FE02 +1DC31AC1DC74721C939D38710BB1BE55E895C2181365CD2BF61E8B59023253B9 +7694B2215942A702B855A0102029229F2CFB8EBDED2BA9B723CD915E0CF54FD2 +D8B4CA2A0BD43DEB478AC342F292FF590B2FDCFEB7195BA687A7C7D4E17D5E06 +EDA0D7F0195D255CEA7288396CB53A961DC4EC29F949EA8AA48DBFD6BD2BC7C5 +7019E26D342B8BBD0AD9D48E689550DC1FD581EB0D6E4156D107E116D9326BF7 +E29F3479790283C8FA5AD1BF8562D11A26F81783E7B9CB3C74EDB9A2BCEE56F0 +0A6FF68026B320FAA86EF294C07F310B832941D400337C0A1C8DD466F2AEA9C9 +7284F09CF01CB6D17E333AFEAB84DB7E5451829DEE0B97F8D4037877EB32BE6C +871C9B477865AFA9BECE34891B81B4416BF1C82CEBFBBB6757B7032E04E2ED10 +38DC59E06E65379DF10372264804733507A929783916D02CF3158E4AEC0531EB +95502E07ECAAAE6EF0E70EE934263D6C8404739F468228484BC5BF2EDF9BF06C +D5CABBE2E28975711AD2F485846A92D22DB307ED63FDF99120684837B21AE421 +751B4681AF90A153AE3B977850AF1B7FADFB4A0D074AEE539DD1B553D99CF869 +0D589B7C27086CD89458E78A94E33C2610617A56771E56B146D9143488B01742 +017A7EE0444948173C783DB8643039B61CAE1D863047ED474E47A1CB49DC43DA +0099D2BE926D5C8CE61D98B0DF3B532AAB90EE57BC17191EF4119FCDB991ACE4 +B124110BEAD7BC80EC8A205638E2727D8464AFE44C65F47D33F454316DD87FAF +A1C93E7C6C1E357F3E111E41706635476A360F789F0153DD8DBBFD19826BDB1C +AD807F7DC8E2E5E5B899A3736AD5B763730B56580EEFF4344C817F5F957D846F +DA451E88904ABC2AB6D91D65C09AD057E2E5C57B50489AA55AF46A636EEEE6A6 +2B82261A04F36F8C26048328571475A5ECCECB8C037E41A8BC22D608EDFB2675 +103CDFFB44F1BD1BF9637A67426BE60C51F6BC9D02B6197A1E65FB3707765DD6 +051AE76C812DDB88EA1E9AF29946B09CE34557DBDEEBF27F8972F32EB1E49D39 +8EAC824980A6AD3851F565B89F2BABAA5C69FBF7A7ED299E5DA6274584F3FEA4 +C818B0A3812B71F88C93CEA8C1D67B685B1803C2EE03B6F0CF79820167529946 +9CBCCA3814BB486957BF0E45B1A09A0807E4875A871100A4D713909D5474851D +06BB8370E5CFF0B6882CB65C9B0E399E01E19CC5555CDE7EFEED41A8AE2CCFC0 +8A3A43C83B60B75F64FB3A49E7E107E23C6FB6D2E8F9215AD057B865B6F1387B +CF5AB90034AD44AA5B4E6563C9A09B80ACD4D02979DB3D8F5E0D23B3E134C7F6 +49BC4680FBA5F712EB64AE9E2FA55E8C31366547A301014AC3A79F99A94D8441 +F3E70866721B078B8FB1ECA1A24E43B98BF26A44FA3467A34F3B0D824E7D5E0E +C15640A00C3DAAF5D159D85A4798EC66446F1369C9039FF1F99246C35D87034C +83F663664B5A0B9C50E3DEAA6E9CB3DA6152EAFE8C93ABCFAB27EEA07318E63A +222508B6999F6CC8AD0A04FB5C6175D5C071D9FF0C3B46AF9B345CF1F4D68875 +860DF221AA5CBFB0AC73453651796545F6DDCA5435EC7E38809EEE9F56928E9D +0C19D53FCE2DC5084999A0A912787486FFFDB857B3A855E81F9B4D551F4AF2D8 +27AA078CE1015FA1B5FCC44D9031A03B889AC9BAC1FC08F75D35289889BE0A07 +EC27C07E65D9C791001742DA +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX12 +%!PS-AdobeFont-1.0: CMBX12 003.002 +%%Title: CMBX12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup +/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX12 def +/FontBBox {-53 -251 1139 750 }readonly def +/UniqueID 5000769 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX12.) readonly def +/FullName (CMBX12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 50 /two put +dup 52 /four put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE +0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D +2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 +1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C +42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 +FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE +78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 +22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE +A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 +4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 +4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 +95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D +9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC +5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF +9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 +CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 +BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 +9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 +EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A +D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE +2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE +947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B +0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 +4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C +BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 +F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 +6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 +D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 +F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 +481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 +FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D +419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 +7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B +70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 +2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE +0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC +9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A +C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D +1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 +A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 +21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 +7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 +17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 +30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F +3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 +96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 +B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 +1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B +57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE +B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC +8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 +8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 +B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E +BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC +21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 +D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 +FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F +A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 +A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 +A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA +DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 +7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F +07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 +BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E +8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 +E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C +B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 +45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 +2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 +5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF +A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 +5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 +E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 +5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 +6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 +8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB +BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 +9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB +B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B +B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E +8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD +595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E +FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 +13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A +FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 +DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB +313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 +C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 +F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD +DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 +8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 +E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 +A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 +C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 +417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 +19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 +9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 +12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 +3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 +A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 +90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 +3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 +B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B +82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 +1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 +AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D +9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 +2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 +99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A +31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 +3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 +F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 +70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E +5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 +84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 +BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 +8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 +5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 +9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B +F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E +94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE +0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC +E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 +7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 +596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 +F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E +7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 +1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 +AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE +4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F +744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D +67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA +054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA +6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B +8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE +CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 +EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 +C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 +57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 +5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F +C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 +CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 +848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C +B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB +77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 +87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 +3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 +409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 +A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B +72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D +99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD +8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB +E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C +82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 +C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 +EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 +23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A +59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F +C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 +1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C +403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 +1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 +75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E +0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 +82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 +C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 +A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC +9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 +0693AAE0FFD5C119D11E5D13743E28D843B0F2EE315A2ED05A510CE53A2D06A7 +0C076D4B6BC2B6A928553E7F0FD472760167DB486A777259FA74245EE37D0125 +47314DEE4B29E5D22180BDB1BDA7D33406FD340DC3991F50800BDC90F7678EF1 +1064986DDA53A77FBE2EDD38E20C41EF86CD50E8EC167344A3F3B3C3BD83CD80 +87BE64CAB70004E636FCC0B60C1E624A19A63D8B3B27EE2B6FD0FFDC310AC6FD +BC56E92FDE53A26F13B6BEF922905F5F23BB2554D356DBD37D5A8E1ECA63FC9A +5E1A9ED378B01663BC53EAE81244DFC8AE19B1372B866DC3A508F09A4F1FDB12 +88DF0D99F082CC8B6B1D600410710DDD937682D66A4A29D64B2CEE98BDECF885 +E5EAE2A50EDEE1CFAB48CE9A325183A85823C5D718D2E8245436AF96823DA2EA +7DDA7B105FED5B4D542CD5C7B5B761F677311C80989982505F93BCBFBFCBFB90 +7A32B43293A377F91E8E3E785599A60CE7D8D4C7057CA3ED41F50FF063E97D53 +EFCCD9C0453C526332842D456F5161F611FE49354644A1EA6FC444D4F30F24E7 +C9764282150BEB515D424F9755C7599FFE8DC8451475BFC76D13FAF787A63341 +00E35E210846F2140BBCF9773AF5B7D4353E71E5180A5CD24DC2173E300240CA +56A658494DA7DA66111C4FA27A0142CB046BE1327CEC1510E2BBAB735B8C348E +1C549923B2EE4BB4388DC6233196254EB7728585BCDF504F626A45953DE8E44D +A00211B58758A51E9BBB0E50329080ED8E82E4D35FE01F65A6E68F7187B5E188 +61F009FE689F7A5A69051858237E0BB82E6CABB8A86D15 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: TeXMUSIX20-Regular +%!PS-AdobeFont-1.0: TeXMUSIX20-Regular 001.000 +%%CreationDate: 01-07-25 at 04.07 +%%VMusage: 1024 35768 +% Generated by Fontographer 4.1.4 +% converted using TeXtrace 0.45 and modified by T. Uchiyama +% ADL: 701 299 0 +%%EndComments +FontDirectory/TeXMUSIX20-Regular known{/TeXMUSIX20-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +20 dict begin +/FontInfo 16 dict dup begin +/version (001.000) readonly def +/FullName (TeXMUSIX20-Regular) readonly def +/FamilyName (TeXMUSIX20) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Notice (converted using TeXtrace 0.45 and modified by T. Uchiyama) readonly def +/em 1000 def +/ascent 701 def +/descent 299 def +end readonly def +/FontName /TeXMUSIX20-Regular def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 7 /caron put +dup 71 /G put +dup 73 /I put +readonly def +/PaintType 0 def +/FontType 1 def +/StrokeWidth 0 def +/FontMatrix[0.001 0 0 0.001 0 0]readonly def +%/UniqueID 0 def +/FontBBox{-619 -1659 3200 1660}readonly def +currentdict end +currentfile eexec +D9D66F633B846AB28EDC112EE8CE6C6736001234F4C7DFDC8C8014E32702D436 +0A505E30AFE960AA59313499738A089E6AEAEFDC84AEBA57A1F9AD647CCB7BE5 +B03F5F4993FB2566BC918B0AB23DB4629AC0D00174ECD9F3286839BBEA5DD0D6 +84E25152E241F0D923ADCB347B5635EE25CE26F509B8F400F2C9CFB67D676ACF +9D516193DA983A07AC65A99BDDE6D09C93F522AF18F5462F7C2C3A7CD58FB034 +810D4645AE7525C1BDF2E062C4D0BB1A115E406B09C9014323678B1FF15AC494 +A82AC85A09051539D2EBF8D4910447B1C8875854670342B6D13D727DDBA5C2FD +52AFE2107B72A73D3A8F8B0516B5D141AA315F37523CA19009A6CEAB11C23A80 +20B8C46718DBF2DBEAB3320A596C8992531F6E70A725359BD09EF9FF2C0E58DD +9EE54192A355EDB81FB6E2391CD91A9BBD4E6637ECE7F9DA1603F49FA9AEF3E7 +27075B080A569EF1014B7F2D4C3687FA1336676537B82BF4590F962C967795F7 +BF6CD740C57389AB77A273920959FE657B87F76B9403C9586FE85C957B0BFF7B +26F4AA603883E02139AC15D1360C26E332527461ABDBAA603802CAE75E08F559 +E16B2E623827BEBD40D4661A6B3D10D6C395EECC916F52F99D9D1F19DE5977BB +73C4EFAEB7FD0052E831BE175C945358083BA2C5690E0CF8B386900A4A51F60D +C8E98236B16D54A1D94E88A062E0E3D8397F5CB503F51A4F9918D3A902AC7DB3 +25B30A154EF106BF4CB8A369599B3496537F22C842825F69154DD87E05CF9ADA +B6C94188CB702F53D00BBEC8ACE69CBBFB8C11099395D7BF0D47EB3E41454D13 +AAAC4392E8C0ADCA1E87A6F844D3AD81EDD4CCDD0FBBFCEEE9C70BAC5B4D4861 +E7B9DB2F4DAD612986007DB8CDB3B5384C3C7D77A2609D2255D4098E7A314D80 +1A553DD03007696C9DA22D9E9AD132F09CDC0144E7C1BB169635A24341DE3589 +96D503CB7BC73A81FC12A743C711916CBEEEF61F7273B238B3C0DF1AF4B190B7 +C820DD8F5FDAF73872074E1C95F4A4B7E1B5DED436C03D1020B9FE9F780FF2C5 +920C97B1584B7E0051107EE7789BFAB0B13F32AD2DC01DB5120BFD6B5FA8E386 +EE743D10E6A9E858979543882C19ABB36FE278EAD1304E84DF80E8CF87A994DE +0DAFBB90FDEFE07349EA1C6929C969E589CBF28622D60F85C11F38915A362243 +1044875525E1F4EA3559A0764F61C126D6ECA21CADD273A1978083D5434CFCBD +33AB3DC917F0E67010C48829C2F5B2A0B328C4A93C19511CAE397EA2AD7D02E4 +7B5CF16128C924B567CA0BDF9BB92B6E5C5627D8EF1EB01A110EE6D133012C79 +8B32A46ECC8DD7BBB259EDFCAD4DB4F57A9B003E728A7F8A6523B9AA71E61D62 +6E6164F1A47D627E50216C79CD72914607E998C6979F12150EA659388A335C72 +317116BB737EF06429CFDD1FC82146D5EB330496AD418D1EA61F85048F8628B4 +9AAF2E6834B1807A0EBD629EE680B782012F2E6DF26B76613BE3978CA6005958 +C254B571B95075E030C912E6B5C8B82BC4FAF0B0A83DD58058A762DE0178440F +D8E1EE0AE57432D0EE5DFCF0E5BC5B2FAADA2AFC97C6F4EC57FD7784419DBC50 +F824BA99F093039669EEA1592E54F81EDBE5CAEF48DA0407CBA155463B7752EC +478B7698C0B3529F658AE73D382A70F7CC1678ADD4D05C25EE06D9160B36358F +7DAF4714CD6171A78FB4069EC676A781180EA9B8AD7372C259F83DE2419D606A +707C39344CA1A6BFEB3200CF352C34546766B5726326FF97427E8BACBBF32A58 +6F500934C1B7B8BDF8F98798DE2E7DBE52F1E14A483B69B5D56EDC0E8DBB1ECC +65B37E0C7274B33E8556CFC21FA07110D17170ABAD5F210D3D382F9D252381D9 +D1EBEFF2B63CF3A80291F4D879D20DC2DC4DC89FD6B073EBDD6373894467449F +5D3233283EBB3FCF772F8502DD958987751A74BC531768F894D16A330C4B4DE0 +FAAD81F767E3DC4297A664AB2D66A4480D9D92A78A1F7E908D26DB01BB620557 +8E0375863DB66E3D3CCCA7097938F420A3729EDA88662F90B19ADAB0585D15B5 +BDCFBAC7F164F759DEB4E82E5598A00CA55973756D569C56AEABA08E8CDE58B0 +6C1B7F4EE7491945F49968990F62AABFEE1AE447B6F8BE463E32DE13DC7D4B59 +4E5536B564B0EE3EF1DBE4F1E796A415BE7E9C9568D78353B0A2C2C1147B10E8 +F28584FC54E67F8AC0C131DFEFA3186FE7832C4C485AA946B525A463D37FCBE4 +8EC2B78EFA75B1467C6A2B8AC606E9D4A79FE151927E51ACA879AEEFBE63D9EF +D6A1E6EF83258CA02FEF2CF3A119F3DE26FFB9DD779AC5EA0F48D4946B0B81A1 +600A427825911AE0DB1DEC8E49C9EF73D73415F9C1B5342FFC97C0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark{restore}if +%%EndFont +%%BeginFont: TeXMUSIXSPX-Regular +%!PS-AdobeFont-1.0: TeXMUSIXSPX-Regular 001.000 +%%CreationDate: 01-07-22 at 22.39 +%%VMusage: 1024 69400 +% Generated by Fontographer 4.1.4 +% converted using TeXtrace 0.45 and modified by T. Uchiyama +% ADL: 502 498 0 +%%EndComments +FontDirectory/TeXMUSIXSPX-Regular known{/TeXMUSIXSPX-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +20 dict begin +/FontInfo 16 dict dup begin +/version (001.000) readonly def +/FullName (TeXMUSIXSPX-Regular) readonly def +/FamilyName (TeXMUSIXSPX) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -300.3 def +/UnderlineThickness 150.15 def +/Notice (converted using TeXtrace 0.45 and modified by T. Uchiyama) readonly def +/em 1000 def +/ascent 502 def +/descent 498 def +end readonly def +/FontName /TeXMUSIXSPX-Regular def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 163 /ccaron put +readonly def +/PaintType 0 def +/FontType 1 def +/StrokeWidth 0 def +/FontMatrix[0.001 0 0 0.001 0 0]readonly def +%/UniqueID 0 def +/FontBBox{-810 -5754 9613 5760}readonly def +currentdict end +currentfile eexec +D9D66F633B846AB28EDC112EE8CE6C6736001234F4C7DFDC8C8014E32702D436 +0A505E30AFE960AA59313499738A089E6AEAEFDC84AEBA57A1F9AD647CCB7BE5 +B03F5F4993FB2566BC918B0AB23DB4629AC0D00174ECD9F3286839BBEA5DD0D6 +84E25152E241F0D923ADCB347B5635EE25CE26F509B8F400F2C9CFB67D676ACF +9D516193DA983A07AC65A99BDDE6D09C93F522AF18F5462F7C2C3A7CD58FB034 +810D4645AE7525C1BDF2E062C4D0BB1A115E406B09C9014323678B1FF15AC494 +A82AC85A09051539D2EBF8D4910447B1C8875854670342B6D13D727DDBA5C2FD +52AFE2107B72A73D3A8F8B0516B5D141AA315F37523CA19009A6CEAB11C23A80 +20B8C46718DBF2DBEAB3320A596C8992531F6E70A725359BD09EF9FF2C0E58DD +9EE54192A355EDB81FB6E2391CD91A9BBD4E6637ECE455D5521EFD88CCE1386F +E8D48F5606EBD4D022398AA55DBFD3FAB451145AE45A9253E619BA949342B84F +84BD47EC98CDC296A7E2B4E87EAD0B1A6BD1ACAFA79EF1F4A452EE8A57B40167 +81461C6603C0824B10F8D2F842C6A41B3ECF50F5EE3D2D0291A7037CA41C519E +758E4CF0C26800B402E2390DB84BDE63ED4DCE76E536FD3498D26C0C294B633F +CBC6B23DCFE3398FF0AB8221466C645B943DF5EF81057D1F1EA8859EA97DB16C +F0FA4DEDD2485D24AF441D59298B52565C859B457D0748A5E86B8EDD3E890764 +13026367C68BDF2CBF79A49E48CFC4B516DB1DEAF67DC23E838C438EB6150937 +BFB2ECF6892415AE14817AF3592D8B0173C5CB41F224F9E3302E40E12F6FAF8F +1452239E36DAFE964572A4995036387E93AC6E41812A143B802D395133479ABB +DF095148465533FD237E818F856FFD85515C73C3B6353A0004D9CEC8C95DD5A6 +84547B6F5E170EBFA3FB64626BEBF9362E25526EB6440F799F3D710DBB5880CB +5D80B4B11525BD2B8C3F6F760C82458B5EFCA2692C44857A6A338F84F82E6236 +912F5AE9878F7E4B430627FC4D8D0B79BDFB5EE52618C9DEDC32BBC5D4AAA9E1 +F9F218F54C1F84D48DFFB451A709EEF61D29E39883433D4EAA86956A5DCE4E91 +91AD2AB3528E7F851C85343F64B6AC84761F5ECFBD85744D9FDD6E51C82C8E2F +BE59939CFDECC063CDD43A31E728776D1EB1F691DE9123778D1269290F914A51 +3C1FF6D7D97B664F0FA3F3F01125CCFFE0CE15B5A5C830C04967B33BBE972862 +D1451763CE3C7ED364A11FDACFD1B33CE8220724F563C06D33036DBE7B3453A6 +1F6E5BC371B461BFBBD0B72DC2BC810A98ADCFD9AE70C7A173A7C5AF68D37181 +B97E120BB846A9AF1A141BE13712E2C23CB9EB923F48DC26682D56B58DC8115F +78AAEE692D9BA1CA14EDA80D443A3246E01FC48C888829FB0305413A008D8690 +DC063D60E9ED61FEE0F1C81BB644367A52C126D8EF6F01DF05AB584287830509 +364641DDA5B6931D192A83F571C37590B59609E2438530C262D5E2A364AC32D4 +62D3908DF0E6D02266D5BD5840E7A947A973BBCA55A3A45C7620090FAD36D745 +A7C704D290A40ECE52BB064B213B2695DB705D3A323BACFBBCC08BCCF3E857 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark{restore}if +%%EndFont +TeXDict begin 40258431 52099146 1000 600 600 (sjb291.dvi) +@start /Fa 200[41 3[41 1[41 49[{}3 66.4176 /CMBX8 rf +/Fb 203[67 1[67 50[{}2 119.552 /CMBX12 rf /Fc 182[133 +1[133 63[0 7[{}3 166.044 /TeXMUSIX20-Regular rf /Fd 92[0 +163[{}1 166.044 /TeXMUSIXSPX-Regular rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: Letter +letter +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop -214 151 a Fd(\243)p -214 277 3288 +4 v -214 318 V -214 360 V -214 401 V -214 443 V -214 +-138 V -214 -97 V -214 -55 V -214 -14 V -214 28 V -214 +443 4 583 v 166 x Fc(I)-214 -15 y(G)-50 355 y Fb(2)-50 +438 y(4)-50 -60 y(2)-50 23 y(4)p 111 439 4 144 v 112 +296 a Fc(\007)p 222 439 V 111 w(\007)p 333 439 4 435 +v 334 5 a(\007)p 111 440 337 20 v 444 439 4 435 v 111 +w(\007)p 555 443 4 583 v 662 296 4 144 v 615 296 a(\007)p +773 296 V 111 w(\007)p 836 170 4 165 v 837 5 a(\007)p +662 171 289 20 v 947 170 4 165 v 111 w(\007)p 1058 443 +4 583 v 1165 296 4 435 v 1118 296 a(\007)p 1276 296 V +111 w(\007)p 1387 5 4 144 v 1340 5 a(\007)p 1165 -120 +335 20 v 1498 5 4 144 v 111 w(\007)p 1561 443 4 583 v +1668 5 4 144 v 170 w(\007)p 1779 5 V 111 w(\007)p 1890 +296 4 435 v 1843 296 a(\007)p 1668 -120 335 20 v 2002 +296 4 435 v 112 w(\007)p 2064 443 4 583 v 2123 149 4 +144 v 2124 5 a(\007)p 2234 149 V 111 w(\007)p 2394 296 +4 165 v 2347 296 a(\007)p 2123 150 383 20 v 2505 296 +4 165 v 111 w(\007)p 2568 443 4 583 v 2626 439 4 435 +v 2627 5 a(\007)p 2737 439 V 111 w(\007)p 2848 439 4 +144 v 2849 296 a(\007)p 2626 440 337 20 v 2960 439 4 +144 v 112 w(\007)p 3071 443 4 583 v 3074 441 a + slur@Dict begin /pss@rega 0 N /psc@rega 0 N /pst@rega 0 N end + 3074 441 +a -214 1044 a Fd(\243)p -214 1171 3288 4 v -214 1212 +V -214 1254 V -214 1295 V -214 1337 V -214 755 V -214 +797 V -214 839 V -214 880 V -214 922 V -214 1337 4 583 +v -141 585 98 4 v -141 678 4 93 v -112 653 a Fa(7)p -47 +678 V -141 681 98 4 v -214 1210 a Fc(I)-214 878 y(G)p +-11 1333 4 144 v -10 1190 a(\007)p 94 1333 V 105 w(\007)p +200 1333 4 435 v 201 899 a(\007)p 201 1303 78 20 v 275 +1333 4 435 v 75 w(\007)p -11 1335 365 20 v 350 1333 4 +435 v 75 w(\007)p 455 1337 4 583 v 560 1190 4 165 v 513 +1190 a(\007)p 666 1190 V 106 w(\007)p 723 1043 4 144 +v 724 899 a(\007)p 724 1013 78 20 v 798 1043 4 144 v +75 w(\007)p 561 1044 315 20 v 873 1043 4 144 v 75 w(\007)p +978 1337 4 583 v 1083 1190 4 435 v 1036 1190 a(\007)p +1189 1190 V 106 w(\007)p 1295 899 4 144 v 1248 899 a(\007)p +1296 805 77 20 v 1369 899 4 144 v 74 w(\007)p 1083 774 +363 20 v 1444 899 4 144 v 75 w(\007)p 1501 1337 4 583 +v 1606 899 4 144 v 162 w(\007)p 1712 899 V 106 w(\007)p +1818 1190 4 435 v 1771 1190 a(\007)p 1819 805 77 20 v +1892 1190 4 435 v 74 w(\007)p 1606 774 363 20 v 1967 +1190 4 435 v 75 w(\007)p 2024 1337 4 583 v 2081 1064 +4 165 v 2082 899 a(\007)p 2187 1064 V 106 w(\007)p 2341 +1190 4 144 v 2294 1190 a(\007)p 2342 1096 77 20 v 2415 +1190 4 144 v 74 w(\007)p 2079 1065 413 20 v 2490 1190 +4 144 v 75 w(\007)p 2548 1337 4 583 v 2604 1333 4 435 +v 2605 899 a(\007)p 2710 1333 V 106 w(\007)p 2815 1333 +4 144 v 2816 1190 a(\007)p 2816 1303 78 20 v 2890 1333 +4 144 v 75 w(\007)p 2604 1335 365 20 v 2965 1333 4 144 +v 75 w(\007)p 3071 1337 4 583 v 3074 1335 a + slur@Dict begin /pss@rega 0 N /psc@rega 0 N /pst@rega 0 N end + 3074 1335 +a -214 1938 a Fd(\243)p -214 2064 3288 4 v -214 2106 +V -214 2147 V -214 2189 V -214 2230 V -214 1649 V -214 +1691 V -214 1732 V -214 1774 V -214 1815 V -214 2231 +4 583 v -141 1479 138 4 v -141 1572 4 93 v -112 1547 +a Fa(13)p -7 1572 V -141 1575 138 4 v -214 2104 a Fc(I)-214 +1772 y(G)p -12 2227 4 144 v -11 2083 a(\007)p 93 2227 +V 105 w(\007)p 94 2197 78 20 v 166 2227 4 144 v 73 w(\007)p +240 2227 4 435 v 241 1793 a(\007)p -12 2228 360 20 v +345 2227 4 435 v 105 w(\007)p 449 2231 4 583 v 553 2083 +4 144 v 506 2083 a(\007)p 657 2083 V 104 w(\007)p 658 +1990 76 20 v 731 2083 4 144 v 74 w(\007)p 757 1957 4 +165 v 758 1793 a(\007)p 553 1958 312 20 v 861 1957 4 +165 v 104 w(\007)p 966 2231 4 583 v 1070 2083 4 435 v +1023 2083 a(\007)p 1174 2083 V 104 w(\007)p 1175 1699 +76 20 v 1248 2083 4 435 v 74 w(\007)p 1322 1793 4 144 +v 1275 1793 a(\007)p 1070 1668 359 20 v 1426 1793 4 144 +v 104 w(\007)p 1483 2231 4 583 v 1587 1793 4 144 v 161 +w(\007)p 1691 1793 V 104 w(\007)p 1692 1699 76 20 v 1765 +1793 4 144 v 74 w(\007)p 1839 2083 4 435 v 1792 2083 +a(\007)p 1587 1668 359 20 v 1943 2083 4 435 v 104 w(\007)p +2000 2231 4 583 v 2055 1937 4 144 v 2056 1793 a(\007)p +2160 1937 V 105 w(\007)p 2161 1907 78 20 v 2234 1937 +4 144 v 74 w(\007)p 2355 2083 4 165 v 2308 2083 a(\007)p +2055 1938 407 20 v 2460 2083 4 165 v 105 w(\007)p 2516 +2231 4 583 v 2572 2227 4 435 v 2573 1793 a(\007)p 2677 +2227 V 105 w(\007)p 2678 2197 78 20 v 2750 2227 4 435 +v 73 w(\007)p 2824 2227 4 144 v 2825 2083 a(\007)p 2572 +2228 360 20 v 2929 2227 4 144 v 105 w(\007)p 3033 2231 +4 583 v 3049 2231 25 583 v 3074 2229 a + slur@Dict begin /pss@rega 0 N /psc@rega 0 N /pst@rega 0 N end + 3074 2229 a eop +end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/generic/pmx/tremxmpl4.eps b/Master/texmf-dist/doc/generic/pmx/tremxmpl4.eps new file mode 100644 index 00000000000..cd20d88c79e --- /dev/null +++ b/Master/texmf-dist/doc/generic/pmx/tremxmpl4.eps @@ -0,0 +1,972 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: dvips(k) 5.993 Copyright 2013 Radical Eye Software +%%Title: tremxmpl4.dvi +%%CreationDate: Thu Jan 23 16:12:47 2020 +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 45 578 406 747 +%%DocumentFonts: TeXMUSIX20-Regular CMBX12 CMR10 +%%DocumentPaperSizes: Letter +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -O0.25in,-0.22in -tletter tremxmpl4 +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2020.01.23:1612 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 +def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 +rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 +N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop +false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A +length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse} +forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{ +BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat +{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch +round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 +rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B +/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} +B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p +-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ +0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginFont: CMR10 +%!PS-AdobeFont-1.0: CMR10 003.002 +%%Title: CMR10 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMR10. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup +/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMR10 def +/FontBBox {-40 -250 1009 750 }readonly def +/UniqueID 5000793 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMR10.) readonly def +/FullName (CMR10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 47 /slash put +dup 97 /a put +dup 99 /c put +dup 100 /d put +dup 101 /e put +dup 102 /f put +dup 103 /g put +dup 104 /h put +dup 105 /i put +dup 108 /l put +dup 109 /m put +dup 110 /n put +dup 111 /o put +dup 113 /q put +dup 114 /r put +dup 115 /s put +dup 116 /t put +dup 117 /u put +dup 118 /v put +dup 119 /w put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 +569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 +24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A +2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 +8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E +3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 +D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 +D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B +03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 +767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A +8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B +DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E +94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 +22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 +72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C +8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 +344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A +64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B +07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC +1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 +78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 +CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 +7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 +BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 +4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A +5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D +EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE +EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 +4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE +0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 +C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 +314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E +DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 +EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 +DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E +DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 +7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 +1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 +69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE +EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 +7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 +CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D +38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 +22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C +0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 +BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D +4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F +3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD +B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE +15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 +849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 +FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 +4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 +1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 +84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF +7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 +CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA +4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B +3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 +F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D +F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 +DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 +D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 +56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 +8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 +59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED +49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 +87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B +8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 +C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 +D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 +D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 +F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 +0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B +5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 +229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC +17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 +01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 +F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 +3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 +689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 +4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F +A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 +DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D +364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F +7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F +26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 +43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD +8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 +C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 +94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 +C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 +B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 +4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 +7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 +204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE +B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 +7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 +279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB +E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 +CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A +65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 +BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 +6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 +B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 +63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 +4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A +A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 +67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C +DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A +5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 +C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C +9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D +B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 +963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 +D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB +B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B +72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE +B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 +8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB +3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 +668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 +ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 +69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 +C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 +3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 +407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 +11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF +2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 +4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 +2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF +9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 +CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 +DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 +0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 +5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 +9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A +EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 +09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A +2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 +AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 +324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 +486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A +EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 +52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 +9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 +4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D +B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 +BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 +6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 +B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 +16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED +E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 +546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED +6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 +559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B +C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A +ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 +04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B +7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A +8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B +A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 +94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB +C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC +41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 +7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 +18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 +9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD +E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 +5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F +4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F +E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF +9F9EC2518C77806A19730C97F54BEAD10B4729E5749A10EDBE644886443D1249 +2C8517DF8D8AE98E2882439FA81903941B363A7D885F93C6DF9E1FD89F2F8CEE +B870C409ED13E78B4C914813B0A01DF8F876EDCC4F384055FD37C575726AD69F +F23D50EC5BEE2FB95A44F2B2E2DD94C933D90BED2C97B53738B4B2ED56EBE617 +BEF17B9DF4F314A37F10FDE34C570D7BE76A496A58242F51E7321380CB042424 +855F4B53071DF5A0DA5A31B8AAF9FB4F4C491625FF8FD008BD4402918043BEDF +77B840B2BE0DAAB4EF904FFEF935954AFB9BD2041241B1BC8519EB642C89E288 +479664226DBB6F1171F9EEBC7E1273D0CABCF6B1BF7F26AF21C21D9B1B916F4F +603DDB68D3614B86566FC91D67AC3F4A4A96E256FA1A3BD35F4465AE4EC64D82 +34BEB4BBDDCEEBD9A89D932E55F14CA2776F927C4FD3E0920790A57DAEA08C5B +169A3E2309DA6BA8684A5D1DEE81415796E13DCF906FCDADB092047831B16841 +B250CD148557D72DD7E683BF122B38E2C4F614E59B395D1D9823D7D5F126D932 +14B50A37FCA7120F8F3A8E42134F1B6B0C248D56F247AA68FB941839F600F61C +14247EFF780BBA3E5198D37CED44DEEC3455048FC451BCDB48DC414AE5293A60 +5A59877D6DFD21EAD729CDB7B378CEDD34262B37A194EDD0BDB24AA42649375B +491DC08F6B03DFEB517B2FC125DA9373AFAA94F4E4BC09510A73E079F4ABDD8F +93529E898B13ABCDE7322323B3A2A02A0BF388E89B4F529A66FA22D38E3EE342 +54475A1989BFB7A119CF95750D5A18BB4FA9CDA30DB6F1AEF8AE8448BBC999C9 +FD0D74DE9A17A3153617F07CACE92977B68FB5A1CFB29FD42494D5D2B9C1ED81 +2F3CCEEC1BC079E837DDBB57C7E351F9925FB96349F8D9786D8E6FF03E9C4C1E +67DB235577B68003BA14073E2702296B284F803259283005D97035874D2B9AFD +4D3F29B4B1E6EDE30DDB9C68348CC174A091791FA74520C8614D4FB1125CBD6F +B9367559D715ED057FDF6DAAC180C7FA5CCEFD0C5878A91B20D4919792C03CA9 +3AFC986C34C08358A3E85F241E3F8F815FCE7C8E07C2A4258E17D65823264049 +3803D47C96A2745580EDC957AC4291730A840A2BADA50A28342A2B7093A3F731 +4F4F656E974389E133C53F89D5DD6407BB98B211697941A927BC72A0956FA78E +2DC624B2C253F76778698BD1510D509244AB0465D4261E3AC31D77C4F755096B +50C9CD8103CFF51490796CF35B02E38BFB36CBF2E6D0D7304344C4523C369946 +C3BAD318835D4707E90A0340BB7B6ABEBE9EF7E7FF54D1784AB514FAC0FDC8DE +B8DE95405811AB2F25F2391855929C2C452295D698C749DF868A962183036CEE +800D650FE2CD2E74C038665ECA680B173A27305874D4AEC967043DBCF9275F02 +7D92A0AC4C098A5DA5939BFA435FE56060110EA1E9FF2BCC9C5E93964FD43199 +8133454CF0A83B9946D6D2235AE3F345BEFA7D935A4FD76D7A9CF080E34D1983 +6FAB58E2C907D4EC63F6431805A40EF837884510B1A8C7CF8F290F034784C81D +9FA6ED8ACCFF15B6ADA1CD0460591326B7A7A5FE7216BCE081EF42F0846374B5 +0FF9F6FB8025D2DBEE17991FF93E7C09B55135397A77ECB051306B93C58A2598 +60E294DF402A6F07B1FD679025022AFFEC2938452C72400B45A1A49F1DA9113A +BA4C4528E9DAB7F86323AE99A1932A49161F10A37FF2A4D56FAF883DB84F209D +76982A6131DE0B316E898A4C039154A90CA72991180F9EEA6E0105B8A4443A37 +3C8DE253233006178B9A6BC69ECF2556E28A2DEFB6371422CDD07263005CD570 +9DC4C9DAC7FB491ACDD3A0CE095427DE50D773723E3DCE57EFB99B8101346CBF +8DB7048568AD276734D04A28CB871097AB4579D1893E600DE58BDEE4BC4575CC +FE9E9AF726419F8750DC71A816B0D51004C77A4369B6A7D01150E5B38FBF7B92 +17339137D3FD9CE162A2ABF274FAE6558CFB8408890ECB590BDF2F0F67ED73B8 +A5D56C84E137099152D6E7D0E9CC6D98AC4BA8FEB255F3E4E53F6CD25B5C822A +258436EB7CEC5BD2E149FD142EC895039F047FE4EAE9A104F63B84043D6D46C4 +BD7442D393B3431CDECCC3C5F700156741524F3B6849F155190D7B100F83DB88 +2945035D366B2ACBF52033A1EE281956136B44C763B2D94549A80ED356C8E735 +FC7E0B435EF4FD5640E6FAD3E2351FB9C4417142CAFA51D5688F745FFB4F9E56 +CDAF10B1ADB7983BF339540A8D723B76B5D29EEE58B4319663BE1BE0F3B85D19 +15F413B78C1C686CAD65DDE0CE08F57484329B50602BAE656C24F850F3CCDF25 +1BD43ED3D6520EC39CF40A1F5B90A8BD1C5076026D659E33793CACC755C9B6B8 +8480A6E644D334438BC9B5C8003F3356AB44A01EC91BEEEE1ABCE3E5328D3F81 +11610DB32C86FF6F9DBF0347BB833B0D91A874F95B68C0CAAAC8FAEBA26263A4 +85DE775F51E4142EB9C98F3EE74B8D1148027A54302E2F24F221982DD1D988D5 +66417E5C380B1B2C67654E0116CD08A59EF71EDCE99543E8C3D09D5ECA608B93 +03F49F586D8F839808711285ED8CEF18A7EF23430F28DB530FFE61BE5B988BDC +4D0A2756030F0BDDC05356642D5BEFFB6185CE33981A6294B15AC6950D17C56A +50C18E51E036260C2CD2EDF579BB1648BD39E1555BD2ADA08CAAC84AB583421E +5C08469D8D97C2901493D1604CB862B72FFA7E7B566BCAAAED470B4E2C609BCA +B47E2BE4D6AB773091F637C28635249EFE888D9D707640BC2319DDAB734A9932 +1F57F6794E4F8C7831D78B5707F95831BF9C8B7AC15AECBFCA3DC5195C2C4AD7 +1C5CA302C70B99717F9EF91A6AFFB1DD780D0F90C353F464EAFB98CEB5C4CF14 +B29BD79D2CA19396CEEB5ACEB048DD2379BAD1DD8C8C6EA162AE5CFF0CDDA4F6 +CB8FBB8BC49B88F02084B5D91D7A871767F244A807198A678EF58EFF3AD805AA +74F655EDBB4FB39703A50A2AE8EB4B0FB04D638A04C43BCA562C9F91ABC2584F +49D54A45AE6D378F5C2B4E313931D7B1A9ECD38E02928D94089E6544907FD666 +21C06EAFBA21CC46BB3207ECB77F12D5E1F1BDC673D822C8AF1B8426EFA3D588 +D0388F4C6201C1CF8827EC041777122CA6199A082E3EC02CD97A18D48F30E056 +CEE265838696F1C374EBAC4EAF1F31FD2889F302A9C5496EDAFD874A8038553D +70B02DA2F49827CCF0F39BE0C94CAF9E0E65A2AE944CDEDB8CB0483DBAE03637 +CC4C30DF26D497C3D66D5E119D5DEED4875C5A6AAE4A8578D52CE0F268EDF068 +6123521F8621E8F287A4A0CCB5A0BE5D0FA620CDBECB86DB797DED1294F82716 +9D7C886CB29E7AA68D3B64900093FAAFEC255B5B146B3CB1BE25453AFBD5B878 +504A44F084A4FF5005A959C34ADF2D9D5AEB2B1483938BB155475A45FC32755B +5CEED304E60FBE05B62DCB58755BE2F2B40817ECD640B52FF6C69244E1F7209F +C8F1F1C9DA0453B564B8FD5D5C6FC917E2A4CFA8FEEAD0D31837702BFD50EC8C +417FAC1D67BE98E348C2215C1207DA6FCBF266295BE92A624BCE6EE9EEF09589 +FEAD49CB6F6CDFBEA8F56A2BCA48DBD42C11E120CBD1E6BE4F06F96167078A9C +B36CDFE0F59EE4CD641767F939AB0F14F17E738DEAE1354F4243B0EC2E85A7FF +90A0EBF3A94791C2EF3F51F7F6555AF4AF8D18D977F95FA25306444914ADD15E +CD70D7D3AF32203F6E03A90ED01E5DCBA2B904BD2850D8670A62F27A4C5BA543 +20D9C40AC94F0B5E9FCA2B699D69BAE91BB28754674191C7F2F090780DAC6D42 +1357EC558DF727530EF6451BA65AAE08165CE5D729DB475A86893C605E4B3FFD +FAD74314725B903C4F818E862EC4465D40D092FC5DF0B7AB1BC8DCE69C7BF463 +857F78DB84B549BBA0939F6C86B508676CE8549886C1052E91E5AAE6C29A0E47 +471765E9307409D6951F4B00F4BB494AFF30B988E064EF6A1A882ABD14E876A3 +22E8186462DAD21CE270D79D8B34E663B6982E97902A0410A61294EA6E6B6969 +EDC4BF764C6EAC51B41CA5A14EEF3F3155B6458DB074BAA59ABC0F39A2B3DA1F +EF055A5E030B49B9BB5CE4759F4E02EBB7880DF534F81AA7C0CABD1FC0CCD848 +2EC70CA6A002213C05E9463E63B4B03FB0D56FFA8366785888F6B6CE55ABCE71 +FF872CD39E8E152828AB8833265C21A589C42AA588A5334F3DB30D92AC573AEA +940810252EF183A8251C58177DCEC752A48C26A4C56E07959804809059867FCB +6160F3BDE7B8E646EC549ABF64402B5F6243AA60B82E1B0B2F7D7107052E9BE8 +54F4CE1EC6071BC8972B6689C32B8CC191BFA74A9160687CCC26F8962AFC4600 +78E8636A5964C7A22899473DF1E8F0C9CD1921EC13E658C9876266903A85C059 +3E8619DF7ACB8FA3BC78009E457C580ACB6D1B68A73F53772C70CFB500DA2667 +BB318CF220975BFA54EFB0024D9F595B4887991B78140EEDD85CA3B23B90C403 +01326C9A12EBCBD3EBBC192B5F8752A2C5232BB664805A6ABBD0BC780A2A236A +4FE5D32D77D2C760F18204A348E20451E51BECD363B4D92DD4E2C0CBEEACD6DA +2B2ED0FD52657E7FD4773C68650E5AE4935AFF6A09AA4B34842A36F9A607A379 +AC1E7A7CD644009CFF69A4D2BC417D49EF6E234F8C6C141962435F47054880F3 +2A3DABACD5610F2ABC876714801160E4BFA86DBCF513B5FDB5A424933DA0073C +4979887868A3A1C65073D6756AA4004625B3B9F3483B9FAF142931D639FCF79E +9E0A0C2F32D70D2219C3E9E77C3F35CD8185DE97F9CE5577A0B912D6982E43F5 +97237FE4EF8577252DBC521A37F20D7AA466D4ADA3344DA152990AE9481760DF +937DDC622CFFA275AB68D60050B85B4925D67F9E955619C0EB8DE8090111461D +36456825760496DAB2BA7BF38A30EBD22BDA92860032C883E19392B15602C09D +140A648E14706904A7543AD23823205986A8CD7C47B5021CCCB514CE1A8F3155 +FEE37F95402BFC2F766E85E48CA855F9DACF0B9562D08F69D8AEB62D32265D57 +F4D29C5FA13275F02997408FC89D1721B1E948E823772F66F4BEBDAFAE843A6F +51371D9B0283161A9927ABCBE36B107166CCAD2F137B547E5AD55582754898EB +D7A82FD08CE8CA5D8E0C4A5E2E39C3B440C3D90A02C07795FF16B63D4FE696B2 +283C6546D38AC08229780424E23B00A858248AC3D1EBDD134720E31DCBE624EA +4A4EE99E7A6F3B57B4101196F16133D5C8540C7582ED8B6AC3624AFC7622660A +EDACBEB94BCA2CBF9EBE2AA1462A92B05E6A63FF24E0BC7585BD29858F65E937 +CDE3BDD17DA258934D6179445E9F7D356A156582E57CA8BC529BFAC7EE620699 +958AB21127EC4A285981D3270DBE59E9DD527B697F1AC809B7CCFEF4BC1C9742 +C3A4A11EB732CB51292AE1D398A439B9D8A5AB59266147B280311042AB99E359 +921A0F74FB5B715A45AE820FC4D4A224CCA7CDD903E14790AC78C0A39A8EE2B3 +EE436AFC2881BCD19E0E4FCBACECA691D7AEEA869AB67CEC7B06FDC19FFC0D89 +949B7382D1BC953A6193F8103086EE12FA45B2328CA75D93B7A27E71BA96D487 +E3BCAE4979888BB4309714303748659C20D646335287E949B2DAB7D052D7E124 +077469758ECC533B7DCECDFA9160BB6DABDC9A9A58D57CC1BF6BC0B1FA562CFF +4DDDF319B5F65B8D761EDF5C091D3770BC1D57AB4D4A213AA8C92AB452041DF4 +FC5A0951F89CC59B67FCA2F420F43CBD846115CF843F9F33FE743A45CC321102 +3A57F5C4F16E9CDE908E8E2CAC593EA28601E0637AA08D1ECEDA6B38DFA83C82 +4917A0FDD378828071EB0A9999BB0DEA95398827F9D6B8BE634950F4BDE68400 +C6706D29DFAB7588E65756AD81AC423F92022AAF3E4023CBD9671AAD2347AAC6 +72C3DB9E230387C5D6A49DFFA9D0F9ACBF231D93002C2D335753F18EA9C3FD04 +D285C4144FC3919C4F8935790AD00E74D802DAD6D829ED9CEA53072E19D1EE8B +C0546E181BD5D069FE2440A882CD78E32059C413067A1D5FA518597669C903B3 +74F55294934F99238A9958D57E36F379A1AF1827888CDB8B0C9615DB99E02694 +92A7016976BAC79761093758989D6345990002BBF6870AA147DB78005854C473 +96C9BE143879F74067B0D56FDF01A2CB4D288AA7DF071E167A1CD29AD9A80EE9 +612A96EE7CD08890DC9446BF6F4D29E4F41451FE548FC7075C626796C6CE881C +7CAE00BFC4C085392A8B231C6EF61C8FB77F160C52364F016D6FADBD03E09CDA +F15FA5117DB4AAF5E9564CE2D6759323D5016A79183BB93968E015930B9502FC +9F56307A23F535DA59D72FB809C7F317469C304080E6119B4BA016787AC98EDC +069A2362AF3B1BD60EDB39FA9866F895B095F45410B22973D8C8886D937511AA +443F8243353C2A00E0B017373C905D003DA455E45F33F7ACC43DEC0F900E751E +E5E739B3C5D9F60C5F37FF30531A7EE8EA22C730A9DD6F587BEB504F101A742A +EC16BE556BA57750B10881E3D1CEE353702536DB57D2069684912074EB84DB6D +FD6FDDE930556A3EE87A2997CB5C1A469A35FD6BE1B64768ADBC161363F664EE +3BA32C078A339340124C69F2CBA78588CE51FADF73F35C553E8744EE0513948E +FFEA5BB759CE3BE8B6FCA6704F6FD98AAD7F958A1F2C546F31A6EF6A95E30AC1 +B26C86D7CD24E2CE5A8528918CA5FEA106E54AF8D5BCA5460F7E952DB226A716 +9A7E1D610E771518873AE5D43118448363425F0F42453C2146E264C311125A3E +EDB45FFFBC8E3CD1001750E615359DCCB9A756D0DA96736AF5A73F4AD5534420 +373F3FAB6E736CA1756D1396EC59075068DE369CA8AA78647205DF05A52E6A88 +ADE7B75DFD13656C2A43DDA34CBEDF2CA6A01D8CFD51552749BD6774C8611A44 +91E1C0736C8B789AE2E290566194E2A44D55CB8A9D1F75C45995D066436341FE +94A15C62F6259EDFE9CD0663F1CB183CEC400717A97E04DA732725C02F6BB460 +825C1E7FE952C244D78B6766458DD4D765997D06AE61E1822D904D1698210AB6 +E3C64E95DCF735CC563F31C2B5C7D36E3E7AC523EF30A03C13602B2EA4F924F7 +F1463B2A3B23C6CAAA5074CFFEF2594FD1DD942109BC3CBD078E760E269B0F51 +02FB36E8A1B006723F21BF0DA3957371E9FAA4C10661730ECB2917BFC673A465 +970BEDF35A65D199FDA714CEDAA1FFFE3AC54333F2FFA773F5E174E7E23F86D8 +77CCF23085F7ED4D852E6C23FFA1A079A9F2DDE7F546BB53778CD9E442E7DF79 +AB022E801DCC718777AED552DA5A0DD78E0BC18F793C5B760EA086E970203990 +F183BDEF296B72B457D9767672CDCE15D0A388A903095B76E39E6C0284849F5C +B3A5FF846843C84731A2D40B072F71F32DEDD2FF723210B357B910FE99E64CBC +61DB759D5087A7CB3B764A75D7EF28A08A6361E4EB0675100EEA6B7C70663F60 +EB615427F82616268866DD513D981BA63F2B8872225803042AE1F59A3EBF1B05 +EB476377BDC907360D944875E8BCB5E7E3B5E7F0D1970B3C375CD133E90814FC +89D68CE3932AB8E16FDD714AC31AC92B87986FCF2AE72A04172B9939E969582E +01AAF7B26D983429D8D3AD019F62CBDAEB6E86A7DC62B8357AF3C66A5AA66DB3 +A4C899470227F2F99C31BAFB8C5748EF85AE8B996ED2E7C22B6C52BA25C75CA0 +8FCE6C32FE0A062207B828C876EF01D0319F1AC1DEEAC1EBC18C7795CB072C88 +7CE030657F81ADA516FCBC81C0D471A61D4931A4AA662FC67493609C0D593F66 +1442F1E5965030DD9644B027C5620A954615B3FB820CBDA2833C9E50D108A802 +E9891578E5988ED7FFBF47A00169AFD649E78DC3FB18C75EAF336E3598F9442A +554BBC5C7C76CC093A22EB7785EF340F60168D358737652EB26013694A9AA621 +9EB3EB10D27EAEF97E0586033A06AEE2AD85DB5E48BBD712F7CC2DD06469557A +316FFCD34106F59781CFA3412936A1932B232433F70B129CC1409EEE3FC52842 +3E1D1B8C9024760369A8A15408AC4B5487CF8D6562250DAB20ED95E5613571B6 +58224FDF02FD4A4B4DC9893D517A4C6E566EEA4891D3D42515FA5B2B5C35FC29 +B78C68BDC4A4FFE2D0208EDA33ACA8DA2E2EC02A7CC96CE9DE972914D98873A5 +F92CB2E48FBB47B6D86B6C6CD52250C316CEA37C6EC415028B5ED3D20057772C +B5F4914E9E296F37B44AA0686C1EDD62B285E0AEAA22CEAFC711DC184E1331FF +00C55C192D0993D3ACB6E5C339E5CC2BB4C1D3DEB1E0DA8C50860D9E8CB66B17 +0A8471BA34DA0D7674BC9E5741582FCACA01B08434C5CD11ED8F5D071D96F9CD +E753822C5A4DECDCB502BAC9CEBA2CF18F8012751E322C8452514977B6230274 +430CB1428A1ABD5B74A864B8B8BB13EAC59482C4C08672AC1C93CE1E4F3ED962 +DC0F89D085DF732E9617D0F7828EDCEB3BA4F6C9EC716B3A11C3C9BD474B87E7 +D2C82F72D5FA3C4EB8B56A9222F1853349E5B0FCD45429F0D29566BBBA5A1235 +AE5BDF5047D7D89A6D181EB9514DF17E02988F3FBB547F10C5A6E8EB78F7D2AE +3CBA45FDFA55570FFF8B4BEB874136AFC86C08C40CB0D19A7EAEDB818D0E9387 +3FB8A168E8385C6537B3616DA73D466B41771CFD6003DA76A6E70A3597DDD349 +8D2799BE3FDF8BD96BB802 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: CMBX12 +%!PS-AdobeFont-1.0: CMBX12 003.002 +%%Title: CMBX12 +%Version: 003.002 +%%CreationDate: Mon Jul 13 16:17:00 2009 +%%Creator: David M. Jones +%Copyright: Copyright (c) 1997, 2009 American Mathematical Society +%Copyright: (), with Reserved Font Name CMBX12. +% This Font Software is licensed under the SIL Open Font License, Version 1.1. +% This license is in the accompanying file OFL.txt, and is also +% available with a FAQ at: http://scripts.sil.org/OFL. +%%EndComments +FontDirectory/CMBX12 known{/CMBX12 findfont dup/UniqueID known{dup +/UniqueID get 5000769 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +11 dict begin +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def +/FontName /CMBX12 def +/FontBBox {-53 -251 1139 750 }readonly def +/UniqueID 5000769 def +/PaintType 0 def +/FontInfo 9 dict dup begin +/version (003.002) readonly def +/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050\051, with Reserved Font Name CMBX12.) readonly def +/FullName (CMBX12) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Bold) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 52 /four put +readonly def +currentdict end +currentfile eexec +D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA +0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 +51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 +7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 +E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 +0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 +C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43A151FEE81296FBE +0CF37DF6A338C826464BA5198991445EC4BE80971DB687336AE8F74B516E333D +2D8AB74D362C559AAE6ACFAE49AEEF4F52E28C869222C1301D041E7A0BC1B608 +1BF728EF9E98F3A12EB2714E7F16B14E055FE1FA0EEFB058860ACADEDA9D0E4C +42E3C6F1E4869471BFAA3760175F3FBD842755A9D7847EBF605F18293B42F557 +FBE2715002669091BB033E1AAD657532F34F7C66E4F04D63ABB07E6CB9D9AEAE +78EDE8B79DD9BC87A1FF445EAA05B5572BB880E69F4DE1F82D7F0E9980AB0C18 +22C448B0B1722D3CC33C56FF287CECB80658B3AF5E7675BE82CEFF3DAD5942EE +A03C955FF979E41E54BCFB5316A9AB8945C403A73180D0961416EC9C92F49811 +4B91BC4C788392994587517718521E416D469F69952149FF7F9224377EBA1065 +4A727BF806A112A7B45B0A1BA1D5A23683960575368D9EAC8C04753BF7465AF7 +95F25C258C63E4FDFFD0B412FD381946AA38C0B961652BCEC30322C47BF4755D +9F91880688AF066E32FFB22E1A52DE741307AD3ED830D6BAA1D1F562919666DC +5E8FD9862AC8600B0AE0BC7FC779252AAC57248744ACC8A8AAFA836BCF09B0DF +9253DFBB1CB77EA8A59D42D1B18FF25E9AED72FA62FEC3F126F030F5D7DED9C3 +CF60FE890BA4A48E39E687BFFAEAB96AE542A6387F6624486037C8924002A511 +BEE5FBFD780AC1D4BEC3FBC47A930BAD0280D444259528B6C565DE11DE36BB65 +9BADC55C1EDA1A80458E98896D782DFB5C137897419602809F9BF8CA39F00C68 +EFB9E076FB324C2963F23CBFED28B9EF70EAA4E4B903225D1F199A7162AB239A +D92D71C18B1B682D04C6A48926275BCB16D413B2A0E953E1257E0B12D8B717CE +2EC84CFBC046A4338A69F454A469B12118E562B4F56C5FFB3CA5D357513E6FFE +947A564B229C7FD873057D5C7CDF03E958294A1003B37D8DF565A70A00A3734B +0138AE5277D383D10C2BD853EF806D3CCDC47739F0E374A3DF3B63638B949ED6 +4EC25869DC1C0B1F4DBDFFCC97382841D8F10F3635C792139A1EC462FDBA379C +BE0990CA2E70FE73137AFBBF30CA54954D7E7377CC50BDD780DDD4C7FDC77AD2 +F3EB1169F14A0041F18160F43C24FAF556DB5D621709FBC544CE55424F7446D4 +6AC07A51C8CD5161AB0AD5084A96FB35D77F1CA155147DEF8D7A590EA6939514 +D4A226588295CE0007BA8A550895511C8D80BBE5CDFB8A50D249C3BDCA974415 +F5557914A9B805782F399E4078DDB6264F1A49A9A5BA45E284A5196E9828EBA8 +481D357B8D9E6ECA631A6204439FDFACE7D7E6A2392726107CB7D2517CD19A24 +FBE592C119626DB221BBB635B6EB84845C16A9585282E34958B961F4A543AF9D +419B6A9105BF185FC767712D923437BE08A9C0EB92AB6792DBDC671029B6FCA6 +7F717FCE379C0F3B51C6CF042A762ED04898FBB4B0105C3C4ADDDC18C51BAA3B +70A93666669547081D9246732CFF74C83EE90DA17F5B4F8BAF47FE4D81590988 +2858C9B96071341FA0A0D23BDD4947FC9BC2297913CFBD4FD6CA4303AB3179AE +0203F1BD502065F90CE9BEA3B52DAFE4A29446082EA0E6B1D7AF1F31D0AD02CC +9A7FACE2CA86E5FE0F6A425B28A5940ECA306891CECDB3CFC7A5BBC76B5D9E8A +C754379ADE80B4D72CE493010317BF21A0CF4A0A55C1246218839DCA3F4D626D +1F4161D38F54AD5142C1CEE95C61D8BB10FAD4B772F4955777AFDE8AE5A837C2 +A2BBB11D0BF5DA2E63D0B75ED421DBA9C789B281B01846B65DC572BA69591969 +21265DB722AE86BD8CAA3D887C975A617ACEDDFB7AAB341F47532AC0F354A530 +7662C089DA3939588774FFA16FC4A52555DED6D6F51DE718BF5F345C23C90198 +17B77CB8B5D53A5CE7A79F3E286B6A59F3F6178AC8BF15C0A15C1A8A95D03B60 +30EBE53DE328CE085CD9A1D49C69AA299C5B58B24334A546F6E274C1B534DC8F +3289553F560C2F81E413ADB92FA0E7DD1C2F39D5FD268EBA97AB7335ECF28257 +96B4EADB7D0778706CB41C7E9C882760E7670936774A1088FFB2011115FDADB3 +B69EBD5108760762521C25C968C3E282DC3400001AC8FB1EA27FF643E3025950 +1D617BB8BB321281708E496277E11DD3AE0023DA9F25AD06B39C7CF527FED27B +57397E88D3DF70EE4FCCEFC8A0927D6B05517E571B3E70ECC99F3CBA32CCD4DE +B8BF22626B6C94FE65598A88AB90D238461EBD9A098DADEA4091AF1CDD7560EC +8E1B9BC2321686E1759E6B8A270C8CB4A254F7368039602EAEAB86ED21CDED91 +8F2DB9889F46981C494C7EAF5E819B91C129F0740B8002B510014985E5791F59 +B16879CC6521D8E9F1C4C1890AC85A78022BE614BEFF318AB2616F0C3F02405E +BB425D1555472A2642BA7686E431DC3FB8A1688B76660D9957C3FDE8D58109AC +21B1234C9DDF3F0FAF93BCF7B2F88A001F23162E1A13E5E9118D51B485B70A91 +D0CBC39CF44413FD8686D9030782DAB58064F5B987E0402AF5B264B17BD31BD4 +FDF63951BECD73ACA6138854EF35B062D01F33073850D9C09A818828C581241F +A625AB3638081DD0F00F946BE5450D38489CECEA4E66B4D85CC8AE0157E2AEE4 +A22A9313829F24D573101D84CC1784D1CED7DFAD5DD966601370C6CCBB723082 +A86BBAF0A5D867D0D2E3CA16E14E5109A29EF02649C47E12E88B3B397D65CACA +DEB9940B92100744D686066F8250FF30E5F13D81428EE238A2E4E07ACE0F5C38 +7D79D4A336D0D26AF9C2B84088ED8ECDF94A1E3FADB45AFDAB46CAD6FF950B0F +07AA2CDF82374DA76C56D29C80138841EB13F0D02ADD32F88B23E282ECC845F9 +BB9AAECE9CDC644AC2D49577A92307A83A99434F6493156DF25DBF0FCF2EC21E +8C50A312C3D19E0609C0038554CF4FEF3ACEB7A833FD54B06EF0D617C2971C89 +E4C06075B09B84A4F78A82152B9A9C540B1D881313C2C74F20ED064A9606EC2C +B56D7BB4797F1EEF4A9B13579CCF311FA4A4DFA62D80FDB7F535CC6526D1AAE5 +45C008EAF024B48C377522F74D939A475970533E645B1BFA81997549AFF26F67 +2AAE6C2EFA357DB3B525276EF330905688777057F4E4CBF584520A534A8587E5 +5A8360891E75A15205E8ADAC4A4E5A6E27D0C4A7D492216E4BC023AB027F37AF +A8DC7579BA50204D5F45A51460C5BD8A5A7F87668CA6451137F2F59E117BBE28 +5C40820882A5546FA76F0CF49F8A6EC445F0647CC3227C400F56E7E9B84A6975 +E85E243CC1666DBAFF4E07EEAF3AF71BDACB30DAEA792F2B8504CAB071544F01 +5D66243D529C479D276FE22F7E275D9E7FA9C6EECA18716B2F213916E32C1D94 +6E32397B41AC6779543218E506569E3544803BBF9B404A983EBA62A494187B30 +8D3DFA4E1237A2E5E08224A60492C09ADAD8775B7CDB830520829BA164209ACB +BCDEB2D574CEBFB7AE4BE72DF4EB1945FEF2458761AD8DCC0D378AEB7DA002C6 +9C14A665DAAA532B0ABA98D7BFB5A6151FF6703385AF7AE8FD315A492FCCDBCB +B825707F9566B3B4943A3C61C3DEFDC31A843A2D67AB06891F3E110DD8C73D3B +B5E4151B51D9F13905D7D94DB9ABBFCAF35F43B6EEE256B1A80ED6D1739D8D5E +8C767F6F0E8704C5345D028A2A6DAFD9BB7AA048B8B895FE9423A7ACE858BADD +595CB074A128DAFE08FDFFD6BDAC0114159A702FDCBF8013804B0CAEAD7AF38E +FAF086A3248AD4FCA1401A85AE2F72E3E6956DC0996FE8ADB18F89B14A208A15 +13F81AF73D0DB72F78C4DA634ADE3C73756CAE6AF2E149C26316DFD93370BE1A +FB4A79F77A67C07CB0A53C78367F21661D4AFE9E27328E077B522B50FD9AE2E3 +DA087BE481515B5DD7BF894A96A84A6C78874100505B7DDE1D22EFCE8D58B3AB +313AB5495F72E2CA4E6AE22C0CB854302B9990372F1661D9F0A517F90686F248 +C5643008B3D29F7296E5C8FD4049886662EFDD4106E17C879F5D41CE84F87E89 +F6A3117C968B95A35940CC29C43E1E0DEF51C1E46B676301F40D59615C3F73DD +DE37B72FF7105DB84227DA5241583272AB1C3CD97AE11C1EE98FFDB5E5F44844 +8FC41BEA5C54B26341AFF6830D9D0A5A2901B0653D8BD0746838194D240FF753 +E99750D3383373F453723D86BE97B571B8B84D8696089B5CFDD53E6C562A2197 +A8C4FB0CC690C27761A816B441029D3D306245052E0C41B53025D8CB7267CFE3 +C17FDFE348E765326F91AEB700CC49162DF748171214252CBC821493DD01AA20 +417D66DF47EBEFFF3E9BB2B0A2BE7D9B8C68BD570FC2EB0FA54CECC318F04C43 +19598BDE93F2F13DC7847354C99059AB20593EE51E94F9D4E9241869D605AAF4 +9D9B5FD88C3798A039A67993C5EC68B6326B132E647F67EACCA7F7AE7F718D85 +12666E90D7C73EF210E344964A38228B236679A2B18F5E081234CAA2458F8D83 +3F0CA308D19663CB12EB904076EF88E556407C33C9380A6A3D68A9EFE65387C1 +A1BCD2D26DFD2AC0881EC30E81C0A4E76C244A2BD822EE88C4A60B480D107E68 +90E419A1F512E865BA922A7830909BC2611A80931CB2E9344529586726614D94 +3AC5200FB9FF68AD9686506C5EFA8788C0AD0251AFE7F95E84683380CDB421C5 +B1A783B6D5F3A6BD1BC1C14B363DB01C87C0796DCDD5BECF41A1A9F43183CF6B +82C2AE49F0BFDC5DEF7729F2E638EE6EA9E4D059EB9BB1B992AD8C82D501A550 +1BF73CBBFE740179B54E193E84A55DCD61B343C1852780FFB44248FC9426AC94 +AA2B3FE20FBA30F6C4D1E0FF3EDCDD8C0F57CCB50CDB0EFE2E04A8927E239C1D +9B026C7929BB48461D4D695FFC766C8A0E545B1BCC2AA068D1865333108E7985 +2D93F9B00EA0A90939D0D3840D59B6CC0CE2C147B2E1A9A4F14270FE3ACF51D5 +99F7349106165AD627CBBB0ABA01ECC6D3A14C1DC1ED23A9DB9865BB4396C51A +31ECD001EAC94B33C34E29C5611148EF3E55DD61813470B8F3CE32564C749414 +3C93C77EA5A3538A0B5AE3FC4DA32813B06772E0E48E25BB39F3F6FDCC077E86 +F86FA50E18FD19EB2F37311CE87F18F3BC85CE7FD71CA92D5C3264E34E04A2E5 +70C79D99F54D6C6D9D527AE45EBB48411221134587D2253E7C8ED7658EDCA34E +5E768DD14E0200470F73C44D006CE8CB35DE1CA3EC10ADC668B0662A7774C891 +84EC95A31DD872F0728D9F65CA80940080E04630BE4DEC77A2C49E3913C39978 +BF145F8832AF2C4385EBCDB15F9D32C22CBA0CF950877717D6F1591D7C0B8047 +8C9BFCB16AF7124ED83137695F3D69228DB633053208C29E0ABA1B06A7FB3EE7 +5625CB44927E2DA6E038A6E62DEBDA2D96A03177982D8FA33BAAF4426E05F4B7 +9C1748B3FF7691F9888E7FF864A10B9DF761A41E6B5CFAD2BDD7E1C4924AC97B +F4B352705316DD1A58637CC12D71C18A5CA691AB2AA8F171590EC24582B1123E +94D4DC587D8F99E18A711776BF4013C96446BFECFEE4C809EA94B169088024DE +0CBD20199A915AA406F0BD5F3D63D1467C49B4691AEBBB35ED6624F2D7BB74BC +E80FD92B9FD04DD9C2BE9B6FD29EC7EC07FAB447511C61DD299C783BC09AE2A4 +7B3CBCA6A20C6631D06D0B2E2482A50612BB7C29B7E7D0A205EB0E8436702581 +596BC996ABD58CD8D5BAAE4B1478195CAFF98FE0141287296C4EFB8D2E7A8442 +F0A3AA9F9264329982532295A176BA1867EF732BBAC49AF485D9D0F7130F617E +7F7DEEF935874D55A22240F8EDE4F247D5F73481373A392D40A8076BD91079E1 +1CE5998BA13D48D56B49A92B4A18430E316405D2E2E391B496A1934671FF1785 +AF42BA3B2D14B8E04014437FD194455C50289DFBA61B5C377BCBDADA48E82DEE +4E70EF5E9DC03064907BCB8BE4D59DE069FB0C0CB140DA54708E630767313F9F +744594AD8A499CFEF733E640A11FD74E46A749F9C7D18D49251BF85C6EB4668D +67598C31A8F90922FEAEAD4B83B6E7184567DC798E4BA1C4C9B3461A478D63CA +054F13B502DACB674EB49D6BB935E5EC82BF99FDA7D47C581AD7F940DF4FC6FA +6C6D25D647033AC69505F0CAC58DE99087F365531A6283CB89CB644688963C3B +8B2203A94294E58739EF23C7803630A1F9121D62BE1977DE2F41687C8CAF87FE +CBD7AD3B98E0D95C8C6E1A7CCB0E09465AA874DC90A0F5DB2C5E7C130297FD39 +EFE63B0350B5139D09E6864D22C3F1150B29196E40EEF9723E71158B7ECFB8E4 +C426FEDCD439420B7F1C251FADA347C9A2C49738B5A17922E1EA93CA7B125B76 +57449EAA9C1D591CAD327D0E98EF2D44D614EE9ED49DD31ACAC0B956620B6BA5 +5BF6D08CA7541059D5ED2EF00AE2EE95488F5645BF6837D9241C0D3959B7580F +C9ECB2BCF3E65C07D52EC9CFB21C11CD4C883E44C173214C900C44D2E1E43DD1 +CE8DFE3DA93C38B548BC4EC46FF91F30CFB97525E1FD4E77686433B20BABF8D2 +848C1CDF1BCF185CFD7A81D2D4BB826E837E2AF35CFC4F419F698DB0C43E9F9C +B0FB628AC9A3CBE9B1FF4A067016E70333E78B32AB2D89C483834B31F5808FDB +77492E099F1504DABCA5722C7860CDCEDB2DDEB512FFCC7D287F4945FD711F28 +87BC3D36173566B81FC2C1290C717A09697DAC6072408E20926D39270121CE58 +3EF97CE12EDD7F87F2C8CFE36C3C0400869C0D813B71C425343EE0CDF717BDD8 +409D5297D0F8F7FDEB0257C0A391F5635E0DB1116058942FF3E7C94D5F2873A7 +A3B0ADAFC3835AF2BE474E6741319BC6695FB37F59AEE388F81F6E66F910000B +72E6BA7531B4378CEFEEDC79CCF4947BA1703823B5AB4F4AD73D9615C66C489D +99D68E49C9BF765B7FC547BAB9640D51D5A7A2396507AB5A4DFF3D14F52422CD +8FCFEAA06A56C6C7FFCD29C9A7A59DDD2A909A9363FE5F1E9629616D25ED38CB +E754C059E4379318CC491C3B1A90128693AC53F80F8210FAEA7EE638902A7D3C +82B95B3F5AE340EC1B648DBB9FB679D6E80B7F426D8671FE7136D97F51E2D2F3 +C9CE9183E4061CA40091A2A70DBB9ECBB19CE3F65ADD0FB346B54BAB182E2CD0 +EAF4C0F402C25573FB344EA771B297BEB615FCD0595172E84ED2A62FF8962634 +23C19076C2A9ECEED5135994EB397303A9619C76DC55E032DA83FBA441BD484A +59F70A5110A8927F6239A14D4E223E189A5462E4A92EAEFFA4B961A2A32B320F +C2B4E8C1821FA67A655B5042C15E4DE1FB3652B55078DB123573C4E986B19DB0 +1C5131F3DFAB271C30A5476B4A19D8FC922E31879C34BAED94C07A4841B8209C +403369FB8E842610D1EB4662B6171A4465FD0E819964F62EC5B0ADC92F08CF90 +1DE0B410FFBAD16F6D355E8AD72CCF67961EDB6CDA82398021007C2D0462E893 +75EB0710AE4A6CDD15077C9DEFC5774EF4A657734D703CE42174259B58E5277E +0DF26BF59AF8D1A3E7DC12E3C12AA4B67CF35B19962F6950C2020B698D971B35 +82FF84E72F72FBB0C54A112BADBAE6C4CAA358BDE6A705AB59332C3850CA3D25 +C7564499BC1319121CE0D93218210C68080AFF33420E3CB3A48BF9EB66BC07C8 +A79D8CD8E78C200FF7CFA3DAED0B9E87E6141C88B436D8FCBA50AC195FCBB9BC +9512B95FE3A37FFAAB39850FCEBD4D50A243EA416E73F53B4B00F3B6EAE0CA06 +0693AAE0FFD5C119D11E5D13743E28D843B0F2EE315A2ED05A510CE53A2D06A7 +0C076D4B6BC2B6A928553E7F0FD472760167DB486A777259FA74245EE37D0125 +47314DEE4B29E5D22180BDB1BDA7D33406FD340DC3991F50800BDC90F7678EF1 +1064986DDA53A77FBE2EDD38E20C41EF86CD50E8EC167344A3F3B3C3BD83CD80 +87BE64CAB701D25CFC0796C099C07882A4332A5588B9900849925FE82DFEB1B3 +306700778714A8D72AD7F55F8836D0C1E2D6761CC3499C1771035D21CF191A2A +9F424F1AAA20430004FE7917E3A6199B483D1CBABA5ECAF65287B7C389E86AF0 +CD55328B3E14C9688832B25EEAA05B69CE25CA606368FC10F30F6D04E5099566 +0F0497F4676676DDEB198758CBC2742F5F5FA5B904616A4F6DDA098FCA6837C1 +D16539998B5F787C29720DDF8A817E5AE94832178857EF7FB6DA2FA0E8BAA5C4 +62DB63EA840133874605DF90C8D027CEFBC212B9E2480DC7D4337D24F5377529 +CF1F14F3FA398C621ECC8AAB77BD1278DB82447A4B3A0784F91EB8706AD2EDEA +8EAFF674B892ED3B33DDD9BF1A5A8E002DDD34D4172E9B51F4716DDDF3E2 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +{restore}if +%%EndFont +%%BeginFont: TeXMUSIX20-Regular +%!PS-AdobeFont-1.0: TeXMUSIX20-Regular 001.000 +%%CreationDate: 01-07-25 at 04.07 +%%VMusage: 1024 35768 +% Generated by Fontographer 4.1.4 +% converted using TeXtrace 0.45 and modified by T. Uchiyama +% ADL: 701 299 0 +%%EndComments +FontDirectory/TeXMUSIX20-Regular known{/TeXMUSIX20-Regular findfont dup/UniqueID known{dup +/UniqueID get 0 eq exch/FontType get 1 eq and}{pop false}ifelse +{save true}{false}ifelse}{false}ifelse +20 dict begin +/FontInfo 16 dict dup begin +/version (001.000) readonly def +/FullName (TeXMUSIX20-Regular) readonly def +/FamilyName (TeXMUSIX20) readonly def +/Weight (Regular) readonly def +/ItalicAngle 0 def +/isFixedPitch false def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +/Notice (converted using TeXtrace 0.45 and modified by T. Uchiyama) readonly def +/em 1000 def +/ascent 701 def +/descent 299 def +end readonly def +/FontName /TeXMUSIX20-Regular def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /grave put +dup 7 /caron put +dup 8 /breve put +dup 50 /two put +dup 62 /greater put +dup 63 /question put +dup 64 /at put +dup 71 /G put +dup 132 /Dcaron put +dup 137 /Lcaron put +dup 142 /Ohungarumlaut put +dup 143 /Racute put +dup 147 /Scedilla put +dup 148 /Tcaron put +dup 196 /Adieresis put +readonly def +/PaintType 0 def +/FontType 1 def +/StrokeWidth 0 def +/FontMatrix[0.001 0 0 0.001 0 0]readonly def +%/UniqueID 0 def +/FontBBox{-619 -1659 3200 1660}readonly def +currentdict end +currentfile eexec +D9D66F633B846AB28EDC112EE8CE6C6736001234F4C7DFDC8C8014E32702D436 +0A505E30AFE960AA59313499738A089E6AEAEFDC84AEBA57A1F9AD647CCB7BE5 +B03F5F4993FB2566BC918B0AB23DB4629AC0D00174ECD9F3286839BBEA5DD0D6 +84E25152E241F0D923ADCB347B5635EE25CE26F509B8F400F2C9CFB67D676ACF +9D516193DA983A07AC65A99BDDE6D09C93F522AF18F5462F7C2C3A7CD58FB034 +810D4645AE7525C1BDF2E062C4D0BB1A115E406B09C9014323678B1FF15AC494 +A82AC85A09051539D2EBF8D4910447B1C8875854670342B6D13D727DDBA5C2FD +52AFE2107B72A73D3A8F8B0516B5D141AA315F37523CA19009A6CEAB11C23A80 +20B8C46718DBF2DBEAB3320A596C8992531F6E70A725359BD09EF9FF2C0E58DD +9EE54192A355EDB81FB6E2391CD91A9BBD4E6637ECE7F9DA1603F49FA9AEF3E7 +27075B080A569EF1014B7F2D4C3687FA1336676537B82BF4590F962C967795F7 +BF6CD740C57389AB77A273920959FE657B87F76B9403C9586FE85C957B0BFF7B +26F4AA603883E02139AC15D1360C26E332527461ABDBAA603802CAE75E08F559 +E16B2E623827BEBD40D4661A6B3D10D6C395EECC916F52F99D9D1F19DE5977BB +73C4EFAEB7FD0052E831BE175C945358083BA2C5690E0CF8B386900A4A51F60D +C8E98236B16D54A1D94E88A062E0E3D8397F5CB503F51A4F9918D3A902AC7DB3 +25B30A154EF106BF4CB8A369599B3496537F22C842825F69154DD87E05CF9ADA +B6C94188CB702F53D00BBEC8ACE69CBBFB8C11099395D7BF0D47EB3E41454D13 +AAAC4392E8C0ADCA1E87A6F844D3AD81EDD4CCDD0FBBFCEEE9C70BAC5B4D4861 +E7B9DB2F4DAD612986007DB8CDB3B5384C3C7D77A2609D2255D4098E7A314D80 +1A553DD03007696C9DA22D9E9AD132F09CDC0144E7C1BB169635A24341DE3589 +96D503CB7BC73A81FC12A743C711916CBEEEF61F7273B238B3C0DF1AF4B190B7 +C820DD8F5FDAF73872074E1C95F4A4B7E1B5DED436C03D1020B9FE9F780FF2C5 +920C97B1584B7E0051107EE7789BFAB0B13F32AD2DC01DB5120BFD6B5FA8E386 +EE743D10E6A9E858979543882C19ABB36FE278EAD1304E84DF80E8CF87A994DE +0DAFBB95D391F35C8E312D1D85D21F65EC814C7A4E15D034D9F6EAFEA8697AC7 +18C065A32EF7393D5EA0A0A1910348C683507572C4EF09A3879385A9055D07BE +DF7DF76E709173D893BF15C3BEDE13E98CAC3B558464896E706D9DA2C2E427F8 +BB46F767E7C2DCC7AFA57B2261E3B4B77FF536077142568FCF854F6CD0AA2490 +6F60E10477ADF31469FCC61F2996FEA16931CC25BB0C4EE70CAB7CD0E1694597 +7CF7FFCA2E0F91E203D0F0E1063DC1E35790F64B33FCD10C4E1A8D7198EB1595 +8C98B634DC773FA0C6319B6C61747FE81F28BFA16DA0FA70684F64B94C7E5F96 +A49F076C0C62981CCF3C97EA36EB5128796E46CB0AF47EBABF3371814C699A52 +42A6269BC520E108F4CCCE71F6C94548B08649B5272791B118E05E6BF3241193 +F6FD1FE927709EE5DFCCA5CE89A74C4A4F6DC13CF002AA597C532DD7C0CC273D +4935FB1315D9EBBFC89DE29080C0AC38FC238208E2CB9B8C564D794FDAA23AC4 +FA5366E2B5E60844067070494551C880665E8C5975AA902C9C8F599493D79296 +72EAC804E83F04F9397811C3DCA6F6ED7B6C192C157CA7E3861EF7E3BBECAC86 +36869747A8973B9FF766C48EF90CB4718568140CBEB62BF9146BF03DB79F147B +A8DB97795AA6AC93836B51EC6305E153F94B7B126193917240ECA0FB6E2ED351 +855CA26732C374BFEF6F3E76F924931C0A541A75778D25A8AA8866193B8CC374 +7EA02973E078BD26167522FD825BE43D0571AB84233E89570472CA8F63717D9C +C9EF12E4FFDB96DC6030A9621D47CAD9FF7839F27536BDFB8C7B86F6F9C83FCC +9C7EBBCEBB88C29AED0C9F91E3F34D8BF8CB228392755572E4DDAE3F2878DB94 +9281A8093A41909E7289AE46B7E03439AF11892C85DDB0DFB1FFD40AA222D25A +DDF1928CBB888F0C20240E9E8358C3109D227EA1DC398C1015B135582508844D +7CE0FE9BF7C50360F65D51CF02ABB27BB712EBE9B62757302393F87677529A0D +EC03CB1A41BBCA9528513945C0CA86B2748153FF784ECD49E98303AEDE5A6C48 +06CDA5D387964465D355B8705F65BED45E43E07A78BEC52C0B5CA756E10ED962 +807280F2241A5B322511285341C5B4D0F5FEF23C3682F2179E80BBA95F60FC3A +54EA474CAE96C037AE11F2D0AB38EC2280F4650908F0DDD78DDA83C237AFAA86 +E505F5CF933CD72BF3E423E65E5A3C3506E063B178116DAFC867507BAF6D903D +C2E2EF39EB10A6E5B84D4C84E063137E0A15ABF83C2C2A27FD44668F67843CBC +80A482DEBA35B87D1F7E9E3BA44CC7E112ACFFA2833A2CF10EE6074747E3AFD6 +7D81B95EC4585F9BCEDFE9E2C6DA99C4FD7291B095B472421157C7F282D502D6 +86865E7A1F4DC90E64091EE2EE330525C2B4242175451BBDB7F2743D6CFC0C8F +EE305BAB301056BE04FE6E4413835211BEC90FB61580A5817DA13E7782F126FC +1D0920A671D93294B2759956CF0AE8FD3C81C7B736816B36910C5A0A3B4B17CA +7963D89CF311980A11AADE264D5A3D728A24E598B55319258E404CDA76F61F09 +C8A9EADB68EBDDE492E86062449C494FCC80E0DA6319A6BE57F1959106763A52 +9A33C2BDF0AF6C62C66747EF270EDCFF0E0C4CEE04E96A3D153C32CF19ACA947 +DF6CBA6440DE60562CE5E0D2C4AA9E3574BB5D3E04AFD823C8923E151515FB8E +D1A2F9CDC73B6F3FE5BC8998311194FFD1D432F9EC71EDD674E57C0AB26EF8AC +9F110243CC251AE3C0B29084654C73E10915970F60BA98F915B664C4738046CE +4CDF306D4DB9DE2E031239DBCAF12EB6C77DDEBDFB8D8C9CF4E895A56DDBB321 +4E61CD61F8ED63451E4164A9AA939ADE975C8044C4B8D0D88CC8C44E4B9CC218 +37342CA40584DD196ACEFAB11E4B831217BC528D15A7880976551127E0020F6B +1CC031CFB13EE91C91B3624FC794BA6FB2D914A2F54098770D99675E5EED68BD +394B29D02999AF28FB8BCBF358C149519824AAD9D3F71923C217F6B87D60D24F +435BC63C5A0646344D41B16FE9BDF9BCE630A9F7DE51C5DF31E16DEEAB58D7F8 +D0503C61F11B851B35E00DBD21C85CCC6C44F17C798E1CDCA3486502BD7EB3E0 +EE79734B6E041FFF7546386350F566AD2A72F367E6043789FD68271B170AB36D +88857AD9CF20980B148F6080DB98A12466D2130BA37C1588947145515BD2124B +C01CD2CD28281C172CC1E5F1A308934B95DE6C65C6E96F276FC34D2889EF4987 +7A27B527B1869FAED89A129F5643DAAF0B56EFEB55236F60B38BF8938BD35B88 +CCCE3541FE827DB6B215E47107A1745424928274583A516F5688C3295A611BEC +3ACB24638EF27CD1A2F5E6D87C9D2158A4EBFD9359D46E3C0A1931F77A9DE27E +7C3FD9D0C0217C05F9179560A1AC70F73E4D8F55FFF65E6EA9F6636935E9C24B +5B44E620E893C58DFD4A9C01458254B6FB5077D94F5269B7B7359E3C6EEE09BC +8745C74CC4DF38C1FE2A6F57C5F7B2150A8D4C24823A305E11457B94EF7E60A6 +22388A7FBE92AB2CE376 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark{restore}if +%%EndFont +TeXDict begin 40258431 52099146 1000 600 600 (tremxmpl4.dvi) +@start /Fa 136[60 44 46 32 33 33 44 1[42 46 69 23 2[23 +46 42 25 37 46 37 1[42 49[42 47[{}20 83.022 /CMR10 rf +/Fb 203[67 52[{}1 119.552 /CMBX12 rf /Fc 59[266 47[66 +33 3[133 66 4[133 4[266 60[133 6[0 0 0 11[50 41[0 0 6[0{}15 +166.044 /TeXMUSIX20-Regular rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: Letter +letter +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop -214 -117 2989 4 v -214 -76 V -214 +-34 V -214 7 V -214 49 V -214 5 a Fc(G)-51 -39 y Fb(4)-51 +44 y(4)166 151 y Fa(whole)27 b(note)g(default)p 214 26 +4 227 v 167 26 a Fc(\010)215 -130 y(\204)261 -132 y(\204)215 +-161 y(\204)261 -163 y(\204)215 -192 y(\204)261 -194 +y(\204)p 525 -15 4 201 v 478 -15 a(\010)p 837 26 4 227 +v 790 26 a(\010)838 -130 y(\204)884 -132 y(\204)838 -161 +y(\204)884 -163 y(\204)838 -192 y(\204)884 -194 y(\204)p +1148 -15 4 201 v 1101 -15 a(\010)p 1412 49 4 168 v 1525 +151 a Fa(whole)h(note)f(fast)p 1574 26 4 196 v 1527 26 +a Fc(\010)1575 -130 y(\204)1621 -132 y(\204)1575 -161 +y(\204)1621 -163 y(\204)p 1885 -15 4 170 v 1838 -15 a(\010)p +2197 26 4 196 v 2150 26 a(\010)2198 -130 y(\204)2244 +-132 y(\204)2198 -161 y(\204)2244 -163 y(\204)p 2508 +-15 4 170 v 2461 -15 a(\010)p 2772 49 4 168 v -214 363 +2989 4 v -214 405 V -214 446 V -214 488 V -214 529 V +-214 486 a(G)58 694 y Fa(dotted)h(half)g(w/)f(mo)n(v)n(ed)g(c)n(hordal) +f(dots)9 528 y Fc(2)108 507 y(\010\000)p 46 571 75 4 +v 59 569 a(\010)108 590 y(\000)p 107 569 4 248 v 60 528 +a(\010)108 548 y(\000)108 393 y(\304)267 401 y(\304)108 +362 y(\304)267 370 y(\304)108 331 y(\304)267 339 y(\304)p +471 571 75 4 v 471 612 V 531 610 4 268 v 484 610 a(\010)484 +590 y(\000)908 528 y(>)p 1256 529 4 168 v 1382 631 a +Fa(half)h(note)h(default)p 1430 507 4 227 v 1383 507 +a Fc(\010)1431 351 y(\204)1513 347 y(\204)1431 320 y(\204)1513 +316 y(\204)1431 289 y(\204)1513 285 y(\204)p 1777 465 +4 203 v 1730 465 a(\010)2077 631 y Fa(half)f(note)h(fast)p +2125 507 4 196 v 2078 507 a Fc(\010)2126 351 y(\204)2208 +347 y(\204)2126 320 y(\204)2208 316 y(\204)p 2472 465 +4 172 v 2425 465 a(\010)p 2772 529 4 168 v -214 807 2989 +4 v -214 849 V -214 890 V -214 932 V -214 973 V -214 +930 a(G)20 1159 y Fa(quarter)20 1076 y(dotted)p 68 951 +4 175 v 21 951 a Fc(\007\000)103 847 y(\211)-127 b(\211)103 +816 y(\211)g(\211)103 785 y(\211)109 784 y(\211)p 275 +910 4 153 v 228 910 a(\007\000)434 972 y(?)603 1159 y +Fa(default)603 1076 y(quarter)p 652 951 4 150 v 605 951 +a Fc(\007)686 868 y(\216)721 863 y(\216)686 837 y(\216)721 +832 y(\216)686 806 y(\216)721 801 y(\216)p 821 910 4 +134 v 774 910 a(\007)942 972 y(>)p 1181 973 4 168 v 1269 +1159 a Fa(fast)1269 1076 y(quarter)p 1317 951 4 131 v +1270 951 a Fc(\007)1352 858 y(\216)1386 853 y(\216)1352 +827 y(\216)1386 821 y(\216)p 1486 910 4 116 v 1439 910 +a(\007)1607 1159 y Fa(eigh)n(th)1607 1076 y(dotted)p +1655 951 4 165 v 1608 951 a Fc(\007\000)1690 854 y(\216)1701 +852 y(\216)1690 822 y(\216)1701 821 y(\216)1656 795 y(\217)1671 +793 y(\217)p 1801 910 4 145 v 1754 910 a(\007\000)1899 +972 y(@)2018 1159 y Fa(default)2018 1076 y(eigh)n(th)p +2067 951 4 165 v 2020 951 a Fc(\007)2101 851 y(\223)2119 +848 y(\223)2101 820 y(\223)2119 817 y(\223)2068 795 y(\224)2121 +785 y(\224)p 2186 910 4 147 v 2139 910 a(\007)2257 972 +y(>)2496 1159 y Fa(fast)2496 1076 y(eigh)n(th)p 2544 +951 4 144 v 2497 951 a Fc(\007)2579 841 y(\223)2597 838 +y(\223)2545 816 y(\224)2599 805 y(\224)p 2663 910 4 127 +v 2616 910 a(\007)p 2734 973 4 168 v 2750 973 25 168 +v eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/Master/texmf-dist/doc/man/man1/pmxab.man1.pdf b/Master/texmf-dist/doc/man/man1/pmxab.man1.pdf index f2c345f37d2..392d0b5abeb 100644 Binary files a/Master/texmf-dist/doc/man/man1/pmxab.man1.pdf and b/Master/texmf-dist/doc/man/man1/pmxab.man1.pdf differ diff --git a/Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf b/Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf index d58a2df2fdd..0d38918fbf0 100644 Binary files a/Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf and b/Master/texmf-dist/doc/man/man1/scor2prt.man1.pdf differ diff --git a/Master/texmf-dist/scripts/pmx/pmx2pdf.lua b/Master/texmf-dist/scripts/pmx/pmx2pdf.lua deleted file mode 100755 index 41cff58cc7f..00000000000 --- a/Master/texmf-dist/scripts/pmx/pmx2pdf.lua +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env texlua - -print ("The pmx2pdf[.lua] script has been retired; please switch") -print ("to the musixtex script, which now processes .pmx files.") - diff --git a/Master/texmf-dist/tex/generic/pmx/pmx.tex b/Master/texmf-dist/tex/generic/pmx/pmx.tex index 36fd8d23871..3576f581cf6 100644 --- a/Master/texmf-dist/tex/generic/pmx/pmx.tex +++ b/Master/texmf-dist/tex/generic/pmx/pmx.tex @@ -4,7 +4,8 @@ %% %% %%%%%%%%%%%%%%%%%%%%%%% \ifx\pmxversion\undefined\else\endinput\fi -\def\pmxversion{2.80}\def\pmxdate{15 Mar 17} +\def\pmxversion{2.94}\def\pmxdate{23 Jan 20} +% 2.94 add def'ns of \hbp, \hbpp % 2.80 add def'n of \slx, real stemlength % 2.73 4 Feb 16 Fix \pmxclefsym to include \smalltreblelowoct % 2.73 Added \pmxlyr command. @@ -765,8 +766,10 @@ depth \h@lf\pcil width \razclef\kern-\h@lf\razclef\kern-\h@lf\pcil\kern-.1pt % 160103 back to 3 args % \def\mbgap{\qsk\hqsk}% +\def\mbrhgt{9}% \def\mbrest#1#2#3{% -\CenterBar{\ccn{9}{\meterfont#1}}{#2}{#3}% +%\CenterBar{\ccn{9}{\meterfont#1}}{#2}{#3}% +\CenterBar{\ccn{\mbrhgt}{\meterfont#1}}{#2}{#3}% \CenterBar{% \ifcase #1% \relax% @@ -850,7 +853,17 @@ depth \h@lf\pcil width \razclef\kern-\h@lf\razclef\kern-\h@lf\pcil\kern-.1pt % \def\lk{\lyrlink}% \def\at#1{\lyrraisehere{#1\internote}}% - +% +% 190526 Items for short line enhancements +% +\let\wbnt\writebarno +\def\nobarno{\gdef\writebarno{\global\let\writebarno\wbnt}} +% +% 200123 Open headed dotted chord notes +% +\def\hbp{\h@symbol\@qbp}% +\def\hbpp{\h@symbol\@qbpp}% +% \catcode`\@=\catcodeat \endinput diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 7ddcd9c2f2f..748119d799b 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -1428,6 +1428,7 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`); 'pictex' => '&PREHOOK_pictex', 'pkuthss' => '&PREHOOK_flatten1', 'plex-otf' => '&PREHOOK_flatten1', + 'pmx' => '&PREHOOK_pmx', 'prosper' => '&PREHOOK_prosper', 'skb' => '&PREHOOK_flatten1', 'suftesi' => '&PREHOOK_suftesi', @@ -5661,6 +5662,12 @@ sub PREHOOK_pictex { &SYSTEM ("$RM -rf addon/autoarea*"); } +sub PREHOOK_pmx { + print "PREHOOK_$package - rm prebuilt binaries, up one level\n"; + &SYSTEM ("$RM -rf OSX Windows* source"); + &SYSTEM ("$MV doc/* tex/* ."); +} + sub PREHOOK_prosper { print "PREHOOK_$package - handle image conflicts\n"; # some files different between img/ and contrib/img; prefer @@ -6877,10 +6884,16 @@ sub POST_do_man { } sub POST_preserve_bin { - # the pmx package includes binaries made from Build, and normal - # scripts and support files. The latter can get updated without - # needing to update the former, so we support it. Which means + # the pmx package, among others, includes binaries made from Build, + # and normal scripts and support files. The latter can get updated + # without needing to update the former, so we support it. Which means # preserving the binaries from the Build. + # + # The ctan2tds output will look weird since all the binaries will show + # up as new files, since they are in . subpackages. And + # thus the svn run will get errors that they can't be added, also. But + # since they don't actually need to be committed (that is the whole + # point of preserving them), no harm done. my (@binaries) = @_; chomp (my @platforms = `cd $Master/bin && ls`); for my $p (@platforms) { -- cgit v1.2.3