RawTeX(' \newif\ifexnotes\exnotesfalse \newif\ifhints\hintsfalse \newif\ifsolutions\solutionsfalse \newif\ifpts\ptsfalse \newif\ifmin\minfalse \newif\ifboxed\boxedfalse \newif\ifextract\extractfalse '); # -*- CPERL -*- package LaTeXML::Package::Pool; use strict; use LaTeXML::Package; RequirePackage('sref'); RegisterNamespace('prob'=>"http://omdoc.org/ontology/problems#"); RegisterDocumentNamespace('prob'=>"http://omdoc.org/ontology/problems#"); DefCMPEnvironment('{problem} OptionalKeyVals:problem', "" . "?&KeyVal(#1,'title')(&KeyVal(#1,'title'))()" . "?&KeyVal(#1,'min')(&KeyVal(#1,'min'))()" . "?&KeyVal(#1,'pts')(&KeyVal(#1,'pts'))()" . "#body" ."\n"); DefKeyVal('soln','id','Semiverbatim'); DefKeyVal('soln','height','Semiverbatim'); DefKeyVal('soln','for','Semiverbatim'); DefCMPEnvironment('{solution} OptionalKeyVals:soln', "" . "#body" . ""); DefCMPEnvironment('{exnote}', "" . "" . "#body" .""); DefCMPEnvironment('{hint}', "" . "" . "#body" .""); DefConstructor('\pts{}',""); DefConstructor('\min{}',""); DefKeyVal('prob','pts','Semiverbatim'); DefKeyVal('prob','min','Semiverbatim'); DefKeyVal('prob','title','Semiverbatim'); DefConstructor('\includeproblem OptionalKeyVals:prob Semiverbatim', "" . "?&KeyVal(#1,'title')(&KeyVal(#1,'title'))()" . "?&KeyVal(#1,'min')(&KeyVal(#1,'min'))()" . "?&KeyVal(#1,'pts')(&KeyVal(#1,'pts'))()" .""); Tag('omdoc:exercise',afterOpen=>\&numberIt); Tag('omdoc:solution',afterOpen=>\&numberIt); Tag('omdoc:hint',afterOpen=>\&numberIt); 1;