diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/probsoln/probsoln.html')
-rw-r--r-- | Master/texmf-dist/doc/latex/probsoln/probsoln.html | 293 |
1 files changed, 0 insertions, 293 deletions
diff --git a/Master/texmf-dist/doc/latex/probsoln/probsoln.html b/Master/texmf-dist/doc/latex/probsoln/probsoln.html deleted file mode 100644 index 81a36df337e..00000000000 --- a/Master/texmf-dist/doc/latex/probsoln/probsoln.html +++ /dev/null @@ -1,293 +0,0 @@ -<html> -<head> -<title>probsoln.sty v 2.0</title> -</head> -<body> -<a href=http://theoval.cmp.uea.ac.uk/~nlct>Dr Nicola 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> - -<h1>probsoln.sty v 2.0 : LaTeX Package to help create problem sheets</h1> -<ul> -<li><a href=#intro>Introduction</a> -<li><a href=#options>Package Options</a> -<li><a href=#commands>Commands Provided</a> -<ul> -<li><a href=#newproblem>Creating a New Problem</a> -<li><a href=#sec:useprob>Displaying a Problem</a> -<li><a href=#sec:selran>Selecting Problems at Random</a> -<li><a href=#other>Other Commands</a> -</ul> -<li><a href=#errors>Error Messages</a> -</ul> - -<h2><a name=intro>Introduction</a></h2> - - The package <tt>probsoln.sty</tt> 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 LaTeX, 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. - - <h2><a name=options>Package Options</a></h2> - The following options may be passed to this package: -<p> -<table> -<tr><td><tt> answers</tt></td><td>Show the answers</td></tr> -<tr><td><tt> noanswers</tt></td><td>Don't show the answers (default)</td></tr> -</table> - -<h2><a name=commands>Commands Provided</a></h2> -<h3><a name=newproblem>Creating a New Problem</a></h3> - -<tt>\newproblem[</tt><em>nargs</em><tt>]{</tt><em>label</em><tt>}{</tt><em>problem</em><tt>}{</tt><em>solution</em><tt>}</tt> -<p> - A new problem is defined using the command <tt>\newproblem</tt>. This does not print anything, - but merely stores the problem. The argument <em>label</em> is a unique string that is - assigned to this problem so that it can be used later. The argument <em>problem</em> - is normal LaTeX code that should be used to typeset the problem. The argument - <em>solution</em> is normal LaTeX code that should be used to typeset the solution, - if required. For example: -<a name=quaddiff> -<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></a> -<p> - The optional argument <em>nargs</em> 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 refered to by <tt>#1</tt>, <tt>#2</tt>, ..., <tt>#9</tt>. - For example, the following problem takes one parameter: -<a name=sindiff> -<pre> -\newproblem[1]{sindiff}{% -\(f(x) = \sin(#1x)\) -}{% -\(f'(x) = #1\cos(#1x)\) -} -</pre></a> - - The <a href=#quaddiff><tt>quaddiff</tt></a> problem shown above can be made more generic by using parameters: -<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 TeX only performs integer arithmetic. -<p> - To generate a database, simply create a <tt>.tex</tt> file where all the problems - are defined using <tt>\newproblem</tt>, and either <tt>\input</tt> it at the - start of your document if you want to <a href=#sec:useprob>use specific problems</a>, or - pass it to <a href=#sec:selran><tt>\selectrandomly</tt></a>. - -<h3><a name=sec:useprob>Displaying a Problem</a></h3> - -<tt>\useproblem{</tt><em>label</em><tt>}</tt> -<p> - Once a problem has be defined using <tt>\newproblem</tt>, it can be typeset - using the command <tt>\useproblem</tt>. 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 - <tt>\useproblem{sindiff}{2}</tt> would produce the following: -<p> - <em>f</em>(<em>x</em>) = sin(2<em>x</em>)<br> - <b>Solution:</b> <em>f</em>'(<em>x</em>) = 2cos(2<em>x</em>)<br> -<p> - whereas the command <tt>\useproblem{diff:quad}{3}{0}{-2}</tt> would produce:<br> - <em>f</em>(<em>x</em>) = 3<em>x</em><sup>2</sup> - 2<br> - <b>Solution:</b> <em>f</em>'(<em>x</em>) = 6<em>x</em> -<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. - -<h3><a name=sec:selran>Selecting Problems at Random</a></h3> -<tt>\selectrandomly{</tt><em>filename</em><tt>}{</tt><em>n</em><tt>}</tt> -<p> - The command <tt>\selectrandomly</tt> will select <em>n</em> problems that are defined - in the file <em>filename</em>. Each problem is preceeded by a <tt>\item</tt>, so the - command <tt>\selectrandomly</tt> 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.) -<p> - - Multiple <tt>\selectrandomly</tt> commands (with different filenames) may be used. 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 ({ }). - - <h3><a name=other>Other Commands</a></h3> -<dl> -<dt><tt>\PSNrandseed</tt></dt> -<dd> The command <tt>\PSNrandseed{</tt><em>n</em><tt>}</tt> specifies the seed for the random - number generator. For example, <tt>\PSNrandseed{\year}</tt> will produce a - different set of random problems each year, whereas <tt>\PSNrandseed{\time}</tt> - will produce a different set of problems each time you LaTeX the - problem (as long as you leave at least a minute between runs.) -<p> - -<dt><tt>\showanswers</tt></dt> -<dd> The command <tt>\showanswers</tt> will show the solutions from that point - on. May be localised by placing within a group. -<p> - -<dt><tt>\hideanswers</tt></dt> -<dd> The command <tt>\hideanswers</tt> will hide the solutions from that point - on. May be localised by placing within a group. -<p> - -<dt><tt>\solutionname</tt></dt> -<dd> By default, the solution is preceeded by the text: <b>Solution:</b>. This can - be changed by redefining the macro <tt>\solutionname</tt>. -<p> - -<dt><tt>showanswers</tt></dt> -<dd> 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> and <tt>\boolean</tt> see the -documentation for the <tt>ifthen</tt> package by David Carlisle.) -</dl> - -<h2><a name=errors>Error Messages</a></h2> -<pre> -! Package probsoln Error: Label ... already used. -</pre> - Each label identifier used in <tt>\newproblem</tt> 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>ed or randomly selected - from the same file more than once. (Or <tt>\input</tt>ed and randomly - selected from the same file.) - -<pre> -! Package probsoln Error: Label ... undefined. -</pre> - You need to define a problem before you can use it. Check to - make sure you haven't mis-spelt it. - -<pre> -! Package probsoln Error: Requested number too large. -</pre> - You have asked for more problems than are defined within - the specified file. All problems in that file will be selected. - - -<ul> -<li><a href=#intro>Introduction</a> -<li><a href=#options>Package Options</a> -<li><a href=#commands>Commands Provided</a> -<ul> -<li><a href=#newproblem>Creating a New Problem</a> -<li><a href=#sec:useprob>Displaying a Problem</a> -<li><a href=#sec:selran>Selecting Problems at Random</a> -<li><a href=#other>Other Commands</a> -</ul> -<li><a href=#errors>Error Messages</a> -</ul> - -<a href=http://theoval.cmp.uea.ac.uk/~nlct>Dr Nicola 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> - -<hr> -<h5>N.L.C. Talbot. School of Computing Sciences. University of East Anglia. -Last Modified: 21 Mar 2004.</h5> -</body> -</html> |