summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/probsoln
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 00:49:07 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 00:49:07 +0000
commit007f67a693e4d031fd3d792df8e4d5f43e2cb2e7 (patch)
tree90d17e00e572ecb1e24764b6f29c80e098b08d29 /Master/texmf-dist/doc/latex/probsoln
parent950209b26f70aa87ed07c54f82a95b6f03b7c3a0 (diff)
doc/latex
git-svn-id: svn://tug.org/texlive/trunk@84 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/probsoln')
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/README36
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/probsoln.html293
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/probsoln.pdfbin0 -> 124325 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/sample.tex40
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/1stprncp.tex61
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/args.tex45
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/easy.tex84
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/implicit.tex41
8 files changed, 600 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/probsoln/README b/Master/texmf-dist/doc/latex/probsoln/README
new file mode 100644
index 00000000000..fccd89989bd
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/README
@@ -0,0 +1,36 @@
+LaTeX Package : probsoln v 2.0
+
+Last Modified : 21 Mar 2001
+
+Author : N.L.C. Talbot
+
+Files : probsoln.dtx - documented source file
+ probsoln.ins - installation script
+ sample.tex - example file
+ samples - directory containing files used in sample.tex
+
+
+The package probsoln.sty is designed for lecturers who have to generate
+new problem sheets for their students on a regular basis (e.g. yearly)
+by randomly selecting a specified number of problems defined in another file.
+This means that you can easily generate a new problem sheet that is different
+from the previous year, thus alieviating the temptation of students to seek
+out the previous year's students and checking out their answers.
+The solutions to the problems can be defined along with the problem, making
+it easy to generate the solution sheet from the same source code.
+
+To extract the code do:
+
+latex probsoln.ins
+
+To extract the documentation do:
+
+latex probsoln.dtx
+latex probsoln.dtx
+
+A sample file, sample.tex which loads in problems from samples/*.tex, is provided to illustrate
+the use of this package.
+
+This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license.
+
+http://theoval.cmp.uea.ac.uk/~nlct/
diff --git a/Master/texmf-dist/doc/latex/probsoln/probsoln.html b/Master/texmf-dist/doc/latex/probsoln/probsoln.html
new file mode 100644
index 00000000000..81a36df337e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/probsoln.html
@@ -0,0 +1,293 @@
+<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>
diff --git a/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf b/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf
new file mode 100644
index 00000000000..08ef5ff3728
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/sample.tex b/Master/texmf-dist/doc/latex/probsoln/sample.tex
new file mode 100644
index 00000000000..d797127c944
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/sample.tex
@@ -0,0 +1,40 @@
+\documentclass[a4paper]{article}
+
+\usepackage{probsoln}
+% use the current year as a random seed so that
+% it produces a different set of problems each
+% year.
+%\PSNrandseed{\year}
+% or specify a fixed random seed.
+\PSNrandseed{2004}
+
+% Uncomment the following line to generate solution sheet.
+\showanswers
+
+\begin{document}
+\ifthenelse{\boolean{showanswers}}{\textbf{Solution Sheet}}{}
+
+\begin{enumerate}
+\item Differentiate the following functions with respect to $x$:
+
+\begin{enumerate}
+\selectrandomly{samples/easy.tex}{6}
+\end{enumerate}
+
+\selectrandomly{samples/implicit.tex}{1}
+\selectrandomly{samples/1stprncp.tex}{1}
+
+% The problems defined in samples/arg.tex all take
+% arguments.
+\input{samples/args.tex}
+
+\item Differentiate the following polynomials
+\begin{enumerate}
+\item \useproblem{diff:quad}{3}{0}{-2}
+\item \useproblem{diff:quad}{1}{2}{3}
+\item \useproblem{diff:quad}{5}{3}{0}
+\end{enumerate}
+
+\end{enumerate}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/1stprncp.tex b/Master/texmf-dist/doc/latex/probsoln/samples/1stprncp.tex
new file mode 100644
index 00000000000..f857392a6ef
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/1stprncp.tex
@@ -0,0 +1,61 @@
+% These all involve differentiating from 1st principles
+
+\newproblem{dfp:xcube}{%
+Differentiate $f(x) = x^3$ with respect to $x$ by first principles.}{%
+\begin{eqnarray*}
+\frac{dy}{dx} & = & \lim_{\Delta x\rightarrow 0}\frac{f(x+\Delta x) - f(x)}{\Delta x}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{(x+\Delta x)^3-x^3}{\Delta x}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{(x+\Delta x)(x^2+2x\Delta x+(\Delta x)^2)-x^3}{\Delta x}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{x^3+3x^2\Delta x+3x(\Delta x)^2+(\Delta x)^3-x^3}{\Delta x}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{3x^2\Delta x+3x(\Delta x)^2+(\Delta x)^3}{\Delta x}\\
+ & = & \lim_{\Delta x\rightarrow 0}3x^2+3x\Delta x + (\Delta x)^2\\
+ & = & 3x^2
+\end{eqnarray*}}
+
+\newproblem{dfp:Ioverxsq}{%
+Differentiate $\displaystyle f(x) = \frac{1}{x^2}$ with respect to $x$ by first principles.}{%
+\begin{eqnarray*}
+\frac{df}{dx} & = & \lim_{\Delta x\rightarrow 0}\frac{\frac{1}{(x+\Delta x)^2}-\frac{1}{x^2}}{\Delta x}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{\frac{x^2-(x+\Delta x)^2}{x^2(x+\Delta x)^2}}{\Delta x}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{x^2-(x^2+2x\Delta x+(\Delta x)^2)}{x^2\Delta x(x+\Delta x)^2}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{-2x\Delta x-(\Delta x)^2}{x^2\Delta x(x+\Delta x)^2}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{-2x-\Delta x}{x^2(x+\Delta x)^2}\\
+ & = & \frac{-2x}{x^2x^2}\\
+ & = & -\frac{2}{x^3}
+\end{eqnarray*}}
+
+\newproblem{dfp:sqrtx}{%
+Differentiate from first principles $f(x) = \surd x$}{%
+\begin{eqnarray*}
+\frac{df}{dx} & = & \lim_{\Delta x\rightarrow 0}\frac{\sqrt{x+\Delta x}-\surd x}{\Delta x}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{(\sqrt{x+\Delta x}-\surd x)(\sqrt{x+\delta x}+\surd x)}{\Delta x(\sqrt{x+\Delta x}+\surd x)}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{x+\Delta x - x}{\Delta x(\sqrt{x+\Delta x}+\surd x)}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{\Delta x}{\Delta x(\sqrt{x+\Delta x}+\Delta x)}\\
+ & = & \lim_{\Delta x\rightarrow 0}\frac{1}{\sqrt{x+\Delta x}+\surd x}\\
+ & = & \frac{1}{2\surd x}
+\end{eqnarray*}}
+
+\newproblem{dfp:cons}{%
+Differentiate from first principles $f(x) = c$ where $c$ is a constant.}{%
+\begin{eqnarray*}
+\frac{df}{dx} & = & \lim_{\Delta x\rightarrow 0}\frac{c-c}{\Delta x}\\
+ & = & \lim_{\Delta x\rightarrow 0}0\\
+ & = & 0
+\end{eqnarray*}}
+
+\newproblem{dfp:cosx}{%
+Given
+\begin{eqnarray*}
+\lim_{x \rightarrow 0} \frac{\cos x - 1}{x} & = & 0\\
+\lim_{x \rightarrow 0} \frac{\sin x}{x} & = & 1
+\end{eqnarray*}
+differentiate from first principles $f(x) = \cos x$.}{%
+\begin{eqnarray*}
+\frac{df}{dx} & = & \lim_{\Delta x \rightarrow 0}\frac{f(x + \Delta x) - f(x)}{\Delta x}\\
+ & = & \lim_{\Delta x \rightarrow 0} \frac{\cos(x + \Delta x) - \cos(x)}{\Delta x}\\
+ & = & \lim_{\Delta x \rightarrow 0} \frac{\cos x\cos\Delta x - \sin x\sin\Delta x - \cos x}{\Delta x}\\
+ & = & \lim_{\Delta x \rightarrow 0} \frac{\cos x(\cos\Delta x - 1) - \sin x\sin\Delta x}{\Delta x}\\
+ & = & \cos x\lim_{\Delta x \rightarrow 0}\frac{\cos\Delta x - 1}{\Delta x}
+ - \sin x\lim_{\Delta x \rightarrow 0}\frac{\sin\Delta x}{\Delta x}\\
+ & = & -1 \qquad\mbox{(using given results)}
+\end{eqnarray*}}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/args.tex b/Master/texmf-dist/doc/latex/probsoln/samples/args.tex
new file mode 100644
index 00000000000..e3bd7de75ec
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/args.tex
@@ -0,0 +1,45 @@
+% These problems require arguments
+
+% Arguments: #1->a_2, #2->a_1 and #3->a_0
+% (Arguments must be integers)
+\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
+\)
+}
+
+\newproblem[1]{diff:sin}{%
+\(f(x) = \sin(#1x)\)
+}{%
+\(f'(x) = #1\cos(#1x)\)
+}
+
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/easy.tex b/Master/texmf-dist/doc/latex/probsoln/samples/easy.tex
new file mode 100644
index 00000000000..5aa99ed04ca
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/easy.tex
@@ -0,0 +1,84 @@
+% These are all easy differentiation problems
+
+\newproblem{diffeasy:gpowh}{%
+\(f(x) = g(x)^{h(x)}.\)}{%
+\begin{eqnarray*}
+f(x) & = & e^{\ln g(x)^{h(x)}}\\
+ & = & e^{h(x)\ln g(x)}\\
+f'(x) & = & e^{h(x)\ln g(x)}(h'(x)\ln g(x) + h(x)\frac{g'(x)}{g(x)})\\
+ & = & g(x)^{h(x)}(h'(x)\ln g(x) + \frac{h(x)g'(x)}{g(x)})
+\end{eqnarray*}}
+
+\newproblem{diffeasy:arcsin}{%
+\(y = \arcsin(x)\)}{%
+\[\sin(y) = x\]
+diff. w.r.t. $x$:
+\begin{eqnarray*}
+\cos y \frac{dy}{dx} & = & 1\\
+\frac{dy}{dx} & = & \frac{1}{\cos y}\\
+ & = & \frac{1}{\sqrt{1 - \sin^2y}}\\
+ & = & \frac{1}{\sqrt{1-x^2}}.
+\end{eqnarray*}}
+
+\newproblem{diffeasy:arccos}{%
+$y = \arccos x$.}{%
+\(\cos y = x\)
+diff. w.r.t. $x$:
+\begin{eqnarray*}
+-\sin y \frac{dy}{dx} & = & 1\\
+\frac{dy}{dx} & = & \frac{-1}{\sin y}\\
+ & = & \frac{-1}{\sqrt{1-\cos^2y}}\\
+ & = & \frac{-1}{\sqrt{1-x^2}}
+\end{eqnarray*}}
+
+\newproblem{diffeasy:tan}{%
+\(y = \tan x\)}{%
+\begin{eqnarray*}
+y & = & \tan x\\
+ & = & \frac{\sin x}{\cos x}\\
+\frac{dy}{dx} & = & \frac{\cos x}{\cos x} + \sin x\times\frac{-1}{\cos^2x}\times -\sin x\\
+ & = & 1 + \tan^2x\\
+ & = & \sec^2x.
+\end{eqnarray*}}
+
+\newproblem{diffeasy:arctan}{%
+\(y = \arctan x = \tan^{-1}x\)}{%
+\[\tan y = x\]
+diff w.r.t. $x$:
+\begin{eqnarray*}
+\sec^2y\frac{dy}{dx} & = & 1\\
+\frac{dy}{dx} & = & \frac{1}{\sec^2y}\\
+ & = & \frac{1}{1+\tan^2y}\\
+ & = & \frac{1}{1+x^2}
+\end{eqnarray*}}
+
+\newproblem{diffeasy:cot}{%
+\(y = (\tan x)^{-1} = \cot x\)}{%
+\begin{eqnarray*}
+\frac{dy}{dx} & = & -(\tan x)^{-2}\sec^2x\\
+ & = & -\frac{\cos^2x}{\sin^2x}\cdot\frac{1}{\cos^2x}\\
+ & = & \frac{-1}{\sin^2x}\\
+ & = & -\csc^2x.
+\end{eqnarray*}}
+
+\newproblem{diffeasy:cosxsqsinx}{%
+$y = \cos(x^2)\sin x$.}{%
+\[\frac{dy}{dx} = -\sin(x^2)2x\sin x + \cos(x^2)\cos x\]}
+
+\newproblem{diffeasy:xlnx}{%
+$y = (x+1)\ln(x+1)$.}{%
+\begin{eqnarray*}
+\frac{dy}{dx} & = & \ln(x+1) + \frac{x+1}{x+1}\\
+ & = & 1 + \ln(x+1).
+\end{eqnarray*}}
+
+\newproblem{diffeasy:glng}{%
+$f(x) = g(x)\ln(g(x))$.}{%
+\begin{eqnarray*}
+f'(x) & = & g'(x)\ln(g(x)) + \frac{g(x)}{g(x)}g'(x)\\
+ & = & g'(x)(1+\ln(g(x))).
+\end{eqnarray*}}
+
+\newproblem{diffeasy:sinx/x}{%
+$y = \frac{\sin x}{x}$.}{%
+\[\frac{dy}{dx} = \frac{\cos x}{x} - \frac{\sin x}{x^2}\]}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/implicit.tex b/Master/texmf-dist/doc/latex/probsoln/samples/implicit.tex
new file mode 100644
index 00000000000..00453df3045
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/implicit.tex
@@ -0,0 +1,41 @@
+% These are all implicit differentiation problems
+
+\newproblem{imd:circ}{%
+Find the gradient of the unit circle ($x^2 + y^2 = 1$).}{%
+Differentiating with respect to $x$ gives:
+\begin{eqnarray*}
+2x + 2y\frac{dy}{dx} & = & 0\\
+\frac{dy}{dx} & = & \frac{-2x}{2y}\\
+ & = & \frac{-x}{\sqrt{1-x^2}}.
+\end{eqnarray*}}
+
+\newproblem{imd:ysq:xcuov2mx}{%
+Find $\frac{dy}{dx}$, given
+\begin{displaymath}
+y^2 = \frac{x^3}{2-x}
+\end{displaymath}}{%
+Differentiating both sides w.r.t.\ $x$:
+\begin{eqnarray*}
+2y\frac{dy}{dx} & = & \frac{(2-x)3x^2 - x^3(-1)}{(2-x)^2}\\
+ & = & \frac{3x^2(2-x) + x^3}{(2-x)^2}\\
+ & = & \frac{6x^2 - 3x^3 + x^3}{(2-x)^2}\\
+ & = & \frac{6x^2-2x^3}{(2-x)^2}\\
+ & = & 2x^2\frac{3-x}{(2-x)^2}
+\end{eqnarray*}
+Therefore
+\begin{displaymath}
+y\frac{dy}{dx} = x^2\frac{3-x}{(2-x)^2}
+\end{displaymath}}
+
+\newproblem{imd:exy:IIxay}{%
+Differentiate w.r.t.\ $x$:
+\begin{displaymath}
+e^{xy} = 2x + y
+\end{displaymath}}{%
+Differentiating both sides w.r.t.\ $x$:
+\begin{eqnarray*}
+e^{xy}(1y + x\frac{dy}{dx}) & = & 2 + \frac{dy}{dx}\\
+xe^{xy}\frac{dy}{dx} - \frac{dy}{dx} & = & 2 - ye^{xy} \\
+\frac{dy}{dx}(xe^{xy}-1) & = & 2 - ye^{xy}\\
+\frac{dy}{dx} & = & \frac{2-ye^{xy}}{xe^{xy}-1}
+\end{eqnarray*}}