1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
|
%% LaTeX2e file `eps/kslurtweaks.eps'
%% generated by the `filecontents' environment
%% from source `pmxccn' on 2011/07/14.
%%
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: dvips(k) 5.90a Copyright 2002 Radical Eye Software
%%Title: kslurtweaks.dvi
%%CreationDate: Wed Jan 21 14:00:21 2004
%%Pages: 1
%%PageOrder: Ascend
%%BoundingBox: 28 736 440 782
%%DocumentFonts: TeXMUSIX16-Regular CMTT10
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: C:\MIKTEX\TEXMF\MIKTEX\BIN\DVIPS.EXE kslurtweaks.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource: TeX output 2004.01.21:1400
%%BeginProcSet: texc.pro
%!
/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/IE 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 IE 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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/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/IE 256 array N 2 string 0 1 255{IE S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/v{/Ry X
/Rx X V}B/V{}B/RV 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
% This file can be used instead of psslurs.pro, it is only commented
% and indented.
%
% VERSION: 1.0
%
% 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:
% standa@hiero.cz
% 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)
/GD { dup length 2 sub 0 exch getinterval cvr 1.045 mul} def
% get dimen adjusted to Resolution
/GDAR { dup length 2 sub 0 exch getinterval cvr 4 AR mul 1.045 mul} def
% Adjust to Resolution
/AR { 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
/AR { 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 {
AR /maxe ED
/ifadjust ED
/ifdash ED
AR /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 AR 2 mul def % b=2*sqrt(x2)
b 3 AR lt {/b 3 AR 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 AR def
linew 4 mul setlinewidth
1 setlinecap
0 setlinejoin
ifdash 1 eq
{ [internote 8 mul AR internote 5 mul AR] 0 setdash } if
x1 y1 shift neg 2 mul internote mul 4 AR mul add translate
s rotate
% [1 sx 0 1 0 0] concat
% uncomment this to see the control points
% 5 AR 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 AR gt {
3 VS
drawseg
} if
x2 50 AR gt {
-4 VS
drawseg
} if
x2 80 AR 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 AR ceiling setlinewidth % line thickness: this results
1 setlinecap % to exactly 2 pixels in 300 dpi
1 setlinejoin
x2 y2 10 AR add moveto % the 10's specify wideness of the
x1 y1 lineto % open end of the crescendo,
x2 y2 10 AR sub lineto % similarly the 11's below
stroke
grestore
} def
% half crescendos
/DHC {
/y2 ED
/x2 ED
/y1 ED
/x1 ED
gsave
1 AR ceiling setlinewidth
1 setlinecap
1 setlinejoin
x2 y2 11 AR add moveto
x1 y1 4 AR add lineto stroke
x1 y1 4 AR sub moveto
x2 y2 11 AR sub lineto
stroke
grestore
} def
% differenced line
/DLN {
gsave
GDAR ceiling setlinewidth
GDAR exch GDAR neg rlineto
stroke
grestore
} def
% sloped line
/DSLN {
gsave
GDAR ceiling setlinewidth
GDAR exch 1.125 mul neg rotate 0 rlineto
stroke
grestore
} def
% free line (init & terminate)
/DFLN {
gsave
GDAR ceiling setlinewidth
CP moveto
lineto
stroke
grestore
} def
end
%%EndProcSet
%%BeginProcSet: texps.pro
%!
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]/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[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
%!
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/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/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: CMTT10
%!PS-AdobeFont-1.1: CMTT10 1.00B
%%CreationDate: 1992 Apr 26 10:42:42
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 43 /plus put
dup 45 /hyphen put
dup 65 /A put
dup 112 /p put
dup 115 /s put
dup 116 /t put
readonly def
/FontBBox{-4 -235 731 800}readonly def
/UniqueID 5000832 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
BA304FA879392EE0BCC1A6ADAB001EDF5C9D6FE45735098A304A8BD4A0AC9980
7FFE62FEAD3843EF8C45E1203E303D028897CFE1D4D0AB8BBA74CE279275A67E
81AEA417A3E49397386B7304DC9247290A5CE2408114441EDD82F9B3A8E49C4D
D9745142652BE8B82C2A9610B26EA1A71212CE97781A06B58C3DDD9179016AB6
740166FF986AE856AFDD2D8955D95B2D0C57BC179F1D9136BEFBB6F17E8DE96E
921502FB19F0C21F0A491F951D83972DECD70AA8987112F05C939A6FB073A5EA
495069A1DDF11DC589D2E91C1514C2799C5B954EB8B347918C4920C7142A2AC6
8231DD2AF57E9540C46BDA6AAC09689487F5E0EB021CADA860FD25B2E5230259
7BFF0F12D7DF5CE219716715073177028CE276FC313D6A101898D1A6BB0AD8D5
662A85EE6B921A72E46589CC08EA87EECFDF36B819B07306C44AC3FBCD134930
4B2F9EC4D5C57518E8210FC2C61DA3FD185CFA65DF3DB858BCF75E95321A7131
547E0C854068826FAB1D8A48A3708F6B3AA1DE3502DDFE91A553D31ACB26D732
FD54BD83E3C485032A061769D33F2D8BD8AF3E5EB9BC7BE18F5EB7A440C673D6
25151DBC12F033A1D5D20EBF8530E7129D0A90AD3EA1E185EB58B12472AF22F9
8DC999EED472B2C2B85B60A09D6A2D42E04AD651074A7FB8EEAD846888F72410
59A99B49ACFC71131694C405F36C8F710B467AB3742C6EE007FE240976397D06
E1E409013769EC79E2F70C1A9B84991F3AAE219469E3F323439BF51726A76F60
DC410D411CDA75C4C5C7864FA957AAFEEA79FEC8CF95A53326E328A8F446C415
10A842D5DFFA8223B034B62B80D1A97EEE66B66D5AFBEC3756D16624CF69F000
D16A16263208FCA1816E1725F39215694896C69BC40880EFCEB8D91A7661AD81
34E3C94FE80AA65A15DD9590EF6C9215C9A7DAD7089EB18A1237C8F7668BFC49
B501F92448D40AE0E32BD0C50C3D1702B8CD0BCCA7B2B9FB10B3E2CDBE929DEB
046B25CC240633555939B92866D85D32E65646505D2EC2B808540C394E83DCDA
A63A3DAC44B04F8F6690D88A88E7081F16183B7BE92EA21C1DB6DC5C6BFAD8F9
63847F23B2B2093E4132A805805DA3D9397DBB13753E6C213C2DA837BD95825B
4598AE0187BB989818A1ADB46FB8767132B26DA53E19A26FEEE283140A706552
51AA8E6174027559A2BACEDF0ACE336DC970EA47012C61928851CF8D6FA15E25
751F47D61E2A685A03B2906517A69C5141256068A434203194AD1A517B752769
51F6FE414C9D258B59E711ADDAC0745888459C6433A5E6FEF5E4AAF3A4BC7DDD
538367A784CDB89884E999F6490E4221D68110617BFEB5C7A64E0883210572C1
8E5508D6AE0E71AB667F2CA305C7E36CAADF58E9A09105601DEE9383B517032A
2047E118D1CD12575183BB15312BA00015295BEBDCF9F784DF1FE8007C2EC8F4
9C67A5AAAF5A5A69776B16ED355C148979AA14CD54FB148BD83C2275911140A2
8EE3FAE0CB79E646E93D6838AE78BEF22FE7CDE47DA249355E5F32B0630C2DF8
5C6FEDA555A5BB66122CC85834FDC321910D0CBB8F01BC63D3AA04301E5F7863
D832DD8B487F7ACEDB3963E4833FF01CB050277E6C886EC662E67145B093097A
55E985300C0C0C1F0EC98AB952DAD4A28A4B0360CC90CECAD32CB4A860EA29FA
FC89A882E1C53C1689C4F1A4DC57EB60424F8061674E17D71D4699CC1C7EE260
31F1C9F91A93EBFD8FF9735417DF74C77C2A8172496822EA01B19D1AFCFDF221
94C6EC434891E4DB92273E98F7AC34973562DA44C173D71D4360FD8AE4F8F8CB
3EBFD33C1F88BD3FE9F55B4DBAAA3BF773C445F0F9C3CB3B8317BACB6B9811EA
5E4DD378C4C4D14AD6EF48EF3DC3AF592AAE166BA5DD14375F74EFD6E6E236D4
7D75796A0CAD634A01D870EF84FE2CD9B413591F416213B1F206112705C2354B
9BA8011D690425411FC95B74C899A0D62C67F01268B40102ED3B658817CD48B4
71DF134518EBB1AC4C5AB908E5E64591666BA590C6706D50CFF819A1A23FEB93
101D3CED755A218BF267B1510FFE56911B87B64B3EFEC72E596D629DB374FB7D
941F10A22EEF8B3921C752C921D45A519320C527B029058744039F662C2C964D
D1B71B6422EA8E52F4EDEC2600034FB9C8E4F8FB1589888FBB41B4FB05E6CC3E
A15C0BF97523CFC931F659E6401186EF99C72775639D2EF0646D21F00A3E9A08
2B1746A81A54849AB307EC144D8F5DD090E0CE5287BFC9196B82AE81B849F007
ACC36B326FD8736BD05756149E08A7BE9AF87E1138C0CE
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: TeXMUSIX16-Regular
%!PS-AdobeFont-1.0: TeXMUSIX16-Regular 001.000
%%CreationDate: 01-07-25 at 04.07
%%VMusage: 1024 36138
% Generated by Fontographer 4.1.4
% converted using TeXtrace 0.45 and modified by T. Uchiyama
% ADL: 701 299 0
%%EndComments
FontDirectory/TeXMUSIX16-Regular known{/TeXMUSIX16-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 (TeXMUSIX16-Regular) readonly def
/FamilyName (TeXMUSIX16) 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 /TeXMUSIX16-Regular def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 7 /caron put
dup 71 /G 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{-620 -2059 4000 2062}readonly def
currentdict end
currentfile eexec
D9D66F633B846AB28EDC112EE8CE6C6736001234F4C7DFDC8C8014E32702D436
0A505E30AFE960AA59313499738A089E6AEAEFDC84AEBA57A1F9AD647CCB7BE5
B03F5F4993FB2566BC918B0AB23DB4629AC0D00174ECD9F3286839BBEA5DD0D6
84E25152E241F0D923ADCB347B5635EE25CE26F509B8F400F2C9CFB67D676ACF
9D516193DA983A07AC65A99BDDE6D09C93F522AF18F5462F7C2C3A7CD58FB034
810D4645AE7525C1BDF2E062C4D0BB1A115E406B09C9014323678B1FF15AC494
A82AC85A09051539D2EBF8D4910447B1C8875854670342B6D13D727DDBA5C2FD
52AFE2107B72A73D3A8F8B0516B5D141AA315F37523CA19009A6CEAB11C23A80
20B8C46718DBF2DBEAB3320A596C8992531F6E70A725359BD09EF9FF2C0E58DD
9EE54192A355EDB81FB6E2391CD91A9BBD4E6637ECE457AD4294FDF137DF3CF8
2A268AA6A26AC11CE99D5C1346290B6858A05C80699EA47DA7EC1256A161ABB5
E1F5110BF11EB22B883A7642AD41BD614AC33327503EF4CDF29ECBF52E2AE341
C5B1ACBE202DA6B5251FC2B7285AAA3035DAA61FDF68905D1A2BD55C4F9757C8
577AEE888E92ACD515DE60A4EA2EA395F9763401BCC6E169CEE5A51A11E11AF1
AE7B20319472690FF356A308F9FCC098A42EF3831CDDAC5F57D2C2AD90DD52D8
696CBF55852192941AFDBD4D3D3D7155EABCF5657BC3BB8B324E318F9CAFC95A
F2E22078C4327781B443A4C37D0D60DFBD242921196B956F8B74CFAE2B6F87C0
1828EB6FEB36F8EBE3D934746CFEF1ABE31A8DAED4DB5BB506C05DB836132B1D
DA0218A6BFF476ACC9678E9D3E42780B8102B160541093CC375B1064FAD0A341
CF768ABDC43E007DD86CC1DCA6C78B003A6B311D40A5CECFBF6FCB87ACE53B03
2B9C0B4749E37D20F20DC8ADF66FE2CB47B5D467D56929A551B8808935F08F64
7E809B6529752460DA6B95BBDE9D3B27F0D3D6459B5D9116FAF8DA634266EA8C
8D4ADAC936719165AC1FF8F441690E196B992B70F6BA09781F4BC06848F7FAD1
79A2BF9BA6CB5818D72CDD90E52DD0A4463AF471D22E778978C89FDC6665E5C7
CE1B0AEC997C573FE481576046A12414B50E34A2A2E3C788ED4CDB3D1AAC8ABB
4205FDFF84F6B1279B7674E8DE6DCE1063C9E4118FF05C936431122E61073092
C7AB9D34C66D72A19D11C4EB4BD4C9FD60F8F43521251AA3CA90AD4517664D23
9AC96DF4437EF5A80E21CB1FB19864CB2192C1B81BDD87430EA6CC8D6FE62BE6
F8E20537303758CCE2376A77730BDBAB081CD511D6D06F5E742B2927C4EA5BB6
0391730CCC3278B317A8CB5D0CD45BC04BCB150B362E881CEE82E2CFD4947AE7
3A5BAF3E12C8A8DA92F59FFFD620DE6C6B87B0245356A739F625850F79AB4AF5
555250A4E5A4891292D123DFFE3400DF051A52DC6F27D806BA9F2882486E1A9B
B5615D339AFEAB59F2B5B04AD39BFE9962113C997AE10D24AA640488D296E8F3
EE0A0C61579ED6AA1D1CBF98B697C08E13C2B3955C331313703D188FD8B4EE58
D2196051B0CBA1B8A71EA5512C7609DDA22B40B82FC8E3201A934BBA2139681C
494C7F2FD7EAD77E93527E9F9FA3F65BF20C30DEE4E79FA76722407C90124C4B
CB4403FCBA22C2EEA16BAA1DC19C5BD97B5B1DC5D5D56F30739893BFE0D40A2C
C1BDDFC6EC833B9AD95DB241A59D9726CCEFF77072DA19B7B02BF40F24B2A86A
357A5C439130895AD4E535BE21C7BB7740E3CA522A9DFB02F73771484A59F9F1
E7591CED1AF1591FEE7BCBC86F516C7BA141441FF79A7CEF77F49C5C4D17ED6D
F3ADC427AFB049BF60AD6788ED2C786ED2275AEE20A36EE4C77CA3B2AF407D8B
B4651DC2DCC0528275D4500AED080D85E17CC9E05EF487D6F378B58AE53D96D5
5930BFEA7766A734C7082ED09958E703F74607D7819AE8AD9C35E0199E997C41
8759B0DC00D855A46B4836C488EA54DE8957686649506D0FF3885716963404F3
16ECC18897582CDBDAED6F81220C52D028CB3185A5FFAF3EE4B5514355FE060E
AC14244C421456BB3E06591DEEB9DCDC135C6D
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark{restore}if
%%EndFont
TeXDict begin 39158280 55380996 1000 600 600 (kslurtweaks.dvi)
@start /Fa 139[44 44 2[44 46[44 19[44 1[44 43[{}6 83.022
/CMTT10 rf /Fb 184[106 63[0 7[{}2 132.835 /TeXMUSIX16-Regular
rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4
end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop -364 -35 3413 4 v -364 -2 V -364
31 V -364 64 V -364 98 V -364 63 a Fb(G)-160 73 y
slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (2.79999pt) GD N /S0brk
S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir
-1 N /S0dash 0 N /S0adj 0 N end
-160
73 a -183 262 a Fa(Ap-s)p -145 46 4 117 v -183 46 a Fb(\007)10
29 y
slur@Dict begin (2.0pt) GD S0hgt (8.0pt) GD 1.6 (2.0pt) GD M S0dir
M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1 S0dir M 0.17 40 S0dash
S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def
10 29 a 10 29 a
end
10 29 a 29 29 4 117 v -19 w Fb(\007)p
164 98 4 135 v 252 3 a
slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (11.20001pt) GD N /S0brk
S0hgt (2.0pt) GD 1 1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir
1 N /S0dash 0 N /S0adj 0 N end
252 3 a 229 146 4 117 v 230 29
a Fb(\007)422 13 y
slur@Dict begin (2.0pt) GD S0hgt (10.0pt) GD 1.6 (2.0pt) GD M S0dir
M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1 S0dir M 0.17 40 S0dash
S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def
422 13 a 422 13 a
end
422 13 a 402 129
4 117 v -19 w Fb(\007)p 576 98 4 135 v 663 73 a
slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (2.79999pt) GD N /S0brk
S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir
-1 N /S0dash 0 N /S0adj 1 N end
663 73
a 640 262 a Fa(Ap+s)p 678 46 4 117 v 640 46 a Fb(\007)834
29 y
slur@Dict begin (2.0pt) GD S0hgt (8.0pt) GD 1.6 (2.0pt) GD M S0dir
M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1 S0dir M 0.17 40 S0dash
S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def
834 29 a 834 29 a
end
834 29 a 852 29 4 117 v -20 w
Fb(\007)p 987 98 4 135 v 1075 3 a
slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (11.20001pt) GD N /S0brk
S0hgt (2.0pt) GD 1 1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir
1 N /S0dash 0 N /S0adj 1 N end
1075 3 a 1052 146 4
117 v 1053 29 a Fb(\007)1245 13 y
slur@Dict begin (2.0pt) GD S0hgt (10.0pt) GD 1.6 (2.0pt) GD M S0dir
M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1 S0dir M 0.17 40 S0dash
S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def
1245 13 a 1245 13 a
end
1245 13 a 1225 129 4 117 v -19 w Fb(\007)p 1399 98 4
135 v 1507 68 a
slur@Dict begin /S-1alt (20.0pt) GDAR N CP /T0y1 ED /T0x1 ED /T0hgt
(3.4pt) GD N /T0dir -1 N /T0dash 0 N /T0adj 0 N end
1507 68 a 1463 262 a Fa(Ap-t)p 1502 46
4 117 v 1464 46 a Fb(\007)1642 96 y
slur@Dict begin (2.0pt) GD T0hgt DP T0x1 T0y1 CP P T0y1 0.7 T0dir
M 0.14 30 T0dash T0adj 40 DS end
1642 96 a 1675 46
4 117 v 1637 46 a Fb(\007)p 1810 98 4 135 v 1918 8 a
slur@Dict begin /S1alt (20.0pt) GDAR N CP /T0y1 ED /T0x1 ED /T0hgt
(10.6pt) GD N /T0dir 1 N /T0dash 0 N /T0adj 0 N end
1918 8 a 1875 146 4 117 v 1876 29 a Fb(\007)2053 96 y
slur@Dict begin (2.0pt) GD T0hgt DP T0x1 T0y1 CP P T0y1 0.7 T0dir
M 0.14 30 T0dash T0adj 40 DS end
2053 96 a 2048 146 4 117 v 2049 29 a Fb(\007)p 2222 98
4 135 v 2330 68 a
slur@Dict begin /S-1alt (20.0pt) GDAR N CP /T0y1 ED /T0x1 ED /T0hgt
(3.4pt) GD N /T0dir -1 N /T0dash 0 N /T0adj 1 N end
2330 68 a 2287 262 a Fa(Ap+t)p 2325
46 4 117 v 2287 46 a Fb(\007)2465 96 y
slur@Dict begin (2.0pt) GD T0hgt DP T0x1 T0y1 CP P T0y1 0.7 T0dir
M 0.14 30 T0dash T0adj 40 DS end
2465 96 a 2498
46 4 117 v 2460 46 a Fb(\007)p 2634 98 4 135 v 2741 8
a
slur@Dict begin /S1alt (20.0pt) GDAR N CP /T0y1 ED /T0x1 ED /T0hgt
(10.6pt) GD N /T0dir 1 N /T0dash 0 N /T0adj 1 N end
2741 8 a 2698 146 4 117 v 2699 29 a Fb(\007)2877 96
y
slur@Dict begin (2.0pt) GD T0hgt DP T0x1 T0y1 CP P T0y1 0.7 T0dir
M 0.14 30 T0dash T0adj 40 DS end
2877 96 a 2872 146 4 117 v 2873 29 a Fb(\007)p 3045
98 4 135 v 3048 262 a
slur@Dict begin /pss@rega 0 N /psc@rega 0 N /pst@rega 0 N end
3048 262 a eop end
%%Trailer
userdict /end-hook known{end-hook}if
%%EOF
|