Tagging Problems
The NPL uses information embedded in WeBWorK problems as comments. The comments can appear anywhere in the file, although typically they are inserted near the top or at the very bottom of the file.
Example
A typical set of tags are:
## DBsubject(Calculus - single variable) ## DBchapter(Limits and continuity) ## DBsection(Evaluating limits - factoring) ## Level(2) ## KEYWORDS('limits', 'factoring', 'rational function') ## TitleText1(Calculus) ## EditionText1(5e) ## AuthorText1(Stewart) ## Section1(2.9) ## Problem1(22) ## Author(Jeff Holt) ## Institution(UVA) ## Language(en)
Each line is a tag. The structure of a tag must be:
## Tagname(tag value)
starting at the first character of the line, one tag per line. The
only exception is Keywords
where a comma-separated list
of values is allowed. Quotation marks are also not required, except for keywords.
Required Tags
The only required tags
are DBsubject
, DBchapter
,
and DBsection
.
These serve to place the problem in
the hierarchical framework of the database. They are essentially a generic textbook, chapter, and section for finding the problem.
Problems should also have a Level
. Levels are described in Problem Levels.
By following the link to the hierarchical framework, you can see the values currently in use. If you are tagging problems which don't seem to fit any of the categories which already present, use values which seem appropriate, and then send the problems to John Jones as soon as you can so that the new values can be incorporated into the official listing linked to above.
Optional Tags
Other tags have the following meanings:
-
Keywords
: a list of keywords to facilite searching. Keywords themselves should not contain commas or quotation marks. We maintain a list of all keywords currently in use. If you have a keyword which seems to deserve a quotation mark, such asL'Hopital's rule
, just omit the quotation marks so it becomesLHopitals rule
. TitleText1
,EditionText1
,AuthorText1
,Section1
, andProblem1
. This is a cross-reference to particular problem(s) in a textbook. The value ofProblem1
can be a space separated list of values, as inProblem1("2 3 4")
. If you want to cross-reference a WeBWorK problem to more than one text, then useTitleText1
etc. for the first text,TitleText2
etc. for the second text, and so on. In this way, a single .pg file can be cross-referenced to many texts.Author
The name of the problem's author, if you are certain of who wrote the problem.Institution
The name of the institution where the problem was written, but only if you are certain of where it was written.