QuestionFileType

Internal tag named type.

One of the following items:

tag-valuedatatype of valuedescription
templateTemplateFileA question that uses a template
normalQuestionA normal question

TemplateFile

fieldtypedescription
templateStringThe path to the template to use. Relative to the exams or questions folder.
[any]YAML-valueThe data to insert into the template. Maps template keys onto values.

Question

fieldtypedescription
statementTranslationThe statement is a content area which appears at the top of the question, before any input boxes. Use the statement to set up the question and provide any information the student needs to answer it.
adviceTranslationAdvice is a content area which is shown when the student presses the Reveal button to reveal the question’s answers, or at the end of the exam. The advice area is normally used to present a worked solution to the question.
partsArray of QuestionPartA question consists of one or more parts. Each part can have a different type to create elaborate questions.
builtin_constantsBuiltinConstantsSpecifies which constants are enabled. You might want to disable the constant e so it can be used as a variable in the questions.
custom_constantsArray of CustomConstantCustom constants that are used in your question.
variablesMap from String to VariableRepresentationThe (ungrouped) variables that are used in this question.
grouped_variables"none" or Map from String to Map from String to VariableRepresentationThe (grouped) variables that are used in this question. This is a map from a group name to a map of variables. Should mainly be used to make it easier to template multiple variables at once.
variables_testVariablesTestThe test to which your variables should comply. Sometimes it’s hard to define randomised question variables so they’re guaranteed to produce a usable set of values. In these cases, it’s easier to state the condition you want the variables to satisfy, Variable values are generated until this condition passes.
While this tool allows you to pick sets of variables that would be hard to generate constructively, it’s a random process so you must be aware that there’s a chance no suitable set of values will ever be found.
functionsMap from String to FunctionThe functions that are used in this question
preamblePreambleSpecify custom javascript and css code that should be loaded.
navigationQuestionNavigationSpecify some navigation options for the question.
extensionsExtensionsUse this to enable the extensions that are used in the question
diagnostic_topic_namesArray of TranslationThe names of the topics used in diagnostic exams that this question belongs to
resourcesArray of ResourcePathThe paths to the resources
custom_part_typesArray of CustomPartTypeDefinitionPathThe custom part types used in this exam
rulesetsMap from String to JMERulesetItemThe rulesets defined in this question. A “ruleset” defines a list of named simplification rules used to manipulate mathematical expressions. https://numbas-editor.readthedocs.io/en/latest/question/reference.html#rulesets

Translation

One of the following items:

typedescription
TranslationStructA structured translatable string with placeholders.
FileStringA simple filestring. This implies that it can also just be a string.

TranslationStruct

fieldtypedescription
contentTranslationContentThe content with optional placeholders ({{placeholder-name}}).
placeholdersMap from String to TranslationThe values for the placeholders. It maps the placeholder-name to it's translatable value. The value for a placeholder can thus (if needed) be different for different locales.

TranslationContent

One of the following items:

typedescription
Map from String to FileStringMap from locale to content. You can use this to specify different content for different locales.
FileStringA filestring. Possibly to a file that is placed in locale folders and is therefore localized.

FileString

One of the following items:

typedescription
StringA string of the form file:<filepath> where filepath is the relative path (within the exams or questions folder) to a file containing content. This content can be localized by placing it in locale folders. e.g. file:examples/basic-explanation.html will search for files in folders with following form: questions/examples/locale-<localename>/basic-explanation.html If a file isn't found for a specific locale, questions/examples/basic-explanation.html will be used.
StringA literal string.

QuestionPart

One of the following items:

typedescription
QuestionPartBuiltinA question part using a builtin question part type
QuestionPartCustomA question part using a custom question part type

QuestionPartBuiltin

Internal tag named type.

One of the following items:

tag-valuedatatype of valuedescription
jmeQuestionPartJMEMathematical expression parts require the student to enter an algebraic expression, using JME syntax.
gapfillQuestionPartGapFillGap-fill parts allow you to include answer inputs inline with the prompt text, instead of at the end of the part. Each gap is a question part in itself.
choose_oneQuestionPartChooseOneMultiple choice part where the student must choose one of several options
choose_multipleQuestionPartChooseMultipleMultiple choice part where the student can choose any of a list of options
match_answersQuestionPartMatchAnswersWithItemsThe student is presented with a 2D grid of choices and answers. Depending on how the part is set up, they must either match up each choice with an answer, or select any number of choice-answer pairs.
number_entryQuestionPartNumberEntryNumber entry parts ask the student to enter a number, which is marked if it is in a specified range
pattern_matchQuestionPartPatternMatchUse a text pattern part when you want the student to enter short, non-mathematical text.
informationQuestionPartInformationAn information part contains only a prompt and no answer input. It is most often used as a Step to provide a hint for a parent part.
extensionQuestionPartExtensionAn extension part acts as a placeholder for any interactive element added by an extension, or custom code in the question, which awards marks to the student.
matrixQuestionPartMatrixMatrix entry parts ask the student to enter a matrix of numbers. Marks are awarded if every cell in the student’s answer is equal to the corresponding cell in the correct answer, within the allowed margin of error.

QuestionPartJME

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking
answerTranslationThe expected answer to the part.
answer_simplificationJMEAnswerSimplificationSimplification rules to apply to the correct answer, if it is displayed to the student (for example, after clicking the Reveal answers button). This shouldn’t affect marking. The simplification rules to apply to the answer
answer_displayJMEAnswerDisplayThe display rules to apply to the answer
show_previewBooleanIf ticked, a rendering of the student’s answer in mathematical notation is displayed beside the input box.
accuracyJMEAccuracyDefines the range of points over which the student’s answer will be compared with the correct answer, and the method used to compare them
check_variable_namesBooleanIf this is ticked, all variable names used in the student’s are checked against the variable names used in the correct answer. The first variable name which is not used in the correct answer will trigger a warning. You can use this option to prevent students incorrectly entering answers such as xy, which is interpreted as a single variable, when they mean x*y, the product of two variables.
single_letter_variablesBooleanIf this is ticked, long variable names will be interpreted as implicit multiplication of variables with single-letter names. For example, xyz will be interpreted as x * y * z. Digits, primes and single-letter underscores are still valid in variable names: a'x12y_z will be interpreted as a' * x12 * y_z. Greek letters are considered to be a single letter: pix will be interpreted as pi * x.
allow_unknown_functionsBooleanIf this is not ticked, the application of a function that is not defined in JME will be reinterpreted. If the function name can be split into several shorter names, each of which is defined in JME, it will be: for example, lnabs(x) will be interpreted as ln(abs(x)). Function names are recognised from right to left. Any remaining characters are interpreted as implicit multiplication by a variable. For example, xsin(x) will be interpreted as x * sin(x).
implicit_function_compositionBooleanIf this is ticked, the multiplication symbol (or implicit multiplication) will be interpreted as function composition when the right-hand side is a function application with one argument, and the left-hand side is the name of a function defined in JME. For example, ln * abs(x) and ln abs(x) will be interpreted as ln(abs(x)).
must_match_pattern"none" or JMEPatternRestrictionThe student’s answer must match the given pattern. If it does not, then a penalty is applied.
value_generators"none" or Array of JMEValueGeneratorVariable value generators override the default method used to pick values for variables when comparing the correct answer with the student’s answer. The expression for each variable can be written in terms of the other variables, as long as there are no circular dependencies. The values will be evaluated in order, like question variables. Each variable specified in the expected answer can be overriden The variable vRange represents the checking range defined for this part: a continuous interval between the checking range start and checking range end.
max_length"none" or JMELengthRestrictionDEPRECATED String restrictions are an unreliable method of restricting the form of a student’s answer. They are deprecated and retained only for backwards compatibility; use a pattern restriction instead.
Before string restrictions are applied, surplus brackets and whitespace are removed, and spaces are inserted between some operations, to minimise the possibility of the length restrictions being triggered for the wrong reasons.
If the student’s answer contains more than this many characters, the penalty is applied. A value of zero means no restriction is applied. The student’s answer is tidied up slightly so that things like extra or missing space characters don’t affect the calculated length. All spaces are removed, and then spaces are inserted between binary operations. For example, the answer 1+x (three characters) is marked as 1 + x (five characters).
min_length"none" or JMELengthRestrictionDEPRECATED String restrictions are an unreliable method of restricting the form of a student’s answer. They are deprecated and retained only for backwards compatibility; use a pattern restriction instead.
Before string restrictions are applied, surplus brackets and whitespace are removed, and spaces are inserted between some operations, to minimise the possibility of the length restrictions being triggered for the wrong reasons.
If the student’s answer contains fewer than this many characters, the penalty is applied. A value of zero means no restriction is applied.
must_have"none" or JMEStringRestrictionDEPRECATED String restrictions are an unreliable method of restricting the form of a student’s answer. They are deprecated and retained only for backwards compatibility; use a pattern restriction instead.
Before string restrictions are applied, surplus brackets and whitespace are removed, and spaces are inserted between some operations, to minimise the possibility of the length restrictions being triggered for the wrong reasons.
If the student’s answer doesn’t contain all of these strings, the penalty is applied.
may_not_have"none" or JMEStringRestrictionDEPRECATED String restrictions are an unreliable method of restricting the form of a student’s answer. They are deprecated and retained only for backwards compatibility; use a pattern restriction instead.
Before string restrictions are applied, surplus brackets and whitespace are removed, and spaces are inserted between some operations, to minimise the possibility of the length restrictions being triggered for the wrong reasons.
If the student’s answer contains any of these strings, the penalty is applied.

Number

One of the following items:

typedescription
IntegerAn integer / whole number
FloatA real number

CustomMarking

fieldtypedescription
algorithm_notesArray of JMENoteThis allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
extend_base_marking_algorithmBooleanIf this is ticked, all marking notes provided by the part’s standard marking algorithm will be available. If the same note is defined in both the standard algorithm and your custom algorithm, your version will be used.

JMENote

fieldtypedescription
nameStringThe name of the note
description"none" or StringA description of the note
expressionTranslationThe jme expression representing the note

AdaptiveMarking

fieldtypedescription
variable_replacementsArray of VariableReplacementThe variable replacements to do
variable_replacement_strategyVariableReplacementStrategyThe circumstances under which the variable replacements are used, and adaptive marking is applied.
penaltyIntegerIf adaptive marking is used, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. See steps_penalty for an example.

VariableReplacement

fieldtypedescription
variableStringThe name of the variable to replace
part_answer_to_useStringThe path to the part whose answer the variable’s value should be replaced with. Different part types produce different types of values.
must_be_answeredBooleanIf this is ticked, the student must submit an answer to the referenced part before they can submit an answer to this part.

VariableReplacementStrategy

One of the following items:

namedescription
"original_first"The student’s answer is first marked using the original values of the question variables. If the credit given by this method is less than the maximum available, the marking is repeated using the defined variable replacements. If the credit gained with variable replacements is greater than the credit gained under the original marking, that score is used, and the student is told that their answers to previous parts have been used in the marking for this part.
"always_replace"The student’s answer is only marked once, with the defined variable replacements applied.

JMEAnswerSimplification

fieldtypedescription
simplify_basicBooleanSome basic rules: https://numbas-editor.readthedocs.io/en/latest/simplification.html?highlight=simplification#term-basic
cancel_unit_factorsBooleanCancel products of 1
cancel_unit_powersBooleanCancel exponents of 1
cancel_unit_denominatorsBooleanCancel fractions with denominator 1
cancel_zero_factorsBooleanCancel products of zero to zero
omit_zero_termsBooleanOmit zero terms
cancel_zero_powersBooleanCancel exponents of 0
cancel_powers_with_base_zeroBooleanCancel any power of zero
collect_numbersBooleanCollect together numerical (as opposed to variable) products and sums.
constants_firstBooleanNumbers go to the left of multiplications
collect_sqrt_productsBooleanCollect products of square roots
collect_sqrt_divisionsBooleanCollect fractions of square roots
cancel_sqrt_squareBooleanCancel square roots of squares, and squares of square roots
evaluate_powers_of_numbersBooleanEvaluate powers of numbers.
rewrite_to_no_leading_minusBooleanRearrange expressions so they don’t start with a unary minus
simplify_fractionsBooleanCancel fractions to lowest form
simplify_trigonometricBooleanSimplify some trigonometric identities
collect_termsBooleanCollect together and cancel terms. Like collectNumbers, but for any kind of term.
collect_powers_of_common_factorsBooleanCollect together powers of common factors.
collect_like_fractionsBooleanCollect together fractions over the same denominator.
order_canonicalBooleanRearrange the expression into a “canonical” order, using canonical_compare.
Note: This rule can not be used at the same time as rewrite_to_no_leading_minus - it can lead to an infinite loop.
expand_bracketsBooleanExpand out products of sums.

JMEAnswerDisplay

fieldtypedescription
broken_as_fractionsBooleanThis rule doesn’t rewrite expressions, but tells the maths renderer that you’d like non-integer numbers to be displayed as fractions instead of decimals.
mixed_fractionsBooleanImproper fractions (with numerator larger than the denominator) are displayed in mixed form, as an integer next to a proper fraction.
flat_fractionsBooleanFractions are displayed on a single line, with a slash between the numerator and denominator.
vector_as_rowBooleanThis rule doesn’t rewrite expressions, but tells the maths renderer that you’d like vectors to be rendered as rows instead of columns.
always_show_multiplication_signBooleanThe multiplication symbol is always included between multiplicands.
use_dot_as_multiplication_signBooleanUse a dot for the multiplication symbol instead of a cross.
matrices_without_parenthesesBooleanMatrices are rendered without parentheses.

JMEAccuracy

fieldtypedescription
checking_typeCheckingTypeThe rule to use to compare the student’s answer with the correct answer.
checking_rangeArray of FloatThe minimum and maximum value sample points can take [minimum, maximum]
points_to_checkIntegerThe number of comparisons to make between the student’s answer and the correct answer.
max_failuresFloatIf the comparison fails this many times or more, the student’s answer is marked as wrong.

CheckingType

Internal tag named type.

One of the following items:

tag-valuedatatype of valuedescription
relative_differenceCheckingTypeDataFloatFail if studentanswer / expectedanswer - 1 > amount
absolute_differenceCheckingTypeDataFloatFail if abs(studentanswer - expectedanswer) > amount
decimal_placesCheckingTypeDataNaturalx and y are rounded to a certain amount of decimal places, and the test fails if the rounded values are unequal
significant_figuresCheckingTypeDataNaturalx and y are rounded to significant figures, and the test fails if the rounded values are unequal.

CheckingTypeDataFloat

fieldtypedescription
max_differenceFloatMaximum relative or absolute difference

CheckingTypeDataNatural

fieldtypedescription
amountIntegerAmount of decimal places or significant figures

JMEPatternRestriction

fieldtypedescription
partial_creditFloatIf the student’s answer does not match the given pattern, their score is multiplied by this percentage.
messageTranslationWarning message
patternStringSee https://numbas-editor.readthedocs.io/en/latest/pattern-matching/examples.html#pattern-matching-examples for example patterns
name_to_compareStringThe part of the expression to mark

JMEValueGenerator

fieldtypedescription
nameFileStringThe name of the variable
valueJMEFileStringThe expression to generate the value

JMEFileString

One of the following items:

typedescription
StringA string of the form file:<filepath> where filepath is the relative path (within the exams or questions folder) to a file containing content. This content can be localized by placing it in locale folders. e.g. file:examples/basic-explanation.html will search for files in folders with following form: questions/examples/locale-<localename>/basic-explanation.html If a file isn't found for a specific locale, questions/examples/basic-explanation.html will be used.
StringA literal string.

JMELengthRestriction

fieldtypedescription
partial_creditFloatThe partial credit (percentage) attributed when failing the restriction
messageTranslationWarning message
lengthIntegerThe minimum or maximum length

JMEStringRestriction

fieldtypedescription
partial_creditFloatThe partial credit (percentage) attributed when failing the restriction
messageTranslationWarning message
stringsArray of TranslationThe strings that are required or forbidden
show_stringsBooleanWhether to show the strings

QuestionPartGapFill

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking
sort_answersBooleanIf ticked, then the student’s answers will be put in ascending order before the gaps are marked. The lowest answer will be submitted against the first gap, and so on. Because the order of marking might not correspond with the order in which the gaps are shown to the student, no feedback icon is shown next to the gap input boxes, only in the feedback summary for the whole part.
gapsArray of QuestionPartThe question parts for the gaps

QuestionPartChooseOne

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking
answer_dataMultipleChoiceAnswerDataSpecify the options, score per option and feedback per option. Old name was answers
shuffle_answersBooleanIf this is ticked, the choices are displayed in random order.
show_cell_answer_stateBooleanIf ticked, choices selected by the student will be highlighted as ‘correct’ if they have a positive score, and ‘incorrect’ if they are worth zero or negative marks. If this is not ticked, the ticked choices will be given a neutral highlight regardless of their scores.
displayChooseOneDisplayHow should the options be shown?

MultipleChoiceAnswerData

One of the following items:

typedescription
Array of MultipleChoiceAnswerSpecify a list of answer with it's marks and feedback
MultipleChoiceAnswerDataNumbasLikeSpecify the answers, marks and feedback as separate lists. The first answers, matches the first mark and the first feedback etc

MultipleChoiceAnswer

fieldtypedescription
statementTranslationThe statement of the answer
feedbackTranslationThe feedback shown when this answer is chosen
marksTranslationThe marks to assign when this answer is chosen

MultipleChoiceAnswerDataNumbasLike

fieldtypedescription
answersjme-string or Array of TranslationThe possible answers
marksjme-string or Array of TranslationThe marks for the corresponding answers
feedback"none" or Array of TranslationThe feedback for the corresponding answers.

ChooseOneDisplay

Internal tag named type.

One of the following items:

tag-valuedatatype of valuedescription
"dropdown"“Drop down list” means that the choices are shown as a selection box; the student can click to show the choices in a vertical list.
radioChooseOneDisplay_radio“Radio” means that choices are shown separately, in-line with the part prompt.

ChooseOneDisplay_radio

fieldtypedescription
columnsIntegerThis dictates how many columns the choices are displayed in. If 0, the choices are displayed on a single line, wrapped at the edges of the screen.

QuestionPartChooseMultiple

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking
answer_dataMultipleChoiceAnswerDataSpecify the options, score per option and feedback per option. Old name was answers
shuffle_answersBooleanIf this is ticked, the choices are displayed in random order.
show_cell_answer_stateBooleanIf ticked, choices selected by the student will be highlighted as ‘correct’ if they have a positive score, and ‘incorrect’ if they are worth zero or negative marks. If this is not ticked, the ticked choices will be given a neutral highlight regardless of their scores.
should_select_at_leastIntegerThe student must select at least this many choices. The value 0 means “no minimum”, though the student must make at least one choice to submit the part.
should_select_at_most"none" or IntegerThe student must select at most this many choices. The value 0 means “no maximum”.
columnsIntegerThis dictates how many columns the choices are displayed in. If 0, the choices are displayed on a single line, wrapped at the edges of the screen.
wrong_nb_answers_warning_typeMultipleChoiceWarningTypeWhat to do if the student picks the wrong number of responses? Either "none" (do nothing), "prevent" (don’t let the student submit), or "warn" (show a warning but let them submit)
minimal_achievable_marks"none" or IntegerIf the student would have scored less than this many marks, they are instead awarded this many. Useful in combination with negative marking.
maximal_achievable_marks"none" or IntegerIf the student would have scored more than this many marks, they are instead awarded this many. The value 0 means “no maximum mark”.
marking_methodMultipleChoiceMarkingMethodThis determines how the student’s score is determined, based on their selections and the marking matrix.

MultipleChoiceWarningType

One of the following items:

namedescription
"none"Do nothing
"prevent"Prevent submission until they pick an acceptable number of answers

MultipleChoiceMarkingMethod

One of the following items:

namedescription
"sum_ticked_cells"For each checkbox the student ticks, the corresponding entry in the marking matrix is added to their score. Unticked cells are ignored.
This marking method is suitable for situations where the student should only select choices they’re sure about. You could apply negative marks for incorrect choices.
"score_per_matched_cell"For each checkbox, the student is awarded an equal proportion of the Maximum marks, if their selection for that cell matches the marking matrix. A positive value in the marking matrix signifies that the student should tick that checkbox, while a value of zero signifies that the student should not tick that box.
This marking method is suitable for situations where the student must separate the available choices into two sets.
"all_or_nothing"the student is awarded the Maximum marks available if their selection exactly matches the marking matrix, and zero marks otherwise.
This marking method is suitable for situations where the student must exactly match a certain pattern, and there is no meaningful “partially correct” answer.

QuestionPartMatchAnswersWithItems

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking
answer_dataMultipleChoiceMatchAnswerDataSpecify the options, score per option and feedback per option. Old name was answers
shuffle_answersBooleanIf this is ticked, the choices are displayed in random order.
shuffle_itemsBooleanIf this is ticked, the items (horizontal) are displayed in random order.
show_cell_answer_stateBooleanIf ticked, choices selected by the student will be highlighted as ‘correct’ if they have a positive score, and ‘incorrect’ if they are worth zero or negative marks. If this is not ticked, the ticked choices will be given a neutral highlight regardless of their scores.
should_select_at_leastIntegerThe student must select at least this many choices. The value 0 means “no minimum”, though the student must make at least one choice to submit the part.
should_select_at_most"none" or IntegerThe student must select at most this many choices. The value 0 means “no maximum”.
displayMatchAnswerWithItemsDisplayHow should the options be shown?
layoutMatchAnswersWithChoicesLayoutHow should the options be shown?
wrong_nb_answers_warning_typeMultipleChoiceWarningTypeWhat to do if the student picks the wrong number of responses? Either "none" (do nothing), "prevent" (don’t let the student submit), or "warn" (show a warning but let them submit)
minimal_achievable_marks"none" or IntegerIf the student would have scored less than this many marks, they are instead awarded this many. Useful in combination with negative marking.
maximal_achievable_marks"none" or IntegerIf the student would have scored more than this many marks, they are instead awarded this many. The value 0 means “no maximum mark”.

MultipleChoiceMatchAnswerData

Internal tag named type.

One of the following items:

tag-valuedatatype of valuedescription
item_basedMultipleChoiceMatchAnswersSpecify a list of answers and a list of items with marks for different answers
numbas_likeMultipleChoiceMatchAnswerDataNumbasLikeSpecify a list of answers, choices and marks in separate lists.

MultipleChoiceMatchAnswers

fieldtypedescription
answersArray of TranslationValues of the answers
itemsArray of MatchAnswersItemItems for which the answer can be selected

MatchAnswersItem

fieldtypedescription
statementTranslationThe statement for the item
answer_marksArray of MatchAnswersItemMarksMap points to strings of answers ! use anchors in yaml

MatchAnswersItemMarks

fieldtypedescription
marksJMEStringThe marks a student get's for selecting the answer
answerTranslationThe answer that yields marks for the item

MultipleChoiceMatchAnswerDataNumbasLike

fieldtypedescription
answersjme-string or Array of TranslationThe possible answers
choicesjme-string or Array of TranslationThe possible choices
marksjme-string or Array of Array of JMEStringThe marks for the corresponding answers

MatchAnswerWithItemsDisplay

Internal tag named type.

One of the following items:

tag-valuedatatype of valuedescription
"radio"One from each row
checkMatchAnswersWithChoicesDisplayCheckAny number from each row

MatchAnswersWithChoicesDisplayCheck

fieldtypedescription
marking_methodMultipleChoiceMarkingMethodThe marking method to use

MatchAnswersWithChoicesLayout

fieldtypedescription
typeMatchAnswersWithChoicesLayoutTypeWhich fields should be shown

MatchAnswersWithChoicesLayoutType

One of the following items:

namedescription
"all"All options are shown
"lower_triangle"Only the lower triangle is shown

QuestionPartNumberEntry

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking
answerNumberEntryAnswerThe expected answer
display_correct_as_fractionBooleanIf this is ticked, the correct answer to the part will be rendered as a fraction of two whole numbers instead of a decimal. For example, if the answer is 0.5, it will be displayed as 1/2 instead of 0.5.
allow_fractionsBooleanIf this is ticked, the student can enter a ratio of two whole numbers, e.g. -3/8, as their answer.
fractions_must_be_reducedBooleanThis option only applies when “allow_fractions” is ticked. If this is ticked, the student must enter their fractional answer reduced to lowest terms. For example, consider a part whose correct answer is 5/4. If this is ticked, 10/8 will be marked as incorrect.
fractions_must_be_reduced_hintBooleanIf this is ticked and fractions_must_be_reduced is ticked, then text explaining that the student must reduce their fraction to lowest terms is shown next to the input box.
partial_credit_if_fraction_not_reducedNumberThe proportion of credit to award if the student’s answer is a non-reduced fraction.
allowed_notation_stylesArray of AnswerStyleThe styles of number notation that the student can use to enter their answer. There are different ways of writing numbers, based on culture and context. Tick an option to allow the student to use that style in their answer. Note that some styles conflict with each other: for example, 1.234 is a number between 1 and 2 in English, while it’s the integer 1234 in French. The student’s answer will be interpreted using the first allowed style for which it is a valid representation of a number.
display_correct_in_styleAnswerStyleThe style of number notation to use when displaying the student’s answer.

NumberEntryAnswer

One of the following items:

typedescription
JMEStringThe answer is accepted as correct when it equals this value
NumberEntryAnswerRangeThe answer is accepted as correct when it is within a range

NumberEntryAnswerRange

fieldtypedescription
fromJMEStringThe smallest value accepted as correct.
toJMEStringThe largest value accepted as correct.

AnswerStyle

One of the following items:

namedescription
"english"English style - commas separate thousands, dot for decimal point
"english-plain"Plain English style - no thousands separator, dot for decimal point
"english-si"English SI style - spaces separate thousands, dot for decimal point
"european"Continental European style - dots separate thousands, comma for decimal poin
"european-plain"Plain French style - no thousands separator, comma for decimal point
"french-si"French SI style - spaces separate thousands, comma for decimal point
"indian"Indian style - commas separate groups, dot for decimal point. The rightmost group is three digits, other groups are two digits.
"scientific"Significand-exponent ("scientific") style
"swiss"Swiss style - apostrophes separate thousands, dot for decimal point

QuestionPartPatternMatch

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking
case_sensitiveBooleanIf this is ticked, the capitalisation of the student’s answer must match that of the answer pattern. If it doesn’t, partial credit will be awarded.
wrong_case_partial_creditFloatThe partial credits awarded if the students capitalisation is wrong
patternTranslationThe text or pattern the student must match.
display_answerTranslationA representative correct answer string to display to the student, in case they press the Reveal answers button.
match_modePatternMatchModeThe test to use to decide if the student’s answer is correct. Some examples https://numbas-editor.readthedocs.io/en/latest/question/parts/match-text-pattern.html#regular-expressions

PatternMatchMode

One of the following items:

namedescription
"regex"The pattern is interpreted as a regular expression (https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions)
"exact"Marks the student’s answer as correct only if it is exactly the same as the text given in Answer pattern. Space characters are removed from the start and end of the student’s answer as well as the answer pattern before comparison.

QuestionPartInformation

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking

QuestionPartExtension

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking

QuestionPartMatrix

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking
correct_answerJMEStringThe expected answer to the part. This is a JME expression which must evaluate to a matrix.
dimensionsQuestionPartMatrixDimensionsThe dimensions of the student's answer field
max_absolute_deviationFloatIf the absolute difference between the student’s value for a particular cell and the correct answer’s is less than this value, then it will be marked as correct.
mark_partial_by_cellsBooleanIf this is set to true, the student will be awarded marks according to the proportion of cells that are marked correctly. If this is not ticked, they will only receive the marks for the part if they get every cell right. If their answer does not have the same dimensions as the correct answer, they are always awarded zero marks.
display_correct_as_fractionBooleanIf this is ticked, then non-integer numbers in the correct answer will be displayed as fractions instead of decimals.
allow_fractionsBooleanIf this is ticked, the student can enter a ratio of two whole numbers, e.g. -3/8, as their answer.

QuestionPartMatrixDimensions

fieldtypedescription
rowsQuestionPartMatrixDimensionThe number of rows in the student’s answer field.
columnsQuestionPartMatrixDimensionThe number of columns in the student’s answer field.

QuestionPartMatrixDimension

One of the following items:

namedescription
"Fixed"The dimensions are fixed
"Resizable"The student can change the dimensions

QuestionPartMatrixRangedDimension

fieldtypedescription
defaultjme-string or IntegerThe default size
minjme-string or IntegerThe minimal size
max"none" or jme-string or IntegerThe maximal size, if this is none, there is no limit

QuestionPartCustom

fieldtypedescription
promptTranslationA content area used to prompt the student for an answer.
marksNumberThe number of marks to award for answering the part correctly.
part_name"none" or StringAn optional custom part name, to use in part path's
show_correct_answerBooleanWhen the student reveals answers to the question, or views the question in review mode, should a correct answer be shown? You might want to turn this off if you’re doing custom marking and the part has no “correct” answer.
show_feedback_iconBooleanAfter the student submits an answer to this part, should an icon describing their score be shown? This is usually shown next to the input field, as well as in the feedback box. This option also controls whether feedback messages are shown for this part. You might want to turn this off if you’ve set up a question with a custom marking script which assigns a score based on the answers to two or more parts (or gapfills), meaning the individual parts have no independent “correct” or “incorrect” state.
stepsArray of QuestionPartA (possibly empty) list of sub-parts which the student can reveal by clicking on a button. Marks awarded for steps don’t increase the total available for the part, but are given in case the student gets a lower score for the main part.
steps_penaltyNumberIf the student reveals the Steps, reduce the total available marks by this amount. Credit for the part is scaled down accordingly. For example, if there are 6 marks available and the penalty for revealing steps is 2 marks, the total available after revealing steps is 4. An answer worth 3 marks without revealing steps is instead worth 3 * 4/6 = 2 marks after revealing steps.
custom_marking"none" or CustomMarkingThe marking algorithm tab allows you to customise the script used to mark the student’s answer, and test that it works correctly on answers that you provide.
adaptive_marking"none" or AdaptiveMarkingAdaptive marking allows you to incorporate the student’s answers to earlier parts when marking their answer to another part. You could use this to allow an “error carried forward” marking scheme, or in more free-form questions where one part has no correct answer - for example, “think of a number and find its square root”. This is achieved by replacing the values of question variables with the student’s answers to other parts. When a variable is replaced, any other variables depending on that one are recalculated using the new value. All other variables keep their original values. See for more info and a warning https://numbas-editor.readthedocs.io/en/latest/question/parts/reference.html#adaptive-marking
typeStringThe name of the custom part name
settingsMap from String to CustomPartInputTypeValueThe settings for the CustomPartType

BuiltinConstants

fieldtypedescription
eBooleanWhether the constant e is enabled
piBooleanWhether the constant pi is enabled
iBooleanWhether the constant i is enabled-

CustomConstant

fieldtypedescription
nameStringThe name of the constant
valueJMEStringThe value of the constant
texStringThe tex code use to display the constant

VariablesTest

fieldtypedescription
conditionJMEStringA JME expression which should evaluate to true when the set of variables generated has the properties you want. For example, if a, b and c are the coefficients of a quadratic equation and you want it to have real roots, the condition could be b^2-4ac>=0.
max_runsIntegerThe maximum number of times the system should regenerate the set of variables without finding a set which satisfies the condition before giving up. If the system exceeds this number in a compiled exam, the entire exam will fail, so try to avoid it!

Preamble

fieldtypedescription
jsFileStringThe JavaScript to add to the outputfiles
cssFileStringThe CSS to add to the outputfiles

QuestionNavigation

fieldtypedescription
can_regenerateBooleanWhether the student can regenerate the question Old name was allow_regenerate
show_title_pageBooleanWhether the title page should be shown. Old name was show_frontpage
confirm_when_leavingBooleanWhether the student will be asked to confirm when leaving the exam.

Extensions

fieldtypedescription
chemistryBoolean
download_text_fileBoolean
eukleidesBooleanThe Eukleides extension provides functions to embed diagrams created using the Eukleides language. https://numbas-editor.readthedocs.io/en/latest/extensions/first-party.html#eukleides
geogebraBooleanThe GeoGebra extension provides functions to embed GeoGebra worksheets in a question. https://numbas-editor.readthedocs.io/en/latest/extensions/first-party.html#geogebra
graphsBooleanThis extension provides some functions for working with and drawing graphs (networks of vertices joined by edges) in Numbas. https://numbas-editor.readthedocs.io/en/latest/extensions/first-party.html#graph-theory
jsx_graphBooleanThe JSXGraph extension provides functions to create and manipulate interactive diagrams with the JSXGraph library. https://numbas-editor.readthedocs.io/en/latest/extensions/first-party.html#eukleides
linear_algebraBoolean
linear_codesBooleanThis extension provides a new data type and some functions to deal with linear codes. https://numbas-editor.readthedocs.io/en/latest/extensions/first-party.html#linear-codes
optimisationBoolean
permutationsBoolean
polynomialsBooleanThis extension provides a new data type and some functions to deal with rational polynomials. https://numbas-editor.readthedocs.io/en/latest/extensions/first-party.html#polynomials
quantitiesBooleanThis extension wraps the js-quantities library to provide a “quantity with units” data type to Numbas. https://numbas-editor.readthedocs.io/en/latest/extensions/first-party.html#quantities
random_personBooleanThe “random person” extension provides a collection of functions to generate random people, for use in word problems. https://numbas-editor.readthedocs.io/en/latest/extensions/first-party.html#random-person
statsBooleanThe statistical functions extension provides many new functions for generating samples from random distributions, and calculating statistics. https://numbas-editor.readthedocs.io/en/latest/extensions/first-party.html#statistical-functions
sqliteBoolean
textBoolean
written_numberBoolean

ResourcePath

fieldtypedescription
resource_nameString
resource_pathFilesystem path