home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / util / gedscripts-1.1.lha / GEDScripts / PasTeX / StartDVIprint.ged < prev    next >
Encoding:
Text File  |  1994-02-15  |  2.5 KB  |  108 lines

  1. /* Look at the command at the end of the script an change it accordingly to your
  2. TeX setup */
  3.  
  4.  /*** START ***/
  5.  
  6. options results
  7.  
  8. address 'GOLDED.1'
  9. LOCK CURRENT
  10. /*** Look if DVIprint is already busy ***/
  11.  
  12. IF SHOW('P','dviprint') THEN DO
  13.     'REQUEST BODY="DVIprint is already running, please wait"'
  14.     UNLOCK
  15.     EXIT
  16.     END
  17.  
  18. /*** Look if the user forgot to state which printer to use ***/
  19.  
  20. noprinter = mygetenv("DVIPRINT")
  21.  
  22. IF noprinter=="" THEN DO
  23.     'REQUEST OLD="printer=" BODY="Use which printer and draft ?" STRING'
  24.     printer=RESULT
  25.     /* I hope you stated something reasonable */
  26.     CALL mysetenv("DVIPRINT",'"'printer'"') /* Look at that tricky construction !! */
  27. END 
  28.  
  29. CALL SETCLIP("pages")
  30.  
  31.  
  32. QUERY FILE
  33. filename=RESULT
  34. QUERY PATH
  35. pathname=RESULT
  36.  
  37.  
  38. if (RIGHT(pathname,1)) ~= ":" THEN DO
  39.     pathname = pathname||"/"
  40.     END
  41.  
  42.  
  43. filename = left(filename,lastpos('.',filename)-1)
  44.  
  45. /*** is there a .dvi file ? ***/
  46. IF ~EXISTS(pathname||filename||".dvi") THEN DO
  47.     'REQUEST BODY="The corresponding .dvi file does not exist|Use Start_TeX to generate one."'
  48.     UNLOCK 
  49.     EXIT 5
  50.     END
  51.  
  52. /*** I want to know if the customer wants to print the whole text ***/
  53.  
  54. 'REQUEST BODY="Print all pages ?" BUTTON="_Yep|_Nope"'
  55.    if (RESULT = 0) THEN DO
  56.         'REQUEST LONG TITLE="Print from which page ?" MIN=0 MAX=10000 VAR=pagefrom'
  57.         IF pagefrom='' THEN DO
  58.            'REQUEST BODY="Enter a number!"'
  59.            UNLOCK
  60.            EXIT
  61.         END
  62.         pagefrom=RESULT
  63.         'REQUEST LONG OLD="" TITLE="Print to which page ?" MIN=0 MAX=1000 VAR=pageto'
  64.         IF pageto='' THEN DO
  65.            'REQUEST BODY="Enter a number!"'
  66.            UNLOCK
  67.            EXIT
  68.         END
  69.         pageto=RESULT
  70.         'REQUEST  BODY="Print every (<RET>), ODD or EVEN pages?" STRING'
  71.         whatpage=result
  72.         IF whatpage = "" THEN
  73.         CALL SETCLIP("pages","FROM" pagefrom" TO "pageto" ")
  74.         else
  75.         CALL SETCLIP("pages","FROM" pagefrom" TO "pageto whatpage" ")
  76.         END
  77.  
  78.  
  79.  
  80.  
  81. /* now lets start the command given by the user and unlock GoldED */
  82.  
  83.  
  84. ADDRESS COMMAND "tex:bin/DVIPRINT -l -p -r "||GETCLIP("pages")||pathname||filename
  85.  
  86. UNLOCK
  87.  
  88. EXIT 0 /* Get outta here */
  89.  
  90. mygetenv: procedure     /* when will ARexx supply GetEnv/SetEnv ? */
  91.    PARSE ARG name       /* Thanks to Georg ! */
  92.  
  93.    IF open(TEMPFILE,"ENV:"||name,'r') THEN DO
  94.     gives = readln(TEMPFILE)
  95.     CALL close TEMPFILE
  96.     END
  97.    ELSE gives = ""
  98.  
  99.    RETURN gives
  100.  
  101. mysetenv: procedure
  102.    PARSE ARG name,content
  103.  
  104.    ADDRESS COMMAND "SetEnv" name content
  105.  
  106.    RETURN
  107.    END
  108.