texlive[44783] Master/texmf-dist: probsoln (10jul17)

commits+karl at tug.org commits+karl at tug.org
Fri Jul 14 01:07:00 CEST 2017


Revision: 44783
          http://tug.org/svn/texlive?view=revision&revision=44783
Author:   karl
Date:     2017-07-14 01:06:59 +0200 (Fri, 14 Jul 2017)
Log Message:
-----------
probsoln (10jul17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/probsoln/CHANGES
    trunk/Master/texmf-dist/doc/latex/probsoln/README
    trunk/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample2.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample2.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample3.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample3.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample4.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample4.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample5.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample5.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.tex
    trunk/Master/texmf-dist/source/latex/probsoln/probsoln.dtx
    trunk/Master/texmf-dist/source/latex/probsoln/probsoln.ins
    trunk/Master/texmf-dist/tex/latex/probsoln/probsoln.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-1stprncp.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-args.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy2.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-implicit.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mchoice.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mixed.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-newdata.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-nosoln.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces2.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-tabmchoice.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-verb.tex
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdf
    trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.css
    trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html
    trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.tex

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/CHANGES
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/CHANGES	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/CHANGES	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/README	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/README	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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 @@
 
 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/

Deleted: trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.css
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.css	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.css	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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 }
- at 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 */
-

Deleted: trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.html	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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 }  
- at 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’s students, and checking out their
-answers. There is also an option that can be passed to the package
-to determine whether or not the solutions should be printed. In this
-way, one file can either produce the student’s version or the teacher’s
-version.
-</p><!--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’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’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’(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’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’(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">\xA73 </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 “Solution”. 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">\xA74 </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;&=&#x00A0;2^x&#x00A0;=&#x00A0;\exp(\ln(x^2))&#x00A0;=\exp(2\ln(x))\\
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;f’(x)&#x00A0;&=&#x00A0;\exp(2\ln(x))\times&#x00A0;\frac{2}{x}\\
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&=&#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;&=&#x00A0;\cot(x)&#x00A0;=&#x00A0;(\tan(x))^{-2}\\
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;f’(x)&#x00A0;&=&#x00A0;-(\tan(x))^{-2}\times\sec^2(x)\\
-&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&=-\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 “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 <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 &, 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">\xA73 </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">\xA78 </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">\xA74 </a><a 
-href="#x1-50004">Showing and
-Hiding Solutions<!--tex4ht:ref: sec:showanswers --></a> and <a 
-href="#x1-60005">\xA75 </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’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’(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">\xA79
-</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’(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’(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’(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’(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’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">\xA76
-</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’(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">\xA76 </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">\xA79 </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’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’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’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">\xA78.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’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.
-</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’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’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:
-</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">\xA77 </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’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;’deriv’
-&#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;’spaces’
-&#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’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’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> 
-
-                                                                    
-
-

Deleted: trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/probsoln-manual.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/probsoln.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-1stprncp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-1stprncp.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-1stprncp.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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*}}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-1stprncp.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-args.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-args.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-args.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-args.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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)\]
+}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy2.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy2.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}
+


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-easy2.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-implicit.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-implicit.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-implicit.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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*}}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-implicit.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mchoice.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mchoice.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mchoice.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}
+}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mchoice.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mixed.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mixed.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mixed.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-mixed.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-newdata.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-newdata.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-newdata.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-newdata.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-nosoln.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-nosoln.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-nosoln.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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.}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-nosoln.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}
+}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces2.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces2.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-probspaces2.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-tabmchoice.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-tabmchoice.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-tabmchoice.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}%


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-tabmchoice.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-verb.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-verb.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-verb.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/prob-verb.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdf	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdf	2017-07-13 23:06:59 UTC (rev 44783)

Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample-exclude.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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'.

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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'.

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample2.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample2.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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'.

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample3.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample3.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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'.

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample4.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample4.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample4.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample4.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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 @@
   \foreachproblem{\item \thisproblem}
 \end{enumerate}
 \end{document}
-\endinput
-%%
-%% End of file `sample4.tex'.

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample5.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample5.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample5.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample5.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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'.

Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdf	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdf	2017-07-13 23:06:59 UTC (rev 44783)

Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample6.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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'.

Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdf	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdf	2017-07-13 23:06:59 UTC (rev 44783)

Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample7.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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'.

Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdf	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdf	2017-07-13 23:06:59 UTC (rev 44783)

Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.tex	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample8.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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'.

Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdf	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdf	2017-07-13 23:06:59 UTC (rev 44783)

Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.tex	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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}


Property changes on: trunk/Master/texmf-dist/doc/latex/probsoln/samples/sample9.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/probsoln/probsoln.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/probsoln/probsoln.dtx	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/source/latex/probsoln/probsoln.dtx	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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/}}
+% \author{Nicola L.C. Talbot\\
+%\url{http://www.dickimaw-books.com/}}
 %
-% \date{2012-08-23}
+% \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 at data@}\meta{name}"@"\meta{name}"@"\meta{label}. Problems
+% \cs{prob at 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,8 +2366,12 @@
 %    \begin{macrocode}
  \let\prob at do@defproblem=\prob at 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}
  \@probselN=0\relax
@@ -2422,7 +2447,7 @@
 %    \begin{macrocode}
  \let\prob at do@defproblem=\prob at 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 at selectedlabels}
@@ -3353,6 +3378,39 @@
 %\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

Modified: trunk/Master/texmf-dist/source/latex/probsoln/probsoln.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/probsoln/probsoln.ins	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/source/latex/probsoln/probsoln.ins	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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

Modified: trunk/Master/texmf-dist/tex/latex/probsoln/probsoln.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/probsoln/probsoln.sty	2017-07-13 23:06:10 UTC (rev 44782)
+++ trunk/Master/texmf-dist/tex/latex/probsoln/probsoln.sty	2017-07-13 23:06:59 UTC (rev 44783)
@@ -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 @@
  \edef\prob at selectedlabels{}%
  \let\prob at do@defproblem=\prob at add@currentlabel
  \firstpasstrue
- \input{#3}%
+ \@for\@thisfile:=#3\do{\input{\@thisfile}}%
  \@probselN=0\relax
  \@for\@thislabel:=\prob at selectedlabels\do{%
    \edef\@if at in@list{\noexpand\DTLifinlist{\@thislabel}{#4}}%
@@ -714,7 +714,7 @@
  }%
  \let\prob at do@defproblem=\prob at do@selectedproblem
  \firstpassfalse
- \input{#3}%
+ \@for\@thisfile:=#3\do{\input{\@thisfile}}%
 \@ifundefined{prob at db@#1}{\prob at newdb{#1}}{}%
 \@for\@thislabel:=\prob at selectedlabels\do{%
   \@moveproblem{\@thislabel}{reserved}{#1}%



More information about the tex-live-commits mailing list