summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-03-18 23:47:52 +0000
committerKarl Berry <karl@freefriends.org>2007-03-18 23:47:52 +0000
commit62a35122f20906892eb4fb29ba3d402da6fe4a3d (patch)
tree97aa095aee5f5d440a8fa9b8003b088114dff144 /Master/texmf-dist
parentc3a905b7d1077a53df18bf3eb2c8b037474d958d (diff)
new package jeopardy (9mar07)
git-svn-id: svn://tug.org/texlive/trunk@4057 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/README19
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/aleq.jpgbin0 -> 53691 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/blackpanel.tex26
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game1-two.pdfbin0 -> 98123 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game1-two.tex77
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game1.pdfbin0 -> 96611 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game1.tex78
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game1a.pdfbin0 -> 150100 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game1a.tex72
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game2.pdfbin0 -> 260174 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game2.tex301
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game2a.pdfbin0 -> 322298 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game2a.tex301
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game3.pdfbin0 -> 285874 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game3.tex434
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game4.pdfbin0 -> 320544 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/game4.tex181
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.pdfbin0 -> 284715 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.tex425
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/joke.jpgbin0 -> 67609 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/logo-bc.jpgbin0 -> 50346 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/pdfscreen.cfg42
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/example/picture.jpgbin0 -> 53277 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jeopardy/jeopardy.pdfbin0 -> 130603 bytes
-rw-r--r--Master/texmf-dist/source/latex/jeopardy/jeopardy.dtx1006
-rw-r--r--Master/texmf-dist/source/latex/jeopardy/jeopardy.ins63
-rw-r--r--Master/texmf-dist/tex/latex/jeopardy/jeopardy.cfg35
-rw-r--r--Master/texmf-dist/tex/latex/jeopardy/jeopardy.sty686
-rw-r--r--Master/texmf-dist/tpm/jeopardy.tpm53
29 files changed, 3799 insertions, 0 deletions
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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/aleq.jpg
Binary files 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/game1-two.pdf
Binary files 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/game1.pdf
Binary files 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/game1a.pdf
Binary files 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/game2.pdf
Binary files 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 "$a<b$ if and only if $f(a)<f(b)$" is the property of
+\Ans0 even functions
+\Ans0 one-to-one functions
+\Ans0 continuous functions
+\Ans1 increasing functions
+\Ans0 none of them
+\end{question}
+
+\end{category}
+
+
+\begin{category}{Functions}
+
+\begin{question}
+How many points of inflection is on the graph of the function $y=\sin x$ in
+the open interval $(0,2\pi)$
+\Ans0 none
+\Ans1 one
+\Ans0 two
+\Ans0 three
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+Find points of discontinuity of the function $y=\frac {x-4}{(x-2)\ln x}$
+\Ans0 none
+\Ans0 $0$
+\Ans0 $0$, $1$
+\Ans1 $0$, $1$, $2$
+\Ans0 $0$, $2$
+\Ans0 $0$, $1$, $4$
+\Ans0 $0$, $4$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+Let $f$ be a function and $f^{-1}$ be its inverse. Then $f^{-1}\bigl(f(x)\bigr)=$
+\Ans0 $0$
+\Ans0 $1$
+\Ans1 $x$
+\Ans0 $f(x)$
+\Ans0 $f^{-1}(x)$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\arcsin(\sin x)=x$ for every $x\in\mathbf{R}$
+\Ans0 Yes
+\Ans1 No
+\end{question}
+
+\end{category}
+
+
+\begin{category}{Limits}
+
+\begin{question}
+$\lim_{x\to-\infty} \arctg x=$
+\Ans0 $0$
+\Ans0 $\frac\pi2$
+\Ans1 $-\frac\pi2$
+\Ans0 $\infty$
+\Ans0 $-\infty$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\lim_{x\to\infty}\sin x=$
+\Ans0 $1$
+\Ans0 $-1$
+\Ans1 does not exist
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\lim_{x\to\infty}\frac{2x^3+x^2+4}{x^2-x+2}=$
+\Ans1 $\infty$
+\Ans0 $2$
+\Ans0 $0$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\lim_{x\to 0^+}\frac{e^{1/x}(x-1)}{x}$
+\Ans0 $0$
+\Ans0 $1$
+\Ans0 $e$
+\Ans0 $\infty$
+\Ans0 $-1$
+\Ans0 $-e$
+\Ans1 $-\infty$
+\Ans0 none of them
+\end{question}
+
+\end{category}
+
+\begin{category}{Derivative}
+
+
+\begin{question}
+$\left(\frac 1{\sqrt[3]x}\right)'=$
+\Ans0 $\frac 13 x^{-2/3}$
+\Ans0 $-\frac 13 x^{-2/3}$
+%\Ans0 $\frac 13 x^{1/3}$
+\Ans0 $-\frac 13 x^{1/3}$
+\Ans0 $\frac 13 x^{-4/3}$
+\Ans1 $-\frac 13 x^{-4/3}$
+\Ans0 none of them
+\end{question}
+
+
+\begin{question}
+$(x-x\ln x)'=$
+\Ans0 $\ln x$
+\Ans1 $-\ln x$
+\Ans0 $1+\ln x$
+\Ans0 $1-\ln x$
+\Ans0 $0$
+\Ans0 $1-\frac 1x$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\left(x^2e^{x^2}\right)'$
+\Ans0 $2xe^{2x}$
+\Ans0 $2xe^{x^2}2x$
+\Ans0 $2xe^{x^2}+x^2e^{x^2}$
+\Ans1 $2xe^{x^2}+x^2e^{x^2}2x$
+\Ans0 $2xe^{x^2}2x+x^2e^{x^2}2x$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+The definition of the derivative of the function $f$ at the point $a$ is
+\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 none of them
+\end{question}
+
+\end{category}
+
+\everyRespBoxMath{\BG{1 1 1}}
+\begin{category}{Evaluation of derivatives}
+ \begin{question}$(x^2+1)'=$
+ \RespBoxMath{2x}{3}{0.001}{[1,5]}
+ \end{question}
+ \begin{question}$(xe^x)'=$
+ \RespBoxMath{(x+1)e^x}{3}{0.001}{[1,5]}
+ \end{question}
+ \begin{question}$\ln(\sin x)=$
+ \RespBoxMath{cos(x)/sin(x)}{3}{0.001}{[1,2]}
+ \end{question}
+ \begin{question}$(xe^{-x})'=$
+ \RespBoxMath{(1-x)e^{-x}}{3}{0.001}{[1,5]}
+ \end{question}
+\end{category}
+
+
+
+\begin{category}{Theory}
+
+\begin{question} By theorem of Bolzano, the polynomial $y=x^3+2x+4$ has zero on
+\Ans0 $(0,1)$
+\Ans0 $(1,2)$
+\Ans0 $(2,3)$
+\Ans0 $(-1,0)$
+\Ans1 $(-2,-1)$
+\Ans0 $(-3,-2)$
+\Ans0 none of them
+\end{question}
+
+
+\begin{question}
+Let $a\in Im(f)$. Then the solution of the equation $f(x)=a$ exists. This
+solution is unique if and only if
+\Ans1 $f$ is one-to-one
+\Ans0 $f$ is increasing
+\Ans0 $f$ continuous
+\Ans0 $f$ differentiable
+\Ans0 none of them
+\end{question}
+
+
+\begin{question}
+If the function has a derivative at the point $x=a$, then it is
+\Ans0 increasing at $a$.
+\Ans0 decreasing at $a$.
+\Ans0 one-to-one at $a$.
+\Ans1 continuous at $a$.
+\Ans0 undefined at $a$.
+\end{question}
+
+\begin{question}
+If both $y(a)=y'(a)=y''(a)=0$, then the function
+\Ans0 has local maximum at $a$.
+\Ans0 has local minimum at $a$.
+\Ans0 has point of inflection at $a$.
+\Ans1 any of these possibilites may be true, we need more informations.
+\end{question}
+
+\end{category}
+
+
+\end{document}
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
+
+
diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game2a.pdf b/Master/texmf-dist/doc/latex/jeopardy/example/game2a.pdf
new file mode 100644
index 00000000000..4f349af6366
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/game2a.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game2a.tex b/Master/texmf-dist/doc/latex/jeopardy/example/game2a.tex
new file mode 100644
index 00000000000..a3c1ff964c2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/game2a.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.02in}{0.02in}{0.02in}
+\screensize{3in}{4in}
+\urlid{www.mendelu.cz/user/marik}
+\backgroundcolor{black}
+\color{white}
+\def\correctColor{color.green}
+\def\wrongColor{color.red}
+
+\usepackage[picture,finetune]{jeopardy}
+\def\JeopardyPictureFile{joke.jpg}
+
+\def\ChampionMsg{Have a fun with math!}
+\GrandPoohbahtoks{\textColor{1 1 0 rg}\textSize{0}}
+
+\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}
+
+
+\AditionalShift=5pt
+\begin{document}
+%\CellHeight=24bp
+
+\Celltoks{\BG{1 1 0.8}\textSize{0}\BC{1 1 0.8}\W{0}}
+\SetGameWidth{0.7\linewidth}
+\everyPushButton{\S{I}\BC{}}
+
+\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 "$a<b$ if and only if $f(a)<f(b)$" is the property of
+\Ans0 even functions
+\Ans0 one-to-one functions
+\Ans0 continuous functions
+\Ans1 increasing functions
+\Ans0 none of them
+\end{question}
+
+\end{category}
+
+
+\begin{category}{Functions}
+
+\begin{question}
+How many points of inflection is on the graph of the function $y=\sin x$ in
+the open interval $(0,2\pi)$
+\Ans0 none
+\Ans1 one
+\Ans0 two
+\Ans0 three
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+Find points of discontinuity of the function $y=\frac {x-4}{(x-2)\ln x}$
+\Ans0 none
+\Ans0 $0$
+\Ans0 $0$, $1$
+\Ans1 $0$, $1$, $2$
+\Ans0 $0$, $2$
+\Ans0 $0$, $1$, $4$
+\Ans0 $0$, $4$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+Let $f$ be a function and $f^{-1}$ be its inverse. Then $f^{-1}\bigl(f(x)\bigr)=$
+\Ans0 $0$
+\Ans0 $1$
+\Ans1 $x$
+\Ans0 $f(x)$
+\Ans0 $f^{-1}(x)$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\arcsin(\sin x)=x$ for every $x\in\mathbf{R}$
+\Ans0 Yes
+\Ans1 No
+\end{question}
+
+\end{category}
+
+
+\begin{category}{Limits}
+
+\begin{question}
+$\lim_{x\to-\infty} \arctg x=$
+\Ans0 $0$
+\Ans0 $\frac\pi2$
+\Ans1 $-\frac\pi2$
+\Ans0 $\infty$
+\Ans0 $-\infty$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\lim_{x\to\infty}\sin x=$
+\Ans0 $1$
+\Ans0 $-1$
+\Ans1 does not exist
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\lim_{x\to\infty}\frac{2x^3+x^2+4}{x^2-x+2}=$
+\Ans1 $\infty$
+\Ans0 $2$
+\Ans0 $0$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\lim_{x\to 0^+}\frac{e^{1/x}(x-1)}{x}$
+\Ans0 $0$
+\Ans0 $1$
+\Ans0 $e$
+\Ans0 $\infty$
+\Ans0 $-1$
+\Ans0 $-e$
+\Ans1 $-\infty$
+\Ans0 none of them
+\end{question}
+
+\end{category}
+
+\begin{category}{Derivative}
+
+
+\begin{question}
+$\left(\frac 1{\sqrt[3]x}\right)'=$
+\Ans0 $\frac 13 x^{-2/3}$
+\Ans0 $-\frac 13 x^{-2/3}$
+%\Ans0 $\frac 13 x^{1/3}$
+\Ans0 $-\frac 13 x^{1/3}$
+\Ans0 $\frac 13 x^{-4/3}$
+\Ans1 $-\frac 13 x^{-4/3}$
+\Ans0 none of them
+\end{question}
+
+
+\begin{question}
+$(x-x\ln x)'=$
+\Ans0 $\ln x$
+\Ans1 $-\ln x$
+\Ans0 $1+\ln x$
+\Ans0 $1-\ln x$
+\Ans0 $0$
+\Ans0 $1-\frac 1x$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+$\left(x^2e^{x^2}\right)'$
+\Ans0 $2xe^{2x}$
+\Ans0 $2xe^{x^2}2x$
+\Ans0 $2xe^{x^2}+x^2e^{x^2}$
+\Ans1 $2xe^{x^2}+x^2e^{x^2}2x$
+\Ans0 $2xe^{x^2}2x+x^2e^{x^2}2x$
+\Ans0 none of them
+\end{question}
+
+\begin{question}
+The definition of the derivative of the function $f$ at the point $a$ is
+\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 none of them
+\end{question}
+
+\end{category}
+
+\everyRespBoxMath{\BG{1 1 1}}
+\begin{category}{Evaluation of derivatives}
+ \begin{question}$(x^2+1)'=$
+ \RespBoxMath{2x}{3}{0.001}{[1,5]}
+ \end{question}
+ \begin{question}$(xe^x)'=$
+ \RespBoxMath{(x+1)e^x}{3}{0.001}{[1,5]}
+ \end{question}
+ \begin{question}$\ln(\sin x)=$
+ \RespBoxMath{cos(x)/sin(x)}{3}{0.001}{[1,2]}
+ \end{question}
+ \begin{question}$(xe^{-x})'=$
+ \RespBoxMath{(1-x)e^{-x}}{3}{0.001}{[1,5]}
+ \end{question}
+\end{category}
+
+
+
+\begin{category}{Theory}
+
+\begin{question} By theorem of Bolzano, the polynomial $y=x^3+2x+4$ has zero on
+\Ans0 $(0,1)$
+\Ans0 $(1,2)$
+\Ans0 $(2,3)$
+\Ans0 $(-1,0)$
+\Ans1 $(-2,-1)$
+\Ans0 $(-3,-2)$
+\Ans0 none of them
+\end{question}
+
+
+\begin{question}
+Let $a\in Im(f)$. Then the solution of the equation $f(x)=a$ exists. This
+solution is unique if and only if
+\Ans1 $f$ is one-to-one
+\Ans0 $f$ is increasing
+\Ans0 $f$ continuous
+\Ans0 $f$ differentiable
+\Ans0 none of them
+\end{question}
+
+
+\begin{question}
+If the function has a derivative at the point $x=a$, then it is
+\Ans0 increasing at $a$.
+\Ans0 decreasing at $a$.
+\Ans0 one-to-one at $a$.
+\Ans1 continuous at $a$.
+\Ans0 undefined at $a$.
+\end{question}
+
+\begin{question}
+If both $y(a)=y'(a)=y''(a)=0$, then the function
+\Ans0 has local maximum at $a$.
+\Ans0 has local minimum at $a$.
+\Ans0 has point of inflection at $a$.
+\Ans1 any of these possibilites may be true, we need more informations.
+\end{question}
+
+\end{category}
+
+
+\end{document}
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
+
+
diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game3.pdf b/Master/texmf-dist/doc/latex/jeopardy/example/game3.pdf
new file mode 100644
index 00000000000..81c461527cf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/game3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jeopardy/example/game3.tex b/Master/texmf-dist/doc/latex/jeopardy/example/game3.tex
new file mode 100644
index 00000000000..595c02f3d55
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/game3.tex
@@ -0,0 +1,434 @@
+\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,twoplayers,%bgpicture,
+finetune
+]{jeopardy}
+
+\everyRadioButton{%\BG{1 1 1}
+\BC{1 1 0} \textColor{0 1 0 rg}
+}
+
+\Playertoks{\BC{1 0 0}\textColor{0 1 0 rg}}
+
+\let\phi\varphi
+\def\title{Matematika I}
+\backgroundcolor{black}
+%\backgroundcolor{blue}
+\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)$ 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/game4.pdf
Binary files 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/jeopardy-CZ.pdf
Binary files 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/joke.jpg
Binary files 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/logo-bc.jpg
Binary files 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/example/picture.jpg
Binary files 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
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jeopardy/jeopardy.pdf
Binary files 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 <marik@mendelu.cz>
+% -------------------------------------------------------
+%
+% 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}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{jeopardy}
+%<*package>\ProvidesPackage{jeopardy}
+[2007/03/12 v1.1 .dtx jeopardy file]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{jeopardy.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \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<</O<</S/JavaScript/JS(kontrola(
+ \the\QuestCount,\the\CatCount);)>> >>}
+ \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<totalQuestions)
+ {
+ var p = numQuestions*(col-1)+row-1;
+ if (row!=RowClick) gotoNamedDest("GameBoard");
+ if (col!=ColClick) gotoNamedDest("GameBoard");
+ RowClick=0;
+ ColClick=0;
+ }
+};
+
+function kliknuti(row,col)
+{RowClick=row;
+ColClick=col;
+SaveColClick=col;
+SaveRowClick=row;
+gotoNamedDest(row+""+col);
+};
+
+% \end{macrocode}
+% This function notifies the user. If the option |picture| is active,
+% it also and hides the field on Gameboard in the case of correct
+% answer.
+% \begin{macrocode}
+function useranswer(ans,rowans,colans)
+{
+ if ((rowans!=SaveRowClick) || (colans!=SaveColClick))
+ {
+ app.alert("\fairmsg");
+ gotoNamedDest("GameBoard");
+ return null;
+ }
+ row= SaveRowClick;
+ col= SaveColClick;
+ this.getField("Button"+row+col).hidden=true;
+ var p = numQuestions*(col-1)+row-1;
+ if (QAed.charAt(p)==0)
+ {
+ QAed = QAed.substring(0,p)+1+QAed.substring(p+1,totalQuestions);
+ if (ans==1)
+ {
+ if (Picture==1)
+ {
+ this.getField("Field"+row+col).hidden=true;
+ }
+ else
+ {
+ this.getField("Field"+row+col).textColor=\correctColor;
+ this.getField("Field"+row+col).value="\RightMessage";
+ }
+ if (player==1)
+ TotalScoreA += \JeopardyScaleFactor*row*100;
+ else
+ TotalScoreB += \JeopardyScaleFactor*row*100;
+ app.alert(aCM[nCM],3);
+ if (++nCM > 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}{}
+%</package>
+% \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{}
+%</cfg>
+% \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 <scott+dtx@pakin.org>
+%%
+%% 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 <marik@mendelu.cz>
+
+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 <marik@mendelu.cz>
+%%
+%% 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 <marik@mendelu.cz>
+%%
+%% 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<</O<</S/JavaScript/JS(kontrola(
+ \the\QuestCount,\the\CatCount);)>> >>}
+ \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<totalQuestions)
+ {
+ var p = numQuestions*(col-1)+row-1;
+ if (row!=RowClick) gotoNamedDest("GameBoard");
+ if (col!=ColClick) gotoNamedDest("GameBoard");
+ RowClick=0;
+ ColClick=0;
+ }
+};
+
+function kliknuti(row,col)
+{RowClick=row;
+ColClick=col;
+SaveColClick=col;
+SaveRowClick=row;
+gotoNamedDest(row+""+col);
+};
+
+function useranswer(ans,rowans,colans)
+{
+ if ((rowans!=SaveRowClick) || (colans!=SaveColClick))
+ {
+ app.alert("\fairmsg");
+ gotoNamedDest("GameBoard");
+ return null;
+ }
+ row= SaveRowClick;
+ col= SaveColClick;
+ this.getField("Button"+row+col).hidden=true;
+ var p = numQuestions*(col-1)+row-1;
+ if (QAed.charAt(p)==0)
+ {
+ QAed = QAed.substring(0,p)+1+QAed.substring(p+1,totalQuestions);
+ if (ans==1)
+ {
+ if (Picture==1)
+ {
+ this.getField("Field"+row+col).hidden=true;
+ }
+ else
+ {
+ this.getField("Field"+row+col).textColor=\correctColor;
+ this.getField("Field"+row+col).value="\RightMessage";
+ }
+ if (player==1)
+ TotalScoreA += \JeopardyScaleFactor*row*100;
+ else
+ TotalScoreB += \JeopardyScaleFactor*row*100;
+ app.alert(aCM[nCM],3);
+ if (++nCM > 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 @@
+<!DOCTYPE rdf:RDF SYSTEM "../../support/tpm.dtd">
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:TPM="http://texlive.dante.de/">
+ <rdf:Description about="http://texlive.dante.de/texlive/Package/jeopardy.zip">
+ <TPM:Name>jeopardy</TPM:Name>
+ <TPM:Type>Package</TPM:Type>
+ <TPM:Date>2007/03/09 10:41:00</TPM:Date>
+ <TPM:Version></TPM:Version>
+ <TPM:Creator>karl</TPM:Creator>
+ <TPM:Title>The jeopardy package.</TPM:Title>
+ <TPM:Description></TPM:Description>
+ <TPM:Author></TPM:Author>
+ <TPM:Size>2280905</TPM:Size>
+ <TPM:License></TPM:License>
+ <TPM:Build/>
+ <TPM:RunFiles size="23611">
+texmf-dist/tex/latex/jeopardy/jeopardy.cfg
+texmf-dist/tex/latex/jeopardy/jeopardy.sty
+texmf-dist/tpm/jeopardy.tpm
+ </TPM:RunFiles>
+ <TPM:DocFiles size="2222185">
+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
+ </TPM:DocFiles>
+ <TPM:SourceFiles size="37316">
+texmf-dist/source/latex/jeopardy/jeopardy.dtx
+texmf-dist/source/latex/jeopardy/jeopardy.ins
+ </TPM:SourceFiles>
+ <TPM:Provides>Package/jeopardy</TPM:Provides>
+ </rdf:Description>
+</rdf:RDF>
+