You're not reading the latest revision of this page, which is
here.
How write questions and answers
Type of problem, question and answer
\type{...} can be set for the whole group of questions, but can also be set individually for each question and answer.
The position of the command determines how it works.
1 2 3 4 5 6 7 8 9 10 11 12 | \begin{problem}
\type{...} % set for all questions
\begin{question}
\type{...} % or set only for this question and all their answers
\begin{answer}
\type{...} % or set only for this answer
\end{answer}
\end{question}
\end{problem}
|
What type is applicable
| Type |
Preview |
input.number
more |
 |
input.finite-number-set
more |
 |
input.function Compare the user's answer numerically with the pre-given solution
more |
 |
input.interval
more |
 |
input.cases.function Designed for case differentiations of e.g. absolute value functions. Note that you can only use this input type in an answer environment.
more
|
 |
input.matrix If the solution to a question is a row vector, a column vector or a matrix, the generic problem is of the type input.matrix.
more |
 |
input.text
examples in WebMiau or the full article here |
 |
input.truth-table
more |
 |
mc.matrix
example in WebMiau or the full article here |
 |
mc.unique
more |
 |
mc.yesno
more |
 |
mc.multiple
more |
 |
Overview input field questions
Number fields
All variables and functions are interpreted in a number field which can be defined by the \field{...} command. It can take one of the following values:
| number field |
Description |
| real |
real numbers (i.e. double values); this is the default value if the \field{number field} command is omitted |
| integer |
integer numbers |
| rational |
rational numbers |
| complex |
complex numbers with real numbers as real and imaginary parts |
| complex-rational |
complex numbers with rational numbers as real and imaginary parts |
1 2 3 4 5 6 7 8 9 10 11 12 | \begin{problem}
\field{...} % set for all questions
\begin{question}
\field{...} % or set only for this question and all their answers
\begin{answer}
\field{...} % or set only for this answer
\end{answer}
\end{question}
\end{problem}
|
Variables
Questions can become dynamic and personalised through the use of variables and functions. These must be defined
in a variables environment
The environment \begin{variables} ... \end{variables} can be set for the whole group of questions, but can also be
set individually for each question. The position of the command determines how it works.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | \begin{problem}
\begin{variables} % set for all questions
...
\end{variables}
\begin{question}
\begin{variables} % set only for this questions
...
\end{variables}
\begin{answer}
\end{answer}
\end{question}
\end{problem}
|
Example
1 2 3 4 5 6 7 8 9 10 11 | \begin{question}
\begin{variables}
\number{a}{12}
\number{b}{4}
\number{c}{10}
\number{d}{5}
\function{f}{a/b}
\function{g}{c/d}
\end{variables}
...
\end{question}
|
Will result in variables
- $$a=12$$,
- $$b=4$$,
- $$c=10$$,
- $$d=5$$ and
- functions $$f=\frac{12}{4}$$ and $$g=\frac{10}{5}$$
Commands
| Command |
Description |
Details |
\number |
A fixed number variable, this can be any kind of number. The field command determines how the number will be interpreted. |
|
\function |
A function definition, the definition may include variables and other functions. When an included variable is not defined, it will be a free variable. Again, the field command determines how the numbers within the function will be interpreted. |
function |
\derivative |
Creates a new function representing the derivative of the expression/variable that was passed into it. |
derivative |
\substitute |
Creates a new function that is the composition of two other functions. |
substitute |
\randint |
A random integer number, including zero (same as randint[z]) |
|
\randint[Z] |
A random integer number, excluding zero |
Random numbers |
\randdouble |
A random double number, including zero |
Random numbers |
\randrat |
A random rational number, including zero |
Random numbers |
\drawFromSet |
Randomly draw a number (or string) from a set |
Random numbers |
\randadjustIf |
Random variables can be adjusted to satisfy a specific constraint. |
randadjustIf |
Using Variables in text
All variables can be used in texts (e.g. question task, answer text) by using the tex command \var with the name of the variable as argument:
1 2 3 4 5 6 7 8 9 10 11 12 13 | \begin{question}
\begin{variables}
\function{f}{a/3}
\end{variables}
\text{Determine the decimal expansion of $\var{f}$ correct to three decimal places.}
\begin{choice}
\text{$\var{solution1}$}
\end{choice}
\end{question}
|
Random numbers
Random numbers can be used instead of fixed numbers to personalize problem data.
Example
1 2 3 4 5 6 7 8 9 | \begin{question}
\begin{variables}
\randint[Z]{x1}{-10}{10} %\randint[Z]{name}{min}{max}
\randdouble{x2}{0}{1}
\randrat{name}{minNumerator}{maxNumerator}{minDenominator}{maxDenominator}
\end{variables}
\end{question}
|
\drawFromSet Draw randomly a number (or string) from a set
- parameters \drawFromSet[options]{name}{set}
- numbers in the set can be integer, rational or double numbers
- separator in the set can be any (non white space) character, default separator is the comma
- type is either number or string, default type is number
- multiple options are separated by a space (see example below)
1 2 3 4 5 6 7 8 9 10 | \begin{question}
\begin{variables}
\drawFromSet{a}{1,2,3,4,5,6}
\drawFromSet{b}{1/2,5,1.3,9/11,42}
\drawFromSet[separator=;]{c}{1;2.1;3.5;9}
\drawFromSet[separator=; type=string]{d}{hello;world}
\end{variables}
\end{question}
|
Variable pools
Instead of using random values for numbers it is possible to define several sets of values inside a so called variable pool.
- A pool consists of several variables environments holding each the elements for a single set of variables.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | \begin{question}
\begin{pool}
\begin{variables}
\randint{a}{1}{3}
\drawFromSet{b}{1,2,3}
\randadjustIf{a,b}{a = b}
\function[calculate]{f}{2*a+b}
\end{variables}
\begin{variables}
\randint{a}{-3}{-1}
\drawFromSet{b}{-1,-2,-3}
\randadjustIf{a,b}{a = b}
\function[calculate]{f}{2*a-b}
\end{variables}
\end{pool}
\end{question}
|
- A single set will be chosen randomly for every homework problem. The following example shows a pool with two sets of variables:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | \begin{question}
\begin{pool}
\begin{variables}
\number{a}{7}
\number{b}{3}
\end{variables}
\begin{variables}
\number{a}{5}
\number{b}{6}
\end{variables}
\end{pool}
\end{question}
|
Variable pools can only be used inside a question. There are no global variable pools at the moment.
Explanations
With \explanation the author can define a feedback that the user gets if an answer wasn't (completely) correct. Usage: \explanation[optional condition]{text}.
More details