?? preface.ps
字號:
/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def} def/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def/NAngle yyB yyA sub xxB xxA sub Atan def } def/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomarkVPosEnd } def/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvxdef grestore exec /LPutVar /SaveLPutVar load def } def/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add defGetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {LPutVar VPutLine } def LPutVar } def/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop popend } def/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA subAtan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos {LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }ifelse } def/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmAGetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dictbegin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotatedef xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrxitransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ]cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {VPutLines } def } def/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate defxA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrxtransform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def }{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dictbegin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvxdef /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {VPutLines } def } def/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } ifxB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }def/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB EDGetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict beginfalse Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }def/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotatedef xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin falseLine end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ]cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {VPutLines } def } def% DG/SR modification begin - May 9, 1997 - Patch 1%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp rr mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA addexch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED% DG/SR modification end} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a addAngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 rDiv def /y ED /x ED } def/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cosmul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dyadd xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVartx@Dict begin false Polygon end } def/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atandef /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r divdef /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add defGetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mulsub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn }{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 00 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat }ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le {r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC }{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul addadd AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t submul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 tsub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelsey0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos {LPutPos } def } def/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yBsub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xBw sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub negexch X sub neg exch moveto setmatrix CP grestore } def/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0def } ifelse LPutCoor } def/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg }if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop }ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED }def/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } ifr Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop }ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED }defend% END pst-node.pro%%EndProcSet%%BeginProcSet: 8r.enc% @@psencodingfile@{% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry",% version = "0.6",% date = "22 June 1996",% filename = "8r.enc",% email = "kb@@mail.tug.org",% address = "135 Center Hill Rd. // Plymouth, MA 02360",% codetable = "ISO/ASCII",% checksum = "119 662 4424",% docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX."% @}% % Idea is to have all the characters normally included in Type 1 fonts% available for typesetting. This is effectively the characters in Adobe% Standard Encoding + ISO Latin 1 + extra characters from Lucida.% % Character code assignments were made as follows:% % (1) the Windows ANSI characters are almost all in their Windows ANSI% positions, because some Windows users cannot easily reencode the% fonts, and it makes no difference on other systems. The only Windows% ANSI characters not available are those that make no sense for% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen% (173). quotesingle and grave are moved just because it's such an% irritation not having them in TeX positions.% % (2) Remaining characters are assigned arbitrarily to the lower part% of the range, avoiding 0, 10 and 13 in case we meet dumb software.% % (3) Y&Y Lucida Bright includes some extra text characters; in the% hopes that other PostScript fonts, perhaps created for public% consumption, will include them, they are included starting at 0x12.% % (4) Remaining positions left undefined are for use in (hopefully)% upward-compatible revisions, if someday more characters are generally% available.% % (5) hyphen appears twice for compatibility with both ASCII and Windows.% /TeXBase1Encoding [% 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as% well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there down to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash% 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question% 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O% 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore% 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o% 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends% 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef% 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis% 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron% 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown% 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis% 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls% 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -