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

📄 5.27.linboli.ps

📁 是multiuser detection 这本书的习题解答, 很有用的书.
💻 PS
📖 第 1 页 / 共 4 页
字号:
	userdict maxlength dict begin
	currentpoint transform

	DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap
		setlinewidth setmatrix

	itransform moveto

	/psf$ury exch psf$TeXscale def
	/psf$urx exch psf$TeXscale def
	/psf$lly exch psf$TeXscale def
	/psf$llx exch psf$TeXscale def
	/psf$y exch psf$TeXscale def
	/psf$x exch psf$TeXscale def
	
	currentpoint /psf$cy exch def /psf$cx exch def

	/psf$sx psf$x psf$urx psf$llx sub div def 	% scaling for x
	/psf$sy psf$y psf$ury psf$lly sub div def	% scaling for y

	psf$sx psf$sy scale			% scale by (sx,sy)

	psf$cx psf$sx div psf$llx sub
	psf$cy psf$sy div psf$ury sub translate
        clear % added by JB Wang
	
	/DefFigCTM matrix currentmatrix def

	/initmatrix {
		DefFigCTM setmatrix
	} def
	/defaultmatrix {
		DefFigCTM exch copy
	} def

	/initgraphics {
		DocumentInitState setmiterlimit setgray setdash 
			setlinejoin setlinecap setlinewidth setmatrix
		DefFigCTM setmatrix
	} def

	/showpage {
		initgraphics
	} def
	/erasepage {
	} def
	/copypage {
		initgraphics
	} def
	@MacSetUp
} def

% llx lly urx ury doclip -	(args in figure coordinates)
/doclip {
	currentpoint 6 2 roll
	newpath 4 copy
	4 2 roll moveto
	6 -1 roll exch lineto
	exch lineto
	exch lineto
	closepath clip
	newpath
	moveto
} def

% - endTexFig -
/endTexFig { end psf$SavedState restore } def


%%%% 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

⌨️ 快捷键说明

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