diff options
author | Karl Berry <karl@freefriends.org> | 2007-08-24 18:34:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-08-24 18:34:51 +0000 |
commit | 5b3b0129bbe562139349fc1a231988ccccac589d (patch) | |
tree | 522b44f51609a92e84e25e0ed4b54062b071ce6c /Master/texmf-dist/doc/latex/probsoln | |
parent | 049f485bdf6f9dbd4880051384aaf239d85ba83e (diff) |
probsoln update (21aug07)
git-svn-id: svn://tug.org/texlive/trunk@4796 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/probsoln')
-rw-r--r-- | Master/texmf-dist/doc/latex/probsoln/CHANGES | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/probsoln/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html | 752 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/probsoln/probsoln.pdf | bin | 153769 -> 153651 bytes |
4 files changed, 756 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/latex/probsoln/CHANGES b/Master/texmf-dist/doc/latex/probsoln/CHANGES index 6485349bb28..764317dda61 100644 --- a/Master/texmf-dist/doc/latex/probsoln/CHANGES +++ b/Master/texmf-dist/doc/latex/probsoln/CHANGES @@ -1,5 +1,7 @@ probsoln package versions: +Version 2.04: fixed license text + Version 2.03: Added starred form of \newproblem for problems without solutions. Checks to see if solution environment is already defined. diff --git a/Master/texmf-dist/doc/latex/probsoln/README b/Master/texmf-dist/doc/latex/probsoln/README index 431f3f5a08f..2edd170d254 100644 --- a/Master/texmf-dist/doc/latex/probsoln/README +++ b/Master/texmf-dist/doc/latex/probsoln/README @@ -1,6 +1,6 @@ -LaTeX Package : probsoln v 2.03 +LaTeX Package : probsoln v 2.04 -Last Modified : 20 June 2006 +Last Modified : 21 Aug 2007 Author : Nicola L.C. Talbot diff --git a/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html b/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html new file mode 100644 index 00000000000..0e24ce57ccd --- /dev/null +++ b/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html @@ -0,0 +1,752 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> + +<!--Converted with LaTeX2HTML 2002 (1.67) +original version by: Nikos Drakos, CBLU, University of Leeds +* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan +* with significant contributions from: + Jens Lippmann, Marek Rouchal, Martin Wilck and others --> +<HTML> +<HEAD> +<TITLE>probsoln.sty v2.04: LATEX2e Package to help create problem sheets</TITLE> +<META NAME="description" CONTENT="probsoln.sty v2.04: LATEX2e Package to help create problem sheets"> +<META NAME="keywords" CONTENT="manual"> +<META NAME="resource-type" CONTENT="document"> +<META NAME="distribution" CONTENT="global"> + +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> +<META NAME="Generator" CONTENT="LaTeX2HTML v2002"> +<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> + + +</HEAD> + +<BODY > + + <H1 ALIGN="CENTER">probsoln.sty v2.04: L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X2<SUB>e</SUB> Package to help create problem sheets</H1> +<P ALIGN="CENTER"><STRONG>Nicola L.C. Talbot</STRONG></P> +<P ALIGN="CENTER"><STRONG>21st August 2007</STRONG></P> + <BR> + +<H2><A NAME="SECTION00010000000000000000"> +Contents</A> +</H2> +<!--Table of Contents--> + +<UL> +<LI><A NAME="tex2html18" + HREF="#SECTION00020000000000000000">Introduction</A> +<LI><A NAME="tex2html19" + HREF="#SECTION00030000000000000000">Package Options</A> +<LI><A NAME="tex2html20" + HREF="#SECTION00040000000000000000">Creating a New Problem</A> +<LI><A NAME="tex2html21" + HREF="#SECTION00050000000000000000">Creating a Database</A> +<LI><A NAME="tex2html22" + HREF="#SECTION00060000000000000000">Displaying a Problem</A> +<LI><A NAME="tex2html23" + HREF="#SECTION00070000000000000000">Selecting All Problems</A> +<LI><A NAME="tex2html24" + HREF="#SECTION00080000000000000000">Selecting Problems at Random</A> +<LI><A NAME="tex2html25" + HREF="#SECTION00090000000000000000">Other Commands</A> +<LI><A NAME="tex2html26" + HREF="#SECTION000100000000000000000">Troubleshooting</A> +<UL> +<LI><A NAME="tex2html27" + HREF="#SECTION000101000000000000000">Unexpected Output</A> +<LI><A NAME="tex2html28" + HREF="#SECTION000102000000000000000">Error Messages</A> +</UL> +<BR> +<LI><A NAME="tex2html29" + HREF="#SECTION000110000000000000000">Contact Details</A> +<LI><A NAME="tex2html30" + HREF="#SECTION000120000000000000000">Index</A> +</UL> +<!--End of Table of Contents--> +<P> + +<H1><A NAME="SECTION00020000000000000000"> +Introduction</A> +</H1> +The <TT>probsoln</TT> package is designed for teachers or +lecturers who want to create problem sheets for their +students. This package was designed with specifically +mathematics problems in mind, but can be used for other +subjects as well. The idea is to create a file containing a +large number of problems with their solutions which can be +read in by L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X, and then select a number of problems to +typeset. This means that once the database has been set up, +each year you can easily create a new problem sheet that is +sufficiently different from the previous year, thus +preventing the temptation of current students seeking out +the previous year's students, and checking out their +answers. There is also an option that can be passed to the +package to determine whether or not the solutions should be +printed. In this way, one file can either produce the +student's version or the teacher's version. + +<P> + +<H1><A NAME="SECTION00030000000000000000"> +Package Options</A> +</H1> +The following options may be passed to this package: +<DIV ALIGN="CENTER"> +<TABLE CELLPADDING=3> +<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT">answers </TT></TD> +<TD ALIGN="LEFT">Show the answers</TD> +</TR> +<TR><TD ALIGN="LEFT"><TT></TD><TD ALIGN="LEFT">noanswers </TT></TD> +<TD ALIGN="LEFT">Don't show the answers (default)</TD> +</TR> +</TABLE> +</DIV> + +<P> + +<H1><A NAME="SECTION00040000000000000000"> +Creating a New Problem</A> +</H1> + +<A NAME="newproblem"></A><TT>newproblem</TT><A NAME="386"></A><code>[</code><I>nargs</I><code>]{</code><I>label</I><code>}{</code><I>problem</I><code>}{</code><I>solution</I><code>}</code> +<BR> +<BR> +A new problem is defined using the command +<TT>\newproblem</TT><A NAME="389"></A>. This does not print anything, +but merely stores the problem. As from version 2.03, there is also +a starred version of this command for problems without a solution +(for example, essay style questions): +<BR> +<BR> +<A NAME="newproblem_"></A><TT>newproblem*</TT><A NAME="393"></A><code>[</code><I>nargs</I><code>]{</code><I>label</I><code>}{</code><I>problem</I><code>}</code> +<BR> +<BR> +The argument <I>label</I> is +a unique string that is assigned to this problem so that it +can be used later. The argument <I>problem</I> is normal +L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X code that should be used to typeset the problem. +The argument <I>solution</I> is normal L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X code that +should be used to typeset the solution, if required. For +example, the following defines a problem with the label +<A NAME="quaddiff"></A><TT>quaddiff</TT>: +<PRE> + \newproblem{quaddiff}{% + %This is the problem + \begin{displaymath} + f(x) = x^2 + 3x + 4 + \end{displaymath} + }{% + %This is the solution + \begin{displaymath} + f'(x) = 2x + 3 + \end{displaymath} + } +</PRE> +The following is an essay question, so doesn't come with a solution: +<PRE> +\newproblem*{inheritance}{Describe what is meant by the term +\emph{inheritance} in object-oriented programming. Use examples.} +</PRE> + +<P> +The optional argument <I>nargs</I> specifies the number of +parameters this problem will take. By default this value is +0, but any value from 1 to 9 may be used. Each parameter is +referred to by <code>#1</code>, <code>#2</code>, ..., <code>#9</code>. +For example, the following problem, labelled <A NAME="sindiff"></A><TT>sindiff</TT>, +takes one parameter: +<PRE> +\newproblem[1]{sindiff}{% +\(f(x) = \sin(#1x)\) +}{% +\(f'(x) = #1\cos(#1x)\) +} +</PRE> + +<P> +The <A HREF="#quaddiff"><TT>quaddiff</TT></A> problem shown above can be made more +generic by using parameters<A NAME="diff:quad"></A>: +<PRE> +\newcount\ctr +\newproblem[3]{diff:quad}{% +\(f(x) = +\ifnum#1=0 +\else +\ifnum#1=1\else#1\fi x^2 +\fi +\ifnum#2=0 +\else +\ifnum#2>0 \ifnum#1=0 \else + \fi \fi +\ifnum#2=1\else#2\fi x +\fi +\ifnum#3=0 +\else +\ifnum#3>0 \ifnum#2=0 \ifnum#1=0 \else + \fi \else + \fi\fi +#3 +\fi\) +}{% +\(f'(x) = +\ifnum#1=0 +\else +\ctr=2 +\multiply\ctr by #1 +\the\ctr x +\fi +\ifnum#2=0 +\else +\ifnum#2>0 \ifnum#1=0 \else + \fi \fi +#2 +\fi + % print 0 if both #1 and #2 are 0 +\ifnum#1=0 \ifnum#2=0 0 \fi\fi +\) +} +</PRE> +The three parameters correspond to the coefficients. Note +that they must all be integers since T<SMALL>E</SMALL>X only performs +integer arithmetic. + +<P> + +<H1><A NAME="SECTION00050000000000000000"> +Creating a Database</A> +</H1> + +<P> +To generate a database, simply create a <TT>.tex</TT> file +where all the problems are defined using <A HREF="#newproblem"><TT>newproblem</TT><A NAME="407"></A></A> or +<A HREF="#newproblem_"><TT>newproblem*</TT><A NAME="412"></A></A>, +and either <TT>\input</TT><A NAME="415"></A> it at the start of your document if +you want to use <A HREF="#sec:useprob">specific problems</A>, or pass it to +<A HREF="#sec:selran"><TT>\selectrandomly</TT><A NAME="421"></A></A>. This package +comes with some sample databases, along with some sample documents +that use these databases. + +<P> + +<H1><A NAME="SECTION00060000000000000000"></A> +<A NAME="sec:useprob"></A> +<BR> +Displaying a Problem +</H1> + +<A NAME="useproblem"></A><TT>useproblem</TT><A NAME="425"></A><code>{</code><I>label</I><code>}</code> +<BR> +<BR> +Once a problem has been defined using <A HREF="#newproblem"><TT>newproblem</TT><A NAME="430"></A></A>, it +can be typeset using the command <TT>\useproblem</TT><A NAME="433"></A>. If the +problem was defined to take arguments, the arguments to the +problem should come after the label. In the case of the +<A HREF="#sindiff"><TT>sindiff</TT></A> example above, the command +<code>\useproblem{sindiff}{2}</code> would produce the following: +<BR> +<BR> <I>f</I>(<I>x</I>) = sin(2<I>x</I>) + +<H4><A NAME="SECTION00060010000000000000"> +Solution:</A> +</H4> <I>f'</I>(<I>x</I>) = 2cos(2<I>x</I>) +<BR> +<BR> +whereas the command <code>\useproblem{diff:quad}{3}{0}{-2}</code> would produce: +<BR> +<BR> <I>f</I>(<I>x</I>) = 3<I>x</I><SUP>2</SUP> - 2 + +<H4><A NAME="SECTION00060020000000000000"> +Solution:</A> +</H4> <I>f'</I>(<I>x</I>) = 6<I>x</I> +<BR> +<BR> + +<P> +Suppose all the above problems are defined in the file +<TT>probs.tex</TT>, then the following code will create a +problem sheet with four questions in it: +<PRE> +\documentclass{article} + +\usepackage{probsoln} +\input{probs} + +\begin{document} +Differentiate the following functions with respect to $x$: +\begin{enumerate} +\item \useproblem{quaddiff} +\item \useproblem{sindiff}{4} +\item \useproblem{diff:quad}{2}{3}{1} +\item \useproblem{diff:quad}{0}{1}{2} +\end{enumerate} +\end{document} +</PRE> +The answer sheet can then be generated by passing the option +<TT>answers</TT> to the <TT>probsoln</TT> package. + +<P> + +<H1><A NAME="SECTION00070000000000000000"> +Selecting All Problems</A> +</H1> + +<P> +To select all problems defined in a database, in the order in +which they were defined, use the command: + +<A NAME="selectallproblems"></A><TT>selectallproblems</TT><A NAME="440"></A><code>{</code><I>filename</I><code>}</code> +For example, suppose the problems are defined in the file +<TT>easy.tex</TT>, then the following will create a problem sheet +which uses all these problems: +<PRE> +\documentclass[a4paper]{article} + +\usepackage{probsoln} + +\begin{document} +Differentiate the following functions: +\begin{enumerate} +\selectallproblems{easy} +\end{enumerate} +\end{document} +</PRE> + +<P> + +<H1><A NAME="SECTION00080000000000000000"></A> +<A NAME="sec:selran"></A> +<BR> +Selecting Problems at Random +</H1> + +<A NAME="selectrandomly"></A><TT>selectrandomly</TT><A NAME="444"></A><code>{</code><I>filename</I><code>}{</code><I>n</I><code>}</code> +<BR> +<BR> +The command <TT>\selectrandomly</TT><A NAME="447"></A> will select <I>n</I> +problems that are defined in the file <I>filename</I>. Each +problem is proceeded by +<A NAME="PSitem"></A><TT>PSitem</TT><A NAME="451"></A> which is +defined to be <TT>\item</TT><A NAME="454"></A>, so the command +<TT>\selectrandomly</TT><A NAME="457"></A> should occur within one of the +list-like environments, such as <TT>enumerate</TT>. +For example: +<PRE> +\begin{enumerate} +\selectrandomly{easy.tex}{4} +\end{enumerate} +</PRE> +will result in four numbered problems, selected at random +from the file <TT>easy.tex</TT>. (The <TT>.tex</TT> extension +may be omitted.) Each problem is followed by the command +<A NAME="endPSNitem"></A><TT>endPSNitem</TT><A NAME="461"></A> which by default does nothing. + +<P> +Multiple <TT>\selectrandomly</TT><A NAME="464"></A> commands may be used, however a +different file must be used each time. For +example: +<PRE> +\begin{enumerate} +\item Differentiate the following functions with respect to $x$: + +\begin{enumerate} +\selectrandomly{samples/easy.tex}{3} +\selectrandomly{samples/args.tex}{1} +\end{enumerate} + +\selectrandomly{samples/implicit.tex}{1} +\selectrandomly{samples/1stprncpl.tex}{1} + +\end{enumerate} +</PRE> +This will result in a total of 6 problems, numbered 1(a), +1(b), 1(c), 1(d), 2 and 3. + +<P> +If a randomly selected problem requires arguments, a message +similar to the following will be displayed: +<PRE> +Problem diff:quad requires 3 argument(s), please specify (e.g. {5}{3}): +</PRE> +Enter the required arguments, where each argument is +enclosed in braces ({ }). + +<P> + +<H1><A NAME="SECTION00090000000000000000"> +Other Commands</A> +</H1> + +The command <A NAME="PSNrandseed"></A><TT>PSNrandseed</TT><A NAME="468"></A><code>{</code><I>n</I><code>}</code> specifies +the seed for the random number generator. For example, +if you are using <A HREF="#selectrandomly"><TT>selectrandomly</TT><A NAME="473"></A></A>, +<code>\PSNrandseed{\year}</code> will produce a different set of +problems each year, whereas <code>\PSNrandseed{\time}</code> +will produce a different set of problems each time you +L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X the problem sheet (as long as you leave at least a +minute between runs.) + +<P> +The command <A NAME="random"></A><TT>random</TT><A NAME="477"></A><code>{</code><I>counter</I><code>}{</code><I>a</I><code>}{</code><I>b</I><code>}</code> +generates a random number from <I>a</I> to <I>b</I> and +stores it in the L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X counter <I>counter</I>. For example, +to select 2, 3 or 4 problems from the file +<TT>implicit.tex</TT>: +<PRE> +\newcounter{numproblems} +\begin{enumerate} +\random{numproblems}{2}{4} +\selectrandomly{implicit.tex}{\value{numproblems}} +\end{enumerate} +</PRE> +(Note the use of <TT>\value</TT><A NAME="480"></A>.) + +<P> +This command can also be used to generate random values for +problems that take arguments. Consider the problem <A HREF="#diff:quad"><TT>diff:quad</TT></A> +defined earlier. Three counters can be defined to represent the +three coefficients: +<PRE> +\newcounter{A} +\newcounter{B} +\newcounter{C} +</PRE> +Random values can now be assigned to these counters: +<PRE> +\random{A}{-5}{5} +\random{B}{-5}{5} +\random{C}{-5}{5} +</PRE> +Finally, the problem can be used (note the use of <TT>\arabic</TT><A NAME="486"></A>): +<PRE> +\useproblem{diff:quad}{\arabic{A}}{\arabic{B}}{\arabic{C}} +</PRE> + +<P> +The command +<A NAME="doforrandN"></A><TT>doforrandN</TT><A NAME="490"></A><code>{</code><I>n</I><code>}{</code><I>cmd</I><code>}{</code><I>list</I><code>}{</code><I>text</I><code>}</code> will apply +<I>text</I> for a random selection of <I>n</I> items in the +comma separated <I>list</I>. In each iteration the list +item is denoted by <I>cmd</I>. For example, suppose you +have three files called <TT>file1.tex</TT>, +<TT>file2.tex</TT> and <TT>file3.tex</TT>, and you want to +select 1 problem from two of the three files, then you can +do: +<PRE> +\doforrandN{2}{\file}{file1,file2,file3}{\selectrandomly{\file}{1}} +</PRE> +Note that it is also possible to do +<PRE> +\newcounter{numproblems} +\random{numproblems}{1}{3} +\selectrandomly{file\arabic{numproblems}}{1} +\random{numproblems}{1}{3} +\selectrandomly{file\arabic{numproblems}}{1} +</PRE> +however there is a possibility that the same file may be +selected twice which will cause an error. + +<P> +The command <A NAME="showanswers"></A><TT>showanswers</TT><A NAME="494"></A> will show the solutions from +that point on. May be localised by placing within a group. + +<P> +The command <A NAME="hideanswers"></A><TT>hideanswers</TT><A NAME="498"></A> will hide the solutions from +that point on. May be localised by placing within a group. + +<P> +The solution is placed inside the <TT>solution</TT> +environment. By default this environment simply does +<code>\par\noindent\textbf{\solutionname:} </code> at the start, where +<A NAME="solutionname"></A><TT>solutionname</TT><A NAME="503"></A> +has the value: Solution. See the file <TT>sample3.tex</TT>, which +comes with this package, for an illustration of how to +customise the way in which the randomly selected problems are +displayed. This sample file randomly selects multiple choice +problems stored in the file <TT>tabmchoice.tex</TT>, and displays them +in a longtable <TT>environment</TT>. As from version 2.03, the package +will not define this environment if another package or class file has +already defined it. + +<P> +The boolean variable <TT>showanswers</TT> is defined to be +true if the answers are shown and false otherwise. You can +therefore do something like: +<PRE> +\ifthenelse{\boolean{showanswers}}{\textbf{Solution Sheet}}{} +</PRE> +and <B>Solution Sheet</B> will be printed only if the +answers are displayed. (For more information on +<TT>\ifthenelse</TT><A NAME="507"></A> and <TT>\boolean</TT><A NAME="510"></A> see the +documentation for the <TT>ifthen</TT> package by +David Carlisle.) + +<P> +The <TT>showanswers</TT> switch can also be used within the definition +of a problem, if you want the question to appear differently if the +solution is displayed. For example: +<PRE> +\newproblem{mc:prod}{% +Which of the following is the derivative of $x\sin(x)$? +(Circle the correct answer.) +\ifthenelse{\boolean{showanswers}}{}% +{\begin{description} +\item[A] $\sin(x)$ +\item[B] $x\cos(x)$ +\item[C] $\sin(x) + x\cos(x)$ +\end{description} +}}{% +\begin{description} +\item[A] $\sin(x)$ +\item[B] $x\cos(x)$ +\item[\textcircled{C}] $\sin(x) + x\cos(x)$ (product rule). +\end{description} +} +</PRE> +If the solutions are not displayed, the question will appear +as +<DL> +<DT></DT> +<DD>Which of the following is the derivative of +<I>x</I>sin(<I>x</I>)? +(Circle the correct answer.) +<DL> +<DT><STRONG>A</STRONG></DT> +<DD>sin(<I>x</I>) +</DD> +<DT><STRONG>B</STRONG></DT> +<DD><I>x</I>cos(<I>x</I>) +</DD> +<DT><STRONG>C</STRONG></DT> +<DD>sin(<I>x</I>)+<I>x</I>cos(<I>x</I>) +</DD> +</DL> +</DD> +</DL> +otherwise it will appear as: +<DL> +<DT></DT> +<DD>Which of the following is the derivative of +<I>x</I>sin(<I>x</I>)? +(Circle the correct answer.) +<DL> +<DT><STRONG>A</STRONG></DT> +<DD>sin(<I>x</I>) +</DD> +<DT><STRONG>B</STRONG></DT> +<DD><I>x</I>cos(<I>x</I>) +</DD> +<DT><STRONG><FONT SIZE="+2">©</FONT></STRONG></DT> +<DD>sin(<I>x</I>) + <I>x</I>cos(<I>x</I>) (product rule) +</DD> +</DL> +</DD> +</DL> + +<P> + +<H1><A NAME="SECTION000100000000000000000"> +Troubleshooting</A> +</H1> + +<H2><A NAME="SECTION000101000000000000000"> +Unexpected Output</A> +</H2> + +<UL> +<LI>I have lots of blank space before the first problem when +using <A HREF="#selectrandomly"><TT>selectrandomly</TT><A NAME="515"></A></A>. + +<P> +This is probably because you have lots of extraneous white space +in your database. <A HREF="#selectrandomly"><TT>selectrandomly</TT><A NAME="520"></A></A> will input the entire +file, so any extra space will be included. Try commenting out the +extra space using %. +</LI> +</UL> + +<P> + +<H2><A NAME="SECTION000102000000000000000"> +Error Messages</A> +</H2> + +<UL> +<LI><TT>! Package probsoln Error: Label ... already used. +</TT> + +<P> +Each label identifier used in <A HREF="#newproblem"><TT>newproblem</TT><A NAME="525"></A></A> must be +unique. Check to make sure you haven't used the same label +more than once. Also check to make sure you haven't +<TT>\input</TT><A NAME="528"></A>ed or randomly selected from the same file more +than once. (Or <TT>\input</TT><A NAME="531"></A>ed and randomly selected from +the same file.) + +<P> +</LI> +<LI><TT>! Package probsoln Error: Label ... undefined. +</TT> + +<P> +You need to define a problem before you can use it. Check to +make sure you haven't mis-spelt it, and check to make sure you +have <TT>\input</TT><A NAME="534"></A>ed the file in which it is defined. + +<P> +</LI> +<LI><TT>! Package probsoln Error: Requested number too large. +</TT> + +<P> +You have asked for more problems than are defined within the +specified file. All problems in that file will be selected. + +<P> +</LI> +<LI><TT>! Package probsoln Error: Can't randomly select <I>n</I> +item(s) +</TT> + +<P> +You have asked to randomly select <I>n</I> items from a list +that has less than <I>n</I> elements. For example, the +following will generate this error: +<PRE> +\doforrandN{10}{\file}{file1,file2,file3}{% +\selectrandomly{\file}{1}} +</PRE> +In this case the list, <TT>file1,file2,file3</TT> has only 3 +elements, but the user has asked for 10 elements. If you type +`h' at the L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X prompt it will tell you how many items it thinks +there are in the list. Remember that each item must be separated by a +comma. + +<P> +</LI> +<LI><TT>! LaTeX Error: Lonely <TT>\item</TT><A NAME="537"></A>-perhaps missing list +environment. +</TT> + +<P> +Each problem selected using <A HREF="#selectrandomly"><TT>selectrandomly</TT><A NAME="542"></A></A> is +proceeded by <A HREF="#PSNitem"><TT>PSNitem</TT><A NAME="547"></A></A> which by default is defined +as <TT>\item</TT><A NAME="550"></A>, and should therefore be +placed in one of the list environments, such as +<TT>enumerate</TT>. Alternatively, redefine <A HREF="#PSNitem"><TT>PSNitem</TT><A NAME="555"></A></A>. + +<P> +</LI> +<LI>I get an error when I put a command definition in my database +when using <TT>\selectrandomly</TT><A NAME="558"></A>. + +<P> +<A HREF="#selectrandomly"><TT>selectrandomly</TT><A NAME="563"></A></A> inputs the database twice, so any +command definition will be read twice, causing an error. You +can use the switch <TT>\iffirstpass</TT><A NAME="566"></A> to prevent the error. For +example: +<PRE> +\iffirstpass +\newcommand{\mycmd}{} +\fi +</PRE> +It is generally not a good idea to put anything other than +<A HREF="#newproblem"><TT>newproblem</TT><A NAME="571"></A></A> commands within the database. + +<P> +</LI> +</UL> + +<P> + +<H1><A NAME="SECTION000110000000000000000"> +Contact Details</A> +</H1> +Dr Nicola Talbot +<BR> +School of Computing Sciences +<BR> +University of East Anglia +<BR> +Norwich. NR4 7TJ +<BR><TT><A NAME="tex2html1" + HREF="http://theoval.cmp.uea.ac.uk/~nlct/">http://theoval.cmp.uea.ac.uk/~nlct/</A></TT> +<P> +<BR> + +<H2><A NAME="SECTION000120000000000000000"> +Index</A> +</H2><DL COMPACT> +<DT><STRONG><TT>\arabic</TT></STRONG> +<DD><A HREF="#486">Other Commands</A> +<DT><STRONG><TT>\boolean</TT></STRONG> +<DD><A HREF="#510">Other Commands</A> +<DT><STRONG><TT>\doforrandN</TT></STRONG> +<DD><A HREF="#490">Other Commands</A> +<DT><STRONG><TT>\endPSNitem</TT></STRONG> +<DD><A HREF="#461">Selecting Problems at Random</A> +<DT><STRONG><TT>\hideanswers</TT></STRONG> +<DD><A HREF="#498">Other Commands</A> +<DT><STRONG><TT>\iffirstpass</TT></STRONG> +<DD><A HREF="#566">Error Messages</A> +<DT><STRONG><TT>\ifthenelse</TT></STRONG> +<DD><A HREF="#507">Other Commands</A> +<DT><STRONG><TT>\input</TT></STRONG> +<DD><A HREF="#415">Creating a Database</A> + | <A HREF="#528">Error Messages</A> + | <A HREF="#531">Error Messages</A> + | <A HREF="#534">Error Messages</A> +<DT><STRONG><TT>\item</TT></STRONG> +<DD><A HREF="#454">Selecting Problems at Random</A> + | <A HREF="#537">Error Messages</A> + | <A HREF="#550">Error Messages</A> +<DT><STRONG><TT>\newproblem</TT></STRONG> +<DD><A HREF="#386">Creating a New Problem</A> + | <A HREF="#389">Creating a New Problem</A> + | <A HREF="#407">Creating a Database</A> + | <A HREF="#430">Displaying a Problem</A> + | <A HREF="#525">Error Messages</A> + | <A HREF="#571">Error Messages</A> +<DT><STRONG><TT>\newproblem*</TT></STRONG> +<DD><A HREF="#393">Creating a New Problem</A> + | <A HREF="#412">Creating a Database</A> +<DT><STRONG><TT>\PSitem</TT></STRONG> +<DD><A HREF="#451">Selecting Problems at Random</A> +<DT><STRONG><TT>\PSNitem</TT></STRONG> +<DD><A HREF="#547">Error Messages</A> + | <A HREF="#555">Error Messages</A> +<DT><STRONG><TT>\PSNrandseed</TT></STRONG> +<DD><A HREF="#468">Other Commands</A> +<DT><STRONG><TT>\random</TT></STRONG> +<DD><A HREF="#477">Other Commands</A> +<DT><STRONG><TT>\selectallproblems</TT></STRONG> +<DD><A HREF="#440">Selecting All Problems</A> +<DT><STRONG><TT>\selectrandomly</TT></STRONG> +<DD><A HREF="#418">Creating a Database</A> + | <A HREF="#421">Creating a Database</A> + | <A HREF="#444">Selecting Problems at Random</A> + | <A HREF="#447">Selecting Problems at Random</A> + | <A HREF="#457">Selecting Problems at Random</A> + | <A HREF="#464">Selecting Problems at Random</A> + | <A HREF="#473">Other Commands</A> + | <A HREF="#515">Unexpected Output</A> + | <A HREF="#520">Unexpected Output</A> + | <A HREF="#542">Error Messages</A> + | <A HREF="#563">Error Messages</A> + | <A HREF="#558">Error Messages</A> +<DT><STRONG><TT>\showanswers</TT></STRONG> +<DD><A HREF="#494">Other Commands</A> +<DT><STRONG><TT>\solutionname</TT></STRONG> +<DD><A HREF="#503">Other Commands</A> +<DT><STRONG><TT>\useproblem</TT></STRONG> +<DD><A HREF="#425">Displaying a Problem</A> + | <A HREF="#433">Displaying a Problem</A> +<DT><STRONG><TT>\value</TT></STRONG> +<DD><A HREF="#480">Other Commands</A> + +</DL> +<BR><HR> +<ADDRESS> +<A href=http://theoval.cmp.uea.ac.uk/~nlct/>Nicola L. C. Talbot</A>. +<A HREF=http://www.cmp.uea.ac.uk/>School of Computing Sciences</A>. +<A HREF=http://www.uea.ac.uk/>University of East Anglia.</A> +Last Modified: 2007-08-21 +</ADDRESS> +</BODY> +</HTML> diff --git a/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf b/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf Binary files differindex 6230fab1c62..958fa8996a8 100644 --- a/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf +++ b/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf |