Skip to main content
Chemistry LibreTexts

Glossary

  • Page ID
    483333
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\dsum}{\displaystyle\sum\limits} \)

    \( \newcommand{\dint}{\displaystyle\int\limits} \)

    \( \newcommand{\dlim}{\displaystyle\lim\limits} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \(\newcommand{\longvect}{\overrightarrow}\)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    This glossary defines the key terms used throughout the textbook so you can look up unfamiliar jargon quickly. For additional context on these terms, see Common terms and names.

    Glossary of key terms used in this textbook.
    Term Definition
    ADAPT LibreTexts assessment platform where WeBWorK problems are assigned to students. See Workflow and QA for how problems move from authoring to ADAPT.
    Answer blank An input field where students type or select an answer. Created in PGML with [___] syntax. See Answer blanks and answers.
    Answer evaluator The grading function that checks student input against the correct answer. In PGML, the evaluator is attached directly to the answer blank. See Legacy PG and deprecated patterns for old-style evaluators.
    ArbitraryString A MathObject that accepts free-text student input without mathematical parsing. See Macro Demonstrations for a worked example.
    BEGIN_PGML / END_PGML Delimiters that mark the student-facing text block in a PG problem. Everything between them is rendered as PGML. See Introduction to PGML.
    CheckboxList A widget that presents multiple options where students can select more than one correct answer. Provided by parserCheckboxList.pl. See Multiple Answer.
    Context Rules that control what student input is allowed and how it is parsed. For example, Context("Numeric") accepts numbers and formulas. See Introduction to PG Language.
    DBsubject / DBchapter OPL header fields that classify a problem by subject area and topic. Used for searchability in the Open Problem Library. See OPL Header and Metadata.
    DOCUMENT() / ENDDOCUMENT() Required opening and closing function calls in every PG problem file. DOCUMENT() initializes the rendering engine; ENDDOCUMENT() signals the end. See PG Problem Files.
    DraggableProof A widget that lets students drag and reorder items into a correct sequence. Provided by draggableProof.pl. See Ordered List.
    Dry-run Running a tool or script to preview changes without writing them to files. All tools in this textbook default to dry-run mode and require --apply to write changes.
    HEADER_TEXT A PG function that injects CSS or JavaScript into the page header. Used for custom styling since standard HTML tags are blocked in PGML. See Text Coloring and Emphasis.
    loadMacros The function call in the preamble that loads macro files. Each macro unlocks specific features. See Common PG Macros.
    Macro A reusable code library (.pl file) loaded by a problem to enable features such as widgets, grading helpers, or layout tools. See Common PG Macros.
    MathObjects Typed answer objects (numbers, formulas, lists, strings) used for grading. They determine how student input is parsed and compared to the correct answer. See Introduction to PG Language.
    niceTables A macro (niceTables.pl) for building formatted tables inside PGML without blocked HTML tags. See Making Tables with niceTables.
    OPL Open Problem Library. A shared repository of WeBWorK problems with standardized metadata headers for search and discovery.
    OPL header Metadata comment block at the top of a PG file used for searchability and attribution. Includes fields like TITLE, DESCRIPTION, DBsubject, and AUTHOR. See OPL Header and Metadata.
    PG The Perl-based language that defines a WeBWorK problem file. PG provides the execution sandbox, variable scoping, and grading infrastructure. See Problem Generation.
    PGcourse.pl A macro loaded at the end of every loadMacros call. It allows course-level customization without editing individual problem files. See Common PG Macros.
    PGML PG Markup Language. A markup layer inside PG for writing student-facing text, math, and answer blanks. See PGML (PG Markup Language).
    PGstandard.pl The core macro that loads essential PG functions. Required in every problem. See Common PG Macros.
    PopUp A dropdown menu widget for matching and selection problems. Provided by parserPopUp.pl. See Matching.
    Preamble The section of a PG file from DOCUMENT() through loadMacros(). It declares which macro libraries the problem needs. See Preamble.
    RadioButtons A widget that presents a single-choice question with radio button options. Provided by parserRadioButtons.pl. See Multiple Choice.
    Renderer The local webwork-pg-renderer service that compiles and previews PG problems outside of ADAPT. See Setting Up the PG Renderer.
    Sandbox The restricted execution environment in which PG code runs. It blocks most Perl builtins (open, system, die) for security. See Common Mistakes and How to Fix Them.
    Seed A number that reproduces one randomized variant of a problem. Each student receives a different seed, producing different random values but the same problem structure. See Testing Randomization and Edge Cases.
    Setup The Perl code section between the preamble and the PGML block. It defines variables, answer objects, and randomization logic. See Setup.
    Skill A curated set of reference documents that an AI coding agent reads before writing code. Called "forums" in OpenAI Codex. See Knowledge Documents for AI Agents.
    Solution An optional BEGIN_PGML_SOLUTION / END_PGML_SOLUTION block that shows the correct answer and rationale after the due date. See Solutions.
    Statement The BEGIN_PGML / END_PGML block that contains the problem text, data, and answer blanks that students see. See Statement.
    WeBWorK An open-source online homework system that delivers randomized, auto-graded math and science problems. See What is WeBWorK.