From e5aa582496cfde62bf0418871390184ad70cb0f0 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sat, 22 Sep 2007 00:46:02 +0000
Subject: get interactiveworkbook.sty files installed (luecking, 23 Jul 2007
 13:47:15)

git-svn-id: svn://tug.org/texlive/trunk@5007 c570f23f-e606-0410-a88d-b1316a301751
---
 .../interactiveworkbook/interactiveworkbook.sty    | 980 +++++++++++++++++++++
 1 file changed, 980 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/interactiveworkbook/interactiveworkbook.sty

(limited to 'Master/texmf-dist/tex/latex/interactiveworkbook/interactiveworkbook.sty')

diff --git a/Master/texmf-dist/tex/latex/interactiveworkbook/interactiveworkbook.sty b/Master/texmf-dist/tex/latex/interactiveworkbook/interactiveworkbook.sty
new file mode 100644
index 00000000000..74e9dfe2759
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/interactiveworkbook/interactiveworkbook.sty
@@ -0,0 +1,980 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%   INTERACTIVEWORKBOOK STYLE FILE: put this file in /tex/latex/graphics file
+%                                   if using MiKTeX for Windows
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{interactiveworkbook}[1999/06/04]
+
+\RequirePackage{epsfig} % allows text fields, to be placed anywhere on page
+\RequirePackage{color} % allows fonts to be colored
+\RequirePackage{xspace} % allows appropriate space after fieldone, say
+\RequirePackage{ifthen} % allows question taker to choose between clear, submit buttons
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  BUTTON APPEARANCE: PREVIOUS, INDEX, NEXT, EXERQUES, SUBMIT, CLEAR, RETURN,
+%                     SELECTED (UP) AND UNSELECTED (DOWN)
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\AtBeginDocument{\epsfig{file=buttonappearance.eps,height=1bp,width=1bp}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  THREE PAGE OUTPUT FOR EACH QUESTION (ONE *EXERCISE* OFTEN HAS MANY QUESTIONS):
+%  QUESTION (FIRST) PAGE, CORRECT (SECOND) PAGE, INCORRECT (THIRD) PAGE
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\questionandresponses}[7]{ % seven arguments
+    \setcounter{page}{1} % specifies "page one" versions of check, popup, field and radio buttons
+    \textcolor{black}{#5} % put question, argument #5, on first page (of three) pages
+    \vfill
+    % locations of previous, index and next exercise files are [2], [3], [4], respectively
+    \prevsetup{#2} \ndexsetup{#3} \nextsetup{#4}
+    \begin{center} % Clear, argument #1, is either check, popup, field or radio
+        \clear{#1} \hfill \prev \ndex \next \hfill \submit{#1}
+    \end{center} % Previous, Index, Next, and Submit Buttons
+    % put correct response page on second page
+    \newpage
+    \setcounter{page}{2} % specifies "page two" versions of check, popup, field and radio buttons
+    \textcolor{black}{#5} % repeat question, argument #5, on correct response page
+    \par\smallskip %
+    % blue correct answer hint is argument #6
+    \textcolor{blue}{#6} % give hint related to correct answer
+    \par\vfill %
+    % \correct (answer), argument #1, is either check, popup, field or radio
+    % \correct, argument #2, is found on the correct (response) page
+    \begin{center}
+        \correct{#1}{right} \hfill \prev \ndex \next \hfill \return
+    \end{center} % Return from response to question page
+    % put incorrect response page on third page
+    \newpage
+    \setcounter{page}{3} % specifies "page three" versions of check, popup, field and radio buttons
+    \textcolor{black}{#5} % repeat question, argument #5, on incorrect response page
+    \par\smallskip %
+    % red incorrect answer hint is argument #7
+    \textcolor{red}{#7} % give hint related to correct answer
+    \par\vfill %
+    \begin{center} % \correct, argument #2, is found on the correct (response) page
+        \correct{#1}{wrong} \hfill \prev \ndex \next \hfill \return
+    \end{center} % Return from response to question page
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  QUESTION *TAKER* ANSWERS: CHECK, FIELD, POPUP, RADIO
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% five check boxes, for question taker,
+% first click puts in "X" (button is "on"), second click removes "X" (button is "off")
+
+\newcommand{\checkone}{% check box one, for either page one, two or three
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonecheckone.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwocheckone.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreecheckone.eps,height=10bp}}{}
+    \relax\xspace%
+}
+\newcommand{\checktwo}{% check box two
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonechecktwo.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwochecktwo.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreechecktwo.eps,height=10bp}}{}
+    \relax\xspace%
+}
+\newcommand{\checkthree}{% check box three
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonecheckthree.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwocheckthree.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreecheckthree.eps,height=10bp}}{}
+    \relax\xspace%
+}
+\newcommand{\checkfour}{% check box four
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonecheckfour.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwocheckfour.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreecheckfour.eps,height=10bp}}{}
+    \relax\xspace%
+}
+\newcommand{\checkfive}{% check box five
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonecheckfive.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwocheckfive.eps,height=10bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreecheckfive.eps,height=10bp}}{}
+    \relax\xspace%
+}
+
+% five text fields, for question taker
+
+\newcommand{\fieldone}{
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonefieldone.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwofieldone.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreefieldone.eps,height=15bp}}{}
+    \relax\xspace%
+}
+\newcommand{\fieldtwo}{% text field two
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonefieldtwo.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwofieldtwo.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreefieldtwo.eps,height=15bp}}{}
+    \relax\xspace%
+}
+\newcommand{\fieldthree}{% text field three
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonefieldthree.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwofieldthree.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreefieldthree.eps,height=15bp}}{}
+    \relax\xspace%
+}
+\newcommand{\fieldfour}{% text field four
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonefieldfour.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwofieldfour.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreefieldfour.eps,height=15bp}}{}
+    \relax\xspace%
+}
+\newcommand{\fieldfive}{% text field five
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonefieldfive.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwofieldfive.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreefieldfive.eps,height=15bp}}{}
+    \relax\xspace%
+}
+
+% five popup menus, for question taker,
+% nine possible choices, a,b,c,d,e,f,g,h and i, each popup
+
+\newcommand{\popupone}{ % popup menu one, for pages one, two and three
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonepopupone.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwopopupone.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreepopupone.eps,height=15bp}}{}
+    \relax\xspace%
+}
+\newcommand{\popuptwo}{% popup menu two
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonepopuptwo.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwopopuptwo.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreepopuptwo.eps,height=15bp}}{}
+    \relax\xspace%
+}
+\newcommand{\popupthree}{% popup menu three
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonepopupthree.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwopopupthree.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreepopupthree.eps,height=15bp}}{}
+    \relax\xspace%
+}
+\newcommand{\popupfour}{% popup menu four
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonepopupfour.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwopopupfour.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreepopupfour.eps,height=15bp}}{}
+    \relax\xspace%
+}
+\newcommand{\popupfive}{% popup menu five
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageonepopupfive.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetwopopupfive.eps,height=15bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreepopupfive.eps,height=15bp}}{}
+    \relax\xspace%
+}
+
+% five radio buttons, for question taker,
+% choose (only) one of five possible choices, a,b,c,d and e
+
+\newcommand{\radioone}{ % radio button one, 11by seems to be "right" height for radio button
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageoneradioone.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetworadioone.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreeradioone.eps,height=11bp}}{}
+    \relax\xspace%
+}
+\newcommand{\radiotwo}{% radio button two
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageoneradiotwo.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetworadiotwo.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreeradiotwo.eps,height=11bp}}{}
+    \relax\xspace%
+}
+\newcommand{\radiothree}{% radio button three
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageoneradiothree.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetworadiothree.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreeradiothree.eps,height=11bp}}{}
+    \relax\xspace%
+}
+\newcommand{\radiofour}{% radio button four
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageoneradiofour.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetworadiofour.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreeradiofour.eps,height=11bp}}{}
+    \relax\xspace%
+}
+\newcommand{\radiofive}{% radio button five
+    \ifthenelse{\equal{\value{page}}{1}}{\epsfig{file=pageoneradiofive.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{2}}{\epsfig{file=pagetworadiofive.eps,height=11bp}}{}
+    \ifthenelse{\equal{\value{page}}{3}}{\epsfig{file=pagethreeradiofive.eps,height=11bp}}{}
+    \relax\xspace%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  QUESTION *GIVER* ANSWERS, FOR CHECK, POPUP, FIELD, RADIO
+%       DUMMY BUTTONS WHICH DO NOT APPEAR ON THE SCREEN
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% five check boxes, for question giver,
+% designates button "On" ("X") or "Off" (removes "X")
+
+\newcommand{\answercheckone}[1]{% check box answer one, argument [1] is "On" or "Off"
+    \special{ps::
+    [
+        /T (checkanswer1) % title is checkanswer1, used in checksubmit.eps
+        /Rect [0 0 30 30] % dummy check box print area, does not appear on screen
+        /Subtype /Widget % check box widget
+        /F 4 % printable, "X" or not "X"
+        /FT /Btn % type, check box
+        /V(#1) % argument #1 is value (when window first opened), which is "On" or "Off"
+        /DV(#1) % default value, if reset, is "On" or "Off", whatever argument #1 is
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerchecktwo}[1]{% check box answer two
+    \special{ps::
+    [
+        /T (checkanswer2)
+        /Rect [0 0 30 30]
+        /Subtype /Widget
+        /F 4
+        /FT /Btn
+        /DV(#1)
+        /V(#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answercheckthree}[1]{% check box answer three
+    \special{ps::
+    [
+        /T (checkanswer3)
+        /Rect [0 0 30 30]
+        /Subtype /Widget
+        /F 4
+        /FT /Btn
+        /DV(#1)
+        /V(#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answercheckfour}[1]{% check box answer four
+    \special{ps::
+    [
+        /T (checkanswer4)
+        /Rect [0 0 30 30]
+        /Subtype /Widget
+        /F 4
+        /FT /Btn
+        /DV(#1)
+        /V(#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answercheckfive}[1]{% check box answer five
+    \special{ps::
+    [
+        /T (checkanswer5)
+        /Rect [0 0 30 30]
+        /Subtype /Widget
+        /F 4
+        /FT /Btn
+        /DV(#1)
+        /V(#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+
+% five popup menu answers, for question giver,
+% correct answers typed in tex files, as argument of "answerpopup..."
+
+\newcommand{\answerpopupone}[1]{% argument [1] text answer
+    \special{ps::
+    [
+        /T (popupanswer1) % question giver text *title* used in various submit.eps
+        /Subtype /Widget
+        /FT /Ch  % popup (choice, list) menu
+        /Ff 393216 % popup list
+        /Opt [ [(a)(a)] [(b)(b)] [(c)(c)] [(d)(d)] [(e)(e)] [(f)(f)] [(g)(g)] [(h)(h)] [(i)(i)] ]
+        /Rect [500 2290 560 2320] % dummy popup menu
+        /V (#1) % argument is question giver text
+        /DV (#1) % argument is question giver text
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerpopuptwo}[1]{
+    \special{ps::
+    [
+        /T (popupanswer2)
+        /Subtype /Widget
+        /FT /Ch
+        /Ff 393216
+        /Opt [ [(a)(a)] [(b)(b)] [(c)(c)] [(d)(d)] [(e)(e)] [(f)(f)] [(g)(g)] [(h)(h)] [(i)(i)] ]
+        /Rect [500 2290 560 2320]
+        /F 4
+        /V (#1)
+        /DV (#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerpopupthree}[1]{
+    \special{ps::
+    [
+        /T (popupanswer3)
+        /Subtype /Widget
+        /FT /Ch
+        /Ff 393216
+        /Opt [ [(a)(a)] [(b)(b)] [(c)(c)] [(d)(d)] [(e)(e)] [(f)(f)] [(g)(g)] [(h)(h)] [(i)(i)] ]
+        /Rect [500 2290 560 2320]
+        /F 4
+        /V (#1)
+        /DV (#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerpopupfour}[1]{
+    \special{ps::
+    [
+        /T (popupanswer4)
+        /Subtype /Widget
+        /FT /Ch
+        /Ff 393216
+        /Opt [ [(a)(a)] [(b)(b)] [(c)(c)] [(d)(d)] [(e)(e)] [(f)(f)] [(g)(g)] [(h)(h)] [(i)(i)] ]
+        /Rect [500 2290 560 2320]
+        /F 4
+        /V (#1)
+        /DV (#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerpopupfive}[1]{
+    \special{ps::
+    [
+        /T (popupanswer5)
+        /Subtype /Widget
+        /FT /Ch
+        /Ff 393216
+        /Opt [ [(a)(a)] [(b)(b)] [(c)(c)] [(d)(d)] [(e)(e)] [(f)(f)] [(g)(g)] [(h)(h)] [(i)(i)] ]
+        /Rect [500 2290 560 2320]
+        /F 4
+        /V (#1)
+        /DV (#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+
+% five answers, for user,
+% correct answers typed in tex files, as argument of answerone, say
+
+\newcommand{\answerfieldone}[1]{% argument [1] text answer
+    \special{ps::
+    [
+        /T (fieldanswer1) % question giver text *title* used in various submit.eps
+        /Subtype /Widget
+        /FT /Tx % dummy text, required in definition of widget
+        /Rect [450 2290 750 2320] % dummy text field size
+        /F 4
+        /V (#1) % argument is question giver text
+        /DV (#1) % argument is question giver text
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerfieldtwo}[1]{
+    \special{ps::
+    [
+        /T (fieldanswer2)
+        /Subtype /Widget
+        /FT /Tx
+        /Rect [450 2290 750 2320]
+        /F 4
+        /V (#1)
+        /DV (#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerfieldthree}[1]{
+    \special{ps::
+    [
+        /T (fieldanswer3)
+        /Subtype /Widget
+        /FT /Tx
+        /Rect [450 2290 750 2320]
+        /F 4
+        /V (#1)
+        /DV (#1) % argument is question giver text
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerfieldfour}[1]{
+    \special{ps::
+    [
+        /T (fieldanswer4)
+        /Subtype /Widget
+        /FT /Tx
+        /Rect [450 2290 750 2320]
+        /F 4
+        /V (#1)
+        /DV (#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerfieldfive}[1]{
+    \special{ps::
+    [
+        /T (fieldanswer5)
+        /Subtype /Widget
+        /FT /Tx
+        /Rect [450 2290 750 2320]
+        /F 4
+        /V (#1)
+        /DV (#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+
+% five radio button answers, for question giver,
+% only one of the five buttons may be "On", all others must be "Off"
+
+\newcommand{\answerradioone}[1]{ % radio button answer one, argument [1] is "On" or "Off"
+    \special{ps::
+    [
+        /T (radioanswer1) % title is radioanswer1, used in radiosubmit.eps
+        /Rect [0 0 30 30] % dummy radio button area
+        /Subtype /Widget % dummy radio button widget
+        /F 4 % printable, "On" or "Off"
+        /FT /Btn % type, radio button
+        /V(#1) % value (when window first opened) is "On" or "Off"
+        /DV(#1) % default value, if reset, is "On" or "Off", whatever argument #1 is
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerradiotwo}[1]{ % radio button answer two
+    \special{ps::
+    [
+        /T (radioanswer2)
+        /Rect [0 0 30 30]
+        /Subtype /Widget
+        /F 4
+        /FT /Btn
+        /V(#1)
+        /DV(#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerradiothree}[1]{ % radio button answer three
+    \special{ps::
+    [
+        /T (radioanswer3)
+        /Rect [0 0 30 30]
+        /Subtype /Widget
+        /F 4
+        /FT /Btn
+        /V(#1)
+        /DV(#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerradiofour}[1]{ % radio answer four
+    \special{ps::
+    [
+        /T (radioanswer4)
+        /Rect [0 0 30 30]
+        /Subtype /Widget
+        /F 4
+        /FT /Btn
+        /V(#1)
+        /DV(#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+\newcommand{\answerradiofive}[1]{% radio answer five
+    \special{ps::
+    [
+        /T (radioanswer5)
+        /Rect [0 0 30 30]
+        /Subtype /Widget
+        /F 4
+        /FT /Btn
+        /V(#1)
+        /DV(#1)
+    /ANN pdfmark
+    }%
+    \relax\xspace%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%   PREVIOUS, INDEX, NEXT
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% two newcommands required (because of difficulty of changing ps "real time") for "Prev" button
+% prevsetup newcommand uses ps, allows question giver input argument, [1]
+% prev newcommand uses eps, allows prev button to be placed anywhere on question page
+
+\newcommand{\prevsetup}[1]{% sets up previous action, allows question giver input, argument [1]
+    \special{ps::
+        [/_objdef {prev_def} /type /dict /OBJ pdfmark % defines previous button
+        [ {prev_def} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\prev}{% executes previous action (with argument [1]), prev button placed anywhere
+    \epsfig{file=prev.eps,height=15bp}%
+    \relax\xspace % spaces button properly with respect to other buttons, text
+}
+
+\newcommand{\ndexsetup}[1]{%
+    \special{ps::
+        [/_objdef {ndex_def} /type /dict /OBJ pdfmark
+        [ {ndex_def} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\ndex}{
+    \epsfig{file=ndex.eps,height=15bp}%
+    \relax\xspace
+}
+
+\newcommand{\nextsetup}[1]{% sets up next action, allows question giver input, argument [1]
+    \special{ps::
+        [/_objdef {next_def} /type /dict /OBJ pdfmark % defines next button
+        [ {next_def} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\next}{% executes next action (with argument [1]), next button placed anywhere
+    \epsfig{file=next.eps,height=15bp}%
+    \relax\xspace%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%   EXERQUES BUTTONS
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\exerquessetupone}[1]{% sets up exerques1 action
+    \special{ps::
+        [/_objdef {exerques_def1} /type /dict /OBJ pdfmark
+        [ {exerques_def1} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetuptwo}[1]{
+    \special{ps::
+        [/_objdef {exerques_def2} /type /dict /OBJ pdfmark
+        [ {exerques_def2} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupthree}[1]{
+    \special{ps::
+        [/_objdef {exerques_def3} /type /dict /OBJ pdfmark
+        [ {exerques_def3} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupfour}[1]{
+    \special{ps::
+        [/_objdef {exerques_def4} /type /dict /OBJ pdfmark
+        [ {exerques_def4} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+
+\newcommand{\exerquessetupfive}[1]{
+    \special{ps::
+        [/_objdef {exerques_def5} /type /dict /OBJ pdfmark
+        [ {exerques_def5} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupsix}[1]{
+    \special{ps::
+        [/_objdef {exerques_def6} /type /dict /OBJ pdfmark
+        [ {exerques_def6} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupseven}[1]{
+    \special{ps::
+        [/_objdef {exerques_def7} /type /dict /OBJ pdfmark
+        [ {exerques_def7} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupeight}[1]{
+    \special{ps::
+        [/_objdef {exerques_def8} /type /dict /OBJ pdfmark
+        [ {exerques_def8} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+
+\newcommand{\exerquessetupnine}[1]{
+    \special{ps::
+        [/_objdef {exerques_def9} /type /dict /OBJ pdfmark
+        [ {exerques_def9} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupten}[1]{
+    \special{ps::
+        [/_objdef {exerques_def10} /type /dict /OBJ pdfmark
+        [ {exerques_def10} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupeleven}[1]{
+    \special{ps::
+        [/_objdef {exerques_def11} /type /dict /OBJ pdfmark
+        [ {exerques_def11} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetuptwelve}[1]{
+    \special{ps::
+        [/_objdef {exerques_def12} /type /dict /OBJ pdfmark
+        [ {exerques_def12} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+
+\newcommand{\exerquessetupthirteen}[1]{
+    \special{ps::
+        [/_objdef {exerques_def13} /type /dict /OBJ pdfmark
+        [ {exerques_def13} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupfourteen}[1]{
+    \special{ps::
+        [/_objdef {exerques_def14} /type /dict /OBJ pdfmark
+        [ {exerques_def14} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupfifteen}[1]{
+    \special{ps::
+        [/_objdef {exerques_def15} /type /dict /OBJ pdfmark
+        [ {exerques_def15} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupsixteen}[1]{
+    \special{ps::
+        [/_objdef {exerques_def16} /type /dict /OBJ pdfmark
+        [ {exerques_def16} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+
+\newcommand{\exerquessetupseventeen}[1]{
+    \special{ps::
+        [/_objdef {exerques_def17} /type /dict /OBJ pdfmark
+        [ {exerques_def17} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupeighteen}[1]{
+    \special{ps::
+        [/_objdef {exerques_def18} /type /dict /OBJ pdfmark
+        [ {exerques_def18} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetupnineteen}[1]{
+    \special{ps::
+        [/_objdef {exerques_def19} /type /dict /OBJ pdfmark
+        [ {exerques_def19} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+\newcommand{\exerquessetuptwenty}[1]{
+    \special{ps::
+        [/_objdef {exerques_def20} /type /dict /OBJ pdfmark
+        [ {exerques_def20} << /Type /Action /S /Launch /F (#1) /NewWindow false >> /PUT pdfmark
+    }%
+}
+
+\newcommand{\exerquesone}{% executes exerques1 action, button placed anywhere
+    \epsfig{file=exerques1.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquestwo}{
+    \epsfig{file=exerques2.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquesthree}{
+    \epsfig{file=exerques3.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquesfour}{
+    \epsfig{file=exerques4.eps,height=15bp}%
+    \relax\xspace%
+}
+
+\newcommand{\exerquesfive}{
+    \epsfig{file=exerques5.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquessix}{
+    \epsfig{file=exerques6.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquesseven}{
+    \epsfig{file=exerques7.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerqueseight}{
+    \epsfig{file=exerques8.eps,height=15bp}%
+    \relax\xspace%
+}
+
+\newcommand{\exerquesnine}{
+    \epsfig{file=exerques9.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquesten}{
+    \epsfig{file=exerques10.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerqueseleven}{
+    \epsfig{file=exerques11.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquestwelve}{
+    \epsfig{file=exerques12.eps,height=15bp}%
+    \relax\xspace%
+}
+
+\newcommand{\exerquesthirteen}{
+    \epsfig{file=exerques13.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquesfourteen}{
+    \epsfig{file=exerques14.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquesfifteen}{
+    \epsfig{file=exerques15.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquessixteen}{
+    \epsfig{file=exerques16.eps,height=15bp}%
+    \relax\xspace%
+}
+
+\newcommand{\exerquesseventeen}{
+    \epsfig{file=exerques17.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerqueseighteen}{
+    \epsfig{file=exerques18.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquesnineteen}{
+    \epsfig{file=exerques19.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\exerquestwenty}{
+    \epsfig{file=exerques20.eps,height=15bp}%
+    \relax\xspace%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  INDEX INTRODUCTION TO EXERCISE OF QUESTIONS
+%  USED TO GROUP QUESTIONS TOGETHER INTO ONE EXERCISE
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\exerciseintroduction}[1]{\textcolor{black}{#1}} % index introduction is argument #1
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%   SUBMIT (TEXT, POPUP, FIELD, RADIO) BUTTON
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\checksubmit}{% button, when pressed, goes to either correct or incorrect page
+    \epsfig{file=checksubmit.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\fieldsubmit}{
+    \epsfig{file=fieldsubmit.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\popupsubmit}{
+    \epsfig{file=popupsubmit.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\radiosubmit}{
+    \epsfig{file=radiosubmit.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\submit}[1]{ % pick type of submit button
+    \ifthenelse{\equal{#1}{check}}{\checksubmit}{}%
+    \ifthenelse{\equal{#1}{popup}}{\popupsubmit}{}%
+    \ifthenelse{\equal{#1}{field}}{\fieldsubmit}{}%
+    \ifthenelse{\equal{#1}{radio}}{\radiosubmit}{}%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  CORRECT ANSWER (CHECK, FIELD, POPUP, RADIO) BUTTON
+%       DISPLAYS CORRECT (QUESTION GIVER) ANSWERS
+%       CORRECT (RIGHT) RESPONSE AND INCORRECT (WRONG) RESPONSE BUTTONS
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\rightcheckcorrect}{ % checks off correct (question giver) check boxes with answers
+    \epsfig{file=rightcheckcorrect.eps,height=15bp} % when on right (correct) response page
+    \relax\xspace%
+}
+\newcommand{\wrongcheckcorrect}{ % checks off correct (question giver) check boxes with answers
+    \epsfig{file=wrongcheckcorrect.eps,height=15bp} % when on wrong (correct) response page
+    \relax\xspace%
+}
+\newcommand{\rightfieldcorrect}{% fills in correct (question giver) text field answers
+    \epsfig{file=rightfieldcorrect.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\wrongfieldcorrect}{% fills in incorrect (question giver) text field answers
+    \epsfig{file=wrongfieldcorrect.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\rightpopupcorrect}{% chooses correct (question giver) popup menu answers
+    \epsfig{file=rightpopupcorrect.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\wrongpopupcorrect}{% chooses incorrect (question giver) popup menu answers
+    \epsfig{file=wrongpopupcorrect.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\rightradiocorrect}{% selects correct (question giver) radio button answer
+    \epsfig{file=rightradiocorrect.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\wrongradiocorrect}{% selects incorrect (question giver) radio button answer
+    \epsfig{file=wrongradiocorrect.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\correct}[2]{ % arg #1 type of button, arg #2 correct or incorrect response page
+% if check button, then either right (correct) response page or wrong (incorrect) response page
+    \ifthenelse{ \equal{#1}{check} }
+        { \ifthenelse{\equal{#2}{right}}{\rightcheckcorrect}{\wrongcheckcorrect}  }
+        {} % if *not* check button, then must be another type of button
+    \ifthenelse{ \equal{#1}{popup} }
+        { \ifthenelse{\equal{#2}{right}}{\rightpopupcorrect}{\wrongpopupcorrect}  }
+        {}
+    \ifthenelse{ \equal{#1}{field} }
+        { \ifthenelse{\equal{#2}{right}}{\rightfieldcorrect}{\wrongfieldcorrect}  }
+        {}
+    \ifthenelse{ \equal{#1}{radio} }
+        { \ifthenelse{\equal{#2}{right}}{\rightradiocorrect}{\wrongradiocorrect}  }
+        {}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  CLEAR (CHECK, FIELD, POPUP, RADIO) BUTTON
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\checkclear}{% clears all check box answers
+    \epsfig{file=checkclear.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\fieldclear}{% clears user text field answers
+    \epsfig{file=fieldclear.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\popupclear}{% clears user popup menu answers
+    \epsfig{file=popupclear.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\radioclear}{% clears user radio button answers
+    \epsfig{file=radioclear.eps,height=15bp}%
+    \relax\xspace%
+}
+\newcommand{\clear}[1]{ % pick type of clear button
+    \ifthenelse{\equal{#1}{check}}{\checkclear}{}
+    \ifthenelse{\equal{#1}{popup}}{\popupclear}{}
+    \ifthenelse{\equal{#1}{field}}{\fieldclear}{}
+    \ifthenelse{\equal{#1}{radio}}{\radioclear}{}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  RETURN BUTTON
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\return}{% button, when pressed, goes to question (first, zeroth) pg of question
+    \epsfig{file=return.eps,height=15bp}%
+    \relax\xspace%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%   SCREEN VIEW PREFERENCES
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\special{ps::
+    [{Catalog}
+    << /ViewerPreferences <<
+        /HideToolbar true
+        /FitWindow true  % also, set general preference "fit in window"  in Acrobat Reader
+        /CenterWindow true
+        /PageLayout /SinglePage
+        /HideWindowUI true
+        >>
+    >>
+    /PUT pdfmark
+}%
+
+% set crop box for 4in by 4in page
+% this is specific to PS->PDF conversion (?)
+
+\special{ps::
+    [ /CropBox [ 0 432 360 792 ] /PAGES pdfmark
+}%
+
+% latex commands
+
+% shrink the page size
+
+\setlength\paperheight{5in}
+\setlength\paperwidth{5in}
+
+% eliminate the offsets
+
+\setlength{\hoffset}{-1in}
+\setlength{\voffset}{-1in}
+
+% 1/2 inch margin on left and top
+
+\setlength{\oddsidemargin}{0.3in}
+\setlength{\topmargin}{0.5in}
+
+% header takes up 1/2 inch
+
+\setlength{\headheight}{0.3in}
+\setlength{\headsep}{0.2in}
+
+% 1/2 margin on the bottom and right
+
+\setlength{\textheight}{4in}
+\setlength{\textwidth}{4.4in}
+
+% no margin paragraphs
+
+\setlength{\marginparsep}{0in}
+\setlength{\marginparwidth}{0in}
+
+% footer takes up 1/2 inch
+
+\setlength{\footskip}{0in}
+
+% pages not numbered
+
+\pagestyle{empty}
+
+\endinput
-- 
cgit v1.2.3

