Previous: What does Manyex do?, Up: Introduction

### 1.3 Brief overview of Manyex capabilities

Before going into a detailed description of Manyex characteristics and functioning, it is useful to present a simple example.

Suppose you want to create a simple quizz of just two questions for a mathematics exam, one on combinations and the other one on permutations. You want to have two different exams. Manyex allows you create these two exams from a database of exercises. In this case each exercise consists only of one question, but later we will see that exercise can be more complex.

The database of exercises consists of a base directory and subdirectories containing the different types of questions. In this simple case, the base directory has two subdirectories, each one containing three exercises (with just one question each).

Directory one is called comb and contains three files: exer1, exer2 and exer3. By default manyex will consider files starting with the prefix “exer” as exercise files. The prefix can be changed. The text for the questions will be processed through LaTeX, so it can contain TeX commands and formattin.

File exer1 contains:

block
question
The binomial coefficient ${n \choose k}$ equals
. ${n \choose n-k}$.
. $0$ if $k=0$.
: The previous two answers are incorrect.
endquestion
endblock


This is the definition of an exercise, using a sytax which is going to be explained later. Blocks are composed by questions and have a given “type”, in this case it is a multiplechoice question, which is the default. The question itself is enclosed between question and endquestion, and it is composed by a statement (“The binomial coefficient ${n \choose k}$ equals”) and the different possible answers (otpions). The first option is the correct one (this can be changed if for instance the last option, “The previous two answers are incorrect”, turns out to be the correct one). The semicollon (:) in the last option means that this option is not going to be permuted, otherwise the wording of the question would make no sense.

Similarly, exer2 contains:

block
question
In how many ways can we choose $n$ objects from $k$ different objects,
if the order of choice does not matter?
. ${k(k-1)\cdots(k-n+1) \over n\cdot(n-1)\cdots2\cdot 1}$
. ${n(n-1)\cdots(n-k+1) \over k\cdot(k-1)\cdots2\cdot 1}$
endquestion
endblock


And finally exer3 contains:

block
question
How many different quadruples can one form from the objects
1, 1, 2, 3, 4, 5, 6, 7, 8, 9.
(Two quadruples differing only in order are not considered different.)
. ${8 \choose 4}+{8 \choose 3}+{8 \choose 2}$
. $10\cdot9\cdot8\cdot7$
: The previous two answers are incorrect
endquestion
endblock


The other directory, perm, contains three other exercises with single questions, which are listed next:

exer1

block
question
How many circular orderings of the numbers $0,1,\ldots,10$ are there?
(Two circular orderings which differ only by a rotation are not considered different.)
. $10!$
. $11!$
. $9!$
. $3^{11}$
: None of the above answers is correct
endquestion
endblock


exer2

block
question
In how many ways can we choose 4 numbers from the set $\{1,\ldots,10\}$ if
the order in which we choose them matters?
. $\frac{10!}{6!}$
. $10^4$
. $6!$
. $\frac{10!}{6!4!}$
: None of the above answers is correct
endquestion
endblock


exer3

block
question
In how many ways can the numbers $0, 1, \ldots, 10$ be put in order?
. $11!$
. $10!$
. $10\times 10$
. $2^{10}$
: None of the above answers is correct.
endquestion
endblock


To create the two exams a “test description file” has to be defined, together with a “LaTeX master file” where we will define the formatting of the exams.

The name of the “test description file” is free, for instance desc-test, and will contain instructions to create tests. In this simple case we have included the following instructions:

# test description file
seed 12345
exercise
use 2 from "comb"
use 2 from "perm"
endexercise
create 2


The first line, starting with #, is a comment. The second line specifies the seed for the random number generator that is used to permute the exercises, the questions and the options within in multiplechoice questions, except those options that are specified to be fixed with :. The exercise instruction starts a group of exercises which are single questions, and therefore they will be indexed only on the question level, and will not be indexed as exercises with subindices corresponding to questions. Exactly what this means it will be understood later when more complex exercises are shown. The use instructions will specify how many exercises of each type to use, in this case two exercises from comb and two from perm. The instruction endexercise closes the question numbering (if other exercises were given after this instruction, they would start to be numbered as exercises with subnumbering of questions within each exercise). The exercise / endexercise group is useful for exercises with just one question. The instruction create 2 tells manyex to create 2 exams from the database of exercises.

The other file that has to be created is a simple LaTeX style where a series of macros are defined. These macros are written by manyex in the output file, and define the headers and footers for exercises and questions. By default this file is called master.sty, but the name can be speficied in the test description file. The file will be included in the LaTeX file being created by manyex, since a line with include command is written by the program.

The master.sty in this example is the following:

\newcommand{\mnglobalheader}{}

{\bf\Large Final Exam}

{\bf\Large Exam type: \mnserialnumber}

\bigskip

}

\newcommand{\mnpaperfooter}{}

\newcommand{\mnexercisefooter}{}

\newcounter{question}\setcounter{question}{1}

\newcommand{\mnquestionfooter}{}


This file has to define a series of macros that manyex writes in the latex file. These are used to format the exam. It can also use some macros that manyex writes (for instance \def\mnquestionnumber{1}) to number exercises and questions. In this case the numbering of the questions is defined in the master file itself, since each exercise has only one question and if we used manyex standard numbering procedure all questions would be number 1 (if we write \mnquestionnumber in \def\mnquestionheader{}, it would be always resolved to 1).

To create the actual exams, manyex has to be run from the base directory. If the base directory is specified in the test description file, manyex can be run from anywhere, but it will always create the exams in the directory from where it is being run.

The command to create “normal LaTeX exams” is: manyex -n -f desc-test

This will create a file called by default exam.tex where the actual exams are written. The output file name can also be changed from the test description file. The file in this case will look as follows:

\documentclass[12pt,a4paper]{article}
\usepackage{master}
\pagestyle{empty}
\begin{document}
\def\mnserialnumber{1}
\smallskip

\def\mnquestionnumber{1}
\mnquestionheader The binomial coefficient ${n \choose k}$ equals
\begin{itemize}
\item[(A)] $0$ if $k=0$.
\item[(B)] ${n \choose n-k}$.
\item[(C)] The previous two answers are incorrect.
\end{itemize}
\mnquestionfooter

\smallskip

\def\mnquestionnumber{1}
1, 1, 2, 3, 4, 5, 6, 7, 8, 9.
(Two quadruples differing only in order are not considered different.)
\begin{itemize}
\item[(A)] $10\cdot9\cdot8\cdot7$
\item[(B)] ${8 \choose 4}+{8 \choose 3}+{8 \choose 2}$
\item[(C)] The previous two answers are incorrect
\end{itemize}
\mnquestionfooter

\smallskip

\def\mnquestionnumber{1}
\mnquestionheader How many circular orderings of the numbers $0,1,\ldots,10$ are there?
(Two circular orderings which differ only by a rotation are not considered different.)
\begin{itemize}
\item[(A)] $9!$
\item[(B)] $3^{11}$
\item[(C)] $11!$
\item[(D)] $10!$
\item[(E)] None of the above answers is correct
\end{itemize}
\mnquestionfooter

\smallskip

\def\mnquestionnumber{1}
\mnquestionheader In how many ways can we choose 4 numbers from the set $\{1,\ldots,10\}$ if
the order in which we choose them matters?
\begin{itemize}
\item[(A)] $10^4$
\item[(B)] $6!$
\item[(C)] $\frac{10!}{6!}$
\item[(D)] $\frac{10!}{6!4!}$
\item[(E)] None of the above answers is correct
\end{itemize}
\mnquestionfooter

\mnpaperfooter
\pagebreak

\def\mnserialnumber{2}
\smallskip

\def\mnquestionnumber{1}
\mnquestionheader In how many ways can we choose $n$ objects from $k$ different objects,
if the order of choice does not matter?
\begin{itemize}
\item[(A)] ${k(k-1)\cdots(k-n+1) \over n\cdot(n-1)\cdots2\cdot 1}$
\item[(B)] ${n(n-1)\cdots(n-k+1) \over k\cdot(k-1)\cdots2\cdot 1}$
\end{itemize}
\mnquestionfooter

\smallskip

\def\mnquestionnumber{1}
\mnquestionheader The binomial coefficient ${n \choose k}$ equals
\begin{itemize}
\item[(A)] $0$ if $k=0$.
\item[(B)] ${n \choose n-k}$.
\item[(C)] The previous two answers are incorrect.
\end{itemize}
\mnquestionfooter

\smallskip

\def\mnquestionnumber{1}
\mnquestionheader How many circular orderings of the numbers $0,1,\ldots,10$ are there?
(Two circular orderings which differ only by a rotation are not considered different.)
\begin{itemize}
\item[(A)] $3^{11}$
\item[(B)] $11!$
\item[(C)] $9!$
\item[(D)] $10!$
\item[(E)] None of the above answers is correct
\end{itemize}
\mnquestionfooter

\smallskip

\def\mnquestionnumber{1}
\mnquestionheader In how many ways can the numbers $0, 1, \ldots, 10$ be put in order?
\begin{itemize}
\item[(A)] $2^{10}$
\item[(B)] $11!$
\item[(C)] $10\times 10$
\item[(D)] $10!$
\item[(E)] None of the above answers is correct.
\end{itemize}
\mnquestionfooter

\mnpaperfooter
\pagebreak

\end{document}


Manyex also writes a file with the answer key for the two exams. Each line of this file contains the exam number and the correct answers for each question. The file is called mn-correct, and in this case it contains:

001BBDC
002ABDB


This file can be used to correct the exams. Manyex also creates an answer LaTeX file to distribute the correct answers, which by default is called answer.tex, which we do not show in this simple example. It can also create a LaTeX file to be converted into html code with the program tth, to be published in the web as a form. We will present a full example at the end of this manual.