📄 cycle.ps
字号:
/FontBBox bb TransformBBox def /Encoding CMEncodingArray def /CharDict 1 dict def CharDict begin /Char-Info num array def end /BuildChar { PXLBuildCharDict begin /char xdef /fontdict xdef fontdict /CharDict get /Char-Info get char get aload pop /rasters xdef /PackedWord1 xdef 0 PackedWord1 UnpkHW 16#7FFF ne { /PackedWord2 xdef /wx 0 PackedWord1 UnpkHW def /rows 2 PackedWord1 UnpkByte def /cols 3 PackedWord1 UnpkByte def /llx 0 PackedWord2 UnpkByte def /lly 1 PackedWord2 UnpkByte def /urx 2 PackedWord2 UnpkByte def /ury 3 PackedWord2 UnpkByte def } { /PackedWord2 xdef /PackedWord3 xdef /PackedWord4 xdef /wx 1 PackedWord1 UnpkHW def /rows 0 PackedWord2 UnpkHW def /cols 1 PackedWord2 UnpkHW def /llx 0 PackedWord3 UnpkHW def /lly 1 PackedWord3 UnpkHW def /urx 0 PackedWord4 UnpkHW def /ury 1 PackedWord4 UnpkHW def } ifelse rows 0 lt { /rows rows neg def /runlength 1 def } { /runlength 0 def } ifelse wx 0 llx RasterConvert lly RasterConvert urx RasterConvert ury RasterConvert setcachedevice rows 0 ne { gsave cols rows true RasterScaleFactor 0 0 RasterScaleFactor neg llx neg .5 add ury .5 add tempmatrix astore {GenerateRasters} imagemask grestore } if end } def end fnam int-dict definefont pop } if int-dict-name fnam findfont psz scalefont def currentdict int [int-dict /setfont cvx] cvx put} bdef %% <int-font-name> <code> <wx> <llx> <lly> <urx> <ury> <rows> <cols> <runlength> <rasters> PXLC%/PXLC { /rasters xdef /runlength xdef /cols xdef /rows xdef /ury xdef /urx xdef /lly xdef /llx xdef /wx xdef /code xdef /int xdef % See if the long or short format is required true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ TackRunLengthToRows { int-dict /CharDict get /Char-Info get code [0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackByte 0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters] put} { int-dict /CharDict get /Char-Info get code [0 0 urx PackHW 1 ury PackHW 0 0 llx PackHW 1 lly PackHW 0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters] put} ifelse} bdef /CKSZ {abs 127 le and} bdef/TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if} bdef %% <wx> <dsz> <psz> <llx> <lly> <urx> <ury> <rows> <cols> <runlength> <rasters> PLOTC%/PLOTC { /rasters xdef /runlength xdef /cols xdef /rows xdef /ury xdef /urx xdef /lly xdef /llx xdef /psz xdef /dsz xdef /wx xdef % "Plot" a character's raster pattern. rows 0 ne { gsave currentpoint translate psz dsz div dup scale cols rows true RasterScaleFactor 0 0 RasterScaleFactor neg llx neg ury tempmatrix astore {GenerateRasters} imagemask grestore } if wx x} bdef % Routine to generate rasters for "imagemask"./GenerateRasters { rasters runlength 1 eq {RunLengthToRasters} if} bdef % Routine to convert from runlength encoding back to rasters./RunLengthToRasters { % ...not done yet...} bdef %% These procedures handle bitmap processing.%% <bitmap columns> <bitmap rows> <bitmap pix/inch> <magnification> BMbeg%/BMbeg { /BMmagnification xdef /BMresolution xdef /BMrows xdef /BMcols xdef /BMcurrentrow 0 def gsave 0.0 setgray Resolution BMresolution div dup scale currentpoint translate BMmagnification 1000.0 div dup scale 0.0 BMrows moveto BMrows dup scale currentpoint translate /BMCheckpoint save def } bdef/BMend { BMCheckpoint restore grestore } bdef%% <hex raster bitmap> <rows> BMswath %/BMswath { /rows xdef /rasters xdef BMcols rows true [BMrows 0 0 BMrows neg 0 BMcurrentrow neg] {rasters} imagemask /BMcurrentrow BMcurrentrow rows add def BMcurrentrow % save this on the stack around a restore... BMCheckpoint restore /BMcurrentrow xdef /BMCheckpoint save def } bdef%% Procedures for implementing the "rotate <theta>" special:% <theta> ROTB -% - ROTE -/ROTB { XP gsave Xpos Ypos translate rotate % using <theta> from the stack Xpos neg Ypos neg translate RP } bdef/ROTE {XP grestore RP} bdef%% Procedures for implementing the "epsfile <filename> [<mag>]" special:% <llx> <lly> <mag> EPSB -% - EPSE -/EPSB { 0 SPB save 4 1 roll % push the savelevel below the parameters /showpage {} def Xpos Ypos translate 1000 div dup scale % using <mag> from the stack neg exch neg exch translate % using <llx> <lly> from the stack } bdef/EPSE {restore 0 SPE} bdef%% Procedure for implementing revision bars:% <bary1> <bary2> <barx> <barw> REVB -% The bar is a line of width barw drawn from (barx,bary1) to (barx,bary2)./REVB { /barw xdef /barx xdef /bary2 xdef /bary1 xdef gsave barw setlinewidth barx bary1 Yadjust moveto barx bary2 Yadjust lineto stroke grestore } bdef% % A small array and two procedures to facilitate The Publisher's% implementation of gray table cells:% <ptnum> GRSP -% <ultpnum> <lrptnum> <graylev> <freq> GRFB -% % GRSP saves the current DVI location so that it can be retrieved later% by the index <ptnum>. GRFB fills a box whose corners are given by the% indexes <ultpnum> and <lrptnum> with a halftone gray with the given% level and frequency. The array GRPM holds the coordinates of points% marking the corners of gray table cells. <freq> is currently ignored% since modifying it via setscreen is prohibited by Adobe's PostScript% coding conventions.% /GRPM 40 dict def/GRSP {GRPM exch [Xpos Ypos] put} bdef/GRFB { /GRfreq xdef /GRgraylev xdef GRPM exch get aload pop /GRlry xdef /GRlrx xdef GRPM exch get aload pop /GRuly xdef /GRulx xdef gsave % % set the screen frequency if it isn't zero % % (disabled currently...) % GRfreq 0 ne % {currentscreen % 3 -1 roll pop GRfreq 3 1 roll % setscreen} % if % set the gray level GRgraylev setgray % draw and fill the path GRulx GRuly moveto GRlrx GRuly lineto GRlrx GRlry lineto GRulx GRlry lineto closepath fill grestore } bdef%% Procedures for implementing the "paper <source>" option:% <name> <eop> SPS -% <eop> paper-manual -% etc. The boolean <eop> is passed so that a paper source procedure% knows if it is being called at the beginning (false) or end% (true) of a page./SPS { /eop xdef /name xdef name where {pop eop name cvx exec} if } bdef/paper-manual { {statusdict /manualfeed known {statusdict /manualfeed true put} if} if } bdef/paper-automatic { {statusdict /manualfeed known {statusdict /manualfeed false put} if} if } bdef/paper-top-tray { {} {statusdict /setpapertray known {statusdict begin gsave 0 setpapertray grestore end} if} ifelse } bdef/paper-bottom-tray { {} {statusdict /setpapertray known {statusdict begin gsave 1 setpapertray grestore end} if} ifelse } bdef/paper-both-trays { {} {statusdict /setpapertray known {statusdict begin gsave 2 setpapertray grestore end} if} ifelse } bdef/clipping_path { /x1 xdef /y1 xdef /x2 xdef /y2 xdef newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath }bdef(end of common prolog) VMSDebug end systemdict /setpacking known {savepackingmode setpacking} if%!% Psfig/TeX Release 1.2% dvips version%% All software, documentation, and related files in this distribution of% psfig/tex are Copyright 1987, 1988 Trevor J. Darrell%% Permission is granted for use and non-profit distribution of psfig/tex % providing that this notice be clearly maintained, but the right to% distribute any portion of psfig/tex for profit or as part of any commercial% product is specifically reserved for the author.%%% $Header: figtex.pro,v 1.5 87/07/24 20:14:50 trevor Exp $% $Source: $%/TeXscale { 65536 div } def/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecapcurrentlinejoin currentdash currentgray currentmiterlimit ] cvx def/startTexFig {% usage : x y bb-llx bb-lly bb-urx bb-ury startFig /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix $DviLaser /PortraitMode known { $DviLaser /PortraitMode get not { 90 rotate } if } if itransform moveto /ury exch TeXscale def /urx exch TeXscale def /lly exch TeXscale def /llx exch TeXscale def /y exch TeXscale def /x exch TeXscale def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def % scaling for x /sy y ury lly sub div def % scaling for y sx sy scale % scale by (sx,sy) cx sx div llx sub cy sy div ury sub translate /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 and /copypage added for MatLab support (tli) /erasepage { initgraphics } def /copypage {} def} def% Args are llx lly urx ury (in figure coordinates)/clipFig {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -