From 62a35122f20906892eb4fb29ba3d402da6fe4a3d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 18 Mar 2007 23:47:52 +0000 Subject: new package jeopardy (9mar07) git-svn-id: svn://tug.org/texlive/trunk@4057 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/jeopardy/README | 19 + .../texmf-dist/doc/latex/jeopardy/example/aleq.jpg | Bin 0 -> 53691 bytes .../doc/latex/jeopardy/example/blackpanel.tex | 26 + .../doc/latex/jeopardy/example/game1-two.pdf | Bin 0 -> 98123 bytes .../doc/latex/jeopardy/example/game1-two.tex | 77 ++ .../doc/latex/jeopardy/example/game1.pdf | Bin 0 -> 96611 bytes .../doc/latex/jeopardy/example/game1.tex | 78 ++ .../doc/latex/jeopardy/example/game1a.pdf | Bin 0 -> 150100 bytes .../doc/latex/jeopardy/example/game1a.tex | 72 ++ .../doc/latex/jeopardy/example/game2.pdf | Bin 0 -> 260174 bytes .../doc/latex/jeopardy/example/game2.tex | 301 ++++++ .../doc/latex/jeopardy/example/game2a.pdf | Bin 0 -> 322298 bytes .../doc/latex/jeopardy/example/game2a.tex | 301 ++++++ .../doc/latex/jeopardy/example/game3.pdf | Bin 0 -> 285874 bytes .../doc/latex/jeopardy/example/game3.tex | 434 +++++++++ .../doc/latex/jeopardy/example/game4.pdf | Bin 0 -> 320544 bytes .../doc/latex/jeopardy/example/game4.tex | 181 ++++ .../doc/latex/jeopardy/example/jeopardy-CZ.pdf | Bin 0 -> 284715 bytes .../doc/latex/jeopardy/example/jeopardy-CZ.tex | 425 +++++++++ .../texmf-dist/doc/latex/jeopardy/example/joke.jpg | Bin 0 -> 67609 bytes .../doc/latex/jeopardy/example/logo-bc.jpg | Bin 0 -> 50346 bytes .../doc/latex/jeopardy/example/pdfscreen.cfg | 42 + .../doc/latex/jeopardy/example/picture.jpg | Bin 0 -> 53277 bytes Master/texmf-dist/doc/latex/jeopardy/jeopardy.pdf | Bin 0 -> 130603 bytes .../texmf-dist/source/latex/jeopardy/jeopardy.dtx | 1006 ++++++++++++++++++++ .../texmf-dist/source/latex/jeopardy/jeopardy.ins | 63 ++ Master/texmf-dist/tex/latex/jeopardy/jeopardy.cfg | 35 + Master/texmf-dist/tex/latex/jeopardy/jeopardy.sty | 686 +++++++++++++ Master/texmf-dist/tpm/jeopardy.tpm | 53 ++ Master/texmf/lists/jeopardy | 31 + Master/texmf/tpm/collection-games.tpm | 1 + 31 files changed, 3831 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/jeopardy/README create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/aleq.jpg create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/blackpanel.tex create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game1-two.pdf create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game1-two.tex create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game1.pdf create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game1.tex create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game1a.pdf create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game1a.tex create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game2.pdf create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game2.tex create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game2a.pdf create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game2a.tex create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game3.pdf create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game3.tex create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game4.pdf create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/game4.tex create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.pdf create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.tex create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/joke.jpg create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/logo-bc.jpg create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/pdfscreen.cfg create mode 100644 Master/texmf-dist/doc/latex/jeopardy/example/picture.jpg create mode 100644 Master/texmf-dist/doc/latex/jeopardy/jeopardy.pdf create mode 100644 Master/texmf-dist/source/latex/jeopardy/jeopardy.dtx create mode 100644 Master/texmf-dist/source/latex/jeopardy/jeopardy.ins create mode 100644 Master/texmf-dist/tex/latex/jeopardy/jeopardy.cfg create mode 100644 Master/texmf-dist/tex/latex/jeopardy/jeopardy.sty create mode 100644 Master/texmf-dist/tpm/jeopardy.tpm create mode 100644 Master/texmf/lists/jeopardy (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/jeopardy/README b/Master/texmf-dist/doc/latex/jeopardy/README new file mode 100644 index 00000000000..18f461a2c3e --- /dev/null +++ b/Master/texmf-dist/doc/latex/jeopardy/README @@ -0,0 +1,19 @@ +The jeopardy.sty style allows to build the jeopardy game with +pdflatex. It is based on the jj_game.cls class and exerquiz.sty and +eforms.sty packages, written by D. P. Story. The author of the game +can use multichoice questions or fill-in questions. The answer for +fill-in questions is either a mathematical formula or a text string +(see the documentation of exerquiz.sty and \RespBoxMath and +\RespBoxTxt commands to learn more about all facilities). JavaScripts +are written to record the score. If the score is greater than a given +value, a hidden string is shown. The option picture allows to build +the game where the user uncovers parts of a hidden image. User should +use the style with some screen presentation package, such as web.sty +or pdfscreen.sty. The option twoplayers allows to build the game for two +players. + +To get jeopardy.sty file run + +latex jeopardy.ins + +command. Have a fun! diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/aleq.jpg b/Master/texmf-dist/doc/latex/jeopardy/example/aleq.jpg new file mode 100644 index 00000000000..ce9ba688401 Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/aleq.jpg differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/blackpanel.tex b/Master/texmf-dist/doc/latex/jeopardy/example/blackpanel.tex new file mode 100644 index 00000000000..e29da914575 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jeopardy/example/blackpanel.tex @@ -0,0 +1,26 @@ +\definecolor{panelbackground}{rgb}{0,0,0} +\definecolor{stara}{rgb}{.992, .96187, .902} +\definecolor{svetlehneda}{rgb}{0.93, 0.73, 0.49} +\definecolor{svetlehnedaB}{rgb}{0.92, 0.87, 0.79} +\definecolor{vybledlazluta}{rgb}{0.97,0.87,0.52} +\backgroundcolor{vybledlazluta} +\backgroundcolor{svetlehnedaB} +\edef\restoreAtCatcode{\noexpand\catcode64 =\the\catcode64 }% + + +\makeatletter +\long\def\contentsline#1#2#3#4{\def\@@cHead{#1}% + \ifx\@@cHead\@@secHead\stepcounter{NUM}% + \ifnum\thepanel@section=\theNUM% + {\definecolor{panelbackground}{gray}{0}% + \definecolor{fgcolor}{rgb}{1,0,0}% + \hyperlink{#4}{\,\scrNormalButton{.965\panelwidth}{\truncate{.9\panelwidth}{#2}}}% + }\par\vskip1truept% + \else + {\definecolor{panelbackground}{gray}{0}%% + \definecolor{fgcolor}{gray}{0.5}% + \hyperlink{#4}{\,\scrNormalButton{.965\panelwidth}{\truncate{.9\panelwidth}{#2}}}% + }\par\vskip1truept% + \fi\fi} + +\restoreAtCatcode diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game1-two.pdf b/Master/texmf-dist/doc/latex/jeopardy/example/game1-two.pdf new file mode 100644 index 00000000000..230ffeddd5e Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/game1-two.pdf differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game1-two.tex b/Master/texmf-dist/doc/latex/jeopardy/example/game1-two.tex new file mode 100644 index 00000000000..e79bbc0fe5b --- /dev/null +++ b/Master/texmf-dist/doc/latex/jeopardy/example/game1-two.tex @@ -0,0 +1,77 @@ +\pdfoutput=1 + +\documentclass{article} +\usepackage[pdftex,designi]{web} +\usepackage[pdftex]{exerquiz} +\usepackage[ImplMulti,indefIntegral]{dljslib} +\usepackage[twoplayers] +{jeopardy} + + + +\begin{document} +\def\title{My Jeopardy} + +\SetGameHeight{100pt} + +\Celltoks{\textSize{20}} +% \GrandPoohbahtoks{\BG{0 1 1}\BC{1 1 0}\textColor{1 0 0 rg}} +\Scoretoks{\BG{0.8 0.8 0.8}} + + +\MakeGameBoard +\begin{category}{Prezidents} + \begin{question} + The surname of the prezident known for affair with Monica Lewinski. + \RespBoxTxt101{Clinton} + \end{question} + \begin{question} + The surname of the curent prezident of Russia (November 2006). + \RespBoxTxt101{Putin} + \end{question} + \begin{question} + The surname of the first prezident of Czech Republic (October 1918). + \RespBoxTxt101{Masaryk} + \end{question} +\end{category} +\begin{category}{Calculus} + \begin{question} + The main object of interest in Calculus is/are + \Ans0 money + \Ans0 women + \Ans1 functions + \Ans0 vectors + \Ans0 poor people + \end{question} + \begin{question} + Derivative of $x+\sin(x)=$? + \RespBoxMath{1+cos(x)}{6}{0.001}{[1,2]} + \end{question} + \begin{question} + Integral of $x+\sin(x)=$? + \RespBoxMath{x^2/2-cos(x)}{6}{0.001}{[1,2]}[indefCompare] + \end{question} +\end{category} +\begin{category}{Physics} + \begin{question} + The formula for \textit{kinetic energy} is + \Ans0 $ mv$ + \Ans1 $\frac 12 mv^2$ + \Ans0 $mc^2$ + \end{question} + \begin{question} + The formula for \textit{impuls} of moving object is + \Ans1 $ mv$ + \Ans0 $\frac 12 mv^2$ + \Ans0 $mc^2$ + \end{question} + \begin{question} + The formula for \textit{total energy} of moving object from theory + of relativity is + \Ans0 $ mv$ + \Ans0 $\frac 12 mv^2$ + \Ans1 $mc^2$ + \end{question} +\end{category} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game1.pdf b/Master/texmf-dist/doc/latex/jeopardy/example/game1.pdf new file mode 100644 index 00000000000..2971ceb22a6 Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/game1.pdf differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game1.tex b/Master/texmf-dist/doc/latex/jeopardy/example/game1.tex new file mode 100644 index 00000000000..4ac75fbf273 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jeopardy/example/game1.tex @@ -0,0 +1,78 @@ +\pdfoutput=1 + +\documentclass{article} +\usepackage[pdftex,designi]{web} +\usepackage[pdftex]{exerquiz} +\usepackage[ImplMulti,indefIntegral]{dljslib} +\usepackage%[picture] +{jeopardy} +%\def\Goal{500} + + + +\begin{document} +\def\title{My Jeopardy} + +\SetGameHeight{100pt} + +\Celltoks{\textSize{20}} +% \GrandPoohbahtoks{\BG{0 1 1}\BC{1 1 0}\textColor{1 0 0 rg}} +\Scoretoks{\BG{0.8 0.8 0.8}} + + +\MakeGameBoard +\begin{category}{Prezidents} + \begin{question} + The surname of the prezident known for affair with Monica Lewinski. + \RespBoxTxt101{Clinton} + \end{question} + \begin{question} + The surname of the curent prezident of Russia (November 2006). + \RespBoxTxt101{Putin} + \end{question} + \begin{question} + The surname of the first prezident of Czech Republic (October 1918). + \RespBoxTxt101{Masaryk} + \end{question} +\end{category} +\begin{category}{Calculus} + \begin{question} + The main object of interest in Calculus is/are + \Ans0 money + \Ans0 women + \Ans1 functions + \Ans0 vectors + \Ans0 poor people + \end{question} + \begin{question} + Derivative of $x+\sin(x)=$? + \RespBoxMath{1+cos(x)}{6}{0.001}{[1,2]} + \end{question} + \begin{question} + Integral of $x+\sin(x)=$? + \RespBoxMath{x^2/2-cos(x)}{6}{0.001}{[1,2]}[indefCompare] + \end{question} +\end{category} +\begin{category}{Physics} + \begin{question} + The formula for \textit{kinetic energy} is + \Ans0 $ mv$ + \Ans1 $\frac 12 mv^2$ + \Ans0 $mc^2$ + \end{question} + \begin{question} + The formula for \textit{impuls} of moving object is + \Ans1 $ mv$ + \Ans0 $\frac 12 mv^2$ + \Ans0 $mc^2$ + \end{question} + \begin{question} + The formula for \textit{total energy} of moving object from theory + of relativity is + \Ans0 $ mv$ + \Ans0 $\frac 12 mv^2$ + \Ans1 $mc^2$ + \end{question} +\end{category} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game1a.pdf b/Master/texmf-dist/doc/latex/jeopardy/example/game1a.pdf new file mode 100644 index 00000000000..c7767e1d886 Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/game1a.pdf differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game1a.tex b/Master/texmf-dist/doc/latex/jeopardy/example/game1a.tex new file mode 100644 index 00000000000..2fa3ce92b3c --- /dev/null +++ b/Master/texmf-dist/doc/latex/jeopardy/example/game1a.tex @@ -0,0 +1,72 @@ +%\pdfoutput=1 + +\documentclass{article} +\usepackage[pdftex,designi]{web} +\usepackage[pdftex]{exerquiz} + +\usepackage[ImplMulti,indefIntegral]{dljslib} +\usepackage[picture,finetune]{jeopardy} +\AditionalShift=4.5pt + +\begin{document} +\def\title{My Jeopardy} + +\SetGameWidth{0.6\linewidth} + +\MakeGameBoard + +\begin{category}{Prezidents} + \begin{question} + The surname of the prezident known for affair with Monica Lewinski. + \RespBoxTxt101{Clinton} + \end{question} + \begin{question} + The surname of the curent prezident of Russia (November 2006). + \RespBoxTxt101{Putin} + \end{question} + \begin{question} + The surname of the first prezident of Czech Republic (October 1918). + \RespBoxTxt101{Masaryk} + \end{question} +\end{category} +\begin{category}{Calculus} + \begin{question} + The main object of interest in Calculus is/are + \Ans0 money + \Ans0 women + \Ans1 functions + \Ans0 vectors + \Ans0 poor people + \end{question} + \begin{question} + Derivative of $x+\sin(x)=$? + \RespBoxMath{1+cos(x)}{6}{0.001}{[1,2]} + \end{question} + \begin{question} + Integral of $x+\sin(x)=$? + \RespBoxMath{x^2/2-cos(x)}{6}{0.001}{[1,2]}[indefCompare] + \end{question} +\end{category} +\begin{category}{Physics} + \begin{question} + The formula for \textit{kinetic energy} is + \Ans0 $ mv$ + \Ans1 $\frac 12 mv^2$ + \Ans0 $mc^2$ + \end{question} + \begin{question} + The formula for \textit{impuls} of moving object is + \Ans1 $ mv$ + \Ans0 $\frac 12 mv^2$ + \Ans0 $mc^2$ + \end{question} + \begin{question} + The formula for \textit{total energy} of moving object from theory + of relativity is + \Ans0 $ mv$ + \Ans0 $\frac 12 mv^2$ + \Ans1 $mc^2$ + \end{question} +\end{category} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game2.pdf b/Master/texmf-dist/doc/latex/jeopardy/example/game2.pdf new file mode 100644 index 00000000000..901c613c7f5 Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/game2.pdf differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game2.tex b/Master/texmf-dist/doc/latex/jeopardy/example/game2.tex new file mode 100644 index 00000000000..0166a90e97f --- /dev/null +++ b/Master/texmf-dist/doc/latex/jeopardy/example/game2.tex @@ -0,0 +1,301 @@ +\pdfoutput=1 + +\documentclass{article} + + +\usepackage[czech]{babel} +\usepackage[IL2]{fontenc} +\usepackage{color} + +\usepackage{amsmath} +\DeclareMathOperator{\arctg}{arctg} +\everymath{\displaystyle} + +%\usepackage[pdftex,designi]{web} +\usepackage[noxcolor,pdftex]{exerquiz} +\usepackage[ImplMulti]{dljslib} + +\parindent 0pt +\usepackage[screen,gray, panelright, paneltoc]{pdfscreen} +\panelwidth=0.5in +\setlength\buttonwidth{.9\panelwidth} +\setlength\smallbuttonwidth{.45\panelwidth} +\addtolength{\smallbuttonwidth}{-1.2pt} +\margins{0.2in}{0.2in}{0.2in}{0.2in} +\screensize{3in}{4in} +\urlid{www.mendelu.cz/user/marik} +\backgroundcolor{black} +\color{white} +\def\correctColor{color.green} +\def\wrongColor{color.red} + +\usepackage[twoplayers]{jeopardy} + +\everyCategoryHead{\color{yellow}\tiny} + +\def\logoB{\rotatebox{90}{% + \vbox{\normalsize\hbox{\color{red}{Robert Ma\v{r}\'{i}k}} + \hbox{\color{green}Jeopardy game}}} + \vfill} + +\let\rmdefault\sfdefault +\hypersetup{pdfpagemode=Window, pdfnewwindow=true, pdfmenubar=true,% + pdftoolbar=true,colorlinks, pdfwindowui=false, + pdfpagemode=Window} + + +\begin{document} +%\CellHeight=24bp +\SetGameHeight{0.4\textheight} +\ScoreCellHeight=0.5\CellHeight + +\everyRadioButton{%\BG{1 1 1} +\BC{1 1 0} \textColor{0 1 0 rg} +} + +\Playertoks{\BC{1 0 0}\textColor{0 1 0 rg}} + + +\MakeGameBoard + +\begin{category}{Precalculus} + +\begin{question} +$\ln \frac xy=$ +\Ans0 $\ln x+\ln y$ +\Ans1 $\ln x-\ln y$ +\Ans0 $x\ln y$ +\Ans0 $y\ln x$ +\Ans0 none of them +\end{question} + +\begin{question} +The function $y=x^2\cdot \sin x$ is +\Ans1 odd +\Ans0 even +\Ans0 neither odd nor even +\end{question} + +\begin{question} +$\arctan 1=$ +\Ans0 $\infty$ +\Ans0 $\frac \pi3$ +\Ans1 $\frac \pi4$ +\Ans0 $\frac \pi6$ +\Ans0 none of them +\end{question} + +\begin{question} +The equivalence "$a2$ +\Ans0 funkce $f(x)$ má v bodě $x=2$ svislou asymptotu +\end{question} + +\begin{question} + Platí-li $\lim_{x\to2}f(x)=\infty$, potom +\Ans0 funkce $f(x)$ má v $\infty$ vodorovnou asymptotu $y=2$ +\Ans0 funkce $f(x)$ není definovaná pro $x>2$ +\Ans1 funkce $f(x)$ má v bodě $x=2$ svislou asymptotu +\end{question} + +\begin{question} +Nechť funkce $f$ je v spojitá v bodě $a$. Potom funkce $f$ v bodě $a$ +\Ans0 může i nemusí mít limitu +\Ans0 nemá limitu +\Ans0 má limitu, ta může být vlastní i nevlastní +\Ans1 má vlastní limitu +\Ans0 má nevlastní limitu +\end{question} + +\end{category} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Derivace} + +\begin{question} +Derivace je definována pomocí +\Ans0 grafu +\Ans1 limity +\Ans0 spojitosti +\Ans0 integrálu +\Ans0 maticového součinu +\Ans0 lineární kombinace vektorů +\end{question} + +\begin{question} +Má-li funkce $f$ v bodě $a$ kladnou první derivaci, potom tato funkce v bodě +$a$: +\Ans1 roste +\Ans0 klesá +\Ans0 nabývá lokálního extrému +\Ans0 je konvexní +\Ans0 je konkávní +\Ans0 jiná odpověď +\end{question} + +\begin{question} +Má-li funkce $f$ v bodě $a$ zápornou druhou derivaci, potom tato funkce v bodě +$a$: +\Ans0 roste +\Ans0 klesá +\Ans0 nabývá lokálního extrému +\Ans0 je konvexní +\Ans1 je konkávní +\Ans0 jiná odpověď +\end{question} + +\begin{question} +Má-li funkce $f$ v bodě $a$ nulovou první derivaci, potom funkce $f$ v bodě +$a$ má: +\Ans0 lokální extrém +\Ans0 inflexní bod +\Ans0 lokální extrém a inflexní bod +\Ans1 lokální extrém nebo inflexní bod +\Ans0 ani lokální extrém ani inflexní bod +\Ans0 jiná odpověď +\end{question} + +\begin{question} + Derivace funkce $f(x)$ v bodě $a$ je definována jako limita +\Ans0 $\lim_{h\to 0}\frac{f(x+h)+f(x)}{h}$ +\Ans0 $\lim_{h\to 0}\frac{f(x+h)f(x)}{h}$ +\Ans0 $\lim_{h\to 0}\frac{f(x+h)}{h}$ +\Ans1 $\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$ +\Ans0 $\lim_{h\to 0}\frac{f(x)-f(x+h)}{h}$ +\Ans0 $\lim_{h\to 0}\frac{f(x-h)-f(x)}{h}$ +\Ans0 jinak +\end{question} + +\end{category} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Vektory} + + +\begin{question} +Lineární závislost a nezávislost je definována pomocí +\Ans0 grafu +\Ans0 limity +\Ans0 derivace +\Ans0 integrálu +\Ans0 maticového součinu +\Ans1 lineární kombinace vektorů +\end{question} + +\begin{question} +Sčítání vektorů +\Ans0 není komutativní ani asociativní +\Ans0 je komutativní, není asociativní +\Ans0 není komutativní, je asociativní +\Ans1 je komutativní i asociativní +\end{question} + +\begin{question} + Vektory $(1,2,3)$, $(1, 0, 1)$ a $(1, 2, 1)$ jsou lineárně nezávislé, + protože +\Ans0 žádný z nich není nulovým vektorem +\Ans0 žádný z nich není násobkem druhého +\Ans1 matice$ +\begin{pmatrix} + 1&2&3\\1&0&1\\1&2&1 +\end{pmatrix}$ +má hodnost tři +\Ans0 matice$ +\begin{pmatrix} + 1&2&3\\1&0&1\\1&2&1 +\end{pmatrix}$ +má hodnost menší než tři +\end{question} + + + +\begin{question} + Vektory $u_1$, $u_2$, \dots, $u_k$ jsou lineárně nezávislé právě tehdy když + \Ans0 Každá jejich lineární kombinace je různá od nulového vektoru. + \Ans1 Každá jejich netriviální lineární kombinace je různá od nulového vektoru. + \Ans0 Aspoň jedna jejich lineární kombinace je různá od nulového vektoru. + \Ans0 Aspoň jedna jejich netriviální lineární kombinace je různá od nulového vektoru. + \Ans0 Každá jejich lineární kombinace je rovna nulovému vektoru. + \Ans0 Každá jejich netriviální lineární kombinace je rovna nulovému vektoru. + \Ans0 Aspoň jedna jejich lineární kombinace je rovna nulovému vektoru. + \Ans0 Aspoň jedna jejich netriviální lineární kombinace je rovna nulovému vektoru. +\end{question} + + +\begin{question} + Vektory $u_1$, $u_2$, \dots, $u_k$ jsou lineárně závislé právě tehdy když +\Ans0 Každá jejich lineární kombinace je různá od nulového vektoru. +\Ans0 Každá jejich netriviální lineární kombinace je různá od nulového vektoru. +\Ans0 Aspoň jedna jejich lineární kombinace je různá od nulového vektoru. +\Ans0 Aspoň jedna jejich netriviální lineární kombinace je různá od nulového vektoru. +\Ans0 Každá jejich lineární kombinace je rovna nulovému vektoru. +\Ans0 Každá jejich netriviální lineární kombinace je rovna nulovému vektoru. +\Ans0 Aspoň jedna jejich lineární kombinace je rovna nulovému vektoru. +\Ans1 Aspoň jedna jejich netriviální lineární kombinace je rovna nulovému vektoru. +\end{question} + + + +\end{category} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Matice} + +\begin{question} +Hodnost matice je definována pomocí +\Ans0 grafu +\Ans0 limity +\Ans0 derivace +\Ans0 integrálu +\Ans0 maticového součinu +\Ans1 lineární závislosti a nezávislosti +\end{question} + +\begin{question} +Inverzní matice je definována pomocí +\Ans0 grafu +\Ans0 limity +\Ans0 derivace +\Ans0 integrálu +\Ans1 maticového součinu +\Ans0 lineární kombinace vektorů +\end{question} + +\begin{question} + Násobení dvou matic +\Ans0 je definováno po složkách, je komutativní +\Ans0 je definováno po složkách, není komutativní +\Ans0 je definováno jako skalární součiny řádků první matice a sloupců druhé +matice, je komutativní +\Ans1 je definováno jako skalární součiny řádků první matice a sloupců druhé +matice, není komutativní +\Ans0 je definováno jako skalární součiny sloupců první matice a řádků +druhé matice, je komutativní +\Ans0 je definováno jako skalární součiny sloupců první matice a řádků +druhé matice, není komutativní +\end{question} + +\begin{question} +Jednotková matice je +\Ans0 matice složená ze samých jedniček +\Ans1 matice, která je neutrálním prvkem vzhledem k násobení +\Ans0 matice, jejíž determinant je roven jedné +\Ans0 matice, jejíž hodnost je rovna jedné +\end{question} + + +\begin{question} + Matice je ve schodovitém tvaru, jestliže (uvažujte matici která neobsahuje + řádky ze samých nul) +\Ans0 má pod hlavní diagonálou nuly +\Ans0 každý další řádek obsahuje více nul než řádek předchozí +\Ans1 každý další řádek začíná větším počtem nul než řádek předchozí +\end{question} + +\end{category} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Integrální počet} + +\begin{question} +Primitivní funkce je definována pomocí +\Ans0 grafu +\Ans0 limity +\Ans1 derivace +\Ans0 maticového součinu +\Ans0 lineární kombinace vektorů +\end{question} + +\begin{question} +Primitivní funkce je +\Ans0 určena jednoznačně +\Ans0 určena jednoznačně, až na multiplikativní konstantu +\Ans1 určena jednoznačně, až na aditivní konstantu +\Ans0 vždy sudá +\Ans0 vždy lichá +\end{question} + + +\begin{question} + Metoda pro integrování per-partés je odvozena +\Ans1 z pravidla pro derivaci součinu +\Ans0 z pravidla pro derivaci podílu +\Ans0 z pravidla pro derivaci složené funcke +\Ans0 přímo z definice integrálu +\end{question} + + +\begin{question} + Vzorec pro integraci per-partés zní: $\int uv'\dx=$ +\Ans0 $\int u'v\dx$ +\Ans0 $uv+\int u'v\dx$ +\Ans1 $uv-\int u'v\dx$ +\Ans0 $uv+u'v$ +\Ans0 $uv-u'v$ +\end{question} + +\begin{question} + Po substituci $x=\phi(t)$ do integrálu $\int f(x)\dx$ obdržíme + \Ans0 $\int f(t)\dt$ + \Ans0 $\int f(t)\phi(t)\dt$ + \Ans0 $\int f(t)\phi'(t)\dt$ + \Ans0 $\int f\bigl(\phi(t)\bigr)\dt$ + \Ans0 $\int f\bigl(\phi(t)\bigr)\phi(t)\dt$ + \Ans1 $\int f\bigl(\phi(t)\bigr)\phi'(t)\dt$ + \Ans0 $\int f\bigl(\phi(t)\bigr)\phi(t)\phi'(t)\dt$ +\end{question} + +\end{category} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Důležité věty} + +\begin{question}\textbf{Frobeniova věta:} Jsou-li hodnosti matice soustavy + a rozšířené + matice soustavy stejné, pak + \Ans0 soustava nemá řešení + \Ans0 soustava má právě jedno řešení + \Ans1 soustava má (jedno nebo nekonečně mnoho) řešení + \Ans0 soustava má nekonečně mnoho řešení +\end{question} + +\begin{question}Vyberte tvrzení, které platí. + \Ans1 Má-li funkce na intervalu $I$ derivaci, je na tomto intervalu + spojitá. Opačné tvrzení obecně neplatí. + \Ans0 Je-li funkce na intervalu $I$ spojitá, má v každém bodě tohoto + intervalu derivaci. Opačné tvrzení obecně neplatí. + \Ans0 Funkce je na intervalu $I$ spojitá právě tehdy, když má v každém bodě + tohoto intervalu derivaci. +\end{question} + +\begin{question} + Má-li funkce v bodě $a$ lokální extrém, potom zde má +\Ans0 nulovou derivaci +\Ans0 kladnou derivaci +\Ans0 zápornou derivaci +\Ans0 nedefinovanou derivaci +\Ans1 nulovou nebo nedefinovanou derivaci +\end{question} + + +\begin{question} + První Bolzanova věta zní: +\Ans0 Funkce, která na intervalu $[a,b]$ mění znaménko, je na tomto intervalu +spojitá. +\Ans0 Funkce, která na intervalu $[a,b]$ mění znaménko, má na tomto intervalu +nulový bod. +\Ans1 Funkce, která na intervalu $[a,b]$ mění znaménko a je na tomto intervalu +spojitá, má na tomto intervalu nulový bod. +\Ans0 Funkce, která má na intervalu $[a,b]$ nulový bod a je na tomto intervalu +spojitá, má na tomto intervalu znaménkovou změnu. +\end{question} + + +\begin{question} + První Weierstrassova věta zní: +\Ans0 Funkce definovaná na uzavřeném intervalu je na tomto intervalu spojitá. +\Ans1 Funkce spojitá na uzavřeném intervalu je na tomto intervalu ohraničená. +\Ans0 Funkce spojitá na uzavřeném intervalu je na tomto intervalu diferencovatelná. +\Ans0 Funkce diferencovatelná na uzavřeném intervalu je na tomto intervalu spojitá. +\Ans0 Funkce diferencovatelná na uzavřeném intervalu je na tomto intervalu +ohraničená. +\Ans0 Funkce spojitá na uzavřeném intervalu má na tomto intervalu znaménkovou +změnu. +\end{question} + +\end{category} + + +\end{document} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: + diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game4.pdf b/Master/texmf-dist/doc/latex/jeopardy/example/game4.pdf new file mode 100644 index 00000000000..e160432c835 Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/game4.pdf differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game4.tex b/Master/texmf-dist/doc/latex/jeopardy/example/game4.tex new file mode 100644 index 00000000000..70e745d9eba --- /dev/null +++ b/Master/texmf-dist/doc/latex/jeopardy/example/game4.tex @@ -0,0 +1,181 @@ +\documentclass{article} +\usepackage{amsmath} +\usepackage[pdftex]{exerquiz} +\usepackage[pdftex]{eforms} +\usepackage[ImplMulti]{dljslib} + +\everymath{\displaystyle} +\parindent 0pt +\usepackage[screen,gray, panelright, paneltoc]{pdfscreen} +\panelwidth=0.5in +\setlength\buttonwidth{.9\panelwidth} +\setlength\smallbuttonwidth{.45\panelwidth} +\addtolength{\smallbuttonwidth}{-1.2pt} +\margins{0.2in}{0.2in}{0.2in}{0.2in} +\screensize{3in}{4in} +\urlid{www.mendelu.cz/user/marik} +\definecolor{pozadi}{rgb}{1,1,0.9} +\backgroundcolor{pozadi} +%\backgroundcolor{black} +%\color{white} +%\def\correctColor{color.green} +%\def\wrongColor{color.red} +%\everyCategoryHead{\color{yellow}\tiny} + +\usepackage[picture,finetune]{jeopardy} +\def\JeopardyPictureFile{aleq.jpg} +\def\ChampionMsg{Niels Abel and Evariste Galois} + +\def\logoB{\rotatebox{90}{% + \vbox{\normalsize\hbox{\color{red}{Robert Ma\v{r}\'{i}k}} + \hbox{\color{green}Jeopardy game}}} + \vfill} + +\let\rmdefault\sfdefault +\hypersetup{pdfpagemode=Window, pdfnewwindow=true, pdfmenubar=true,% + pdftoolbar=true,colorlinks, pdfwindowui=false, + pdfpagemode=Window} + + +\begin{insDLJS}[dljslibRMbbbb]{dljsliRMbbbb}{RMbbbb} + + +function ProcRespSetFormulaEmpty(flag,CorrAns,n,epsilon,a,indepVar,oComp) +{ + ok2Continue = true; + if (!ProcessIt) return null; + var fieldname = event.target.name; + var UserAns = event.value; + this.getField(fieldname).strokeColor = \eqDefaultColor; + UserAns = stripWhiteSpace(UserAns); + if (!ok2Continue) return null; + if (UserAns == "empty") { + success = (CorrAns == UserAns); + return notifyField(success, flag, fieldname); + } + if (CorrAns == "empty") { + success = (CorrAns == UserAns); + return notifyField(success, flag, fieldname); + } + var aUserAns = UserAns.split(","); + var aCorrAns = CorrAns.split(","); + var numCorrect = 0; + var match = 0; + if ( aUserAns.length != aCorrAns.length ) return notifyField(false, flag, fieldname); + for ( var i=0; i< aCorrAns.length; i++) { + match = 0; + for ( var j=i; j< aUserAns.length; j++) { + var retn = _ProcResp(flag,aCorrAns[i],aUserAns[j],n,epsilon,a,indepVar,oComp); + if ( retn == null ) return syntaxError(), null; + if (retn==1) { + var temp=aUserAns[j]; + aUserAns[j]=aUserAns[i]; + aUserAns[i]=temp; + match = match + 1; + } + } + numCorrect += (match) ? 1 : 0; + } + var success = (numCorrect == aCorrAns.length) ? true : false; + if ( success == null ) return syntaxError(), null; + return notifyField(success, flag, fieldname); +} + +\end{insDLJS} + + +\def\quest#1#2{ + \begin{question} + Solve the equation in the set of \textit{real} numbers. + \begin{equation*} + #1=0 + \end{equation*} + \bigskip + \begin{itemize} + \item Write the solution into the field. + \item If there is no solution, write the word \textit{empty}. + \end{itemize} + \bigskip + $x={}$\RespBoxMath{#2}{10}{1.0E-2}{0}{1}*{ProcRespSetFormulaEmpty} + \end{question} +} + +\title{Algebraic equations} + +%\def\title{Algebraic equations} + +\author{Robert Ma\v r\'\i k} + +\begin{document} + +\maketitle +You will solve algebraic equations. Write the solutions as comma +separated list, In the case of repeted solution write each solution +only \textbf{once}! + +\SetGameWidth{0.5\linewidth} +\Celltoks{\BC{}\BG{1 1 1}} +\AditionalShift=4.6pt + +\newpage +\MakeGameBoard +\begin{category}{Linear} + \quest{x+1}{-1} + \quest{2x-3}{3/2} + \quest{5x+15}{-3} + \quest{7x+13}{-13/7} + \quest{3x+1}{-1/3} + \quest{2x+7}{-7/2} + \quest{5x-6}{6/5} + \quest{7x-13}{13/7} +\end{category} +\begin{category}{Quadratic1} + \quest{x^2+x}{-1,0} + \quest{x^2-9}{3,-3} + \quest{x^2-7}{sqrt(7),-sqrt(7)} + \quest{x^2+4x}{-4,0} + \quest{x^2-x}{1,0} + \quest{x^2+9}{empty} + \quest{x^2}{0} + \quest{x^2-4x}{4,0} +\end{category} +\begin{category}{Quadratic2} + \quest{x^2+x+1}{empty} + \quest{x^2-6x+9}{3} + \quest{x^2-7x+6}{1,6} + \quest{x^2+4x+4}{-2} + \quest{x^2-3x+2}{1,2} + \quest{x^2+2x+9}{empty} + \quest{x^2-5x+6}{2,3} + \quest{x^2+4x-21}{-7,3} +\end{category} +\begin{category}{Higher order} + \quest{x^8-2}{2^(1/8),-2^(1/8)} + \quest{x^3-2x}{0,sqrt(2),-sqrt(2)} + \quest{x^4-1}{-1,1} + \quest{x^3-8}{2} + \quest{x^5-x^3}{1,-1,0} + \quest{x^6-x^5}{1,0} + \quest{x^3+2x^2+x}{0,-1} + \quest{x^3+4x^2+5x}{0} +\end{category} + +\newpage + +\newpage +\textbf{\'Evariste Galois} (1811--1832) was a French mathematician +born in Bourg-la-Reine. He died in a duel at the age of twenty. + +\medskip +\textbf{Niels Henrik Abel} (1802--1829), Norwegian mathematician, was +born in Nedstrand. In early April 1829 he obtained a position +in Berlin, but the letter bringing the offer did not reach Norway +until two days after Abel's death from tuberculosis. + +\medskip +Both mathematicians proved the impossibility of solving the $5$-degree +polynomial equation by radicals. + +\newpage + +\end{document} diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.pdf b/Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.pdf new file mode 100644 index 00000000000..3ecf8e274bd Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.pdf differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.tex b/Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.tex new file mode 100644 index 00000000000..3bb53428400 --- /dev/null +++ b/Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.tex @@ -0,0 +1,425 @@ +\pdfoutput=1 + +\documentclass{article} + +\usepackage[czech]{babel} +\usepackage[IL2]{fontenc} +\usepackage{color} + +\usepackage{amsmath} +\DeclareMathOperator{\arctg}{arctg} +\everymath{\displaystyle} + +\usepackage[noxcolor,pdftex]{exerquiz} +\usepackage[ImplMulti]{dljslib} + + + +% \usepackage{keyval} +% \usepackage{mdwlist} +% \usepackage{amsmath} +% \def\R{\mathbb{R}} + \def\dx{\,\text{d}x} + \def\dt{\,\text{d}t} +% \usepackage{multicol} + +\parindent 0pt +\usepackage[screen,gray, panelright, paneltoc]{pdfscreen} +\panelwidth=0.5in +\setlength\buttonwidth{.9\panelwidth} +\setlength\smallbuttonwidth{.45\panelwidth} +\addtolength{\smallbuttonwidth}{-1.2pt} +\margins{0.2in}{0.2in}{0.2in}{0.2in} +\urlid{www.mendelu.cz/user/marik} +\screensize{4in}{5.2in} + +\def\logoB{\rotatebox{90}{\vbox{\normalsize\hbox{\color{red}{Robert Ma\v{r}\'{i}k}} + \hbox{\color{green}Matematika I}}} + \vfill} + +\let\rmdefault\sfdefault +\hypersetup{pdfpagemode=Window, pdfnewwindow=true, pdfmenubar=true,% + pdftoolbar=true,colorlinks, pdfwindowui=false, + pdfpagemode=Window} + + +\usepackage[czech]{jeopardy} + +\let\phi\varphi +\def\title{Matematika I} +\backgroundcolor{black} +\color{white} +\def\correctColor{color.green} +\def\wrongColor{color.red} + +\AditionalShift=5pt +\Celltoks{\BC{}} + +\begin{document} + +\SetGameWidth{0.80\linewidth} + +\def\AfterGameBoard{\global\ScoreCellHeight=20pt} + +\MakeGameBoard + +\message{\the\ScoreCellHeight ------} + +\begin{category}{Limita a spojitost} + +\begin{question} +Spojitost je definována pomocí +\Ans0 grafu +\Ans1 limity +\Ans0 derivace +\Ans0 integrálu +\Ans0 maticového součinu +\Ans0 lineární kombinace vektorů +\end{question} + + +\begin{question} +Funkční hodnota funkce $f(x)$ v bodě $a$ (tj. hodnota $f(a)$) má na limitu +$\lim_{x\to a}f(x)$ vliv: +\Ans1 žádný +\Ans0 jednoznačně ji určuje +\Ans0 zhruba padesátiprocentní +\Ans0 jiná odpověď +\end{question} + + +\begin{question} + Platí-li $\lim_{x\to\infty}f(x)=2$, potom +\Ans0 funkce $f(x)$ roste v okolí čísla $2$ nade všechny meze +\Ans1 funkce $f(x)$ má v $\infty$ vodorovnou asymptotu $y=2$ +\Ans0 funkce $f(x)$ není definovaná pro $x>2$ +\Ans0 funkce $f(x)$ má v bodě $x=2$ svislou asymptotu +\end{question} + +\begin{question} + Platí-li $\lim_{x\to2}f(x)=\infty$, potom +\Ans0 funkce $f(x)$ roste v okolí čísla $2$ nade všechny meze +\Ans0 funkce $f(x)$ má v $\infty$ vodorovnou asymptotu $y=2$ +\Ans0 funkce $f(x)$ není definovaná pro $x>2$ +\Ans1 funkce $f(x)$ má v bodě $x=2$ svislou asymptotu +\end{question} + +\begin{question} +Nechť funkce $f$ je v spojitá v bodě $a$. Potom funkce $f$ v bodě $a$ +\Ans0 může i nemusí mít limitu +\Ans0 nemá limitu +\Ans0 má limitu, ta může být vlastní i nevlastní +\Ans1 má vlastní limitu +\Ans0 má nevlastní limitu +\end{question} + +\end{category} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Derivace} + +\begin{question} +Derivace je definována pomocí +\Ans0 grafu +\Ans1 limity +\Ans0 spojitosti +\Ans0 integrálu +\Ans0 maticového součinu +\Ans0 lineární kombinace vektorů +\end{question} + +\begin{question} +Má-li funkce $f$ v bodě $a$ kladnou první derivaci, potom tato funkce v bodě +$a$: +\Ans1 roste +\Ans0 klesá +\Ans0 nabývá lokálního extrému +\Ans0 je konvexní +\Ans0 je konkávní +\Ans0 jiná odpověď +\end{question} + +\begin{question} +Má-li funkce $f$ v bodě $a$ zápornou druhou derivaci, potom tato funkce v bodě +$a$: +\Ans0 roste +\Ans0 klesá +\Ans0 nabývá lokálního extrému +\Ans0 je konvexní +\Ans1 je konkávní +\Ans0 jiná odpověď +\end{question} + +\begin{question} +Má-li funkce $f$ v bodě $a$ nulovou první derivaci, potom funkce $f$ v bodě +$a$ má: +\Ans0 lokální extrém +\Ans0 inflexní bod +\Ans0 lokální extrém a inflexní bod +\Ans1 lokální extrém nebo inflexní bod +\Ans0 ani lokální extrém ani inflexní bod +\Ans0 jiná odpověď +\end{question} + +\begin{question} + Derivace funkce $f(x)$ v bodě $a$ je definována jako limita +\Ans0 $\lim_{h\to 0}\frac{f(x+h)+f(x)}{h}$ +\Ans0 $\lim_{h\to 0}\frac{f(x+h)f(x)}{h}$ +\Ans0 $\lim_{h\to 0}\frac{f(x+h)}{h}$ +\Ans1 $\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$ +\Ans0 $\lim_{h\to 0}\frac{f(x)-f(x+h)}{h}$ +\Ans0 $\lim_{h\to 0}\frac{f(x-h)-f(x)}{h}$ +\Ans0 jinak +\end{question} + +\end{category} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Vektory} + + +\begin{question} +Lineární závislost a nezávislost je definována pomocí +\Ans0 grafu +\Ans0 limity +\Ans0 derivace +\Ans0 integrálu +\Ans0 maticového součinu +\Ans1 lineární kombinace vektorů +\end{question} + +\begin{question} +Sčítání vektorů +\Ans0 není komutativní ani asociativní +\Ans0 je komutativní, není asociativní +\Ans0 není komutativní, je asociativní +\Ans1 je komutativní i asociativní +\end{question} + +\begin{question} + Vektory $(1,2,3)$, $(1, 0, 1)$ a $(1, 2, 1)$ jsou lineárně nezávislé, + protože +\Ans0 žádný z nich není nulovým vektorem +\Ans0 žádný z nich není násobkem druhého +\Ans1 matice$ +\begin{pmatrix} + 1&2&3\\1&0&1\\1&2&1 +\end{pmatrix}$ +má hodnost tři +\Ans0 matice$ +\begin{pmatrix} + 1&2&3\\1&0&1\\1&2&1 +\end{pmatrix}$ +má hodnost menší než tři +\end{question} + + + +\begin{question} + Vektory $u_1$, $u_2$, \dots, $u_k$ jsou lineárně nezávislé právě tehdy když + \Ans0 Každá jejich lineární kombinace je různá od nulového vektoru. + \Ans1 Každá jejich netriviální lineární kombinace je různá od nulového vektoru. + \Ans0 Aspoň jedna jejich lineární kombinace je různá od nulového vektoru. + \Ans0 Aspoň jedna jejich netriviální lineární kombinace je různá od nulového vektoru. + \Ans0 Každá jejich lineární kombinace je rovna nulovému vektoru. + \Ans0 Každá jejich netriviální lineární kombinace je rovna nulovému vektoru. + \Ans0 Aspoň jedna jejich lineární kombinace je rovna nulovému vektoru. + \Ans0 Aspoň jedna jejich netriviální lineární kombinace je rovna nulovému vektoru. +\end{question} + + +\begin{question} + Vektory $u_1$, $u_2$, \dots, $u_k$ jsou lineárně závislé právě tehdy když +\Ans0 Každá jejich lineární kombinace je různá od nulového vektoru. +\Ans0 Každá jejich netriviální lineární kombinace je různá od nulového vektoru. +\Ans0 Aspoň jedna jejich lineární kombinace je různá od nulového vektoru. +\Ans0 Aspoň jedna jejich netriviální lineární kombinace je různá od nulového vektoru. +\Ans0 Každá jejich lineární kombinace je rovna nulovému vektoru. +\Ans0 Každá jejich netriviální lineární kombinace je rovna nulovému vektoru. +\Ans0 Aspoň jedna jejich lineární kombinace je rovna nulovému vektoru. +\Ans1 Aspoň jedna jejich netriviální lineární kombinace je rovna nulovému vektoru. +\end{question} + + + +\end{category} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Matice} + +\begin{question} +Hodnost matice je definována pomocí +\Ans0 grafu +\Ans0 limity +\Ans0 derivace +\Ans0 integrálu +\Ans0 maticového součinu +\Ans1 lineární závislosti a nezávislosti +\end{question} + +\begin{question} +Inverzní matice je definována pomocí +\Ans0 grafu +\Ans0 limity +\Ans0 derivace +\Ans0 integrálu +\Ans1 maticového součinu +\Ans0 lineární kombinace vektorů +\end{question} + +\begin{question} + Násobení dvou matic +\Ans0 je definováno po složkách, je komutativní +\Ans0 je definováno po složkách, není komutativní +\Ans0 je definováno jako skalární součiny řádků první matice a sloupců druhé +matice, je komutativní +\Ans1 je definováno jako skalární součiny řádků první matice a sloupců druhé +matice, není komutativní +\Ans0 je definováno jako skalární součiny sloupců první matice a řádků +druhé matice, je komutativní +\Ans0 je definováno jako skalární součiny sloupců první matice a řádků +druhé matice, není komutativní +\end{question} + +\begin{question} +Jednotková matice je +\Ans0 matice složená ze samých jedniček +\Ans1 matice, která je neutrálním prvkem vzhledem k násobení +\Ans0 matice, jejíž determinant je roven jedné +\Ans0 matice, jejíž hodnost je rovna jedné +\end{question} + + +\begin{question} + Matice je ve schodovitém tvaru, jestliže (uvažujte matici která neobsahuje + řádky ze samých nul) +\Ans0 má pod hlavní diagonálou nuly +\Ans0 každý další řádek obsahuje více nul než řádek předchozí +\Ans1 každý další řádek začíná větším počtem nul než řádek předchozí +\end{question} + +\end{category} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Integrální počet} + +\begin{question} +Primitivní funkce je definována pomocí +\Ans0 grafu +\Ans0 limity +\Ans1 derivace +\Ans0 maticového součinu +\Ans0 lineární kombinace vektorů +\end{question} + +\begin{question} +Primitivní funkce je +\Ans0 určena jednoznačně +\Ans0 určena jednoznačně, až na multiplikativní konstantu +\Ans1 určena jednoznačně, až na aditivní konstantu +\Ans0 vždy sudá +\Ans0 vždy lichá +\end{question} + + +\begin{question} + Metoda pro integrování per-partés je odvozena +\Ans1 z pravidla pro derivaci součinu +\Ans0 z pravidla pro derivaci podílu +\Ans0 z pravidla pro derivaci složené funcke +\Ans0 přímo z definice integrálu +\end{question} + + +\begin{question} + Vzorec pro integraci per-partés zní: $\int uv'\dx=$ +\Ans0 $\int u'v\dx$ +\Ans0 $uv+\int u'v\dx$ +\Ans1 $uv-\int u'v\dx$ +\Ans0 $uv+u'v$ +\Ans0 $uv-u'v$ +\end{question} + +\begin{question} + Po substituci $x=\phi(t)$ do integrálu $\int f(x)\dx$ obdržíme + \Ans0 $\int f(t)\dt$ + \Ans0 $\int f(t)\phi(t)\dt$ + \Ans0 $\int f(t)\phi'(t)\dt$ + \Ans0 $\int f\bigl(\phi(t)\bigr)\dt$ + \Ans0 $\int f\bigl(\phi(t)\bigr)\phi(t)\dt$ + \Ans1 $\int f\bigl(\phi(t)\bigr)\phi'(t)\dt$ + \Ans0 $\int f\bigl(\phi(t)\bigr)\phi(t)\phi'(t)\dt$ +\end{question} + +\end{category} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\begin{category}{Důležité věty} + +\begin{question}\textbf{Frobeniova věta:} Jsou-li hodnosti matice soustavy + a rozšířené + matice soustavy stejné, pak + \Ans0 soustava nemá řešení + \Ans0 soustava má právě jedno řešení + \Ans1 soustava má (jedno nebo nekonečně mnoho) řešení + \Ans0 soustava má nekonečně mnoho řešení +\end{question} + +\begin{question}Vyberte tvrzení, které platí. + \Ans1 Má-li funkce na intervalu $I$ derivaci, je na tomto intervalu + spojitá. Opačné tvrzení obecně neplatí. + \Ans0 Je-li funkce na intervalu $I$ spojitá, má v každém bodě tohoto + intervalu derivaci. Opačné tvrzení obecně neplatí. + \Ans0 Funkce je na intervalu $I$ spojitá právě tehdy, když má v každém bodě + tohoto intervalu derivaci. +\end{question} + +\begin{question} + Má-li funkce v bodě $a$ lokální extrém, potom zde má +\Ans0 nulovou derivaci +\Ans0 kladnou derivaci +\Ans0 zápornou derivaci +\Ans0 nedefinovanou derivaci +\Ans1 nulovou nebo nedefinovanou derivaci +\end{question} + + +\begin{question} + První Bolzanova věta zní: +\Ans0 Funkce, která na intervalu $[a,b]$ mění znaménko, je na tomto intervalu +spojitá. +\Ans0 Funkce, která na intervalu $[a,b]$ mění znaménko, má na tomto intervalu +nulový bod. +\Ans1 Funkce, která na intervalu $[a,b]$ mění znaménko a je na tomto intervalu +spojitá, má na tomto intervalu nulový bod. +\Ans0 Funkce, která má na intervalu $[a,b]$ nulový bod a je na tomto intervalu +spojitá, má na tomto intervalu znaménkovou změnu. +\end{question} + + +\begin{question} + První Weierstrassova věta zní: +\Ans0 Funkce definovaná na uzavřeném intervalu je na tomto intervalu spojitá. +\Ans1 Funkce spojitá na uzavřeném intervalu je na tomto intervalu ohraničená. +\Ans0 Funkce spojitá na uzavřeném intervalu je na tomto intervalu diferencovatelná. +\Ans0 Funkce diferencovatelná na uzavřeném intervalu je na tomto intervalu spojitá. +\Ans0 Funkce diferencovatelná na uzavřeném intervalu je na tomto intervalu +ohraničená. +\Ans0 Funkce spojitá na uzavřeném intervalu má na tomto intervalu znaménkovou +změnu. +\end{question} + +\end{category} + + +\end{document} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: + diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/joke.jpg b/Master/texmf-dist/doc/latex/jeopardy/example/joke.jpg new file mode 100644 index 00000000000..b644b21a57a Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/joke.jpg differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/logo-bc.jpg b/Master/texmf-dist/doc/latex/jeopardy/example/logo-bc.jpg new file mode 100644 index 00000000000..659e859c234 Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/logo-bc.jpg differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/pdfscreen.cfg b/Master/texmf-dist/doc/latex/jeopardy/example/pdfscreen.cfg new file mode 100644 index 00000000000..c2f6e86497d --- /dev/null +++ b/Master/texmf-dist/doc/latex/jeopardy/example/pdfscreen.cfg @@ -0,0 +1,42 @@ +\def\@@logo#1{% + \global\setbox0=\hbox{\includegraphics{#1}}% + \ifdim\ht0>\wd0% + \includegraphics[height=0.9\hsize]{#1}% + \else% + \ifdim\wd0>\ht0% + \includegraphics[width=0.9\hsize]{#1}% + \else% + \ifdim\wd0=\ht0%% + \includegraphics[width=0.9\hsize]{#1}% + \fi\fi\fi +} + +\def\panel{% + \begin{minipage}[t][\paperheight][c]{\panelwidth}% + \normalsfcodes% + \centering% + %\null + \vspace*{3pt}%\vfill% + \ifx\@emblema\@empty\relax\else% + \@@logo{\@emblema}\par\vfill\fi% + \ifx\logoB\undefined\else\logoB\fi + \if@paneltoc% + \@panel@toc\par\vfill\else\relax\fi% + \color{blue}% + \NavigationPanel% + \par%\vfill + %\null + \vspace*{1pt}% + \end{minipage}% +} + +\def\pfill{\vskip 0.5pt} +\emblema{logo-bc.jpg} +\urlid{www.mendelu.cz/user/marik} + +\hypersetup{pdfpagemode=Window, pdfnewwindow=true, pdfmenubar=true,% + pdftoolbar=true,colorlinks, pdfwindowui=true, + pdfpagemode=UseOutlines} + +\input blackpanel +\endinput diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/picture.jpg b/Master/texmf-dist/doc/latex/jeopardy/example/picture.jpg new file mode 100644 index 00000000000..93f8f95bb24 Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/example/picture.jpg differ diff --git a/Master/texmf-dist/doc/latex/jeopardy/jeopardy.pdf b/Master/texmf-dist/doc/latex/jeopardy/jeopardy.pdf new file mode 100644 index 00000000000..70135c80912 Binary files /dev/null and b/Master/texmf-dist/doc/latex/jeopardy/jeopardy.pdf differ diff --git a/Master/texmf-dist/source/latex/jeopardy/jeopardy.dtx b/Master/texmf-dist/source/latex/jeopardy/jeopardy.dtx new file mode 100644 index 00000000000..1ed342ac62c --- /dev/null +++ b/Master/texmf-dist/source/latex/jeopardy/jeopardy.dtx @@ -0,0 +1,1006 @@ +% \iffalse meta-comment +% +% Copyright (C) 2004 by Robert Marik +% ------------------------------------------------------- +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% of this license or (at your option) any later version. +% The latest version of this license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{jeopardy.dtx} +% +%\NeedsTeXFormat{LaTeX2e} +%\ProvidesPackage{jeopardy} +%<*package>\ProvidesPackage{jeopardy} +[2007/03/12 v1.1 .dtx jeopardy file] +% +% +%<*driver> +\documentclass{ltxdoc} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{jeopardy.dtx} + \PrintChanges + \PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% +% \changes{v1.0}{2006/10/28}{Initial version} +% \changes{v1.01}{2006/10/30}{Minor changes to get compatibility with +% the last exerquiz.sty} +% \changes{v1.02}{2006/11/2}{Option picture +% added. Changed macro "title" into "JeopardyTitle".} +% \changes{v1.02a}{2006/11/3}{Minor update: Option bgpicture +% added.} +% \changes{v1.1}{2007/03/12}{Option twoplayers.} +% +% \GetFileInfo{jeopardy.dtx} +% +% \DoNotIndex{\newcommand,\newenvironment,\vbox,\hbox, \', \@@end, +% \@@RespBoxMathActions, \@@RespBoxTxtActions, \@Panelhomepagename, +% \@Panelfullscreenname, \@jeopardyFineTunefalse, \@Panelclosename, +% \@Panelquitname, } +% +% +% \title{The \textsf{jeopardy} package\thanks{This document +% corresponds to \textsf{jeopardy}~\fileversion, dated \filedate.}} +% \author{Robert Ma\v r\'\i k \\ \texttt{marik@mendelu.cz}} +% +% \maketitle +% +% \section{Introduction} +% +% Jeopardy like game -- redesigned the \verb|jj_game.cls| by D. P. +% Story. The package requires to load \verb|exerquiz| and +% \verb|dljslib| packages from AcroTeX bundle. The current only +% supported way to produce pdf file is \verb|pdftex|. The main +% properties include +% \begin{itemize} +% \item In contrast to \verb|jj_game.cls|, the \verb|oQuestion| +% environment is used to allow fill-in questions. +% \item The \verb|proofing| option is introduced. Use this option to +% typeset your answers into the document. To check the answers for +% \verb|\RespBoxMath| and |\RespBoxTxt| commands remember to use +% transparent background for these text fields or use the browser +% which does not show these fields, like \verb|xpdf|. +% \item Option |twoplayers| builds game for two players. +% \item Option |bgpicture| is used to place the picture below the +% buttons (|graphicx| package is used). The name of the picture is +% stored in the |\JeopardyPictureFile| command. Default value is +% |picture.jpg|. You can change it by +% |\def\JeopardyPictureFile{blabla.jpg}|. If you use this option, +% you may also consider the (rather tricky) option |finetune|. This +% option is described with the corresponding code at the end of this +% file. The |bgpicture| option is automaticaly turned on when +% |picture| option is active. +% \item The option |picture| is introduced for another version of the +% game. The user gets no score but uncovers parts of a picture +% hidden by buttons and (after wrong answer) non-transparent fields. +% It can be used in the class and students can guess what is on the +% picture. The option adds the "Solution" button below the +% gameboard. If the user clicks this button, all buttons from not +% yet answered questions and fields from wrong answered questions +% are hidden and the picture is fully visible. After the second +% click on this button, a |\ChampionMsg| is shown. This can be used +% for example to store the name of a person on the picture. +% \item The user is not allowed to browse pages of the game without +% clicking in gameboard. We use the (not portable) +% \verb|\pdfpageattr| command to achieve this behavior. This can be +% turned off by \verb|allowpeeking| option. +% \item The \verb|evalonblur| option may be used. This concerns +% filling forms for |\RespBoxTxt| and |\RespBoxMath| questions and +% the following problem with switching keyboard layout: When filling +% the text field, if user switches the keyboard +% layout\footnote{necessary, for example, to write powers on Czech +% keyboard} using keyboard shortcut on Linux, the (not yet +% finished and hence incorrect) answer is evaluated and marked as +% wrong. Known workarounds: +% \begin{itemize} +% \item The user should erase the contents of the field completely, +% switch the keyboard, click into the field and type his/her +% answer. +% \item The user should change keyboard using mouse and Gnome applet. +% \item The author can compile the file with \verb|evalonblur| +% option. The answer is evaluated after \verb|shift+click|-ing +% outside the field. +% \end{itemize} +% \end{itemize} +% This package has been tested on Texlive2005+Linux (pdfeTeXk, Version +% 3.141592-1.30.4-2.2 (Web2C 7.5.5)), with \verb|exerquiz| 2006/18/06 +% v6.05e. +% +% \section{Usage} +% +% To instal the style run |latex jeopardy.ins| from the directory with +% |jeopardy.dtx|. You get files |jeopardy.sty| and |jeopardy.cfg|. +% Copy both files where \LaTeX{} finds them and include your +% customizations into |jeopardy.cfg|. +% +% For sample file look at the files \verb|game*.tex|. The number of +% questions and categories is written into \verb|aux| file and stored +% in macros \verb|\NumberOfQuestions| and \verb|\NumberOfCategories|. +% From this reason, the file has to be two times \verb|pdflatex|-ed to +% build the game. The |aux| file contains also definitions for the +% category names. These names are not used when |picture| option is +% active. +% +% \DescribeMacro{\MakeGameBoard} Macro |\MakeGameBoard| typesets the +% game board. This should be at the begin of the file and followed by +% \verb|category| environments. The dimensions of cells are +% \verb|\CellWidth| and \verb|\CellHeight|. The user can set these +% dimensions after \verb|\begin{document}| or with the |\SetGameWidth| +% and |\SetGameHeight| commands. Write e.g. |\SetGameHeight{10cm}|. +% The fields are created via \verb|\pushButton| and +% \verb|\textField| commands and the user may change the default +% behavior using command available in the package \verb|eforms.sty|. +% The colors for wrong and right messages are set in \verb|exerquiz| +% package and stored in \verb|\correctColor| and \verb|\wrongColor| +% macros. The tokens registers |\GrandPoohbahtoks|, |\Celltoks| and +% |\Scoretoks| are used to build the GrandPoohbah field (see below), +% cell fields and score field. You can set it by e.g. +% |\GrandPoohbahtoks{\Q{0}\textColor{1 0 0 rg}}|. All these +% registers are empty by default. The exception is if the |picture| +% option is used, the |\Celltoks| is set to |\BG{0 0 0}|. If you +% change it, remember to use non-transparent background for cells! +% +% \DescribeMacro{\AfterGameBoard} Macro |\AfterGameBoard| is +% execuetd between gameboard and score field. +% +% \DescribeMacro{\everyCategoryHead} Tokens register +% |\everyCategoryHead| is used at the begin of every category head. +% You can set it by something like +% |\everyCategoryHead{\textrm\footnotesize}| +% +% \DescribeMacro{\JeopardyTitle} The |\JeopardyTitle| macro contains +% the title of the game. The title is the hyperlink anchor used to +% return from questions to the gameboard. You can set it by e.g. +% |\def\JeopardyTitle{The title of the game}|. +% +% \DescribeEnv{category} The |category| environment has one +% parameter -- the name of the category. It encloses \verb|question| +% environments. The category name is not used if the |picture| +% option is active. In this case the name is replaced by the capital +% letter A, B, C, \dots. In this case you (or your students) can +% refer to the fields like on chessboard. +% +% \DescribeEnv{question} The |question| environment contains a +% question and answers for multiple choice questions. The answers are +% introduced by \verb|\Ans0| (wrong answers) or \verb|\Ans1| (correct +% answers). The environment includes an \verb|oQuestion| environment +% and hence it may contain \verb|\RespBoxMath| or |\RespBoxTxt| +% command. +% +% \DescribeMacro{\Goal} If the user finishes the game with at least +% \verb|\Goal| points, a hidden banner (GrandPoohbah field) with +% message stored in \verb|\ChampionMsg| command is shown. The default +% initial value +% \verb|45*(1+numQuestions)*numQuestions*numCategories*\JeopardyScaleFactor| +% means 90 percent of the maximal point score. The banner has height +% \verb|\GrandPoohbahHeight|. This macro is not used if the option +% |picture| is active. In this case the |\ChampionMsg| should contain +% the name of the picture (for example the name of the person on +% photograph) and it can be shown by doubleclicking "Solution" +% button at the bottom. +% +% \DescribeMacro{\SetGameWidth} Macro |\SetGameWidth| sets the +% |\GameWidth| register with the width of the game desk. It evaluates +% the width of cells as quotient of the parameter of the macro and the +% number of categories. Macro |\SetGameHeight| works in a similar way +% if the option |picture| is not active. If the option |picture| is +% active, the height of the game is evaluated from the dimensions of +% the picture. The width of the picture is scaled into |\GameWidth| and +% the height is established from the height of the scaled picture. +% +% \StopEventually{} +% +% \section{Implementation} +% +% Check that we use |pdflatex| and both \verb|exerquiz| and +% \verb|dljslib| packages are loaded. +% \begin{macrocode} +%<*package> + +\ifx\shortquiz\undefined +\PackageWarning{Jeopardy}{!!!!!!!!!!!!! Load exerquiz package !!!!!!!!!!!} +\def\finito{\@@end} +\expandafter\finito\fi + +\ifx\dljsRegister\undefined +\PackageWarning{Jeopardy}{!!!!!!!!!!!!! Load dljslib package !!!!!!!!!!!} +\def\finito{\@@end} +\expandafter\finito\fi + +\if\eq@drivernum1%%% pdftex + \typeout{*** using pdftex option ***} + \def\JeopardyNoPeekCommand{ + \edef\ThisPage{/AA<> >>} + \global\pdfpageattr=\expandafter{\ThisPage}% + } +\else + \def\JeopardyNoPeekCommand{} + \typeout{!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} + \typeout{!!!!!!!! The package has been tested with pdflatex only.} + \typeout{!!!!!!!! Use pdflatex drivers in eforms.sty and exerquiz.sty.} + \typeout{!!!!!!!! On your own risk you can use other drivers + with *allowpeeking* option.} + \PackageWarning{Jeopardy}{No pdftex drivers for eforms and exerquiz} +\fi + +\RequirePackage{multido} + +\DeclareOption{czech}{ +\def\formessage{za} +\def\Scoremessage{Body} +\def\fairmsg{Nesidit! Odpovidate na jinou otazku!} +\def\who@answers@msg#1{Odpovida hrac #1} +\def\RightWrongMessages{ +aCM = new Array\ +( "Spravne! Jen tak dal!", + "Vyborne! Gratuluji!", + "Dobre! Pokracujte ve spravne nacate praci!", + "Ano, ano, ano, ano!", + "Spravne! Zkuste i tezsi otazky", + "Spravna odpoved!", + "Presne tak! Ziskavate dalsi body" +); +aEM = new Array\ +( "To neni spravne! Zkuste jinou otazku.", + "Chyba. Nehadejte!", + "Prosim! Prosim! Premyslejte nez odpovite!", + "Dalsi chyba! Hadanim se daleko nedostanete!", + "Ale ne! Kdepak! Body dolu.", + "Ne, zkuste jinou otazku.", + "Zase spatne! Bohuzel, vase konto se opet snizuje!" +);} +\def\NotAllowedMesssage{"Nesmite menit odpovedi!"} +\def\RightMessage{Spravne} +\def\WrongMessage{Spatne} +\def\JeopardyTitle{Tituln\'\i{} strana} +\def\ChampionMsg{Bravo! Mistr nad mistry!} +} + +\def\formessage{for} +\def\Scoremessage{Score} +\def\NotAllowedMesssage{"Changing your answer is not allowed!"} +\def\RightMessage{Right} +\def\WrongMessage{Wrong} +\def\fairmsg{Play Fair! Answer the question you have clicked!} +\def\who@answers@msg#1{Player #1} +\def\RightWrongMessages{ +aCM = new Array +( "That's Right! Way to go, Kiddo!", + "Wonderfully Done! Congrats!", + "Very Good! Keep up the good work!", + "Good, good, good, good!", + "Gee, you're smart! Try a harder one!", + "You're pretty sharp! Continuez, s'il vous pla\string\356t!", + "You're the tops! But wait...try another." +); +aEM = new Array +( "That's wrong! Sorry. Try Again.", + "Error again. Don't guess, I'm watching!", + "Please! Please! Work it out first!", + "An error has insinuated itself into your calculations. Recalibrate your thinking!", + "Bah! Humbug! You're haunted by Errors!", + "Try again. This time with order and method.", + "Wrong again! Use your little gray cells!" +); +} +\def\JeopardyTitle{Jeopardy Game} +\def\ChampionMsg{You are a Champion!} + +\newif\ifJeopardyNoPeeking +\JeopardyNoPeekingtrue +\DeclareOption{allowpeeking}{\JeopardyNoPeekingfalse} + +\newif\ifEvalOnBlur +\EvalOnBlurfalse +\DeclareOption{evalonblur}{\EvalOnBlurtrue} + +\newif\ifdouble \doublefalse +\def\JeopardyScaleFactor{1} +\DeclareOption{double}{\doubletrue\def\JeopardyScaleFactor{2}} + +\newif\ifoneplayer \oneplayertrue +\DeclareOption{twoplayers}{\oneplayerfalse} + +\newif\if@jeopardyFineTune \@jeopardyFineTunefalse +\DeclareOption{finetune}{\@jeopardyFineTunetrue} + +\DeclareOption{proofing}{\eq@proofingtrue \JeopardyNoPeekingfalse} +\definecolor{webgreen}{rgb}{0,.5,0} + +\newif\if@jeopardyBgPicture +\@jeopardyBgPicturefalse +\DeclareOption{bgpicture}{\@jeopardyBgPicturetrue \everyPushButton{\BC{}}} + +\newif\if@jeopardyPicture +\@jeopardyPicturefalse +\def\Picture{0} +\DeclareOption{picture}{\def\Picture{1}\def\formessage#1.{}% + \@jeopardyPicturetrue + \@jeopardyBgPicturetrue + \Celltoks{\BG{0 0 0}} + \everyPushButton{\BC{}} +} + + +\newtoks\GrandPoohbahtoks +\newtoks\Scoretoks +\newtoks\Celltoks +\newtoks\Radiotoks +\newtoks\Playertoks + + +\ProcessOptions +% \end{macrocode} +% We load |graphicx| package for inserting bitmaps. +% \begin{macrocode} +\if@jeopardyBgPicture +\RequirePackage{graphicx} +\fi + +\sqTurnOffAlerts + +\newcount \CatCount +\newcount \QuestCount +\newcount \NumberOfCategories +\newcount \NumberOfQuestions +\newcount \QuestCountA \QuestCountA=-1 +\newcount \AnswerCount +\newcount \OQuestionCount +\newcount \temporarycount +\newcounter{tempcounter} +\everyRespBoxMath{\BG{1 1 1}} +\everyRespBoxTxt{\BG{1 1 1}} + +\newlength \GrandPoohbahHeight +\GrandPoohbahHeight = 10pt + +% \end{macrocode} +% Macros for setting game width and height. +% \begin{macrocode} +\newlength\GameWidth +\newlength\GameHeight +\newlength\CellWidth +\newlength\CellHeight +\newlength\ScoreCellHeight +\def\SetGameWidth#1{\GameWidth=#1\relax + \CellWidth=\GameWidth + \ifnum\NumberOfCategories=0 + \divide\CellWidth by 10 + \else + \divide\CellWidth by \NumberOfCategories + \fi +} +\def\SetGameHeight#1{\GameHeight=#1\relax + \CellHeight=\GameHeight + \ifnum\NumberOfCategories=0 + \divide\CellHeight by 10 + \else + \divide\CellHeight by \NumberOfQuestions + \fi + \ScoreCellHeight=\CellHeight +} +% \end{macrocode} +% We do some basic initializations for dimensions of gameboard. +% \begin{macrocode} +\AtBeginDocument{ +\SetGameWidth{0.8\linewidth} +\SetGameHeight{0.6\textheight} +} +% \end{macrocode} +% Macros to typeset the picture. The default name of the picture is +% |picture.jpg|. You can redefine the command |\insertJeopardyPicture| +% to replace the picture e.g. by a text written in \TeX. To do this, +% replace the |\includegraphics| command by something else, e.g. +% |minipage| environment. +% \begin{macrocode} +\newbox\JeopardyPictureBox +\def\JeopardyPictureFile{picture.jpg} +\def\insertJeopardyPicture{% + \setbox\JeopardyPictureBox=% + \hbox{\includegraphics[width=\GameWidth]{\JeopardyPictureFile}}% + \SetGameHeight{1.02\ht\JeopardyPictureBox}% + \dimen0=\CellHeight + \dimen1=0.5\dimen0 + \hbox to 0 pt{\vbox to 0 pt{\kern -\dimen1\box\JeopardyPictureBox\vss}\hss}% +} + +% \end{macrocode} +% We define |category| and |question| environments. We read the names of the +% categories from the |aux| file and store these names in macros. These +% names are not used when |picture| option is active. In this case we +% convert the number of category into capital letter. +% \begin{macrocode} +\if@jeopardyPicture + \def\CategoryNameDef#1#2{% + \setcounter{tempcounter}{#1}% + \expandafter\xdef\csname CategoryName#1\endcsname{% + \Alph{tempcounter}\strut}}% +\else + \def\CategoryNameDef#1#2{% + \expandafter\gdef\csname CategoryName#1\endcsname{#2}}% +\fi + +% \end{macrocode} +% The category environment simply increases the counter, writes the +% name into |aux| file and checks the number of questions in the last +% category environment. +% \begin{macrocode} +\newenvironment{category}[1]{% + \global\advance \CatCount by 1 + \global\QuestCount=0 + \immediate\write\@auxout{\string\CategoryNameDef{\the\CatCount}{#1}}% + } + {% + \ifnum \QuestCountA=-1 \global\QuestCountA=\QuestCount + \else + \ifnum\QuestCountA=\QuestCount + \else + \PackageWarning{Jeopardy} + {Bad number of questions in Category \the\CatCount.} + \fi + \fi + } +% \end{macrocode} +% |question| environment increases the counter, places the action to +% check that the page is opened from the gameboard, writes the title +% of the question and defines macro |\Ans| which typesets buttons with +% correct and incorrect answers. It also starts the |oQuestion| +% environment and hence the commands |\RespBoxMath| and |\RespBoxTxt| +% from |exerquiz.sty| can be used. At the end of the environment we +% close the |oQuestion| environment and start new page. +% \begin{macrocode} +\newenvironment{question}{% + \global\advance \QuestCount by 1\relax + \AnswerCount=0 + \ifJeopardyNoPeeking + \JeopardyNoPeekCommand + \fi + \begin{center}% + \hypertarget{\the\QuestCount\the\CatCount}% + {\csname CategoryName\the\CatCount\endcsname{} % + \formessage{} \the\QuestCount00.}% + \end{center}% +\def\Ans##1{\par +\ifnum\AnswerCount=0 \vskip\medskipamount\fi +\advance\AnswerCount by 1% +\setcounter{tempcounter}{\the\AnswerCount}% +\leavevmode\hbox to 0 pt{% +\hss +\ifeq@proofing \def\temp{##1}\if\temp1$\color{webgreen}\bullet$ \fi\fi +\pushButton[\CA{\alph{tempcounter}}% + \A{\JS{useranswer(##1,\the\QuestCount,\the\CatCount);}}]% + {{Answer\the\AnswerCount-\the\QuestCount-\the\CatCount}}% + {1.3em}{1.3em}% +\hskip1em}% +\leftskip2em}% +\begin{oQuestion}{Q\the\QuestCount\the\CatCount}% +}{\par\end{oQuestion}\newpage} + +% \end{macrocode} +% At the end of document we write the number of questions and +% categories into |aux| file. +% \begin{macrocode} +\AtEndDocument{ +\immediate\write\@auxout{\string\global\string\NumberOfCategories=\the\CatCount} +\immediate\write\@auxout{\string\global\string\NumberOfQuestions=\the\QuestCount} +} +% \end{macrocode} +% Here we redefine some internal macros of |exerquiz.sty|. +% \begin{macrocode} +\ifEvalOnBlur +\def\@@RespBoxMathActions +{% + \AA{ + \AAFormat{\eqFormatArg}% + \AAOnFocus{\JS{var retn = null;}}% + \AAOnBlur{\JS{retn = \processJSfunc(\rbArgs,\compareJSfunc); + if (event.shift){ + if (retn==true) {useranswer(1,\the\QuestCount,\the\CatCount); } + else {if (retn==false) {useranswer(0,\the\QuestCount,\the\CatCount);} + else {app.alert("Probably a syntax error somewhere.");}}} + else + {app.alert("Exit the field with Shift+Click."); + this.getField("obj.\oField.\thequestionno").setFocus(); + }} + } + } +} +\def\@@RespBoxTxtActions +{% + \AA{\AAOnBlur{\JS{retn = ProcRespTxt(\rbTxtAlt); + if (event.shift){ + if (retn==true) {useranswer(1,\the\QuestCount,\the\CatCount); } + else {if (retn==false) {useranswer(0,\the\QuestCount,\the\CatCount);} + else {app.alert("Probably a syntax error somewhere.");}}} + else + {app.alert("Exit the field with Shift+Click."); + this.getField("obj.\oField.\thequestionno").setFocus(); + }} }% + \AAOnFocus{\JS{var retn = null;}} + } +} +\def\jsRespBox[#1]#2{% + \def\compareJSfunc{#1}\def\processJSfunc{#2}% + \ifeq@proofing\makebox[0pt][l]{\space\math@correctAnswer}\fi + \eq@TextField % send to the driver-dependent macro + \ \pushButton{button}{10bp}{10bp}}% +\def\eq@@RespBoxTxt{% + \ifeq@proofing\makebox[0pt][l]{\space\txt@correctAnswer}\fi + \eq@TextField + \ \pushButton{button}{10bp}{10bp}}% +\else +\def\@@RespBoxMathActions +{% + \AA{\AAKeystroke{if(event.willCommit) { + retn = \processJSfunc(\rbArgs,\compareJSfunc); + if (retn==true) {useranswer(1,\the\QuestCount,\the\CatCount); } + else {if (retn==false) {useranswer(0,\the\QuestCount,\the\CatCount);} + else {app.alert("Probably a syntax error somewhere.");}}} + }% + \AAFormat{\eqFormatArg}% + \AAOnFocus{\JS{var retn = null;}}% + }% +}% +\def\@@RespBoxTxtActions +{% + \AA{\AAKeystroke{if(event.willCommit) { + retn = ProcRespTxt(\rbTxtAlt); + if (retn==true) {useranswer(1,\the\QuestCount,\the\CatCount); } + else {if (retn==false) {useranswer(0,\the\QuestCount,\the\CatCount);} + else {app.alert("Probably a syntax error somewhere.");}}} + }% + \AAOnFocus{\JS{var retn = null;}} + } +} +\fi %%% \ifEvalOnBlur +% \end{macrocode} +% Macro for typesetting the page with title (hyperref anchor), hidden +% GrandPoohbah field and gameboard. +% \begin{macrocode} +\newtoks\everyCategoryHead +\everyCategoryHead{}% +\def\MakeGameBoard{% + \begin{center}% + \hypertarget{GameBoard}{\JeopardyTitle}% + + \edef\temp{\noexpand\textField[\noexpand\Ff{\noexpand\FfReadOnly}% + \noexpand\F{\noexpand\FHidden}% + \noexpand\Q{1}% + \noexpand\textSize{0}% + \noexpand\V{\ChampionMsg}\the\GrandPoohbahtoks% + ]{GrandPoohbah}{\textwidth}{\the\GrandPoohbahHeight}}% + \temp + + \leavevmode + \ifnum\NumberOfQuestions>0% + \ifnum\NumberOfCategories>0% + \multido{\i=1+1}{\NumberOfCategories}{\leavevmode + \vtop{\hsize=\CellWidth \centering + \the\everyCategoryHead\csname CategoryName\i\endcsname }}\\% + \leavevmode + \if@jeopardyBgPicture\insertJeopardyPicture\fi + \Multido{\i=1+1}{\NumberOfQuestions}% + {\edef\j{\i}% + \if@jeopardyPicture\hbox to 0 pt{\hss$\j$ }\fi + {\Multido{\i=1+1}{\NumberOfCategories}{% + \edef\temp{\noexpand\textField[% + \noexpand\Ff{\noexpand\FfReadOnly}% + \noexpand\S{S}% + \noexpand\Q{1}% + \the\Celltoks]{Field\j\i}{\CellWidth}{\CellHeight}}% + \hbox to 0 pt{\temp\hss}% + \if@jeopardyPicture + \pushButton[\S{B}% + \A{\JS{kliknuti(\j,\i);}}]{Button\j\i}{\CellWidth}{\CellHeight}% + \else + \pushButton[\S{B}\CA{\j00}% + \A{\JS{kliknuti(\j,\i);}}]{Button\j\i}{\CellWidth}{\CellHeight}% + \fi + }\\\leavevmode}% + }% + \fi + \fi + \par + \AfterGameBoard + \if@jeopardyPicture + \smallskip\leavevmode + \hfill\pushButton[\A{\JS{hideall();}}\CA{Solution}]{Solution}{1.5cm}{12bp} + \else + \@makeScoreField + \fi + \end{center}% + \newpage +}% + +\def\@makeScoreField +{ + \ifoneplayer + \dimen0=\NumberOfCategories\CellWidth + \edef\temp{\noexpand\textField[\noexpand\V{}\noexpand\textSize{0} + \noexpand\Q{1} + \noexpand\Ff{\noexpand\FfReadOnly} + \the\Scoretoks + ]{Total.1}{\dimen0}{\ScoreCellHeight}}% + \temp + \else%two players + \dimen0=\NumberOfCategories\CellWidth + \dimen1=0.5\dimen0 + \edef\temp{\noexpand\textField[\noexpand\V{}\noexpand\textSize{0} + \noexpand\Q{1} + \noexpand\Ff{\noexpand\FfReadOnly} + \the\Scoretoks + ]{Total.1}{\dimen1}{\ScoreCellHeight}}% + \temp + \edef\temp{\noexpand\textField[\noexpand\V{}\noexpand\textSize{0} + \noexpand\Q{1} + \noexpand\Ff{\noexpand\FfReadOnly} + \the\Scoretoks + ]{Total.2}{\dimen1}{\ScoreCellHeight}}% + \temp\\ + \hbox to \hsize{\hss\hbox to \dimen0 + {\hss + \radioButton[\V{1}\Ff{\FfNoToggleToOff}\A{\JS{player=1;this.getField("whoanswers").value= "\who@answers@msg{A}";}}]{radio}{12pt}{12pt}{1} + \hss + \hbox % to 0 pt + {\hss + \edef\temp{% + \noexpand\textField[\noexpand\Q{1}\noexpand\Ff{\noexpand\FfReadOnly}\noexpand\V{\who@answers@msg{A}}\the\Playertoks] + {whoanswers}{0.6\dimen0}{10pt}}\temp\hss + } + \hss + \radioButton[\Ff{\FfNoToggleToOff}\A{\JS{player=2;this.getField("whoanswers").value= "\who@answers@msg{B}";}}]{radio}{12pt}{12pt}{2} + \hss}\hss + }% + \fi +} + +\let\AfterGameBoard\relax +\edef\Goal{45*(1+numQuestions)*numQuestions*numCategories*\JeopardyScaleFactor} +% \end{macrocode} +% Basic Java functionality is rewritten from |jj_game.cls|. We start +% with initial declarations. +% \begin{macrocode} + +\def\update@who@answers{ +if (player==1) this.getField("whoanswers").value= "\who@answers@msg{A}"; +else this.getField("whoanswers").value= "\who@answers@msg{B}"; +} + +\edef\JeopardyUpdatescore +{ + \ifoneplayer + this.getField("Total.1").value="\Scoremessage: "+TotalScoreA; + if (TotalScoreA>0) + this.getField("Total.1").textColor=\correctColor; + else this.getField("Total.1").textColor=\wrongColor; + \else + this.getField("Total.1").value="\Scoremessage: "+TotalScoreA; + if (TotalScoreA>0) + this.getField("Total.1").textColor=\correctColor; + else this.getField("Total.1").textColor=\wrongColor; + this.getField("Total.2").value="\Scoremessage: "+TotalScoreB; + if (TotalScoreB>0) + this.getField("Total.2").textColor=\correctColor; + else this.getField("Total.2").textColor=\wrongColor; + if (player==1) {player=2; this.getField("radio").value=2;} + else {player=1; this.getField("radio").value=1}; + \update@who@answers + \fi +} + + + +\begin{insDLJS}[dljslibRMb]{dljsliRMb}{RMb} +numQuestions = \the\NumberOfQuestions; +numCategories = \the\NumberOfCategories; +var player=1; +RowClick=0; +ColClick=0; +SaveRowClick=0; +SaveColClick=0; +totalQuestions = numQuestions * numCategories; +var QAed =""; +for (var i=0; i< totalQuestions; i++)QAed +="0"; +nEM = 0; +nCM = 0; +var submitted = 0; +TotalScoreA = 0; +TotalScoreB = 0; +NumQAed = 0; +Goal = \Goal; +\RightWrongMessages +var Picture=\Picture; +var JeopardyPass=0; +% \end{macrocode} +% These functions check that the page has been opened from the +% Gameboard and save the row and column number of the button which has +% been clicked. The OpenAction on the page is turned off after +% answering all questions. +% \begin{macrocode} + +function kontrola(row,col) +{ + if (NumQAed 6) nCM=0; + } + else + { + if (Picture!=1) + { + this.getField("Field"+row+col).textColor=\wrongColor; + this.getField("Field"+row+col).value="\WrongMessage"; + } + if (player==1) + TotalScoreA -= \JeopardyScaleFactor*row*100; + else + TotalScoreB -= \JeopardyScaleFactor*row*100; + app.alert(aEM[nEM],3); + if (++nEM > 6) nEM=0; + } + if ((++NumQAed>=totalQuestions) && ((TotalScoreA+TotalScoreB)>=Goal)) + { + if (Picture!=1) this.getField("GrandPoohbah").hidden=false; + } + } + else + app.alert(\NotAllowedMesssage); + gotoNamedDest("GameBoard"); + if (Picture!=1) + { + \JeopardyUpdatescore + } +}; +% \end{macrocode} +% This function hides in the first call all fields and buttons on the +% gameboard and after the second call shows the |\ChampionMsg|. In +% addition, it sets |NumQAed=totalQuestions| and the user is allowed to +% go through the pages of the document. +% \begin{macrocode} +function hideall(){ + NumQAed=totalQuestions; + var i=0; + var j=1; + if (JeopardyPass==0) + { + JeopardyPass=1; + for (var i=0; i< numQuestions; i++) + { + for (var j=0; j< numCategories; j++) + { + row=i+1; col=j+1; + this.getField("Field"+row+col).hidden=true; + this.getField("Button"+row+col).hidden=true; + } + } + } + else + this.getField("GrandPoohbah").hidden=false; +} +% \end{macrocode} +% We redefine function used in |exerquiz| package. We will turn off +% notification of the correct and incorrect answers by changing the +% strokecolor of the text fields. +% \begin{macrocode} +function notifyField(success, flag, fieldname) { + return success; +} +\end{insDLJS} +% \end{macrocode} +% The fields in Acrobat have bigger dimension than their dimensions +% visible by \TeX. From this reason they overlap a bit. The user may +% try to remove this overlap, which is not nice together with picture, +% using option |finetune|. This option tries to resolve this problem +% by using smaller buttons than the |\CellWidth| and |\CellHeight|. +% The user has to set manually the dimension |\AditionalShift| which +% is used to shift the image vertically to adjust correct position. +% (Sorry for the inconvenience.) I know that this solution is not +% clean enough but \dots I did my best. At least for this verion of +% |jeopardy| style. Look at the files |game1a.tex| and |game4.tex|. +% You can also try to remove the option |finetune| from these files +% and compaile again to note the difference. +% \begin{macrocode} +\newlength\AditionalShift +\AditionalShift=0pt + +\if@jeopardyFineTune +\newlength \finetunelength +\newlength \finetuneCellWidth +\newlength \finetuneCellHeight +\finetunelength=1pt + +\def\insertJeopardyPicture{% + \dimen1=\finetunelength + \multiply\dimen1 by \NumberOfCategories + \advance\dimen1 by \GameWidth + \setbox\JeopardyPictureBox=% + \hbox{\includegraphics[width=\dimen1]{\JeopardyPictureFile}}% + \dimen1=\finetunelength + \multiply\dimen1 by \NumberOfQuestions + \dimen2=\ht\JeopardyPictureBox + \advance\dimen2 by -1.9\dimen1 + \SetGameHeight{\dimen2}% + \dimen0=\CellHeight + \divide\dimen0 by 2 + \hbox to 0 pt{\vbox to 0 pt{\kern -\dimen0\kern-\AditionalShift + \box\JeopardyPictureBox\vss}\hss}% +} + + + +\def\MakeGameBoard{% + \begin{center}% + \fboxsep=\finetunelength + \fboxrule=0pt + \hypertarget{GameBoard}{\JeopardyTitle}% + + \edef\temp{\noexpand\textField[\noexpand\Ff{\noexpand\FfReadOnly}% + \noexpand\F{\noexpand\FHidden}% + \noexpand\Q{1}% + \noexpand\textSize{0}% + \noexpand\V{\ChampionMsg}\the\GrandPoohbahtoks% + ]{GrandPoohbah}{\textwidth}{\the\GrandPoohbahHeight}}% + \temp + + \leavevmode + \ifnum\NumberOfQuestions>0% + \ifnum\NumberOfCategories>0% + \multido{\i=1+1}{\NumberOfCategories}{\leavevmode + \vtop{\hsize=\CellWidth \centering + \the\everyCategoryHead\csname CategoryName\i\endcsname }}\\% + \leavevmode + \if@jeopardyBgPicture\insertJeopardyPicture\fi + \finetuneCellWidth=\CellWidth + \advance\finetuneCellWidth by -\finetunelength + \finetuneCellHeight=\CellHeight + \vtop{% + \Multido{\i=1+1}{\NumberOfQuestions}% + {\edef\j{\i}% + \hbox{% + \if@jeopardyPicture\hbox to 0 pt{\hss$\j$ }\fi + \Multido{\i=1+1}{\NumberOfCategories}{% + \edef\temp{\noexpand\textField[% + \noexpand\Ff{\noexpand\FfReadOnly}% + \noexpand\S{S}% + \noexpand\Q{1}% + \the\Celltoks]{Field\j\i}{\finetuneCellWidth}{\finetuneCellHeight}}% + \fbox{\hbox to 0 pt{\temp\hss}% + \if@jeopardyPicture + \pushButton[\S{B}% + \A{\JS{kliknuti(\j,\i);}}]{Button\j\i}{\finetuneCellWidth}{\finetuneCellHeight}% + \else + \pushButton[\S{B}\CA{\j00}% + \A{\JS{kliknuti(\j,\i);}}]{Button\j\i}{\finetuneCellWidth}{\finetuneCellHeight}% + \fi% + }}}\kern-1pt + }}% + \fi %%% \ifnum\NumberOfQuestions>0% + \fi %%% \ifnum\NumberOfCategories>0% + \par + \AfterGameBoard + \if@jeopardyPicture + \smallskip\leavevmode + \hfill\pushButton[\A{\JS{hideall();}}\CA{Solution}]{Solution}{1.5cm}{12bp} + \else%not picture + \@makeScoreField + \fi + \end{center}% + \newpage +}% +\fi + +% \end{macrocode} +% The user may write his/her customizations into jeopardy.cfg. +% \begin{macrocode} +\IfFileExists{jeopardy.cfg}{% + \typeout{---------------------------------------------------} + \typeout{jeopardy: Configuration from the file jeopardy.cfg.} + \typeout{---------------------------------------------------} + \input jeopardy.cfg}{} +% +% \end{macrocode} +% We define shorter navigation panel if |pdfscreen.sty| package is used. +% \begin{macrocode} +%<*cfg> +\ifx\NavigationPanel\undefined\else +\def\NavigationPanel{\normalsfcodes% + \href{\@urlid}{\addButton{\buttonwidth}{\tiny\@Panelhomepagename}}\\ \pfill + \hyperlink{GameBoard}{\addButton{\buttonwidth}{\tiny GameBoard}}\\ \pfill + \Acrobatmenu{FullScreen}{\addButton{\buttonwidth}{\tiny\@Panelfullscreenname}}\\\pfill + \Acrobatmenu{Close}{\addButton{\buttonwidth}{\tiny\@Panelclosename}}\\\pfill + \Acrobatmenu{Quit}{\addButton{\buttonwidth}{\tiny\@Panelquitname}}\\ +} +\fi +\def\PDFSCR@Warning#1{} +% +% \end{macrocode} +% \Finale +\endinput diff --git a/Master/texmf-dist/source/latex/jeopardy/jeopardy.ins b/Master/texmf-dist/source/latex/jeopardy/jeopardy.ins new file mode 100644 index 00000000000..5efb3e5cd4f --- /dev/null +++ b/Master/texmf-dist/source/latex/jeopardy/jeopardy.ins @@ -0,0 +1,63 @@ +%% +%% Copyright (C) 2004 by Scott Pakin +%% +%% This file may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.2 of this license +%% or (at your option) any later version. The latest version of this +%% license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.2 or later is part of all distributions of LaTeX version +%% 1999/12/01 or later. +%% + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/jeopardy} + +\preamble + +This is a generated file. + +Copyright (C) 2006 by Robert Marik + +This file may be distributed and/or modified under the conditions of +the LaTeX Project Public License, either version 1.2 of this license +or (at your option) any later version. The latest version of this +license is in: + + http://www.latex-project.org/lppl.txt + +and version 1.2 or later is part of all distributions of LaTeX version +1999/12/01 or later. + +\endpreamble + +\generate{\file{jeopardy.sty}{\from{jeopardy.dtx}{package}} + \file{jeopardy.cfg}{\from{jeopardy.dtx}{cfg}} +} + +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* jeopardy.sty *} +\Msg{* *} +\Msg{* *} +\Msg{* *} +\Msg{* You can insert your customizations into file *} +\Msg{* *} +\Msg{* jeopardy.cfg *} +\Msg{* *} +\Msg{* To produce the documentation run the file jeopardy.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/jeopardy/jeopardy.cfg b/Master/texmf-dist/tex/latex/jeopardy/jeopardy.cfg new file mode 100644 index 00000000000..de3c3bb379c --- /dev/null +++ b/Master/texmf-dist/tex/latex/jeopardy/jeopardy.cfg @@ -0,0 +1,35 @@ +%% +%% This is file `jeopardy.cfg', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% jeopardy.dtx (with options: `cfg') +%% +%% This is a generated file. +%% +%% Copyright (C) 2006 by Robert Marik +%% +%% This file may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.2 of this license +%% or (at your option) any later version. The latest version of this +%% license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.2 or later is part of all distributions of LaTeX version +%% 1999/12/01 or later. +%% +\ifx\NavigationPanel\undefined\else +\def\NavigationPanel{\normalsfcodes% + \href{\@urlid}{\addButton{\buttonwidth}{\tiny\@Panelhomepagename}}\\ \pfill + \hyperlink{GameBoard}{\addButton{\buttonwidth}{\tiny GameBoard}}\\ \pfill + \Acrobatmenu{FullScreen}{\addButton{\buttonwidth}{\tiny\@Panelfullscreenname}}\\\pfill + \Acrobatmenu{Close}{\addButton{\buttonwidth}{\tiny\@Panelclosename}}\\\pfill + \Acrobatmenu{Quit}{\addButton{\buttonwidth}{\tiny\@Panelquitname}}\\ +} +\fi +\def\PDFSCR@Warning#1{} +\endinput +%% +%% End of file `jeopardy.cfg'. diff --git a/Master/texmf-dist/tex/latex/jeopardy/jeopardy.sty b/Master/texmf-dist/tex/latex/jeopardy/jeopardy.sty new file mode 100644 index 00000000000..f6a32ac332e --- /dev/null +++ b/Master/texmf-dist/tex/latex/jeopardy/jeopardy.sty @@ -0,0 +1,686 @@ +%% +%% This is file `jeopardy.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% jeopardy.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2006 by Robert Marik +%% +%% This file may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.2 of this license +%% or (at your option) any later version. The latest version of this +%% license is in: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.2 or later is part of all distributions of LaTeX version +%% 1999/12/01 or later. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{jeopardy} +[2007/03/12 v1.1 .dtx jeopardy file] + +\ifx\shortquiz\undefined +\PackageWarning{Jeopardy}{!!!!!!!!!!!!! Load exerquiz package !!!!!!!!!!!} +\def\finito{\@@end} +\expandafter\finito\fi + +\ifx\dljsRegister\undefined +\PackageWarning{Jeopardy}{!!!!!!!!!!!!! Load dljslib package !!!!!!!!!!!} +\def\finito{\@@end} +\expandafter\finito\fi + +\if\eq@drivernum1%%% pdftex + \typeout{*** using pdftex option ***} + \def\JeopardyNoPeekCommand{ + \edef\ThisPage{/AA<> >>} + \global\pdfpageattr=\expandafter{\ThisPage}% + } +\else + \def\JeopardyNoPeekCommand{} + \typeout{!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} + \typeout{!!!!!!!! The package has been tested with pdflatex only.} + \typeout{!!!!!!!! Use pdflatex drivers in eforms.sty and exerquiz.sty.} + \typeout{!!!!!!!! On your own risk you can use other drivers + with *allowpeeking* option.} + \PackageWarning{Jeopardy}{No pdftex drivers for eforms and exerquiz} +\fi + +\RequirePackage{multido} + +\DeclareOption{czech}{ +\def\formessage{za} +\def\Scoremessage{Body} +\def\fairmsg{Nesidit! Odpovidate na jinou otazku!} +\def\who@answers@msg#1{Odpovida hrac #1} +\def\RightWrongMessages{ +aCM = new Array\ +( "Spravne! Jen tak dal!", + "Vyborne! Gratuluji!", + "Dobre! Pokracujte ve spravne nacate praci!", + "Ano, ano, ano, ano!", + "Spravne! Zkuste i tezsi otazky", + "Spravna odpoved!", + "Presne tak! Ziskavate dalsi body" +); +aEM = new Array\ +( "To neni spravne! Zkuste jinou otazku.", + "Chyba. Nehadejte!", + "Prosim! Prosim! Premyslejte nez odpovite!", + "Dalsi chyba! Hadanim se daleko nedostanete!", + "Ale ne! Kdepak! Body dolu.", + "Ne, zkuste jinou otazku.", + "Zase spatne! Bohuzel, vase konto se opet snizuje!" +);} +\def\NotAllowedMesssage{"Nesmite menit odpovedi!"} +\def\RightMessage{Spravne} +\def\WrongMessage{Spatne} +\def\JeopardyTitle{Tituln\'\i{} strana} +\def\ChampionMsg{Bravo! Mistr nad mistry!} +} + +\def\formessage{for} +\def\Scoremessage{Score} +\def\NotAllowedMesssage{"Changing your answer is not allowed!"} +\def\RightMessage{Right} +\def\WrongMessage{Wrong} +\def\fairmsg{Play Fair! Answer the question you have clicked!} +\def\who@answers@msg#1{Player #1} +\def\RightWrongMessages{ +aCM = new Array +( "That's Right! Way to go, Kiddo!", + "Wonderfully Done! Congrats!", + "Very Good! Keep up the good work!", + "Good, good, good, good!", + "Gee, you're smart! Try a harder one!", + "You're pretty sharp! Continuez, s'il vous pla\string\356t!", + "You're the tops! But wait...try another." +); +aEM = new Array +( "That's wrong! Sorry. Try Again.", + "Error again. Don't guess, I'm watching!", + "Please! Please! Work it out first!", + "An error has insinuated itself into your calculations. Recalibrate your thinking!", + "Bah! Humbug! You're haunted by Errors!", + "Try again. This time with order and method.", + "Wrong again! Use your little gray cells!" +); +} +\def\JeopardyTitle{Jeopardy Game} +\def\ChampionMsg{You are a Champion!} + +\newif\ifJeopardyNoPeeking +\JeopardyNoPeekingtrue +\DeclareOption{allowpeeking}{\JeopardyNoPeekingfalse} + +\newif\ifEvalOnBlur +\EvalOnBlurfalse +\DeclareOption{evalonblur}{\EvalOnBlurtrue} + +\newif\ifdouble \doublefalse +\def\JeopardyScaleFactor{1} +\DeclareOption{double}{\doubletrue\def\JeopardyScaleFactor{2}} + +\newif\ifoneplayer \oneplayertrue +\DeclareOption{twoplayers}{\oneplayerfalse} + +\newif\if@jeopardyFineTune \@jeopardyFineTunefalse +\DeclareOption{finetune}{\@jeopardyFineTunetrue} + +\DeclareOption{proofing}{\eq@proofingtrue \JeopardyNoPeekingfalse} +\definecolor{webgreen}{rgb}{0,.5,0} + +\newif\if@jeopardyBgPicture +\@jeopardyBgPicturefalse +\DeclareOption{bgpicture}{\@jeopardyBgPicturetrue \everyPushButton{\BC{}}} + +\newif\if@jeopardyPicture +\@jeopardyPicturefalse +\def\Picture{0} +\DeclareOption{picture}{\def\Picture{1}\def\formessage#1.{}% + \@jeopardyPicturetrue + \@jeopardyBgPicturetrue + \Celltoks{\BG{0 0 0}} + \everyPushButton{\BC{}} +} + +\newtoks\GrandPoohbahtoks +\newtoks\Scoretoks +\newtoks\Celltoks +\newtoks\Radiotoks +\newtoks\Playertoks + +\ProcessOptions +\if@jeopardyBgPicture +\RequirePackage{graphicx} +\fi + +\sqTurnOffAlerts + +\newcount \CatCount +\newcount \QuestCount +\newcount \NumberOfCategories +\newcount \NumberOfQuestions +\newcount \QuestCountA \QuestCountA=-1 +\newcount \AnswerCount +\newcount \OQuestionCount +\newcount \temporarycount +\newcounter{tempcounter} +\everyRespBoxMath{\BG{1 1 1}} +\everyRespBoxTxt{\BG{1 1 1}} + +\newlength \GrandPoohbahHeight +\GrandPoohbahHeight = 10pt + +\newlength\GameWidth +\newlength\GameHeight +\newlength\CellWidth +\newlength\CellHeight +\newlength\ScoreCellHeight +\def\SetGameWidth#1{\GameWidth=#1\relax + \CellWidth=\GameWidth + \ifnum\NumberOfCategories=0 + \divide\CellWidth by 10 + \else + \divide\CellWidth by \NumberOfCategories + \fi +} +\def\SetGameHeight#1{\GameHeight=#1\relax + \CellHeight=\GameHeight + \ifnum\NumberOfCategories=0 + \divide\CellHeight by 10 + \else + \divide\CellHeight by \NumberOfQuestions + \fi + \ScoreCellHeight=\CellHeight +} +\AtBeginDocument{ +\SetGameWidth{0.8\linewidth} +\SetGameHeight{0.6\textheight} +} +\newbox\JeopardyPictureBox +\def\JeopardyPictureFile{picture.jpg} +\def\insertJeopardyPicture{% + \setbox\JeopardyPictureBox=% + \hbox{\includegraphics[width=\GameWidth]{\JeopardyPictureFile}}% + \SetGameHeight{1.02\ht\JeopardyPictureBox}% + \dimen0=\CellHeight + \dimen1=0.5\dimen0 + \hbox to 0 pt{\vbox to 0 pt{\kern -\dimen1\box\JeopardyPictureBox\vss}\hss}% +} + +\if@jeopardyPicture + \def\CategoryNameDef#1#2{% + \setcounter{tempcounter}{#1}% + \expandafter\xdef\csname CategoryName#1\endcsname{% + \Alph{tempcounter}\strut}}% +\else + \def\CategoryNameDef#1#2{% + \expandafter\gdef\csname CategoryName#1\endcsname{#2}}% +\fi + +\newenvironment{category}[1]{% + \global\advance \CatCount by 1 + \global\QuestCount=0 + \immediate\write\@auxout{\string\CategoryNameDef{\the\CatCount}{#1}}% + } + {% + \ifnum \QuestCountA=-1 \global\QuestCountA=\QuestCount + \else + \ifnum\QuestCountA=\QuestCount + \else + \PackageWarning{Jeopardy} + {Bad number of questions in Category \the\CatCount.} + \fi + \fi + } +\newenvironment{question}{% + \global\advance \QuestCount by 1\relax + \AnswerCount=0 + \ifJeopardyNoPeeking + \JeopardyNoPeekCommand + \fi + \begin{center}% + \hypertarget{\the\QuestCount\the\CatCount}% + {\csname CategoryName\the\CatCount\endcsname{} % + \formessage{} \the\QuestCount00.}% + \end{center}% +\def\Ans##1{\par +\ifnum\AnswerCount=0 \vskip\medskipamount\fi +\advance\AnswerCount by 1% +\setcounter{tempcounter}{\the\AnswerCount}% +\leavevmode\hbox to 0 pt{% +\hss +\ifeq@proofing \def\temp{##1}\if\temp1$\color{webgreen}\bullet$ \fi\fi +\pushButton[\CA{\alph{tempcounter}}% + \A{\JS{useranswer(##1,\the\QuestCount,\the\CatCount);}}]% + {{Answer\the\AnswerCount-\the\QuestCount-\the\CatCount}}% + {1.3em}{1.3em}% +\hskip1em}% +\leftskip2em}% +\begin{oQuestion}{Q\the\QuestCount\the\CatCount}% +}{\par\end{oQuestion}\newpage} + +\AtEndDocument{ +\immediate\write\@auxout{\string\global\string\NumberOfCategories=\the\CatCount} +\immediate\write\@auxout{\string\global\string\NumberOfQuestions=\the\QuestCount} +} +\ifEvalOnBlur +\def\@@RespBoxMathActions +{% + \AA{ + \AAFormat{\eqFormatArg}% + \AAOnFocus{\JS{var retn = null;}}% + \AAOnBlur{\JS{retn = \processJSfunc(\rbArgs,\compareJSfunc); + if (event.shift){ + if (retn==true) {useranswer(1,\the\QuestCount,\the\CatCount); } + else {if (retn==false) {useranswer(0,\the\QuestCount,\the\CatCount);} + else {app.alert("Probably a syntax error somewhere.");}}} + else + {app.alert("Exit the field with Shift+Click."); + this.getField("obj.\oField.\thequestionno").setFocus(); + }} + } + } +} +\def\@@RespBoxTxtActions +{% + \AA{\AAOnBlur{\JS{retn = ProcRespTxt(\rbTxtAlt); + if (event.shift){ + if (retn==true) {useranswer(1,\the\QuestCount,\the\CatCount); } + else {if (retn==false) {useranswer(0,\the\QuestCount,\the\CatCount);} + else {app.alert("Probably a syntax error somewhere.");}}} + else + {app.alert("Exit the field with Shift+Click."); + this.getField("obj.\oField.\thequestionno").setFocus(); + }} }% + \AAOnFocus{\JS{var retn = null;}} + } +} +\def\jsRespBox[#1]#2{% + \def\compareJSfunc{#1}\def\processJSfunc{#2}% + \ifeq@proofing\makebox[0pt][l]{\space\math@correctAnswer}\fi + \eq@TextField % send to the driver-dependent macro + \ \pushButton{button}{10bp}{10bp}}% +\def\eq@@RespBoxTxt{% + \ifeq@proofing\makebox[0pt][l]{\space\txt@correctAnswer}\fi + \eq@TextField + \ \pushButton{button}{10bp}{10bp}}% +\else +\def\@@RespBoxMathActions +{% + \AA{\AAKeystroke{if(event.willCommit) { + retn = \processJSfunc(\rbArgs,\compareJSfunc); + if (retn==true) {useranswer(1,\the\QuestCount,\the\CatCount); } + else {if (retn==false) {useranswer(0,\the\QuestCount,\the\CatCount);} + else {app.alert("Probably a syntax error somewhere.");}}} + }% + \AAFormat{\eqFormatArg}% + \AAOnFocus{\JS{var retn = null;}}% + }% +}% +\def\@@RespBoxTxtActions +{% + \AA{\AAKeystroke{if(event.willCommit) { + retn = ProcRespTxt(\rbTxtAlt); + if (retn==true) {useranswer(1,\the\QuestCount,\the\CatCount); } + else {if (retn==false) {useranswer(0,\the\QuestCount,\the\CatCount);} + else {app.alert("Probably a syntax error somewhere.");}}} + }% + \AAOnFocus{\JS{var retn = null;}} + } +} +\fi %%% \ifEvalOnBlur +\newtoks\everyCategoryHead +\everyCategoryHead{}% +\def\MakeGameBoard{% + \begin{center}% + \hypertarget{GameBoard}{\JeopardyTitle}% + + \edef\temp{\noexpand\textField[\noexpand\Ff{\noexpand\FfReadOnly}% + \noexpand\F{\noexpand\FHidden}% + \noexpand\Q{1}% + \noexpand\textSize{0}% + \noexpand\V{\ChampionMsg}\the\GrandPoohbahtoks% + ]{GrandPoohbah}{\textwidth}{\the\GrandPoohbahHeight}}% + \temp + + \leavevmode + \ifnum\NumberOfQuestions>0% + \ifnum\NumberOfCategories>0% + \multido{\i=1+1}{\NumberOfCategories}{\leavevmode + \vtop{\hsize=\CellWidth \centering + \the\everyCategoryHead\csname CategoryName\i\endcsname }}\\% + \leavevmode + \if@jeopardyBgPicture\insertJeopardyPicture\fi + \Multido{\i=1+1}{\NumberOfQuestions}% + {\edef\j{\i}% + \if@jeopardyPicture\hbox to 0 pt{\hss$\j$ }\fi + {\Multido{\i=1+1}{\NumberOfCategories}{% + \edef\temp{\noexpand\textField[% + \noexpand\Ff{\noexpand\FfReadOnly}% + \noexpand\S{S}% + \noexpand\Q{1}% + \the\Celltoks]{Field\j\i}{\CellWidth}{\CellHeight}}% + \hbox to 0 pt{\temp\hss}% + \if@jeopardyPicture + \pushButton[\S{B}% + \A{\JS{kliknuti(\j,\i);}}]{Button\j\i}{\CellWidth}{\CellHeight}% + \else + \pushButton[\S{B}\CA{\j00}% + \A{\JS{kliknuti(\j,\i);}}]{Button\j\i}{\CellWidth}{\CellHeight}% + \fi + }\\\leavevmode}% + }% + \fi + \fi + \par + \AfterGameBoard + \if@jeopardyPicture + \smallskip\leavevmode + \hfill\pushButton[\A{\JS{hideall();}}\CA{Solution}]{Solution}{1.5cm}{12bp} + \else + \@makeScoreField + \fi + \end{center}% + \newpage +}% + +\def\@makeScoreField +{ + \ifoneplayer + \dimen0=\NumberOfCategories\CellWidth + \edef\temp{\noexpand\textField[\noexpand\V{}\noexpand\textSize{0} + \noexpand\Q{1} + \noexpand\Ff{\noexpand\FfReadOnly} + \the\Scoretoks + ]{Total.1}{\dimen0}{\ScoreCellHeight}}% + \temp + \else%two players + \dimen0=\NumberOfCategories\CellWidth + \dimen1=0.5\dimen0 + \edef\temp{\noexpand\textField[\noexpand\V{}\noexpand\textSize{0} + \noexpand\Q{1} + \noexpand\Ff{\noexpand\FfReadOnly} + \the\Scoretoks + ]{Total.1}{\dimen1}{\ScoreCellHeight}}% + \temp + \edef\temp{\noexpand\textField[\noexpand\V{}\noexpand\textSize{0} + \noexpand\Q{1} + \noexpand\Ff{\noexpand\FfReadOnly} + \the\Scoretoks + ]{Total.2}{\dimen1}{\ScoreCellHeight}}% + \temp\\ + \hbox to \hsize{\hss\hbox to \dimen0 + {\hss + \radioButton[\V{1}\Ff{\FfNoToggleToOff}\A{\JS{player=1;this.getField("whoanswers").value= "\who@answers@msg{A}";}}]{radio}{12pt}{12pt}{1} + \hss + \hbox % to 0 pt + {\hss + \edef\temp{% + \noexpand\textField[\noexpand\Q{1}\noexpand\Ff{\noexpand\FfReadOnly}\noexpand\V{\who@answers@msg{A}}\the\Playertoks] + {whoanswers}{0.6\dimen0}{10pt}}\temp\hss + } + \hss + \radioButton[\Ff{\FfNoToggleToOff}\A{\JS{player=2;this.getField("whoanswers").value= "\who@answers@msg{B}";}}]{radio}{12pt}{12pt}{2} + \hss}\hss + }% + \fi +} + +\let\AfterGameBoard\relax +\edef\Goal{45*(1+numQuestions)*numQuestions*numCategories*\JeopardyScaleFactor} + +\def\update@who@answers{ +if (player==1) this.getField("whoanswers").value= "\who@answers@msg{A}"; +else this.getField("whoanswers").value= "\who@answers@msg{B}"; +} + +\edef\JeopardyUpdatescore +{ + \ifoneplayer + this.getField("Total.1").value="\Scoremessage: "+TotalScoreA; + if (TotalScoreA>0) + this.getField("Total.1").textColor=\correctColor; + else this.getField("Total.1").textColor=\wrongColor; + \else + this.getField("Total.1").value="\Scoremessage: "+TotalScoreA; + if (TotalScoreA>0) + this.getField("Total.1").textColor=\correctColor; + else this.getField("Total.1").textColor=\wrongColor; + this.getField("Total.2").value="\Scoremessage: "+TotalScoreB; + if (TotalScoreB>0) + this.getField("Total.2").textColor=\correctColor; + else this.getField("Total.2").textColor=\wrongColor; + if (player==1) {player=2; this.getField("radio").value=2;} + else {player=1; this.getField("radio").value=1}; + \update@who@answers + \fi +} + +\begin{insDLJS}[dljslibRMb]{dljsliRMb}{RMb} +numQuestions = \the\NumberOfQuestions; +numCategories = \the\NumberOfCategories; +var player=1; +RowClick=0; +ColClick=0; +SaveRowClick=0; +SaveColClick=0; +totalQuestions = numQuestions * numCategories; +var QAed =""; +for (var i=0; i< totalQuestions; i++)QAed +="0"; +nEM = 0; +nCM = 0; +var submitted = 0; +TotalScoreA = 0; +TotalScoreB = 0; +NumQAed = 0; +Goal = \Goal; +\RightWrongMessages +var Picture=\Picture; +var JeopardyPass=0; + +function kontrola(row,col) +{ + if (NumQAed 6) nCM=0; + } + else + { + if (Picture!=1) + { + this.getField("Field"+row+col).textColor=\wrongColor; + this.getField("Field"+row+col).value="\WrongMessage"; + } + if (player==1) + TotalScoreA -= \JeopardyScaleFactor*row*100; + else + TotalScoreB -= \JeopardyScaleFactor*row*100; + app.alert(aEM[nEM],3); + if (++nEM > 6) nEM=0; + } + if ((++NumQAed>=totalQuestions) && ((TotalScoreA+TotalScoreB)>=Goal)) + { + if (Picture!=1) this.getField("GrandPoohbah").hidden=false; + } + } + else + app.alert(\NotAllowedMesssage); + gotoNamedDest("GameBoard"); + if (Picture!=1) + { + \JeopardyUpdatescore + } +}; +function hideall(){ + NumQAed=totalQuestions; + var i=0; + var j=1; + if (JeopardyPass==0) + { + JeopardyPass=1; + for (var i=0; i< numQuestions; i++) + { + for (var j=0; j< numCategories; j++) + { + row=i+1; col=j+1; + this.getField("Field"+row+col).hidden=true; + this.getField("Button"+row+col).hidden=true; + } + } + } + else + this.getField("GrandPoohbah").hidden=false; +} +function notifyField(success, flag, fieldname) { + return success; +} +\end{insDLJS} +\newlength\AditionalShift +\AditionalShift=0pt + +\if@jeopardyFineTune +\newlength \finetunelength +\newlength \finetuneCellWidth +\newlength \finetuneCellHeight +\finetunelength=1pt + +\def\insertJeopardyPicture{% + \dimen1=\finetunelength + \multiply\dimen1 by \NumberOfCategories + \advance\dimen1 by \GameWidth + \setbox\JeopardyPictureBox=% + \hbox{\includegraphics[width=\dimen1]{\JeopardyPictureFile}}% + \dimen1=\finetunelength + \multiply\dimen1 by \NumberOfQuestions + \dimen2=\ht\JeopardyPictureBox + \advance\dimen2 by -1.9\dimen1 + \SetGameHeight{\dimen2}% + \dimen0=\CellHeight + \divide\dimen0 by 2 + \hbox to 0 pt{\vbox to 0 pt{\kern -\dimen0\kern-\AditionalShift + \box\JeopardyPictureBox\vss}\hss}% +} + +\def\MakeGameBoard{% + \begin{center}% + \fboxsep=\finetunelength + \fboxrule=0pt + \hypertarget{GameBoard}{\JeopardyTitle}% + + \edef\temp{\noexpand\textField[\noexpand\Ff{\noexpand\FfReadOnly}% + \noexpand\F{\noexpand\FHidden}% + \noexpand\Q{1}% + \noexpand\textSize{0}% + \noexpand\V{\ChampionMsg}\the\GrandPoohbahtoks% + ]{GrandPoohbah}{\textwidth}{\the\GrandPoohbahHeight}}% + \temp + + \leavevmode + \ifnum\NumberOfQuestions>0% + \ifnum\NumberOfCategories>0% + \multido{\i=1+1}{\NumberOfCategories}{\leavevmode + \vtop{\hsize=\CellWidth \centering + \the\everyCategoryHead\csname CategoryName\i\endcsname }}\\% + \leavevmode + \if@jeopardyBgPicture\insertJeopardyPicture\fi + \finetuneCellWidth=\CellWidth + \advance\finetuneCellWidth by -\finetunelength + \finetuneCellHeight=\CellHeight + \vtop{% + \Multido{\i=1+1}{\NumberOfQuestions}% + {\edef\j{\i}% + \hbox{% + \if@jeopardyPicture\hbox to 0 pt{\hss$\j$ }\fi + \Multido{\i=1+1}{\NumberOfCategories}{% + \edef\temp{\noexpand\textField[% + \noexpand\Ff{\noexpand\FfReadOnly}% + \noexpand\S{S}% + \noexpand\Q{1}% + \the\Celltoks]{Field\j\i}{\finetuneCellWidth}{\finetuneCellHeight}}% + \fbox{\hbox to 0 pt{\temp\hss}% + \if@jeopardyPicture + \pushButton[\S{B}% + \A{\JS{kliknuti(\j,\i);}}]{Button\j\i}{\finetuneCellWidth}{\finetuneCellHeight}% + \else + \pushButton[\S{B}\CA{\j00}% + \A{\JS{kliknuti(\j,\i);}}]{Button\j\i}{\finetuneCellWidth}{\finetuneCellHeight}% + \fi% + }}}\kern-1pt + }}% + \fi %%% \ifnum\NumberOfQuestions>0% + \fi %%% \ifnum\NumberOfCategories>0% + \par + \AfterGameBoard + \if@jeopardyPicture + \smallskip\leavevmode + \hfill\pushButton[\A{\JS{hideall();}}\CA{Solution}]{Solution}{1.5cm}{12bp} + \else%not picture + \@makeScoreField + \fi + \end{center}% + \newpage +}% +\fi + +\IfFileExists{jeopardy.cfg}{% + \typeout{---------------------------------------------------} + \typeout{jeopardy: Configuration from the file jeopardy.cfg.} + \typeout{---------------------------------------------------} + \input jeopardy.cfg}{} +\endinput +%% +%% End of file `jeopardy.sty'. diff --git a/Master/texmf-dist/tpm/jeopardy.tpm b/Master/texmf-dist/tpm/jeopardy.tpm new file mode 100644 index 00000000000..0b4e77f4b9c --- /dev/null +++ b/Master/texmf-dist/tpm/jeopardy.tpm @@ -0,0 +1,53 @@ + + + + jeopardy + Package + 2007/03/09 10:41:00 + + karl + The jeopardy package. + + + 2280905 + + + +texmf-dist/tex/latex/jeopardy/jeopardy.cfg +texmf-dist/tex/latex/jeopardy/jeopardy.sty +texmf-dist/tpm/jeopardy.tpm + + +texmf-dist/doc/latex/jeopardy/README +texmf-dist/doc/latex/jeopardy/example/aleq.jpg +texmf-dist/doc/latex/jeopardy/example/blackpanel.tex +texmf-dist/doc/latex/jeopardy/example/game1-two.pdf +texmf-dist/doc/latex/jeopardy/example/game1-two.tex +texmf-dist/doc/latex/jeopardy/example/game1.pdf +texmf-dist/doc/latex/jeopardy/example/game1.tex +texmf-dist/doc/latex/jeopardy/example/game1a.pdf +texmf-dist/doc/latex/jeopardy/example/game1a.tex +texmf-dist/doc/latex/jeopardy/example/game2.pdf +texmf-dist/doc/latex/jeopardy/example/game2.tex +texmf-dist/doc/latex/jeopardy/example/game2a.pdf +texmf-dist/doc/latex/jeopardy/example/game2a.tex +texmf-dist/doc/latex/jeopardy/example/game3.pdf +texmf-dist/doc/latex/jeopardy/example/game3.tex +texmf-dist/doc/latex/jeopardy/example/game4.pdf +texmf-dist/doc/latex/jeopardy/example/game4.tex +texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.pdf +texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.tex +texmf-dist/doc/latex/jeopardy/example/joke.jpg +texmf-dist/doc/latex/jeopardy/example/logo-bc.jpg +texmf-dist/doc/latex/jeopardy/example/pdfscreen.cfg +texmf-dist/doc/latex/jeopardy/example/picture.jpg +texmf-dist/doc/latex/jeopardy/jeopardy.pdf + + +texmf-dist/source/latex/jeopardy/jeopardy.dtx +texmf-dist/source/latex/jeopardy/jeopardy.ins + + Package/jeopardy + + + diff --git a/Master/texmf/lists/jeopardy b/Master/texmf/lists/jeopardy new file mode 100644 index 00000000000..4b5f187a157 --- /dev/null +++ b/Master/texmf/lists/jeopardy @@ -0,0 +1,31 @@ +texmf-dist/doc/latex/jeopardy/README +texmf-dist/doc/latex/jeopardy/example/aleq.jpg +texmf-dist/doc/latex/jeopardy/example/blackpanel.tex +texmf-dist/doc/latex/jeopardy/example/game1-two.pdf +texmf-dist/doc/latex/jeopardy/example/game1-two.tex +texmf-dist/doc/latex/jeopardy/example/game1.pdf +texmf-dist/doc/latex/jeopardy/example/game1.tex +texmf-dist/doc/latex/jeopardy/example/game1a.pdf +texmf-dist/doc/latex/jeopardy/example/game1a.tex +texmf-dist/doc/latex/jeopardy/example/game2.pdf +texmf-dist/doc/latex/jeopardy/example/game2.tex +texmf-dist/doc/latex/jeopardy/example/game2a.pdf +texmf-dist/doc/latex/jeopardy/example/game2a.tex +texmf-dist/doc/latex/jeopardy/example/game3.pdf +texmf-dist/doc/latex/jeopardy/example/game3.tex +texmf-dist/doc/latex/jeopardy/example/game4.pdf +texmf-dist/doc/latex/jeopardy/example/game4.tex +texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.pdf +texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.tex +texmf-dist/doc/latex/jeopardy/example/joke.jpg +texmf-dist/doc/latex/jeopardy/example/logo-bc.jpg +texmf-dist/doc/latex/jeopardy/example/pdfscreen.cfg +texmf-dist/doc/latex/jeopardy/example/picture.jpg +texmf-dist/doc/latex/jeopardy/jeopardy.pdf +texmf-dist/source/latex/jeopardy/jeopardy.dtx +texmf-dist/source/latex/jeopardy/jeopardy.ins +texmf-dist/tex/latex/jeopardy/jeopardy.cfg +texmf-dist/tex/latex/jeopardy/jeopardy.sty +texmf-dist/tpm/jeopardy.tpm + +texmf/lists/jeopardy diff --git a/Master/texmf/tpm/collection-games.tpm b/Master/texmf/tpm/collection-games.tpm index 7f41eff3e65..4a6985932e8 100644 --- a/Master/texmf/tpm/collection-games.tpm +++ b/Master/texmf/tpm/collection-games.tpm @@ -25,6 +25,7 @@ Setups for typesetting various board games, including chess + -- cgit v1.2.3