📄 printout.ps
字号:
%!PS-Adobe-3.0%%Title: stdin%%For: U-GMGPC2\Geoffrey M. Garner%%Creator: a2ps version 4.13%%CreationDate: Wed Feb 11 16:20:23 2004%%BoundingBox: 24 24 571 818%%DocumentData: Clean7Bit%%Orientation: Landscape%%Pages: 13%%PageOrder: Ascend%%DocumentMedia: A4 595 842 0 () ()%%DocumentNeededResources: font Courier%%+ font Courier-Bold%%+ font Courier-BoldOblique%%+ font Courier-Oblique%%+ font Helvetica%%+ font Helvetica-Bold%%+ font Symbol%%+ font Times-Bold%%+ font Times-Roman%%DocumentProcessColors: Black %%DocumentSuppliedResources: procset a2ps-a2ps-hdr%%+ procset a2ps-black+white-Prolog%%+ encoding ISO-8859-1Encoding%%EndComments/a2psdict 200 dict defa2psdict begin%%BeginProlog%%Copyright: (c) 1988, 89, 90, 91, 92, 93 Miguel Santana%%Copyright: (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana% Check PostScript language level./languagelevel where { pop /gs_languagelevel languagelevel def} { /gs_languagelevel 1 def} ifelse% EPSF import as in the Red Book/BeginInclude { /b4_Inc_state save def % Save state for cleanup /dict_count countdictstack def % Count objects on dict stack /op_count count 1 sub def % Count objects on operand stack userdict begin 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [ ] 0 setdash newpath gs_languagelevel 1 ne { false setstrokeadjust false setoverprint } if} bind def/EndInclude { count op_count sub { pos } repeat % Clean up stacks countdictstack dict_count sub { end } repeat b4_Inc_state restore} bind def/BeginEPSF { BeginInclude /showpage { } def} bind def/EndEPSF { EndInclude} bind def% Page prefeed/page_prefeed { % bool -> - statusdict /prefeed known { statusdict exch /prefeed exch put } { pop } ifelse} bind def/deffont { findfont exch scalefont def} bind def/reencode_font { findfont reencode 2 copy definefont pop def} bind def% Function c-show (str => -)% centers text only according to x axis./c-show { dup stringwidth pop 2 div neg 0 rmoveto show} bind def% Function l-show (str => -)% prints texts so that it ends at currentpoint/l-show { dup stringwidth pop neg 0 rmoveto show} bind def% center-fit show (str w => -)% show centered, and scale currentfont so that the width is less than w/cfshow { exch dup stringwidth pop % If the title is too big, try to make it smaller 3 2 roll 2 copy gt { % if, i.e. too big exch div currentfont exch scalefont setfont } { % ifelse pop pop } ifelse c-show % center title} bind def% Return the y size of the current font% - => fontsize/currentfontsize { currentfont /FontMatrix get 3 get 1000 mul} bind def% reencode the font% <encoding-vector> <fontdict> -> <newfontdict>/reencode { %def dup length 5 add dict begin { %forall 1 index /FID ne { def }{ pop pop } ifelse } forall /Encoding exch def % Use the font's bounding box to determine the ascent, descent, % and overall height; don't forget that these values have to be % transformed using the font's matrix. % We use `load' because sometimes BBox is executable, sometimes not. % Since we need 4 numbers an not an array avoid BBox from being executed /FontBBox load aload pop FontMatrix transform /Ascent exch def pop FontMatrix transform /Descent exch def pop /FontHeight Ascent Descent sub def % Define these in case they're not in the FontInfo (also, here % they're easier to get to. /UnderlinePosition 1 def /UnderlineThickness 1 def % Get the underline position and thickness if they're defined. currentdict /FontInfo known { FontInfo dup /UnderlinePosition known { dup /UnderlinePosition get 0 exch FontMatrix transform exch pop /UnderlinePosition exch def } if dup /UnderlineThickness known { /UnderlineThickness get 0 exch FontMatrix transform exch pop /UnderlineThickness exch def } if } if currentdict end } bind def% Function print line number (<string> # -)/# { gsave sx cw mul neg 2 div 0 rmoveto f# setfont c-show grestore} bind def% -------- Some routines to enlight plain b/w printings ---------% Underline% width --/dounderline { currentpoint gsave moveto 0 currentfont /Descent get currentfontsize mul rmoveto 0 rlineto stroke grestore} bind def% Underline a string% string --/dounderlinestring { stringwidth pop dounderline} bind def/UL { /ul exch store} bind def% Draw a box of WIDTH wrt current font% width --/dobox { currentpoint gsave newpath moveto 0 currentfont /Descent get currentfontsize mul rmoveto dup 0 rlineto 0 currentfont /FontHeight get currentfontsize mul rlineto neg 0 rlineto closepath stroke grestore} bind def/BX { /bx exch store} bind def% Box a string% string --/doboxstring { stringwidth pop dobox} bind def%% ------------- Color routines ---------------%/FG /setrgbcolor load def% Draw the background% width --/dobackground { currentpoint gsave newpath moveto 0 currentfont /Descent get currentfontsize mul rmoveto dup 0 rlineto 0 currentfont /FontHeight get currentfontsize mul rlineto neg 0 rlineto closepath bgcolor aload pop setrgbcolor fill grestore} bind def% Draw bg for a string% string --/dobackgroundstring { stringwidth pop dobackground} bind def/BG { dup /bg exch store { mark 4 1 roll ] /bgcolor exch store } if} bind def/Show { bg { dup dobackgroundstring } if ul { dup dounderlinestring } if bx { dup doboxstring } if show} bind def% Function T(ab), jumps to the n-th tabulation in the current line/T { cw mul x0 add bg { dup currentpoint pop sub dobackground } if ul { dup currentpoint pop sub dounderline } if bx { dup currentpoint pop sub dobox } if y0 moveto} bind def% Function n: move to the next line/n { /y0 y0 bfs sub store x0 y0 moveto} bind def% Function N: show and move to the next line/N { Show /y0 y0 bfs sub store x0 y0 moveto} bind def/S { Show} bind def%%BeginResource: procset a2ps-a2ps-hdr 2.0 2%%Copyright: (c) 1988, 89, 90, 91, 92, 93 Miguel Santana%%Copyright: (c) 1995, 96, 97, 98 Akim Demaille, Miguel Santana% Function title: prints page header.% <ct> <rt> <lt> are passed as argument/title { % 1. Draw the background x v get y v get moveto gsave 0 th 2 div neg rmoveto th setlinewidth 0.95 setgray pw 0 rlineto stroke grestore % 2. Border it gsave 0.7 setlinewidth pw 0 rlineto 0 th neg rlineto pw neg 0 rlineto closepath stroke grestore % stk: ct rt lt x v get y v get th sub 1 add moveto%%IncludeResource: font Helvetica fHelvetica fnfs 0.8 mul scalefont setfont % 3. The left title gsave dup stringwidth pop fnfs 0.8 mul add exch % leave space took on stack fnfs 0.8 mul hm rmoveto show % left title grestore exch % stk: ct ltw rt % 4. the right title gsave dup stringwidth pop fnfs 0.8 mul add exch % leave space took on stack dup pw exch stringwidth pop fnfs 0.8 mul add sub hm rmoveto show % right title grestore % stk: ct ltw rtw % 5. the center title gsave pw 3 1 roll % stk: ct pw ltw rtw 3 copy % Move to the center of the left room sub add 2 div hm rmoveto % What is the available space in here? add sub fnfs 0.8 mul sub fnfs 0.8 mul sub % stk: ct space_left%%IncludeResource: font Helvetica-Bold fHelvetica-Bold fnfs scalefont setfont cfshow grestore} bind def% Function border: prints virtual page border/border { %def gsave % print four sides 0 setgray x v get y v get moveto 0.7 setlinewidth % of the square pw 0 rlineto 0 ph neg rlineto pw neg 0 rlineto closepath stroke grestore} bind def% Function water: prints a water mark in background/water { %def gsave scx scy moveto rotate%%IncludeResource: font Times-Bold fTimes-Bold 100 scalefont setfont .97 setgray dup stringwidth pop 2 div neg -50 rmoveto show grestore} bind def% Function rhead: prints the right header/rhead { %def lx ly moveto fHelvetica fnfs 0.8 mul scalefont setfont l-show} bind def% Function footer (cf rf lf -> -)/footer { fHelvetica fnfs 0.8 mul scalefont setfont dx dy moveto show snx sny moveto l-show fnx fny moveto c-show} bind def%%EndResource%%BeginResource: procset a2ps-black+white-Prolog 2.0 1% Function T(ab), jumps to the n-th tabulation in the current line/T { cw mul x0 add y0 moveto} bind def% Function n: move to the next line/n { %def /y0 y0 bfs sub store x0 y0 moveto} bind def% Function N: show and move to the next line/N { Show /y0 y0 bfs sub store x0 y0 moveto} bind def/S { Show} bind def
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -