⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4.5.linboli.ps

📁 是multiuser detection 这本书的习题解答, 很有用的书.
💻 PS
📖 第 1 页 / 共 5 页
字号:


%%%% Additions by LA Carr to reencode Adobe fonts as TeX fonts (almost)
%%%% Based on routine in LaserWriter Cookbook
/ReEncodeForTeX
  { /newfontname exch def
    /basefontname exch def
    /TeXstr 30 string def

    /basefontdict basefontname findfont def
    /newfont basefontdict maxlength dict def
    basefontdict
      { exch dup /FID ne
	  { dup /Encoding eq
	    { exch dup length array copy
	        newfont 3 1 roll put }
	    { exch newfont 3 1 roll put }
	    ifelse
	  }
	{ pop pop }
	ifelse
      } forall

      basefontdict /MathFontName known not
        { 
	  /TeXvec basefontname TeXstr cvs (Courier) search
	    { pop pop pop TeXcourvec }
	    { pop TeXnormalvec }
	  ifelse def
          TeXvec aload pop

          TeXvec length 2 idiv
	    { newfont /Encoding get 3 1 roll put }
	  repeat
	}
      if

      newfontname newfont definefont pop
  } def

/TeXnormalvec
	[ 8#014 /fi 8#015 /fl 8#020 /dotlessi 8#022 /grave 8#023 /acute
	  8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring 8#030 /cedilla
	  8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash 8#035 /AE
	  8#036 /OE 8#037 /Oslash 8#042 /quotedblright 8#074 /exclamdown
	  8#076 /questiondown 8#134 /quotedblleft 8#136 /circumflex
	  8#137 /dotaccent 8#173 /endash 8#174 /emdash 8#175 /hungarumlat
	  8#176 /tilde 8#177 /dieresis ] def
/TeXcourvec
	[ 8#016 /exclamdown 8#017 /questiondown 8#020 /dotlessi 8#022 /grave
	  8#023 /acute 8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring
	  8#030 /cedilla 8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash
	  8#035 /AE 8#036 /OE 8#037 /Oslash 8#074 /less 8#076 /greater
	  8#134 /backslash 8#136 /circumflex 8#137 /underscore 8#173 /braceleft
	  8#174 /bar 8#175 /braceright 8#177 /dieresis ] def

/TeXPSmakefont {	% defines a routine for generating PS fonts, fudged!
	/TeXsize exch def findfont 
	[ TeXsize 0 0 TeXsize neg 0 0 ] makefont
} def

% fontname basefontname angle ObliqueFont -
% Create a General Oblique font
/ObliqueFont {
    /ObliqueAngle exch def
    /ObliqueBaseName exch def
    /ObliqueFontName exch def
    /ObliqueTransform [1 0 ObliqueAngle sin ObliqueAngle cos div 1 0 0] def
    /basefontdict ObliqueBaseName findfont ObliqueTransform makefont def
    /newfont basefontdict maxlength dict def
    basefontdict
      { exch dup /FID ne
	  { dup /Encoding eq
	    { exch dup length array copy
	        newfont 3 1 roll put }
	    { exch newfont 3 1 roll put }
	    ifelse
	  }
	{ pop pop }
	ifelse
      } forall

     newfont /FontName ObliqueFontName put
     ObliqueFontName newfont definefont
     pop
} def

% Palatino-ItalicUnslanted? You must be joking!

% fontname basename SmallCapsFont -	Create a General SmallCaps font
/SmallCapsFont {
    /SmallCapsBaseName exch def
    /SmallCapsFontName exch def
    /basefontdict SmallCapsBaseName findfont def
    /newfont basefontdict maxlength 10 add dict def

    newfont begin
	/FontName SmallCapsFontName def
	/FontBaseDict basefontdict 1000 scalefont def
	/FontSCDict FontBaseDict .8 scalefont def
	/FontType 3 def
	/BuildChar {SmallCapChar} def
	/FontMatrix dup basefontdict exch get def
	/FontBBox dup basefontdict exch get def
	/Encoding dup basefontdict exch get def
    end
    SmallCapsFontName newfont definefont pop
} def

% fontdict ch SmallCapChar -
% It shouldn't be so damn hard to do this (make one font out
% of two others) but I tried several dozen variations on this
% theme until I found something that worked. -- vj
/SmallCapChar {
    /achar (A) def
    achar exch 0 exch put
    begin
    achar 0 get dup 97 ge exch 122 le and {
	% handle 'a' through 'z' specially
	achar 0 achar 0 get 32 sub put
	FontSCDict
    } {
	FontBaseDict
    } ifelse
    setfont achar stringwidth FontBBox setcachedevice
    newpath 0 0 moveto achar show
    end
} def

/MathEncodingVec [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon1
/Phi /Psi /Omega /alpha /beta /gamma /delta /epsilon
/zeta /nu /theta /iota /kappa /lambda /mu /nu
/xi /pi /rho /sigma /tau /upsilon /phi /chi
/psi /omega /epsilon /theta1 /omega1 /rho /sigma /phi1
/arrowleft /arrowleft /arrowright /arrowright
/suchthat /congruent /proportional /angle
/zero /one /two /three /four /five /six /seven
/eight /nine /period /comma /less /slash /greater /asteriskmath
/partialdiff /A /B /C /D /E /F /G
/H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W
/X /Y /Z /registerserif /copyrightserif /trademarkserif /logicalor /logicaland
/section /a /b /c /d /e /f /g
/h /i /j /k /l /m /n /o
/p /q /r /s /t /u /v /w
/x /y /z /dotlessi /j /weierstrass /macron /breve
] def

% the following gives the character codes of the above characters
% in their font.  I.e., this is the character we have to hand "show"
% to image the characters above.
/MathCharVec [
	71	68	81	76	88	80	83	161
	70	89	87	97	98	103	100	101
	122	110	113	105	107	108	109	110
	120	112	114	115	116	117	102	99
	121	119	101	74	118	114	115	106
	172	172	174	174	39	64	181	208
	48	49	50	51	52	53	54	55
	56	57	46	44	60	47	62	42
	182	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	210	211	212	218	217
	167	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	245	106	195	197	198
] def

% this array tells which font dictionary holds each character above
% (0 = basefont, 1 = symbol (maybe slanted), 2 = symbol (unslanted)).
/MathDictVec [
	1 1 1 1 1 1 1 1
	1 1 1 1 1 1 1 1
	1 1 1 1 1 1 1 1
	1 1 1 1 1 1 1 1
	1 1 1 1 1 1 1 1
	2 2 2 2 2 2 2 2
	0 0 0 0 0 0 0 0
	0 0 0 0 2 2 2 2
	2 0 0 0 0 0 0 0
	0 0 0 0 0 0 0 0
	0 0 0 0 0 0 0 0
	0 0 0 2 2 2 2 2
	2 0 0 0 0 0 0 0
	0 0 0 0 0 0 0 0
	0 0 0 0 0 0 0 0
	0 0 0 0 0 2 0 0
] def


% fontname basename symbolname symbolbase angle MathOblique -
% Create a "math" font with the symbol font characters slanted
% by "angle"
/MathOblique {
    3 copy ObliqueFont
    pop pop MathFont
} def
    

% fontname basename symbolname MathFont -	Create a math italic font
%
% We build this font out of the base font & the symbol font
% using an encoding vec as close as we can get to cmmi10 with
% standard postscript characters.  An array parallel to the
% encoding vector tells which font dictionary to use for a
% particular character.
/MathFont {
    /MathSymName exch def
    /MathBaseName exch def
    /MathFontName exch def
    /basefontdict MathBaseName findfont def
    /newfont basefontdict maxlength 10 add dict def

    newfont begin
	/FontName MathFontName def
	/FontDictArray [
	    basefontdict 1000 scalefont
	    MathSymName findfont 950 scalefont
	    /Symbol findfont 950 scalefont
	   ] def
	/FontType 3 def
	/BuildChar {MathFontChar} def
	/FontMatrix dup basefontdict exch get def
	/FontBBox dup basefontdict exch get def
	% the encoding vector is a copy of the original font's
	% encoding, modified "appropriately".
	/Encoding dup basefontdict exch get dup length array copy def
	/WhichFont MathDictVec def
	/WhichChar MathCharVec def
	MathEncodingVec Encoding copy pop
	/achar (A) def
    end
    MathFontName newfont definefont pop
} def

% fontdict ch MathFontChar -
% (there's some serious magic going on here:  see note on 
% SmallCapChar above -- vj).
/MathFontChar {
    exch begin
    achar exch 0 exch put
    FontDictArray WhichFont achar 0 get get get setfont
    achar dup 0 get WhichChar exch get 0 exch put
    achar stringwidth FontBBox setcachedevice
    newpath 0 0 moveto achar show
    end
} bind def

/@flushfonts { @TeXSave restore /@TeXSave save def} def

end                     % revert to previous dictionary
TeXDict begin @start
%%Title: 45.dvi
%%Creator: dvi2ps
%%EndProlog
%%Page: 2 1 
2 @bop0
1.000000 /cmr10.300 @newfont
cmr10.300 @sf
[<7F80FF007F80FF007F80FF006380E300C380E180C3006180C70071800F0078000E0038001E003C
  001C001C003C001E003C001E0078000F0078000F00F8000F80F0000780F0000780F0000780F000
  0780F0000780F8000F8078000F003C001E003E003E000FC1F80007FFF00000FF8000> 32 28 -2 0 29] 10 @dc
1.000000 /cmsy7.300 @newfont
cmsy7.300 @sf
[<C0E0E06070703838381C1C1C1E0E0E> 8 15 -1 -1 9] 48 @dc
cmr10.300 @sf
[<01C00380038007000E000C001C001800380038007000700070007000E000E000E000E000E000E0
  00E000E000E000E000E000E000E000E00070007000700070003800380018001C000C000E000700
  0380038001C0> 16 42 -3 11 16] 40 @dc
1.000000 /cmbx10.300 @newfont
cmbx10.300 @sf
[<183FC01CFFF01FE1F81F80FC1F00FC1F007E1F007E1F007E1F007E1F007E1F007E1F007E1F007E
  1F007C1F80FC1FE1F81FFFF01F3FC01F00001F00001F00001F00001F00001F00001F00001F0000
  1F0000FF0000FF0000> 24 29 -1 0 26] 98 @dc
cmr10.300 @sf
[<E0007000700038001C000C000E00060007000700038003800380038001C001C001C001C001C001
  C001C001C001C001C001C001C001C001C003800380038003800700070006000E000C001C003800
  70007000E000> 16 42 -2 11 16] 41 @dc
[<FFFFFFE0FFFFFFE000000000000000000000000000000000000000000000000000000000000000
  00FFFFFFE0FFFFFFE0> 32 12 -2 -4 32] 61 @dc
[<FFFEFFFEFFFE700638031C030E030700038001C001E000F00078003C003E001E001F000F700FF8
  0FF80FF81FF01E603E78FC3FF80FE0> 16 27 -2 0 20] 50 @dc
1.000000 /cmmi7.300 @newfont
cmmi7.300 @sf
[<FF83FC00FF83FC001E00F0000E01E0000E01E0000F03C0000F03C0000787800007C7800007FF00
  0007FF0000039E0000038E000003C7800003C3C00001C0E00001C0780001E03C0007FC3FC007FC
  3FC0> 32 20 -1 0 27] 75 @dc
1.000000 /cmex10.300 @newfont
cmex10.300 @sf
[<FFFFFFFFFFFFC0FFFFFFFFFFFFE07FFFFFFFFFFFE03FFFFFFFFFFFE01E00000003FFF00F000000
  001FF0070000000003F0078000000000F803C0000000007801E0000000003800F0000000001C00
  78000000000C003C000000000C003C0000000006001E0000000000000F00000000000007800000
  00000003C0000000000001E0000000000001E0000000000000F000000000000078000000000000
  3C0000000000001E0000000000000F0000000000000F000000000000078000000000000FC00000
  0000000FE000000000001FE000000000003FC000000000003F8000000000007F800000000000FF
  000000000001FE000000000001FE000000000003FC000000000007F8000000000007F000000000
  000FF000000000001FE000000000003FC000000000003FC000000000007F800000000000FF0000
  00000000FE000000000001FE000000000603FC000000000C07F8000000000C07F8000000001C0F
  F000000000381FE000000000781FC000000001F03FC000000007F07F800000001FE0FF00000003
  FFE0FFFFFFFFFFFFE0FFFFFFFFFFFFC0> 56 58 -2 58 59] 88 @dc
cmmi7.300 @sf
[<1E003F003B803980198018001C000C00CE00E60066007E003C0000000000000000000300078003
  80> 16 20 0 0 11] 105 @dc
1.000000 /cmr7.300 @newfont
cmr7.300 @sf
[<FFFFF0FFFFF0000000000000000000000000000000000000FFFFF0FFFFF0> 24 10 -2 -2 25] 61 @dc
[<FFE0FFE00E000E000E000E000E000E000E000E000E000E000E000E000E00EE00FE001E000600> 16 19 -3 0 16] 49 @dc
1.000000 /cmmi10.300 @newfont
cmmi10.300 @sf
[<FFC0FFF07FC0FFF00F000F0007000F0003000F0001800F0001800F0000C00F00007FFF00007FFF
  0000301F0000301E0000181E00001C1E00000C1E0000061E0000061E0000031E0000031E000001
  9E000000DE000000DE0000007E0000007C0000003C0000003C0000001C0000000C00> 32 28 -1 0 31] 65 @dc
[<1F80007FE00071F000787800783C00381C00001E00000E0003EE000FFE000F3F000E0F000E0F00
  0E07000E07800E03800E03800F03800703C00701C0C781C0E381C06381E07380E03F80E01F00E0> 24 26 -1 8 20] 121 @dc
[<3F007FC073E0E0F0E0F0E078E07CE03CE03CF03C703E701E701E781C3C1C3F3C3FF83DF01C001C
  001C001E000E000E000E000F000F007F003F00> 16 29 -2 0 17] 98 @dc
1.000000 /cmsy10.300 @newfont
cmsy10.300 @sf
[<FFFFFF80FFFFFF80> 32 2 -3 -9 32] 0 @dc
cmmi10.300 @sf
[<E00780F00FC0F01EE0701C70701E30780E38780E38380F003807003C07003C07801C03801E0380
  1F03801F83800FC7800EFF800F7E000F000007000007000007800007800003800003800003C000
  03C0001FC0000FC000> 24 29 -2 0 23] 104 @dc
cmsy7.300 @sf
[<C000E00060007000300038001C000C000E00060007000300038001C000C000E000600070003000
  38001C000C000E000600070003> 16 26 -4 6 0] 54 @dc
cmmi7.300 @sf
[<7800FC00EE00E600070003000300038003800180018001C001C000C018C01CC00CE00FC007C000
  00000000000000006000700070> 16 26 1 6 13] 106 @dc
cmmi10.300 @sf
[<70F8F8F870> 8 5 -3 0 11] 58 @dc
[<C0000000F0000000FC0000001F00000007C0000001F00000007C0000001F00000007C0000001F0
  0000007C0000001F00000007800000078000001F0000007C000001F0000007C000001F0000007C
  000001F0000007C000001F0000007C000000F000000080000000> 32 26 -3 3 32] 62 @dc
cmr10.300 @sf
[<07E00FF01C38381C781E700E700EF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF0
  0F700E700E781E381C1C380FF007E0> 16 27 -2 0 20] 48 @dc
[<01FFC001FFC0001C00001C00001C00001C00001C00001C00FFFFC0FFFFC0E01C00601C00301C00
  381C00181C000C1C000E1C00071C00031C00039C0001DC0000DC00007C00007C00003C00001C00
  001C00> 24 27 -1 0 20] 52 @dc
[<03FFFC0003FFFC00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
  00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000C00F0060C00F
  0060C00F0060C00F0060E00F00E0600F00C0700F01C0780F03C07FFFFFC07FFFFFC0> 32 28 -1 0 29] 84 @dc
[<FF9FF0FF9FF01C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
  1E03801F07801F8F801DFF001CFE001C00001C00001C00001C00001C00001C00001C00001C0000
  1C0000FC0000FC0000> 24 29 -1 0 23] 104 @dc
[<07F00FF83F1C3C0E78067800F000F000F000F000FFFEFFFEF01E781E781C3E7C1FF807E0> 16 18 -1 0 18] 101 @dc
[<FFC0FFC01C001C001C001C001C001C001C001C001C001C001C001E301E781F78FFF8FDF0> 16 18 -1 0 16] 114 @dc
[<1FC7807FFFC07C7E60F81E60F00E60F00E60F80E00F80E007E0E003FFE0007FE00001E00000E00
  180E003C1E003C3C003FF8001FE000> 24 18 -1 0 20] 97 @dc
[<07C00FE01E701C301C301C301C301C301C001C001C001C001C001C001C001C00FFE0FFE03C001C
  001C000C000C000C000C000C00> 16 26 -1 0 16] 116 @dc
[<07F00FF83F1C3C0E78067800F000F000F000F000F000F000780078183C3C3E3C0FFC07F8> 16 18 -1 0 18] 99 @dc
[<CFC0FFF0F8F0F078E038C038C07800F81FF07FE07FC0F800F030E030E070F0F07FF01FB0> 16 18 -1 0 16] 115 @dc
[<70F8F8F870000000000000000070F8F8F870> 8 18 -3 0 11] 58 @dc
[<FF80FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C00FC00FC00000000
  0000000000000000003C007C007C007C003C00> 16 29 -1 0 11] 105 @dc
[<FFF0FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
  000F000F000F000F000F000F00FFF0FFF0> 16 28 -1 0 14] 73 @dc
[<7FE07FE00E000E000E000E000E000E000E000E000E000E000E000E000E000E00FFE0FFE00E000E
  000E000E000E000E000F1E071E079E03FE00FC> 16 29 0 0 12] 102 @dc
cmmi10.300 @sf
[<0180000001C0000001E0000001E0000003F0000003F0000003D8000003CC000003CC000003C600
  0003C6000003C3000003C1800007C180000780C0000780E0000780600007803000078030000780
  180007801C0007800C000F8006000F0006000F0003800F8007C0FFF01FF87FF01FF8> 32 28 -2 0 24] 86 @dc
cmr10.300 @sf
[<03F0000FFC001E1E00380700780780700380F003C0F003C0F003C0F003C0F003C0F003C0700380
  7807803807001E1E000FFC0003F000> 24 18 -1 0 20] 111 @dc
[<FF9FF0FF9FF01C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
  1E03801F07801F8F80FDFF00FCFE00> 24 18 -1 0 23] 110 @dc
[<FF80FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
  001C001C001C001C001C001C001C00FC00FC00> 16 29 -1 0 11] 108 @dc
cmmi10.300 @sf
[<FFF87FF000FFF87FF0000F801F800007800F000007801F000007C01F000003C03E000003C03E00
  0003C03C000003E07C000001E07C000001F878000001FCF8000001FEF8000000F7F0000000F3F0
  000000F1E0000000F8F00000007878000000781C000000780E0000007C070000003C038000003C
  01E000003C00F000003E007C0003FFE1FF8003FFE1FF80> 40 28 -2 0 35] 75 @dc
cmr10.300 @sf
[<07F3F00FFFF01E1F801C0F801C07801C03801C03801C03801C03801C03801C03801C03801C0380

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -