The partialdiff template, palette, and menu item each
enclose the current expression with a new application of the
<partialdiff> operator. The enclosed expression becomes
the first element of the operator.
Additional templates, palette, and menu items are provided
to create <partialdiff> elements with additional qualifiers.
The differentiation variables can be created by starting with
the partialdiff2 named template, and the total degree
of differentiation can be supplied with the partialdiff3
named template. Each of the three partial derivative creating
templates have a corresponding entry
on the Calculus palette.
The <partialdiff> element accepts from one to three arguments.
The one argument version is presented using the partial differential "d"
as a prefix operator, where the argument is the expression being
differentiated.
The two argument version presents the derivative in the fraction
form, by presenting the differentiation variables found within the
second argument in the denominator of the fraction.
The three argument version presents the third argument as the total
degree of differentiation, as a superscript of the partial differential "d"
operator in the numerator. Each of the differentiation variables in
the denominator is expected to have its own degree of
differentiation, displayed as a superscript of the variable.
The <partialdiff> element is the only element that accepts
a list of <bvar> elements, each of which is allowed to have
its own separate <degree> element. As such, special input
conventions are needed to enter the differentiation variables
and their degrees. These conventions are borrowed from those
used to create and remove elements of other nary operators.
The usual operations on nary operators can be used to insert
or remove arguments of the <partialdiff> element. Creating
the first and third arguments follow the usual conventions for
nary operators, but the second argument, containing the list
of differentiation variables, requires special treatment.
When entering the list of differentiation variables, the denominator
of the partial derivative operator can be viewed as its own element
containing a list of arguments. So at this level of the expression,
the usual operations on nary operators can be used to insert and
remove additional differentiation variables.
Each differentiation variable may itself be viewed as its own element,
similar in form to the <bvar> element it will ultimately generate.
Each variable may have one or two arguments, the first argument being
the differentiation variable, and the second the differentiation degree.
So within this third level of the <partialdiff> expression,
templates for nary operators allow for the insertion or removal
of the degree of
differentiation for this particular variable.
In the content MathML generated by the <partialdiff> element,
the second argument produces <bvar> qualifier elements, with
<degree> elements included as needed to supply the degree of
differentiation for each differentiation variable.
The third argument produces a total <degree> qualifier
for the <partialdiff> element. These elements are generated
as needed by the means used to create the <partialdiff> element.
Zed does not support editing <partialdiff> elements
involving <list> elements as the indices of differentiation.