Skip to main content
\(\newcommand{\definiteintegral}[4]{\int_{#1}^{#2}\,#3\,d#4} \newcommand{\indefiniteintegral}[2]{\int#1\,d#2} \newcommand{\lt}{<} \newcommand{\gt}{>} \newcommand{\amp}{&} \)

Section3Open Problem Library

The Open Problem Library (OPL) is a repository of curated WeBWorK problems. At last count it had something like 30,000 problems, searchable by topic.

Most of the problems in this sample chapter have their source authored within the same document as the narrative. However the problems in this section are from the OPL and elsewhere on the server that is hosting the WeBWorK caclulations. For HTML output we can connect to the server and render the problem here in an interactive fashion. For print/PDF we use the mbx script to connect to the server to produce PreTeXt code for the problem. We can use the exercise.text.* switches to control which parts of the problem (statements, solutions, hints) are incorporated.

Problems do not have to be in the OPL to reside on a server; any problem that is accessbile from the WeBWorK course which is hosting the WeBWorK computation may be used this way.

Exercise3.1Cylinder Volume

This problem is one that Portland Community College has donated to the Open Problem Library.

Warning3.2Incompatible Problems

Not all problems that come from the OPL are compatible with PreTeXt. The reasons vary. Perhaps the problem uses older WeBWorK macros that cannot be augmented to provide PreTeXt output. Perhaps the problem nests a table within a table, which PreTeXt will not support. Perhaps there are graphics in the problem that are not sized appropriately for PreTeXt output and there's nothing you can do about it. And there are many more reasons.

Unfortunately the variety of reasons for which a problem may be incompatible means that at present, there is no way to validate a problem automatically. Using an incompatible problem might not raise any errors at any stage of the PreTeXt processing, but large chunks of the problem may be missing, especially in print output. So we recommend that you review all output modes when using an OPL problem. Chances are that if it is behaving in print, it will behave elsewhere. But that is an unproven theory at this point.