version 1.1.1.1, 2000/01/09 17:01:15 |
version 1.1.1.2, 2000/01/22 14:16:28 |
Line 91 static int PSLATEX_justify; |
|
Line 91 static int PSLATEX_justify; |
|
static int PSLATEX_rotate = TRUE; |
static int PSLATEX_rotate = TRUE; |
static char *PSLATEX_psfile = NULL; |
static char *PSLATEX_psfile = NULL; |
static TBOOLEAN PSLATEX_useAuxFile = FALSE; /* do we write two files? */ |
static TBOOLEAN PSLATEX_useAuxFile = FALSE; /* do we write two files? */ |
static FILE *PSLATEX_auxFile; |
static FILE *PSLATEX_auxFile = NULL; |
static TBOOLEAN PSLATEX_output = TRUE; /* do we write LaTeX? */ |
static TBOOLEAN PSLATEX_output = TRUE; /* do we write LaTeX? */ |
|
|
struct text_command { |
struct text_command { |
Line 176 TERM_PUBLIC void PSLATEX_init() |
|
Line 176 TERM_PUBLIC void PSLATEX_init() |
|
if (strcmp(term->name, "pstex") == 0) |
if (strcmp(term->name, "pstex") == 0) |
PSLATEX_output = FALSE; |
PSLATEX_output = FALSE; |
|
|
PSLATEX_auxFile = NULL; /* until we know otherwise */ |
/* until we know otherwise */ |
|
PSLATEX_auxFile = NULL; |
|
|
/* dont tweak PSLATEX_useAuxFile if we decide we cannot comply |
/* dont tweak PSLATEX_useAuxFile if we decide we cannot comply |
* since this affects subsequent plots even after a set out |
* since this affects subsequent plots even after a set out |
* Instead, we will use PSLATEX_auxFile != NULL to indicate |
* Instead, we will use PSLATEX_auxFile != NULL to indicate |
* use of an aux file |
* use of an aux file |
*/ |
*/ |
|
|
|
/* if there's no extension, append ".ps" */ |
|
if ((dotIndex = strrchr(outstr, '.')) == NULL) |
|
dotIndex = strchr(outstr, NUL); |
|
|
/* try to open the auxiliary file for the postscript parts. */ |
/* try to open the auxiliary file for the postscript parts. */ |
if (outstr && PSLATEX_useAuxFile == TRUE && |
if (outstr && PSLATEX_useAuxFile == TRUE) { |
(dotIndex = strrchr(outstr, '.'))) { |
|
|
|
/* assume file name is ending in ".tex" */ |
/* length of outstr plus ('.' or '\0') plus "ps" plus '\0' */ |
if (PSLATEX_psfile) |
PSLATEX_psfile = gp_realloc (PSLATEX_psfile,(dotIndex - outstr) + 4,"pslatex aux filename"); |
free(PSLATEX_psfile); |
|
PSLATEX_psfile = gp_alloc(dotIndex - outstr + 3, "pslatex aux filename"); |
|
if (PSLATEX_psfile) { |
if (PSLATEX_psfile) { |
/* including . */ |
/* include period or '\0' */ |
safe_strncpy(PSLATEX_psfile, outstr, dotIndex - outstr + 1); |
strncpy(PSLATEX_psfile, outstr, (dotIndex - outstr) + 1); |
strcpy(PSLATEX_psfile + (dotIndex - outstr) + 1, "ps"); |
/* period or '\0' is overwritten with period, and "ps" appended */ |
if ((PSLATEX_auxFile = fopen(PSLATEX_psfile, "w")) == (FILE *) NULL) { |
strcpy(PSLATEX_psfile + (dotIndex - outstr), ".ps"); |
|
PSLATEX_auxFile = fopen(PSLATEX_psfile, "w"); |
|
if (PSLATEX_auxFile == (FILE *) NULL) { |
fprintf(stderr, "Cannot open aux file %s for output\n", |
fprintf(stderr, "Cannot open aux file %s for output\n", |
PSLATEX_psfile); |
PSLATEX_psfile); |
|
/* And what? Error handling????? */ |
} |
} |
} else { |
} else { |
fprintf(stderr, "\ |
fprintf(stderr, "\ |
Cannot make PostScript file name from %s\n\ |
Cannot make PostScript file name from %s\n\ |
Turning off auxfile option\n", outstr); |
Turning off auxfile option\n", outstr); |
PSLATEX_auxFile = NULL; |
PSLATEX_auxFile = NULL; |
|
/* NEW! */ PSLATEX_useAuxFile = FALSE; |
} |
} |
} |
} |
if (PSLATEX_output) { |
if (PSLATEX_output) { |
Line 272 TERM_PUBLIC void PSLATEX_graphics() |
|
Line 279 TERM_PUBLIC void PSLATEX_graphics() |
|
struct termentry *t = term; |
struct termentry *t = term; |
|
|
if (PSLATEX_output) |
if (PSLATEX_output) |
fprintf(gpoutfile, "\\begin{picture}(%d,%d)(0,0)%%\n", (int) (xsize * t->xmax), (int) |
fprintf(gpoutfile, "\\begin{picture}(%d,%d)(0,0)%%\n", |
(ysize * t->ymax)); |
(int) (xsize * t->xmax), (int) (ysize * t->ymax)); |
else |
else |
fprintf(gpoutfile, "\\GNUPLOTpicture(%d,%d)\n", (int) (xsize * t->xmax), (int) (ysize * t->ymax)); |
fprintf(gpoutfile, "\\GNUPLOTpicture(%d,%d)\n", |
|
(int) (xsize * t->xmax), (int) (ysize * t->ymax)); |
|
|
if (PSLATEX_auxFile) { |
if (PSLATEX_auxFile) { |
FILE *tmp; |
FILE *tmp; |
/* |
/* these are taken from the post.trm file computation |
* these are taken from the post.trm file computation |
* of the bounding box, but without the X_OFF and Y_OFF */ |
* of the bounding box, but without the X_OFF and Y_OFF |
int urx = (int) (xsize * (PS_XMAX) / PS_SC + 0.5); |
*/ |
int ury = (int) (ysize * (PS_YMAX) / PS_SC + 0.5); |
int urx = (int) (xsize * (PS_XMAX) / PS_SC + 0.5), ury = (int) (ysize * (PS_YMAX) / PS_SC |
/* moved this code here from beginning of the function |
+ 0.5); |
* PSLATEX_psfile is only != NULL with the `auxfile' option */ |
|
char *psfile_basename = strrchr(PSLATEX_psfile, DIRSEP1); |
|
|
|
if (psfile_basename) |
|
psfile_basename++; |
|
else { |
|
if (DIRSEP2 != NUL) { |
|
psfile_basename = strrchr(PSLATEX_psfile, DIRSEP2); |
|
if (psfile_basename) |
|
psfile_basename++; |
|
else |
|
psfile_basename = PSLATEX_psfile; |
|
} else |
|
psfile_basename = PSLATEX_psfile; |
|
} |
|
|
/* generate special which xdvi and dvips can handle */ |
/* generate special which xdvi and dvips can handle */ |
fprintf(gpoutfile, |
fprintf(gpoutfile, |
"\\special{psfile=%s llx=0 lly=0 urx=%d ury=%d rwi=%d}\n", |
"\\special{psfile=%s llx=0 lly=0 urx=%d ury=%d rwi=%d}\n", |
PSLATEX_psfile, urx, ury, 10 * urx); |
psfile_basename, urx, ury, 10 * urx); |
tmp = gpoutfile; |
tmp = gpoutfile; |
gpoutfile = PSLATEX_auxFile; |
gpoutfile = PSLATEX_auxFile; |
PS_graphics(); |
PS_graphics(); |
Line 601 START_HELP(pslatex) |
|
Line 623 START_HELP(pslatex) |
|
" This is useful if your pictures are large enough that dvips cannot handle", |
" This is useful if your pictures are large enough that dvips cannot handle", |
" them. The name of the auxiliary PostScript file is derived from the name of", |
" them. The name of the auxiliary PostScript file is derived from the name of", |
" the TeX file given on the `set output` command; it is determined by replacing", |
" the TeX file given on the `set output` command; it is determined by replacing", |
" the trailing `.tex` (actually just the final extent in the file name---and", |
" the trailing `.tex` (actually just the final extent in the file name) with", |
" the option will be turned off if there is no extent) with `.ps` in the output", |
" `.ps` in the output file name, or, if the TeX file has no extension, `.ps`", |
" file name. Remember to close the file before leaving `gnuplot`.", |
" is appended. Remember to close the file before leaving `gnuplot`.", |
"", |
"", |
" All drivers for LaTeX offer a special way of controlling text positioning:", |
" All drivers for LaTeX offer a special way of controlling text positioning:", |
" If any text string begins with '{', you also need to include a '}' at the", |
" If any text string begins with '{', you also need to include a '}' at the", |