From e5aa582496cfde62bf0418871390184ad70cb0f0 Mon Sep 17 00:00:00 2001 From: Karl Berry 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