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.
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)
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.
The only required tags
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.
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 as
L'Hopital's rule, just omit the quotation marks so it becomes
Problem1. This is a cross-reference to particular problem(s) in a textbook. The value of
Problem1can be a space separated list of values, as in
Problem1("2 3 4"). If you want to cross-reference a WeBWorK problem to more than one text, then use
TitleText1etc. for the first text,
TitleText2etc. for the second text, and so on. In this way, a single .pg file can be cross-referenced to many texts.
AuthorThe name of the problem's author, if you are certain of who wrote the problem.
InstitutionThe name of the institution where the problem was written, but only if you are certain of where it was written.