diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/fc_arith/fc_arith.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/fc_arith/fc_arith.sty | 1586 |
1 files changed, 0 insertions, 1586 deletions
diff --git a/Master/texmf-dist/tex/latex/fc_arith/fc_arith.sty b/Master/texmf-dist/tex/latex/fc_arith/fc_arith.sty deleted file mode 100644 index 9e3d50bcb19..00000000000 --- a/Master/texmf-dist/tex/latex/fc_arith/fc_arith.sty +++ /dev/null @@ -1,1586 +0,0 @@ -%% -%% This is file `fc_arith.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% fc_arith.dtx (with options: `copyright,package') -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% fc_arith.sty package, 2010-3-17 %% -%% Copyright (C) 1999-2002 D. P. Story %% -%% dpstory@uakron.edu %% -%% %% -%% This program can redistributed and/or modified under %% -%% the terms of the LaTeX Project Public License %% -%% Distributed from CTAN archives in directory %% -%% macros/latex/base/lppl.txt; either version 1 of the %% -%% License, or (at your option) any later version. %% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%% History: Noel Vaillant began developing a better fc_arith.sty -%% based on my earlier published fc_arith.sty. Many thanks -%% to him for starting me off. -%%--------------------------------------------------------- -\NeedsTeXFormat{LaTeX2e}[1997/12/01] -\ProvidesPackage{fc_arith} - [2010/03/17 v0.1a fc_arith: PDF flash cards for arithmetic drill (dps)] -\RequirePackage{xkeyval} -\RequirePackage{calc} -\DeclareOptionX{allownegsub}{\def\fcAllowSub{true}}\def\fcAllowSub{false} -\DeclareOptionX{nomenu}{\let\fc@usemenu=n}\let\fc@usemenu=y -\DeclareOptionX{operations}[add,sub,mul,div]{\def\fc@operations{#1}} -\def\fc@operations{add,sub,mul,div} -\DeclareOptionX{showkeypadlink}{\let\fc@keypadlink=y} -\let\fc@keypadlink=n -\DeclareOptionX{notimedscores}{% - \def\fcTimedScores{false} - \let\fc@timedscores=n -} -\def\fcTimedScores{true} -\let\fc@timedscores=y -\ProcessOptionsX -\RequirePackage{eforms}[2010/03/21] -\RequirePackage{popupmenu} -\newdimen\fcWidth -\define@boolkey{fcopera}{add}[true]{} -\define@boolkey{fcopera}{sub}[true]{} -\define@boolkey{fcopera}{mul}[true]{} -\define@boolkey{fcopera}{div}[true]{} -\edef\fc@expand{\noexpand\setkeys{fcopera}{\fc@operations}}\fc@expand -\define@key{fcarithparams}{addT}[{[0,100]}]{\def\fcAddTParams{#1}} -\define@key{fcarithparams}{addB}[{[0,100]}]{\def\fcAddBParams{#1}} -\define@choicekey{fcarithparams}{addDecT}[\val\nr]{none,1,2}[none]{% - \edef\fcaddDecT{\nr}}{} -\define@choicekey{fcarithparams}{addDecB}[\val\nr]{none,1,2}[none]{% - \edef\fcaddDecB{\nr}}{} -\define@key{fcarithparams}{subT}[{[0,100]}]{\def\fcSubTParams{#1}} -\define@key{fcarithparams}{subB}[{[0,100]}]{\def\fcSubBParams{#1}} -\define@choicekey{fcarithparams}{subDecT}[\val\nr]{none,1,2}[none]{% - \edef\fcsubDecT{\nr}}{} -\define@choicekey{fcarithparams}{subDecB}[\val\nr]{none,1,2}[none]{% - \edef\fcsubDecB{\nr}}{} -\define@key{fcarithparams}{mulT}[{[0,100]}]{\def\fcMulTParams{#1}} -\define@key{fcarithparams}{mulB}[{[0,10]}]{\def\fcMulBParams{#1}} -\define@choicekey{fcarithparams}{mulDecT}[\val\nr]{none,1,2}[none]{% - \edef\fcmulDecT{\nr}}{} -\define@choicekey{fcarithparams}{mulDecB}[\val\nr]{none,1,2}[none]{% - \edef\fcmulDecB{\nr}}{} -\define@key{fcarithparams}{divQ}[{[0,10]}]{\def\fcDivQParams{#1}} -\define@key{fcarithparams}{divB}[{[0,10]}]{\def\fcDivBParams{#1}} -\define@choicekey{fcarithparams}{divDecQ}[\val\nr]{none,1,2}[none]{% - \edef\fcdivDecQ{\nr}}{} -\define@choicekey{fcarithparams}{divDecB}[\val\nr]{none,1,2}[none]{% - \edef\fcdivDecB{\nr}}{} -\setkeys{fcarithparams}{addT,addB,subT,subB,mulT,mulB,divQ,divB,% - addDecT,addDecB,subDecT,subDecB,mulDecT,mulDecB,divDecQ,divDecB} -\newcommand{\DeclareArithParams}[1]{\setkeys{fcarithparams}{#1}} -\@onlypreamble\DeclareArithParams -\newcommand{\timeUpMsg}{Your Time is UP!} -\newcommand{\rightMsg}{Right!} -\newcommand{\wrongMsg}{Wrong!} -\newcommand{\startAgainMsg}{Start Again} -\newcommand{\newCardMsg}{New Card} -\newcommand{\toggleKeypad}{Toggle Keypad} -\newcommand{\operation}{Operation} -\newcommand{\numCorrect}{Number Correct} -\newcommand{\numAttempted}{Number Attempted} -\newcommand{\percentCorrect}{Percentage Correct} -\newcommand{\timedScores}{Timed Scores} -\newcommand{\fmtAnswer}{Answer:} -\newcommand{\kpDec}{.} -\newcommand{\kpMinus}{-} -\newcommand{\kpBack}{Back} -\newcommand{\kpEnter}{Enter} -\newcommand{\fcNoTiming}{No Timing} -\newcommand{\fcAddition}{Addition} -\newcommand{\fcSubtraction}{Subtraction} -\newcommand{\fcMultiplication}{Multiplication} -\newcommand{\fcDivision}{Division} -\newcommand{\fcSettings}{Settings} -\newcommand{\fcSettingsColor}{black} -\newcommand{\FCMenu}{\mbox{\setLinkText[\linktxtcolor{\fcSettingsColor} - \A{\JS{processFcMenu();}}]{\fcSettings}}} -\if\fc@usemenu y\lheader{\FCMenu}\rheader{}\else -\lheader{}\rheader{}\fi -\newcommand{\tBGNoBorder}{\BC{}\BG{}\autoCenter{n}\textSize{0} - \textColor{1 0 0}\Ff\FfReadOnly} -\newcommand{\tBGNoBorderI}{\BC{}\BG{}\autoCenter{n}\textSize{0} - \textColor{0 0 0}} -\newcommand{\cBGNoBorder}{\Q{1}\BC{}\BG{}\autoCenter{n}\textSize{0} - \textColor{0 0 0}\BG{.75 .75 .75}\Ff\FfReadOnly} -\newcommand{\cBGBorder}{\BC{0 0 0}\BG{.75 .75 .75}\autoCenter{n} - \textSize{0}\textColor{0 0 0}} -\newcommand{\myNumPadI}{\F\FHidden\autoCenter{n}\textSize{8} - \textFont{\fieldFont}\S{S}} -\newcommand{\setDimOf}[3]{\@namedef{widthOf#1}{#2}% - \@namedef{heightOf#1}{#3}} -\newcommand{\monoSpaceFont}{CoBo} -\newcommand{\fieldFont}{Helv} -\setDimOf{top}{1in}{0.62in} -\setDimOf{operation}{.38in}{.62in} -\setDimOf{bottom}{1in}{0.62in} -\newcommand{\arithProb}{\mbox{\vbox{\offinterlineskip - \hbox{\hspace*{\@nameuse{widthOfoperation}}% - \textField[\presets{\tBGNoBorder} - \textFont{\monoSpaceFont}\Q{2}]{top}% - {\@nameuse{widthOf\Fld@name}}{\@nameuse{heightOf\Fld@name}}% - }% - \hbox{% - \textField[\presets{\tBGNoBorder} - \textSize{25}\Q{1}]{operation}{\@nameuse{widthOf\Fld@name}}% - {\@nameuse{heightOf\Fld@name}}% - \textField[\presets{\tBGNoBorder} - \textFont{\monoSpaceFont}\Q{2}]{bottom}% - {\@nameuse{widthOf\Fld@name}}{\@nameuse{heightOf\Fld@name}}% - }}}% -} -\setDimOf{alertbox}{.88in}{.62in} -\setDimOf{StartAgain}{0.88in}{0.62in} -\setDimOf{result}{1.38in}{0.62in} -\setDimOf{NewProblem}{0.88in}{0.62in} -\newcommand{\alertbox}[1][]{\hbox{\textField[\presets{\tBGNoBorder} - \textSize{0}#1]{alertbox}{\@nameuse{widthOf\Fld@name}}% - {\@nameuse{heightOf\Fld@name}}}} -\edef\distillOpts{\ifnum\eq@drivernum=1 \else\noexpand\FB{false} - \noexpand\I{null}\noexpand\TP{2}\fi} -\newcommand{\startAgain}[1][]{\hbox{\expandafter\pushButton\expandafter[\distillOpts - \presets{\tBGNoBorderI}\textFont{\fieldFont}\S{S} - \textSize{12}\CA{\startAgainMsg}\AC{\startAgainMsg}#1 - \A{\JS{startAgain();}}]{StartAgain}{\@nameuse{widthOf\Fld@name}}% - {\@nameuse{heightOf\Fld@name}}}} -\newcommand{\inputRegion}[1][]{\hbox{\textField[\presets{\cBGNoBorder} - \Ff{-\FfReadOnly}\Q{2}#1\AA{\AAValidate{validateResult();} - \AAKeystroke{myNumber_Keystroke(numDecimals,1,0,0,"",true);} - \AAFormat{try{% - myNumber_Format(numDecimals,1,0,0,"",true);}catch(e){}}} - ]{result}{\@nameuse{widthOf\Fld@name}}% - {\@nameuse{heightOf\Fld@name}}}} -\newcommand{\newCard}[1][]{\hbox{\expandafter\pushButton\expandafter[\distillOpts - \presets{\tBGNoBorderI}\textFont{\fieldFont}\S{S} - \CA{\newCardMsg}\AC{\newCardMsg}#1\A{\JS{newCard();}} - ]{NewProblem}{\@nameuse{widthOf\Fld@name}}% - {\@nameuse{heightOf\Fld@name}}}} -\setDimOf{TimeDelay}{0.9in}{0.24in} -\setDimOf{ansregion}{.87in+10bp}{.24in} -\setDimOf{ChooseOperation}{1.38in-10bp}{0.24in} -\edef\isReadOnlyTiming{\if\fc@timedscores n\noexpand\Ff{\FfReadOnly}\fi} -\newcommand{\cbTiming}[1][]{\hbox{% - \expandafter\comboBox\expandafter[\isReadOnlyTiming\presets{\cBGBorder} - \textFont{\fieldFont}\V{600000}\DV{600000}#1 - \AA{\AAKeystroke{% - if (!event.willCommit) timelimit=event.changeEx;}} - ]{TimeDelay}{\@nameuse{widthOf\Fld@name}}% - {\@nameuse{heightOf\Fld@name}}{% - [(600000)(\fcNoTiming)][(30)(30 sec)][(25)(25 sec)][(20)(20 sec)]% - [(15)(15 sec)][(10)(10 sec)][(5)(\space 5 sec)]}}% -} -\newcommand{\ansField}[1][]{\hbox{\textField[\presets{\cBGNoBorder}\Q{2} - #1\AA{\AAFormat{% - if (event.value!="") {\r - try{myNumber_Format(numDecimals,1,0,0,"",true);\r - event.value="\fmtAnswer\space" + event.value;}catch(e){};}}} - ]{ansregion}{\@nameuse{widthOf\Fld@name}}% - {\@nameuse{heightOf\Fld@name}}}% -} -\newcommand{\cbOperation}[1][]{\hbox{% - \comboBox[\presets{\cBGBorder}\textFont{\fieldFont}#1 - \V{a}\DV{a}]{ChooseOperation}{\@nameuse{widthOf\Fld@name}}% - {\@nameuse{heightOf\Fld@name}}{% - \ifKV@fcopera@add[(a)(\fcAddition)]\fi% - \ifKV@fcopera@sub[(s)(\fcSubtraction)]\fi% - \ifKV@fcopera@mul[(m)(\fcMultiplication)]\fi% - \ifKV@fcopera@div[(d)(\fcDivision)]\fi}}% -} -\newcommand{\szNum}{14bp} -\newcommand{\Keypad}{% - \vbox{\offinterlineskip\if\fc@keypadlink y - \setlength{\fcWidth}{\szNum*4}% - \hbox to\fcWidth{\small\hfill\setLink[\linktxtcolor{blue} - \A{\JS{ToggleKeyPad()}}]{\toggleKeypad}\hfill}\vskip4bp\fi - \hbox{\pushButton[\presets{\myNumPadI}\CA{7} - \A{\JS{addDigit(7)}}]{num7}{\szNum}{\szNum}% - \kern1bp\pushButton[\presets{\myNumPadI}\CA{8} - \A{\JS{addDigit(8)}}]{num8}{\szNum}{\szNum}% - \kern1bp\pushButton[\presets{\myNumPadI}\CA{9} - \A{\JS{addDigit(9)}}]{num9}{\szNum}{\szNum}}% - \vskip1bp - \hbox{\pushButton[\presets{\myNumPadI}\CA{4} - \A{\JS{addDigit(4)}}]{num4}{\szNum}{\szNum}% - \kern1bp\pushButton[\presets{\myNumPadI}\CA{5} - \A{\JS{addDigit(5)}}]{num5}{\szNum}{\szNum}% - \kern1bp\pushButton[\presets{\myNumPadI}\CA{6} - \A{\JS{addDigit(6)}}]{num6}{\szNum}{\szNum}}% - \vskip1bp - \hbox{\pushButton[\presets{\myNumPadI}\CA{1} - \A{\JS{addDigit(1)}}]{num1}{\szNum}{\szNum}% - \kern1bp\pushButton[\presets{\myNumPadI}\CA{2} - \A{\JS{addDigit(2)}}]{num2}{\szNum}{\szNum}% - \kern1bp\pushButton[\presets{\myNumPadI}\CA{3} - \A{\JS{addDigit(3)}}]{num3}{\szNum}{\szNum}}% - \vskip1bp - \hbox{\pushButton[\presets{\myNumPadI}\CA{0} - \A{\JS{addDigit(0)}}]{num0}{1bp+\szNum*2}{\szNum}% - \kern1bp\pushButton[\presets{\myNumPadI}\CA{\kpDec} - \A{\JS{addDigit("Dec")}} - ]{Dec}{\szNum}{\szNum}\kern1bp - \smash{\vbox{% - \hbox{\pushButton[\presets{\myNumPadI}\CA{\kpMinus} - \A{\JS{addDigit("Minus")}} - ]{Minus}{\szNum}{\szNum}}\kern1bp - \hbox{\pushButton[\presets{\myNumPadI}\CA{\kpBack} - \textSize{0}\A{\JS{addDigit("Back")}} - ]{Back}{\szNum}{\szNum}}\kern1bp - \hbox{\pushButton[\presets{\myNumPadI}\CA{\kpEnter} - \textSize{0}\A{\JS{addDigit("Enter")}} - ]{Enter}{\szNum}{1bp+\szNum*2}}% - }}}}% -} -\def\fcSep{\quad} -\setDimOf{fcSF}{0.37in}{0.25in} -\newcommand{\statsFieldOpColor}{1 0 0} -\newcommand{\statsFieldColor}{blue} -\newcommand{\statsFields}{% -\ifKV@fcopera@add - \vbox{\offinterlineskip - \hbox{\textField[\presets{\cBGNoBorder}\textColor{\statsFieldOpColor} - \V{+}\DV{+}\Q{1}]{AddScore1}{\widthOffcSF}{\heightOffcSF}}% - \hbox{\textField[\presets{\cBGNoBorder} - ]{AddScore2}{\widthOffcSF}{\heightOffcSF}}% - \hbox{\textField[\presets{\cBGNoBorder} - ]{AddScore3}{\widthOffcSF}{\heightOffcSF}}% - \hbox{\textField[\presets{\cBGNoBorder} - ]{AddScore4}{\widthOffcSF}{\heightOffcSF}}% -\if\fc@timedscores y - \hbox{\textField[\presets{\cBGNoBorder} - ]{AddScore5}{\widthOffcSF}{\heightOffcSF}}% -\fi - }\fcSep -\fi -\ifKV@fcopera@sub -\vbox{\offinterlineskip - \hbox{\textField[\presets{\cBGNoBorder}\textColor{\statsFieldOpColor} - \V{-}\DV{-}\Q{1}]{SubScore1}{\widthOffcSF}{\heightOffcSF}} - \hbox{\textField[\presets{\cBGNoBorder}]{SubScore2}% - {\widthOffcSF}{\heightOffcSF}} - \hbox{\textField[\presets{\cBGNoBorder}]{SubScore3}% - {\widthOffcSF}{\heightOffcSF}} - \hbox{\textField[\presets{\cBGNoBorder}]{SubScore4}{\widthOffcSF}% - {\heightOffcSF}} -\if\fc@timedscores y - \hbox{\textField[\presets{\cBGNoBorder}]{SubScore5}{\widthOffcSF}% - {\heightOffcSF}} -\fi - }\fcSep -\fi -\ifKV@fcopera@mul -\vbox{\offinterlineskip - \hbox{\textField[\presets{\cBGNoBorder}\textColor{\statsFieldOpColor} - \V{x}\DV{x}\Q{1}]{MulScore1}{\widthOffcSF}{\heightOffcSF}} - \hbox{\textField[\presets{\cBGNoBorder}]{MulScore2}{\widthOffcSF}% - {\heightOffcSF}} - \hbox{\textField[\presets{\cBGNoBorder}]{MulScore3}{\widthOffcSF}% - {\heightOffcSF}} - \hbox{\textField[\presets{\cBGNoBorder}]{MulScore4}{\widthOffcSF}% - {\heightOffcSF}} -\if\fc@timedscores y - \hbox{\textField[\presets{\cBGNoBorder}]{MulScore5}{\widthOffcSF}% - {\heightOffcSF}} -\fi - }\fcSep -\fi -\ifKV@fcopera@div -\vbox{\offinterlineskip - \hbox{\textField[\presets{\cBGNoBorder}\textColor{\statsFieldOpColor} - \V{\string\367}\DV{\string\367}\Q{1}]{DivScore1}{\widthOffcSF}% - {\heightOffcSF}} - \hbox{\textField[\presets{\cBGNoBorder}]{DivScore2}{\widthOffcSF}% - {\heightOffcSF}} - \hbox{\textField[\presets{\cBGNoBorder}]{DivScore3}{\widthOffcSF}% - {\heightOffcSF}} - \hbox{\textField[\presets{\cBGNoBorder}]{DivScore4}{\widthOffcSF}% - {\heightOffcSF}} -\if\fc@timedscores y - \hbox{\textField[\presets{\cBGNoBorder}]{DivScore5}{\widthOffcSF}% - {\heightOffcSF}} -\fi - }\fcSep -\fi -\vbox{\offinterlineskip - \hbox{\parbox[b][.25in][c]{.75in}{% - \textcolor{blue}{\operation}\hfill}} - \hbox{\parbox[b][.25in][c]{1.25in}{% - \textcolor{blue}{\numCorrect}\hfill}} - \hbox{\parbox[b][.25in][c]{1.25in}{% - \textcolor{blue}{\numAttempted}\hfill}} - \hbox{\parbox[b][.25in][c]{1.25in}{% - \textcolor{blue}{\percentCorrect}\hfill}} -\if\fc@timedscores y - \hbox{\textField[\presets{\cBGNoBorder}\textColor{\statsFieldOpColor} - ]{ScoreTotal}{.51in}{.25in}\kern1bp - \makebox[0pt][l]{\pushButton[\presets{\tBGNoBorder} - \Ff{-\FfReadOnly}\S{S}\H{I}\textSize{10} - \A{\JS{docTimeScores();}}]{Descrip5}{1in}{.25in}}% - \parbox[b][.25in][c]{1in}{% - \centering\textcolor{blue}{\timedScores}}}% -\fi - }% -} -\edef\bFCa{/\ifKV@fcopera@add/\else*\fi} -\edef\eFCa{\ifKV@fcopera@add/\else*\fi/} -\edef\bFCs{/\ifKV@fcopera@sub/\else*\fi} -\edef\eFCs{\ifKV@fcopera@sub/\else*\fi/} -\edef\bFCm{/\ifKV@fcopera@mul/\else*\fi} -\edef\eFCm{\ifKV@fcopera@mul/\else*\fi/} -\edef\bFCd{/\ifKV@fcopera@div/\else*\fi} -\edef\eFCd{\ifKV@fcopera@div/\else*\fi/} -\begin{insDLJS*}[_loadfcjs]{fcjs} -\begin{newsegment}{data} -var _loadfcjs=true; -var t, b, o, r, c, oAlert; -function getFieldObjects() -{ - t=this.getField("top"); - b=this.getField("bottom"); - o=this.getField("operation"); - r=this.getField("result"); - c=this.getField("ChooseOperation"); - oAlert=this.getField("alertbox"); - useKeyPad = (this.getField("Enter").display==display.visible); -} -var turnoff=false; -var timedScores=\fcTimedScores; -var useKeyPad = false; -var decimalPressed = false; -var keypadInput=false; -var operand='a'; -var NumAddCorr=0; -var NumAddTried=0; -var NumSubCorr=0; -var NumSubTried=0; -var NumMulCorr=0; -var NumMulTried=0; -var NumDivCorr=0; -var NumDivTried=0; -timelimit=600000; -mybegin=""; -getFieldObjects(); -var numDecimals=0; -var addDecT = \fcaddDecT, addDecB = \fcaddDecB; -var addT_a = Number(\fcAddTParams[0]); -var addT_b = Number(\fcAddTParams[1]); -var addB_a = Number(\fcAddBParams[0]); -var addB_b = Number(\fcAddBParams[1]); -var subDecT = \fcsubDecT, subDecB = \fcsubDecB; -var subT_a = Number(\fcSubTParams[0]); -var subT_b = Number(\fcSubTParams[1]); -var subB_a = Number(\fcMulBParams[0]); -var subB_b = Number(\fcMulBParams[1]); -var mulDecT = \fcmulDecT, mulDecB = \fcmulDecB; -var mulT_a = Number(\fcMulTParams[0]); -var mulT_b = Number(\fcMulTParams[1]); -var mulB_a = Number(\fcMulBParams[0]); -var mulB_b = Number(\fcMulBParams[1]); -var divDecQ = \fcdivDecQ, divDecB = \fcdivDecB; -var divQ_a = Number(\fcDivQParams[0]); -var divQ_b = Number(\fcDivQParams[1]); -var divB_a = Number(\fcDivBParams[0]); -var divB_b = Number(\fcDivBParams[1]); -\end{newsegment} -\begin{newsegment}{updatescore} -function updatescore(f,t) { - // console.println(t); - var points; - if(t<=5) points=6; - if((t>5)&&(t<=10)) points=5; - if((t>10)&&(t<=15)) points=4; - if((t>15)&&(t<=20)) points=3; - if((t>20)&&(t<=25)) points=2; - if(t>=25) points=1; - var oField=this.getField(f); - if ( oField != null ) { - oField.value+=points; - this.getField("ScoreTotal").value+=points; - } -} -function docTimeScores() { - app.execDialog(fcTimedScoresDialog); -} -var fcTimedScoresDialog = -{ - // set a default value for radio button field - initialize: function(dialog) { - }, - // when user presses "Ok", this handler will execute first - commit: function(dialog) { - }, - // The Dialog Description - description: - { - name: "PDF Flash Cards - Timed Scores", - align_children: "align_left", - elements: - [ - { - type: "view", - align_children: "align_left", - elements: - [ - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "static_text", - item_id: "instr", - name: "Points are awarded, based on time, " - +"for successfully solving a problem:" - } - ] - }, - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "gap", - width: 10 - }, - { - type: "static_text", - item_id: "hr01", - char_width: 22, - font: "dialog", - bold: true, - name: "Time elapsed" - }, - { - type: "static_text", - item_id: "hr02", - font: "dialog", - bold: true, - name: "Points" - }, - ] - }, - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "gap", - width: 10 - }, - { - type: "static_text", - item_id: "st11", - char_width: 22, - name: "Less then 5 sec" - }, - { - type: "static_text", - item_id: "st12", - name: " 6" - }, - ] - }, - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "gap", - width: 10 - }, - { - type: "static_text", - item_id: "st21", - char_width: 22, - name: "Between 5 and 10 sec" - }, - { - type: "static_text", - item_id: "st22", - name: " 5" - }, - ] - }, -//--- - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "gap", - width: 10 - }, - { - type: "static_text", - item_id: "st31", - char_width: 22, - name: "Between 10 and 15 sec" - }, - { - type: "static_text", - item_id: "st32", - name: " 4" - }, - ] - }, -//--- - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "gap", - width: 10 - }, - { - type: "static_text", - item_id: "st41", - char_width: 22, - name: "Between 10 and 20 sec" - }, - { - type: "static_text", - item_id: "st42", - name: " 3" - }, - ] - }, - ] - }, -//--- - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "gap", - width: 10 - }, - { - type: "static_text", - item_id: "st51", - char_width: 22, - name: "Between 20 and 25 sec" - }, - { - type: "static_text", - item_id: "st52", - name: " 2" - }, - ] - }, -//--- - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "gap", - width: 10 - }, - { - type: "static_text", - item_id: "st61", - char_width: 22, - name: "Greater than 25 sec" - }, - { - type: "static_text", - item_id: "st62", - name: " 1" - }, - ] - }, -//--- - { - type: "view", - align_children: "align_row", - elements: - [ - { - alignment: "align_right", - type: "ok", - } - ] - } - ] - } -} -function validateResult() -{ - var oField; - if (!turnoff && !keypadInput) { - MsgFlag=false; - delay=true; - timenow=new Date(); - mynow=util.printd("mmm d, yyyy, H:M:s",timenow); - elapsedtime = (Date.parse(mynow)-Date.parse(mybegin))/1000; - timeelapsed = (elapsedtime>timelimit); - switch (operand) { - case 'a': - oField = this.getField("AddScore2"); - calculation=Number(t.value)+Number(b.value); - if(timeelapsed) { - if (timedScores) app.alert("\timeUpMsg",3); - if ( oField != null ) oField.value=NumAddCorr; - } else { - if(Number(event.value)==calculation) { - MsgFlag=true; - if ( oField != null ) { - oField.value=++NumAddCorr; - updatescore("AddScore5",elapsedtime); - } - } - else - if ( oField != null ) oField.value=NumAddCorr; - } - oField = this.getField("AddScore3"); - if (oField != null ) oField.value=++NumAddTried; - oField = this.getField("AddScore4"); - if (oField != null ) oField.value = util.printf("\%.0f", - (NumAddCorr/NumAddTried)*100); - break; - case 's': - oField=this.getField("SubScore2"); - calculation=Number(t.value)-Number(b.value); - if(timeelapsed) { - if (timedScores) app.alert("\timeUpMsg",3); - oField.value=NumSubCorr; - } else { - if(Number(event.value)==calculation) { - MsgFlag=true; - if ( oField != null ) { - oField.value=++NumSubCorr; - updatescore("SubScore5",elapsedtime); - } - } else - if ( oField != null ) oField.value=NumSubCorr; - } - oField=this.getField("SubScore3"); - if (oField != null) oField.value=++NumSubTried; - oField=this.getField("SubScore4"); - if (oField != null) oField.value=util.printf("\%.0f", - (NumSubCorr/NumSubTried)*100); - break; - case 'm': - oField=this.getField("MulScore2"); - calculation=util.printf("\%."+numDecimals+"f", - (t.value*b.value)); - if(timeelapsed) { - if (timedScores) app.alert("\timeUpMsg",3); - if (oField != null) oField.value=NumSubCorr; - } else { - if(Number(event.value)==Number(calculation)) { - MsgFlag=true; - if (oField != null) { - oField.value=++NumMulCorr; - updatescore("MulScore5",elapsedtime); - } - } else - if (oField != null) oField.value=NumMulCorr; - } - oField=this.getField("MulScore3"); - if (oField != null) oField.value=++NumMulTried; - oField=this.getField("MulScore4"); - if (oField != null) oField.value=util.printf("\%.0f", - (NumMulCorr/NumMulTried)*100); - break; - case 'd': - oField=this.getField("DivScore2"); - calculation=util.printf("\%."+numDecimals+"f", - t.value/b.value); - if(timeelapsed) { - if (timedScores) app.alert("\timeUpMsg",3); - if (oField != null) oField.value=NumDivCorr; - } else { - if(Number(event.value)==Number(calculation)) { - MsgFlag=true; - if (oField != null) { - oField.value=++NumDivCorr; - updatescore("DivScore5",elapsedtime); - } - } else - if ( oField != null ) oField.value=NumDivCorr; - } - oField = this.getField("DivScore3"); - if (oField != null) oField.value=++NumDivTried; - oField = this.getField("DivScore4"); - if (oField != null) oField.value=util.printf("\%.0f", - (NumDivCorr/NumDivTried)*100); - break; - } - if(!timeelapsed) { - if(MsgFlag) { - oAlert.textColor=color.blue; - oAlert.value="\rightMsg"; - } else { - oAlert.textColor=color.red; - oAlert.value="\wrongMsg"; - } - } - this.getField("ansregion").value=calculation; - this.getField("NewProblem").setFocus() ; - delay=false; - } -} -function startAgain() { - getFieldObjects(); - turnoff=true; - event.rc=false; - this.resetForm(); - operand='+'; - NumAddCorr=0; - NumAddTried=0; - NumSubCorr=0; - NumSubTried=0; - NumMulCorr=0; - umMulTried=0; - NumDivCorr=0; - NumDivTried=0; -} -function newCard() { - turnoff=true; - this.resetForm(["result","top","bottom","ansregion","alertbox"]); - operand = c.value; - switch (operand) - { - case 'a': - { - o.value='+'; // addDecT - numDecimals = Math.max(addDecT,addDecB); - var topTemplate = "\%."+addDecT+"f"; - var botTemplate = "\%."+addDecB+"f"; - var matchTemplate = "\%."+ numDecimals +"f"; - var m=util.printf(topTemplate, - (addT_b-addT_a)*Math.random()+addT_a); - var n=util.printf(botTemplate, - (addB_b-addB_a)*Math.random()+addB_a); - m=util.printf(matchTemplate,m); - n=util.printf(matchTemplate,n); - var nWidth=(m.length < n.length) ? n.length : m.length; - var commonTemplate = "\%"+nWidth+"."+numDecimals+"f"; - t.value=util.printf(commonTemplate,m); - b.value=util.printf(commonTemplate,n); - break; - } - case 's': - { - o.value="-"; - numDecimals = Math.max(subDecT,subDecB); - var topTemplate = "\%."+subDecT+"f"; - var botTemplate = "\%."+subDecB+"f"; - var matchTemplate = "\%."+ numDecimals +"f"; - var m=util.printf(topTemplate, - (subT_b-subT_a)*Math.random()+subT_a); - var n=util.printf(botTemplate, - (subB_b-subB_a)*Math.random()+subB_a); - m=util.printf(matchTemplate,m); - n=util.printf(matchTemplate,n); - var nWidth=(m.length < n.length) ? n.length : m.length; - var commonTemplate = "\%"+nWidth+"."+numDecimals+"f"; - t.value=util.printf(commonTemplate,m); - b.value=util.printf(commonTemplate,n); - if(!\fcAllowSub\space && (b.value>t.value)) - { - var tmp = b.value; - b.value = t.value; - t.value = tmp; - } - break; - } - case 'm': - { - o.value='x'; - numDecimals=Math.max(mulDecT,mulDecB); - var topTemplate = "\%."+mulDecT+"f"; - var botTemplate = "\%."+mulDecB+"f"; - var matchTemplate = "\%."+ numDecimals +"f"; - var m=util.printf(topTemplate, - (mulT_b-mulT_a)*Math.random()+mulT_a); - var n=util.printf(botTemplate, - (mulB_b-mulB_a)*Math.random()+mulB_a); - m=util.printf(matchTemplate,m); - n=util.printf(matchTemplate,n); - var nWidth=(m.length < n.length) ? n.length : m.length; - var commonTemplate = "\%"+nWidth+"."+numDecimals+"f"; - t.value=util.printf(commonTemplate,m); - b.value=util.printf(commonTemplate,n); - numDecimals = mulDecT + mulDecB; - break; - } - case 'd': - { - o.value='\string\367' - numDecimals=divDecQ+divDecB; - var topTemplate = "\%."+divDecQ+"f"; - var botTemplate = "\%."+divDecB+"f"; - var matchTemplate = "\%."+ numDecimals +"f"; - var n,m; - var quotient=util.printf(topTemplate, - divQ_a + (divQ_b-divQ_a)*Math.random()); - for(n=util.printf(botTemplate, - divB_a + (divB_b-divB_a)*Math.random()); - n==0; n=util.printf("\%.0f", - divB_a + (divB_b-divB_a)*Math.random())); - m=util.printf(matchTemplate,quotient*n); - n=util.printf(matchTemplate,n); - var nWidth=(m.length < n.length) ? n.length : m.length; - var commonTemplate = "\%"+nWidth+"."+numDecimals+"f"; - t.value=util.printf(commonTemplate,m); - b.value=util.printf(commonTemplate,n); - numDecimals = divDecQ; - break; - } - } - // console.println("operation = " + o.value); - turnoff=false; - if (!useKeyPad) r.readonly=false; - timebegin = new Date(); - mybegin = util.printd("mmm d, yyyy, H:M:s",timebegin); - r.setFocus(); -} -function addDigit(n) { - if (oAlert.value != "") return; - switch (n) { - case "Enter": - var tmp_value=r.valueAsString; - this.resetForm(["result"]); - keypadInput=false; - r.value = tmp_value; - break; - case "Back": - keypadInput=true; - var tmp_value=r.valueAsString; - if (tmp_value != "") - r.value = tmp_value.substring(0,tmp_value.length-1); - break; - case "Dec": - keypadInput=true; - var v=r.valueAsString; - v = v + "."; - r.value = v - break; - case "Minus": - keypadInput=true; - var v=r.valueAsString; - if (r.value < 0 ) { - v = String(Math.abs(v)); - } else v = "-" + v; - r.value = v; - break; - default: - keypadInput=true; - v=r.valueAsString - v = v + String(n); - r.value = v - } -} -function ToggleKeyPad() { - useKeyPad = !useKeyPad; - this.delay=true; - if (useKeyPad) { - for (var i=0; i<= 9; i++) - this.getField("num"+i).display=display.visible; - this.getField("Back").display=display.visible; - this.getField("Enter").display=display.visible; - this.getField("Dec").display=display.visible; - this.getField("Minus").display=display.visible; - this.getField("result").readonly=true; - } else { - for (var i=0; i<= 9; i++) - this.getField("num"+i).display=display.hidden; - this.getField("Back").display=display.hidden; - this.getField("Enter").display=display.hidden; - this.getField("Dec").display=display.hidden; - this.getField("Minus").display=display.hidden; - this.getField("result").readonly=false; - } - this.delay=false; -} -\end{newsegment} -\begin{newsegment}{Custom Keystroke for Numbers} -function myNumber_Keystroke(nDec,sepStyle,negStyle,currStyle, - strCurrency,bCurrencyPrepend) { - var v = t.valueAsString; - if ( v == "") - { event.rc=false; this.resetForm(["result"]); } - else - if ( event.value != "-" && event.value != ".") - AFNumber_Keystroke(nDec,sepStyle,negStyle,currStyle, - strCurrency,bCurrencyPrepend); -} -function myNumber_Format(nDec,sepStyle,negStyle,currStyle, - strCurrency,bCurrencyPrepend) { - if ( !useKeyPad && event.value != "-" && event.value != ".") - AFNumber_Format(nDec,sepStyle,negStyle,currStyle, - strCurrency,bCurrencyPrepend); -} -\end{newsegment} -\begin{newsegment}{Option Dialog Box} -var fcDialog = -{ - // set a default value for radio button field - initialize: function(dialog) { - var addDT="AT0" + String(addDecT); - var addDB="AB0" + String(addDecB); - var subDT="ST0" + String(subDecT); - var subDB="SB0" + String(subDecB); - var mulDT="MT0" + String(mulDecT); - var mulDB="MB0" + String(mulDecB); - var divDQ="DQ0" + String(divDecQ); - var divDB="DB0" + String(divDecB); - var radioString = addDT +": true, " + addDB +": true, " - + subDT + ": true, " + subDB + ": true, " - + mulDT + ": true, " + mulDB + ": true, " - + divDQ + ": true, " + divDB + ": true " -//console.println("radioString="+radioString); - eval("dialog.load({" + radioString + "})"); - dialog.load({ - // Populate the addition first - "aT_a": util.printf("\%.0f",addT_a), - "aT_b": util.printf("\%.0f",addT_b), - "aB_a": util.printf("\%.0f",addB_a), - "aB_b": util.printf("\%.0f",addB_b), - // subtraction - "sT_a": util.printf("\%.0f",subT_a), - "sT_b": util.printf("\%.0f",subT_b), - "sB_a": util.printf("\%.0f",subB_a), - "sB_b": util.printf("\%.0f",subB_b), - // multiplication - "mT_a": util.printf("\%.0f",mulT_a), - "mT_b": util.printf("\%.0f",mulT_b), - "mB_a": util.printf("\%.0f",mulB_a), - "mB_b": util.printf("\%.0f",mulB_b), - // division - "dQ_a": util.printf("\%.0f",divQ_a), - "dQ_b": util.printf("\%.0f",divQ_b), - "dB_a": util.printf("\%.0f",divB_a), - "dB_b": util.printf("\%.0f",divB_b) - }); - }, - // when user presses "Ok", this handler will execute first - commit: function(dialog) { - var results = dialog.store(); - addT_a = Math.round(results["aT_a"]); - addT_b = Math.round(results["aT_b"]); - addB_a = Math.round(results["aB_a"]); - addB_b = Math.round(results["aB_b"]); - for (var i=0; i < 3; i++) - if (results["AT0"+i]) { addDecT = i; break; } - for (var i=0; i < 3; i++) - if (results["AB0"+i]) { addDecB = i; break; } - // subtraction - subT_a = Math.round(results["sT_a"]); - subT_b = Math.round(results["sT_b"]); - subB_a = Math.round(results["sB_a"]); - subB_b = Math.round(results["sB_b"]); - for (var i=0; i < 3; i++) - if (results["ST0"+i]) { subDecT = i; break; } - for (var i=0; i < 3; i++) - if (results["SB0"+i]) { subDecB = i; break; } - // multiplication - mulT_a = Math.round(results["mT_a"]); - mulT_b = Math.round(results["mT_b"]); - mulB_a = Math.round(results["mB_a"]); - mulB_b = Math.round(results["mB_b"]); - for (var i=0; i < 3; i++) - if (results["MT0"+i]) { mulDecT = i; break; } - for (var i=0; i < 3; i++) - if (results["MB0"+i]) { mulDecB = i; break; } - // division - divQ_a = Math.round(results["dQ_a"]); - divQ_b = Math.round(results["dQ_b"]); - divB_a = Math.round(results["dB_a"]); - divB_b = Math.round(results["dB_b"]); - for (var i=0; i < 3; i++) - if (results["DQ0"+i]) { divDecQ = i; break; } - for (var i=0; i < 3; i++) - if (results["DB0"+i]) { divDecB = i; break; } - }, - // The Dialog Description - description: - { - name: "PDF Flash Cards - Options", - align_children: "align_left", - elements: - [ -\bFCa - { // The Addition Cluster - type: "cluster", - name: "Addition", - item_id: "add", - align_children: "align_left", - elements: - [ - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "static_text", - item_id: "addRngT", - name: "Range Top " - }, - { - item_id: "aT_a", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "static_text", - item_id: "addRngToT", - name: " to " - }, - { - item_id: "aT_b", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "view", - align_children: "align_distribute", - elements: - [ - { - type: "static_text", - item_id: "aDcT", - name: "Decimals:" - }, - { - type: "radio", - item_id: "AT00", - group_id: "AddT", - name: "none" - }, - { - type: "radio", - item_id: "AT01", - group_id: "AddT", - name: "1", - }, - { - type: "radio", - item_id: "AT02", - group_id: "AddT", - name: "2", - }, - ] - }, - ] - }, - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "static_text", - item_id: "addRngB", - name: "Range Bottom" - }, - { - item_id: "aB_a", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "static_text", - item_id: "addRngToB", - name: " to " - }, - { - item_id: "aB_b", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "view", - align_children: "align_distribute", - elements: - [ - { - type: "static_text", - item_id: "aDcB", - name: "Decimals:" - }, - { - type: "radio", - item_id: "AB00", - group_id: "AddB", - name: "none" - }, - { - type: "radio", - item_id: "AB01", - group_id: "AddB", - name: "1", - }, - { - type: "radio", - item_id: "AB02", - group_id: "AddB", - name: "2", - }, - ] - }, - ] - } - ] - }, // End Addition Cluster -\eFCa -\bFCs - { // The Subtraction Cluster - type: "cluster", - name: "Subtraction", - item_id: "sub", - align_children: "align_left", - elements: - [ - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "static_text", - item_id: "subRngT", - name: "Range Top " - }, - { - item_id: "sT_a", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "static_text", - item_id: "subRngToT", - name: " to " - }, - { - item_id: "sT_b", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "view", - align_children: "align_distribute", - elements: - [ - { - type: "static_text", - item_id: "sDT", - name: "Decimals:" - }, - { - type: "radio", - item_id: "ST00", - group_id: "SubT", - name: "none" - }, - { - type: "radio", - item_id: "ST01", - group_id: "SubT", - name: "1", - }, - { - type: "radio", - item_id: "ST02", - group_id: "SubT", - name: "2", - }, - ] - }, - ] - }, - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "static_text", - item_id: "subRngB", - name: "Range Bottom" - }, - { - item_id: "sB_a", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "static_text", - item_id: "subRngToB", - name: " to " - }, - { - item_id: "sB_b", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "view", - align_children: "align_distribute", - elements: - [ - { - type: "static_text", - item_id: "sDcB", - name: "Decimals:" - }, - { - type: "radio", - item_id: "SB00", - group_id: "SubB", - name: "none" - }, - { - type: "radio", - item_id: "SB01", - group_id: "SubB", - name: "1", - }, - { - type: "radio", - item_id: "SB02", - group_id: "SubB", - name: "2", - }, - ] - }, - ] - } - ] - }, // End Subtraction Cluster -\eFCs -\bFCm - { // The Multiplication Cluster - type: "cluster", - name: "Multiplication", - item_id: "mul", - align_children: "align_left", - elements: - [ - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "static_text", - item_id: "mulRngT", - name: "Range Top " - }, - { - item_id: "mT_a", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "static_text", - item_id: "mulRngToT", - name: " to " - }, - { - item_id: "mT_b", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "view", - align_children: "align_distribute", - elements: - [ - { - type: "static_text", - item_id: "mDcT", - name: "Decimals:" - }, - { - type: "radio", - item_id: "MT00", - group_id: "MulT", - name: "none" - }, - { - type: "radio", - item_id: "MT01", - group_id: "MulT", - name: "1", - }, - { - type: "radio", - item_id: "MT02", - group_id: "MulT", - name: "2", - }, - ] - }, - ] - }, - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "static_text", - item_id: "mulRngB", - name: "Range Bottom" - }, - { - item_id: "mB_a", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "static_text", - item_id: "mulRngToB", - name: " to " - }, - { - item_id: "mB_b", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "view", - align_children: "align_distribute", - elements: - [ - { - type: "static_text", - item_id: "mDcB", - name: "Decimals:" - }, - { - type: "radio", - item_id: "MB00", - group_id: "MulB", - name: "none" - }, - { - type: "radio", - item_id: "MB01", - group_id: "MulB", - name: "1", - }, - { - type: "radio", - item_id: "MB02", - group_id: "MulB", - name: "2", - }, - ] - }, - ] - } - ] - }, // End Multiplication Cluster -\eFCm -\bFCd - { // The Division Cluster - type: "cluster", - name: "Division", - item_id: "div", - align_children: "align_left", - elements: - [ - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "static_text", - item_id: "divRngQ", - name: "Range Quotient" - }, - { - item_id: "dQ_a", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "static_text", - item_id: "divRngToT", - name: " to " - }, - { - item_id: "dQ_b", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "view", - align_children: "align_distribute", - elements: - [ - { - type: "static_text", - item_id: "dDcQ", - name: "Decimals:" - }, - { - type: "radio", - item_id: "DQ00", - group_id: "DivQ", - name: "none" - }, - { - type: "radio", - item_id: "DQ01", - group_id: "DivQ", - name: "1", - }, - { - type: "radio", - item_id: "DQ02", - group_id: "DivQ", - name: "2", - }, - ] - }, - ] - }, - { - type: "view", - align_children: "align_row", - elements: - [ - { - type: "static_text", - item_id: "divRngB", - name: "Range Divisor " - }, - { - item_id: "dB_a", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "static_text", - item_id: "divRngToB", - name: " to " - }, - { - item_id: "dB_b", - type: "edit_text", - alignment: "align_fill", - width: 40, - height: 20 - }, - { - type: "view", - align_children: "align_distribute", - elements: - [ - { - type: "static_text", - item_id: "dDcB", - name: "Decimals:" - }, - { - type: "radio", - item_id: "DB00", - group_id: "DivB", - name: "none" - }, - { - type: "radio", - item_id: "DB01", - group_id: "DivB", - name: "1", - }, - { - type: "radio", - item_id: "DB02", - group_id: "DivB", - name: "2", - }, - ] - }, - ] - } - ] - }, // End Division Cluster -\eFCd - { - type: "view", - align_children: "align_row", - elements: - [ - { - alignment: "align_right", - type: "ok_cancel", - } - ] - } - ] - } -} -\end{newsegment} -\end{insDLJS*} -\begin{insDLJS}[fcMenu]{fcmd}{Menu Data} -\fcMenu -function processFcMenu() { - var cChoice = \popUpMenu(fcMenu); - if ( cChoice != null ) { - switch(cChoice) { - case "0": app.execDialog(fcDialog); - break; - case "1": ToggleKeyPad(); - break - case "2": app.execMenuItem("GeneralInfo"); - } - } -} -\end{insDLJS} -\InputIfFileExists{fc_custom.def}{}{} - -\endinput -%% -%% End of file `fc_arith.sty'. |