diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/pstricks/pstricks.con')
-rw-r--r-- | Master/texmf-dist/tex/generic/pstricks/pstricks.con | 314 |
1 files changed, 314 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/pstricks/pstricks.con b/Master/texmf-dist/tex/generic/pstricks/pstricks.con index a477a0fcbe0..8dbf0b8bef4 100644 --- a/Master/texmf-dist/tex/generic/pstricks/pstricks.con +++ b/Master/texmf-dist/tex/generic/pstricks/pstricks.con @@ -40,5 +40,319 @@ %\pstcustomize \endinput + +%% +%%%%%%%%%%%%%%%%%%% !! GENERAL INSTRUCTIONS !! %%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Because there are no standards for dvi-to-PS driver \special's, +some driver-dependent commands must be defined in this file. + +Possibly correct definitions for some dvi drivers are given below. +Copy the section for the driver you want to use to the indicated place +near the beginning of the file, replacing any other definitions you +might find there. + +When changing drivers, you may need to remake the header file. + +See the PSTricks read-me file for further installation instructions. + +Please report good and bad experiences with dvi-to-PS drivers, +along with the definitions of these commands that worked +for you, to tvz@Princeton.EDU. Thanks. + + +%%%%%%%%%%%%%%%% DESCRIPTION OF CONFIGURATION DEFINITIONS %%%%%%%%%%%%%%% + +Here are the commands that must be defined in this file: + + \pstverb{} - The argument is included as verbatim PostScript, + grouped by save and restore. The coordinate system + should be square, not rotated, and with the origin + at TeX's currentpoint. + + \pstVerb{} - The argument is included as verbatim PostScript, not + grouped by (g)save and (g)restore. The currentpoint + should be TeX's currentpoint. + + \pstunit - The units used by driver for graphics included with + \pstverb. Probably 1bp or 1sp. + + \pstverbscale - The PostScript code that scales the coordinate system + from that in effect with \pstVerb to that in effect + with \pstverb. Should not translate to the currentpoint. + + \pstrotate - The PostScript code that takes a number off the stack + and rotates the axes properly. I.e., + \pstVerb{angle \pstrotate} is used to begin rotations. + + \pstheader{} - The argument is a header file (e.g., .pro file). + If your driver does not support such a special, then + the command might just remind you to include the header + when printing. You can use PSTricks without a header, + in which case it does not matter how you define + \pstheader. See read-me.pst for details. + If you cannot change the default directory where your + driver looks for header files, and you cannot write to + that directory, then you include the path for your + PSTricks header files. + E.g., \def\pstheader#1{\special{header=~/tex/#1}}. + + \pstdriver - The name of the driver. + + +%%%%%%%%% !! HOW TO MAKE A TEX FORMAT WITH PSTRICKS PRELOADED !! %%%%%%%% + +See your local TeX documentation for instructions on creating a TeX format. + +Before making the format, be sure that this configuration file is correct. +It will be read only when creating the format, and not with every job. + +If you are not using header files, there are no more special instructions. + +Special instructions when using header files: + + - If you want to include supplementary PSTricks files (e.g., pst-node.tex), + add \input commands in the customization section above. + + - If your definition of \pstheader is, e.g. + + \def\pstheader#1{\special{\header=#1}} + + then change it to + + \def\pstheader#1{% + \expandafter\everyjob\expandafter{\the\everyjob + \special{header=#1}}} + + and put your original definition in the customization section, AFTER + any \input commands. E.g., the customization section might look like: + + \pstcustomize + \input pst-node.tex + \input pst-coil.tex + \def\pstheader#1{\special{header=#1}} + + - Input pstricks.tex at the appropriate time when creating the format. + E.g., when initex stops running: + *\input pstricks + *\dump + + +%%%%%%%%%% !! CONFIGURATIONS FOR SOME DRIVERS !! %%%%%%%%%%%%%%%%%%%%%%%% + + +%% ********************************************************************** +%% ***** Rokicki's dvips ***** Rokicki's dvips ***** Rokicki's dvips **** +%% ********************************************************************** +%% Life is bliss with Rokicki's dvips (tested with v5.396, v5.47, 5.491): +%% +\def\pstdriver{Rokicki's dvips} +{\catcode`\"=12\gdef\pstverb#1{\special{" #1}}} % Check catcode of " +\def\pstunit{1bp}% +\def\pstVerb#1{\special{ps: #1}} +\def\pstverbscale{SDict begin normalscale end} +\def\pstheader#1{\special{header=#1}} +%% +%% In the following, CP is short for currentpoint. +%% The neg is necessary because dvips scales the coordinates by 1 -1. +%% \tx@NET means neg exch neg exch translate. +\def\pstrotate{% + CP CP translate 3 -1 roll neg rotate \tx@NET} +%% +%% If using a version before 5.47, clipping may not work. You can +%% try the following definition of \pstverb: +%\def\pstverb#1{\special{ps: @beginspecial #1 @endspecial}} +%% or change "{initclip}ifelse" to "if" in the definition of @setspecial +%% in dvips' special.pro. +%% +%% ****************** END Rokicki's dvips ***************************** + + +%% ********************************************************************** +%% **** Arbortext's dvips *** Arbortext's dvips *** Arbortext's dvips *** +%% ********************************************************************** +%% Thanks to Wolfgang Sienel: +%% +\def\pstdriver{Arbortext's dvips} +\def\pstverb#1{% + \special{ps::[asis] 0 SPB /ChartCheckPoint save def + Xpos Ypos translate #1 ChartCheckPoint restore 0 SPE}} +\def\pstunit{1bp} +\def\pstVerb#1{\special{ps:: #1}} +\def\pstverbscale{} +\def\pstrotate{CP CP translate 3 -1 roll rotate \tx@NET} +\def\pstheader#1{% + \typeout{**********************************************************}% + \typeout{** Don't forget to include #1 when printing:}% + \typeout{** \space\space dvips -PRO #1 myfile}% + \typeout{**********************************************************}} +%% +%% Comments by Wolfgang on header files: +%% Normally the standard prolog file is downloaded once to the printer +%% with psload.ps (the initializing file for your TeX-printer) before +%% printing TeX-documents. If you don't make any changes to psload.ps +%% you have to type dvips -PRO PATH/pstricks.pro myfile (-PRO just +%% works for UNIX systems. I don't have any idea about other systems). +%% If psload.ps was not downloaded to the printer you have to append +%% pstricks.pro to the standard prolog file dvips.pro. In this case +%% invoke dvips as always. Note that after hitting the enter key you +%% have to specify the option download all prolog in both cases. If you +%% are frequently using pstricks you might want to change psload.ps. In +%% this case contact your local TeX-guru and ask him politely to do this +%% for you. Attention: If psload.ps is getting too big you may run into +%% trouble with printer memory! +%% +%% ****************** END Arbortext's dvips ***************************** + + +%% ********************************************************************** +%% **** Textures *** Textures *** Textures *** Textures *** Textures **** +%% ********************************************************************** +%% These have been tested with v1.3. It is nice to have a PostScript +%% screen previewer, such as TScript (USA: 1-617-734-9700). (The +%% Textures preview window will not show the PSTricks graphics.) +%% +\def\pstdriver{Textures} +\def\pstunit{1bp} +\def\pstverb#1{\special{postscript /TX@Save save def #1 TX@save restore}} +\def\pstVerb#1{\special{postscript grestore #1 gsave}} +\def\pstverbscale{Mag 1000 div 72.27 72 div mul dup neg scale} +\def\pstrotate{% + CP CP translate 3 -1 roll neg rotate \tx@NET} +%% +%% \pstVerb does not define the currentpoint properly. As a workaround, +%% insert the following lines in the customization section above. +%% +%% \def\pst@Verb#1{% +%% \special{postscript \pst@dict /sps { moveto /Mag ed } def +%% userdict begin}% +%% \special{postscript #1 end gsave}} +%% +%% Textures does not support header files. +%% However, it may still be worth using a header file for increased speed. +%% Also, some macros can overload Textures 1.3 when not used with a header +%% file. You can include the header file pstricks.pro by saving the +%% PostScript output to a file and inserting the pstricks.pro with an +%% editor. Probably a better solution is to append pstricks.pro to a +%% copy of the laserprep, and, by changing file names of the modified +%% laserprep and the original laserprep, use the laserprep with pstricks.pro +%% whenever you are printing pstricks documents. +\def\pstheader#1{% + \typeout{******************************************}% + \typeout{*** Include header file #1!! ***}% + \typeout{******************************************}} +%% +%% ****************** END Textures ************************************** + + +%% ********************************************************************** +%% ***** dvi2ps ***** dvi2ps ***** dvi2ps ***** dvi2ps ***** dvi2ps ***** +%% ********************************************************************** +%% I.e., dvi2ps, v2.xx. There are lot's of such things around. +%% This probably doesn't work. Considering upgrading to Rokicki's dvips. +%% +\def\pstdriver{dvi2ps v2.xx} +\def\pstunit{1pt} +\def\pstverb#1{ pstext="save currentpoint translate + Resolution 72.27 div neg scale #1 restore" \space} +\def\pstVerb#1{ pstext="#1" \space} +\def\pstverbscale{Resolution 72.27 div neg scale} +\def\pstrotate{% + CP CP translate 3 -1 roll neg rotate \tx@NET} +\def\pstheader#1{% + \typeout{******************************************************} + \typeout{Don't forget to include the header file #1!!} + \typeout{******************************************************} +%% +%% ***************************** END dvi2ps ***************************** + + +%% ********************************************************************** +%% ***** dvi3ps ***** dvi3ps ***** dvi3ps ***** dvi3ps ***** dvi3ps ***** +%% ********************************************************************** +%% I.e., dvi2ps, version 3.xx, by Kevin Coombes. +%% This has not been tested. Consider upgrading to Rokicki's dvips. +%% +\def\pstdriver{dvi2ps v3.xx} +\def\pstunit{1bp} +\def\pstverb#1{pstext="#1"} +% \def\pstVerb#1{% +% \special{pstext="@endspecial #1 @beginspecial @setspecial"}} % v3.0 +\def\pstVerb#1{\special{psraw="#1"}} % v3.3 +\def\pstverbscale{Resolution 72.27 div neg scale} +\def\pstrotate{% + CP CP translate 3 -1 roll neg rotate \tx@NET} +\def\pstheader#1{% + \typeout{******************************************************} + \typeout{Don't forget to include the header file #1!!} + \typeout{******************************************************} +%% +%% ******************* END dvi3ps *************************************** + + +%% ********************************************************************** +%% **** OzTeX **** OzTeX **** OzTeX **** OzTeX **** OzTeX **** OzTeX **** +%% ********************************************************************** +%% Only the pure graphics objects are supported for OzTeX. +%% No color, rotation, clipping, nodes and node connections, overlays, etc. +%% Also, \rput cannot be used with \SpecialCoor. +%% +%% The reason is given in the documentation for Version 1.3, September 1990: +%% +%% OzTeX generates highly efficient PostScript code but it does so at +%% the expense of some \special functionality. Many DVI-to-PostScript +%% translators allow you to do things like use one \verb|\special| to start +%% rotating TeX text and another to stop the rotation. The way OzTeX +%% interprets a DVI page makes this impossible. +%% +%% If using the header file, you should copy pstricks.pro to global.ps, in +%% the same directory as your dvi file. +%% +\def\pstdriver{OzTeX} +\def\pstverb#1{\special{null.ps #1}} +\def\pstunit{1bp} +\def\pstVerb#1{% + \typeout{PSTRICKS WARNING:}% + \typeout{\space\space You are using features not supported by OzTeX.}% + \typeout{\space\space These will be ignored.}% + \gdef\pstVerb##1{}} +\def\pstverbscale{} +\def\pstrotate{} +\def\pstheader#1{% + \typeout{******************************************************} + \typeout{Don't forget to include the header file #1!!} + \typeout{******************************************************}} +%% +%% ************************* END OzTeX ********************************** + + +%% ********************************************************************** +%% ***** DirectTeX ***** DirectTeX ***** DirectTeX ***** DirectTeX ****** +%% ********************************************************************** +%% DirectTeX is for the Macintosh. These has been tested unsuccessfully, +%% apparently due to a problem with DirectTeX. +%% +\def\pstdriver{DirectTeX} +%% +%% Check catcode of " +{\catcode`\"=12\gdef\pstverb#1{\special{" #1 /Foo{}def }}} +\def\pstunit{1bp} +\def\pstVerb#1{\special{ps: #1 }} +\def\pstverbscale{TeXDict begin normalscale end} +%% +%% In the following, CP is short for currentpoint. The neg is necessary +%% because dvips scales the coordinates by 1 -1: +\def\pstrotate{% + CP CP translate 3 -1 roll neg rotate \tx@NET} +%% +\def\pstheader#1{% + \typeout{**********************************************************}% + \typeout{** Don't forget to include #1 when printing:}% + \typeout{** \space\space DVIReader -header #1 myfile}% + \typeout{**********************************************************}} +%% +%% ****************** END DirectTeX ***************************** + + %% %% END: pstricks.con |