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

📄 3.12.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: 312.dvi
%%Creator: dvi2ps
%%EndProlog
%%Page: 3 1 
3 @bop0
1.000000 /cmmi10.300 @newfont
cmmi10.300 @sf
[<FF8000FF80003C00001C00001C00001E00001E00000E00000E7C000FFF000FC7C00783E00781E0
  0780F00780F803807803807803C07803C07C01C03C31E03C39E03819F0781DFC780FDFF00F87C0> 24 26 1 8 20] 112 @dc
1.000000 /cmr7.300 @newfont
cmr7.300 @sf
[<0FC01FE0387070386018E01CE01CE01CE01CE01CE01CE01CE01CE01C6018703838701FE00FC0> 16 19 -1 0 16] 48 @dc
1.000000 /cmr10.300 @newfont
cmr10.300 @sf
[<FFFFFFE0FFFFFFE000000000000000000000000000000000000000000000000000000000000000
  00FFFFFFE0FFFFFFE0> 32 12 -2 -4 32] 61 @dc
cmmi10.300 @sf
[<3801E03C03F03C07B81C071C1C078C1E038E1E038E0E03C00E01C00F01C00F01E00700E0C780E0
  E7C0E067E0E07771E03F3FE03E1F80> 24 18 -1 0 24] 110 @dc
cmr7.300 @sf
[<1FC07FF0F078E03CE01CE01C001C003C00780FE00FE000F0007800387038703870787FF01FC0> 16 19 -1 0 16] 51 @dc
cmr10.300 @sf
[<000600000006000000060000000600000006000000060000000600000006000000060000000600
  00000600000006000000060000FFFFFFE0FFFFFFE0000600000006000000060000000600000006
  00000006000000060000000600000006000000060000000600000006000000060000> 32 28 -2 4 32] 43 @dc
[<0FE03FF8787CF01EF81EF80FF80F700F000F000F000F001E003C007807E007F000F8003C003C00
  1E781E781E7C1E783E387C3FF80FE0> 16 27 -2 0 20] 51 @dc
cmr7.300 @sf
[<FFE0FFE0FFE078703C301E300F00078003C001E000E000700070E070E070E0F0E1E07FC01F80> 16 19 -2 0 16] 50 @dc
cmr10.300 @sf
[<01C00380038007000E000C001C001800380038007000700070007000E000E000E000E000E000E0
  00E000E000E000E000E000E000E000E00070007000700070003800380018001C000C000E000700
  0380038001C0> 16 42 -3 11 16] 40 @dc
[<FFF8FFF80700070007000700070007000700070007000700070007000700070007000700070007
  0007000700C700FF003F0007000300> 16 27 -4 0 20] 49 @dc
1.000000 /cmsy10.300 @newfont
cmsy10.300 @sf
[<FFFFFF80FFFFFF80> 32 2 -3 -9 32] 0 @dc
cmr10.300 @sf
[<E0007000700038001C000C000E00060007000700038003800380038001C001C001C001C001C001
  C001C001C001C001C001C001C001C001C003800380038003800700070006000E000C001C003800
  70007000E000> 16 42 -2 11 16] 41 @dc
cmmi10.300 @sf
[<60E070303818181878F8F8F870> 8 13 -3 8 11] 59 @dc
cmr10.300 @sf
[<0FE03FF8787C703EF01EF00FF00FF00F000F000F000F000F301E381E3C3C3FF837E03000300030
  003000300030003FE03FF83FFC301C> 16 27 -2 0 20] 53 @dc
cmr7.300 @sf
[<FFE0FFE00E000E000E000E000E000E000E000E000E000E000E000E000E00EE00FE001E000600> 16 19 -3 0 16] 49 @dc
cmmi10.300 @sf
[<70F8F8F870> 8 5 -3 0 11] 58 @dc
cmr10.300 @sf
[<07E00FF81E3C381E781E700F700FF00FF00FF00FF00FF00FF80FF81EFC1CFFFCF7F8F080700078
  00781E381E3C1E1E1E0F8E07FC01F8> 16 27 -2 0 20] 54 @dc
[<FFF800FFF8000F00000F00000F00000F00000F00000F00000F03000F03000F03000F03000F0700
  0FFF000FFF000F07000F03000F03000F030C0F030C0F000C0F000C0F001C0F00180F00380F0078
  FFFFF8FFFFF8> 24 28 -2 0 27] 70 @dc
[<03F0000FFC001E1E00380700780780700380F003C0F003C0F003C0F003C0F003C0F003C0700380
  7807803807001E1E000FFC0003F000> 24 18 -1 0 20] 111 @dc
[<FFC0FFC01C001C001C001C001C001C001C001C001C001C001C001E301E781F78FFF8FDF0> 16 18 -1 0 16] 114 @dc
[<1FC7807FFFC07C7E60F81E60F00E60F00E60F80E00F80E007E0E003FFE0007FE00001E00000E00
  180E003C1E003C3C003FF8001FE000> 24 18 -1 0 20] 97 @dc
[<FFC387FF80FFC387FF801E038078000C07C078000C07C078000C07C078000C0F6078000C0F6078
  000C0F6078000C1E3078000C1E3078000C1E3078000C3C1878000C3C1878000C3C1878000C780C
  78000C780C78000C780C78000CF00678000CF00678000CF00678000DE00378000DE00378000DE0
  0378000FC001F8000FC001F800FFC001FF80FF8000FF80> 40 28 -2 0 38] 77 @dc
[<003F800001FFF00003E0F80007803C000E000E001E000F003C00078038000380780003C0780003
  C0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C07800
  03C0380003803C0007801C0007000E000E0007001C0003E0F80001FFF000003F8000> 32 28 -2 0 32] 79 @dc
[<03FFFC0003FFFC00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F00
  00000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000C00F0060C00F
  0060C00F0060C00F0060E00F00E0600F00C0700F01C0780F03C07FFFFFC07FFFFFC0> 32 28 -1 0 29] 84 @dc
[<FFF00FC0FFF03FE00F007E700F007C300F0078000F0078000F0078000F0078000F0078000F0078
  000F00F8000F00F0000F03F0000FFFC0000FFFE0000F00F0000F0038000F003C000F001E000F00
  1E000F001E000F001E000F001E000F003C000F0038000F00F000FFFFE000FFFF0000> 32 28 -2 0 30] 82 @dc
[<FFFFF0FFFFF00F01F00F00F00F00700F00300F00380F00180F00180F00180F00180F00000F0000
  0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000
  FFF800FFF800> 24 28 -2 0 25] 76 @dc
[<FFC0FFF0FFC0FFF01F001F0006001E0006001E0007003E0003003C0003003C0003FFFC0001FFF8
  000180780001C0F80000C0F00000C0F00000E1F0000061E0000061E0000073E0000033C0000033
  C000003FC000001F8000001F8000001F8000000F0000000F0000000F000000060000> 32 28 -1 0 31] 65 @dc
[<07E3F01FFBF03E1F807C0F80780780F00380F00380F00380F00380F00380F00380F00380F80380
  7803807C07803E1F801FFF8007F380000380000380000380000380000380000380000380000380
  000380001F80001F80> 24 29 -1 0 23] 100 @dc
[<07F00FF83F1C3C0E78067800F000F000F000F000FFFEFFFEF01E781E781C3E7C1FF807E0> 16 18 -1 0 18] 101 @dc
[<FF8FF8FF80FF8FF8FF801C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C
  001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001E01E01C001F03F03C001F87F8
  7C00FDFF9FF800FC7F07F000> 40 18 -1 0 34] 109 @dc
[<07F3F00FFFF01E1F801C0F801C07801C03801C03801C03801C03801C03801C03801C03801C0380
  1C03801C03801C0380FC1F80FC1F80> 24 18 -1 0 23] 117 @dc
[<FF80FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
  001C001C001C001C001C001C001C00FC00FC00> 16 29 -1 0 11] 108 @dc
[<07C00FE01E701C301C301C301C301C301C001C001C001C001C001C001C001C00FFE0FFE03C001C
  001C000C000C000C000C000C00> 16 26 -1 0 16] 116 @dc
[<60E070303818181878F8F8F870> 8 13 -3 8 11] 44 @dc
cmmi10.300 @sf
[<3803801E003C03C03F003C03C07B801C01C071C01C01C078C01E01E038E01E01E038E00E00E03C
  000E00E01C000F00F01C000F00F01E000780700E00C780780E00E7C07C0E0067E07E0E007778F7
  1E003F3FE3FE003E0FC1F800> 40 18 -1 0 36] 109 @dc
cmr10.300 @sf
[<07800007800007800007800007800007800007800007800003800003800003800003C00001C000
  01C00000C00000E000006000007000003000003800C01C00C00E00C006006007007FFF807FFF80
  7FFF80600000> 24 28 -2 0 20] 55 @dc
[<07E01FF83C3C781EF00EE007E007E007E00FF00F703F787E3DFC1FFC0FF01FF03FF87F3C7C1E78
  0E700E700E701E381E3C3C1FF807E0> 16 27 -2 0 20] 56 @dc
[<C7F800DFFE00FE0F00F00780E00380E001C0C001C0C001C00001C00003C00007C0000F8000FF80
  0FFF001FFE003FFC007FE000FE0000F80000F00000E00180E00180E003807003807007803C1F80
  1FFD8007F180> 24 28 -2 0 23] 83 @dc
[<FF80FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C00FC00FC00000000
  0000000000000000003C007C007C007C003C00> 16 29 -1 0 11] 105 @dc
[<01C0700001C0700001C0700003E0F80003E0F80003E0F8000760CC000731CC000731CC000E318E
  000E1B86000E1B86000E1B06001C1F03001C0F03003C0F0780FF3FCFE0FF3FCFE0> 32 18 -1 0 29] 119 @dc
[<FF9FF0FF9FF01C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
  1E03801F07801F8F801DFF001CFE001C00001C00001C00001C00001C00001C00001C00001C0000
  1C0000FC0000FC0000> 24 29 -1 0 23] 104 @dc
[<00E00000E00000E00001F00001F00003F800039800039800071C00070C00070C000E06000E0600
  0E06001C07001C0780FF0FE0FF0FE0> 24 18 -1 0 21] 118 @dc
cmmi10.300 @sf
[<FFFFE000FFFFF8000F807C0007801E0007800F0007C0078003C003C003C003C003C003C003E003
  C001E003C001E003C001E0078001F01F0000FFFE0000FFFF0000F0078000F803C0007801E00078
  00F0007800F0007C0070003C0070003C00F0003C00F0003E01E003FFFFC003FFFF00> 32 28 -2 0 31] 66 @dc
[<FFFFFC00FFFFFE000F803E0007800F000780070007C0038003C0038003C0018003C001C003E0C0
  C001E0E0E001E0600001E0600001F0E00000FFF00000FFF00000F0700000F83000007838300078
  183000781830007C0030003C0030003C0030003C0078003E00F803FFFFF803FFFFF8> 32 28 -2 0 30] 69 @dc
[<FFF80FE0FFF81FF00F803E3807803C1807803C0007C03E0003C03E0003C01E0003C01E0003E01E
  0001E01E0001E01E0001E07E0001FFFC0000FFFC0000F00F0000F0038000F801C0007801E00078
  00F0007800F0007C00F0003C00F0003C00F0003C00E0003E03E003FFFF8003FFFE00> 32 28 -2 0 31] 82 @dc
1.000000 /cmmi7.300 @newfont
cmmi7.300 @sf
[<FF00C000FF01C0001C01E0000C01E0000C03E0000E03E0000E07F00006073000060F3000070E30
  00070E3800031E1800031C180003BC180003B81C0001F80C0001F00C0001F00E0007F03FC007E0

⌨️ 快捷键说明

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