home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume40 / gnuplot / part28 < prev    next >
Encoding:
Text File  |  1993-10-29  |  80.3 KB  |  2,780 lines

  1. Newsgroups: comp.sources.misc
  2. From: woo@playfair.stanford.edu ("Alexander Woo")
  3. Subject: v40i040:  gnuplot - interactive function plotting utility, Part28/33
  4. Message-ID: <1993Oct25.030214.2621@sparky.sterling.com>
  5. X-Md4-Signature: e9306ee2e9f1519dd9672a285ef6eb1f
  6. Sender: kent@sparky.sterling.com (Kent Landfield)
  7. Organization: Sterling Software
  8. Date: Mon, 25 Oct 1993 03:02:14 GMT
  9. Approved: kent@sparky.sterling.com
  10.  
  11. Submitted-by: woo@playfair.stanford.edu ("Alexander Woo")
  12. Posting-number: Volume 40, Issue 40
  13. Archive-name: gnuplot/part28
  14. Environment: UNIX, MS-DOS, VMS
  15. Supersedes: gnuplot3: Volume 24, Issue 23-48
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then feed it
  19. # into a shell via "sh file" or similar.  To overwrite existing files,
  20. # type "sh file -c".
  21. # Contents:  gnuplot/demo/using.dat gnuplot/docs/doc2ms.c
  22. #   gnuplot/docs/doc2tex.c gnuplot/gnuplot.el gnuplot/makefile.nt
  23. #   gnuplot/makefile.tc gnuplot/makefile.win gnuplot/setshow.h
  24. #   gnuplot/term/iris4d.trm gnuplot/term/pslatex.trm
  25. #   gnuplot/term/tgif.trm gnuplot/win/wgnuplib.rc
  26. #   gnuplot/win/wgnuplot.rc
  27. # Wrapped by kent@sparky on Wed Oct 20 17:15:01 1993
  28. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  29. echo If this archive is complete, you will see the following message:
  30. echo '          "shar: End of archive 28 (of 33)."'
  31. if test -f 'gnuplot/demo/using.dat' -a "${1}" != "-c" ; then 
  32.   echo shar: Will not clobber existing file \"'gnuplot/demo/using.dat'\"
  33. else
  34.   echo shar: Extracting \"'gnuplot/demo/using.dat'\" \(5630 characters\)
  35.   sed "s/^X//" >'gnuplot/demo/using.dat' <<'END_OF_FILE'
  36. X#
  37. X# $Id: using.dat 3.38.2.6 1992/11/14 02:25:21 woo Exp $
  38. X#
  39. X#
  40. X891101 00   1.00  14   8.6  94.0
  41. X891101 01   1.04  10  17.5  94.4
  42. X891101 02   1.08   9   9.7  97.1
  43. X891101 03   1.13   9  10.1  94.3
  44. X891101 04   1.17   9   5.7  98.3
  45. X891101 05   1.21   8   8.1  99.7
  46. X891101 06   1.25   7   3.2  99.6
  47. X891101 07   1.29   6   2.5  99.8
  48. X891101 08   1.33  20   2.3  99.4
  49. X891101 09   1.38  30   3.5  96.1
  50. X891101 10   1.42  37   7.7  96.4
  51. X891101 11   1.46  36   9.8  97.4
  52. X891101 12   1.50  30   8.8  97.4
  53. X891101 13   1.54  32   9.1  96.5
  54. X891101 14   1.58  37   6.3  97.0
  55. X891101 15   1.63  35   6.1  97.3
  56. X891101 16   1.67  41   8.6  97.2
  57. X891101 17   1.71  28   7.6  97.3
  58. X891101 18   1.75  16   4.3  97.6
  59. X891101 19   1.79  21   4.2  97.5
  60. X891101 20   1.83  20   5.6  96.9
  61. X891101 21   1.88  24   6.6  96.2
  62. X891101 22   1.92  19   5.8  97.1
  63. X891101 23   1.96  16   7.4  97.1
  64. X891102 00   2.00  13   7.4  96.4
  65. X891102 01   2.04   8   6.6  95.6
  66. X891102 02   2.08   6   7.4  94.1
  67. X891102 03   2.13   6   6.4  95.9
  68. X891102 04   2.17   7   6.4  95.5
  69. X891102 05   2.21   6   6.7  95.5
  70. X891102 06   2.25   6   6.3  94.6
  71. X891102 07   2.29   7   6.5  93.1
  72. X891102 08   2.33  15   6.5  92.8
  73. X891102 09   2.38  22   7.2  93.2
  74. X891102 10   2.42  31   9.1  93.9
  75. X891102 11   2.46  37  11.0  95.6
  76. X891102 12   2.50  40   9.8  98.7
  77. X891102 13   2.54  45   9.5  97.3
  78. X891102 14   2.58  46  11.4  98.5
  79. X891102 15   2.63  46  11.9  99.1
  80. X891102 16   2.67  43  13.0  98.8
  81. X891102 17   2.71  28  14.5  99.1
  82. X891102 18   2.75  25  13.4  99.1
  83. X891102 19   2.79  24   9.9  99.7
  84. X891102 20   2.83  25   8.1  99.5
  85. X891102 21   2.88  24  10.3  99.4
  86. X891102 22   2.92  24  12.0  98.7
  87. X891102 23   2.96  23  18.2  98.7
  88. X891103 00   3.00  20  16.8  99.0
  89. X891103 01   3.04  16  14.8  99.2
  90. X891103 02   3.08  17  15.5  98.0
  91. X891103 03   3.13  17  14.4  99.4
  92. X891103 04   3.17  16  14.4  99.4
  93. X891103 05   3.21  14  11.3  99.4
  94. X891103 06   3.25  13   8.0  99.7
  95. X891103 07   3.29  13   6.1  99.9
  96. X891103 08   3.33  18   6.4  99.8
  97. X891103 09   3.38  31   6.5  98.9
  98. X891103 10   3.42  39   7.5  99.0
  99. X891103 11   3.46  37   9.1  98.8
  100. X891103 12   3.50  33   9.0  99.2
  101. X891103 13   3.54  40  10.4  98.7
  102. X891103 14   3.58  45  12.9  98.3
  103. X891103 15   3.63  45  13.8  98.5
  104. X891103 16   3.67  37  16.1  98.9
  105. X891103 17   3.71  29  16.0  99.3  57
  106. X891103 18   3.75  21  17.4  97.9  55
  107. X891103 19   3.79  14  14.6  97.7
  108. X891103 20   3.83  11  14.3  97.8  57
  109. X891103 21   3.88  15  14.7  96.2  59
  110. X891103 22   3.92  10  12.8  95.1  57
  111. X891103 23   3.96   8  10.2  97.6
  112. X891104 00   4.00   6   7.3  98.6
  113. X891104 01   4.04   4   4.7  99.8
  114. X891104 02   4.08   3   3.4  98.0
  115. X891104 03   4.13   4   2.9  99.6
  116. X891104 04   4.17   4   2.1  99.8
  117. X891104 05   4.21   4  11.7  99.9
  118. X891104 06   4.25   4   4.5  99.9
  119. X891104 07   4.29   4   1.6  88.4
  120. X891104 08   4.33   4   1.3  65.2
  121. X891104 09   4.38   7   1.4  71.4
  122. X891104 10   4.42   9   1.3  70.7
  123. X891104 11   4.46  14   8.1  99.5
  124. X891104 12   4.50  12   4.2  75.3
  125. X891104 13   4.54  18  10.9  95.3
  126. X891104 14   4.58  16   7.1  87.6
  127. X891104 15   4.63  18   3.3  98.9
  128. X891104 16   4.67  15   3.4  99.6
  129. X891104 17   4.71   8   2.4  99.9
  130. X891104 18   4.75   8   2.2  99.8
  131. X891104 19   4.79  11   2.2  99.7
  132. X891104 20   4.83  14   2.3  99.7
  133. X891104 21   4.88  13   2.5  99.7
  134. X891104 22   4.92  10   3.1  99.8
  135. X891104 23   4.96  12   4.5  99.7
  136. X891105 00   5.00   9   4.8  99.7
  137. X891105 01   5.04   8   4.9  99.8
  138. X891105 02   5.08   5   5.7  97.5
  139. X891105 03   5.13   5   5.2  97.6
  140. X891105 04   5.17   4   3.3  85.9
  141. X891105 05   5.21   5   1.2  71.4
  142. X891105 06   5.25   5   1.1  61.8
  143. X891105 07   5.29   5   1.0  71.8
  144. X891105 08   5.33   5   1.0  55.7
  145. X891105 09   5.38   6   1.0  62.2
  146. X891105 10   5.42   7   1.1  61.9
  147. X891105 11   5.46   9   1.4  65.6
  148. X891105 12   5.50  14   2.8  99.6
  149. X891105 13   5.54  16   2.1  94.0
  150. X891105 14   5.58  16   2.2  85.1
  151. X891105 15   5.63  17   2.5  99.7
  152. X891105 16   5.67  19   2.2  90.8
  153. X891105 17   5.71  16   1.5  61.3
  154. X891105 18   5.75  12   1.6  71.8
  155. X891105 19   5.79  16   2.8  98.3
  156. X891105 20   5.83  17   3.3  88.8
  157. X891105 21   5.88  18   1.3  56.5
  158. X891105 22   5.92  20   0.9  38.8
  159. X891105 23   5.96  12   1.1  50.8
  160. X891106 00   6.00  10   2.2  68.4
  161. X891106 01   6.04   8   1.2  54.4
  162. X891106 02   6.08   8   1.6  58.4
  163. X891106 03   6.13   7   1.1  52.2
  164. X891106 04   6.17   6   1.1  56.4
  165. X891106 05   6.21   6   1.2  55.7
  166. X891106 06   6.25   6   1.0  46.2
  167. X891106 07   6.29   7   0.5   7.2
  168. X891106 08   6.33  17   0.7  13.8
  169. X891106 09   6.38  31   1.1  41.5
  170. X891106 10   6.42  37   1.5  52.7
  171. X891106 11   6.46  36   3.1  83.7
  172. X891106 12   6.50  29   2.0  70.0
  173. X891106 13   6.54  28   1.6  71.4
  174. X891106 14   6.58  38   3.1  99.1
  175. X891106 15   6.63  39   5.6  98.2
  176. X891106 16   6.67  43   5.7  98.7  59
  177. X891106 17   6.71  27   5.7  99.4
  178. X891106 18   6.75  15   4.3  99.8
  179. X891106 19   6.79  17   4.1  99.7
  180. X891106 20   6.83  20   2.9  99.3
  181. X891106 21   6.88  16   3.1  96.3
  182. X891106 22   6.92  16   2.8  86.1
  183. X891106 23   6.96  16   3.3  96.5
  184. X891107 00   7.00  12   3.2  98.2
  185. X891107 01   7.04  12   1.6  77.7
  186. X891107 02   7.08  10   3.0  98.7
  187. X891107 03   7.13   8   1.7  71.1
  188. X891107 04   7.17   8   2.8  81.4
  189. X891107 05   7.21   8   5.4  92.4
  190. X891107 06   7.25   9   5.3  87.7
  191. X891107 07   7.29  11   5.6  94.0
  192. X891107 08   7.33  15   2.0  74.0
  193. X891107 09   7.38  25   2.7  84.3
  194. X891107 10   7.42  32   3.0  92.9
  195. X891107 11   7.46  41   5.5  97.4
  196. X891107 12   7.50  39   6.5  97.5
  197. X891107 13   7.54  31   4.4  95.9
  198. X891107 14   7.58  35   7.3  98.6
  199. X891107 15   7.63  37   8.3  96.3
  200. X891107 16   7.67  34   9.2  97.6
  201. X891107 17   7.71  20   7.5  99.3
  202. X891107 18   7.75  14   7.1  99.5
  203. X891107 19   7.79  15   7.1  99.7
  204. X891107 20   7.83  16   4.9  99.7
  205. X891107 21   7.88  18   4.3  99.7
  206. X891107 22   7.92  15   3.1  99.7
  207. X891107 23   7.96  11   3.3  99.6
  208. END_OF_FILE
  209.   if test 5630 -ne `wc -c <'gnuplot/demo/using.dat'`; then
  210.     echo shar: \"'gnuplot/demo/using.dat'\" unpacked with wrong size!
  211.   fi
  212.   # end of 'gnuplot/demo/using.dat'
  213. fi
  214. if test -f 'gnuplot/docs/doc2ms.c' -a "${1}" != "-c" ; then 
  215.   echo shar: Will not clobber existing file \"'gnuplot/docs/doc2ms.c'\"
  216. else
  217.   echo shar: Extracting \"'gnuplot/docs/doc2ms.c'\" \(5822 characters\)
  218.   sed "s/^X//" >'gnuplot/docs/doc2ms.c' <<'END_OF_FILE'
  219. X#ifndef lint
  220. Xstatic char *RCSid = "$Id: doc2ms.c%v 3.38.2.70 1993/02/08 02:19:29 woo Exp woo $";
  221. X#endif
  222. X
  223. X
  224. X/*
  225. X * doc2ms.c  -- program to convert Gnuplot .DOC format to *roff -ms document
  226. X * From hlp2ms by Thomas Williams 
  227. X *
  228. X * Modified by Russell Lang, 2nd October 1989
  229. X * to make vms help level 1 and 2 create the same ms section level.
  230. X *
  231. X * Modified to become doc2ms by David Kotz (David.Kotz@Dartmouth.edu) 12/89
  232. X * Added table and backquote support.
  233. X *
  234. X * usage:  doc2ms [file.doc [file.ms]]
  235. X *
  236. X *   where file.doc is a VMS .DOC file, and file.ms will be a [nt]roff
  237. X *     document suitable for printing with nroff -ms or troff -ms
  238. X *
  239. X * typical usage for GNUPLOT:
  240. X *
  241. X *   doc2ms gnuplot.doc | tbl | eqn | troff -ms
  242. X *
  243. X * or
  244. X *
  245. X *   doc2ms gnuplot.doc | groff -ms -et >gnuplot.ps
  246. X */
  247. X
  248. X#include <stdio.h>
  249. X#include <ctype.h>
  250. X
  251. X#define MAX_NAME_LEN    256
  252. X#define MAX_LINE_LEN    256
  253. X#define LINE_SKIP        3
  254. X
  255. X#define TRUE 1
  256. X#define FALSE 0
  257. X
  258. Xtypedef int boolean;
  259. X
  260. Xstatic boolean intable = FALSE;
  261. X
  262. Xmain(argc,argv)
  263. Xint argc;
  264. Xchar **argv;
  265. X{
  266. XFILE * infile;
  267. XFILE * outfile;
  268. X    infile = stdin;
  269. X    outfile = stdout;
  270. X    if (argc > 3) {
  271. X        fprintf(stderr,"Usage: %s [infile [outfile]]\n", argv[0]);
  272. X        exit(1);
  273. X    }
  274. X    if (argc >= 2) 
  275. X        if ( (infile = fopen(argv[1],"r")) == (FILE *)NULL) {
  276. X            fprintf(stderr,"%s: Can't open %s for reading\n",
  277. X                argv[0], argv[1]);
  278. X            exit(1);
  279. X        }
  280. X    if (argc == 3)
  281. X        if ( (outfile = fopen(argv[2],"w")) == (FILE *)NULL) {
  282. X            fprintf(stderr,"%s: Can't open %s for writing\n",
  283. X                argv[0], argv[2]);
  284. X        }
  285. X    
  286. X    init(outfile);
  287. X    convert(infile,outfile);
  288. X    finish(outfile);
  289. X    exit(0);
  290. X}
  291. X
  292. X
  293. Xinit(b)
  294. XFILE *b;
  295. X{
  296. X    /* in nroff, increase line length by 8 and don't adjust lines */
  297. X    (void) fputs(".if n \\{.nr LL +8m\n.na \\}\n",b);
  298. X    (void) fputs(".nr PO +0.3i\n",b);
  299. X    (void) fputs(".so titlepag.ms\n",b);
  300. X    (void) fputs(".pn 1\n",b);
  301. X    (void) fputs(".bp\n",b);
  302. X    (void) fputs(".ta 1.5i 3.0i 4.5i 6.0i 7.5i\n",b);
  303. X    (void) fputs("\\&\n.sp 3\n.PP\n",b);
  304. X    /* following line commented out by rjl
  305. X      (void) fputs(".so intro\n",b);
  306. X      */
  307. X}
  308. X
  309. X
  310. Xconvert(a,b)
  311. X    FILE *a,*b;
  312. X{
  313. X    static char line[MAX_LINE_LEN];
  314. X
  315. X    while (fgets(line,MAX_LINE_LEN,a)) {
  316. X       process_line(line, b);
  317. X    }
  318. X}
  319. X
  320. Xprocess_line(line, b)
  321. X    char *line;
  322. X    FILE *b;
  323. X{
  324. X    switch(line[0]) {        /* control character */
  325. X       case '?': {            /* interactive help entry */
  326. X          break;            /* ignore */
  327. X       }
  328. X       case '@': {            /* start/end table */
  329. X          if (intable) {
  330. X             (void) fputs(".TE\n.KE\n", b);
  331. X             (void) fputs(".EQ\ndelim off\n.EN\n\n",b);
  332. X             intable = FALSE;
  333. X          } else {
  334. X             (void) fputs("\n.EQ\ndelim $$\n.EN\n",b);
  335. X             (void) fputs(".KS\n.TS\ncenter box tab (@) ;\n", b);
  336. X             (void) fputs("c c l .\n", b);
  337. X             intable = TRUE;
  338. X          }
  339. X          /* ignore rest of line */
  340. X          break;
  341. X       }
  342. X       case '#': {            /* latex table entry */
  343. X          break;            /* ignore */
  344. X       }
  345. X       case '%': {            /* troff table entry */
  346. X          if (intable)
  347. X            (void) fputs(line+1, b); /* copy directly */
  348. X          else
  349. X            fprintf(stderr, "error: % line found outside of table\n");
  350. X          break;
  351. X       }
  352. X       case '\n':            /* empty text line */
  353. X       case ' ': {            /* normal text line */
  354. X          if (intable)
  355. X            break;        /* ignore while in table */
  356. X          switch(line[1]) {
  357. X             case ' ': {
  358. X                /* verbatim mode */
  359. X                fputs(".br\n",b); 
  360. X                putms_verb(line+1,b); 
  361. X                fputs(".br\n",b);
  362. X                break;
  363. X             }
  364. X             case '\'': {
  365. X                fputs("\\&",b);
  366. X                putms(line+1,b); 
  367. X                break;
  368. X             }
  369. X             default: {
  370. X                if (line[0] == '\n')
  371. X                  putms(line,b); /* handle totally blank line */
  372. X                else
  373. X                  putms(line+1,b);
  374. X                break;
  375. X             }
  376. X             break;
  377. X          }
  378. X          break;
  379. X       }
  380. X       default: {
  381. X          if (isdigit(line[0])) { /* start of section */
  382. X             if (!intable)    /* ignore while in table */
  383. X               section(line, b);
  384. X          } else
  385. X            fprintf(stderr, "unknown control code '%c' in column 1\n", 
  386. X                  line[0]);
  387. X          break;
  388. X       }
  389. X    }
  390. X}
  391. X
  392. X
  393. X/* process a line with a digit control char */
  394. X/* starts a new [sub]section */
  395. X
  396. Xsection(line, b)
  397. X    char *line;
  398. X    FILE *b;
  399. X{
  400. X    static char string[MAX_LINE_LEN];
  401. X    int sh_i;
  402. X    static int old = 1;
  403. X
  404. X  
  405. X    (void) sscanf(line,"%d %[^\n]s",&sh_i,string);
  406. X    
  407. X    (void) fprintf(b,".sp %d\n",(sh_i == 1) ? LINE_SKIP : LINE_SKIP-1);
  408. X    
  409. X    if (sh_i > old) {
  410. X       do
  411. X        if (old!=1)    /* this line added by rjl */
  412. X          (void) fputs(".RS\n.IP\n",b);
  413. X       while (++old < sh_i);
  414. X    }
  415. X    else if (sh_i < old) {
  416. X       do
  417. X               if (sh_i!=1) /* this line added by rjl */
  418. X                (void) fputs(".RE\n.br\n",b);
  419. X       while (--old > sh_i);
  420. X    }
  421. X    
  422. X    /* added by dfk to capitalize section headers */
  423. X    if (islower(string[0]))
  424. X     string[0] = toupper(string[0]);
  425. X    
  426. X    /* next 3 lines added by rjl */
  427. X    if (sh_i!=1) 
  428. X     (void) fprintf(b,".NH %d\n%s\n.sp 1\n.LP\n",sh_i-1,string);
  429. X    else 
  430. X     (void) fprintf(b,".NH %d\n%s\n.sp 1\n.LP\n",sh_i,string);
  431. X    old = sh_i;
  432. X    
  433. X    (void) fputs(".XS\n",b);
  434. X    (void) fputs(string,b);
  435. X    (void) fputs("\n.XE\n",b);
  436. X}
  437. X
  438. Xputms(s, file)
  439. X    char *s;
  440. X    FILE *file;
  441. X{
  442. X    static boolean inquote = FALSE;
  443. X
  444. X    while (*s != '\0') {
  445. X       switch (*s) {
  446. X          case '`': {        /* backquote -> boldface */
  447. X             if (inquote) {
  448. X                fputs("\\fR", file);
  449. X                inquote = FALSE;
  450. X             } else {
  451. X                fputs("\\fB", file);
  452. X                inquote = TRUE;
  453. X             }
  454. X             break;
  455. X          }
  456. X          case '\\': {        /* backslash */
  457. X             fputs("\\\\", file);
  458. X             break;
  459. X          }
  460. X          default: {
  461. X             fputc(*s, file);
  462. X             break;
  463. X          }
  464. X       }
  465. X       s++;
  466. X    }
  467. X}
  468. X
  469. X/*
  470. X * convert a verbatim line to troff input style, i.e. convert "\" to "\\"
  471. X * (added by Alexander Lehmann 01/30/93)
  472. X */
  473. X
  474. Xputms_verb(s, file)
  475. X    char *s;
  476. X    FILE *file;
  477. X{
  478. X    static boolean inquote = FALSE;
  479. X
  480. X    while (*s != '\0') {
  481. X       if (*s == '\\') {
  482. X         fputc('\\', file);
  483. X       }
  484. X       fputc(*s, file);
  485. X       s++;
  486. X    }
  487. X}
  488. X
  489. Xfinish(b)        /* spit out table of contents */
  490. XFILE *b;
  491. X{
  492. X    (void) fputs(".pn 1\n",b);
  493. X    (void) fputs(".ds RH %\n",b);
  494. X    (void) fputs(".af % i\n",b);
  495. X    (void) fputs(".bp\n.PX\n",b);
  496. X}
  497. END_OF_FILE
  498.   if test 5822 -ne `wc -c <'gnuplot/docs/doc2ms.c'`; then
  499.     echo shar: \"'gnuplot/docs/doc2ms.c'\" unpacked with wrong size!
  500.   fi
  501.   # end of 'gnuplot/docs/doc2ms.c'
  502. fi
  503. if test -f 'gnuplot/docs/doc2tex.c' -a "${1}" != "-c" ; then 
  504.   echo shar: Will not clobber existing file \"'gnuplot/docs/doc2tex.c'\"
  505. else
  506.   echo shar: Extracting \"'gnuplot/docs/doc2tex.c'\" \(5314 characters\)
  507.   sed "s/^X//" >'gnuplot/docs/doc2tex.c' <<'END_OF_FILE'
  508. X#ifndef lint
  509. Xstatic char *RCSid = "$Id: doc2tex.c%v 3.38.2.70 1993/02/08 02:19:29 woo Exp woo $";
  510. X#endif
  511. X
  512. X
  513. X/*
  514. X * doc2tex.c  -- program to convert Gnuplot .DOC format to LaTeX document
  515. X * Also will work for VMS .HLP files. 
  516. X * Modified by Russell Lang from hlp2ms.c by Thomas Williams 
  517. X * Extended by David Kotz to support quotes ("), backquotes, tables.
  518. X *
  519. X * usage:  doc2tex [file.doc [file.tex]]
  520. X *
  521. X *   where file.doc is a Gnuplot .DOC file, and file.tex will be an
  522. X *     article document suitable for printing with LaTeX.
  523. X *
  524. X * typical usage for GNUPLOT:
  525. X *
  526. X *   doc2tex gnuplot.doc gnuplot.tex 
  527. X *   latex gnuplot.tex ; latex gnuplot.tex
  528. X */
  529. X
  530. X#include <stdio.h>
  531. X#include <ctype.h>
  532. X
  533. X#define MAX_NAME_LEN    256
  534. X#define MAX_LINE_LEN    256
  535. X#define TRUE 1
  536. X#define FALSE 0
  537. X
  538. Xtypedef int boolean;
  539. X
  540. Xboolean intable = FALSE;
  541. Xboolean verb = FALSE;
  542. X
  543. Xmain(argc,argv)
  544. Xint argc;
  545. Xchar **argv;
  546. X{
  547. XFILE * infile;
  548. XFILE * outfile;
  549. X    infile = stdin;
  550. X    outfile = stdout;
  551. X    if (argc > 3) {
  552. X        fprintf(stderr,"Usage: %s [infile [outfile]]\n", argv[0]);
  553. X        exit(1);
  554. X    }
  555. X    if (argc >= 2) 
  556. X        if ( (infile = fopen(argv[1],"r")) == (FILE *)NULL) {
  557. X            fprintf(stderr,"%s: Can't open %s for reading\n",
  558. X                argv[0], argv[1]);
  559. X            exit(1);
  560. X        }
  561. X    if (argc == 3)
  562. X        if ( (outfile = fopen(argv[2],"w")) == (FILE *)NULL) {
  563. X            fprintf(stderr,"%s: Can't open %s for writing\n",
  564. X                argv[0], argv[2]);
  565. X        }
  566. X    
  567. X    init(outfile);
  568. X    convert(infile,outfile);
  569. X    finish(outfile);
  570. X    exit(0);
  571. X}
  572. X
  573. X
  574. Xinit(b)
  575. XFILE *b;
  576. X{
  577. X    (void) fputs("\\input{titlepag.tex}\n",b);
  578. X}
  579. X
  580. X
  581. Xconvert(a,b)
  582. X    FILE *a,*b;
  583. X{
  584. X    static char line[MAX_LINE_LEN];
  585. X
  586. X    while (fgets(line,MAX_LINE_LEN,a)) {
  587. X       process_line(line, b);
  588. X    }
  589. X}
  590. X
  591. Xprocess_line(line, b)
  592. X    char *line;
  593. X    FILE *b;
  594. X{
  595. X    switch(line[0]) {        /* control character */
  596. X       case '?': {            /* interactive help entry */
  597. X          break;            /* ignore */
  598. X       }
  599. X       case '@': {            /* start/end table */
  600. X          if (intable) {
  601. X             (void) fputs("\\hline\n\\end{tabular}\n", b);
  602. X             (void) fputs("\\end{center}\n",b);
  603. X             intable = FALSE;
  604. X          } else {
  605. X             if (verb) {
  606. X                (void) fputs("\\end{verbatim}\n",b);
  607. X                verb=FALSE;
  608. X             } 
  609. X             (void) fputs("\n\\begin{center}\n", b);
  610. X             (void) fputs("\\begin{tabular}{|ccl|} \\hline\n", b);
  611. X             intable = TRUE;
  612. X          }
  613. X          /* ignore rest of line */
  614. X          break;
  615. X       }
  616. X       case '#': {            /* latex table entry */
  617. X          if (intable)
  618. X            (void) fputs(line+1, b); /* copy directly */
  619. X          else
  620. X            fprintf(stderr, "error: # line found outside of table\n");
  621. X          break;
  622. X       }
  623. X       case '%': {            /* troff table entry */
  624. X          break;            /* ignore */
  625. X       }
  626. X       case '\n':            /* empty text line */
  627. X       case ' ': {            /* normal text line */
  628. X          if (intable)
  629. X            break;        /* ignore while in table */
  630. X          if (line[1] == ' ') {
  631. X             /* verbatim mode */
  632. X             if (!verb) {
  633. X                (void) fputs("\\begin{verbatim}\n",b);
  634. X                verb=TRUE;
  635. X             }
  636. X             (void) fputs(line+1,b); 
  637. X          } else {
  638. X             if (verb) {
  639. X                (void) fputs("\\end{verbatim}\n",b);
  640. X                verb=FALSE;
  641. X             } 
  642. X             if (line[0] == '\n')
  643. X               puttex(line,b); /* handle totally blank line */
  644. X             else
  645. X               puttex(line+1,b);
  646. X          }
  647. X          break;
  648. X       }
  649. X       default: {
  650. X          if (isdigit(line[0])) { /* start of section */
  651. X             if (!intable)    /* ignore while in table */
  652. X               section(line, b);
  653. X          } else
  654. X            fprintf(stderr, "unknown control code '%c' in column 1\n", 
  655. X                  line[0]);
  656. X          break;
  657. X       }
  658. X    }
  659. X}
  660. X
  661. X/* process a line with a digit control char */
  662. X/* starts a new [sub]section */
  663. X
  664. Xsection(line, b)
  665. X    char *line;
  666. X    FILE *b;
  667. X{
  668. X    static char string[MAX_LINE_LEN];
  669. X    int sh_i;
  670. X
  671. X    if (verb) {
  672. X       (void) fputs("\\end{verbatim}\n",b);
  673. X       verb=FALSE;
  674. X    } 
  675. X    (void) sscanf(line,"%d %[^\n]s",&sh_i,string);
  676. X    switch(sh_i)
  677. X     {
  678. X        case 1: 
  679. X        (void) fprintf(b,"\\section{");
  680. X        break;
  681. X        case 2: 
  682. X        (void) fprintf(b,"\\section{");
  683. X        break;
  684. X        case 3:
  685. X        (void) fprintf(b,"\\subsection{");
  686. X        break;
  687. X        case 4: 
  688. X        (void) fprintf(b,"\\subsubsection{");
  689. X        break;
  690. X        default:
  691. X        case 5: 
  692. X        (void) fprintf(b,"\\paragraph{");
  693. X        break;
  694. X     }
  695. X    if (islower(string[0]))
  696. X     string[0] = toupper(string[0]);
  697. X    puttex(string,b);
  698. X    (void) fprintf(b,"}\n");
  699. X}
  700. X
  701. X/* put text in string str to file while buffering special TeX characters */
  702. Xputtex(str,file)
  703. XFILE *file;
  704. Xregister char *str;
  705. X{
  706. Xregister char ch;
  707. Xstatic boolean inquote = FALSE;
  708. X
  709. X     while( (ch = *str++) != '\0') {
  710. X         switch(ch) {
  711. X             case '#':
  712. X             case '$':
  713. X             case '%':
  714. X             case '&':
  715. X             case '_':
  716. X             case '{':
  717. X             case '}':
  718. X                 (void) fputc('\\',file);
  719. X                 (void) fputc(ch,file);
  720. X                 break;
  721. X             case '\\':
  722. X                 (void) fputs("$\\backslash$",file);
  723. X                 break;
  724. X             case '~':
  725. X                 (void) fputs("\\~{\\ }",file);
  726. X                 break;
  727. X             case '^':
  728. X                 (void) fputs("\\verb+^+",file);
  729. X                 break;
  730. X             case '>':
  731. X             case '<':
  732. X             case '|':
  733. X                 (void) fputc('$',file);
  734. X                 (void) fputc(ch,file);
  735. X                 (void) fputc('$',file);
  736. X                 break;
  737. X             case '"': 
  738. X                 /* peek at next character: if space, end of quote */
  739. X                 if (*str == '\0' || isspace(*str) || ispunct(*str))
  740. X                   (void) fputs("''", file);
  741. X                 else
  742. X                   (void) fputs("``", file);
  743. X                 break;
  744. X             case '`':    /* backquotes mean boldface */
  745. X                 if (inquote) {
  746. X                    fputs("}", file);
  747. X                    inquote = FALSE;
  748. X                 } else {
  749. X                    fputs("{\\bf ", file);
  750. X                    inquote = TRUE;
  751. X                 }
  752. X                 break;
  753. X             default:
  754. X                 (void) fputc(ch,file);
  755. X                 break;
  756. X         }
  757. X     }
  758. X}
  759. X
  760. X
  761. Xfinish(b)
  762. XFILE *b;
  763. X{
  764. X    (void) fputs("\\end{document}\n",b);
  765. X}
  766. END_OF_FILE
  767.   if test 5314 -ne `wc -c <'gnuplot/docs/doc2tex.c'`; then
  768.     echo shar: \"'gnuplot/docs/doc2tex.c'\" unpacked with wrong size!
  769.   fi
  770.   # end of 'gnuplot/docs/doc2tex.c'
  771. fi
  772. if test -f 'gnuplot/gnuplot.el' -a "${1}" != "-c" ; then 
  773.   echo shar: Will not clobber existing file \"'gnuplot/gnuplot.el'\"
  774. else
  775.   echo shar: Extracting \"'gnuplot/gnuplot.el'\" \(5562 characters\)
  776.   sed "s/^X//" >'gnuplot/gnuplot.el' <<'END_OF_FILE'
  777. X;;
  778. X;; $Id: gnuplot.el%v 3.50 1993/07/09 05:35:24 woo Exp $
  779. X;;
  780. X;;
  781. X; 
  782. X; gnu-plot.el - Definitions of GNU-PLOT mode for emacs editor.
  783. X; 
  784. X; Author:    Gershon Elber
  785. X;         Computer Science Dept.
  786. X;         University of Utah
  787. X; Date:    Tue May 14 1991
  788. X; Copyright (c) 1991, 1992, Gershon Elber
  789. X;
  790. X; This file defines an environment to run edit and execute GNU-PLOT programs.
  791. X; Such a program should have a '.gp' extension in order it to be in
  792. X; gnu-plot-mode major mode. Two new functions are provided to communicate
  793. X; between the editted file and the plotting program:
  794. X; 1. send-line-to-gnu-plot - sends a single line to the plotting program for
  795. X;    execution. The line sent is the line the cursor is on,
  796. X;    Bounded to Meta-E by default.
  797. X; 2. send-region-to-gnu-plot - sends the region from the current mark
  798. X;    (mark-marker) to current position (point-marker) to the plotting program.
  799. X;    This function is convenient for sending a large block of commands.
  800. X;    Bounded to Meta-R by default.
  801. X; Both functions checks for existance of a buffer named gnu-plot-program
  802. X; and a process named "gnu-plot" hooked to it, and will restart a new process
  803. X; or buffer if none exists. The program to execute as process "gnu-plot" is
  804. X; defined by the gnu-plot-program constant below.
  805. X;
  806. X
  807. X(defvar gnu-plot-program "gnuplot"
  808. X  "*The executable to run for gnu-plot-program buffer.")
  809. X
  810. X(defvar gnu-plot-echo-program t
  811. X  "*Control echo of executed commands to gnu-plot-program buffer.")
  812. X
  813. X(defvar gnu-plot-mode-map nil "")
  814. X(if gnu-plot-mode-map
  815. X    ()
  816. X  (setq gnu-plot-mode-map (make-sparse-keymap))
  817. X  (define-key gnu-plot-mode-map "\M-e" 'send-line-to-gnu-plot)
  818. X  (define-key gnu-plot-mode-map "\M-r" 'send-region-to-gnu-plot))
  819. X
  820. X;;;
  821. X;;; Define the gnu-plot-mode
  822. X;;;
  823. X(defun gnu-plot-mode ()
  824. X  "Major mode for editing and executing GNU-PLOT files.
  825. X
  826. Xsee send-line-to-gnu-plot and send-region-to-gnu-plot for more."
  827. X  (interactive)
  828. X  (use-local-map gnu-plot-mode-map)
  829. X  (setq major-mode 'gnu-plot-mode)
  830. X  (setq mode-name "Gnu-Plot")
  831. X  (run-hooks 'gnu-plot-mode-hook))
  832. X
  833. X;;;
  834. X;;; Define send-line-to-gnu-plot - send from current cursor position to next
  835. X;;; semicolin detected.
  836. X;;;
  837. X(defun send-line-to-gnu-plot ()
  838. X  "Sends one line of code from current buffer to the GNU-PLOT program.
  839. X
  840. XUse to execute a line in the GNU-PLOT plotting program. The line sent is
  841. Xthe line the cursor (point) is on.
  842. X
  843. XThe GNU-PLOT plotting program buffer name is gnu-plot-program and the 
  844. Xprocess name is 'gnu-plot'. If none exists, a new one is created.
  845. X
  846. XThe name of the gnu-plot program program to execute is stored in
  847. Xgnu-plot-program variable and may be changed."
  848. X  (interactive)
  849. X  (if (equal major-mode 'gnu-plot-mode)
  850. X    (progn
  851. X      (make-gnu-plot-buffer)        ; In case we should start a new one.
  852. X      (beginning-of-line)
  853. X      (let ((start-mark (point-marker)))
  854. X    (next-line 1)
  855. X    (let* ((crnt-buffer (buffer-name))
  856. X           (end-mark (point-marker))
  857. X           (string-copy (buffer-substring start-mark end-mark)))
  858. X      (switch-to-buffer-other-window (get-buffer "gnu-plot-program"))
  859. X      (end-of-buffer)
  860. X      (if gnu-plot-echo-program
  861. X        (insert string-copy))
  862. X      (set-marker (process-mark (get-process "gnu-plot")) (point-marker))
  863. X      (if (not (pos-visible-in-window-p))
  864. X        (recenter 3))
  865. X      (switch-to-buffer-other-window (get-buffer crnt-buffer))
  866. X      (process-send-region "gnu-plot" start-mark end-mark)
  867. X      (goto-char end-mark))))
  868. X    (message "Should be invoked in gnu-plot-mode only.")))
  869. X
  870. X;;;
  871. X;;; Define send-region-to-gnu-plot - send from current cursor position to
  872. X;;; current marker.
  873. X;;;
  874. X(defun send-region-to-gnu-plot ()
  875. X  "Sends a region of code from current buffer to the GNU-PLOT program.
  876. X
  877. XWhen this function is invoked on an GNU-PLOT file it send the region
  878. Xfrom current point to current mark to the gnu-plot plotting program.
  879. X
  880. XThe GNU-PLOT plotting program buffer name is gnu-plot-program and the
  881. Xprocess name is 'gnu-plot'. If none exists, a new one is created.
  882. X
  883. XThe name of the gnu-plot program program to execute is stored in
  884. Xgnu-plot-program variable and may be changed."
  885. X  (interactive)
  886. X  (if (equal major-mode 'gnu-plot-mode)
  887. X    (progn
  888. X      (make-gnu-plot-buffer)     ; In case we should start a new one.
  889. X      (copy-region-as-kill (mark-marker) (point-marker))
  890. X      (let ((crnt-buffer (buffer-name)))
  891. X    (switch-to-buffer-other-window (get-buffer "gnu-plot-program"))
  892. X    (end-of-buffer)
  893. X    (if gnu-plot-echo-program
  894. X      (yank))
  895. X    (set-marker (process-mark (get-process "gnu-plot")) (point-marker))
  896. X    (if (not (pos-visible-in-window-p))
  897. X      (recenter 3))
  898. X    (switch-to-buffer-other-window (get-buffer crnt-buffer))
  899. X    (process-send-region "gnu-plot" (mark-marker) (point-marker))))
  900. X    (message "Should be invoked in gnu-plot-mode only.")))
  901. X
  902. X;;;
  903. X;;; Switch to "gnu-plot-program" buffer if exists. If not, creates one and
  904. X;;; execute the program defined by gnu-plot-program.
  905. X;;;
  906. X(defun make-gnu-plot-buffer ()
  907. X  "Switch to gnu-plot-program buffer or create one if none exists"
  908. X  (interactive)
  909. X  (if (get-buffer "gnu-plot-program")
  910. X    (if (not (get-process "gnu-plot"))
  911. X      (progn
  912. X    (message "Starting GNU-PLOT plotting program...")
  913. X    (start-process "gnu-plot" "gnu-plot-program" gnu-plot-program)
  914. X    (process-send-string "gnu-plot" "\n")
  915. X    (message "Done.")))
  916. X    (progn
  917. X      (message "Starting GNU-PLOT plotting program...")
  918. X      (start-process "gnu-plot" "gnu-plot-program" gnu-plot-program)
  919. X      (process-send-string "gnu-plot" "\n")
  920. X      (message "Done."))))
  921. X
  922. X;;;
  923. X;;; Autoload gnu-plot-mode on any file with gp extension. 
  924. X;;;
  925. X(setq auto-mode-alist (append '(("\\.gp$" . gnu-plot-mode))
  926. X                  auto-mode-alist))
  927. END_OF_FILE
  928.   if test 5562 -ne `wc -c <'gnuplot/gnuplot.el'`; then
  929.     echo shar: \"'gnuplot/gnuplot.el'\" unpacked with wrong size!
  930.   fi
  931.   # end of 'gnuplot/gnuplot.el'
  932. fi
  933. if test -f 'gnuplot/makefile.nt' -a "${1}" != "-c" ; then 
  934.   echo shar: Will not clobber existing file \"'gnuplot/makefile.nt'\"
  935. else
  936.   echo shar: Extracting \"'gnuplot/makefile.nt'\" \(5755 characters\)
  937.   sed "s/^X//" >'gnuplot/makefile.nt' <<'END_OF_FILE'
  938. X#
  939. X# Make file for Microsoft C  Version 7.0 Windows NT Version
  940. X# and Microsoft Program Maintenance Utility  Version 1.20
  941. X# 
  942. X
  943. X# This has never been tried
  944. X
  945. X# I do not have access to Windows NT so I have not tested any of this.
  946. X# I don't even know if WIN32 is the appropriate #define to use!  
  947. X# If it isn't feel free to change all occurences to the standard #define.
  948. X# If you make changes further changes for Windows NT, make sure that 
  949. X# gnuplot still works with Windows 3.0.
  950. X# Also, gnuplot for Windows NT should be built WITHOUT using a DLL - compile 
  951. X# without setting __DLL__ and then link all modules into a single EXE.
  952. X# rjl 1993-02-01
  953. X
  954. X# where to place gnuplot.gih helpfile
  955. XHELPFILE = wgnuplot.hlp
  956. XTOP = .
  957. X
  958. X# /c  means don't link
  959. X# /AL means large memory model (large code, large data)
  960. X# /W1 means lower warning level
  961. X# /I  means extra include directory
  962. X# /GA means windows application
  963. X# /Fm means produce link map
  964. X# /Od means suppress optimizations (esp. for debug)
  965. X# /Zi mean prepare for codeview
  966. XCFLAGS = /c /ALw /FmGNUPLOT /GA /W1 /D__MSC__ /DREADLINE /DWIN32 /I$(TOP) #/Zi #/Od
  967. X
  968. X# see other terminal defines in term.h
  969. XTERMFLAGS = 
  970. X
  971. X# /NOE means NO EXTernal Dictionary
  972. X# /NOI means NO ignore case
  973. X# /NOD means no default library (or :specified)
  974. X# /CO prepare for codeview
  975. XLINKFLAGS = /NOE /NOI /NOD:LLIBCE /ONERROR:NOEXE #/CO 
  976. X
  977. XOBJS =  bitmap.obj command.obj contour.obj eval.obj graphics.obj graph3d.obj \
  978. X    internal.obj misc.obj parse.obj plot.obj readline.obj scanner.obj \
  979. X    setshow.obj specfun.obj standard.obj term.obj util.obj version.obj \
  980. X    gnubin.obj binary.obj winmain.obj
  981. X
  982. XCSOURCE5 = term\aed.trm term\cgi.trm term\dumb.trm term\dxy.trm \
  983. X    term\eepic.trm term\epson.trm term\fig.trm term\hp26.trm \
  984. X    term\hp2648.trm term\hpgl.trm term\hpljii.trm 
  985. XCSOURCE6 = term\impcodes.h term\imagen.trm term\object.h \
  986. X    term\iris4d.trm term\kyo.trm term\latex.trm term/pbm.trm term\win.trm
  987. XCSOURCE7 = term\post.trm term\qms.trm term\regis.trm term\sun.trm \
  988. X    term\t410x.trm term\tek.trm term\unixpc.trm term\unixplot.trm \
  989. X    term\v384.trm term\x11.trm
  990. XCSOURCE8 = contour.c specfun.c gnubin.c binary.c
  991. XWINDOWS = makefile.win makefile.msw README.win win\wcommon.h \
  992. X    win\wgnuplib.c win\wgnuplib.def win\wgnuplib.h win\wgnuplib.rc\
  993. X    win\wgnuplot.def win\wgnuplot.hpj win\wgnuplot.mnu win\wgnuplot.rc \
  994. X    win\wgraph.c win\winmain.c win\wmenu.c win\wpause.c \
  995. X    win\wprinter.c win\wresourc.h win\wtext.c win\wtext.h \
  996. X    win\geticon.c docs\doc2rtf.c term\win.trm
  997. X
  998. Xdefault: wgnuplot.exe $(HELPFILE) wgnuplot.mnu demo\bf_test.exe
  999. X
  1000. X# default rules
  1001. X.c.obj:
  1002. X    cl $(CFLAGS) $*.c
  1003. X
  1004. Xlinkopt1.msw: makefile.msw
  1005. X    echo winmain+bitmap+command+eval+graphics+ >linkopt1.msw
  1006. X    echo graph3d+internal+misc+parse+ >>linkopt1.msw
  1007. X    echo plot+scanner+setshow+specfun+ >>linkopt1.msw
  1008. X    echo standard+term+util+version+contour+ >>linkopt1.msw
  1009. X    echo gnubin+binary+readline+ >>linkopt1.msw
  1010. X    echo wgnuplib+wtext+wmenu+wpause+wgraph+wprinter > linkopt1.msw
  1011. X    echo wgnuplot,wgnuplot, >>linkopt1.msw
  1012. X    echo libw+commdlg+shell+ldllcew >> linkopt1.msw
  1013. X    echo win\wgnuplot.def >>linkopt1.msw
  1014. X    echo ; >>linkopt1.msw
  1015. X
  1016. Xwgnuplot.exe: $(OBJS) win\wgnuplot.def win\wgnuplot.rc win\wgnuplib.rc winmain.obj linkopt1.msw texticon.ico grpicon.ico
  1017. X    link $(LINKFLAGS) @linkopt1.msw
  1018. X    rc -k -dMSRC win\wgnuplot.rc wgnuplot.exe
  1019. X
  1020. X# rules
  1021. X
  1022. Xbinary.obj: binary.c 
  1023. X
  1024. Xbitmap.obj: bitmap.c bitmap.h plot.h
  1025. X
  1026. Xcommand.obj: command.c plot.h setshow.h help.h
  1027. X    cl $(CFLAGS) /DHELPFILE=\"$(HELPFILE)\" command.c
  1028. X
  1029. Xcontour.obj: contour.c plot.h
  1030. X
  1031. Xeval.obj: eval.c plot.h
  1032. X
  1033. Xgnubin.obj: gnubin.c
  1034. X
  1035. Xgraphics.obj: graphics.c plot.h setshow.h
  1036. X
  1037. Xgraph3d.obj: graphics.c plot.h setshow.h
  1038. X
  1039. Xhelp.obj: help.c plot.h help.h
  1040. X
  1041. Xinternal.obj: internal.c plot.h
  1042. X
  1043. Xmisc.obj: misc.c plot.h setshow.h
  1044. X
  1045. Xparse.obj: parse.c plot.h
  1046. X
  1047. Xplot.obj: plot.c plot.h setshow.h
  1048. X
  1049. Xreadline.obj: readline.c
  1050. X
  1051. Xscanner.obj: scanner.c plot.h
  1052. X
  1053. Xsetshow.obj: setshow.c plot.h setshow.h
  1054. X
  1055. Xstandard.obj: standard.c plot.h
  1056. X
  1057. Xspecfun.obj: specfun.c plot.h
  1058. X
  1059. Xterm.obj: term.c term.h plot.h setshow.h bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1060. X    cl $(CFLAGS) $(TERMFLAGS) /Iterm term.c
  1061. X
  1062. Xutil.obj: util.c plot.h
  1063. X
  1064. Xversion.obj: version.c
  1065. X
  1066. Xwinmain.obj: win\winmain.c win\wgnuplib.h win\wtext.h plot.h
  1067. X    cl $(CFLAGS) /DHELPFILE=\"$(HELPFILE)\"  win\winmain.c
  1068. X
  1069. Xwgnuplib.obj: win/wgnuplib.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1070. X    
  1071. Xwmenu.obj: win/wmenu.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1072. X
  1073. Xwtext.obj: win/wtext.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1074. X    
  1075. Xwpause.obj: win/wpause.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1076. X    
  1077. Xwprinter.obj: win/wprinter.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1078. X    
  1079. Xwgraph.obj: win/wgraph.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1080. X    
  1081. Xwgnuplot.mnu: win\wgnuplot.mnu
  1082. X    copy win\wgnuplot.mnu wgnuplot.mnu
  1083. X
  1084. X# extract icons from wgnuplot.rc
  1085. Xtexticon.ico: grpicon.ico
  1086. X
  1087. Xgrpicon.ico: geticon.exe win\wgnuplot.rc
  1088. X    geticon win\wgnuplot.rc
  1089. X
  1090. Xgeticon.exe: win\geticon.c
  1091. X    cl /AL /DMSDOS /F 5000 /Gt /W1 win\geticon.c
  1092. X
  1093. X
  1094. X# convert gnuplot.doc to gnuplot.gih
  1095. X$(HELPFILE): doc2rtf.exe docs\gnuplot.doc win\wgnuplot.hpj
  1096. X    doc2rtf docs\gnuplot.doc win\gnuplot.rtf
  1097. X    hc31 win\wgnuplot.hpj 
  1098. X
  1099. Xdoc2rtf.exe: docs\doc2rtf.c
  1100. X    cl /AL /DMSDOS /F 5000 /Gt /W1 docs\doc2rtf.c
  1101. X
  1102. X#make binary demo files
  1103. Xdemo\bf_test.exe: bf_test.c dbinary.obj
  1104. X        cl /AL /D__MSC__ /F 5000 /Gt /W1 /Fedemo\bf_test.exe bf_test.c dbinary.obj
  1105. X    cd demo
  1106. X    bf_test
  1107. X    cd ..
  1108. X
  1109. Xdbinary.obj: binary.c
  1110. X        cl /c /AL /D__MSC__ /F 5000 /Gt /W1 /Fodbinary.obj binary.c
  1111. X
  1112. X# clean up temporary files
  1113. Xclean:
  1114. X    del *.obj
  1115. X    del wgnuplot.map
  1116. X    del win\wgnuplot.res
  1117. X    del win\gnuplot.rtf
  1118. X    del doc2rtf.exe
  1119. X    del demo\bf_test.exe
  1120. X    del linkopt1.msw
  1121. X        del *.ico
  1122. X        del geticon.exe
  1123. X    
  1124. Xveryclean: clean
  1125. X    del wgnuplot.exe
  1126. X    del wgnuplot.hlp
  1127. X    del wgnuplot.mnu
  1128. X    del demo\binary1
  1129. X    del demo\binary2
  1130. X    del demo\binary3
  1131. END_OF_FILE
  1132.   if test 5755 -ne `wc -c <'gnuplot/makefile.nt'`; then
  1133.     echo shar: \"'gnuplot/makefile.nt'\" unpacked with wrong size!
  1134.   fi
  1135.   # end of 'gnuplot/makefile.nt'
  1136. fi
  1137. if test -f 'gnuplot/makefile.tc' -a "${1}" != "-c" ; then 
  1138.   echo shar: Will not clobber existing file \"'gnuplot/makefile.tc'\"
  1139. else
  1140.   echo shar: Extracting \"'gnuplot/makefile.tc'\" \(5714 characters\)
  1141.   sed "s/^X//" >'gnuplot/makefile.tc' <<'END_OF_FILE'
  1142. X# make file for Borland C++ 3.x
  1143. X# uses Borland proprietary overlay manager
  1144. X# Modified from the TurboC makefile by Maurice Castro
  1145. X# The compile and link includes debug flags.  Take them out if you
  1146. X# do not want them included  (-y -v -M, /m /s /v /l)
  1147. X#
  1148. X# the makefile no longer depends on a linker options file.
  1149. X# this file will be created as needed.                (AL 07/17/92)
  1150. X
  1151. X# where to place gnuplot.gih helpfile
  1152. XHELPFILE = gnuplot.gih
  1153. X# location of Turbo C compiler
  1154. XTC = c:\borlandc
  1155. X#TC = c:\tc
  1156. X# name of C compiler
  1157. XCC = bcc
  1158. X#CC = tcc
  1159. X# location of TLINK.EXE and TCC.EXE or BCC.EXE
  1160. XBIN = $(TC)\bin\\
  1161. X#BIN =
  1162. X# location of BGI files,
  1163. X# change this line if not in TC directory, i.e. $(TC)\bgi
  1164. XBGI = $(TC)\bgi
  1165. X# location of bgiobj.exe tool - convertion of BGI to a linkable OBJ file.
  1166. XBGIOBJ = $(TC)\bgi\\
  1167. X#BGIOBJ =
  1168. X# location of the system libraries
  1169. XLIB = $(TC)\lib\\
  1170. X
  1171. X# the memory model to use (l = large code, large data; h = huge)
  1172. XMODEL = l
  1173. X
  1174. X# -c means don't link, -f means emulate 8087 if not present
  1175. X# -m? says which model to use
  1176. X# -M means produce link map
  1177. X# -y means include line numbers for debugger
  1178. X# -v means include debug info
  1179. X# -w- means ignore warnings and do not report them
  1180. X# -DREADLINE to use the history/line editing capability. If you want this
  1181. X#    capability add -DREADLINE to CFLAGS
  1182. X# -DLITE means no hiddenline removal to conserve memory
  1183. XCFLAGS = -Ff=256 -c -f -m$(MODEL) -w- -I$(TC)\include -DLITE -DMSDOS -DPC -DREADLINE
  1184. XTERMFLAGS =
  1185. X
  1186. X# With Overlay Support
  1187. XOVLY1 = -Y
  1188. XOVLY2 = -Yo
  1189. XOVERLIB = $(LIB)overlay
  1190. XSLASHO = /o
  1191. XODASH = /o-
  1192. X# Without Overlay Support
  1193. X#OVLY1 =
  1194. X#OVLY2 =
  1195. X#OVERLIB =
  1196. X#SLASHO =
  1197. X#ODASH =
  1198. X
  1199. XOBJ1 =  bitmap.obj command.obj contour.obj eval.obj graphics.obj graph3d.obj
  1200. XOBJ2 =    help.obj internal.obj misc.obj parse.obj plot.obj readline.obj
  1201. XOBJ3 =    scanner.obj setshow.obj specfun.obj standard.obj term.obj util.obj
  1202. XOBJ4 =    version.obj gnubin.obj binary.obj
  1203. XOBJBGI=    cgaf.obj egavgaf.obj hercf.obj attf.obj
  1204. X
  1205. XOBJS =    $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) $(OBJBGI)
  1206. X
  1207. XCSOURCE5 = term\aed.trm term\cgi.trm term\dumb.trm term\dxy.trm \
  1208. X    term\eepic.trm term\epson.trm term\fig.trm term\hp26.trm \
  1209. X    term\hp2648.trm term\hpgl.trm term\hpljii.trm
  1210. XCSOURCE6 = term\impcodes.h term\imagen.trm term\object.h \
  1211. X    term\iris4d.trm term\kyo.trm term\latex.trm term\pc.trm
  1212. XCSOURCE7 = term\post.trm term\qms.trm term\regis.trm term\sun.trm \
  1213. X    term\t410x.trm term\tek.trm term\unixpc.trm term\unixplot.trm \
  1214. X    term\v384.trm term\x11.trm
  1215. XCSOURCE8 = contour.c specfun.c gnubin.c binary.c
  1216. X
  1217. Xall: gnuplot.exe $(HELPFILE) demo\bf_test.exe
  1218. X
  1219. X# use linkopt.tc to avoid command-line overflow
  1220. X
  1221. Xgnuplot.exe: $(OBJS) linkopt.tc
  1222. X# With or without debug information (select one)
  1223. X#    $(BIN)tlink /m /s /v /l @linkopt.tc
  1224. X    $(BIN)tlink @linkopt.tc
  1225. X
  1226. X# create linker options file
  1227. X# note that when you change the model or switch overlaying,
  1228. X# you will have to execute 'make clean'
  1229. X
  1230. Xlinkopt.tc: makefile.tc
  1231. X    echo  >linkopt.tc $(LIB)C0$(MODEL) +
  1232. X    echo >>linkopt.tc $(SLASHO) $(OBJ1) +
  1233. X    echo >>linkopt.tc $(OBJ2) +
  1234. X    echo >>linkopt.tc $(OBJ3) +
  1235. X    echo >>linkopt.tc $(OBJ4) +
  1236. X    echo >>linkopt.tc $(ODASH) $(OBJBGI) +
  1237. X    echo >>linkopt.tc ,gnuplot,gnuplot, +
  1238. X    echo >>linkopt.tc $(OVERLIB) +
  1239. X    echo >>linkopt.tc $(LIB)emu +
  1240. X    echo >>linkopt.tc $(LIB)math$(MODEL) +
  1241. X    echo >>linkopt.tc $(LIB)c$(MODEL) +
  1242. X    echo >>linkopt.tc $(LIB)graphics
  1243. X#    echo >>linkopt.tc -----
  1244. X#    echo >>linkopt.tc this file is generated automatically. don't change it, change the makefile.
  1245. X
  1246. X# default rules
  1247. X
  1248. X.c.obj:
  1249. X    $(BIN)$(CC) $(OVLY2) $(CFLAGS) $<
  1250. X
  1251. X# The default for files is to be compiled for overlaying if OVLY1 and
  1252. X# OVLY2 are defined.  plot.c and parse.c are not suitable for overlaying.
  1253. X
  1254. Xbitmap.obj: bitmap.c bitmap.h plot.h
  1255. X
  1256. Xcommand.obj: command.c plot.h setshow.h help.h
  1257. X    $(BIN)$(CC) $(OVLY2) $(CFLAGS) -DHELPFILE="$(HELPFILE)" command.c
  1258. X
  1259. Xcontour.obj: contour.c plot.h
  1260. X
  1261. Xeval.obj: eval.c plot.h
  1262. X
  1263. Xgraphics.obj: graphics.c plot.h setshow.h
  1264. X
  1265. Xgraph3d.obj: graphics.c plot.h setshow.h
  1266. X
  1267. Xhelp.obj: help.c plot.h help.h
  1268. X
  1269. Xinternal.obj: internal.c plot.h
  1270. X
  1271. Xmisc.obj: misc.c plot.h setshow.h help.h
  1272. X
  1273. Xparse.obj: parse.c plot.h
  1274. X    $(BIN)$(CC) $(OVLY1) $(CFLAGS) parse.c
  1275. X
  1276. Xplot.obj: plot.c plot.h setshow.h
  1277. X    $(BIN)$(CC) $(OVLY1) $(CFLAGS) plot.c
  1278. X
  1279. Xreadline.obj: readline.c
  1280. X
  1281. Xscanner.obj: scanner.c plot.h
  1282. X
  1283. Xsetshow.obj: setshow.c plot.h setshow.h
  1284. X
  1285. Xspecfun.obj: specfun.c
  1286. X
  1287. Xstandard.obj: standard.c plot.h
  1288. X
  1289. X# the CSOURCE? dependencies are not up to date (but who cares)
  1290. Xterm.obj: term.c term.h plot.h setshow.c bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
  1291. X    $(BIN)$(CC) $(OVLY2) $(CFLAGS) $(TERMFLAGS) -Iterm term.c
  1292. X
  1293. Xutil.obj: util.c plot.h
  1294. X
  1295. Xversion.obj: version.c
  1296. X
  1297. X# convert gnuplot.doc to gnuplot.gih
  1298. X$(HELPFILE): doc2gih.exe docs\gnuplot.doc
  1299. X    doc2gih docs\gnuplot.doc $(HELPFILE)
  1300. X
  1301. Xdoc2gih.exe: docs\doc2gih.c
  1302. X    $(BIN)$(CC) -w- -ml -I$(TC)\include -L$(TC)\lib docs\doc2gih.c
  1303. X
  1304. Xdoc2tex.exe: docs\doc2tex.c
  1305. X    $(BIN)$(CC) -w- -ml -I$(TC)\include -L$(TC)\lib docs\doc2tex.c
  1306. X
  1307. Xdemo\bf_test.exe: bf_test.c binary.obj
  1308. X    $(BIN)$(CC) -edemo\bf_test.exe -w- -m$(MODEL) -I$(TC)\include -L$(TC)\lib bf_test.c binary.obj
  1309. X
  1310. X# convert Borland Graphics Interface files to object for linking
  1311. Xcgaf.obj: $(BGI)\cga.bgi
  1312. X    $(BGIOBJ)bgiobj /F $(BGI)\cga
  1313. X
  1314. Xegavgaf.obj: $(BGI)\egavga.bgi
  1315. X    $(BGIOBJ)bgiobj /F $(BGI)\egavga
  1316. X
  1317. Xhercf.obj: $(BGI)\herc.bgi
  1318. X    $(BGIOBJ)bgiobj /F $(BGI)\herc
  1319. X
  1320. Xattf.obj: $(BGI)\att.bgi
  1321. X    $(BGIOBJ)bgiobj /F $(BGI)\att
  1322. X
  1323. X# clean target - remove all temp files, but leave executable intact
  1324. X# needed when changing configuration (model or overlaying)
  1325. X
  1326. Xclean:
  1327. X    del *.obj
  1328. X    del gnuplot.map
  1329. X    del linkopt.tc
  1330. X    del doc2gih.exe
  1331. X
  1332. X# realclean target - remove all files created by the makefile
  1333. X
  1334. Xrealclean: clean
  1335. X    del gnuplot.exe
  1336. X    del gnuplot.gih
  1337. X    del demo\bf_test.exe
  1338. X    del demo\binary1
  1339. X    del demo\binary2
  1340. X    del demo\binary3
  1341. END_OF_FILE
  1342.   if test 5714 -ne `wc -c <'gnuplot/makefile.tc'`; then
  1343.     echo shar: \"'gnuplot/makefile.tc'\" unpacked with wrong size!
  1344.   fi
  1345.   # end of 'gnuplot/makefile.tc'
  1346. fi
  1347. if test -f 'gnuplot/makefile.win' -a "${1}" != "-c" ; then 
  1348.   echo shar: Will not clobber existing file \"'gnuplot/makefile.win'\"
  1349. else
  1350.   echo shar: Extracting \"'gnuplot/makefile.win'\" \(5839 characters\)
  1351.   sed "s/^X//" >'gnuplot/makefile.win' <<'END_OF_FILE'
  1352. X# make file for Borland C++ 3.1 Windows version
  1353. X# The compile and link includes debug flags.  Take them out if you
  1354. X# do not want them included  (-y -v -M, /m /s /v /l)
  1355. X
  1356. X# where to place wgnuplot.hlp helpfile
  1357. XHELPFILE = wgnuplot.hlp
  1358. X# location of Borland C compiler
  1359. XTC = c:\borlandc
  1360. X# name of C compiler
  1361. XCC = bcc
  1362. X# location of TLINK.EXE and BCC.EXE
  1363. XBIN = $(TC)\bin\\
  1364. X
  1365. X# -c means don't link
  1366. X# -ml means use large model (large code, large data)
  1367. X# -M means produce link map
  1368. X# -y means include line numbers for debugger
  1369. X# -v means include debug info
  1370. X# -w- means ignore warnings and do not report them
  1371. X# -w-rvl ignore function must return a value error
  1372. X# -Ff=128 means make data object > 128 FAR
  1373. X# -W means window application
  1374. X# -DREADLINE to use the history/line editing capability. If you want this 
  1375. X#    capability add -DREADLINE to CFLAGS then add 'readline' to the /o
  1376. X#    section of the linker call.
  1377. XCFLAGS = -c -W -ml -M -y -v -w-rvl -w-pro -Ff=128 -I$(TC)\include -Iwin -DREADLINE -zEGPFAR_DATA
  1378. XTERMFLAGS =
  1379. X
  1380. XOBJS =     bitmap.obj command.obj contour.obj eval.obj graphics.obj graph3d.obj \
  1381. X    internal.obj misc.obj parse.obj plot.obj readline.obj scanner.obj \
  1382. X    setshow.obj specfun.obj standard.obj term.obj util.obj version.obj \
  1383. X    gnubin.obj binary.obj winmain.obj
  1384. X
  1385. XCSOURCE5 = term\aed.trm term\cgi.trm term\dumb.trm term\dxy.trm \
  1386. X    term\eepic.trm term\epson.trm term\fig.trm term\hp26.trm \
  1387. X    term\hp2648.trm term\hpgl.trm term\hpljii.trm 
  1388. XCSOURCE6 = term\impcodes.h term\imagen.trm term\object.h \
  1389. X    term\iris4d.trm term\kyo.trm term\latex.trm term/pbm.trm term\win.trm
  1390. XCSOURCE7 = term\post.trm term\qms.trm term\regis.trm term\sun.trm \
  1391. X    term\t410x.trm term\tek.trm term\unixpc.trm term\unixplot.trm \
  1392. X    term\v384.trm term\x11.trm
  1393. XCSOURCE8 = contour.c specfun.c gnubin.c binary.c
  1394. XWINDOWS = makefile.win makefile.msw README.win win\wcommon.h \
  1395. X    win\wgnuplib.c win\wgnuplib.def win\wgnuplib.h win\wgnuplib.rc\
  1396. X    win\wgnuplot.def win\wgnuplot.hpj win\wgnuplot.mnu win\wgnuplot.rc \
  1397. X    win\wgraph.c win\winmain.c win\wmenu.c win\wpause.c \
  1398. X    win\wprinter.c win\wresourc.h win\wtext.c win\wtext.h \
  1399. X    win\geticon.c docs\doc2rtf.c term\win.trm
  1400. X
  1401. Xall: wgnuplot.exe wgnuplot.dll $(HELPFILE) wgnuplot.mnu demo\bf_test.exe
  1402. X
  1403. Xwgnuplot.exe: $(OBJS) win\wgnuplot.def win\wgnuplot.rc winmain.obj wgnuplot.lib
  1404. X#    $(BIN)tlink /Twe /c @&&!
  1405. X    $(BIN)tlink /Twe /c /m /s /v /l @&&!
  1406. X$(TC)\lib\C0Wl +
  1407. Xbitmap command eval graphics graph3d internal misc parse +
  1408. Xplot scanner setshow specfun standard term util version contour +
  1409. Xgnubin binary +
  1410. Xwinmain +
  1411. Xreadline +
  1412. X,wgnuplot,wgnuplot, +
  1413. Xwgnuplot.lib +
  1414. X$(TC)\lib\import +
  1415. X$(TC)\lib\mathwl +
  1416. X$(TC)\lib\cwl, +
  1417. Xwin\wgnuplot.def
  1418. X!
  1419. X    $(BIN)brc -30 -k -i$(TC)\include win\wgnuplot.rc wgnuplot.exe
  1420. X
  1421. X# default rules
  1422. X
  1423. X.c.obj:
  1424. X    $(BIN)$(CC) @&&!
  1425. X$(CFLAGS)
  1426. X! $<
  1427. X
  1428. X# rules
  1429. X
  1430. Xbitmap.obj: bitmap.c bitmap.h plot.h
  1431. X
  1432. Xcommand.obj: command.c plot.h setshow.h 
  1433. X    $(BIN)$(CC) @&&!
  1434. X$(CFLAGS) -DHELPFILE="$(HELPFILE)"
  1435. X! command.c
  1436. X
  1437. Xcontour.obj: contour.c plot.h
  1438. X
  1439. Xeval.obj: eval.c plot.h
  1440. X
  1441. Xgraphics.obj: graphics.c plot.h setshow.h
  1442. X
  1443. Xgraph3d.obj: graphics.c plot.h setshow.h
  1444. X
  1445. Xinternal.obj: internal.c plot.h
  1446. X
  1447. Xmisc.obj: misc.c plot.h setshow.h 
  1448. X
  1449. Xparse.obj: parse.c plot.h
  1450. X    $(BIN)$(CC) @&&!
  1451. X$(CFLAGS)
  1452. X! parse.c
  1453. X
  1454. Xplot.obj: plot.c plot.h setshow.h
  1455. X    $(BIN)$(CC) @&&!
  1456. X$(CFLAGS)
  1457. X! plot.c
  1458. X
  1459. Xreadline.obj: readline.c plot.h
  1460. X
  1461. Xscanner.obj: scanner.c plot.h
  1462. X
  1463. Xsetshow.obj: setshow.c plot.h setshow.h
  1464. X
  1465. Xspecfun.obj: specfun.c
  1466. X
  1467. Xstandard.obj: standard.c plot.h
  1468. X
  1469. Xterm.obj: term.c term.h plot.h setshow.c bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7) win\wgnuplib.h
  1470. X    $(BIN)$(CC) @&&!
  1471. X$(CFLAGS)
  1472. X! $(TERMFLAGS) -Iterm term.c
  1473. X
  1474. Xutil.obj: util.c plot.h
  1475. X
  1476. Xversion.obj: version.c
  1477. X
  1478. Xwinmain.obj: win\winmain.c win\wgnuplib.h win\wtext.h plot.h
  1479. X    $(BIN)$(CC) @&&!
  1480. X$(CFLAGS) -DHELPFILE="$(HELPFILE)"
  1481. X! win\winmain.c
  1482. X
  1483. Xwgnuplot.mnu: win\wgnuplot.mnu
  1484. X    copy win\wgnuplot.mnu wgnuplot.mnu
  1485. X
  1486. X
  1487. X# different compiler options for DLL's */
  1488. XDLLCC = $(BIN)bcc -c -ms! -M -y -v -WD -I$(TC)\include -Iwin
  1489. XDLLOBJS = wgnuplib.obj wtext.obj wmenu.obj wpause.obj wgraph.obj wprinter.obj 
  1490. X
  1491. Xwgnuplot.lib: wgnuplot.dll
  1492. X    $(BIN)implib wgnuplot.lib wgnuplot.dll
  1493. X
  1494. Xwgnuplot.dll: $(DLLOBJS) win/wgnuplib.def win/wgnuplib.rc
  1495. X    $(BIN)tlink /c /n /Twd /L$(TC)\lib /m /s /v /l @&&!
  1496. Xc0ds +
  1497. Xwgnuplib wtext wmenu wpause wgraph wprinter, +
  1498. Xwgnuplot.dll, +
  1499. Xwgnuplib.map, +
  1500. Ximport mathws cws, +
  1501. Xwin\wgnuplib.def
  1502. X!
  1503. X    $(BIN)brc -30 -i$(TC)\include -t win\wgnuplib.rc wgnuplot.dll
  1504. X
  1505. Xwgnuplib.obj: win/wgnuplib.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1506. X    $(DLLCC) win/wgnuplib.c
  1507. X    
  1508. Xwmenu.obj: win/wmenu.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1509. X    $(DLLCC) win/wmenu.c
  1510. X
  1511. Xwtext.obj: win/wtext.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1512. X    $(DLLCC) win/wtext.c
  1513. X    
  1514. Xwpause.obj: win/wpause.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1515. X    $(DLLCC) win/wpause.c
  1516. X    
  1517. Xwprinter.obj: win/wprinter.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1518. X    $(DLLCC) win/wprinter.c
  1519. X    
  1520. Xwgraph.obj: win/wgraph.c win/wgnuplib.h win/wcommon.h win/wresourc.h
  1521. X    $(DLLCC) win/wgraph.c
  1522. X    
  1523. X# convert gnuplot.doc to gnuplot.gih
  1524. X$(HELPFILE): doc2rtf.exe docs\gnuplot.doc win\wgnuplot.hpj
  1525. X    doc2rtf docs\gnuplot.doc win\gnuplot.rtf
  1526. X    $(BIN)hc win\wgnuplot.hpj 
  1527. X
  1528. Xdoc2rtf.exe: docs\doc2rtf.c
  1529. X    $(BIN)$(CC) -ml -w-pro -I$(TC)\include -L$(TC)\lib docs\doc2rtf.c
  1530. X
  1531. X# make binary demo files
  1532. Xdemo\bf_test.exe: bf_test.c dbinary.obj
  1533. X    $(BIN)$(CC) -edemo\bf_test.exe -w-pro -ml -I$(TC)\include -L$(TC)\lib bf_test.c dbinary.obj
  1534. X    cd demo
  1535. X    bf_test
  1536. X    cd ..
  1537. X
  1538. Xdbinary.obj: binary.c
  1539. X    $(BIN)$(CC) -c -w-pro -ml -I$(TC)\include -odbinary.obj binary.c
  1540. X
  1541. X# clean up temporary files
  1542. Xclean:
  1543. X    del *.obj
  1544. X    del wgnuplot.map
  1545. X    del win\wgnuplot.res
  1546. X    del win\gnuplot.rtf
  1547. X    del doc2rtf.exe
  1548. X    del win\wgnuplib.res
  1549. X    del wgnuplib.map
  1550. X    del wgnuplot.lib
  1551. X    del demo\bf_test.exe
  1552. X    
  1553. Xveryclean: clean
  1554. X    del wgnuplot.exe
  1555. X    del wgnuplot.hlp
  1556. X    del wgnuplot.mnu
  1557. X    del wgnuplot.dll
  1558. X    del demo\binary1
  1559. X    del demo\binary2
  1560. X    del demo\binary3
  1561. END_OF_FILE
  1562.   if test 5839 -ne `wc -c <'gnuplot/makefile.win'`; then
  1563.     echo shar: \"'gnuplot/makefile.win'\" unpacked with wrong size!
  1564.   fi
  1565.   # end of 'gnuplot/makefile.win'
  1566. fi
  1567. if test -f 'gnuplot/setshow.h' -a "${1}" != "-c" ; then 
  1568.   echo shar: Will not clobber existing file \"'gnuplot/setshow.h'\"
  1569. else
  1570.   echo shar: Extracting \"'gnuplot/setshow.h'\" \(5236 characters\)
  1571.   sed "s/^X//" >'gnuplot/setshow.h' <<'END_OF_FILE'
  1572. X/*
  1573. X * $Id: setshow.h%v 3.50 1993/07/09 05:35:24 woo Exp $
  1574. X *
  1575. X */
  1576. X
  1577. X/* GNUPLOT - setshow.h */
  1578. X/*
  1579. X * Copyright (C) 1986 - 1993   Thomas Williams, Colin Kelley
  1580. X *
  1581. X * Permission to use, copy, and distribute this software and its
  1582. X * documentation for any purpose with or without fee is hereby granted, 
  1583. X * provided that the above copyright notice appear in all copies and 
  1584. X * that both that copyright notice and this permission notice appear 
  1585. X * in supporting documentation.
  1586. X *
  1587. X * Permission to modify the software is granted, but not the right to
  1588. X * distribute the modified code.  Modifications are to be distributed 
  1589. X * as patches to released version.
  1590. X *  
  1591. X * This software is provided "as is" without express or implied warranty.
  1592. X * 
  1593. X *
  1594. X * AUTHORS
  1595. X * 
  1596. X *   Original Software:
  1597. X *     Thomas Williams,  Colin Kelley.
  1598. X * 
  1599. X *   Gnuplot 2.0 additions:
  1600. X *       Russell Lang, Dave Kotz, John Campbell.
  1601. X *
  1602. X *   Gnuplot 3.0 additions:
  1603. X *       Gershon Elber and many others.
  1604. X *
  1605. X * There is a mailing list for gnuplot users. Note, however, that the
  1606. X * newsgroup 
  1607. X *    comp.graphics.gnuplot 
  1608. X * is identical to the mailing list (they
  1609. X * both carry the same set of messages). We prefer that you read the
  1610. X * messages through that newsgroup, to subscribing to the mailing list.
  1611. X * (If you can read that newsgroup, and are already on the mailing list,
  1612. X * please send a message info-gnuplot-request@dartmouth.edu, asking to be
  1613. X * removed from the mailing list.)
  1614. X *
  1615. X * The address for mailing to list members is
  1616. X *       info-gnuplot@dartmouth.edu
  1617. X * and for mailing administrative requests is 
  1618. X *       info-gnuplot-request@dartmouth.edu
  1619. X * The mailing list for bug reports is 
  1620. X *       bug-gnuplot@dartmouth.edu
  1621. X * The list of those interested in beta-test versions is
  1622. X *       info-gnuplot-beta@dartmouth.edu
  1623. X */
  1624. X
  1625. X/*
  1626. X * global variables to hold status of 'set' options
  1627. X *
  1628. X */
  1629. Xextern TBOOLEAN            autoscale_r;
  1630. Xextern TBOOLEAN            autoscale_t;
  1631. Xextern TBOOLEAN            autoscale_u;
  1632. Xextern TBOOLEAN            autoscale_v;
  1633. Xextern TBOOLEAN            autoscale_x;
  1634. Xextern TBOOLEAN            autoscale_y;
  1635. Xextern TBOOLEAN            autoscale_z;
  1636. Xextern TBOOLEAN            autoscale_lt;
  1637. Xextern TBOOLEAN            autoscale_lu;
  1638. Xextern TBOOLEAN            autoscale_lv;
  1639. Xextern TBOOLEAN            autoscale_lx;
  1640. Xextern TBOOLEAN            autoscale_ly;
  1641. Xextern TBOOLEAN            autoscale_lz;
  1642. Xextern double            boxwidth;
  1643. Xextern TBOOLEAN            clip_points;
  1644. Xextern TBOOLEAN            clip_lines1;
  1645. Xextern TBOOLEAN            clip_lines2;
  1646. Xextern TBOOLEAN            draw_border;
  1647. Xextern TBOOLEAN            draw_surface;
  1648. Xextern TBOOLEAN            timedate;
  1649. Xextern char            dummy_var[MAX_NUM_VAR][MAX_ID_LEN+1];
  1650. Xextern char            xformat[];
  1651. Xextern char            yformat[];
  1652. Xextern char            zformat[];
  1653. Xextern enum PLOT_STYLE data_style, func_style;
  1654. Xextern TBOOLEAN            grid;
  1655. Xextern int            key;
  1656. Xextern double            key_x, key_y, key_z; /* user specified position for key */
  1657. Xextern TBOOLEAN            is_log_x, is_log_y, is_log_z;
  1658. Xextern double            base_log_x, base_log_y, base_log_z;
  1659. X                /* base, for computing pow(base,x) */
  1660. Xextern double            log_base_log_x, log_base_log_y, log_base_log_z;
  1661. X                /* log of base, for computing logbase(base,x) */
  1662. Xextern FILE*            outfile;
  1663. Xextern char            outstr[];
  1664. Xextern TBOOLEAN            parametric;
  1665. Xextern TBOOLEAN            polar;
  1666. Xextern TBOOLEAN            hidden3d;
  1667. Xextern int            angles_format;
  1668. Xextern int            mapping3d;
  1669. Xextern int            samples;
  1670. Xextern int            samples_1;
  1671. Xextern int            samples_2;
  1672. Xextern int            iso_samples_1;
  1673. Xextern int            iso_samples_2;
  1674. Xextern float            xsize; /* scale factor for size */
  1675. Xextern float            ysize; /* scale factor for size */
  1676. Xextern float            zsize; /* scale factor for size */
  1677. Xextern float            surface_rot_z;
  1678. Xextern float            surface_rot_x;
  1679. Xextern float            surface_scale;
  1680. Xextern float            surface_zscale;
  1681. Xextern int            term; /* unknown term is 0 */
  1682. Xextern char            term_options[];
  1683. Xextern char            title[];
  1684. Xextern char            xlabel[];
  1685. Xextern char            ylabel[];
  1686. Xextern char            zlabel[];
  1687. Xextern int            time_xoffset;
  1688. Xextern int            time_yoffset;
  1689. Xextern int            title_xoffset;
  1690. Xextern int            title_yoffset;
  1691. Xextern int            xlabel_xoffset;
  1692. Xextern int            xlabel_yoffset;
  1693. Xextern int            ylabel_xoffset;
  1694. Xextern int            ylabel_yoffset;
  1695. Xextern int            zlabel_xoffset;
  1696. Xextern int            zlabel_yoffset;
  1697. Xextern double            rmin, rmax;
  1698. Xextern double            tmin, tmax, umin, umax, vmin, vmax;
  1699. Xextern double            xmin, xmax, ymin, ymax, zmin, zmax;
  1700. Xextern double            loff, roff, toff, boff;
  1701. Xextern int            draw_contour;
  1702. Xextern TBOOLEAN      label_contours;
  1703. Xextern int            contour_pts;
  1704. Xextern int            contour_kind;
  1705. Xextern int            contour_order;
  1706. Xextern int            contour_levels;
  1707. Xextern double            zero; /* zero threshold, not 0! */
  1708. Xextern int            levels_kind;
  1709. Xextern double        levels_list[MAX_DISCRETE_LEVELS];
  1710. X
  1711. Xextern int            dgrid3d_row_fineness;
  1712. Xextern int            dgrid3d_col_fineness;
  1713. Xextern int            dgrid3d_norm_value;
  1714. Xextern TBOOLEAN            dgrid3d;
  1715. X
  1716. Xextern TBOOLEAN xzeroaxis;
  1717. Xextern TBOOLEAN yzeroaxis;
  1718. X
  1719. Xextern TBOOLEAN xtics;
  1720. Xextern TBOOLEAN ytics;
  1721. Xextern TBOOLEAN ztics;
  1722. X
  1723. Xextern float ticslevel;
  1724. X
  1725. Xextern struct ticdef xticdef;
  1726. Xextern struct ticdef yticdef;
  1727. Xextern struct ticdef zticdef;
  1728. X
  1729. Xextern TBOOLEAN            tic_in;
  1730. X
  1731. Xextern struct text_label *first_label;
  1732. Xextern struct arrow_def *first_arrow;
  1733. X
  1734. X/* The set and show commands, in setshow.c */
  1735. Xextern void set_command();
  1736. Xextern void show_command();
  1737. X/* and some accessible support functions */
  1738. Xextern enum PLOT_STYLE get_style();
  1739. Xextern TBOOLEAN load_range();
  1740. Xextern void show_version();
  1741. END_OF_FILE
  1742.   if test 5236 -ne `wc -c <'gnuplot/setshow.h'`; then
  1743.     echo shar: \"'gnuplot/setshow.h'\" unpacked with wrong size!
  1744.   fi
  1745.   # end of 'gnuplot/setshow.h'
  1746. fi
  1747. if test -f 'gnuplot/term/iris4d.trm' -a "${1}" != "-c" ; then 
  1748.   echo shar: Will not clobber existing file \"'gnuplot/term/iris4d.trm'\"
  1749. else
  1750.   echo shar: Extracting \"'gnuplot/term/iris4d.trm'\" \(5410 characters\)
  1751.   sed "s/^X//" >'gnuplot/term/iris4d.trm' <<'END_OF_FILE'
  1752. X/*
  1753. X * $Id: iris4d.trm%v 3.50 1993/07/09 05:35:24 woo Exp $
  1754. X *
  1755. X */
  1756. X
  1757. X/* GNUPLOT - iris4d.trm */
  1758. X/*
  1759. X * Copyright (C) 1990 - 1993   
  1760. X *
  1761. X * Permission to use, copy, and distribute this software and its
  1762. X * documentation for any purpose with or without fee is hereby granted, 
  1763. X * provided that the above copyright notice appear in all copies and 
  1764. X * that both that copyright notice and this permission notice appear 
  1765. X * in supporting documentation.
  1766. X *
  1767. X * Permission to modify the software is granted, but not the right to
  1768. X * distribute the modified code.  Modifications are to be distributed 
  1769. X * as patches to released version.
  1770. X *  
  1771. X * This software  is provided "as is" without express or implied warranty.
  1772. X * 
  1773. X * This file is included by ../term.c.
  1774. X *
  1775. X * This terminal driver supports:
  1776. X *   IRIS terminals
  1777. X *
  1778. X * AUTHORS
  1779. X *   John H. Merritt 
  1780. X *           (Applied Research Corporation) 7/1/89
  1781. X *           INTERNET: merritt@iris613.gsfc.nasa.gov
  1782. X * 
  1783. X * send your comments or suggestions to (info-gnuplot@dartmouth.edu).
  1784. X * 
  1785. X */
  1786. X
  1787. X#include <gl.h>
  1788. X
  1789. X#define IRIS4DRC    ".gnuplot_iris4d"
  1790. X
  1791. X#define IRIS4D_XMAX 1024
  1792. X#define IRIS4D_YMAX 1024
  1793. X
  1794. X#define IRIS4D_XLAST (IRIS4D_XMAX - 1)
  1795. X#define IRIS4D_YLAST (IRIS4D_YMAX - 1)
  1796. X
  1797. X#define IRIS4D_VCHAR (IRIS4D_YMAX/30)
  1798. X#define IRIS4D_HCHAR (IRIS4D_XMAX/72)
  1799. X#define IRIS4D_VTIC (IRIS4D_YMAX/80)
  1800. X#define IRIS4D_HTIC (IRIS4D_XMAX/80)
  1801. X
  1802. Xstatic short colors24bits[][3] =
  1803. X{
  1804. X    { 85,  85,  85  },  /* 0. BACK GROUND ( DARKGRAY ) */
  1805. X    { 0,   0,   0   },  /* 1. BLACK */
  1806. X    { 170, 0,   170 },  /* 2. MAGENTA */
  1807. X    { 85,  255, 255 },  /* 3. LIGHTCYAN */
  1808. X    { 170, 0,   0   },  /* 4. RED */
  1809. X    { 0,   170, 0   },  /* 5. GREEN */
  1810. X    { 255, 85,  255 },  /* 6. LIGHTMAGENTA */
  1811. X    { 255, 255, 85  },  /* 7. YELLOW */
  1812. X    { 255, 85,  85  },  /* 8. LIGHTRED */
  1813. X    { 85,  255, 85  },  /* 9. LIGHTGREEN */
  1814. X    { 0,   170, 170 },  /* 10. CYAN */
  1815. X    { 170, 170, 0   },  /* 11. BROWN */
  1816. X};
  1817. X#define COLOR24_SIZE (sizeof(colors24bits) / (sizeof(short) * 3))
  1818. X
  1819. Xstatic iris24bits = FALSE;
  1820. X
  1821. X#define IRIS4D_BACKGROUND    0
  1822. X#define IRIS4D_BLACK        1
  1823. X#define IRIS4D_MAGENTA        2
  1824. X#define IRIS4D_LIGHTCYAN    3
  1825. X#define IRIS4D_RED        4
  1826. X#define IRIS4D_GREEN        5
  1827. X#define IRIS4D_LIGHTMAGENTA    6
  1828. X#define IRIS4D_YELLOW        7
  1829. X#define IRIS4D_LIGHTRED        8
  1830. X#define IRIS4D_LIGHTGREEN    9
  1831. X#define IRIS4D_CYAN        10
  1832. X#define IRIS4D_BROWN        11
  1833. X
  1834. XIRIS4D_options()
  1835. X{
  1836. X  int i = 0;
  1837. X  struct value a;
  1838. X  extern struct value *const_express();
  1839. X  extern double real();
  1840. X
  1841. X  if (!END_OF_COMMAND) {
  1842. X    i = (int) real(const_express(&a));
  1843. X  }
  1844. X
  1845. X  iris24bits = (i == 24);
  1846. X
  1847. X  sprintf(term_options, "%s",iris24bits ? "24" : "8");
  1848. X}
  1849. X
  1850. XIRIS4D_init()
  1851. X{
  1852. X  int i;
  1853. X  char homedirfile[80], line[80];
  1854. X  FILE *f;
  1855. X
  1856. X  foreground();
  1857. X  winopen("Gnuplot");
  1858. X  if (iris24bits)
  1859. X  {
  1860. X    RGBmode();
  1861. X    gconfig();
  1862. X  }
  1863. X
  1864. X  strcat(strcat(strcpy(homedirfile,getenv("HOME")),"/"),IRIS4DRC);
  1865. X  if ((f = fopen(IRIS4DRC, "r")) != NULL ||
  1866. X      (f = fopen(homedirfile, "r")) != NULL) {
  1867. X    int c1, c2, c3;
  1868. X    for (i = 0; i < COLOR24_SIZE; i++) {
  1869. X      if (fgets(line, 79, f) == NULL ||
  1870. X      sscanf(line, "%d %d %d", &c1, &c2, &c3) != 3)
  1871. X    int_error("Iris4d color file terminated prematurely or wrong format.\n", NO_CARET);
  1872. X      colors24bits[i][0] = c1;
  1873. X      colors24bits[i][1] = c2;
  1874. X      colors24bits[i][2] = c3;
  1875. X    }
  1876. X      
  1877. X    fclose(f);
  1878. X  }
  1879. X  deflinestyle(1, 0x3FFF); /* long dash */
  1880. X  deflinestyle(2, 0x5555); /* dotted */
  1881. X  deflinestyle(3, 0x3333); /* short dash */
  1882. X  deflinestyle(4, 0xB5AD); /* dotdashed */
  1883. X  deflinestyle(5, 0x0F0F); /* dashed */
  1884. X  deflinestyle(6, 0xBBBB); /* dotdashed */
  1885. X  deflinestyle(7, 0x3F3F); /* mid-long dash */
  1886. X  deflinestyle(8, 0x7777); /* mid-long dash */
  1887. X
  1888. X  return;
  1889. X}
  1890. X
  1891. XIRIS4D_graphics()
  1892. X{
  1893. X  reshapeviewport();
  1894. X  ortho2((Coord)0, (Coord)IRIS4D_XMAX, (Coord)0, (Coord)IRIS4D_YMAX);
  1895. X  if (iris24bits)
  1896. X    RGBcolor(colors24bits[IRIS4D_BACKGROUND][0],
  1897. X         colors24bits[IRIS4D_BACKGROUND][1],
  1898. X         colors24bits[IRIS4D_BACKGROUND][2]);
  1899. X  else
  1900. X    color(WHITE);
  1901. X
  1902. X  clear();
  1903. X  
  1904. X  return;
  1905. X}
  1906. X
  1907. XIRIS4D_text()
  1908. X{
  1909. X  gflush(); /* flush buffer */
  1910. X  return; /* enter text from another window!!! */
  1911. X}
  1912. X
  1913. XIRIS4D_linetype(linetype)
  1914. Xint linetype;
  1915. X{
  1916. X  static int pen_color_24[11] =
  1917. X    {
  1918. X      IRIS4D_BLACK,        /* reserved for border and numbers */
  1919. X      IRIS4D_MAGENTA,        /* reserved for axis traces */
  1920. X      IRIS4D_LIGHTCYAN,
  1921. X      IRIS4D_RED,
  1922. X      IRIS4D_GREEN,
  1923. X      IRIS4D_LIGHTMAGENTA,
  1924. X      IRIS4D_YELLOW,
  1925. X      IRIS4D_LIGHTRED,
  1926. X      IRIS4D_LIGHTGREEN,
  1927. X      IRIS4D_CYAN,
  1928. X      IRIS4D_BROWN,
  1929. X    };
  1930. X  static int pen_color[8] = {0 ,1, 4, 5, 6, 1, 2, 4};
  1931. X
  1932. X  if (iris24bits)
  1933. X  {
  1934. X    int pencolor = pen_color_24[linetype < 0 ? linetype + 2 : linetype % 9 + 2];
  1935. X
  1936. X    RGBcolor(colors24bits[pencolor][0],
  1937. X         colors24bits[pencolor][1],
  1938. X         colors24bits[pencolor][2]);
  1939. X    /* Make all lines solid (linestyle 0) upto to the ninth. If more than
  1940. X     * 9 colors are needed, start to use the different line styles (1 to 8).
  1941. X     */
  1942. X    setlinestyle(linetype < 9 ? 0 : (linetype + 2) % 8 + 1);
  1943. X  }
  1944. X  else
  1945. X  {
  1946. X    linetype = linetype % 8;
  1947. X    color((Colorindex) pen_color[linetype]);
  1948. X    setlinestyle(linetype);
  1949. X  }
  1950. X  return;
  1951. X}
  1952. X
  1953. XIRIS4D_move(x, y)
  1954. Xunsigned int x, y;
  1955. X{
  1956. X  move2i(x, y);
  1957. X  return;
  1958. X}
  1959. X
  1960. XIRIS4D_cmove(x, y)
  1961. Xunsigned int x, y;
  1962. X{
  1963. X  cmov2i(x, y);
  1964. X  return;
  1965. X}
  1966. X
  1967. XIRIS4D_vector(x, y)
  1968. Xunsigned x, y;
  1969. X{
  1970. X  draw2i(x, y);
  1971. X  return;
  1972. X}
  1973. X
  1974. X
  1975. XIRIS4D_put_text(x,y,str)
  1976. Xint x, y;
  1977. Xchar *str;
  1978. X{
  1979. X  IRIS4D_cmove(x,y - IRIS4D_VCHAR/2);
  1980. X  charstr(str);
  1981. X  return;
  1982. X}
  1983. X
  1984. X
  1985. XIRIS4D_reset()
  1986. X{
  1987. X  return;
  1988. X}
  1989. X
  1990. END_OF_FILE
  1991.   if test 5410 -ne `wc -c <'gnuplot/term/iris4d.trm'`; then
  1992.     echo shar: \"'gnuplot/term/iris4d.trm'\" unpacked with wrong size!
  1993.   fi
  1994.   # end of 'gnuplot/term/iris4d.trm'
  1995. fi
  1996. if test -f 'gnuplot/term/pslatex.trm' -a "${1}" != "-c" ; then 
  1997.   echo shar: Will not clobber existing file \"'gnuplot/term/pslatex.trm'\"
  1998. else
  1999.   echo shar: Extracting \"'gnuplot/term/pslatex.trm'\" \(5487 characters\)
  2000.   sed "s/^X//" >'gnuplot/term/pslatex.trm' <<'END_OF_FILE'
  2001. X/*
  2002. X * $Id: pslatex.trm%v 3.50 1993/07/09 05:35:24 woo Exp $
  2003. X */
  2004. X
  2005. X/* GNUPLOT - pslatex.trm */
  2006. X/*
  2007. X * Copyright (C) 1990 - 1993   
  2008. X *
  2009. X * Permission to use, copy, and distribute this software and its
  2010. X * documentation for any purpose with or without fee is hereby granted, 
  2011. X * provided that the above copyright notice appear in all copies and 
  2012. X * that both that copyright notice and this permission notice appear 
  2013. X * in supporting documentation.
  2014. X *
  2015. X * Permission to modify the software is granted, but not the right to
  2016. X * distribute the modified code.  Modifications are to be distributed 
  2017. X * as patches to released version.
  2018. X *  
  2019. X * This software  is provided "as is" without express or implied warranty.
  2020. X * 
  2021. X * This file is included by ../term.c.
  2022. X *
  2023. X * This terminal driver supports:
  2024. X *     latex with embedded postscript
  2025. X *
  2026. X * AUTHORS
  2027. X *  George Phillips
  2028. X *  Russell Lang
  2029. X *  David Kotz
  2030. X * 
  2031. X * send your comments or suggestions to (info-gnuplot@dartmouth.edu).
  2032. X */
  2033. X
  2034. X/* Driver by George Phillips */
  2035. X
  2036. X#define PSLATEX_XMAX (5*720)
  2037. X#define PSLATEX_YMAX (3*720)
  2038. X
  2039. X/* 10 pt char is about 10 pts high (say) */
  2040. X#define PSLATEX_VCHAR (100)
  2041. X/* 10 pt char is about 6 pts wide (say) */
  2042. X#define PSLATEX_HCHAR (60)
  2043. X
  2044. Xstatic int PSLATEX_angle;
  2045. Xstatic int PSLATEX_justify;
  2046. Xstatic int PSLATEX_rotate = TRUE;
  2047. X
  2048. Xstruct text_command {
  2049. X    int x, y, angle, justify;
  2050. X    char* label;
  2051. X    struct text_command* next;
  2052. X};
  2053. X
  2054. Xstatic struct text_command* PSLATEX_labels;
  2055. X
  2056. XPSLATEX_options()
  2057. X{
  2058. X    if (!END_OF_COMMAND) {
  2059. X    if (almost_equals(c_token, "d$efault")) {
  2060. X        ps_color = FALSE;
  2061. X        PSLATEX_rotate = TRUE;
  2062. X        c_token++;
  2063. X    }
  2064. X    }
  2065. X
  2066. X    if (!END_OF_COMMAND) {
  2067. X    if (almost_equals(c_token, "c$olor")) {
  2068. X        ps_color = TRUE;
  2069. X        c_token++;
  2070. X    }
  2071. X    }
  2072. X
  2073. X    if (!END_OF_COMMAND) {
  2074. X    if (almost_equals(c_token, "m$onochrome")) {
  2075. X        ps_color = FALSE;
  2076. X        c_token++;
  2077. X    }
  2078. X    }
  2079. X
  2080. X    if (!END_OF_COMMAND) {
  2081. X    if (almost_equals(c_token, "r$otate")) {
  2082. X        PSLATEX_rotate = TRUE;
  2083. X        c_token++;
  2084. X    }
  2085. X    }
  2086. X
  2087. X    if (!END_OF_COMMAND) {
  2088. X    if (almost_equals(c_token, "n$orotate")) {
  2089. X        PSLATEX_rotate = FALSE;
  2090. X        c_token++;
  2091. X    }
  2092. X    }
  2093. X
  2094. X    sprintf(term_options, "%s %s", ps_color ? "color" : "monochrome",
  2095. X    PSLATEX_rotate ? "rotate" : "norotate");
  2096. X}
  2097. X
  2098. XPSLATEX_init()
  2099. X{
  2100. X    /* reset PostScript driver variables */
  2101. X    ps_portrait = TRUE;
  2102. X    ps_eps = FALSE;
  2103. X    ps_color = FALSE;
  2104. X
  2105. X    fprintf(outfile, "%% GNUPLOT: LaTeX picture with Postscript\n");
  2106. X    fprintf(outfile, "\\setlength{\\unitlength}{0.1bp}\n");
  2107. X    fprintf(outfile, "\\special{!\n");
  2108. X    PS_init();
  2109. X    fprintf(outfile, "}\n");
  2110. X
  2111. X    PSLATEX_angle = 0;
  2112. X    PSLATEX_justify = 0;
  2113. X    PSLATEX_labels = 0;
  2114. X}
  2115. X
  2116. XPSLATEX_scale(xs, ys)
  2117. Xdouble xs, ys;
  2118. X{
  2119. X    register struct termentry *t = &term_tbl[term];
  2120. X
  2121. X    t->xmax = (unsigned int)(PSLATEX_XMAX * xs);
  2122. X    t->ymax = (unsigned int)(PSLATEX_YMAX * ys);
  2123. X
  2124. X    return TRUE;
  2125. X}
  2126. X
  2127. XPSLATEX_graphics()
  2128. X{
  2129. X    struct termentry *t = &term_tbl[term];
  2130. X
  2131. X    fprintf(outfile, "\\begin{picture}(%d,%d)(0,0)\n", t->xmax, t->ymax);
  2132. X
  2133. X    fprintf(outfile, "\\special{\"\n");
  2134. X    PS_graphics();
  2135. X    /* thwart the translation done by PS_graphics() */
  2136. X    fprintf(outfile, "%f %f translate\n",
  2137. X        -PS_XOFF * (float)PS_SC, -PS_YOFF * (float)PS_SC);
  2138. X    PSLATEX_labels = (struct text_command *)NULL;
  2139. X}
  2140. X
  2141. XPSLATEX_put_text(x, y, str)
  2142. Xint x, y;
  2143. Xchar str[];
  2144. X{
  2145. X    struct text_command* tc;
  2146. X
  2147. X    /* ignore empty strings */
  2148. X    if (str[0] == '\0')
  2149. X    return(0);
  2150. X    
  2151. X    tc = (struct text_command*)alloc(sizeof(struct text_command),"pslatex");
  2152. X    tc->x = x;
  2153. X    tc->y = y;
  2154. X    tc->label = (char *)alloc(strlen(str) + 1,"pslatex");
  2155. X    strcpy(tc->label, str);
  2156. X    tc->justify = PSLATEX_justify;
  2157. X    tc->angle = PSLATEX_angle;
  2158. X
  2159. X    tc->next = PSLATEX_labels;
  2160. X    PSLATEX_labels = tc;
  2161. X}
  2162. X
  2163. XPSLATEX_justify_text(mode)
  2164. Xenum JUSTIFY mode;
  2165. X{
  2166. X    PSLATEX_justify = mode;
  2167. X    return TRUE;
  2168. X}
  2169. X
  2170. Xint PSLATEX_text_angle(angle)
  2171. Xint angle;
  2172. X{
  2173. X    /* rotated text is put in a short stack, and optionally uses 
  2174. X     * postscript specials depending on PSLATEX_rotate */
  2175. X    PSLATEX_angle = angle;
  2176. X    return TRUE;
  2177. X}
  2178. X
  2179. X
  2180. XPSLATEX_reset()
  2181. X{
  2182. X}
  2183. X
  2184. XPSLATEX_text()
  2185. X{
  2186. X    struct text_command* tc;
  2187. X
  2188. X    PS_text();
  2189. X    fprintf(outfile, "}\n");
  2190. X
  2191. X    for (tc = PSLATEX_labels; tc != (struct text_command*)NULL; tc = tc->next) {
  2192. X    fprintf(outfile, "\\put(%d,%d){", tc->x, tc->y);
  2193. X    switch (tc->angle) {
  2194. X    case 0:
  2195. X        switch (tc->justify) {
  2196. X        case LEFT:
  2197. X        fprintf(outfile, "\\makebox(0,0)[l]{%s}", tc->label);
  2198. X        break;
  2199. X        case CENTRE:
  2200. X        fprintf(outfile, "\\makebox(0,0){%s}", tc->label);
  2201. X        break;
  2202. X        case RIGHT:
  2203. X        fprintf(outfile, "\\makebox(0,0)[r]{%s}", tc->label);
  2204. X        break;
  2205. X        }
  2206. X        break;
  2207. X    case 1: /* put text in a short stack */
  2208. X        if (PSLATEX_rotate) {
  2209. X            fprintf(outfile, "%%\n\\special{ps: gsave currentpoint currentpoint translate\n");
  2210. X            fprintf(outfile, "270 rotate neg exch neg exch translate}%%\n");
  2211. X        }
  2212. X        switch (tc->justify) {
  2213. X        case LEFT:
  2214. X        fprintf(outfile, "\\makebox(0,0)[lb]{\\shortstack{%s}}",
  2215. X            tc->label);
  2216. X        break;
  2217. X        case CENTRE:
  2218. X        fprintf(outfile, "\\makebox(0,0)[b]{\\shortstack{%s}}",
  2219. X            tc->label);
  2220. X        break;
  2221. X        case RIGHT:
  2222. X        fprintf(outfile, "\\makebox(0,0)[lt]{\\shortstack{%s}}",
  2223. X            tc->label);
  2224. X        break;
  2225. X        }
  2226. X        if (PSLATEX_rotate) {
  2227. X            fprintf(outfile, "%%\n\\special{ps: currentpoint grestore moveto}%%\n");
  2228. X        }
  2229. X    }
  2230. X    fprintf(outfile, "}\n");
  2231. X    }
  2232. X
  2233. X    while (PSLATEX_labels) {
  2234. X    tc = PSLATEX_labels->next;
  2235. X    free(PSLATEX_labels->label);
  2236. X    free(PSLATEX_labels);
  2237. X    PSLATEX_labels = tc;
  2238. X    }
  2239. X
  2240. X    fprintf(outfile, "\\end{picture}\n");
  2241. X}
  2242. END_OF_FILE
  2243.   if test 5487 -ne `wc -c <'gnuplot/term/pslatex.trm'`; then
  2244.     echo shar: \"'gnuplot/term/pslatex.trm'\" unpacked with wrong size!
  2245.   fi
  2246.   # end of 'gnuplot/term/pslatex.trm'
  2247. fi
  2248. if test -f 'gnuplot/term/tgif.trm' -a "${1}" != "-c" ; then 
  2249.   echo shar: Will not clobber existing file \"'gnuplot/term/tgif.trm'\"
  2250. else
  2251.   echo shar: Extracting \"'gnuplot/term/tgif.trm'\" \(5401 characters\)
  2252.   sed "s/^X//" >'gnuplot/term/tgif.trm' <<'END_OF_FILE'
  2253. X/*
  2254. X * $Id: tgif.trm%v 3.50 1993/07/09 05:35:24 woo Exp $
  2255. X */
  2256. X
  2257. X/* N O T   F I N I S H E D ! ! ! ! ! ! ! */
  2258. X
  2259. X/* GNUPLOT - tgif.trm */
  2260. X/*
  2261. X * Copyright (C) 1990   
  2262. X *
  2263. X * Permission to use, copy, and distribute this software and its
  2264. X * documentation for any purpose with or without fee is hereby granted, 
  2265. X * provided that the above copyright notice appear in all copies and 
  2266. X * that both that copyright notice and this permission notice appear 
  2267. X * in supporting documentation.
  2268. X *
  2269. X * Permission to modify the software is granted, but not the right to
  2270. X * distribute the modified code.  Modifications are to be distributed 
  2271. X * as patches to released version.
  2272. X *  
  2273. X * This software  is provided "as is" without express or implied warranty.
  2274. X * 
  2275. X * This file is included by ../term.c.
  2276. X *
  2277. X * This terminal driver supports:
  2278. X *     tgif
  2279. X *
  2280. X * AUTHORS
  2281. X *  Neal Holtz
  2282. X * 
  2283. X * send your comments or suggestions to (info-gnuplot@dartmouth.edu).
  2284. X * 
  2285. X */
  2286. X
  2287. X
  2288. X/* tgif driver by Neal Holtz, holtz@civeng.carleton.ca */
  2289. X
  2290. X#include "tgif.h"
  2291. X
  2292. X#define TGIF_XMAX 750
  2293. X#define TGIF_YMAX 750
  2294. X
  2295. X#define TGIF_XLAST (TGIF_XMAX - 1)
  2296. X#define TGIF_YLAST (TGIF_YMAX - 1)
  2297. X
  2298. X#define TGIF_VTIC (TGIF_YMAX/80)
  2299. X#define TGIF_HTIC (TGIF_YMAX/80)
  2300. X
  2301. X/* TGIF Courier size 5 = 15x24, size 4 = 11x19, size 3 = 9x16
  2302. X    ascender+descender = 19+5,           15+4,           13+3 */
  2303. X
  2304. X#define TGIF_VCHAR1    19
  2305. X#define TGIF_HCHAR1    11
  2306. X#define TGIF_CHAR_ASC    15
  2307. X#define TGIF_CHAR_DESC     (TGIF_VCHAR1-TGIF_CHAR_ASC)
  2308. X
  2309. X#define YTRANS(y) (TGIF_YMAX-(y))
  2310. X                         
  2311. Xtypedef struct {
  2312. X    int    x, y;
  2313. X} Tgif_point;
  2314. X
  2315. Xint    tgif_fileVersion = 10;
  2316. Xint    tgif_just = JUST_L;
  2317. Xint    tgif_ang = ROTATE0;
  2318. Xint    tgif_font = FONT_HEL;
  2319. Xint    tgif_style = STYLE_NR;    /* text style */
  2320. Xint    tgif_size = 4;        /* text size */
  2321. Xint    tgif_asc = TGIF_CHAR_ASC;        /* text ascender, descender */
  2322. Xint    tgif_des = TGIF_CHAR_DESC;
  2323. X
  2324. Xint    tgif_linewidth = LINE_MEDIUM;
  2325. Xint    tgif_dash = 0;
  2326. X
  2327. Xchar    *tgif_colour = "yellow";
  2328. Xint    tgif_objId = 100;
  2329. X
  2330. X#define TGIF_VSINIT    100
  2331. X#define TGIF_VSINCR    100
  2332. Xint    tgif_vsmax = 0;            /* max possible number of vertices */
  2333. Xint    tgif_nv = 0;            /* current number of vertices */
  2334. XTgif_point    *tgif_v = NULL;        /* coordinates of vertices of polyline */
  2335. X
  2336. X
  2337. X
  2338. XTGIF_AddVertex( x, y )
  2339. Xint    x, y;
  2340. X{
  2341. X    Tgif_point    *p;
  2342. X
  2343. X    if( tgif_v == NULL ) {
  2344. X        tgif_v = (Tgif_point *)malloc( TGIF_VSINIT*sizeof(Tgif_point) );
  2345. X        tgif_nv = 0;
  2346. X        if( tgif_v == NULL ) {
  2347. X            fprintf( stderr, "Unable to malloc() space for vertices.\n" );
  2348. X            exit( 1 );
  2349. X        }
  2350. X        tgif_vsmax = TGIF_VSINIT;
  2351. X    }
  2352. X    if( tgif_nv >= tgif_vsmax ) {
  2353. X        tgif_v = (Tgif_point *)realloc( tgif_v, (tgif_vsmax+TGIF_VSINCR)*sizeof(Tgif_point) ); 
  2354. X        if( tgif_v == NULL ) {
  2355. X            fprintf( stderr, "Unable to realloc() space for vertices.\n" );
  2356. X            exit( 1 );
  2357. X        }
  2358. X        tgif_vsmax += TGIF_VSINCR;
  2359. X    }
  2360. X    p = tgif_v + tgif_nv++;
  2361. X    p->x = x;
  2362. X    p->y = YTRANS(y);
  2363. X    if( tgif_nv > 1 && p[-1].x == p[0].x && p[-1].y == p[0].y )
  2364. X        tgif_nv--;
  2365. X}
  2366. X
  2367. X
  2368. XTGIF_Flush( lstyle )
  2369. Xint    lstyle;        /* line style */
  2370. X{
  2371. X    int    i;
  2372. X
  2373. X    if( tgif_nv >= 2 ) {
  2374. X        fprintf( outfile, "poly('%s',%d,[%d,%d",
  2375. X            tgif_colour, tgif_nv, tgif_v[0].x, tgif_v[0].y );
  2376. X        for( i = 1; i < tgif_nv; i++ )
  2377. X            fprintf( outfile, ",%d,%d", tgif_v[i].x, tgif_v[i].y );
  2378. X        fprintf( outfile, "],%d,%d,%d,%d,%d,%d,%d,[\n]).\n",
  2379. X            lstyle, tgif_linewidth, 1,    /* style, width, pen */
  2380. X            tgif_objId++,
  2381. X            0, 0,        /* curved, fill */
  2382. X            tgif_dash );
  2383. X    }
  2384. X    tgif_nv = 0;
  2385. X}
  2386. X    
  2387. X    
  2388. X
  2389. X
  2390. XTGIF_init()
  2391. X{
  2392. X    tgif_just = JUST_L;
  2393. X    tgif_ang = ROTATE0;
  2394. X    tgif_font = FONT_HEL;
  2395. X    tgif_style = STYLE_NR;
  2396. X    tgif_linewidth = LINE_MEDIUM;
  2397. X    tgif_dash = 0;
  2398. X    tgif_nv = 0; 
  2399. X}
  2400. X
  2401. X
  2402. XTGIF_graphics()
  2403. X{
  2404. X    fprintf(outfile,"state(0,%d,0,0,0,16,1,0,2,1,0,0,1,0,1,0,1,0,3,0,0).\n", tgif_fileVersion);
  2405. X    fprintf(outfile,"%%\n");
  2406. X    fprintf(outfile,"%% @(#)$Header: /a/woo/src/gwork/term/RCS/tgif.trm%v 3.50 1993/07/09 05:35:24 woo Exp $\n");
  2407. X    fprintf(outfile,"%%\n");
  2408. X    tgif_nv = 0;
  2409. X}
  2410. X
  2411. X
  2412. XTGIF_text()
  2413. X{
  2414. X    TGIF_Flush(LS_PLAIN);
  2415. X}
  2416. X
  2417. X
  2418. XTGIF_reset()
  2419. X{
  2420. X    TGIF_Flush(LS_PLAIN);
  2421. X}
  2422. X
  2423. X
  2424. XTGIF_linetype(linetype)
  2425. Xint linetype;
  2426. X{
  2427. X    TGIF_Flush(LS_PLAIN);
  2428. X    if( linetype == -2 )        /* use thinner lines for border and axis */
  2429. X        tgif_dash = 0, tgif_linewidth = LINE_THIN;
  2430. X    else if( linetype == -1 )
  2431. X        tgif_dash = 1, tgif_linewidth = LINE_THIN;
  2432. X    else
  2433. X        tgif_dash = linetype % MAXDASHES, tgif_linewidth = LINE_MEDIUM;
  2434. X}
  2435. X
  2436. X
  2437. XTGIF_move(x,y)
  2438. Xunsigned int x,y;
  2439. X{
  2440. X    TGIF_Flush(LS_PLAIN);
  2441. X    TGIF_AddVertex( x, y );
  2442. X}
  2443. X
  2444. X
  2445. XTGIF_vector(x,y)
  2446. Xunsigned int x,y;
  2447. X{
  2448. X    TGIF_AddVertex( x, y );
  2449. X}
  2450. X
  2451. X
  2452. XTGIF_put_text(x,y,str)
  2453. Xunsigned int x, y;
  2454. Xchar *str;
  2455. X{
  2456. X    TGIF_Flush(LS_PLAIN);
  2457. X    fprintf( outfile, "text('%s',%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,[\n\t\"%s\"]).\n",
  2458. X        tgif_colour, 
  2459. X        x, YTRANS(y)-(TGIF_CHAR_DESC+(TGIF_CHAR_ASC/2)),
  2460. X        tgif_font, tgif_style, tgif_size,
  2461. X        1,    /* number of lines */
  2462. X        tgif_just, tgif_ang,
  2463. X        1,        /* pen */
  2464. X        TGIF_HCHAR1*strlen(str), TGIF_VCHAR1,
  2465. X        tgif_objId++,
  2466. X                0,     /* dpi */
  2467. X        tgif_asc, tgif_des,
  2468. X        str );
  2469. X}
  2470. X
  2471. Xint TGIF_text_angle(ang)
  2472. Xint ang;
  2473. X{
  2474. X    TGIF_Flush(LS_PLAIN);
  2475. X    if( ang == 1 )
  2476. X        tgif_ang = ROTATE270;
  2477. X    else
  2478. X        tgif_ang = ROTATE0;
  2479. X    return TRUE;
  2480. X}
  2481. X
  2482. Xint TGIF_justify_text(mode)
  2483. Xenum JUSTIFY mode;
  2484. X{
  2485. X    TGIF_Flush(LS_PLAIN);
  2486. X    switch(mode) {
  2487. X    case LEFT:    
  2488. X        tgif_just = JUST_L;     
  2489. X        break;
  2490. X    case CENTRE:    
  2491. X        tgif_just = JUST_C;    
  2492. X        break;
  2493. X    case RIGHT:    
  2494. X        tgif_just = JUST_R;    
  2495. X        break;
  2496. X    default:    
  2497. X        tgif_just = JUST_L;    
  2498. X        break;
  2499. X    }
  2500. X    return TRUE;
  2501. X}
  2502. X
  2503. XTGIF_arrow( sx, sy, ex, ey )
  2504. Xint    sx, sy, ex, ey;
  2505. X{
  2506. X    TGIF_Flush(LS_PLAIN);
  2507. X    TGIF_AddVertex( sx, sy );
  2508. X    TGIF_AddVertex( ex, ey );
  2509. X    TGIF_Flush(LS_RIGHT);
  2510. X}
  2511. END_OF_FILE
  2512.   if test 5401 -ne `wc -c <'gnuplot/term/tgif.trm'`; then
  2513.     echo shar: \"'gnuplot/term/tgif.trm'\" unpacked with wrong size!
  2514.   fi
  2515.   # end of 'gnuplot/term/tgif.trm'
  2516. fi
  2517. if test -f 'gnuplot/win/wgnuplib.rc' -a "${1}" != "-c" ; then 
  2518.   echo shar: Will not clobber existing file \"'gnuplot/win/wgnuplib.rc'\"
  2519. else
  2520.   echo shar: Extracting \"'gnuplot/win/wgnuplib.rc'\" \(5471 characters\)
  2521.   sed "s/^X//" >'gnuplot/win/wgnuplib.rc' <<'END_OF_FILE'
  2522. X#ifndef WIN32
  2523. X#include <windows.h>
  2524. X#endif
  2525. X#include "wresourc.h"
  2526. X
  2527. XInputDlgBox DIALOG 64, 32, 150, 57
  2528. XSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  2529. XCAPTION "Input"
  2530. XBEGIN
  2531. X    CONTROL "",        ID_PROMPT, "static", SS_LEFT | WS_GROUP | WS_CHILD,                   6,  5, 138, 10
  2532. X    CONTROL "",        ID_ANSWER, "edit",   ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD,    6, 17, 138, 12
  2533. X    CONTROL "&Ok",     IDOK,      "button", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD,        30, 36,  30, 15
  2534. X    CONTROL "&Cancel", IDCANCEL,  "button", BS_PUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD,           90, 36,  30, 15
  2535. XEND
  2536. X
  2537. XPrintDlgBox DIALOG 40, 40, 120, 40
  2538. XSTYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
  2539. XBEGIN
  2540. X    CTEXT            "Cancel Printing", -1, 4, 6, 120, 12
  2541. X    DEFPUSHBUTTON    "Cancel", IDCANCEL, 44, 22, 32, 14, WS_GROUP
  2542. XEND
  2543. X
  2544. XPrintSizeDlgBox DIALOG 16, 32, 210, 96
  2545. XSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
  2546. XCAPTION "Print Size"
  2547. XBEGIN
  2548. X    DEFPUSHBUTTON "OK", IDOK, 168, 16, 33, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
  2549. X    PUSHBUTTON "Cancel", IDCANCEL, 168, 40, 34, 14
  2550. X    CONTROL "Size", PSIZE_SBOX, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE | WS_GROUP, 6, 2, 153, 58
  2551. X    CONTROL "&Default Size", PSIZE_DEF, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 12, 11, 52, 10
  2552. X    CONTROL "&Other Size", PSIZE_OTHER, "BUTTON", BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 12, 34, 52, 10
  2553. X    RTEXT "Width", -1, 30, 23, 24, 8, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP
  2554. X    CONTROL "", PSIZE_DEFX, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE, 57, 23, 16, 8
  2555. X    LTEXT "mm", -1, 74, 23, 12, 8
  2556. X    RTEXT "Height", -1, 97, 23, 24, 8, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP
  2557. X    CONTROL "", PSIZE_DEFY, "STATIC", SS_LEFT | WS_CHILD | WS_VISIBLE, 125, 23, 16, 8
  2558. X    LTEXT "mm", -1, 142, 23, 12, 8
  2559. X    RTEXT "Width", -1, 30, 46, 24, 8, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP
  2560. X    CONTROL "120", PSIZE_X, "EDIT", ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 56, 44, 16, 12
  2561. X    LTEXT "mm", -1, 74, 46, 12, 8
  2562. X    LTEXT "Height", -1, 100, 46, 24, 8
  2563. X    CONTROL "90", PSIZE_Y, "EDIT", ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 124, 44, 16, 12
  2564. X    LTEXT "mm", -1, 142, 46, 12, 8
  2565. X    CONTROL "Page Offset", PSIZE_OFFBOX, "BUTTON", BS_GROUPBOX | WS_CHILD | WS_VISIBLE | WS_GROUP, 6, 64, 153, 27
  2566. X    RTEXT "Left", -1, 29, 76, 24, 8, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP
  2567. X    CONTROL "0", PSIZE_OFFX, "EDIT", ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 56, 74, 16, 12
  2568. X    LTEXT "mm", -1, 74, 76, 12, 8
  2569. X    RTEXT "Top", -1, 100, 76, 21, 8, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP
  2570. X    CONTROL "0", PSIZE_OFFY, "EDIT", ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 124, 74, 16, 12
  2571. X    LTEXT "mm", -1, 142, 76, 12, 8
  2572. XEND
  2573. X
  2574. XSpoolDlgBox DIALOG 32, 40, 110, 63
  2575. XSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  2576. XCAPTION "Select Printer Port"
  2577. XBEGIN
  2578. X    CONTROL "&Ok", IDOK, "button", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 72, 14, 32, 14
  2579. X    CONTROL "&Cancel", IDCANCEL, "button", BS_PUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 72, 36, 32, 14
  2580. X    CONTROL "", SPOOL_PORT, "LISTBOX", LBS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 8, 8, 56, 50
  2581. XEND
  2582. X
  2583. XCancelDlgBox DIALOG 32, 40, 120, 48
  2584. XSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
  2585. XBEGIN
  2586. X    CTEXT "Printing", -1, 8, 4, 104, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
  2587. X    CTEXT "", CANCEL_PCDONE, 8, 16, 104, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
  2588. X    CONTROL "&Cancel", IDCANCEL, "button", BS_PUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 44, 30, 32, 14
  2589. XEND
  2590. X
  2591. XLineStyleDlgBox DIALOG 16, 32, 172, 137
  2592. XSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  2593. XCAPTION "Line Styles"
  2594. XBEGIN
  2595. X    CONTROL "", LS_LINENUM, "LISTBOX", LBS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_TABSTOP, 8, 8, 49, 47
  2596. X    CONTROL "Monochrome", LS_MONOBOX, "button", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 72, 4, 92, 52
  2597. X    CONTROL "Color", LS_COLORBOX, "button", BS_GROUPBOX | WS_CHILD | WS_VISIBLE, 8, 60, 156, 52
  2598. X    LTEXT "Style", -1, 80, 20, 22, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
  2599. X    CONTROL "", LS_MONOSTYLE, "COMBOBOX", CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 106, 18, 52, 52
  2600. X    LTEXT "Width", -1, 80, 40, 20, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
  2601. X    EDITTEXT LS_MONOWIDTH, 106, 38, 16, 12
  2602. X    PUSHBUTTON "&Choose Color", LS_CHOOSECOLOR, 16, 92, 52, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
  2603. X    CONTROL "", LS_COLORSAMPLE, "BUTTON", BS_OWNERDRAW | WS_CHILD | WS_VISIBLE, 36, 75, 12, 8
  2604. X    LTEXT "Style", -1, 80, 76, 20, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
  2605. X    CONTROL "", LS_COLORSTYLE, "COMBOBOX", CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 106, 74, 52, 52
  2606. X    LTEXT "Width", -1, 80, 96, 19, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
  2607. X    EDITTEXT LS_COLORWIDTH, 106, 94, 16, 12
  2608. X    PUSHBUTTON "OK", IDOK, 16, 118, 32, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
  2609. X    PUSHBUTTON "Cancel", IDCANCEL, 70, 118, 32, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
  2610. X    PUSHBUTTON "&Default", LS_DEFAULT, 124, 118, 32, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
  2611. XEND
  2612. X
  2613. XAboutDlgBox DIALOG 32, 32, 180, 80
  2614. XSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
  2615. XCAPTION "About"
  2616. XBEGIN
  2617. X    CONTROL "", AB_ICON, "BUTTON", BS_OWNERDRAW | WS_CHILD | WS_VISIBLE, 4, 4, 16, 16
  2618. X    LTEXT   "", AB_TEXT1,  24,  8, 96, 10
  2619. X    PUSHBUTTON "OK", IDOK,  142, 6,  32, 12
  2620. X    LTEXT   "", AB_TEXT2,  4, 22, 172, 48
  2621. X    LTEXT   "", AB_TEXT3,  4, 70, 172, 48
  2622. XEND
  2623. X
  2624. END_OF_FILE
  2625.   if test 5471 -ne `wc -c <'gnuplot/win/wgnuplib.rc'`; then
  2626.     echo shar: \"'gnuplot/win/wgnuplib.rc'\" unpacked with wrong size!
  2627.   fi
  2628.   # end of 'gnuplot/win/wgnuplib.rc'
  2629. fi
  2630. if test -f 'gnuplot/win/wgnuplot.rc' -a "${1}" != "-c" ; then 
  2631.   echo shar: Will not clobber existing file \"'gnuplot/win/wgnuplot.rc'\"
  2632. else
  2633.   echo shar: Extracting \"'gnuplot/win/wgnuplot.rc'\" \(5362 characters\)
  2634.   sed "s/^X//" >'gnuplot/win/wgnuplot.rc' <<'END_OF_FILE'
  2635. X#include <windows.h>
  2636. X#ifdef WIN32
  2637. X#include "wgnuplib.rc"
  2638. X#endif
  2639. X
  2640. X#ifdef MSRC
  2641. X/* using Microsoft RC.EXE */
  2642. X  /* texticon.ico and grpicon.ico are created from the */
  2643. X  /* Borland ascii format icons below using geticon.c */
  2644. X  /* cl win\geticon.c
  2645. X   * geticon win\wgnuplot.rc
  2646. X   * rc -30 -k -dMSRC win\wgnuplot.rc wgnuplot.exe
  2647. X   */
  2648. Xgrpicon ICON "grpicon.ico"
  2649. Xtexticon ICON  "texticon.ico"
  2650. X
  2651. X#else
  2652. X/* using Borland BRC.EXE */
  2653. Xgrpicon ICON 
  2654. XBEGIN
  2655. X    '00 00 01 00 01 00 20 20 10 00 00 00 00 00 E8 02'
  2656. X    '00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
  2657. X    '00 00 01 00 04 00 00 00 00 00 80 02 00 00 00 00'
  2658. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2659. X    '00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00'
  2660. X    '00 00 80 00 80 00 80 80 00 00 80 80 80 00 C0 C0'
  2661. X    'C0 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00'
  2662. X    '00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 00 00'
  2663. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F FC'
  2664. X    'FF 0F FF FF F8 FF FF FF F8 FF FF FF F8 F0 0F FF'
  2665. X    'CF 0F FF FF F8 FF FF FF F8 FF FF FF F8 90 0F FF'
  2666. X    'FC 0F FF FF F8 FF FF FF F8 FF FF FF F9 F0 0F FF'
  2667. X    'FF 0C FF FF F8 FF 9F FF F8 FF FF FF 98 F0 0F FF'
  2668. X    'FF 0F CF FF F8 99 F9 FF F8 FF FF F9 F8 F0 0F FF'
  2669. X    'FF 0F CF FF F9 FF FF 9F F8 FF FF 9F F8 F0 00 00'
  2670. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F FF'
  2671. X    'FF 0F FC FF 98 FF FF F9 F8 FF F9 FF F8 F0 0F FF'
  2672. X    'FF 0F FF C9 F8 FF FF FF 98 FF 9F FF F8 F0 0F FF'
  2673. X    'AF 0F FF F9 F8 FF FF FF F9 F9 FF FF F8 F0 0F FA'
  2674. X    'FA 0F FF 9F C8 FF FF FF F9 9F CF FF F8 F0 0F AF'
  2675. X    'FF 0A F9 FF FC FF FF FF F8 9C FC FF F8 F0 0F AF'
  2676. X    'FF 0F AF FF F8 CF FF FF F8 FC FF CF F8 F0 0A FF'
  2677. X    'FF 0F AF FF F8 FC FF FF F8 CF FF FC F8 F0 0F FF'
  2678. X    'FF 09 FA FF F8 FF CF FF FC FF FF FF C8 F0 08 88'
  2679. X    '89 08 88 A8 88 88 8C 88 C8 88 88 88 C8 80 0F FF'
  2680. X    '9F 0F FF AF F8 FF FF CF C8 FF FF FF FC F0 0F FF'
  2681. X    '9F 0F FF FA F8 FF AF FC F8 FF FF FF F8 C0 0F F9'
  2682. X    'FF 0F FF FF A8 FA FA FF F8 FF FF FF F8 F0 0F 9F'
  2683. X    'FF 0F FF FF A8 AF FA FF F8 FF FF FF F8 F0 0F 9F'
  2684. X    'FF 0F FF FF FA FF FF AF F8 FF FF FF F8 F0 09 FF'
  2685. X    'FF 0F FF FF F8 FF FF FA F8 FF FF FF F8 F0 0F FF'
  2686. X    'FF 0F FF FF F8 FF FF FA F8 FF FF FF F8 F0 0F FF'
  2687. X    'FF 0F FF FF F8 FF FF FF A8 FF FF FF F8 F0 08 88'
  2688. X    '88 08 88 88 88 88 88 88 8A 88 88 88 88 80 0F FF'
  2689. X    'FF 0F FF FF F8 FF FF FF FA FF FF FF F8 F0 0F FF'
  2690. X    'FF 0F FF FF F8 FF FF FF F8 AF FF FF F8 F0 0F FF'
  2691. X    'FF 0F FF FF F8 FF FF FF F8 FA FF FF F8 F0 0F FF'
  2692. X    'FF 0F FF FF F8 FF FF FF F8 FA FF FF F8 F0 0F FF'
  2693. X    'FF 0F FF FF F8 FF FF FF F8 FF AF FF F8 F0 00 00'
  2694. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2695. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2696. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2697. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2698. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2699. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2700. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2701. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2702. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2703. XEND
  2704. X
  2705. Xtexticon ICON 
  2706. XBEGIN
  2707. X    '00 00 01 00 01 00 20 20 10 00 00 00 00 00 E8 02'
  2708. X    '00 00 16 00 00 00 28 00 00 00 20 00 00 00 40 00'
  2709. X    '00 00 01 00 04 00 00 00 00 00 80 02 00 00 00 00'
  2710. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2711. X    '00 00 00 00 80 00 00 80 00 00 00 80 80 00 80 00'
  2712. X    '00 00 80 00 80 00 80 80 00 00 80 80 80 00 C0 C0'
  2713. X    'C0 00 00 00 FF 00 00 FF 00 00 00 FF FF 00 FF 00'
  2714. X    '00 00 FF 00 FF 00 FF FF 00 00 FF FF FF 00 00 00'
  2715. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 88'
  2716. X    '88 88 88 88 88 88 88 88 88 88 88 88 88 80 08 88'
  2717. X    '88 88 88 88 88 88 88 88 88 88 88 88 88 80 08 88'
  2718. X    '88 88 88 88 88 88 88 88 88 88 88 88 88 80 08 88'
  2719. X    '88 88 88 88 88 88 88 88 88 88 88 88 88 80 08 88'
  2720. X    '88 88 88 88 88 88 88 88 88 88 88 88 88 80 08 88'
  2721. X    '88 88 88 88 88 88 88 88 88 88 88 88 88 80 08 88'
  2722. X    '88 88 88 88 88 88 88 88 88 88 88 88 88 80 08 00'
  2723. X    '08 80 80 88 08 88 00 80 88 08 00 88 88 80 08 08'
  2724. X    '08 80 80 88 08 88 08 88 00 88 80 88 88 80 08 88'
  2725. X    '08 80 80 88 08 88 08 88 00 88 80 88 88 80 08 80'
  2726. X    '08 80 80 08 08 88 08 80 88 08 80 88 88 80 08 00'
  2727. X    '88 00 80 80 08 88 08 88 88 88 80 88 88 80 08 08'
  2728. X    '88 88 88 88 88 88 08 88 88 88 80 88 88 80 08 08'
  2729. X    '08 80 88 88 88 88 08 88 88 88 80 88 88 80 08 00'
  2730. X    '08 88 88 88 88 88 00 88 88 88 00 88 88 80 08 88'
  2731. X    '88 88 88 88 88 88 88 88 88 88 88 88 88 80 0F FF'
  2732. X    'FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0F FF'
  2733. X    'FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0F FF'
  2734. X    'FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0F 0F'
  2735. X    'FF FF F0 FF 00 0F FF 0F FF FF FF FF FF F0 0F 0F'
  2736. X    'FF FF F0 F0 FF F0 F0 FF FF FF FF FF FF F0 0F 0F'
  2737. X    'FF FF F0 F0 FF F0 F0 FF FF FF FF FF FF F0 0F 0F'
  2738. X    'FF FF F0 F0 FF F0 F0 FF FF FF FF FF FF F0 0F 00'
  2739. X    '00 0F F0 F0 FF F0 F0 FF FF FF FF FF FF F0 0F 0F'
  2740. X    'FF F0 F0 FF 00 0F F0 0F FF FF FF FF FF F0 0F 0F'
  2741. X    'FF F0 F0 FF FF FF F0 FF FF FF FF FF FF F0 0F 0F'
  2742. X    'FF F0 F0 FF FF FF F0 FF FF FF FF FF FF F0 0F 00'
  2743. X    '00 0F F0 FF FF FF FF FF FF FF FF FF FF F0 0F FF'
  2744. X    'FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0F FF'
  2745. X    'FF FF FF FF FF FF FF FF FF FF FF FF FF F0 00 00'
  2746. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2747. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2748. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2749. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2750. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2751. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2752. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2753. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2754. X    '00 00 00 00 00 00 00 00 00 00 00 00 00 00'
  2755. XEND
  2756. X#endif
  2757. END_OF_FILE
  2758.   if test 5362 -ne `wc -c <'gnuplot/win/wgnuplot.rc'`; then
  2759.     echo shar: \"'gnuplot/win/wgnuplot.rc'\" unpacked with wrong size!
  2760.   fi
  2761.   # end of 'gnuplot/win/wgnuplot.rc'
  2762. fi
  2763. echo shar: End of archive 28 \(of 33\).
  2764. cp /dev/null ark28isdone
  2765. MISSING=""
  2766. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ; do
  2767.     if test ! -f ark${I}isdone ; then
  2768.     MISSING="${MISSING} ${I}"
  2769.     fi
  2770. done
  2771. if test "${MISSING}" = "" ; then
  2772.     echo You have unpacked all 33 archives.
  2773.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  2774. else
  2775.     echo You still must unpack the following archives:
  2776.     echo "        " ${MISSING}
  2777. fi
  2778. exit 0
  2779. exit 0 # Just in case...
  2780.