summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-07-13 23:06:59 +0000
committerKarl Berry <karl@freefriends.org>2017-07-13 23:06:59 +0000
commit03542c01781307bd8cb29571d8a39197a4de83e2 (patch)
treeb11e221ce28f24eee3995a8efb51d2e76993472c
parent04f93eb1202717fcb407f1271d28f4153aaa0ca0 (diff)
probsoln (10jul17)
git-svn-id: svn://tug.org/texlive/trunk@44783 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/CHANGES5
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/README13
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/probsoln-manual.css253
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html2526
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/probsoln-manual.tex913
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/probsoln.pdfbin390794 -> 414955 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-1stprncp.tex63
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-args.tex49
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-easy.tex114
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-easy2.tex137
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-implicit.tex52
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-mchoice.tex37
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-mixed.tex78
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-newdata.tex27
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-nosoln.tex9
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces.tex33
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces2.tex43
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-tabmchoice.tex18
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/prob-verb.tex28
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdfbin0 -> 99030 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.tex56
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample.pdfbin81519 -> 81303 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample.tex52
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample2.pdfbin76287 -> 84108 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample2.tex51
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample3.pdfbin31901 -> 31898 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample3.tex53
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample4.pdfbin92920 -> 92887 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample4.tex51
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample5.pdfbin82851 -> 73973 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample5.tex51
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdfbin0 -> 26997 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample6.tex51
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdfbin0 -> 65512 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample7.tex51
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdfbin0 -> 35582 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample8.tex51
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdfbin0 -> 79269 bytes
-rw-r--r--Master/texmf-dist/doc/latex/probsoln/samples/sample9.tex19
-rw-r--r--Master/texmf-dist/source/latex/probsoln/probsoln.dtx124
-rw-r--r--Master/texmf-dist/source/latex/probsoln/probsoln.ins10
-rw-r--r--Master/texmf-dist/tex/latex/probsoln/probsoln.sty12
42 files changed, 827 insertions, 4203 deletions
diff --git a/Master/texmf-dist/doc/latex/probsoln/CHANGES b/Master/texmf-dist/doc/latex/probsoln/CHANGES
index 3c3efc2c943..058edce2aa1 100644
--- a/Master/texmf-dist/doc/latex/probsoln/CHANGES
+++ b/Master/texmf-dist/doc/latex/probsoln/CHANGES
@@ -1,5 +1,10 @@
probsoln package versions:
+Version 3.05:
+
+ * Now allows comma-separated list of file names in
+ \loadrandomproblems and \loadrandomexcept
+
Version 3.04:
* fixed bug in textenum
diff --git a/Master/texmf-dist/doc/latex/probsoln/README b/Master/texmf-dist/doc/latex/probsoln/README
index e3e0912a332..085e3e27ab0 100644
--- a/Master/texmf-dist/doc/latex/probsoln/README
+++ b/Master/texmf-dist/doc/latex/probsoln/README
@@ -1,9 +1,11 @@
-LaTeX Package : probsoln v3.04
+LaTeX Package : probsoln v3.05
-Last Modified : 2012-08-23
+Last Modified : 2017-07-10
Author : Nicola L.C. Talbot
+Package FAQ : http://www.dickimaw-books.com/faqs/probsolnfaq.html
+
Files : probsoln.dtx - documented source file
probsoln.ins - installation script
@@ -45,11 +47,10 @@ Comment out \OnlyDescription if you want the documented code.
If you experience difficulties, try reading the
troubleshooting section of the manual. If that doesn't
-help try
-http://theoval.cmp.uea.ac.uk/~nlct/latex/packages/faq/
+help try http://www.dickimaw-books.com/faqs/probsolnfaq.html
This material is subject to the LaTeX Project Public License.
-See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for
+See http://www.ctan.org/license/lppl1.3 for
the details of that license.
-http://theoval.cmp.uea.ac.uk/~nlct/
+http://www.dickimaw-books.com/
diff --git a/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.css b/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.css
deleted file mode 100644
index 86f6de1a936..00000000000
--- a/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.css
+++ /dev/null
@@ -1,253 +0,0 @@
-
-/* start css.sty */
-.ec-lmr-10x-x-109{}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{font-size:188%; font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmr-12x-x-120{font-size:130%;}
-.ec-lmtt-12x-x-120{font-size:130%; font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmtt-10{font-size:90%; font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.rm-lmr-8x-x-103{font-size:74%;}
-.lmmi-10x-x-109{}
-.lmmi-8x-x-103{font-size:74%;}
-.lmsy-10x-x-109{}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmr-10{font-size:90%;}
-.ec-lmr-9{font-size:81%;}
-.ec-lmtt-9{font-size:81%; font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-p.noindent { text-indent: 0em }
-td p.noindent { text-indent: 0em; margin-top:0em; }
-p.nopar { text-indent: 0em; }
-p.indent{ text-indent: 1.5em }
-@media print {div.crosslinks {visibility:hidden;}}
-a img { border-top: 0; border-left: 0; border-right: 0; }
-center { margin-top:1em; margin-bottom:1em; }
-td center { margin-top:0em; margin-bottom:0em; }
-.Canvas { position:relative; }
-img.math{vertical-align:middle;}
-li p.indent { text-indent: 0em }
-li p:first-child{ margin-top:0em; }
-li p:last-child, li div:last-child { margin-bottom:0.5em; }
-li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
-.enumerate1 {list-style-type:decimal;}
-.enumerate2 {list-style-type:lower-alpha;}
-.enumerate3 {list-style-type:lower-roman;}
-.enumerate4 {list-style-type:upper-alpha;}
-div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
-.obeylines-h,.obeylines-v {white-space: nowrap; }
-div.obeylines-v p { margin-top:0; margin-bottom:0; }
-.overline{ text-decoration:overline; }
-.overline img{ border-top: 1px solid black; }
-td.displaylines {text-align:center; white-space:nowrap;}
-.centerline {text-align:center;}
-.rightline {text-align:right;}
-div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; }
-.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-div.fbox {display:table}
-div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-div.minipage{width:100%;}
-div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
-div.center div {text-align: left;}
-div.flushright, div.flushright div.flushright {text-align: right;}
-div.flushright div {text-align: left;}
-div.flushleft {text-align: left;}
-.underline{ text-decoration:underline; }
-.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
-.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-.framebox-c {text-align:center;}
-.framebox-l {text-align:left;}
-.framebox-r {text-align:right;}
-span.thank-mark{ vertical-align: super }
-span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
-div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;}
-div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;}
-div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
-table.tabular td p{margin-top:0em;}
-table.tabular {margin-left: auto; margin-right: auto;}
-td p:first-child{ margin-top:0em; }
-td p:last-child{ margin-bottom:0em; }
-div.td00{ margin-left:0pt; margin-right:0pt; }
-div.td01{ margin-left:0pt; margin-right:5pt; }
-div.td10{ margin-left:5pt; margin-right:0pt; }
-div.td11{ margin-left:5pt; margin-right:5pt; }
-table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
-td.td00{ padding-left:0pt; padding-right:0pt; }
-td.td01{ padding-left:0pt; padding-right:5pt; }
-td.td10{ padding-left:5pt; padding-right:0pt; }
-td.td11{ padding-left:5pt; padding-right:5pt; }
-table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
-.hline hr, .cline hr{ height : 1px; margin:0px; }
-.tabbing-right {text-align:right;}
-span.TEX {letter-spacing: -0.125em; }
-span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
-a span.TEX span.E {text-decoration: none; }
-span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
-span.LATEX span.TEX{ position:relative; left: -0.4em; }
-div.float, div.figure {margin-left: auto; margin-right: auto;}
-div.float img {text-align:center;}
-div.figure img {text-align:center;}
-.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
-.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
-table.equation {width:100%;}
-.equation td{text-align:center; }
-td.equation { margin-top:1em; margin-bottom:1em; }
-td.equation-label { width:5%; text-align:center; }
-td.eqnarray4 { width:5%; white-space: normal; }
-td.eqnarray2 { width:5%; }
-table.eqnarray-star, table.eqnarray {width:100%;}
-div.eqnarray{text-align:center;}
-div.array {text-align:center;}
-div.pmatrix {text-align:center;}
-table.pmatrix {width:100%;}
-span.pmatrix img{vertical-align:middle;}
-div.pmatrix {text-align:center;}
-table.pmatrix {width:100%;}
-span.bar-css {text-decoration:overline;}
-img.cdots{vertical-align:middle;}
-.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
-.index-item, .index-subitem, .index-subsubitem {display:block}
-div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;}
-div.caption span.id{font-weight: bold; white-space: nowrap; }
-h1.partHead{text-align: center}
-p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
-p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
-.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
-.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
-.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;}
-.verse{white-space:nowrap; margin-left:2em}
-div.maketitle {text-align:center;}
-h2.titleHead{text-align:center;}
-div.maketitle{ margin-bottom: 2em; }
-div.author, div.date {text-align:center;}
-div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }
-.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
-.abstract p {margin-left:5%; margin-right:5%;}
-div.abstract {width:100%;}
-span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
-table.multicols { width:100%; margin-left:1em; margin-top:1em; margin-bottom:1em; }
-.equation td{text-align:center; }
-.equation-star td{text-align:center; }
-table.equation-star { width:100%; }
-table.equation { width:100%; }
-table.align, table.alignat, table.xalignat, table.xxalignat, table.flalign {width:100%; margin-left:5%; white-space: nowrap;}
-table.align-star, table.alignat-star, table.xalignat-star, table.flalign-star {margin-left:auto; margin-right:auto; white-space: nowrap;}
-td.align-label { width:5%; text-align:center; }
-td.align-odd { text-align:right; padding-right:0.3em;}
-td.align-even { text-align:left; padding-right:0.6em;}
-table.multline, table.multline-star {width:100%;}
-td.gather {text-align:center; }
-table.gather {width:100%;}
-div.gather-star {text-align:center;}
-div.important { background-color:red; }
-/* end css.sty */
-
diff --git a/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html b/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html
deleted file mode 100644
index 55dfa44a832..00000000000
--- a/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html
+++ /dev/null
@@ -1,2526 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
-<html xmlns="http://www.w3.org/1999/xhtml"
->
-<head><title>probsoln v3.04: creating problem sheets optionally with solutions</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
-<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
-<!-- xhtml,fn-in,css-in,uni-html4,utf8 -->
-<meta name="src" content="probsoln-manual.tex" />
-<meta name="date" content="2013-03-13 15:29:00" />
-
-<style type="text/css">
-<!--
-
-/* start css.sty */
-.ec-lmr-10x-x-109{}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmss-10x-x-109{ font-family: sans-serif;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-109{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{font-size:188%; font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmssbx-10x-x-207{ font-family: sans-serif; font-weight: bold;}
-.ec-lmr-12x-x-120{font-size:130%;}
-.ec-lmtt-12x-x-120{font-size:130%; font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-12x-x-120{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmtt-10x-x-109{ font-family: monospace;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmbx-10x-x-109{ font-weight: bold;}
-.ec-lmtt-10{font-size:90%; font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.ec-lmtt-10{ font-family: monospace;}
-.rm-lmr-8x-x-103{font-size:74%;}
-.lmmi-10x-x-109{}
-.lmmi-8x-x-103{font-size:74%;}
-.lmsy-10x-x-109{}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmri-10x-x-109{ font-style:italic;}
-.ec-lmr-10{font-size:90%;}
-.ec-lmr-9{font-size:81%;}
-.ec-lmtt-9{font-size:81%; font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-.ec-lmtt-9{ font-family: monospace;}
-p.noindent { text-indent: 0em }
-td p.noindent { text-indent: 0em; margin-top:0em; }
-p.nopar { text-indent: 0em; }
-p.indent{ text-indent: 1.5em }
-@media print {div.crosslinks {visibility:hidden;}}
-a img { border-top: 0; border-left: 0; border-right: 0; }
-center { margin-top:1em; margin-bottom:1em; }
-td center { margin-top:0em; margin-bottom:0em; }
-.Canvas { position:relative; }
-img.math{vertical-align:middle;}
-li p.indent { text-indent: 0em }
-li p:first-child{ margin-top:0em; }
-li p:last-child, li div:last-child { margin-bottom:0.5em; }
-li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
-.enumerate1 {list-style-type:decimal;}
-.enumerate2 {list-style-type:lower-alpha;}
-.enumerate3 {list-style-type:lower-roman;}
-.enumerate4 {list-style-type:upper-alpha;}
-div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
-.obeylines-h,.obeylines-v {white-space: nowrap; }
-div.obeylines-v p { margin-top:0; margin-bottom:0; }
-.overline{ text-decoration:overline; }
-.overline img{ border-top: 1px solid black; }
-td.displaylines {text-align:center; white-space:nowrap;}
-.centerline {text-align:center;}
-.rightline {text-align:right;}
-div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; }
-.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-div.fbox {display:table}
-div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-div.minipage{width:100%;}
-div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
-div.center div {text-align: left;}
-div.flushright, div.flushright div.flushright {text-align: right;}
-div.flushright div {text-align: left;}
-div.flushleft {text-align: left;}
-.underline{ text-decoration:underline; }
-.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
-.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
-.framebox-c {text-align:center;}
-.framebox-l {text-align:left;}
-.framebox-r {text-align:right;}
-span.thank-mark{ vertical-align: super }
-span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
-div.footnotes{border-top:solid 1px black; border-bottom:solid 1px black; padding-bottom:1ex; padding-top:0.5ex; margin-right:15%; margin-top:2ex; font-style:italic; font-size:85%;}
-div.footnotes p{margin-top:0; margin-bottom:0; text-indent:0;}
-div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
-table.tabular td p{margin-top:0em;}
-table.tabular {margin-left: auto; margin-right: auto;}
-td p:first-child{ margin-top:0em; }
-td p:last-child{ margin-bottom:0em; }
-div.td00{ margin-left:0pt; margin-right:0pt; }
-div.td01{ margin-left:0pt; margin-right:5pt; }
-div.td10{ margin-left:5pt; margin-right:0pt; }
-div.td11{ margin-left:5pt; margin-right:5pt; }
-table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
-td.td00{ padding-left:0pt; padding-right:0pt; }
-td.td01{ padding-left:0pt; padding-right:5pt; }
-td.td10{ padding-left:5pt; padding-right:0pt; }
-td.td11{ padding-left:5pt; padding-right:5pt; }
-table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
-.hline hr, .cline hr{ height : 1px; margin:0px; }
-.tabbing-right {text-align:right;}
-span.TEX {letter-spacing: -0.125em; }
-span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
-a span.TEX span.E {text-decoration: none; }
-span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
-span.LATEX span.TEX{ position:relative; left: -0.4em; }
-div.float, div.figure {margin-left: auto; margin-right: auto;}
-div.float img {text-align:center;}
-div.figure img {text-align:center;}
-.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
-.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
-table.equation {width:100%;}
-.equation td{text-align:center; }
-td.equation { margin-top:1em; margin-bottom:1em; }
-td.equation-label { width:5%; text-align:center; }
-td.eqnarray4 { width:5%; white-space: normal; }
-td.eqnarray2 { width:5%; }
-table.eqnarray-star, table.eqnarray {width:100%;}
-div.eqnarray{text-align:center;}
-div.array {text-align:center;}
-div.pmatrix {text-align:center;}
-table.pmatrix {width:100%;}
-span.pmatrix img{vertical-align:middle;}
-div.pmatrix {text-align:center;}
-table.pmatrix {width:100%;}
-span.bar-css {text-decoration:overline;}
-img.cdots{vertical-align:middle;}
-.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
-.index-item, .index-subitem, .index-subsubitem {display:block}
-div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;}
-div.caption span.id{font-weight: bold; white-space: nowrap; }
-h1.partHead{text-align: center}
-p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
-p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
-.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
-.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
-.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;}
-.verse{white-space:nowrap; margin-left:2em}
-div.maketitle {text-align:center;}
-h2.titleHead{text-align:center;}
-div.maketitle{ margin-bottom: 2em; }
-div.author, div.date {text-align:center;}
-div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }
-.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
-.abstract p {margin-left:5%; margin-right:5%;}
-div.abstract {width:100%;}
-span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
-table.multicols { width:100%; margin-left:1em; margin-top:1em; margin-bottom:1em; }
-.equation td{text-align:center; }
-.equation-star td{text-align:center; }
-table.equation-star { width:100%; }
-table.equation { width:100%; }
-table.align, table.alignat, table.xalignat, table.xxalignat, table.flalign {width:100%; margin-left:5%; white-space: nowrap;}
-table.align-star, table.alignat-star, table.xalignat-star, table.flalign-star {margin-left:auto; margin-right:auto; white-space: nowrap;}
-td.align-label { width:5%; text-align:center; }
-td.align-odd { text-align:right; padding-right:0.3em;}
-td.align-even { text-align:left; padding-right:0.6em;}
-table.multline, table.multline-star {width:100%;}
-td.gather {text-align:center; }
-table.gather {width:100%;}
-div.gather-star {text-align:center;}
-div.important { background-color:red; }
-/* end css.sty */
-
-
--->
-</style>
-</head><body
->
- <div class="maketitle">
-
-
-
-
-<div class="minipage"><a
- id="top"></a>
-</div>
-
-<h2 class="titleHead">probsoln v3.04: creating problem
-sheets optionally with solutions</h2>
- <div class="author" ><span
-class="ec-lmr-12x-x-120">Nicola L.C. Talbot</span>
-<br /> <span
-class="ec-lmr-12x-x-120">School of Computing Sciences</span>
-<br /> <span
-class="ec-lmr-12x-x-120">University of East Anglia</span>
-<br /> <span
-class="ec-lmr-12x-x-120">Norwich. Norfolk</span>
-<br /> <span
-class="ec-lmr-12x-x-120">NR4 7TJ. United Kingdom.</span>
-<br /><a
-href="http://theoval.cmp.uea.ac.uk/~nlct/" class="url" ><span
-class="ec-lmtt-12x-x-120">http://theoval.cmp.uea.ac.uk/~nlct/</span></a></div><br />
-<div class="date" ><span
-class="ec-lmr-12x-x-120">2012-08-23</span></div>
- </div>
- <h3 class="likesectionHead"><a
- id="x1-1000"></a>Contents</h3>
- <div class="tableofcontents">
- <span class="sectionToc" >1 <a
-href="#x1-20001" id="QQ2-1-2">Introduction</a></span>
-<br /> <span class="sectionToc" >2 <a
-href="#x1-30002" id="QQ2-1-3">Package Options</a></span>
-<br /> <span class="sectionToc" >3 <a
-href="#x1-40003" id="QQ2-1-4">Verbatim</a></span>
-<br /> <span class="sectionToc" >4 <a
-href="#x1-50004" id="QQ2-1-5">Showing and Hiding Solutions</a></span>
-<br /> <span class="sectionToc" >5 <a
-href="#x1-60005" id="QQ2-1-6">General Formatting Commands</a></span>
-<br /> <span class="sectionToc" >6 <a
-href="#x1-70006" id="QQ2-1-7">Defining a Problem</a></span>
-<br /> <span class="sectionToc" >7 <a
-href="#x1-80007" id="QQ2-1-8">Using a Problem</a></span>
-<br /> <span class="sectionToc" >8 <a
-href="#x1-90008" id="QQ2-1-9">Loading Problems From External Files</a></span>
-<br /> &#x00A0;<span class="subsectionToc" >8.1 <a
-href="#x1-100008.1" id="QQ2-1-10">Randomly Selecting Problems Not Selected in Previous Documents</a></span>
-<br /> <span class="sectionToc" >9 <a
-href="#x1-110009" id="QQ2-1-11">Iterating Through Datasets</a></span>
-<br /> <span class="sectionToc" >10 <a
-href="#x1-1200010" id="QQ2-1-12">Random Number Generator</a></span>
-<br /> <span class="sectionToc" >11 <a
-href="#x1-1300011" id="QQ2-1-13">Compatibility With Versions Prior to 3.0</a></span>
-<br /> <span class="sectionToc" ><a
-href="#Q1-1-14">Index</a></span>
-
-
- </div>
-<!--l. 40--><p class="noindent" >
-</p>
- <h3 class="sectionHead"><span class="titlemark">1 </span> <a
- id="x1-20001"></a>Introduction</h3>
-<!--l. 41--><p class="noindent" >The <span
-class="ec-lmss-10x-x-109">probsoln </span>package is designed for teachers or lecturers who want to
-create problem sheets for their students. This package was designed with
-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 <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
-class="E">E</span>X</span></span>, 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&#8217;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&#8217;s version or the teacher&#8217;s
-version.
-</p><!--l. 56--><p class="noindent" >
-</p>
-<!--l. 56--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">2 </span> <a
- id="x1-30002"></a>Package Options</h3>
-<!--l. 57--><p class="noindent" >The following options may be passed to this package:
- </p><dl class="description"><dt class="description">
-<span
-class="ec-lmssbx-10x-x-109">answers</span><a
- id="dx1-3001"></a> </dt><dd
-class="description">Show the answers
- </dd><dt class="description">
-<span
-class="ec-lmssbx-10x-x-109">noanswers</span><a
- id="dx1-3002"></a> </dt><dd
-class="description">Don&#8217;t show the answers (default)
- </dd><dt class="description">
-<span
-class="ec-lmssbx-10x-x-109">draft</span><a
- id="dx1-3003"></a> </dt><dd
-class="description">Display the label and dataset name when a problem is used
- </dd><dt class="description">
-<span
-class="ec-lmssbx-10x-x-109">final</span><a
- id="dx1-3004"></a> </dt><dd
-class="description">Don&#8217;t display label and dataset name when a problem is used
- </dd><dt class="description">
-<span
-class="ec-lmssbx-10x-x-109">usedefaultargs</span><a
- id="dx1-3005"></a> </dt><dd
-class="description">Make <span
-class="ec-lmtt-10x-x-109">\thisproblem</span><a
- id="dx1-3006"></a> use the default arguments supplied in
- the problem definition.
-
-
- </dd><dt class="description">
-<span
-class="ec-lmssbx-10x-x-109">nousedefaultargs</span><a
- id="dx1-3007"></a> </dt><dd
-class="description">Make <span
-class="ec-lmtt-10x-x-109">\thisproblem</span><a
- id="dx1-3008"></a> prompt for problem arguments
- (default).</dd></dl>
-<!--l. 69--><p class="noindent" >
-</p>
-<!--l. 69--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">3 </span> <a
- id="x1-40003"></a>Verbatim</h3>
-<!--l. 71--><p class="noindent" >As from version 3.02, problems and solutions may contain verbatim text, but
-you must use the <a
- id="dx1-4001"></a><span
-class="ec-lmtt-10x-x-109">fragile </span>(or <span
-class="ec-lmtt-10x-x-109">fragile=true</span>) option for the associated
-environments.
-</p><!--l. 75--><p class="indent" > Alternatively, if most of your problems contain verbatim, you can globally set
-this option using:
-
-
-</p>
- <div class="verbatim" id="verbatim-1">
-\setkeys{probsoln}{fragile}
-</div>
-<!--l. 79--><p class="nopar" > You can switch off this option using <span
-class="ec-lmtt-10x-x-109">fragile=false</span>.
-</p><!--l. 82--><p class="indent" > The <span
-class="ec-lmtt-10x-x-109">fragile </span>option writes information to a temporary file. This defaults to
-<span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\jobname.vrb</span></span></span> but the name may be changed. The extension (<span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">.vrb</span></span></span>) is given
-by:
-</p><!--l. 85--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\ProbSolnFragileExt</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-4002"></a> <span
-class="ec-lmtt-10x-x-109">\ProbSolnFragileExt </span></div><hr>
-</p><!--l. 87--><p class="noindent" >
-The base name (<span
-class="ec-lmtt-10x-x-109">\jobname</span>) is given by:
-</p><!--l. 89--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\ProbSolnFragileFile</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-4003"></a> <span
-class="ec-lmtt-10x-x-109">\ProbSolnFragileFile </span></div><hr>
-</p><!--l. 91--><p class="noindent" >
-</p><!--l. 93--><p class="noindent" >
-</p>
-<!--l. 93--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">4 </span> <a
- id="x1-50004"></a>Showing and Hiding Solutions</h3>
-<!--l. 95--><p class="noindent" >In addition to the <span
-class="ec-lmss-10x-x-109">answers</span><a
- id="dx1-5001"></a> and <span
-class="ec-lmss-10x-x-109">noanswers</span><a
- id="dx1-5002"></a> package options, it is also possible to
-show or suppress the solutions using
-</p><!--l. 98--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\showanswers</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-5003"></a> <span
-class="ec-lmtt-10x-x-109">\showanswers </span></div><hr>
-</p><!--l. 100--><p class="noindent" >
-and
-</p><!--l. 102--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\hideanswers</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-5004"></a> <span
-class="ec-lmtt-10x-x-109">\hideanswers </span></div><hr>
-</p><!--l. 104--><p class="noindent" >
-respectively.
-</p><!--l. 107--><p class="indent" > The boolean variable <span
-class="ec-lmss-10x-x-109">showanswers</span><a
- id="dx1-5005"></a> determines whether the answers should be
-displayed. You can use this value with the <span
-class="ec-lmss-10x-x-109">ifthen</span><a
- id="dx1-5006"></a> package to specify
-different text depending on whether the solutions should be displayed. For
-example:
-
-
-</p>
- <div class="verbatim" id="verbatim-2">
-Assignment&#x00A0;1\ifthenelse{\boolean{showanswers}}{&#x00A0;(Solution&#x00A0;Sheet)}{}
-</div>
-<!--l. 113--><p class="nopar" > Alternatively you can use <span
-class="ec-lmtt-10x-x-109">\ifshowanswers</span><a
- id="dx1-5007"></a>&#x2026;<span
-class="ec-lmtt-10x-x-109">\else</span>&#x2026;<span
-class="ec-lmtt-10x-x-109">\fi</span>:
-
-
-</p>
- <div class="verbatim" id="verbatim-3">
-Assignment&#x00A0;1\ifshowanswers\space&#x00A0;(Solution&#x00A0;Sheet)\fi
-</div>
-<!--l. 118--><p class="nopar" >
-</p><!--l. 120--><p class="indent" > For longer passages, you can use the environments
-</p><!--l. 121--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">onlyproblem</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-5008"></a><a
- id="dx1-5009"></a> <span
-class="ec-lmtt-10x-x-109">\begin{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">onlyproblem</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">option</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">] </span></div><hr>
-</p><!--l. 123--><p class="noindent" >
-and
-</p><!--l. 125--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">onlysolution</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-5010"></a><a
- id="dx1-5011"></a> <span
-class="ec-lmtt-10x-x-109">\begin{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">onlysolution</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">option</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">] </span></div><hr>
-</p><!--l. 127--><p class="noindent" >
-For example:
-
-
-</p>
- <div class="verbatim" id="verbatim-4">
-\begin{onlyproblem}%
-&#x00A0;<br />What&#x00A0;is&#x00A0;the&#x00A0;derivative&#x00A0;of&#x00A0;$f(x)&#x00A0;=&#x00A0;x^2$?
-&#x00A0;<br />\end{onlyproblem}%
-&#x00A0;<br />\begin{onlysolution}%
-&#x00A0;<br />$f&#8217;(x)&#x00A0;=&#x00A0;2x$
-&#x00A0;<br />\end{onlysolution}
-</div>
-<!--l. 136--><p class="nopar" > The above will only display the question if <span
-class="ec-lmss-10x-x-109">showanswers</span><a
- id="dx1-5012"></a> is false and will only
-display the solution if <span
-class="ec-lmss-10x-x-109">showanswers</span><a
- id="dx1-5013"></a> is true. If you want the question to appear in
-the answer sheet as well as the solution, then don&#8217;t put the question in the
-<span
-class="ec-lmss-10x-x-109">onlyproblem</span><a
- id="dx1-5014"></a><a
- id="dx1-5015"></a> environment:
-
-
-</p>
- <div class="verbatim" id="verbatim-5">
-What&#x00A0;is&#x00A0;the&#x00A0;derivative&#x00A0;of&#x00A0;$f(x)&#x00A0;=&#x00A0;x^2$?
-&#x00A0;<br />\begin{onlysolution}%
-&#x00A0;<br />Solution:&#x00A0;$f&#8217;(x)&#x00A0;=&#x00A0;2x$
-&#x00A0;<br />\end{onlysolution}
-</div>
-<!--l. 147--><p class="nopar" >
-</p><!--l. 149--><p class="indent" > <div class="important" title="Important Note"> If you want to include verbatim text in the body of <span
-class="ec-lmss-10x-x-109">onlyproblem</span><a
- id="dx1-5016"></a><a
- id="dx1-5017"></a> or
-<span
-class="ec-lmss-10x-x-109">onlysolution</span><a
- id="dx1-5018"></a><a
- id="dx1-5019"></a>, you need to specify <span
-class="ec-lmtt-10x-x-109">fragile </span>in the optional argument of the
-environment. (See <a
-href="#x1-40003">§3 </a><a
-href="#x1-40003">Verbatim<!--tex4ht:ref: sec:verbatim --></a> for further details.) </div>
-</p><!--l. 154--><p class="noindent" >
-</p><!--l. 156--><p class="indent" > If you use <span
-class="ec-lmss-10x-x-109">onlysolution </span>within the <span
-class="ec-lmss-10x-x-109">defproblem</span><a
- id="dx1-5020"></a><a
- id="dx1-5021"></a> environment, the problem will
-be tagged as having a solution and will be added to the list used by
-<span
-class="ec-lmtt-10x-x-109">\foreachsolution</span><a
- id="dx1-5022"></a>. The optional argument of <span
-class="ec-lmss-10x-x-109">onlysolution </span>(and <span
-class="ec-lmss-10x-x-109">onlyproblem</span><a
- id="dx1-5023"></a><a
- id="dx1-5024"></a>) is
-inherited from the parent <span
-class="ec-lmss-10x-x-109">defproblem</span><a
- id="dx1-5025"></a><a
- id="dx1-5026"></a> setting.
-</p><!--l. 162--><p class="noindent" >
-</p>
-<!--l. 162--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">5 </span> <a
- id="x1-60005"></a>General Formatting Commands</h3>
-<!--l. 164--><p class="noindent" >The commands and environments described in this section are provided to assist
-formatting problems and their solutions.
-</p><!--l. 166--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">solution</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-6001"></a><a
- id="dx1-6002"></a> <span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\begin{solution}</span></span></span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">text</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\end{solution}</span></span></span> </div><hr>
-</p><!--l. 168--><p class="noindent" >
-By default, this is equivalent to <spacer type=vertical size=10><span class="obeylines-h">
- <br /><span class="verb"><span
-class="ec-lmtt-10x-x-109">\par\noindent\textbf{\solutionname}:</span><span
-class="ec-lmtt-10x-x-109">&#x00A0;</span></span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">text</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>
- <br /><spacer type=vertical size=10></span>
-where <span class="marginpar"><span
-class="ec-lmtt-10">\solutionname</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-6003"></a><span
-class="ec-lmtt-10x-x-109">\solutionname </span>defaults to &#8220;Solution&#8221;. Note that you
-must place the <span
-class="ec-lmss-10x-x-109">solution</span><a
- id="dx1-6004"></a><a
- id="dx1-6005"></a> environment inside the <span
-class="ec-lmss-10x-x-109">onlysolution </span>environment or
-between <span
-class="ec-lmtt-10x-x-109">\ifshowanswers</span><a
- id="dx1-6006"></a>&#x2026;<span
-class="ec-lmtt-10x-x-109">\fi </span>to ensure that it is suppressed when the solutions
-are not wanted. (See <a
-href="#x1-50004">§4 </a><a
-href="#x1-50004">Showing and Hiding Solutions<!--tex4ht:ref: sec:showanswers --></a>.)
-</p><!--l. 181--><p class="indent" > Note that the <span
-class="ec-lmss-10x-x-109">probsoln </span>package will only define the <span
-class="ec-lmss-10x-x-109">solution</span><a
- id="dx1-6007"></a><a
- id="dx1-6008"></a> environment if it
-is not already defined.
-</p><!--l. 184--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">textenum</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-6009"></a><a
- id="dx1-6010"></a> <span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\begin{textenum}</span></span></span><span
-class="ec-lmtt-10x-x-109">&#x2026;</span><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\end{textenum}</span></span></span> </div><hr>
-</p><!--l. 186--><p class="noindent" >
-The <span
-class="ec-lmss-10x-x-109">textenum </span>environment is like the <span
-class="ec-lmss-10x-x-109">enumerate</span><a
- id="dx1-6011"></a><a
- id="dx1-6012"></a> environment but is in-line. It
-uses the same counter that the <span
-class="ec-lmss-10x-x-109">enumerate </span>environment would use at that level
-so the question can be compact but the answer can use <span
-class="ec-lmss-10x-x-109">enumerate </span>instead. For
-
-
-example:
-
-
-</p>
- <div class="verbatim" id="verbatim-6">
-\begin{onlyproblem}%
-&#x00A0;<br />&#x00A0;&#x00A0;Differentiate&#x00A0;the&#x00A0;following:
-&#x00A0;<br />&#x00A0;&#x00A0;\begin{textenum}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;\item&#x00A0;$f(x)=2^x$;&#x00A0;\item&#x00A0;$f(x)=\cot(x)$
-&#x00A0;<br />&#x00A0;&#x00A0;\end{textenum}
-&#x00A0;<br />\end{onlyproblem}
-&#x00A0;<br />\begin{onlysolution}
-&#x00A0;<br />&#x00A0;&#x00A0;\begin{enumerate}
-&#x00A0;<br />&#x00A0;&#x00A0;\item
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;\begin{align*}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;f(x)&#x00A0;&amp;=&#x00A0;2^x&#x00A0;=&#x00A0;\exp(\ln(x^2))&#x00A0;=\exp(2\ln(x))\\
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;f&#8217;(x)&#x00A0;&amp;=&#x00A0;\exp(2\ln(x))\times&#x00A0;\frac{2}{x}\\
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;=&#x00A0;f(x)\frac{2}{x}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;\end{align*}
-&#x00A0;<br />&#x00A0;&#x00A0;\item
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;\begin{align*}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;f(x)&#x00A0;&amp;=&#x00A0;\cot(x)&#x00A0;=&#x00A0;(\tan(x))^{-2}\\
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;f&#8217;(x)&#x00A0;&amp;=&#x00A0;-(\tan(x))^{-2}\times\sec^2(x)\\
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;=-\csc^2x
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;\end{align*}
-&#x00A0;<br />&#x00A0;&#x00A0;\end{enumerate}
-&#x00A0;<br />\end{onlysolution}
-</div>
-<!--l. 215--><p class="nopar" > In this example, the items in the question are brief, so an <span
-class="ec-lmss-10x-x-109">enumerate</span><a
- id="dx1-6013"></a><a
- id="dx1-6014"></a>
-environment would result in a lot of unnecessary white space, but the answers
-require more space, so an <span
-class="ec-lmss-10x-x-109">enumerate </span>environment is more appropriate. Since the
-<span
-class="ec-lmss-10x-x-109">textenum </span>environment uses the same counters as the <span
-class="ec-lmss-10x-x-109">enumerate </span>environment, the
-question and answer sheets use consistent labelling. Note that there are other
-packages available on CTAN that you can use to create in-line lists. Check the
-<a
-href="http://www.tex.ac.uk/tex-archive/help/Catalogue/bytopic.html#enumeration" >TeX Catalogue</a> for further details.
-</p><!--l. 227--><p class="indent" > <span class="marginpar"><span
-class="ec-lmtt-10">\correctitem</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-6015"></a><span class="marginpar"><span
-class="ec-lmtt-10">\incorrectitem</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-6016"></a>
-</p><!--l. 229--><p class="indent" > <hr><div title="Definition"><span
-class="ec-lmtt-10x-x-109">\correctitem</span><br
-class="newline" /><span
-class="ec-lmtt-10x-x-109">\incorrectitem </span></div><hr>
-</p><!--l. 231--><p class="noindent" >
-You can use the commands <span
-class="ec-lmtt-10x-x-109">\correctitem </span>and <span
-class="ec-lmtt-10x-x-109">\incorrectitem </span>in place of
-<span
-class="ec-lmtt-10x-x-109">\item</span><a
- id="dx1-6017"></a>. If the solutions are suppressed, these commands behave in the same way
-as <span
-class="ec-lmtt-10x-x-109">\item</span>, otherwise they format the item label using one of the commands:
-<span class="marginpar"><span
-class="ec-lmtt-10">\correctitemformat</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-6018"></a><span class="marginpar"><span
-class="ec-lmtt-10">\incorrectitemformat</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-6019"></a>
-</p><!--l. 238--><p class="indent" > <hr><div title="Definition"><span
-class="ec-lmtt-10x-x-109">\correctitemformat{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}</span><br
-class="newline" /><span
-class="ec-lmtt-10x-x-109">\incorrectitemformat{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 240--><p class="noindent" >
-For example:
-
-
-</p>
- <div class="verbatim" id="verbatim-7">
-Under&#x00A0;which&#x00A0;of&#x00A0;the&#x00A0;following&#x00A0;functions&#x00A0;does&#x00A0;$S=\{a_1,a_2\}$
-&#x00A0;<br />become&#x00A0;a&#x00A0;probability&#x00A0;space?
-&#x00A0;<br />\begin{enumerate}
-&#x00A0;<br />\incorrectitem&#x00A0;$P(a_1)=\frac{1}{3}$,&#x00A0;$P(a_2)=\frac{1}{2}$
-&#x00A0;<br />\correctitem&#x00A0;$P(a_1)=\frac{3}{4}$,&#x00A0;$P(a_2)=\frac{1}{4}$
-&#x00A0;<br />\correctitem&#x00A0;$P(a_1)=1$,&#x00A0;$P(a_2)=0$
-&#x00A0;<br />\incorrectitem&#x00A0;$P(a_1)=\frac{5}{4}$,&#x00A0;$P(a_2)=-\frac{1}{4}$
-&#x00A0;<br />\end{enumerate}
-</div>
-<!--l. 251--><p class="nopar" > The default definition of <span
-class="ec-lmtt-10x-x-109">\correctitemformat </span>puts a frame around the
-label.
-</p><!--l. 255--><p class="noindent" >
-</p>
-<!--l. 255--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">6 </span> <a
- id="x1-70006"></a>Defining a Problem</h3>
-<!--l. 257--><p class="noindent" >It is possible to construct a problem sheet with solutions using the commands
-described in the previous sections, however it is also possible to define a set of
-problems for later use. In this way you can create an external file containing
-many problems some or all of which can be loaded and used in a document. The
-<span
-class="ec-lmss-10x-x-109">probsoln </span>package has a default data set labelled &#8220;default&#8221; in which you can
-store problems. Alternatively, you can create multiple data sets. You
-can then iterate through each problem in a problem set. You can use a
-previously defined problem more than once, which means that by judicious
-use of <span
-class="ec-lmss-10x-x-109">onlyproblem</span><a
- id="dx1-7001"></a><a
- id="dx1-7002"></a>, <span
-class="ec-lmss-10x-x-109">onlysolution</span><a
- id="dx1-7003"></a><a
- id="dx1-7004"></a> or the <span
-class="ec-lmss-10x-x-109">showanswers</span><a
- id="dx1-7005"></a> boolean variable
-in conjunction with <span
-class="ec-lmtt-10x-x-109">\showanswers</span><a
- id="dx1-7006"></a> and <span
-class="ec-lmtt-10x-x-109">\hideanswers</span><a
- id="dx1-7007"></a>, you can print
-the solutions in a different location to the questions (for example in an
-appendix).
-</p><!--l. 272--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">defproblem</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-7008"></a><a
- id="dx1-7009"></a> <span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\begin{defproblem}</span></span></span><span
-class="ec-lmtt-10x-x-109">[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">][</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">default args</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">option</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]</span><br
-class="newline" /><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">definition</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><br
-class="newline" /><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\end{defproblem}</span></span></span> </div><hr>
-</p><!--l. 276--><p class="noindent" >
-This defines the problem whose label is given by <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>. The label must be
-unique for a given data set and should not contain active characters or
-a comma. (Active characters include the special characters such as $
-and &amp;, but some packages may make other symbols active, such as the
-colon (:) character. For example, the <span
-class="ec-lmss-10x-x-109">ngerman</span><a
- id="dx1-7010"></a> and <span
-class="ec-lmss-10x-x-109">babel</span><a
- id="dx1-7011"></a> packages make
-certain punctuation active. Check the relevant package documentation for
-details.)
-
-
-</p><!--l. 285--><p class="indent" > <div class="important" title="Important Note"> The final optional argument <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">option</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>may be <span
-class="ec-lmtt-10x-x-109">fragile </span>to indicate that the
-problem contains verbatim text. Any occurrences of <span
-class="ec-lmss-10x-x-109">onlyproblem</span><a
- id="dx1-7012"></a><a
- id="dx1-7013"></a> or <span
-class="ec-lmss-10x-x-109">onlysolution</span><a
- id="dx1-7014"></a><a
- id="dx1-7015"></a>
-contained within <span
-class="ec-lmss-10x-x-109">defproblem </span>are inherited from <span
-class="ec-lmss-10x-x-109">defproblem</span>. (See <a
-href="#x1-40003">§3 </a><a
-href="#x1-40003">Verbatim<!--tex4ht:ref: sec:verbatim --></a> for
-further details.) </div>
-</p><!--l. 291--><p class="noindent" >
-</p><!--l. 293--><p class="indent" > If <span
-class="ec-lmss-10x-x-109">defproblem</span><a
- id="dx1-7016"></a><a
- id="dx1-7017"></a> occurs in the document or is included via <span
-class="ec-lmtt-10x-x-109">\input</span><a
- id="dx1-7018"></a> or <span
-class="ec-lmtt-10x-x-109">\include</span><a
- id="dx1-7019"></a>,
-then the problem will be added to the default data set. If <span
-class="ec-lmss-10x-x-109">defproblem </span>occurs in
-an external file that is loaded using one of the commands defined in <a
-href="#x1-90008">§8 </a><a
-href="#x1-90008">Loading
-Problems From External Files<!--tex4ht:ref: sec:load --></a> then the problem will be added to the specified
-data set.
-</p><!--l. 300--><p class="indent" > The contents of the <span
-class="ec-lmss-10x-x-109">defproblem</span><a
- id="dx1-7020"></a><a
- id="dx1-7021"></a> environment should be the text that defines
-the problem. This may include any of the commands defined in <a
-href="#x1-50004">§4 </a><a
-href="#x1-50004">Showing and
-Hiding Solutions<!--tex4ht:ref: sec:showanswers --></a> and <a
-href="#x1-60005">§5 </a><a
-href="#x1-60005">General Formatting Commands<!--tex4ht:ref: sec:formatting --></a>.
-</p><!--l. 305--><p class="indent" > The problem may optionally take <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>arguments (where <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>is from 0 to 9).
-The arguments can be referenced in the definition via <span
-class="ec-lmtt-10x-x-109">#1</span>,&#x2026;,<span
-class="ec-lmtt-10x-x-109">#9</span>. If <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>is omitted
-then the problem doesn&#8217;t take any arguments. The following example defines a
-problem with one argument:
-
-
-</p>
- <div class="verbatim" id="verbatim-8">
-\begin{defproblem}[1]{diffsin}
-&#x00A0;<br />Differentiate&#x00A0;$f(x)=\sin(#1x)$.
-&#x00A0;<br />\begin{onlysolution}%
-&#x00A0;<br />&#x00A0;&#x00A0;\begin{solution}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;$f&#8217;(x)&#x00A0;=&#x00A0;#1\cos(#1x)$
-&#x00A0;<br />&#x00A0;&#x00A0;\end{solution}
-&#x00A0;<br />\end{onlysolution}
-&#x00A0;<br />\end{defproblem}
-</div>
-<!--l. 320--><p class="nopar" >
-</p><!--l. 322--><p class="indent" > The second optional argument <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">default args</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>supplies default problem
-arguments that will automatically be used within <span
-class="ec-lmtt-10x-x-109">\thisproblem</span><a
- id="dx1-7022"></a> when used in
-<span
-class="ec-lmtt-10x-x-109">\foreachproblem</span><a
- id="dx1-7023"></a> in conjunction with the package option <span
-class="ec-lmss-10x-x-109">usedefaultargs</span><a
- id="dx1-7024"></a>. (See <a
-href="#x1-110009">§9
-</a><a
-href="#x1-110009">Iterating Through Datasets<!--tex4ht:ref: sec:foreach --></a>.) For example:
-
-
-</p>
- <div class="verbatim" id="verbatim-9">
-\begin{defproblem}[1][{2}]{diffsin}
-&#x00A0;<br />Differentiate&#x00A0;$f(x)=\sin(#1x)$.
-&#x00A0;<br />\begin{onlysolution}%
-&#x00A0;<br />&#x00A0;&#x00A0;\begin{solution}
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;$f&#8217;(x)&#x00A0;=&#x00A0;#1\cos(#1x)$
-&#x00A0;<br />&#x00A0;&#x00A0;\end{solution}
-&#x00A0;<br />\end{onlysolution}
-&#x00A0;<br />\end{defproblem}
-</div>
-<!--l. 336--><p class="nopar" >
-</p><!--l. 338--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\newproblem</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-7025"></a> <span
-class="ec-lmtt-10x-x-109">\newproblem[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">][</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">default args</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">problem</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">solution</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}</span>
-</div><hr>
-</p><!--l. 340--><p class="noindent" >
-This is a shortcut command for: <span class="obeylines-h">
- <span
-class="ec-lmtt-10x-x-109">\begin{defproblem}[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">][</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">default args</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}%</span>
- <br /><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">problem</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">%</span>
- <br /><span
-class="ec-lmtt-10x-x-109">\begin{onlysolution}%</span>
- <br /><span
-class="ec-lmtt-10x-x-109">\begin{solution}%</span>
- <br /><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">solution</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">%</span>
- <br /><span
-class="ec-lmtt-10x-x-109">\end{solution}%</span>
- <br /><span
-class="ec-lmtt-10x-x-109">\end{onlysolution}%</span>
- <br /><span
-class="ec-lmtt-10x-x-109">\end{defproblem}</span></span>
-</p><!--l. 352--><p class="indent" > For example:
-
-
-</p>
- <div class="verbatim" id="verbatim-10">
-\newproblem[1]{diffsin}{%
-&#x00A0;<br />&#x00A0;&#x00A0;\(f(x)&#x00A0;=&#x00A0;\sin(#1x)\)
-&#x00A0;<br />}%
-&#x00A0;<br />{%
-&#x00A0;<br />&#x00A0;&#x00A0;\(f&#8217;(x)&#x00A0;=&#x00A0;#1\cos(#1x)\)
-&#x00A0;<br />}
-</div>
-<!--l. 360--><p class="nopar" > is equivalent to
-
-
-</p>
- <div class="verbatim" id="verbatim-11">
-\begin{defproblem}[1]{diffcos}%
-&#x00A0;<br />&#x00A0;&#x00A0;\(f(x)&#x00A0;=&#x00A0;\cos(#1x)\)
-&#x00A0;<br />\begin{onlysolution}%
-&#x00A0;<br />&#x00A0;&#x00A0;\begin{solution}%
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;\(f&#8217;(x)&#x00A0;=&#x00A0;-#1\sin(#1x)\)
-&#x00A0;<br />&#x00A0;&#x00A0;\end{solution}%
-&#x00A0;<br />\end{onlysolution}%
-&#x00A0;<br />\end{defproblem}
-</div>
-<!--l. 371--><p class="nopar" > (In this example, the argument will need to be a positive number to avoid a
-double minus in the answer. If you want to perform floating point arithmetic on
-the arguments, then try the <span
-class="ec-lmss-10x-x-109">fp</span><a
- id="dx1-7026"></a> or <span
-class="ec-lmss-10x-x-109">pgfmath</span><a
- id="dx1-7027"></a> packages.)
-</p><!--l. 377--><p class="indent" > Alternatively, if you want to supply default arguments to use when iterating
-through problems with <span
-class="ec-lmtt-10x-x-109">\foreachproblem</span><a
- id="dx1-7028"></a>:
-
-
-</p>
- <div class="verbatim" id="verbatim-12">
-\newproblem[1][{3}]{diffsin}{%
-&#x00A0;<br />&#x00A0;&#x00A0;\(f(x)&#x00A0;=&#x00A0;\sin(#1x)\)
-&#x00A0;<br />}%
-&#x00A0;<br />{%
-&#x00A0;<br />&#x00A0;&#x00A0;\(f&#8217;(x)&#x00A0;=&#x00A0;#1\cos(#1x)\)
-&#x00A0;<br />}
-</div>
-<!--l. 386--><p class="nopar" >
-</p><!--l. 389--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\newproblem*</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-7029"></a> <span
-class="ec-lmtt-10x-x-109">\newproblem*[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">][</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">default args</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">definition</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}</span>
-</div><hr>
-</p><!--l. 391--><p class="noindent" >
-This is a shortcut for: <span class="obeylines-h">
- <span
-class="ec-lmtt-10x-x-109">\begin{defproblem}[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">][</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">default args</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}%</span>
- <br /><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">definition</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">%</span>
- <br /><span
-class="ec-lmtt-10x-x-109">\end{defproblem}</span></span>
-</p><!--l. 399--><p class="indent" > <div class="important" title="Important Note"> Note that you can&#8217;t use verbatim text with <span
-class="ec-lmtt-10x-x-109">\newproblem </span>or <span
-class="ec-lmtt-10x-x-109">\newproblem*</span>.
-Use the <span
-class="ec-lmss-10x-x-109">defproblem</span><a
- id="dx1-7030"></a><a
- id="dx1-7031"></a> environment instead with the <span
-class="ec-lmtt-10x-x-109">fragile option</span>. </div>
-</p><!--l. 403--><p class="noindent" >
-</p><!--l. 405--><p class="noindent" >
-</p>
-<!--l. 405--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">7 </span> <a
- id="x1-80007"></a>Using a Problem</h3>
-<!--l. 407--><p class="noindent" >Once you have defined a problem using <span
-class="ec-lmss-10x-x-109">defproblem</span><a
- id="dx1-8001"></a><a
- id="dx1-8002"></a> or <span
-class="ec-lmtt-10x-x-109">\newproblem</span><a
- id="dx1-8003"></a> (see <a
-href="#x1-70006">§6
-</a><a
-href="#x1-70006">Defining a Problem<!--tex4ht:ref: sec:defproblem --></a>), you can later display the problem using:
-</p><!--l. 410--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\useproblem</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-8004"></a> <span
-class="ec-lmtt-10x-x-109">\useproblem[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">arg</span><sub><span
-class="rm-lmr-8x-x-103">1</span></sub><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}</span><span
-class="ec-lmtt-10x-x-109">&#x2026;{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">arg</span><sub><span
-class="lmmi-8x-x-103">N</span></sub><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}</span>
-</div><hr>
-</p><!--l. 413--><p class="noindent" >
-where <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>is the name of the data set that contains the problem (the
-default data set is used if omitted), <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">label</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>is the label identifying the required
-problem and <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">arg</span><sub><span
-class="rm-lmr-8x-x-103">1</span></sub><span
-class="lmsy-10x-x-109">&#x27E9;</span>, &#x2026;, <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">arg</span><sub><span
-class="lmmi-8x-x-103">N</span></sub><span
-class="lmsy-10x-x-109">&#x27E9; </span>are the arguments to pass to the problem, if the
-problem was defined to have arguments (where <span
-class="lmmi-10x-x-109">N </span>is the number of arguments
-specified when the problem was defined).
-</p><!--l. 422--><p class="indent" > For example, in the previous section the problem <span
-class="ec-lmtt-10x-x-109">diffcos </span>was defined to have
-one argument, so it can be used as follows:
-
-
-</p>
- <div class="verbatim" id="verbatim-13">
-\useproblem{diffcos}{3}
-</div>
-<!--l. 426--><p class="nopar" > This will be equivalent to:
-
-
-</p>
- <div class="verbatim" id="verbatim-14">
-\(f(x)&#x00A0;=&#x00A0;\cos(3x)\)
-&#x00A0;<br />\begin{onlysolution}%
-&#x00A0;<br />\begin{solution}%
-&#x00A0;<br />\(f&#8217;(x)&#x00A0;=&#x00A0;-3\sin(3x)\)
-&#x00A0;<br />\end{solution}%
-&#x00A0;<br />\end{onlysolution}%
-</div>
-<!--l. 435--><p class="nopar" >
-</p><!--l. 437--><p class="noindent" >
-</p>
-<!--l. 437--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">8 </span> <a
- id="x1-90008"></a>Loading Problems From External Files</h3>
-<!--l. 439--><p class="noindent" >You can store all your problem definitions (see <a
-href="#x1-70006">§6 </a><a
-href="#x1-70006">Defining a Problem<!--tex4ht:ref: sec:defproblem --></a>) in an
-external file. These problems can all be appended to the default data set by
-including the file via <span
-class="ec-lmtt-10x-x-109">\input</span><a
- id="dx1-9001"></a> or they can be appended to other data sets
-using one of the commands described below. Once you have loaded all
-the required problems, you can iterate through the data sets using the
-commands described in <a
-href="#x1-110009">§9 </a><a
-href="#x1-110009">Iterating Through Datasets<!--tex4ht:ref: sec:foreach --></a>. Note that the
-commands below will create a new data set, if the named data set doesn&#8217;t
-exist.
-</p><!--l. 450--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\loadallproblems</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-9002"></a> <span
-class="ec-lmtt-10x-x-109">\loadallproblems[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 452--><p class="noindent" >
-This will load all problems defined in <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>and append them to the
-specified data set, in the order in which they are defined in the file. If <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>
-is omitted, the default data set will be used. If <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>doesn&#8217;t exist, it will be
-created.
-</p><!--l. 459--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\loadselectedproblems</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-9003"></a> <span
-class="ec-lmtt-10x-x-109">\loadselectedproblems[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">labels</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}</span>
-</div><hr>
-</p><!--l. 461--><p class="noindent" >
-This is like <span
-class="ec-lmtt-10x-x-109">\loadallproblems</span>, but only those problems whose label is listed in
-the comma-separated list <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">labels</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>are loaded. For example, if I have some
-problems defined in the file <span
-class="ec-lmtt-10x-x-109">derivatives.tex</span>, then
-
-
-</p>
- <div class="verbatim" id="verbatim-15">
-\loadselectedproblems{diffsin,diffcos}{derivatives}
-</div>
-<!--l. 468--><p class="nopar" > will only load the problems whose labels are <span
-class="ec-lmtt-10x-x-109">diffsin </span>and <span
-class="ec-lmtt-10x-x-109">diffcos</span>,
-respectively. All the other problems in the file will remain undefined.
-</p><!--l. 473--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\loadexceptproblems</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-9004"></a> <span
-class="ec-lmtt-10x-x-109">\loadexceptproblems[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">exception</span>
-<span
-class="ec-lmri-10x-x-109">list</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 475--><p class="noindent" >
-This is the reverse of <span
-class="ec-lmtt-10x-x-109">\loadselectedproblems</span>. This loads all problems except
-those whose labels are listed in <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">exception list</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>.
-</p><!--l. 480--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\loadrandomproblems</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-9005"></a> <span
-class="ec-lmtt-10x-x-109">\loadrandomproblems[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}</span>
-</div><hr>
-</p><!--l. 482--><p class="noindent" >
-This randomly loads <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>problems from <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>and adds them to the given
-data set. If <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>is omitted, the default data set is assumed. Note that the
-problems will be added to the data set in a random order, not in the order in
-which they were defined. There must be at least <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>problems defined in
-<span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>.
-</p><!--l. 490--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\loadrandomexcept</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-9006"></a> <span
-class="ec-lmtt-10x-x-109">\loadrandomexcept[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">exception</span>
-<span
-class="ec-lmri-10x-x-109">list</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 493--><p class="noindent" >
-This is similar to <span
-class="ec-lmtt-10x-x-109">\loadrandomproblems </span>except that it won&#8217;t load those
-problems whose labels are listed in <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">exception list</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>. <span
-class="ec-lmbx-10x-x-109">If you want to</span>
-<span
-class="ec-lmbx-10x-x-109">automatically exclude problems included in previous documents, see</span>
-<a
-href="#x1-100008.1"><span
-class="ec-lmbx-10x-x-109">§8.1 </span></a><a
-href="#x1-100008.1"><span
-class="ec-lmbx-10x-x-109">Randomly Selecting Problems Not Selected in Previous</span>
-<span
-class="ec-lmbx-10x-x-109">Documents</span><!--tex4ht:ref: sec:exprev --></a><span
-class="ec-lmbx-10x-x-109">.</span>
-</p><!--l. 499--><p class="indent" > Note that the random number generator has been modified in version 3.01 in
-order to fix a bug. If you want to ensure that your random numbers are
-compatible with earlier versions, you can switch to the old generator
-using
-</p><!--l. 503--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\PSNuseoldrandom</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-9007"></a> <span
-class="ec-lmtt-10x-x-109">\PSNuseoldrandom </span></div><hr>
-</p><!--l. 505--><p class="noindent" >
-</p><!--l. 507--><p class="indent" > <div class="important" title="Important Note"> It is generally not a good idea to place anything in <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>that is not
-inside the body of <span
-class="ec-lmss-10x-x-109">defproblem</span><a
- id="dx1-9008"></a><a
- id="dx1-9009"></a> or in the arguments to <span
-class="ec-lmtt-10x-x-109">\newproblem</span><a
- id="dx1-9010"></a> or
-<span
-class="ec-lmtt-10x-x-109">\newproblem*</span><a
- id="dx1-9011"></a>. All the commands in this section input the external file within a
-local scope, so command definitions would need to be made global to have any
-effect. In addition, <span
-class="ec-lmtt-10x-x-109">\loadrandomproblems </span>has to load each file twice, which
-means that anything outside a problem definition will be parsed twice.
-</div>
-
-
-</p><!--l. 516--><p class="noindent" >
-</p><!--l. 519--><p class="noindent" >
-</p>
-<!--l. 519--><p class="noindent" ><a
-href="#top">Top</a></p><h4 class="subsectionHead"><span class="titlemark">8.1 </span> <a
- id="x1-100008.1"></a>Randomly Selecting Problems Not Selected in Previous Documents</h4>
-<!--l. 522--><p class="noindent" >Suppose you have a large set of questions that you want to randomly select for
-assignments and exams. The chances are, you don&#8217;t want to include questions
-that have been previously set for, say, the last three years. That is, you don&#8217;t
-want to select questions the students may already have seen. As from version
-3.03, you can now do this.
-</p><!--l. 529--><p class="indent" > The <span
-class="ec-lmss-10x-x-109">probsoln</span><a
- id="dx1-10001"></a> package defaults to the UK academic year, which starts in
-September. If this isn&#8217;t appropriate, you can change it using:
-</p><!--l. 532--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\SetStartMonth</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-10002"></a> <span
-class="ec-lmtt-10x-x-109">\SetStartMonth{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 534--><p class="noindent" >
-where <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>is the number of the month. (1 = January, 2 = February,
-etc.)
-</p><!--l. 538--><p class="indent" > The <span
-class="ec-lmri-10x-x-109">start year </span>is the calender year in effect when the academic
-year started. For example, if this is the academic year 2011/12, then
-the start year is 2011. This is automatically set to the start of the
-current academic year. It is also updated when <span
-class="ec-lmtt-10x-x-109">\SetStartMonth </span>is
-used.<span class="footnote-mark"><a
-href="#fn1x0" id="fn1x0-bk"><sup class="textsuperscript">1</sup></a></span><a
- id="x1-10003f1"></a>
-If you want to set it to a specific year, you can use:
-</p><!--l. 545--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\SetStartYear</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-10004"></a> <span
-class="ec-lmtt-10x-x-109">\SetStartYear{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">year</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 547--><p class="noindent" >
-For example: <span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\SetStartYear{2008}</span></span></span> indicates the academic year 2008/9.
-</p><!--l. 551--><p class="indent" > There are two files concerned with previously used labels. They are:
- </p><dl class="description"><dt class="description">
-<span
-class="ec-lmssbx-10x-x-109">The previously used labels file</span> </dt><dd
-class="description">This keeps track of all problems used in
- previous years, as well as problems used by other documents that have
- this as their previously used labels file, and it contains the problem
- labels from the last run of the current document.
- </dd><dt class="description">
-<span
-class="ec-lmssbx-10x-x-109">The current used labels file</span> </dt><dd
-class="description">This defaults to <span
-class="ec-lmtt-10x-x-109">\jobname.prb</span>, but the name can
- be changed using:
- <!--l. 562--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\SetUsedFileName</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-10005"></a> <span
-class="ec-lmtt-10x-x-109">\SetUsedFileName{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">name</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
- </p><!--l. 564--><p class="noindent" >
- This file keeps track of all the labels used in the current document from
- the previous <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
-class="E">E</span>X</span></span>&#x00A0;run. Note that if you want to delete this file, first
- clear it using
-
-
- </p><!--l. 568--><p class="noindent" ><hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\ClearUsedFile</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-10006"></a> <span
-class="ec-lmtt-10x-x-109">\ClearUsedFile{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">file</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
- </p><!--l. 570--><p class="noindent" >
- in place of <span
-class="ec-lmtt-10x-x-109">\ExcludePreviousFile{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">file</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}</span>, described below. The
- argument <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">file</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>is the previously used labels file described above.
- <span
-class="ec-lmtt-10x-x-109">\ClearUsedFile </span>will remove all labels in the current used labels file from
- the previously used labels file and clear the current used labels file. Once
- this file is empty, it may then be deleted.
-</p>
- </dd></dl>
-<!--l. 580--><p class="indent" > Before loading randomly selected problems, first specify the previously used
-labels file with the command:
-</p><!--l. 582--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\ExcludePreviousFile</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-10007"></a> <span
-class="ec-lmtt-10x-x-109">\ExcludePreviousFile[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">number of years</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">file</span>
-<span
-class="ec-lmri-10x-x-109">name</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 584--><p class="noindent" >
-where <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">file name</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>is the name of the previously used file. The optional argument
-<span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">number of years</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>specifies the year cut-off. This defaults to 3, which means that
-only those labels used this year or the previous 2 years will be kept. Any
-problems used before then may be reused.
-</p><!--l. 591--><p class="indent" > Suppose I&#8217;m lecturing a first year undergraduate mathematics course
-(designated, say, mth101). I want to set assignments on each topic and an exam
-at the end of the year (as well as a resit or second sitting paper). I&#8217;ve got
-databases with problems for each topic, but the first and second sitting
-exams mustn&#8217;t include any of the problems used in the assignments
-or any problems used in assignments or exams for the previous two
-academic years. I&#8217;m going to arrange my directory structure as follows:
-</p>
- <ul class="itemize1">
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">mth101/</span>
- <ul class="itemize2">
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">assignment1/ </span>(differentiation)
- <ul class="itemize3">
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">assignment1.tex</span></li></ul>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">assignment2/ </span>(probability spaces)
- <ul class="itemize3">
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">assignment2.tex</span></li></ul>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">assignment3/ </span>(linear algebra)
- <ul class="itemize3">
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">assignment3.tex</span></li></ul>
-
-
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">exams/</span>
- <ul class="itemize3">
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">exam.tex </span>(first sitting)
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">resit.tex </span>(second sitting)</li></ul>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">databases/</span>
- <ul class="itemize3">
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">differentiation.tex</span>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">probabilityspaces.tex</span>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">linearalgebra.tex</span></li></ul>
- </li>
- <li class="itemize"><span
-class="ec-lmtt-10x-x-109">previouslabels.tex </span>(created by <span
-class="ec-lmss-10x-x-109">probsoln</span><a
- id="dx1-10008"></a>)</li></ul>
- </li></ul>
-<!--l. 629--><p class="noindent" >
-</p>
-<!--l. 629--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">9 </span> <a
- id="x1-110009"></a>Iterating Through Datasets</h3>
-<!--l. 631--><p class="noindent" >Once you have defined all your problems for a given data set, you can use an
-individual problem with <span
-class="ec-lmtt-10x-x-109">\useproblem</span><a
- id="dx1-11001"></a> (see <a
-href="#x1-80007">§7 </a><a
-href="#x1-80007">Using a Problem<!--tex4ht:ref: sec:useproblem --></a>) but it is more
-likely that you will want to iterate through all the problems so that
-you don&#8217;t need to remember the labels of all the problems you have
-defined.
-</p><!--l. 637--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\foreachproblem</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-11002"></a> <span
-class="ec-lmtt-10x-x-109">\foreachproblem[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">body</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 639--><p class="noindent" >
-This does <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">body</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>for each problem in the given data set. If <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>is omitted,
-the default data set is used. Within <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">body</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>you can use
-</p><!--l. 643--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\thisproblem</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-11003"></a> <span
-class="ec-lmtt-10x-x-109">\thisproblem </span></div><hr>
-</p><!--l. 645--><p class="noindent" >
-to use the current problem and
-</p><!--l. 647--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\thisproblemlabel</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-11004"></a> <span
-class="ec-lmtt-10x-x-109">\thisproblemlabel </span></div><hr>
-</p><!--l. 649--><p class="noindent" >
-to access the current label. If the problem requires arguments, and no default
-arguments were supplied in the problem definition or the package option
-<span
-class="ec-lmss-10x-x-109">usedefaultargs</span><a
- id="dx1-11005"></a> was not used, then you will be prompted for arguments, so if you
-
-
-want to use this approach you will need to use <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
-class="E">E</span>X</span></span>&#x00A0;in interactive mode. If
-you do provide arguments, they will be stored in the event that you need to
-iterate through the data set again. The arguments will be included in
-<span
-class="ec-lmtt-10x-x-109">\thisproblem</span>, so you only need to use <span
-class="ec-lmtt-10x-x-109">\thisproblem </span>without having to specify
-<span
-class="ec-lmtt-10x-x-109">\useproblem</span><a
- id="dx1-11006"></a>.
-</p><!--l. 661--><p class="indent" > For example, to iterate through all problems in the default data set:
-
-
-</p>
- <div class="verbatim" id="verbatim-16">
-\begin{enumerate}
-&#x00A0;<br />\foreachproblem{\item\thisproblem}
-&#x00A0;<br />\end{enumerate}
-</div>
-<!--l. 667--><p class="nopar" >
-</p><!--l. 669--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\foreachsolution</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-11007"></a> <span
-class="ec-lmtt-10x-x-109">\foreachsolution[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">data set</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">body</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 671--><p class="noindent" >
-This is equivalent to <span
-class="ec-lmtt-10x-x-109">\foreachsolution</span>, but only iterates through problems
-that contain the <span
-class="ec-lmss-10x-x-109">onlysolution</span><a
- id="dx1-11008"></a><a
- id="dx1-11009"></a> environment. Note that you still need to use
-<span
-class="ec-lmtt-10x-x-109">\showanswers</span><a
- id="dx1-11010"></a> or the <span
-class="ec-lmss-10x-x-109">answers</span><a
- id="dx1-11011"></a> package option for the contents of the <span
-class="ec-lmss-10x-x-109">onlysolution</span><a
- id="dx1-11012"></a><a
- id="dx1-11013"></a>
-environment to appear.
-</p><!--l. 678--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\foreachdataset</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-11014"></a> <span
-class="ec-lmtt-10x-x-109">\foreachdataset{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">cmd</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">body</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 680--><p class="noindent" >
-This does <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">body</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>for each of the defined data sets. Within <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">body</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>, <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">cmd</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>will be
-set to the name of the current data set. For example, to display all problems in
-all data sets:
-
-
-</p>
- <div class="verbatim" id="verbatim-17">
-\begin{enumerate}
-&#x00A0;<br />\foreachdataset{\thisdataset}{%
-&#x00A0;<br />\foreachproblem[\thisdataset]{\item\thisproblem}}
-&#x00A0;<br />\end{enumerate}
-</div>
-<!--l. 689--><p class="nopar" >
-</p><!--l. 691--><p class="indent" > Suppose I have two external files called <span
-class="ec-lmtt-10x-x-109">derivatives.tex </span>and
-<span
-class="ec-lmtt-10x-x-109">probspaces.tex </span>which define problems using both <span
-class="ec-lmss-10x-x-109">onlyproblem</span><a
- id="dx1-11015"></a><a
- id="dx1-11016"></a> and <span
-class="ec-lmss-10x-x-109">onlysolution</span><a
- id="dx1-11017"></a><a
- id="dx1-11018"></a>
-for example:
-
-
-</p>
- <div class="verbatim" id="verbatim-18">
-\begin{defproblem}{cosxsqsinx}%
-&#x00A0;<br />\begin{onlyproblem}%
-&#x00A0;<br />$y&#x00A0;=&#x00A0;\cos(x^2)\sin&#x00A0;x$.%
-&#x00A0;<br />\end{onlyproblem}%
-&#x00A0;<br />\begin{onlysolution}%
-&#x00A0;<br />\[\frac{dy}{dx}&#x00A0;=&#x00A0;-\sin(x^2)2x\sin&#x00A0;x&#x00A0;+&#x00A0;\cos(x^2)\cos&#x00A0;x\]
-&#x00A0;<br />\end{onlysolution}%
-&#x00A0;<br />\end{defproblem}
-</div>
-<!--l. 704--><p class="nopar" > I can write a document that creates two data sets, one for the derivative
-problems and one for the problems about probability spaces. I can then use
-<span
-class="ec-lmtt-10x-x-109">\hideanswers</span><a
- id="dx1-11019"></a> and iterate through the require data set to produce the
-problems. Later, I can use <span
-class="ec-lmtt-10x-x-109">\showanswers</span><a
- id="dx1-11020"></a> and iterate over all problems defined
-in both data sets to produce the chapter containing all the answers. When
-displaying the questions, I have taken advantage of the fact that I can
-cross-reference items within an <span
-class="ec-lmss-10x-x-109">enumerate</span><a
- id="dx1-11021"></a><a
- id="dx1-11022"></a> environment, and redefined
-<span
-class="ec-lmtt-10x-x-109">\theenumi</span><a
- id="dx1-11023"></a> to label the questions according to the chapter. The cross-reference
-label is constructed from the problem label and is referenced in the
-answer section to ensure that the answers have the same label as the
-questions.
-
-
-</p>
- <div class="verbatim" id="verbatim-19">
-\documentclass{report}
-&#x00A0;<br />\usepackage{probsoln}
-&#x00A0;<br />\begin{document}
-&#x00A0;<br />\hideanswers
-&#x00A0;<br />\chapter{Differentiation}
-&#x00A0;<br />&#x00A0;randomly&#x00A0;select&#x00A0;25&#x00A0;problems&#x00A0;from&#x00A0;derivatives.tex&#x00A0;and&#x00A0;add&#x00A0;to
-&#x00A0;<br />&#x00A0;the&#x00A0;data&#x00A0;set&#x00A0;called&#x00A0;&#8217;deriv&#8217;
-&#x00A0;<br />\loadrandomproblems[deriv]{25}{derivatives}
-&#x00A0;<br />&#x00A0;Display&#x00A0;the&#x00A0;problems
-&#x00A0;<br />\renewcommand{\theenumi}{\thechapter.\arabic{enumi}}
-&#x00A0;<br />\begin{enumerate}
-&#x00A0;<br />\foreachproblem[deriv]{\item\label{prob:\thisproblemlabel}\thisproblem}
-&#x00A0;<br />\end{enumerate}
-&#x00A0;<br />&#x00A0;You&#x00A0;may&#x00A0;need&#x00A0;to&#x00A0;change&#x00A0;\theenumi&#x00A0;back&#x00A0;here
-&#x00A0;<br />\chapter{Probability&#x00A0;Spaces}
-&#x00A0;<br />&#x00A0;randomly&#x00A0;select&#x00A0;25&#x00A0;problems&#x00A0;from&#x00A0;probspaces.tex&#x00A0;and&#x00A0;add&#x00A0;to
-&#x00A0;<br />&#x00A0;the&#x00A0;data&#x00A0;set&#x00A0;called&#x00A0;&#8217;spaces&#8217;
-&#x00A0;<br />\loadrandomproblems[spaces]{25}{probspaces}
-&#x00A0;<br />&#x00A0;Display&#x00A0;the&#x00A0;problems
-&#x00A0;<br />\renewcommand{\theenumi}{\thechapter.\arabic{enumi}}
-&#x00A0;<br />\begin{enumerate}
-&#x00A0;<br />\foreachproblem[spaces]{\item\label{prob:\thisproblemlabel}\thisproblem}
-&#x00A0;<br />\end{enumerate}
-&#x00A0;<br />&#x00A0;You&#x00A0;may&#x00A0;need&#x00A0;to&#x00A0;change&#x00A0;\theenumi&#x00A0;back&#x00A0;here
-&#x00A0;<br />\appendix
-&#x00A0;<br />\chapter{Solutions}
-&#x00A0;<br />\showanswers
-&#x00A0;<br />\begin{itemize}
-&#x00A0;<br />\foreachdataset{\thisdataset}{%
-&#x00A0;<br />\foreachproblem[\thisdataset]{\item[\ref{prob:\thisproblemlabel}]\thisproblem}
-&#x00A0;<br />}
-&#x00A0;<br />\end{itemize}
-&#x00A0;<br />\end{document}
-</div>
-<!--l. 757--><p class="nopar" >
-
-
-</p><!--l. 759--><p class="noindent" >
-</p>
-<!--l. 759--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">10 </span> <a
- id="x1-1200010"></a>Random Number Generator</h3>
-<!--l. 761--><p class="noindent" >This package provides a pseudo-random number generator that is used by
-<span
-class="ec-lmtt-10x-x-109">\loadrandomproblems</span><a
- id="dx1-12001"></a>. As noted earlier the random number generator has been
-modified in version 3.01 in order to fix a bug. If you want to ensure that your
-random numbers are compatible with earlier versions, you can switch to the old
-generator using
-</p><!--l. 766--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\PSNuseoldrandom</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-12002"></a> <span
-class="ec-lmtt-10x-x-109">\PSNuseoldrandom </span></div><hr>
-</p><!--l. 768--><p class="noindent" >
-</p><!--l. 770--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\PSNrandseed</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-12003"></a> <span
-class="ec-lmtt-10x-x-109">\PSNrandseed{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 772--><p class="noindent" >
-This sets the seed to <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>which must be a non-zero integer. For example, to
-generate a different set of random numbers every time you <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
-class="E">E</span>X</span></span>&#x00A0;your
-document,<span class="footnote-mark"><a
-href="#fn2x0" id="fn2x0-bk"><sup class="textsuperscript">2</sup></a></span><a
- id="x1-12004f2"></a>
-put the following in your preamble:
-
-
-</p>
- <div class="verbatim" id="verbatim-20">
-\PSNrandseed{\time}
-</div>
-<!--l. 780--><p class="nopar" > or to generate a different set of random numbers every year you <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
-class="E">E</span>X</span></span>&#x00A0;your
-document:
-
-
-</p>
- <div class="verbatim" id="verbatim-21">
-\PSNrandseed{\year}
-</div>
-<!--l. 785--><p class="nopar" >
-</p><!--l. 787--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\PSNgetrandseed</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-12005"></a> <span
-class="ec-lmtt-10x-x-109">\PSNgetrandseed{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">register</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 789--><p class="noindent" >
-This stores the current seed in the count register specified by <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">register</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>. For
-example:
-
-
-</p>
- <div class="verbatim" id="verbatim-22">
-\newcount\myseed
-&#x00A0;<br />\PSNgetrandseed{\myseed}
-</div>
-<!--l. 796--><p class="nopar" >
-</p><!--l. 798--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\PSNrandom</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-12006"></a> <span
-class="ec-lmtt-10x-x-109">\PSNrandom{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">register</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 800--><p class="noindent" >
-Generates a random integer from 1 to <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>and stores in the count register
-specified by <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">register</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>. For example, the following generates an integer from 1 to
-10 and stores it in the register <span
-class="ec-lmtt-10x-x-109">\myreg</span>:
-
-
-</p>
- <div class="verbatim" id="verbatim-23">
-\newcount\myreg
-&#x00A0;<br />\PSNrandom{\myreg}{10}
-</div>
-<!--l. 808--><p class="nopar" >
-</p><!--l. 810--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\random</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-12007"></a> <span
-class="ec-lmtt-10x-x-109">\random{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">counter</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">min</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">max</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 812--><p class="noindent" >
-Generates a random integer from <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">min</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>to <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">max</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>and stores in the given
-counter. For example, the following generates a random number between 3 and
-8 (inclusive) and stores it in the counter <span
-class="ec-lmtt-10x-x-109">myrand</span>.
-
-
-</p>
- <div class="verbatim" id="verbatim-24">
-\newcounter{myrand}
-&#x00A0;<br />\random{myrand}{3}{8}
-</div>
-<!--l. 820--><p class="nopar" >
-</p><!--l. 822--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\doforrandN</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-12008"></a> <span
-class="ec-lmtt-10x-x-109">\doforrandN{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">cmd</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">list</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">text</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 824--><p class="noindent" >
-Randomly selects <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>values from the comma-separated list given by
-<span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">list</span><span
-class="lmsy-10x-x-109">&#x27E9; </span>and iterates through this subset. On each iteration it sets <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">cmd</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>
-to the current value and does <span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">text</span><span
-class="lmsy-10x-x-109">&#x27E9;</span>. For example, the following will
-load a randomly selected problem from two of the listed files (where
-<span
-class="ec-lmtt-10x-x-109">file1.tex</span>, <span
-class="ec-lmtt-10x-x-109">file2.tex </span>and <span
-class="ec-lmtt-10x-x-109">file3.tex </span>are files containing at least one
-problem):
-
-
-</p>
- <div class="verbatim" id="verbatim-25">
-\doforrandN{2}{\thisfile}{file1,file2,file3}{%
-&#x00A0;<br />\loadrandomproblems{1}{\thisfile}}
-</div>
-<!--l. 835--><p class="nopar" >
-</p><!--l. 837--><p class="noindent" >
-</p>
-<!--l. 837--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="sectionHead"><span class="titlemark">11 </span> <a
- id="x1-1300011"></a>Compatibility With Versions Prior to 3.0</h3>
-<!--l. 839--><p class="noindent" >Version 3.0 of the <span
-class="ec-lmss-10x-x-109">probsoln</span><a
- id="dx1-13001"></a> package completely changed the structure of the
-package, but the commands described in this section have been provided to
-maintain compatibility with earlier versions. The only problems that are likely
-to occur are those where commands are contained within groups. This will effect
-any commands that are contained in external files that are outside of the
-arguments to <span
-class="ec-lmtt-10x-x-109">\newproblem</span><a
- id="dx1-13002"></a> and <span
-class="ec-lmtt-10x-x-109">\newproblem*</span><a
- id="dx1-13003"></a>. However, since the external files
-had to be parsed twice in order to load the problems, this shouldn&#8217;t be an issue
-as adding anything other than problem definitions in those files would be
-problematic anyway.
-</p><!--l. 851--><p class="indent" > The other likely difference is where the random generator is used in a group.
-This includes commands such as <span
-class="ec-lmtt-10x-x-109">\selectrandomly</span><a
- id="dx1-13004"></a>. For example, if your
-document contained something like:
-
-
-</p>
- <div class="verbatim" id="verbatim-26">
-\begin{enumerate}
-&#x00A0;<br />\selectrandomly{file1}{8}
-&#x00A0;<br />\item&#x00A0;Solve&#x00A0;the&#x00A0;following:
-&#x00A0;<br />\begin{enumerate}
-&#x00A0;<br />\selectrandomly{file2}{4}
-&#x00A0;<br />\end{enumerate}
-&#x00A0;<br />\selectrandomly{file3}{2}
-&#x00A0;<br />\end{enumerate}
-</div>
-<!--l. 866--><p class="nopar" > Then using versions prior to v3.0 will produce a different set of random
-numbers since the second <span
-class="ec-lmtt-10x-x-109">\selectrandomly </span>is in a different level of grouping. If
-you want to ensure that the document produces exactly the same random set
-with the new version as with the old version, you will need to get and set the
-random number seed. For example, the above would need to be modified so that
-it becomes:
-
-
-</p>
- <div class="verbatim" id="verbatim-27">
-\begin{enumerate}
-&#x00A0;<br />\selectrandomly{file1}{8}
-&#x00A0;<br />\item&#x00A0;Solve&#x00A0;the&#x00A0;following:
-&#x00A0;<br />\newcount\oldseed
-&#x00A0;<br />\PSNgetrandseed{\oldseed}
-&#x00A0;<br />\begin{enumerate}
-&#x00A0;<br />\selectrandomly{file2}{4}
-&#x00A0;<br />\end{enumerate}
-&#x00A0;<br />\PSNrandseed{\oldseed}
-&#x00A0;<br />\selectrandomly{file3}{2}
-&#x00A0;<br />\end{enumerate}
-</div>
-<!--l. 888--><p class="nopar" >
-</p><!--l. 890--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\selectrandomly</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-13005"></a> <span
-class="ec-lmtt-10x-x-109">\selectrandomly{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 892--><p class="noindent" >
-This is now equivalent to: <span class="obeylines-h">
- <span
-class="ec-lmtt-10x-x-109">{\loadrandomproblems[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">n</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}}%</span>
- <br /><span
-class="ec-lmtt-10x-x-109">\foreachproblem[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{\PSNitem\thisproblem\endPSNitem}</span></span>
-</p><!--l. 899--><p class="indent" > <hr><div title="Definition"><span class="marginpar"><span
-class="ec-lmtt-10">\selectallproblems</span><span
-class="ec-lmtt-10">&#x00A0;</span></span><a
- id="dx1-13006"></a> <span
-class="ec-lmtt-10x-x-109">\selectallproblems{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">} </span></div><hr>
-</p><!--l. 901--><p class="noindent" >
-This is now equivalent to: <span class="obeylines-h">
- <span
-class="ec-lmtt-10x-x-109">{\loadallproblems[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">}}%</span>
- <br /><span
-class="ec-lmtt-10x-x-109">\foreachproblem[</span><span
-class="lmsy-10x-x-109">&#x27E8;</span><span
-class="ec-lmri-10x-x-109">filename</span><span
-class="lmsy-10x-x-109">&#x27E9;</span><span
-class="ec-lmtt-10x-x-109">]{\PSNitem\thisproblem\endPSNitem}</span></span>
-</p><!--l. 908--><p class="indent" > Note that in both the above cases, a new data set is created with the same
-name as the file name.
-
-
-</p><!--l. 911--><p class="indent" > <a
- id="likesection.1"></a><a
- id="Q1-1-14"></a>
-</p>
-<!--l. 2--><p class="noindent" ><a
-href="#top">Top</a></p><h3 class="likesectionHead"><a
- id="x1-1400011"></a>Index</h3>
-<!--l. 4--><p class="noindent" > <span
-class="ec-lmbx-10x-x-109">B</span>
-</p>
- <div class="theindex"><span class="index-item"><span
-class="ec-lmss-10x-x-109">babel </span>package&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-7011" >1</a> <br /></span>
-<p class="theindex"> <span
-class="ec-lmbx-10x-x-109">C</span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\ClearUsedFile</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-10006" ><span
-class="ec-lmri-10x-x-109">2</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\correctitem</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6015" ><span
-class="ec-lmri-10x-x-109">3</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\correctitemformat</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6018" ><span
-class="ec-lmri-10x-x-109">4</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">D</span>
-<span class="index-item"><span
-class="ec-lmtt-10x-x-109">defproblem </span>(environment)&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5020" ><span class="underline">5</span></a>, <a
-href="probsoln-manual.html#dx1-5025" ><span class="underline">6</span></a>, <a
-href="probsoln-manual.html#dx1-7008" ><span
-class="ec-lmri-10x-x-109">7</span></a>, <a
-href="probsoln-manual.html#dx1-7016" ><span class="underline">8</span></a>, <a
-href="probsoln-manual.html#dx1-7020" ><span class="underline">9</span></a>, <a
-href="probsoln-manual.html#dx1-7030" ><span class="underline">10</span></a>, <a
-href="probsoln-manual.html#dx1-8001" ><span class="underline">11</span></a>, <a
-href="probsoln-manual.html#dx1-9008" ><span class="underline">12</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\doforrandN</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-12008" ><span
-class="ec-lmri-10x-x-109">13</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">E</span>
-<span class="index-item"><span
-class="ec-lmtt-10x-x-109">enumerate </span>(environment)&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6011" ><span class="underline">14</span></a>, <a
-href="probsoln-manual.html#dx1-6013" ><span class="underline">15</span></a>, <a
-href="probsoln-manual.html#dx1-11021" ><span class="underline">16</span></a> <br /></span>
-<span class="index-item">environments:<br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmtt-10x-x-109">defproblem</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5021" ><span class="underline">17</span></a>, <a
-href="probsoln-manual.html#dx1-5026" ><span class="underline">18</span></a>, <a
-href="probsoln-manual.html#dx1-7009" ><span
-class="ec-lmri-10x-x-109">19</span></a>, <a
-href="probsoln-manual.html#dx1-7017" ><span class="underline">20</span></a>, <a
-href="probsoln-manual.html#dx1-7021" ><span class="underline">21</span></a>, <a
-href="probsoln-manual.html#dx1-7031" ><span class="underline">22</span></a>, <a
-href="probsoln-manual.html#dx1-8002" ><span class="underline">23</span></a>, <a
-href="probsoln-manual.html#dx1-9009" ><span class="underline">24</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmtt-10x-x-109">enumerate</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6012" ><span class="underline">25</span></a>, <a
-href="probsoln-manual.html#dx1-6014" ><span class="underline">26</span></a>, <a
-href="probsoln-manual.html#dx1-11022" ><span class="underline">27</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmtt-10x-x-109">onlyproblem</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5009" ><span
-class="ec-lmri-10x-x-109">28</span></a>, <a
-href="probsoln-manual.html#dx1-5015" ><span class="underline">29</span></a>, <a
-href="probsoln-manual.html#dx1-5017" ><span class="underline">30</span></a>, <a
-href="probsoln-manual.html#dx1-5024" ><span class="underline">31</span></a>, <a
-href="probsoln-manual.html#dx1-7002" ><span class="underline">32</span></a>, <a
-href="probsoln-manual.html#dx1-7013" ><span class="underline">33</span></a>, <a
-href="probsoln-manual.html#dx1-11016" ><span class="underline">34</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmtt-10x-x-109">onlysolution</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5011" ><span
-class="ec-lmri-10x-x-109">35</span></a>, <a
-href="probsoln-manual.html#dx1-5019" ><span class="underline">36</span></a>, <a
-href="probsoln-manual.html#dx1-7004" ><span class="underline">37</span></a>, <a
-href="probsoln-manual.html#dx1-7015" ><span class="underline">38</span></a>, <a
-href="probsoln-manual.html#dx1-11009" ><span class="underline">39</span></a>, <a
-href="probsoln-manual.html#dx1-11013" ><span class="underline">40</span></a>, <a
-href="probsoln-manual.html#dx1-11018" ><span class="underline">41</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmtt-10x-x-109">solution</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6002" ><span
-class="ec-lmri-10x-x-109">42</span></a>, <a
-href="probsoln-manual.html#dx1-6005" ><span class="underline">43</span></a>, <a
-href="probsoln-manual.html#dx1-6008" ><span class="underline">44</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmtt-10x-x-109">textenum</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6010" ><span
-class="ec-lmri-10x-x-109">45</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\ExcludePreviousFile</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-10007" ><span
-class="ec-lmri-10x-x-109">46</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">F</span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\foreachdataset</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-11014" ><span
-class="ec-lmri-10x-x-109">47</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\foreachproblem</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-7023" ><span class="underline">48</span></a>, <a
-href="probsoln-manual.html#dx1-7028" ><span class="underline">49</span></a>, <a
-href="probsoln-manual.html#dx1-11002" ><span
-class="ec-lmri-10x-x-109">50</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\foreachsolution</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5022" ><span class="underline">51</span></a>, <a
-href="probsoln-manual.html#dx1-11007" ><span
-class="ec-lmri-10x-x-109">52</span></a> <br /></span>
-<span class="index-item"><span
-class="ec-lmss-10x-x-109">fp </span>package&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-7026" >53</a> <br /></span>
-<span class="index-item">fragile&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-4001" ><span class="underline">54</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">H</span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\hideanswers</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5004" ><span
-class="ec-lmri-10x-x-109">55</span></a>, <a
-href="probsoln-manual.html#dx1-7007" ><span class="underline">56</span></a>, <a
-href="probsoln-manual.html#dx1-11019" ><span class="underline">57</span></a> <br /></span>
-
-
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">I</span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\ifshowanswers</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5007" ><span class="underline">58</span></a>, <a
-href="probsoln-manual.html#dx1-6006" ><span class="underline">59</span></a> <br /></span>
-<span class="index-item"><span
-class="ec-lmss-10x-x-109">ifthen </span>package&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5006" >60</a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\include</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-7019" ><span class="underline">61</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\incorrectitem</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6016" ><span
-class="ec-lmri-10x-x-109">62</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\incorrectitemformat</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6019" ><span
-class="ec-lmri-10x-x-109">63</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\input</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-7018" ><span class="underline">64</span></a>, <a
-href="probsoln-manual.html#dx1-9001" ><span class="underline">65</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\item</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6017" ><span class="underline">66</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">L</span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\loadallproblems</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-9002" ><span
-class="ec-lmri-10x-x-109">67</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\loadexceptproblems</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-9004" ><span
-class="ec-lmri-10x-x-109">68</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\loadrandomexcept</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-9006" ><span
-class="ec-lmri-10x-x-109">69</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\loadrandomproblems</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-9005" ><span
-class="ec-lmri-10x-x-109">70</span></a>, <a
-href="probsoln-manual.html#dx1-12001" ><span class="underline">71</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\loadselectedproblems</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-9003" ><span
-class="ec-lmri-10x-x-109">72</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">N</span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\newproblem</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-7025" ><span
-class="ec-lmri-10x-x-109">73</span></a>, <a
-href="probsoln-manual.html#dx1-8003" ><span class="underline">74</span></a>, <a
-href="probsoln-manual.html#dx1-9010" ><span class="underline">75</span></a>, <a
-href="probsoln-manual.html#dx1-13002" ><span class="underline">76</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\newproblem*</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-7029" ><span
-class="ec-lmri-10x-x-109">77</span></a>, <a
-href="probsoln-manual.html#dx1-9011" ><span class="underline">78</span></a>, <a
-href="probsoln-manual.html#dx1-13003" ><span class="underline">79</span></a> <br /></span>
-<span class="index-item"><span
-class="ec-lmss-10x-x-109">ngerman </span>package&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-7010" >80</a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">O</span>
-<span class="index-item"><span
-class="ec-lmtt-10x-x-109">onlyproblem </span>(environment)&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5008" ><span
-class="ec-lmri-10x-x-109">81</span></a>, <a
-href="probsoln-manual.html#dx1-5014" ><span class="underline">82</span></a>, <a
-href="probsoln-manual.html#dx1-5016" ><span class="underline">83</span></a>, <a
-href="probsoln-manual.html#dx1-5023" ><span class="underline">84</span></a>, <a
-href="probsoln-manual.html#dx1-7001" ><span class="underline">85</span></a>, <a
-href="probsoln-manual.html#dx1-7012" ><span class="underline">86</span></a>, <a
-href="probsoln-manual.html#dx1-11015" ><span class="underline">87</span></a> <br /></span>
-<span class="index-item"><span
-class="ec-lmtt-10x-x-109">onlysolution </span>(environment)&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5010" ><span
-class="ec-lmri-10x-x-109">88</span></a>, <a
-href="probsoln-manual.html#dx1-5018" ><span class="underline">89</span></a>, <a
-href="probsoln-manual.html#dx1-7003" ><span class="underline">90</span></a>, <a
-href="probsoln-manual.html#dx1-7014" ><span class="underline">91</span></a>, <a
-href="probsoln-manual.html#dx1-11008" ><span class="underline">92</span></a>, <a
-href="probsoln-manual.html#dx1-11012" ><span class="underline">93</span></a>, <a
-href="probsoln-manual.html#dx1-11017" ><span class="underline">94</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">P</span>
-<span class="index-item">package options:<br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmss-10x-x-109">answers</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-3001" ><span class="underline">95</span></a>, <a
-href="probsoln-manual.html#dx1-5001" ><span class="underline">96</span></a>, <a
-href="probsoln-manual.html#dx1-11011" ><span class="underline">97</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmss-10x-x-109">draft</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-3003" ><span class="underline">98</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmss-10x-x-109">final</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-3004" ><span class="underline">99</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmss-10x-x-109">noanswers</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-3002" ><span class="underline">100</span></a>, <a
-href="probsoln-manual.html#dx1-5002" ><span class="underline">101</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmss-10x-x-109">nousedefaultargs</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-3007" ><span class="underline">102</span></a> <br /></span>
-<span class="index-subitem">&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
-class="ec-lmss-10x-x-109">usedefaultargs</span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-3005" ><span class="underline">103</span></a>, <a
-href="probsoln-manual.html#dx1-7024" ><span class="underline">104</span></a>, <a
-href="probsoln-manual.html#dx1-11005" ><span class="underline">105</span></a> <br /></span>
-<span class="index-item"><span
-class="ec-lmss-10x-x-109">pgfmath </span>package&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-7027" >106</a> <br /></span>
-<span class="index-item"><span
-class="ec-lmss-10x-x-109">probsoln </span>package&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-10001" >107</a>, <a
-href="probsoln-manual.html#dx1-10008" >108</a>, <a
-href="probsoln-manual.html#dx1-13001" >109</a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\ProbSolnFragileExt</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-4002" ><span
-class="ec-lmri-10x-x-109">110</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\ProbSolnFragileFile</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-4003" ><span
-class="ec-lmri-10x-x-109">111</span></a> <br /></span>
-
-
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\PSNgetrandseed</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-12005" ><span
-class="ec-lmri-10x-x-109">112</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\PSNrandom</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-12006" ><span
-class="ec-lmri-10x-x-109">113</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\PSNrandseed</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-12003" ><span
-class="ec-lmri-10x-x-109">114</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\PSNuseoldrandom</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-9007" ><span
-class="ec-lmri-10x-x-109">115</span></a>, <a
-href="probsoln-manual.html#dx1-12002" ><span
-class="ec-lmri-10x-x-109">116</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">R</span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\random</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-12007" ><span
-class="ec-lmri-10x-x-109">117</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">S</span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\selectallproblems</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-13006" ><span
-class="ec-lmri-10x-x-109">118</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\selectrandomly</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-13004" ><span class="underline">119</span></a>, <a
-href="probsoln-manual.html#dx1-13005" ><span
-class="ec-lmri-10x-x-109">120</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\SetStartMonth</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-10002" ><span
-class="ec-lmri-10x-x-109">121</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\SetStartYear</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-10004" ><span
-class="ec-lmri-10x-x-109">122</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\SetUsedFileName</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-10005" ><span
-class="ec-lmri-10x-x-109">123</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\showanswers</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5003" ><span
-class="ec-lmri-10x-x-109">124</span></a>, <a
-href="probsoln-manual.html#dx1-7006" ><span class="underline">125</span></a>, <a
-href="probsoln-manual.html#dx1-11010" ><span class="underline">126</span></a>, <a
-href="probsoln-manual.html#dx1-11020" ><span class="underline">127</span></a> <br /></span>
-<span class="index-item"><span
-class="ec-lmss-10x-x-109">showanswers </span>boolean variable&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-5005" >128</a>, <a
-href="probsoln-manual.html#dx1-5012" >129</a>, <a
-href="probsoln-manual.html#dx1-5013" >130</a>, <a
-href="probsoln-manual.html#dx1-7005" >131</a> <br /></span>
-<span class="index-item"><span
-class="ec-lmtt-10x-x-109">solution </span>(environment)&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6001" ><span
-class="ec-lmri-10x-x-109">132</span></a>, <a
-href="probsoln-manual.html#dx1-6004" ><span class="underline">133</span></a>, <a
-href="probsoln-manual.html#dx1-6007" ><span class="underline">134</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\solutionname</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6003" ><span
-class="ec-lmri-10x-x-109">135</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">T</span>
-<span class="index-item"><span
-class="ec-lmtt-10x-x-109">textenum </span>(environment)&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-6009" ><span
-class="ec-lmri-10x-x-109">136</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\theenumi</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-11023" ><span class="underline">137</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\thisproblem</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-3006" ><span class="underline">138</span></a>, <a
-href="probsoln-manual.html#dx1-3008" ><span class="underline">139</span></a>, <a
-href="probsoln-manual.html#dx1-7022" ><span class="underline">140</span></a>, <a
-href="probsoln-manual.html#dx1-11003" ><span
-class="ec-lmri-10x-x-109">141</span></a> <br /></span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\thisproblemlabel</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-11004" ><span
-class="ec-lmri-10x-x-109">142</span></a> <br /></span>
-</p><p class="theindex"> <span
-class="ec-lmbx-10x-x-109">U</span>
-<span class="index-item"><span class="obeylines-h"><span class="verb"><span
-class="ec-lmtt-10x-x-109">\useproblem</span></span></span>&#x00A0;&#x00A0;<a
-href="probsoln-manual.html#dx1-8004" ><span
-class="ec-lmri-10x-x-109">143</span></a>, <a
-href="probsoln-manual.html#dx1-11001" ><span class="underline">144</span></a>, <a
-href="probsoln-manual.html#dx1-11006" ><span class="underline">145</span></a> <br /></span>
-</p></div>
- <div class="footnotes"><!--l. 543--><p class="indent" > <span class="footnote-mark"><a
-href="#fn1x0-bk" id="fn1x0">
-<sup class="textsuperscript">1</sup></a></span><span
-class="ec-lmr-9">So don&#8217;t use </span><span
-class="ec-lmtt-9">\SetStartMonth </span><span
-class="ec-lmr-9">after </span><span
-class="ec-lmtt-9">\SetStartYear</span><span
-class="ec-lmr-9">.</span></p><!--l. 776--><p class="indent" > <span class="footnote-mark"><a
-href="#fn2x0-bk" id="fn2x0">
-<sup class="textsuperscript">2</sup></a></span><span
-class="ec-lmr-9">assuming you leave at least a minute between runs.</span></p> </div>
-
-</body></html>
-
-
-
-
diff --git a/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.tex b/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.tex
deleted file mode 100644
index d2822c6093d..00000000000
--- a/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.tex
+++ /dev/null
@@ -1,913 +0,0 @@
-\documentclass[a4paper]{nlctdoc}
-
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{color}
-\usepackage{creatdtx}
-\usepackage{probsoln}
-
-\usepackage[colorlinks,
- bookmarks,
- hyperindex=false,
- pdfauthor={Nicola L.C. Talbot},
- pdftitle={probsoln: creating problem sheets optionally with solutions}]{hyperref}
-\doxitem{Option}{option}{package options}
-
-\RecordChanges
-\PageIndex
-\CheckSum{1822}
-
-\newcommand*{\dq}[1]{``#1''}
-
-\begin{document}
-\MakeShortVerb{"}
-\DeleteShortVerb{\|}
-
- \title{probsoln v3.04:
-creating problem sheets optionally with solutions}
- \author{Nicola L.C. Talbot\\[10pt]
-School of Computing Sciences\\
-University of East Anglia\\
-Norwich. Norfolk\\
-NR4 7TJ. United Kingdom.\\
-\url{http://theoval.cmp.uea.ac.uk/~nlct/}}
-
- \date{2012-08-23}
- \maketitle
-\tableofcontents
-
- \section{Introduction}
-The \styfmt{probsoln} package is designed for teachers or lecturers
-who want to create problem sheets for their students. This package
-was designed with 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.
-
-\section{Package Options}\label{sec:pkgopt}
-The following options may be passed to this package:
-\begin{description}
-\item[\pkgopt{answers}] Show the answers
-\item[\pkgopt{noanswers}] Don't show the answers (default)
-\item[\pkgopt{draft}] Display the label and dataset name when a problem is used
-\item[\pkgopt{final}] Don't display label and dataset name when a problem is used
-\item[\pkgopt{usedefaultargs}] Make \ics{thisproblem} use the
-default arguments supplied in the problem definition.
-\item[\pkgopt{nousedefaultargs}] Make \ics{thisproblem} prompt for
-problem arguments (default).
-\end{description}
-
-\section{Verbatim}\label{sec:verbatim}
-
-As from version 3.02, problems and solutions may contain verbatim
-text, but you must use the \iterm{fragile}\texttt{fragile} (or
-\texttt{fragile=true}) option for the associated environments.
-
-Alternatively, if most of your problems contain verbatim, you can
-globally set this option using:
-\begin{verbatim}
-\setkeys{probsoln}{fragile}
-\end{verbatim}
-You can switch off this option using \texttt{fragile=false}.
-
-The \texttt{fragile} option writes information to a temporary file.
-This defaults to "\jobname.vrb" but the name may be changed. The
-extension (".vrb") is given by:
-\begin{definition}[\DescribeMacro{\ProbSolnFragileExt}]
-\cs{ProbSolnFragileExt}
-\end{definition}
-The base name (\cs{jobname}) is given by:
-\begin{definition}[\DescribeMacro{\ProbSolnFragileFile}]
-\cs{ProbSolnFragileFile}
-\end{definition}
-
-\section{Showing and Hiding Solutions}\label{sec:showanswers}
-
-In addition to the \pkgopt{answers} and \pkgopt{noanswers} package
-options, it is also possible to show or suppress the solutions
-using
-\begin{definition}[\DescribeMacro{\showanswers}]
-\cs{showanswers}
-\end{definition}
-and
-\begin{definition}[\DescribeMacro{\hideanswers}]
-\cs{hideanswers}
-\end{definition}
-respectively.
-
-The boolean variable \bool{showanswers} determines whether the
-answers should be displayed. You can use this value with the
-\sty{ifthen} package to specify different text depending on
-whether the solutions should be displayed. For example:
-\begin{verbatim}
-Assignment 1\ifthenelse{\boolean{showanswers}}{ (Solution Sheet)}{}
-\end{verbatim}
-Alternatively you can use \ics{ifshowanswers}\ldots\cs{else}\ldots
-\cs{fi}:
-\begin{verbatim}
-Assignment 1\ifshowanswers\space (Solution Sheet)\fi
-\end{verbatim}
-
-For longer passages, you can use the environments
-\begin{definition}[\DescribeEnv{onlyproblem}]
-\cs{begin}\marg{onlyproblem}\oarg{option}
-\end{definition}
-and
-\begin{definition}[\DescribeEnv{onlysolution}]
-\cs{begin}\marg{onlysolution}\oarg{option}
-\end{definition}
-For example:
-\begin{verbatim}
-\begin{onlyproblem}%
-What is the derivative of $f(x) = x^2$?
-\end{onlyproblem}%
-\begin{onlysolution}%
-$f'(x) = 2x$
-\end{onlysolution}
-\end{verbatim}
-The above will only display the question if \bool{showanswers}
-is false and will only display the solution if \bool{showanswers}
-is true. If you want the question to appear in the answer
-sheet as well as the solution, then don't put the question in
-the \env{onlyproblem} environment:
-\begin{verbatim}
-What is the derivative of $f(x) = x^2$?
-\begin{onlysolution}%
-Solution: $f'(x) = 2x$
-\end{onlysolution}
-\end{verbatim}
-
-\begin{important}
-If you want to include verbatim text in the body of
-\env{onlyproblem} or \env{onlysolution}, you need to specify
-\texttt{fragile} in the optional argument of the environment.
-(See \sectionref{sec:verbatim} for further details.)
-\end{important}
-
-If you use \envfmt{onlysolution} within the \env{defproblem}
-environment, the problem will be tagged as having a solution
-and will be added to the list used by \ics{foreachsolution}.
-The optional argument of \envfmt{onlysolution} (and \env{onlyproblem})
-is inherited from the parent \env{defproblem} setting.
-
-\section{General Formatting Commands}\label{sec:formatting}
-
-The commands and environments described in this section are
-provided to assist formatting problems and their solutions.
-\begin{definition}[\DescribeEnv{solution}]
-\verb|\begin{solution}|\meta{text}\verb|\end{solution}|
-\end{definition}
-By default, this is equivalent to
-\begin{display}
-\verb|\par\noindent\textbf{\solutionname}: |\meta{text}
-\end{display}
-where \DescribeMacro{\solutionname}\cs{solutionname} defaults
-to \dq{\solutionname}. Note that you must place the \env{solution}
-environment inside the \envfmt{onlysolution} environment or
-between \ics{ifshowanswers}\ldots\cs{fi} to ensure that it
-is suppressed when the solutions are not wanted. (See
-\sectionref{sec:showanswers}.)
-
-
-Note that the \styfmt{probsoln} package will only define the
-\env{solution} environment if it is not already defined.
-
-\begin{definition}[\DescribeEnv{textenum}]
-\verb|\begin{textenum}|\ldots\verb|\end{textenum}|
-\end{definition}
-The \envfmt{textenum} environment is like the \env{enumerate}
-environment but is in-line. It uses the same counter that the
-\envfmt{enumerate} environment would use at that level so the
-question can be compact but the answer can use \envfmt{enumerate}
-instead. For example:
-\begin{verbatim}
-\begin{onlyproblem}%
- Differentiate the following:
- \begin{textenum}
- \item $f(x)=2^x$; \item $f(x)=\cot(x)$
- \end{textenum}
-\end{onlyproblem}
-\begin{onlysolution}
- \begin{enumerate}
- \item
- \begin{align*}
- f(x) &= 2^x = \exp(\ln(x^2)) =\exp(2\ln(x))\\
- f'(x) &= \exp(2\ln(x))\times \frac{2}{x}\\
- &= f(x)\frac{2}{x}
- \end{align*}
- \item
- \begin{align*}
- f(x) &= \cot(x) = (\tan(x))^{-2}\\
- f'(x) &= -(\tan(x))^{-2}\times\sec^2(x)\\
- &=-\csc^2x
- \end{align*}
- \end{enumerate}
-\end{onlysolution}
-\end{verbatim}
-In this example, the items in the question are brief, so an
-\env{enumerate} environment would result in a lot of unnecessary
-white space, but the answers require more space, so an
-\envfmt{enumerate} environment is more appropriate. Since the
-\envfmt{textenum} environment uses the same counters as the
-\envfmt{enumerate} environment, the question and answer sheets use
-consistent labelling. Note that there are other packages available
-on CTAN that you can use to create in-line lists. Check the
-\urlfootref{http://www.tex.ac.uk/tex-archive/help/Catalogue/bytopic.html\#enumeration}{TeX
-Catalogue} for further details.
-
-\DescribeMacro{\correctitem}\DescribeMacro{\incorrectitem}
-\begin{definition}
-\cs{correctitem}\\
-\cs{incorrectitem}
-\end{definition}
-You can use the commands \cs{correctitem} and \cs{incorrectitem}
-in place of \ics{item}. If the solutions are suppressed, these
-commands behave in the same way as \cs{item}, otherwise they
-format the item label using one of the commands:
-\DescribeMacro{\correctitemformat}\DescribeMacro{\incorrectitemformat}
-\begin{definition}
-\cs{correctitemformat}\marg{label}\\
-\cs{incorrectitemformat}\marg{label}
-\end{definition}
-For example:
-\begin{verbatim}
-Under which of the following functions does $S=\{a_1,a_2\}$
-become a probability space?
-\begin{enumerate}
-\incorrectitem $P(a_1)=\frac{1}{3}$, $P(a_2)=\frac{1}{2}$
-\correctitem $P(a_1)=\frac{3}{4}$, $P(a_2)=\frac{1}{4}$
-\correctitem $P(a_1)=1$, $P(a_2)=0$
-\incorrectitem $P(a_1)=\frac{5}{4}$, $P(a_2)=-\frac{1}{4}$
-\end{enumerate}
-\end{verbatim}
-The default definition of \cs{correctitemformat} puts a frame around
-the label.
-
-\section{Defining a Problem}\label{sec:defproblem}
-
-It is possible to construct a problem sheet with solutions using the
-commands described in the previous sections, however it is also
-possible to define a set of problems for later use. In this way you
-can create an external file containing many problems some or all of
-which can be loaded and used in a document. The \styfmt{probsoln}
-package has a default data set labelled \dq{default} in which you
-can store problems. Alternatively, you can create multiple data
-sets. You can then iterate through each problem in a problem set.
-You can use a previously defined problem more than once, which means
-that by judicious use of \env{onlyproblem}, \env{onlysolution} or
-the \bool{showanswers} boolean variable in conjunction with
-\ics{showanswers} and \ics{hideanswers}, you can print the solutions
-in a different location to the questions (for example in an
-appendix).
-
-\begin{definition}[\DescribeEnv{defproblem}]
-\verb|\begin{defproblem}|\oarg{n}\oarg{default args}\marg{label}\oarg{option}\newline
-\meta{definition}\newline
-\verb|\end{defproblem}|
-\end{definition}
-This defines the problem whose label is given by \meta{label}. The
-label must be unique for a given data set and should not contain
-active characters or a comma. (Active characters include the special characters
-such as \$ and \&, but some packages may make other symbols active,
-such as the colon (:) character. For example, the \sty{ngerman} and
-\sty{babel} packages make certain punctuation active. Check the
-relevant package documentation for details.)
-
-\begin{important}
-The final optional argument \meta{option} may be \texttt{fragile} to
-indicate that the problem contains verbatim text. Any occurrences of
-\env{onlyproblem} or \env{onlysolution} contained within
-\envfmt{defproblem} are inherited from \envfmt{defproblem}. (See
-\sectionref{sec:verbatim} for further details.)
-\end{important}
-
-If \env{defproblem} occurs in the document or is included via
-\ics{input} or \ics{include}, then the problem will be added to
-the default data set. If \envfmt{defproblem} occurs in an external
-file that is loaded using one of the commands defined in
-\sectionref{sec:load} then the problem will be added to
-the specified data set.
-
-The contents of the \env{defproblem} environment should be the text
-that defines the problem. This may include any of the commands
-defined in \sectionref{sec:showanswers} and
-\sectionref{sec:formatting}.
-
-The problem may optionally take \meta{n} arguments (where
-\meta{n} is from 0 to 9). The arguments can be referenced
-in the definition via \texttt{\#1},\ldots,\texttt{\#9}.
-If \meta{n} is omitted then the problem doesn't take any
-arguments.
-The following example defines a problem with one argument:
-\begin{verbatim}
-\begin{defproblem}[1]{diffsin}
-Differentiate $f(x)=\sin(#1x)$.
-\begin{onlysolution}%
- \begin{solution}
- $f'(x) = #1\cos(#1x)$
- \end{solution}
-\end{onlysolution}
-\end{defproblem}
-\end{verbatim}
-
-The second optional argument \meta{default args} supplies
-default problem arguments that will automatically be used within
-\ics{thisproblem} when used in \ics{foreachproblem} in conjunction
-with the package option \pkgopt{usedefaultargs}. (See \sectionref{sec:foreach}.)
-For example:
-\begin{verbatim}
-\begin{defproblem}[1][{2}]{diffsin}
-Differentiate $f(x)=\sin(#1x)$.
-\begin{onlysolution}%
- \begin{solution}
- $f'(x) = #1\cos(#1x)$
- \end{solution}
-\end{onlysolution}
-\end{defproblem}
-\end{verbatim}
-
-\begin{definition}[\DescribeMacro{\newproblem}]
-\cs{newproblem}\oarg{n}\oarg{default args}\marg{label}\marg{problem}\marg{solution}
-\end{definition}
-This is a shortcut command for:
-\begin{ttfamily}\obeylines
-\cs{begin}\{defproblem\}\oarg{n}\oarg{default args}\marg{label}\%
-\meta{problem}\%
-\cs{begin}\{onlysolution\}\%
-\cs{begin}\{solution\}\%
-\meta{solution}\%
-\cs{end}\{solution\}\%
-\cs{end}\{onlysolution\}\%
-\cs{end}\{defproblem\}
-\end{ttfamily}
-For example:
-\begin{verbatim}
-\newproblem[1]{diffsin}{%
- \(f(x) = \sin(#1x)\)
-}%
-{%
- \(f'(x) = #1\cos(#1x)\)
-}
-\end{verbatim}
-is equivalent to
-\begin{verbatim}
-\begin{defproblem}[1]{diffcos}%
- \(f(x) = \cos(#1x)\)
-\begin{onlysolution}%
- \begin{solution}%
- \(f'(x) = -#1\sin(#1x)\)
- \end{solution}%
-\end{onlysolution}%
-\end{defproblem}
-\end{verbatim}
-(In this example, the argument will need to be a positive number
-to avoid a double minus in the answer. If you want to perform
-floating point arithmetic on the arguments, then try the
-\sty{fp} or \sty{pgfmath} packages.)
-
-Alternatively, if you want to supply default arguments to use when
-iterating through problems with \ics{foreachproblem}:
-\begin{verbatim}
-\newproblem[1][{3}]{diffsin}{%
- \(f(x) = \sin(#1x)\)
-}%
-{%
- \(f'(x) = #1\cos(#1x)\)
-}
-\end{verbatim}
-
-
-\begin{definition}[\DescribeMacro{\newproblem*}]
-\cs{newproblem*}\oarg{n}\oarg{default args}\marg{label}\marg{definition}
-\end{definition}
-This is a shortcut for:
-\begin{ttfamily}\obeylines
-\cs{begin}\{defproblem\}\oarg{n}\oarg{default args}\marg{label}\%
-\meta{definition}\%
-\cs{end}\{defproblem\}
-\end{ttfamily}
-
-\begin{important}
-Note that you can't use verbatim text with \cs{newproblem} or
-\cs{newproblem*}. Use the \env{defproblem} environment instead with
-the \texttt{fragile option}.
-\end{important}
-
-\section{Using a Problem}\label{sec:useproblem}
-
-Once you have defined a problem using \env{defproblem} or
-\ics{newproblem} (see \sectionref{sec:defproblem}), you can
-later display the problem using:
-\begin{definition}[\DescribeMacro{\useproblem}]
-\cs{useproblem}\oarg{data set}\marg{label}\marg{arg$_1$}\ldots
-\marg{arg$_N$}
-\end{definition}
-where \meta{data set} is the name of the data set that contains
-the problem (the default data set is used if omitted),
-\meta{label} is the label identifying the required problem and
-\meta{arg$_1$}, \ldots, \meta{arg$_N$}
-are the arguments to pass to the problem, if the problem was
-defined to have arguments (where $N$ is the number
-of arguments specified when the problem was defined).
-
-For example, in the previous section the problem \texttt{diffcos}
-was defined to have one argument, so it can be used as follows:
-\begin{verbatim}
-\useproblem{diffcos}{3}
-\end{verbatim}
-This will be equivalent to:
-\begin{verbatim}
-\(f(x) = \cos(3x)\)
-\begin{onlysolution}%
-\begin{solution}%
-\(f'(x) = -3\sin(3x)\)
-\end{solution}%
-\end{onlysolution}%
-\end{verbatim}
-
-\section{Loading Problems From External Files}\label{sec:load}
-
-You can store all your problem definitions (see
-\sectionref{sec:defproblem}) in an external file.
-These problems can all be appended to the default data set by
-including the file via \ics{input} or they can be appended
-to other data sets using one of the commands described below.
-Once you have loaded all the required problems, you can
-iterate through the data sets using the commands described
-in \sectionref{sec:foreach}. Note that the commands below
-will create a new data set, if the named data set doesn't
-exist.
-
-\begin{definition}[\DescribeMacro{\loadallproblems}]
-\cs{loadallproblems}\oarg{data set}\marg{filename}
-\end{definition}
-This will load all problems defined in \meta{filename} and
-append them to the specified data set, in the order in which
-they are defined in the file. If \meta{data set} is
-omitted, the default data set will be used. If \meta{data set}
-doesn't exist, it will be created.
-
-\begin{definition}[\DescribeMacro{\loadselectedproblems}]
-\cs{loadselectedproblems}\oarg{data set}\marg{labels}\marg{filename}
-\end{definition}
-This is like \cs{loadallproblems}, but only those problems whose
-label is listed in the comma-separated list \meta{labels} are
-loaded. For example, if I have some problems defined in the
-file \texttt{derivatives.tex}, then
-\begin{verbatim}
-\loadselectedproblems{diffsin,diffcos}{derivatives}
-\end{verbatim}
-will only load the problems whose labels are \texttt{diffsin}
-and \texttt{diffcos}, respectively. All the other problems in
-the file will remain undefined.
-
-\begin{definition}[\DescribeMacro{\loadexceptproblems}]
-\cs{loadexceptproblems}\oarg{data set}\marg{exception list}\marg{filename}
-\end{definition}
-This is the reverse of \cs{loadselectedproblems}. This loads all
-problems except those whose labels are listed in \meta{exception
-list}.
-
-\begin{definition}[\DescribeMacro{\loadrandomproblems}]
-\cs{loadrandomproblems}\oarg{data set}\marg{n}\marg{filename}
-\end{definition}
-This randomly loads \meta{n} problems from \meta{filename} and
-adds them to the given data set. If \meta{data set} is omitted,
-the default data set is assumed. Note that the problems will be
-added to the data set in a random order, not in the order in
-which they were defined. There must be at least \meta{n} problems
-defined in \meta{filename}.
-
-\begin{definition}[\DescribeMacro{\loadrandomexcept}]
-\cs{loadrandomexcept}\oarg{data
-set}\marg{n}\marg{filename}\marg{exception list}
-\end{definition}
-This is similar to \cs{loadrandomproblems} except that it won't load
-those problems whose labels are listed in \meta{exception list}.
-\textbf{If you want to automatically exclude problems included in
-previous documents, see \sectionref{sec:exprev}.}
-
-Note that the random number generator has been modified in version
-3.01 in order to fix a bug. If you want to ensure that your random
-numbers are compatible with earlier versions, you can switch to the
-old generator using
-\begin{definition}[\DescribeMacro{\PSNuseoldrandom}]
-\cs{PSNuseoldrandom}
-\end{definition}
-
-\begin{important}
-It is generally not a good idea to place anything in
-\meta{filename} that is not inside the body of \env{defproblem}
-or in the arguments to \ics{newproblem} or \ics{newproblem*}.
-All the commands in this section input the external file within
-a local scope, so command definitions would need to be made
-global to have any effect. In addition, \cs{loadrandomproblems}
-has to load each file twice, which means that anything outside
-a problem definition will be parsed twice.
-\end{important}
-
-\subsection{Randomly Selecting Problems Not Selected in Previous
-Documents}
-\label{sec:exprev}
-
-Suppose you have a large set of questions that you want to randomly
-select for assignments and exams. The chances are, you don't want to
-include questions that have been previously set for, say, the last
-three years. That is, you don't want to select questions the
-students may already have seen. As from version 3.03, you can now do
-this.
-
-The \sty{probsoln} package defaults to the UK academic year, which
-starts in September. If this isn't appropriate, you can change it
-using:
-\begin{definition}[\DescribeMacro{\SetStartMonth}]
-\cs{SetStartMonth}\marg{n}
-\end{definition}
-where \meta{n} is the number of the month. (1 = January, 2 =
-February, etc.)
-
-The \emph{start year} is the calender year in effect when the
-academic year started. For example, if this is the academic year
-2011/12, then the start year is 2011. This is automatically set to
-the start of the current academic year. It is also updated when
-\cs{SetStartMonth} is used.\footnote{So don't use \cs{SetStartMonth}
-after \cs{SetStartYear}.} If you want to set it to a specific year,
-you can use:
-\begin{definition}[\DescribeMacro{\SetStartYear}]
-\cs{SetStartYear}\marg{year}
-\end{definition}
-For example: \verb|\SetStartYear{2008}| indicates the academic year
-2008/9.
-
-There are two files concerned with previously used labels. They are:
-\begin{description}
-
- \item[The previously used labels file] This keeps track of all
- problems used in previous years, as well as problems used by
- other documents that have this as their previously used labels
- file, and it contains the problem labels from the last run of
- the current document.
-
- \item[The current used labels file] This defaults to
-\cs{jobname}\texttt{.prb}, but the name can be changed using:
- \begin{definition}[\DescribeMacro{\SetUsedFileName}]
- \cs{SetUsedFileName}\marg{name}
- \end{definition}
- This file keeps track of all the labels used in the current
- document from the previous \LaTeX\ run. Note that if you want to
- delete this file, first clear it using
- \begin{definition}[\DescribeMacro{\ClearUsedFile}]
- \cs{ClearUsedFile}\marg{file}
- \end{definition}
- in place of \cs{ExcludePreviousFile}\marg{file}, described below.
- The argument \meta{file} is the previously used labels file
- described above. \cs{ClearUsedFile} will remove all labels in
- the current used labels file from the previously used labels file
- and clear the current used labels file. Once this file is empty,
- it may then be deleted.
-
-\end{description}
-
-Before loading randomly selected problems, first specify the
-previously used labels file with the command:
-\begin{definition}[\DescribeMacro{\ExcludePreviousFile}]
-\cs{ExcludePreviousFile}\oarg{number of years}\marg{file name}
-\end{definition}
-where \meta{file name} is the name of the previously used file. The
-optional argument \meta{number of years} specifies the year cut-off.
-This defaults to 3, which means that only those labels used this
-year or the previous 2 years will be kept. Any problems used before
-then may be reused.
-
-Suppose I'm lecturing a first year undergraduate mathematics course
-(designated, say, mth101). I want to set assignments on each topic
-and an exam at the end of the year (as well as a resit or second
-sitting paper). I've got databases with problems for each topic, but
-the first and second sitting exams mustn't include any of the
-problems used in the assignments or any problems used in assignments
-or exams for the previous two academic years. I'm going to arrange
-my directory structure as follows:
-\begin{itemize}
-\item \texttt{mth101/}
- \begin{itemize}
- \item \texttt{assignment1/} (differentiation)
- \begin{itemize}
- \item \texttt{assignment1.tex}
- \end{itemize}
- \item \texttt{assignment2/} (probability spaces)
- \begin{itemize}
- \item \texttt{assignment2.tex}
- \end{itemize}
- \item \texttt{assignment3/} (linear algebra)
- \begin{itemize}
- \item \texttt{assignment3.tex}
- \end{itemize}
- \item \texttt{exams/}
- \begin{itemize}
- \item \texttt{exam.tex} (first sitting)
- \item \texttt{resit.tex} (second sitting)
- \end{itemize}
- \item \texttt{databases/}
- \begin{itemize}
- \item \texttt{differentiation.tex}
- \item \texttt{probabilityspaces.tex}
- \item \texttt{linearalgebra.tex}
- \end{itemize}
- \item \texttt{previouslabels.tex} (created by \sty{probsoln})
- \end{itemize}
-\end{itemize}
-
-\section{Iterating Through Datasets}\label{sec:foreach}
-
-Once you have defined all your problems for a given data set, you
-can use an individual problem with \ics{useproblem} (see
-\sectionref{sec:useproblem}) but it is more likely that you will
-want to iterate through all the problems so that you don't need to
-remember the labels of all the problems you have defined.
-
-\begin{definition}[\DescribeMacro{\foreachproblem}]
-\cs{foreachproblem}\oarg{data set}\marg{body}
-\end{definition}
-This does \meta{body} for each problem in the given data set.
-If \meta{data set} is omitted, the default data set is used.
-Within \meta{body} you can use
-\begin{definition}[\DescribeMacro{\thisproblem}]
-\cs{thisproblem}
-\end{definition}
-to use the current problem and
-\begin{definition}[\DescribeMacro{\thisproblemlabel}]
-\cs{thisproblemlabel}
-\end{definition}
-to access the current label. If the problem requires arguments,
-and no default arguments were supplied in the problem definition or
-the package option \pkgopt{usedefaultargs} was not used, then
-you will be prompted for arguments, so if you want to use this
-approach you will need to use \LaTeX\ in interactive mode. If
-you do provide arguments, they will be stored in the event that
-you need to iterate through the data set again. The
-arguments will be included in \cs{thisproblem}, so you only
-need to use \cs{thisproblem} without having to specify
-\ics{useproblem}.
-
-For example, to iterate through all problems
-in the default data set:
-\begin{verbatim}
-\begin{enumerate}
-\foreachproblem{\item\thisproblem}
-\end{enumerate}
-\end{verbatim}
-
-\begin{definition}[\DescribeMacro{\foreachsolution}]
-\cs{foreachsolution}\oarg{data set}\marg{body}
-\end{definition}
-This is equivalent to \cs{foreachsolution}, but only iterates
-through problems that contain the \env{onlysolution} environment.
-Note that you still need to use \ics{showanswers} or the
-\pkgopt{answers} package option for the contents of the
-\env{onlysolution} environment to appear.
-
-\begin{definition}[\DescribeMacro{\foreachdataset}]
-\cs{foreachdataset}\marg{cmd}\marg{body}
-\end{definition}
-This does \meta{body} for each of the defined data sets. Within
-\meta{body}, \meta{cmd} will be set to the name of the current
-data set. For example, to display all problems in all data sets:
-\begin{verbatim}
-\begin{enumerate}
-\foreachdataset{\thisdataset}{%
-\foreachproblem[\thisdataset]{\item\thisproblem}}
-\end{enumerate}
-\end{verbatim}
-
-Suppose I have two external files called
-\texttt{derivatives.tex} and \texttt{probspaces.tex} which
-define problems using both \env{onlyproblem} and
-\env{onlysolution} for example:
-\begin{verbatim}
-\begin{defproblem}{cosxsqsinx}%
-\begin{onlyproblem}%
-$y = \cos(x^2)\sin x$.%
-\end{onlyproblem}%
-\begin{onlysolution}%
-\[\frac{dy}{dx} = -\sin(x^2)2x\sin x + \cos(x^2)\cos x\]
-\end{onlysolution}%
-\end{defproblem}
-\end{verbatim}
-I can write a document that creates two data sets, one for
-the derivative problems and one for the problems about
-probability spaces. I can then use \ics{hideanswers} and
-iterate through the require data set to produce the problems.
-Later, I can use \ics{showanswers} and iterate over all problems defined in both data
-sets to produce the chapter containing all the answers. When
-displaying the questions, I have taken advantage of the fact that
-I can cross-reference items within an \env{enumerate} environment,
-and redefined \ics{theenumi} to label the questions according to
-the chapter. The cross-reference label is constructed from
-the problem label and is referenced in the answer section to
-ensure that the answers have the same label as the questions.
-\begin{verbatim}
-\documentclass{report}
-\usepackage{probsoln}
-\begin{document}
-\hideanswers
-\chapter{Differentiation}
-% randomly select 25 problems from derivatives.tex and add to
-% the data set called 'deriv'
-\loadrandomproblems[deriv]{25}{derivatives}
-
-% Display the problems
-\renewcommand{\theenumi}{\thechapter.\arabic{enumi}}
-\begin{enumerate}
-\foreachproblem[deriv]{\item\label{prob:\thisproblemlabel}\thisproblem}
-\end{enumerate}
-% You may need to change \theenumi back here
-
-\chapter{Probability Spaces}
-% randomly select 25 problems from probspaces.tex and add to
-% the data set called 'spaces'
-\loadrandomproblems[spaces]{25}{probspaces}
-
-% Display the problems
-\renewcommand{\theenumi}{\thechapter.\arabic{enumi}}
-\begin{enumerate}
-\foreachproblem[spaces]{\item\label{prob:\thisproblemlabel}\thisproblem}
-\end{enumerate}
-% You may need to change \theenumi back here
-
-\appendix
-
-\chapter{Solutions}
-\showanswers
-\begin{itemize}
-\foreachdataset{\thisdataset}{%
-\foreachproblem[\thisdataset]{\item[\ref{prob:\thisproblemlabel}]\thisproblem}
-}
-\end{itemize}
-
-\end{document}
-\end{verbatim}
-
-\section{Random Number Generator}\label{sec:random}
-
-This package provides a pseudo-random number generator that is used
-by \ics{loadrandomproblems}. As noted earlier the random number
-generator has been modified in version 3.01 in order to fix a bug.
-If you want to ensure that your random numbers are compatible with
-earlier versions, you can switch to the old generator using
-\begin{definition}[\DescribeMacro{\PSNuseoldrandom}]
-\cs{PSNuseoldrandom}
-\end{definition}
-
-\begin{definition}[\DescribeMacro{\PSNrandseed}]
-\cs{PSNrandseed}\marg{n}
-\end{definition}
-This sets the seed to \meta{n} which must be a non-zero integer.
-For example, to generate a different set of random numbers
-every time you \LaTeX\ your document,\footnote{assuming you
-leave at least a minute between runs.} put the following in your
-preamble:
-\begin{verbatim}
-\PSNrandseed{\time}
-\end{verbatim}
-or to generate a different set of random numbers every year you
-\LaTeX\ your document:
-\begin{verbatim}
-\PSNrandseed{\year}
-\end{verbatim}
-
-\begin{definition}[\DescribeMacro{\PSNgetrandseed}]
-\cs{PSNgetrandseed}\marg{register}
-\end{definition}
-This stores the current seed in the count register specified by
-\meta{register}.
-For example:
-\begin{verbatim}
-\newcount\myseed
-\PSNgetrandseed{\myseed}
-\end{verbatim}
-
-\begin{definition}[\DescribeMacro{\PSNrandom}]
-\cs{PSNrandom}\marg{register}\marg{n}
-\end{definition}
-Generates a random integer from 1 to \meta{n} and stores in
-the count register specified by \meta{register}. For example,
-the following generates an integer from 1 to 10 and stores it
-in the register \cs{myreg}:
-\begin{verbatim}
-\newcount\myreg
-\PSNrandom{\myreg}{10}
-\end{verbatim}
-
-\begin{definition}[\DescribeMacro{\random}]
-\cs{random}\marg{counter}\marg{min}\marg{max}
-\end{definition}
-Generates a random integer from \meta{min} to \meta{max} and
-stores in the given counter. For example, the following generates
-a random number between 3 and 8 (inclusive) and stores it in
-the counter \texttt{myrand}.
-\begin{verbatim}
-\newcounter{myrand}
-\random{myrand}{3}{8}
-\end{verbatim}
-
-\begin{definition}[\DescribeMacro{\doforrandN}]
-\cs{doforrandN}\marg{n}\marg{cmd}\marg{list}\marg{text}
-\end{definition}
-Randomly selects \meta{n} values from the comma-separated list
-given by \meta{list} and iterates through this subset. On
-each iteration it sets \meta{cmd} to the current value and
-does \meta{text}. For example, the following will load a
-randomly selected problem from two of the listed files (where
-\texttt{file1.tex}, \texttt{file2.tex} and \texttt{file3.tex}
-are files containing at least one problem):
-\begin{verbatim}
-\doforrandN{2}{\thisfile}{file1,file2,file3}{%
-\loadrandomproblems{1}{\thisfile}}
-\end{verbatim}
-
-\section{Compatibility With Versions Prior to 3.0}
-
-Version 3.0 of the \sty{probsoln} package completely changed the
-structure of the package, but the commands described in this
-section have been provided to maintain compatibility with
-earlier versions. The only problems that are likely to occur are
-those where commands are contained within groups. This will
-effect any commands that are contained in external files that are
-outside of the arguments to \ics{newproblem} and \ics{newproblem*}.
-However, since the external files had to be parsed twice in
-order to load the problems, this shouldn't be an issue as adding
-anything other than problem definitions in those files would
-be problematic anyway.
-
-The other likely difference is where the random generator is
-used in a group. This includes commands such as
-\ics{selectrandomly}. For example, if your document contained
-something like:
-\begin{verbatim}
-\begin{enumerate}
-\selectrandomly{file1}{8}
-
-\item Solve the following:
-\begin{enumerate}
-\selectrandomly{file2}{4}
-\end{enumerate}
-
-\selectrandomly{file3}{2}
-\end{enumerate}
-\end{verbatim}
-Then using versions prior to v3.0 will produce a different
-set of random numbers since the second \cs{selectrandomly}
-is in a different level of grouping. If you want to ensure
-that the document produces exactly the same random set with
-the new version as with the old version, you will need to
-get and set the random number seed. For example, the above
-would need to be modified so that it becomes:
-\begin{verbatim}
-\begin{enumerate}
-\selectrandomly{file1}{8}
-
-\item Solve the following:
-\newcount\oldseed
-\PSNgetrandseed{\oldseed}
-\begin{enumerate}
-\selectrandomly{file2}{4}
-\end{enumerate}
-\PSNrandseed{\oldseed}
-
-\selectrandomly{file3}{2}
-\end{enumerate}
-\end{verbatim}
-
-\begin{definition}[\DescribeMacro{\selectrandomly}]
-\cs{selectrandomly}\marg{filename}\marg{n}
-\end{definition}
-This is now equivalent to:
-\begin{ttfamily}\obeylines
-\{\cs{loadrandomproblems}\oarg{filename}\marg{n}\marg{filename}\}\%
-\cs{foreachproblem}\oarg{filename}\{\cs{PSNitem}\cs{thisproblem}\cs{endPSNitem}\}
-\end{ttfamily}
-
-\begin{definition}[\DescribeMacro{\selectallproblems}]
-\cs{selectallproblems}\marg{filename}
-\end{definition}
-This is now equivalent to:
-\begin{ttfamily}\obeylines
-\{\cs{loadallproblems}\oarg{filename}\marg{filename}\}\%
-\cs{foreachproblem}\oarg{filename}\{\cs{PSNitem}\cs{thisproblem}\cs{endPSNitem}\}
-\end{ttfamily}
-
-Note that in both the above cases, a new data set is created
-with the same name as the file name.
-
- \StopEventually{\clearpage\phantomsection\addcontentsline{toc}{section}{Index}\PrintIndex}
-
-\end{document}
diff --git a/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf b/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf
index e0bbc92904f..50dee7e1cc0 100644
--- a/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf
+++ b/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-1stprncp.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-1stprncp.tex
new file mode 100644
index 00000000000..343d6b3e1c0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-1stprncp.tex
@@ -0,0 +1,63 @@
+ % This file is public domain
+ %
+ % These problems 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/prob-args.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-args.tex
new file mode 100644
index 00000000000..8276790feb6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-args.tex
@@ -0,0 +1,49 @@
+ % This file is public domain
+ %
+ % These problems require arguments
+%
+ % Arguments: #1->a_2, #2->a_1 and #3->a_0
+ % (Arguments must be integers)
+\newcount\ctr
+\newproblem[3][{1}{2}{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
+\)
+}
+
+\begin{defproblem}[1][{6}]{diff:sin}
+\begin{onlyproblem}
+ \(f(x) = \sin(#1x)\)
+\end{onlyproblem}
+\begin{onlysolution}
+ \(f'(x) = #1\cos(#1x)\)
+\end{onlysolution}
+\end{defproblem}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy.tex
new file mode 100644
index 00000000000..0527e3e4647
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy.tex
@@ -0,0 +1,114 @@
+ % This file is public domain
+ %
+ % 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}\]}
+
+\newproblem{diffeasy:exp4x}{%
+ $y = \exp(4x)$
+}%
+{%
+ \[\frac{dy}{dx} = 4\exp(4x)\]
+}
+
+\newproblem{diffeasy:exp3x+2}{%
+ $y = \exp(3x+2)$
+}%
+{%
+ \[\frac{dy}{dx} = 3\exp(3x+2)\]
+}
+
+\newproblem{diffeasy:cubic}{%
+ $y=x^3 + 4x^2 - x + 3$
+}%
+{%
+ \[\frac{dy}{dx} = 3x^2 + 8x - 1\]
+}
+
+\newproblem{diffeasy:quad}{%
+ $y=2x^3 + 6x -1$
+}%
+{%
+ \[\frac{dy}{dx} = 6x + 6 = 6(x+1)\]
+}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy2.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy2.tex
new file mode 100644
index 00000000000..d6edc7ee3ce
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy2.tex
@@ -0,0 +1,137 @@
+ % This file is public domain
+ %
+ % These are all easy differentiation problems
+
+\begin{defproblem}{diffeasy:gpowh}%
+\begin{onlyproblem}%
+\(f(x) = g(x)^{h(x)}.\)%
+\end{onlyproblem}%
+\begin{onlysolution}%
+\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*}%
+\end{onlysolution}%
+\end{defproblem}
+
+\begin{defproblem}{diffeasy:arcsin}%
+\begin{onlyproblem}%
+\(y = \arcsin(x)\)%
+\end{onlyproblem}%
+\begin{onlysolution}%
+\[\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*}
+\end{onlysolution}%
+\end{defproblem}
+
+\begin{defproblem}{diffeasy:arccos}%
+\begin{onlyproblem}%
+$y = \arccos x$.%
+\end{onlyproblem}%
+\begin{onlysolution}%
+\(\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*}
+\end{onlysolution}%
+\end{defproblem}
+
+\begin{defproblem}{diffeasy:tan}%
+\begin{onlyproblem}%
+\(y = \tan x\)%
+\end{onlyproblem}
+\begin{onlysolution}%
+\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*}
+\end{onlysolution}%
+\end{defproblem}
+
+\begin{defproblem}{diffeasy:arctan}%
+\begin{onlyproblem}%
+\(y = \arctan x = \tan^{-1}x\)%
+\end{onlyproblem}%
+\begin{onlysolution}%
+\[\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*}
+\end{onlysolution}%
+\end{defproblem}
+
+\begin{defproblem}{diffeasy:cot}%
+\begin{onlyproblem}%
+\(y = (\tan x)^{-1} = \cot x\)%
+\end{onlyproblem}
+\begin{onlysolution}%
+\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*}
+\end{onlysolution}%
+\end{defproblem}
+
+\begin{defproblem}{diffeasy:cosxsqsinx}%
+\begin{onlyproblem}%
+$y = \cos(x^2)\sin x$.%
+\end{onlyproblem}%
+\begin{onlysolution}%
+\[\frac{dy}{dx} = -\sin(x^2)2x\sin x + \cos(x^2)\cos x\]
+\end{onlysolution}%
+\end{defproblem}
+
+\begin{defproblem}{diffeasy:xlnx}%
+\begin{onlyproblem}%
+$y = (x+1)\ln(x+1)$.
+\end{onlyproblem}%
+\begin{onlysolution}%
+\begin{eqnarray*}
+\frac{dy}{dx} & = & \ln(x+1) + \frac{x+1}{x+1}\\
+ & = & 1 + \ln(x+1).
+\end{eqnarray*}
+\end{onlysolution}
+\end{defproblem}
+
+\begin{defproblem}{diffeasy:glng}%
+\begin{onlyproblem}%
+$f(x) = g(x)\ln(g(x))$.
+\end{onlyproblem}
+\begin{onlysolution}%
+\begin{eqnarray*}
+f'(x) & = & g'(x)\ln(g(x)) + \frac{g(x)}{g(x)}g'(x)\\
+ & = & g'(x)(1+\ln(g(x))).
+\end{eqnarray*}
+\end{onlysolution}%
+\end{defproblem}
+
+\begin{defproblem}{diffeasy:sinx/x}
+\begin{onlyproblem}%
+$y = \frac{\sin x}{x}$.
+\end{onlyproblem}
+\begin{onlysolution}%
+\[\frac{dy}{dx} = \frac{\cos x}{x} - \frac{\sin x}{x^2}\]
+\end{onlysolution}%
+\end{defproblem}
+
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-implicit.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-implicit.tex
new file mode 100644
index 00000000000..dd847d96e30
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-implicit.tex
@@ -0,0 +1,52 @@
+ % This file is public domain
+ %
+ % 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:ellipse}{%
+Find the gradient of the ellipse given by $4x^2 + 3y^2 = 25$.}{%
+Differentiating with respect to $x$ gives:
+\begin{eqnarray*}
+8x + 6y\frac{dy}{dx} & = & 0\\
+\frac{dy}{dx} & = & \frac{-8x}{6y}\\
+ & = & \frac{-4x}{\sqrt{25-4x^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*}}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-mchoice.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-mchoice.tex
new file mode 100644
index 00000000000..22886ce9b2c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-mchoice.tex
@@ -0,0 +1,37 @@
+ % This file is public domain
+ %
+ % These problems are for multiple choice questions
+\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}
+}
+
+\newproblem{mc:quot}{%
+Which of the following is the derivative of $\frac{\sin(x)}{x}$?
+(Circle the correct answer.)
+\ifthenelse{\boolean{showanswers}}{}%
+{\begin{description}
+\item[A] $\sin(x)$
+\item[B] $\cos(x)$
+\item[C] $\frac{\cos(x)x-\sin(x)}{x^2}$
+\end{description}
+}}{%
+\begin{description}
+\item[A] $\sin(x)$
+\item[B] $\cos(x)$
+\item[\textcircled{C}] $\frac{\cos(x)x-\sin(x)}{x^2}$
+(quotient rule)
+\end{description}
+}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-mixed.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-mixed.tex
new file mode 100644
index 00000000000..1f43968b8a4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-mixed.tex
@@ -0,0 +1,78 @@
+ % This file is public domain
+ %
+ % These problems are a mixture of essay-style and questions with
+ % answers. One of these problems requires the tikz package
+
+\newproblem*{oop}{Describe what is meant by object-oriented
+programming.}
+
+\begin{defproblem}{inheritance}
+ Describe what is meant by the term \emph{inheritance} in
+ object-oriented programming. Use examples.
+\end{defproblem}
+
+\begin{defproblem}{weightedcoin}%
+ \begin{onlyproblem}
+ A coin is weighted so that heads is four times as likely
+ as tails. Find the probability that:
+ \begin{textenum}
+ \item tails appears,
+ \item heads appears
+ \end{textenum}%
+ \end{onlyproblem}%
+ \begin{onlysolution}
+ Let $p=P(T)$, then $P(H)=4p$. We require $P(H)+P(T)=1$,
+ so $4p+p=1$, hence $p=\frac{1}{5}$. Therefore:
+ \begin{textenum}
+ \item $P(T)=\frac{1}{5}$,
+ \item $P(H)=\frac{4}{5}$
+ \end{textenum}
+ \end{onlysolution}
+\end{defproblem}
+
+\begin{defproblem}{validprobspaces}
+\begin{onlyproblem}%
+Under which of the following functions does
+$S=\{a_1,a_2\}$ become a probability space?
+\par
+\begin{textenum}
+\begin{tabular}{ll}
+\item $P(a_1)=\frac{1}{3}$, $P(a_2)=\frac{1}{2}$
+&
+\item\label{validprobspacescorrect1} $P(a_1)=\frac{3}{4}$,
+$P(a_2)=\frac{1}{4}$
+\\
+\item\label{validprobspacescorrect2} $P(a_1)=1$, $P(a_2)=0$
+&
+\item $P(a_1)=\frac{5}{4}$, $P(a_2)=-\frac{1}{4}$
+\end{tabular}
+\end{textenum}
+\end{onlyproblem}%
+\begin{onlysolution}%
+\ref{validprobspacescorrect1} and \ref{validprobspacescorrect2}%
+\end{onlysolution}
+\end{defproblem}
+
+\begin{defproblem}{digraph}
+ \begin{onlyproblem}\label{ex:digraph}
+ Identify, if any, the sinks and sources of the digraph shown in Figure~\ref{fig:digraph}.
+
+ \begin{figure}[tbh]
+ \centering
+ \begin{tikzpicture}[every node/.style={draw,circle}]
+ \path (0,0) node (A) {$A$}
+ (1,0) node (B) {$B$}
+ (0,1) node (C) {$C$};
+ \draw[->] (A) -- (B);
+ \draw[->] (B) -- (C);
+ \draw[->] (A) -- (C);
+ \end{tikzpicture}
+ \par
+ \caption{Digraph for Question~\ref{ex:digraph}}
+ \label{fig:digraph}
+ \end{figure}
+ \end{onlyproblem}
+ \begin{onlysolution}
+ $A$ is a souce and $C$ is a sink.
+ \end{onlysolution}
+\end{defproblem}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-newdata.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-newdata.tex
new file mode 100644
index 00000000000..946f0e11248
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-newdata.tex
@@ -0,0 +1,27 @@
+ % This file is public domain
+\begin{defproblem}{sample}
+\begin{onlyproblem}
+Differentiate $y=\sin x$
+\end{onlyproblem}
+\begin{onlysolution}
+$y'=\cos x$
+\end{onlysolution}
+\end{defproblem}
+
+\begin{defproblem}[1]{sample2}
+\begin{onlyproblem}
+Differentiate $y = \sin(#1x)$
+\end{onlyproblem}
+\begin{onlysolution}
+$y'=#1\cos #1x$
+\end{onlysolution}
+\end{defproblem}
+
+\begin{defproblem}{sample3}
+\begin{onlyproblem}
+Differentiate $y = x^2$.
+\end{onlyproblem}
+\begin{onlysolution}
+$y' = 2x$
+\end{onlysolution}
+\end{defproblem}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-nosoln.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-nosoln.tex
new file mode 100644
index 00000000000..9909651b86d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-nosoln.tex
@@ -0,0 +1,9 @@
+ % This file is public domain
+ %
+ % these problems don't have solutions
+
+\newproblem*{oop}{Describe what is meant by object-oriented
+programming.}
+
+\newproblem*{inheritance}{Describe what is meant by the term
+\emph{inheritance} in object-oriented programming. Use examples.}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces.tex
new file mode 100644
index 00000000000..4862e5caefb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces.tex
@@ -0,0 +1,33 @@
+ % This file is public domain
+ %
+ % Finite probability spaces
+\newproblem{weightedcoin}{%
+A coin is weighted so that heads is four times as likely
+as tails. Find the probability that:
+\begin{textenum}
+\item tails appears,
+\item heads appears
+\end{textenum}}{%
+Let $p=P(T)$, then $P(H)=4p$. We require $P(H)+P(T)=1$,
+so $4p+p=1$, hence $p=\frac{1}{5}$. Therefore:
+\begin{textenum}
+\item $P(T)=\frac{1}{5}$,
+\item $P(H)=\frac{4}{5}$
+\end{textenum}}
+
+\newproblem*{validprobspaces}{%
+Under which of the following functions does
+$S=\{a_1,a_2\}$ become a probability space?
+\par
+\begin{textenum}
+\begin{tabular}{ll}
+\incorrectitem $P(a_1)=\frac{1}{3}$, $P(a_2)=\frac{1}{2}$
+&
+\correctitem $P(a_1)=\frac{3}{4}$, $P(a_2)=\frac{1}{4}$
+\\
+\correctitem $P(a_1)=1$, $P(a_2)=0$
+&
+\incorrectitem $P(a_1)=\frac{5}{4}$, $P(a_2)=-\frac{1}{4}$
+\end{tabular}
+\end{textenum}
+}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces2.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces2.tex
new file mode 100644
index 00000000000..dacddb510cf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces2.tex
@@ -0,0 +1,43 @@
+ % This file is public domain
+ %
+ % Finite probability spaces
+\begin{defproblem}{weightedcoin}
+\begin{onlyproblem}%
+A coin is weighted so that heads is four times as likely
+as tails. Find the probability that:
+\begin{textenum}
+\item tails appears,
+\item heads appears
+\end{textenum}
+\end{onlyproblem}
+\begin{onlysolution}%
+Let $p=P(T)$, then $P(H)=4p$. We require $P(H)+P(T)=1$,
+so $4p+p=1$, hence $p=\frac{1}{5}$. Therefore:
+\begin{textenum}
+\item $P(T)=\frac{1}{5}$,
+\item $P(H)=\frac{4}{5}$
+\end{textenum}
+\end{onlysolution}
+\end{defproblem}
+
+\begin{defproblem}{validprobspaces}
+\begin{onlyproblem}%
+Under which of the following functions does
+$S=\{a_1,a_2\}$ become a probability space?
+\par
+\begin{textenum}
+\begin{tabular}{ll}
+\item $P(a_1)=\frac{1}{3}$, $P(a_2)=\frac{1}{2}$
+&
+\item\label{validprobspacescorrect1} $P(a_1)=\frac{3}{4}$, $P(a_2)=\frac{1}{4}$
+\\
+\item\label{validprobspacescorrect2} $P(a_1)=1$, $P(a_2)=0$
+&
+\item $P(a_1)=\frac{5}{4}$, $P(a_2)=-\frac{1}{4}$
+\end{tabular}
+\end{textenum}
+\end{onlyproblem}%
+\begin{onlysolution}%
+\ref{validprobspacescorrect1} and \ref{validprobspacescorrect2}%
+\end{onlysolution}
+\end{defproblem}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-tabmchoice.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-tabmchoice.tex
new file mode 100644
index 00000000000..9555b97dd32
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-tabmchoice.tex
@@ -0,0 +1,18 @@
+ % This file is public domain
+ %
+ % These problems are designed to be placed in a
+ % tabular environment
+ %
+\newproblem{tab:1}{%
+What is $(3+2)\times5$? &
+25 \ifshowanswers\selected\else\notselected\fi &
+13 \notselected &
+10 \notselected &
+}{Brackets come first}%
+
+\newproblem{tab:2}{%
+What is $-1+2\times3$? &
+3 \notselected &
+-7 \notselected &
+5 \ifshowanswers\selected\else\notselected\fi &
+}{Multiplication comes first}%
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/prob-verb.tex b/Master/texmf-dist/doc/latex/probsoln/samples/prob-verb.tex
new file mode 100644
index 00000000000..07e0f835134
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/prob-verb.tex
@@ -0,0 +1,28 @@
+\begin{defproblem}{code-helloworld}
+This problem has a code fragment.
+\begin{onlyproblem}
+\lstset{language=Java}
+\begin{lstlisting}
+public class HelloWorld
+{
+ public static void main(String[] args)
+ {
+ System.out.println("Hello World!");
+ }
+}
+\end{lstlisting}
+\end{onlyproblem}
+\begin{onlysolution}
+\lstset{language=Java}
+\begin{lstlisting}
+public class HelloWorld
+{
+ public static void main(String[] args)
+ {
+ System.out.println("Hello "
+ + (args.length==0 ? "anon" : args[0])+"!");
+ }
+}
+\end{lstlisting}
+\end{onlysolution}
+\end{defproblem}
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdf
new file mode 100644
index 00000000000..a0e6571cacb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.tex
index 8295015352e..0120d310ed2 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.tex
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.tex
@@ -1,51 +1,3 @@
-%%
-%% This is file `sample-exclude.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% probsoln.dtx (with options: `sample-exclude.tex,package')
-%%
-%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Nicola Talbot.
-%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%% randomly select 25 problems from derivatives.tex and add to
-%% the data set called 'deriv'
-%% Display the problems
-%% You may need to change \theenumi back here
-%% randomly select 25 problems from probspaces.tex and add to
-%% the data set called 'spaces'
-%% Display the problems
-%% You may need to change \theenumi back here
% This file is public domain
\documentclass[a4paper]{article}
@@ -63,11 +15,11 @@
% Exclude problems that have been used this year or the previous
% two academic years. (Creates a file called 'excluded.tex' to
% store labels of used problems. Also creates a file called
- % \jobname.prb that stores labels of problems used in this
+ % \jobname.prb that stores labels of problems used in this
% document, so they don't get excluded on subsequent runs.)
\ExcludePreviousFile[3]{excluded}
- % To clear the used problems file (\jobname.prb) of the labels
+ % To clear the used problems file (\jobname.prb) of the labels
% generated in the previous run, comment the above and uncomment
% below:
% \ClearUsedFile{excluded}
@@ -96,6 +48,7 @@
% and store in database 'nosoln':
\loadrandomproblems[nosoln]{1}{prob-nosoln}
+
\begin{document}
\title{Sample Problem Sheet}
\author{Nicola Talbot}
@@ -124,6 +77,3 @@
\foreachproblem[nosoln]{\item \thisproblem}
\end{enumerate}
\end{document}
-\endinput
-%%
-%% End of file `sample-exclude.tex'.
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample.pdf
index 43f13544672..3a44bed21a3 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample.pdf
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample.tex
index c5b631659e6..b6bd6658259 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample.tex
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample.tex
@@ -1,51 +1,3 @@
-%%
-%% This is file `sample.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% probsoln.dtx (with options: `sample.tex,package')
-%%
-%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Nicola Talbot.
-%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%% randomly select 25 problems from derivatives.tex and add to
-%% the data set called 'deriv'
-%% Display the problems
-%% You may need to change \theenumi back here
-%% randomly select 25 problems from probspaces.tex and add to
-%% the data set called 'spaces'
-%% Display the problems
-%% You may need to change \theenumi back here
% This file is public domain
\documentclass[a4paper]{article}
@@ -81,6 +33,7 @@
% and store in database 'nosoln':
\loadrandomproblems[nosoln]{1}{prob-nosoln}
+
\begin{document}
\title{Sample Problem Sheet}
\author{Nicola Talbot}
@@ -109,6 +62,3 @@
\foreachproblem[nosoln]{\item \thisproblem}
\end{enumerate}
\end{document}
-\endinput
-%%
-%% End of file `sample.tex'.
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample2.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample2.pdf
index a54bc6f77d3..007f6d906b5 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample2.pdf
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample2.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample2.tex
index 72a2f6df6a3..cd13c89f309 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample2.tex
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample2.tex
@@ -1,51 +1,3 @@
-%%
-%% This is file `sample2.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% probsoln.dtx (with options: `sample2.tex,package')
-%%
-%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Nicola Talbot.
-%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%% randomly select 25 problems from derivatives.tex and add to
-%% the data set called 'deriv'
-%% Display the problems
-%% You may need to change \theenumi back here
-%% randomly select 25 problems from probspaces.tex and add to
-%% the data set called 'spaces'
-%% Display the problems
-%% You may need to change \theenumi back here
% This file is public domain
\documentclass[a4paper]{article}
@@ -94,6 +46,3 @@
\end{enumerate}
\end{enumerate}
\end{document}
-\endinput
-%%
-%% End of file `sample2.tex'.
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample3.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample3.pdf
index 1b0e3717ade..d6f6ff4909a 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample3.pdf
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample3.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample3.tex
index f40e4755ae4..6922f9538ed 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample3.tex
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample3.tex
@@ -1,51 +1,3 @@
-%%
-%% This is file `sample3.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% probsoln.dtx (with options: `sample3.tex,package')
-%%
-%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Nicola Talbot.
-%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%% randomly select 25 problems from derivatives.tex and add to
-%% the data set called 'deriv'
-%% Display the problems
-%% You may need to change \theenumi back here
-%% randomly select 25 problems from probspaces.tex and add to
-%% the data set called 'spaces'
-%% Display the problems
-%% You may need to change \theenumi back here
% This file is public domain
\documentclass[a4paper]{article}
@@ -66,11 +18,8 @@
\begin{document}
\begin{longtable}{lrrrl}
-\bfseries Question & \bfseries A & \bfseries B &
+\bfseries Question & \bfseries A & \bfseries B &
\bfseries C & \ifshowanswers \bfseries Reason\fi\\
\selectrandomly{prob-tabmchoice}{2}
\end{longtable}
\end{document}
-\endinput
-%%
-%% End of file `sample3.tex'.
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample4.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample4.pdf
index fba702a13fb..7aadf56ca1f 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample4.pdf
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample4.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample4.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample4.tex
index e79fd08340d..b432182d01e 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample4.tex
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample4.tex
@@ -1,51 +1,3 @@
-%%
-%% This is file `sample4.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% probsoln.dtx (with options: `sample4.tex,package')
-%%
-%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Nicola Talbot.
-%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%% randomly select 25 problems from derivatives.tex and add to
-%% the data set called 'deriv'
-%% Display the problems
-%% You may need to change \theenumi back here
-%% randomly select 25 problems from probspaces.tex and add to
-%% the data set called 'spaces'
-%% Display the problems
-%% You may need to change \theenumi back here
% This file is public domain
\documentclass[a4paper]{article}
@@ -67,6 +19,3 @@ Differentiate the following functions:
\foreachproblem{\item \thisproblem}
\end{enumerate}
\end{document}
-\endinput
-%%
-%% End of file `sample4.tex'.
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample5.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample5.pdf
index 3d50533dc6c..f4ac8c7fdc0 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample5.pdf
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample5.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample5.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample5.tex
index 4f515585196..ac294c11caf 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample5.tex
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample5.tex
@@ -1,51 +1,3 @@
-%%
-%% This is file `sample5.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% probsoln.dtx (with options: `sample5.tex,package')
-%%
-%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Nicola Talbot.
-%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%% randomly select 25 problems from derivatives.tex and add to
-%% the data set called 'deriv'
-%% Display the problems
-%% You may need to change \theenumi back here
-%% randomly select 25 problems from probspaces.tex and add to
-%% the data set called 'spaces'
-%% Display the problems
-%% You may need to change \theenumi back here
% This file is public domain
\documentclass[a4paper]{report}
@@ -80,6 +32,3 @@
\end{enumerate}
\end{document}
-\endinput
-%%
-%% End of file `sample5.tex'.
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdf
new file mode 100644
index 00000000000..2a8be97bbc7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample6.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample6.tex
index 321fda452a9..65769d3c97b 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample6.tex
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample6.tex
@@ -1,51 +1,3 @@
-%%
-%% This is file `sample6.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% probsoln.dtx (with options: `sample6.tex,package')
-%%
-%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Nicola Talbot.
-%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%% randomly select 25 problems from derivatives.tex and add to
-%% the data set called 'deriv'
-%% Display the problems
-%% You may need to change \theenumi back here
-%% randomly select 25 problems from probspaces.tex and add to
-%% the data set called 'spaces'
-%% Display the problems
-%% You may need to change \theenumi back here
\documentclass{article}
\usepackage[usedefaultargs]{probsoln}
@@ -57,6 +9,3 @@
\foreachproblem{\item \thisproblem}
\end{enumerate}
\end{document}
-\endinput
-%%
-%% End of file `sample6.tex'.
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdf
new file mode 100644
index 00000000000..12b0da7dad8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample7.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample7.tex
index 0b48c4cc85e..00ccf637d46 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample7.tex
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample7.tex
@@ -1,51 +1,3 @@
-%%
-%% This is file `sample7.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% probsoln.dtx (with options: `sample7.tex,package')
-%%
-%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Nicola Talbot.
-%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%% randomly select 25 problems from derivatives.tex and add to
-%% the data set called 'deriv'
-%% Display the problems
-%% You may need to change \theenumi back here
-%% randomly select 25 problems from probspaces.tex and add to
-%% the data set called 'spaces'
-%% Display the problems
-%% You may need to change \theenumi back here
\documentclass{article}
\usepackage{tikz}
@@ -66,6 +18,3 @@
\foreachsolution{\item[\ref{q-\thisproblemlabel}] \thisproblem}
\end{enumerate}
\end{document}
-\endinput
-%%
-%% End of file `sample7.tex'.
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdf
new file mode 100644
index 00000000000..f931368efa3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample8.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample8.tex
index 503488f5e2e..e68954daf24 100644
--- a/Master/texmf-dist/doc/latex/probsoln/samples/sample8.tex
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample8.tex
@@ -1,51 +1,3 @@
-%%
-%% This is file `sample8.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% probsoln.dtx (with options: `sample8.tex,package')
-%%
-%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%%
-%% The Current Maintainer of this work is Nicola Talbot.
-%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
-%%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%% randomly select 25 problems from derivatives.tex and add to
-%% the data set called 'deriv'
-%% Display the problems
-%% You may need to change \theenumi back here
-%% randomly select 25 problems from probspaces.tex and add to
-%% the data set called 'spaces'
-%% Display the problems
-%% You may need to change \theenumi back here
\documentclass{article}
\usepackage{listings}
@@ -61,6 +13,3 @@
\foreachproblem{\item \thisproblem}
\end{enumerate}
\end{document}
-\endinput
-%%
-%% End of file `sample8.tex'.
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdf b/Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdf
new file mode 100644
index 00000000000..9632dc35dfa
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/probsoln/samples/sample9.tex b/Master/texmf-dist/doc/latex/probsoln/samples/sample9.tex
new file mode 100644
index 00000000000..79ac7c5f5e9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/probsoln/samples/sample9.tex
@@ -0,0 +1,19 @@
+ % This file is public domain
+\documentclass[a4paper]{article}
+
+\usepackage{probsoln}
+ % uncomment the following line to display the answers
+ % \showanswers
+
+ % Load 10 problems randomly selected from the given files
+\loadrandomproblems{10}{prob-1stprncp,prob-easy,prob-implicit,prob-probspaces}
+
+\begin{document}
+\title{Sample Problem Sheet}
+\author{Nicola Talbot}
+\maketitle
+
+\begin{enumerate}
+ \foreachproblem{\item \thisproblem}
+\end{enumerate}
+\end{document}
diff --git a/Master/texmf-dist/source/latex/probsoln/probsoln.dtx b/Master/texmf-dist/source/latex/probsoln/probsoln.dtx
index 0468d92c632..9b4593b23b0 100644
--- a/Master/texmf-dist/source/latex/probsoln/probsoln.dtx
+++ b/Master/texmf-dist/source/latex/probsoln/probsoln.dtx
@@ -1,15 +1,15 @@
%\iffalse
-% probsoln.dtx generated using makedtx version 0.94b (c) Nicola Talbot
+% probsoln.dtx generated using makedtx version 1.1 (c) Nicola Talbot
% Command line args:
-% -macrocode ".+\.tex"
-% -comment ".+\.tex"
+% -doc "probsoln-manual.tex"
% -src "(.+)\.(sty)\Z=>\1.\2"
% -src "(sample.*)\.(tex)\Z=>\1.\2"
% -src "(prob-.*)\.(tex)\Z=>\1.\2"
-% -doc "probsoln-manual.tex"
+% -comment ".+\.tex"
+% -macrocode ".+\.tex"
% -author "Nicola Talbot"
% probsoln
-% Created on 2013/3/13 15:28
+% Created on 2017/7/10 11:58
%\fi
%\iffalse
%<*package>
@@ -32,7 +32,7 @@
%\fi
% \iffalse
% Doc-Source file to use with LaTeX2e
-% Copyright (C) 2013 Nicola Talbot, all rights reserved.
+% Copyright (C) 2017 Nicola Talbot, all rights reserved.
% \fi
% \iffalse
%<*driver>
@@ -54,7 +54,7 @@
\RecordChanges
\PageIndex
-\CheckSum{1822}
+\CheckSum{1830}
\newcommand*{\dq}[1]{``#1''}
@@ -66,16 +66,12 @@
%\MakeShortVerb{"}
%\DeleteShortVerb{\|}
%
-% \title{probsoln v3.04:
+% \title{probsoln v3.05:
%creating problem sheets optionally with solutions}
-% \author{Nicola L.C. Talbot\\[10pt]
-%School of Computing Sciences\\
-%University of East Anglia\\
-%Norwich. Norfolk\\
-%NR4 7TJ. United Kingdom.\\
-%\url{http://theoval.cmp.uea.ac.uk/~nlct/}}
-%
-% \date{2012-08-23}
+% \author{Nicola L.C. Talbot\\
+%\url{http://www.dickimaw-books.com/}}
+%
+% \date{2017-07-10}
% \maketitle
%\tableofcontents
%
@@ -95,6 +91,11 @@
%In this way, one file can either produce the student's version or
%the teacher's version.
%
+%You may want to consider using \sty{datatool} with \app{datatooltk}
+%instead of \styfmt{probsoln}. See
+%\href{http://www.dickimaw-books.com/latex/admin/html/datatoolexam.shtml}{Using
+%the \styfmt{datatool} Package for Exams or Assignment Sheets}.
+%
%\section{Package Options}\label{sec:pkgopt}
%The following options may be passed to this package:
%\begin{description}
@@ -376,6 +377,11 @@
%\end{onlysolution}
%\end{defproblem}
%\end{verbatim}
+%\begin{important}
+%If you don't use \cs{thisproblem} or you don't
+%use the package option \pkgopt{usedefaultargs}, then you must supply
+%the arguments.
+%\end{important}
%
%\begin{definition}[\DescribeMacro{\newproblem}]
%\cs{newproblem}\oarg{n}\oarg{default args}\marg{label}\marg{problem}\marg{solution}
@@ -393,11 +399,11 @@
%\end{ttfamily}
%For example:
%\begin{verbatim}
-%\newproblem[1]{diffsin}{%
-% \(f(x) = \sin(#1x)\)
+%\newproblem[1]{diffcos}{%
+% \(f(x) = \cos(#1x)\)
%}%
%{%
-% \(f'(x) = #1\cos(#1x)\)
+% \(f'(x) = -#1\sin(#1x)\)
%}
%\end{verbatim}
%is equivalent to
@@ -520,18 +526,33 @@
%list}.
%
%\begin{definition}[\DescribeMacro{\loadrandomproblems}]
-%\cs{loadrandomproblems}\oarg{data set}\marg{n}\marg{filename}
+%\cs{loadrandomproblems}\oarg{data set}\marg{n}\marg{filenames}
%\end{definition}
-%This randomly loads \meta{n} problems from \meta{filename} and
-%adds them to the given data set. If \meta{data set} is omitted,
-%the default data set is assumed. Note that the problems will be
-%added to the data set in a random order, not in the order in
-%which they were defined. There must be at least \meta{n} problems
-%defined in \meta{filename}.
+%This randomly loads \meta{n} problems from the comma-separated
+%list\footnote{The list form was added to v3.05. Earlier versions
+%only allow a single filename.}
+%of \meta{filenames} and adds them to the given data set. If
+%\meta{data set} is omitted, the default data set is assumed. Note
+%that the problems will be added to the data set in a random order,
+%not in the order in which they were defined. There must be at least
+%\meta{n} problems defined across the given list of files.
+%
+%Note that there's a difference between
+%\begin{verbatim}
+%\loadrandomproblems{5}{problemset1}
+%\loadrandomproblems{5}{problemset2}
+%\end{verbatim}
+%and
+%\begin{verbatim}
+%\loadrandomproblems{10}{problemset1,problemset2}
+%\end{verbatim}
+%In the first case, the data set will contain 5 problems randomly
+%selected from \texttt{problemset1} and 5 problems randomly selected
+%from \texttt{problemset2}. Whereas in the second case, the data set
+%will contain 10 problems randomly selected across both files.
%
%\begin{definition}[\DescribeMacro{\loadrandomexcept}]
-%\cs{loadrandomexcept}\oarg{data
-%set}\marg{n}\marg{filename}\marg{exception list}
+%\cs{loadrandomexcept}\oarg{data set}\marg{n}\marg{filenames}\marg{exception list}
%\end{definition}
%This is similar to \cs{loadrandomproblems} except that it won't load
%those problems whose labels are listed in \meta{exception list}.
@@ -711,7 +732,7 @@
%\begin{definition}[\DescribeMacro{\foreachsolution}]
%\cs{foreachsolution}\oarg{data set}\marg{body}
%\end{definition}
-%This is equivalent to \cs{foreachsolution}, but only iterates
+%This is equivalent to \cs{foreachproblem}, but only iterates
%through problems that contain the \env{onlysolution} environment.
%Note that you still need to use \ics{showanswers} or the
%\pkgopt{answers} package option for the contents of the
@@ -967,7 +988,7 @@
% \end{macrocode}
% Identify this package and version:
% \begin{macrocode}
-\ProvidesPackage{probsoln}[2012/08/23 v3.04 (NLCT)]
+\ProvidesPackage{probsoln}[2017/07/10 v3.05 (NLCT)]
% \end{macrocode}
% Required packages:
%\changes{3.01}{2011/08/22}{substr package no longer required}
@@ -1490,7 +1511,7 @@
% which stores a comma-separated list of labels for each problem
% associated with that data base. Each problem \meta{label} is
% stored in the macro
-% \cs{prob@data@}\meta{name}"@"\meta{name}"@"\meta{label}. Problems
+% \cs{prob@data@}\meta{name}"@"\meta{label}. Problems
% loaded from an external file using \cs{loadproblems} are added
% to the specified data base. Any problems that are defined in the
% document or are \cs{input}ed from another file (without the
@@ -2345,7 +2366,11 @@ Please specify (e.g. \csname @prob@getargs@eg@\romannumeral#1\endcsname):}%
% \begin{macrocode}
\let\prob@do@defproblem=\prob@add@currentlabel
\firstpasstrue
- \input{#3}%
+% \end{macrocode}
+%\changes{3.05}{2017/07/10}{allow comma-separated list of file names}
+%Allow a comma-separated list of file names.
+% \begin{macrocode}
+ \@for\@thisfile:=#3\do{\input{\@thisfile}}%
% \end{macrocode}
% Shuffle labels.
% \begin{macrocode}
@@ -2422,7 +2447,7 @@ Please specify (e.g. \csname @prob@getargs@eg@\romannumeral#1\endcsname):}%
% \begin{macrocode}
\let\prob@do@defproblem=\prob@do@selectedproblem
\firstpassfalse
- \input{#3}%
+ \@for\@thisfile:=#3\do{\input{\@thisfile}}%
% \end{macrocode}
% Move them from the reserved data base into the required data base
% in the order specified by \cs{prob@selectedlabels}
@@ -3353,6 +3378,39 @@ Differentiate the following functions:
%\fi
%\iffalse
% \begin{macrocode}
+%<*sample9.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+ % This file is public domain
+\documentclass[a4paper]{article}
+
+\usepackage{probsoln}
+ % uncomment the following line to display the answers
+ % \showanswers
+
+ % Load 10 problems randomly selected from the given files
+\loadrandomproblems{10}{prob-1stprncp,prob-easy,prob-implicit,prob-probspaces}
+
+\begin{document}
+\title{Sample Problem Sheet}
+\author{Nicola Talbot}
+\maketitle
+
+\begin{enumerate}
+ \foreachproblem{\item \thisproblem}
+\end{enumerate}
+\end{document}
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
+%</sample9.tex>
+% \end{macrocode}
+%\fi
+%\iffalse
+% \begin{macrocode}
%<*prob-1stprncp.tex>
% \end{macrocode}
%\fi
diff --git a/Master/texmf-dist/source/latex/probsoln/probsoln.ins b/Master/texmf-dist/source/latex/probsoln/probsoln.ins
index 261f5de04d8..6ac532dcc55 100644
--- a/Master/texmf-dist/source/latex/probsoln/probsoln.ins
+++ b/Master/texmf-dist/source/latex/probsoln/probsoln.ins
@@ -1,14 +1,14 @@
-% probsoln.ins generated using makedtx version 0.94b 2013/3/13 15:28
+% probsoln.ins generated using makedtx version 1.1 2017/7/10 11:58
\input docstrip
\preamble
probsoln.dtx
- Copyright 2013 Nicola Talbot
+ Copyright 2017 Nicola Talbot
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
- of this license of (at your option) any later version.
+ of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
and version 1.3 or later is part of all distributions of LaTeX
@@ -18,7 +18,7 @@
The Current Maintainer of this work is Nicola Talbot.
- This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
+ This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, sample9.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
\endpreamble
@@ -44,6 +44,8 @@
\usepostamble\defaultpostamble\from{probsoln.dtx}{sample7.tex,package}}
\file{sample8.tex}{\usepreamble\defaultpreamble
\usepostamble\defaultpostamble\from{probsoln.dtx}{sample8.tex,package}}
+\file{sample9.tex}{\usepreamble\defaultpreamble
+\usepostamble\defaultpostamble\from{probsoln.dtx}{sample9.tex,package}}
\file{prob-1stprncp.tex}{\usepreamble\defaultpreamble
\usepostamble\defaultpostamble\from{probsoln.dtx}{prob-1stprncp.tex,package}}
\file{prob-args.tex}{\usepreamble\defaultpreamble
diff --git a/Master/texmf-dist/tex/latex/probsoln/probsoln.sty b/Master/texmf-dist/tex/latex/probsoln/probsoln.sty
index 86e685a1327..10e21db0bf9 100644
--- a/Master/texmf-dist/tex/latex/probsoln/probsoln.sty
+++ b/Master/texmf-dist/tex/latex/probsoln/probsoln.sty
@@ -7,11 +7,11 @@
%% probsoln.dtx (with options: `probsoln.sty,package')
%%
%% probsoln.dtx
-%% Copyright 2013 Nicola Talbot
+%% Copyright 2017 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license of (at your option) any later version.
+%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
@@ -21,7 +21,7 @@
%%
%% The Current Maintainer of this work is Nicola Talbot.
%%
-%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
+%% This work consists of the files probsoln.dtx and probsoln.ins and the derived files probsoln.sty, sample-exclude.tex, sample.tex, sample2.tex, sample3.tex, sample4.tex, sample5.tex, sample6.tex, sample7.tex, sample8.tex, sample9.tex, prob-1stprncp.tex, prob-args.tex, prob-easy.tex, prob-easy2.tex, prob-implicit.tex, prob-mchoice.tex, prob-mixed.tex, prob-newdata.tex, prob-nosoln.tex, prob-probspaces.tex, prob-probspaces2.tex, prob-tabmchoice.tex, prob-verb.tex.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -47,7 +47,7 @@
%% Display the problems
%% You may need to change \theenumi back here
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{probsoln}[2012/08/23 v3.04 (NLCT)]
+\ProvidesPackage{probsoln}[2017/07/10 v3.05 (NLCT)]
\RequirePackage{ifthen}
\RequirePackage{amsmath}
\RequirePackage{etoolbox}
@@ -659,7 +659,7 @@ Please specify (e.g. \csname @prob@getargs@eg@\romannumeral#1\endcsname):}%
\edef\prob@selectedlabels{}%
\let\prob@do@defproblem=\prob@add@currentlabel
\firstpasstrue
- \input{#3}%
+ \@for\@thisfile:=#3\do{\input{\@thisfile}}%
\@probselN=0\relax
\@for\@thislabel:=\prob@selectedlabels\do{%
\edef\@if@in@list{\noexpand\DTLifinlist{\@thislabel}{#4}}%
@@ -714,7 +714,7 @@ Please specify (e.g. \csname @prob@getargs@eg@\romannumeral#1\endcsname):}%
}%
\let\prob@do@defproblem=\prob@do@selectedproblem
\firstpassfalse
- \input{#3}%
+ \@for\@thisfile:=#3\do{\input{\@thisfile}}%
\@ifundefined{prob@db@#1}{\prob@newdb{#1}}{}%
\@for\@thislabel:=\prob@selectedlabels\do{%
\@moveproblem{\@thislabel}{reserved}{#1}%