dvips for VAX/VMS INSTALLATION This saveset contains source code, object files, and executeables which may be used to run dvips. If your TeX setup is equivalent to ours you may simply copy the executeable to wherever you want your TeX related executeables to live and then make dvips available as a foreign command. The requirements to copy the image files "as is" and use them without recompiling are; 1. Your TeX TFM files should be located in a directory which is pointed to by the logical TEX$FONTS ( i.e. your TeX setup file should contain a command along the lines of DEFINE TEX$FONTS DUA1:[TEX.FONTS] ). 2. Your TeX PK files should be found in a series of sub-directories which are named according to magnification with the root directory pointed to by the logical TEX_FONTS ( i.e. your TeX setup file should contain a command along the lines of DEFINE TEX_FONTS DUA1:[TEX.FONTS.] and then have a series of subdirectories such as 100, 180, 208, etc. for the appropriate magnifications where dvips would be able to access a PK file based on the magnification ( i.e. TEX_FONTS:[300]CMR10.PK )). 3. You should have a directory where PostScript configuration files may be placed which is pointed to by the logical TEX$POSTSCRIPT ( i.e. your TeX setup file should contain a command along the lines of DEFINE TEX$POSTSCRIPT DUA1:[TEX.POSTSCRIPT] ). If your TeX configuration matches this you may use the image file found in the saveset and then do the things you need to do after compiling dvips. COMPILING A NEW IMAGE To compile and link a new version of dvips use the command file VAXC_BUILD_DVIPS.COM which is found in the [.DVIPS] directory. This command file will ask a series of questions which will obtain the information which is necessary to compile dvips to match your environment. The default replies to the questions will be printed within square brackets ( [] ). If the default reply is acceptable simply press the return key. To answer these questions correctly you must understand the following definitions which are used by dvips. These definitions are; TFMPATH - The directory where TFM files live ( needed for the compilation of dvips.c ). Be sure and include the needed directory separator in the path ( i.e. TEX$FONTS: ). PKPATH - The directory where PK files live ( needed for the compilation of dvips.c ). You should also decided whether you need VMS_ROOTED ( needed for the compilation of loadfont.c ) defined so that PKPATH will be interpreted as a rooted directory under VMS. Be sure and include the needed directory separator in the path ( i.e. TEX_FONTS: ). HEADERPATH - The directory where the PostScript prologue files live ( needed for the compilation of output.c ). Be sure and include a trailing comma in your definition of the header path as dvips uses this definition as a path for both PostScript prologue files and files which are included with \special options. This definition should be a comma separated list of directories where dvips will look for a specified file. As an example; HEADERPATH="TEX$POSTSCRIPT:,SYS$LOGIN:," to look first in TEX$POSTSCRIPT:, then in SYS$LOGIN:, and finally in the current default directory. CONFIGPATH - The directory where the configuration file lives ( needed for the compilation of resident.c ). Be sure and include the needed directory separator in the path ( i.e. TEX$POSTSCRIPT: ). The command file will also ask if you wish to include TPIC support and if the definition of PKPATH is a rooted directory. Simply answer yes or no as appropriate. After these questions have been answered the command file will print out what it thinks the definitions are and then ask you if these are correct. If they are correct simply answer yes and the sources will be compiled and linked with those definitions. If they are not correct answer no and you will again be prompted for the definitions. After dvips has been compiled and linked the user will be given the option of compressing the PostScript prologue files which are used by dvips and copying the resultant prologue files to the specified HEADERPATH. The user will also be given the option of copying the dvips image file to the area where TeX related images are stored. Answering "yes" to either of these options should be done only if the user has write privileges to the directories which are specified. THINGS TO DO AFTER COMPILING 1. To use dvips you must install dvips as a foreign command using the DCL assignment statement to equate a symbol with the dvips image file. This should be done in your TeX setup file. As an example include the line; $ dvips :== $tex$:dvips.exe in your setup command file for TeX. dvips uses the C function argv to return arguments from the command line. VAXC converts all uppercase command line arguments to lowercase. To pass a uppercase command line argument to an application, the argument must be enclosed in quotation marks. 2. You should edit DVIPS.TEX to match your local configuration. The file DVIPS.TEX was created from the original Unix man page by using the tr2tex filter and then modifying the resulting file to generate the desired TeX format. You will need to modify this file to match your local TeX implementation. Configuration issues may be found in the TeX input file by searching for the string "NOTE ---" and modifying the text which follows as appropriate for your site. After you have modified the file run it through LaTeX, generate the needed device specific files, and then copy the files to your documentation areas. 3. Copy the PostScript prologue files ( TEX.PRO, TEXC.PRO, and TEXPS.PRO ) to the PostScript configuration directory ( TEX$POSTSCRIPT or its equivalent ). Edit the configuration file ( CONFIG.PS ) and copy it to the same directory. See either the Unix man page or the file DVIPS.TEX for information on the configuration file for dvips. If you need to generate new copies of the PostScript prologue files you must first define SQUEEZE as a foreign command and then filter the original prologue files ( TEX.LPRO, TEXC.LPRO, and TEXPS.LPRO ). As an example; $ squeeze :== $dua0:[dvips]squeeze.exe $ squeeze tex.lpro tex.pro If you used the VAXC_BUILD_DVIPS.COM command file and you answered "yes" to the prompt regarding compressing the PostScript prologue files, this step was done for you. 4. If you want to support PostScript fonts you will first need to determine which PostScript fonts your printer supports. You then need to edit PSFONTS.MAP to reflect these fonts and then copy PSFONTS.MAP to the directory specified by the definition of CONFIGPATH. You must then copy the corresponding TFM files from the directory [.PSTFMS] to the area where your TeX TFM files are found ( TEX$FONTS or its equivalent ). If you have additional Adobe Font Metric files which you need to convert to font metric files for TeX, you may use AFM2TFM by first defining it as a foreign command and using it as a filter to convert .AFM files to their equivalent .TFM files. As an example; $ afm2tfm :== $dua0:[dvips]afm2tfm.exe $ afm2tfm times_roman.afm times_roman.tfm Some versions of TeX for VMS are somewhat picky about the attributes of the TFM files they deal with. You may need to use CONVERT or some other utility to convert the record attributes of the resulting .TFM files to the attributes which your version of TeX expects. The .TFM files in [.PSTFMS] are known to work with the version of TeX from the DECUS/TeX distribution. You also need to copy the LaTeX style files in [.PSLATEX] into your directory for TeX inputs ( TEX$INPUTS or its equivalent ) if you intend to support PostScript fonts. You should also read either the Unix man page for dvips or DVIPS.TEX for further information on PostScript font support. 5. If you don't already have the psfig macros you should include those in your TeX configuration. They provide a great way of including PostScript documents ( including MacIntosh figures ) in your TeX documents. See the psfig documentation file, UG.TEX, for further information. The copy of psfig in this saveset may be found in the directory [.psfig]. The copy differs from the copy in the standard DECUS/TeX distribution in that VMS file paths have been substituted for Unix file paths ( i.e. [.FIGS] for ./figs ). You will need to copy the macro file PSFIG.TEX to your TeX inputs area ( TEX$INPUTS or its equivalent ) but you do not need to copy the psfig prologue file PSFIG.PRO as it is already included in the dvips prologue files. Robert Schneider +-------------------------------------+-------------------------------------+ |Robert Schneider | Internet: robert@perv.pe.utexas.edu| |Department of Petroleum Engineering | BITNET: pefv673@utchpc | |University of Texas at Austin | THEnet: PERV::ROBERT | +-------------------------------------+-------------------------------------+