]>
The content insert mode allows you to insert Content MathML and OpenMath. The two languages are very similar. Therefore, most commands can produce both, MathML or its equivalent OpenMath. Which of those two they produce depends on the element the cursor is located in. There are also commands which force one of the two languages for the next element.
The content insert mode is similar to the UCD insert mode.
When you insert a character that is
not a command, a ci or OMV or, if it is a
digit, a cn or a OMI element is
generated. Various commands let you insert elements. If such an
element can contain further elements, the cursor is placed inside it instead of
after it. But the position after the new element gets remembered. When
you hit
| Command | title | Function name |
|---|
Terminates the mode.
Inserts an apply or OMA element
and positions the cursor inside it.
Creates an Identifier (ci or OMV)
with the given content.
Creates a number (cn or OMI)
with given content. At the moment, only integers are supported.
Inserts a bind or OMBIND element and places the cursor
inside it.
Creates a bvar or OMBVAR element and places the cursor
inside it. In some situations this commands behaves specially in
order to make it easier for the user to handle the differences between
MathML and OpenMath.
In MathML, the bind element can have more than one
bvar element, each contains exactly one variable. If you
use this command inside a bvar element, the cursor is
moved behind it before creating the new one.
In OpenMath, the OMBIND element contains exactly
one OMBVAR element, which itself contains one or more
variables. If you use this command inside a OMBIND which
already contains an OMBVAR, then the cursor is moved into
the OMBVAR. If you use it inside an OMBVAR
nothing happens.
In both cases, MathML and OpenMath, this allows you to
insert the bound variables by doing the following for every variable:
Hit this command and then insert the variable itself. For example the
following can be achieved by
x
y
z
]]>
]]>
Creates a semantics or OMATTR element
and places the cursor inside it.
Creates an OMATP element. This command is only
useful when you write OpenMath.
Note that in OpenMath, every
OMATTR element contains exactly one OMATP
element, which has to be its first child. The OMATP
element then contains one or more key/value pairs of elements.
Inserts an annotation-xml element with encoding
MathML-Content. The the cd and name have to be given
as first and second arguments, separated by a newline.
This command is only useful if you write MathML.
Inserts an annotation-xml element with encoding
MathML-Presentation. The the cd and name have to be given
as first and second arguments, separated by a newline.
This command is only useful if you write MathML.
Inserts an annotation-xml element with encoding
application/openmath+xml. The the cd and name have to be given
as first and second arguments, separated by a newline.
This command is only useful if you write MathML.
Inserts an annotation element.
The the cd, name and encoding have to be given
as first and second and third arguments, separated by newline
characters.
This command is only useful if you write MathML.
Inserts an annotation-xml element with encoding.
The the cd, name and encoding have to be given
as first and second and third arguments, separated by newline
characters.
This command is only useful if you write MathML.
Shorthand for creating a lambda expression. It inserts a bind
element at the cursor which contains the symbol
fns1#lambda, a bvar or
OMBVAR element and an
apply or OMA element. The cursor is placed in the
bvar or OMBVAR element.
The apply or OMA is remembered as a cursor location. This
means that when you are done with the bound variables of
the first one, do
apply or OMA element.
In the case of MathML, it looks like this:
lambda
]]>
And if you are writing OpenMath:
]]>
Selects one more element to the left. The next time, you insert
an element, the selection is used in a way depending on the type
of the inserted element. If it is a symbol, an apply
or OMA element is inserted, containing
the symbol element followed by the
selected elements. Otherwise, the selection simply becomes the
content of the newly inserted element.
Removes the leftmost element from the selection.
Forces the creation of a new element for the next character
inserted. This is useful when you want to insert two consecutive
numbers, since it prevents them to be merged into the same
mn or OMI element.
Forces the next command to produce MathML.
Forces the next command to produce OpenMath.
Makes shure that the language the next command will produce is determined automatically.
Inserts a csymbol or OMS. For the cd
attribute, the first line of the argument is used and for the
content of the element, the second line is use.
Inserts an arbitrary empty element in the MathML or OpenMath namespace. You can use also this command to insert any non-strict Content MathML operator. (If you have a selection, the element is considered to be an operator.)
Inserts an arbitrary empty element in the MathML or OpenMath namespace. (If you have a selection, the selection becomes the content of the new element, since this element is never considered an operator.)
Inserts a arith1#plus symbol or plus element. (Depending
whether you want to use pragmatic or strict ContentMathML)
Inserts a arith1#minus symbol or minus element. (Depending
whether you want to use pragmatic or strict ContentMathML)
Inserts a arith1#times symbol or times element. (Depending
whether you want to use pragmatic or strict ContentMathML)
Inserts a arith1#divide symbol or divide element. (Depending
whether you want to use pragmatic or strict ContentMathML)
Inserts a power#divide symbol or power element. (Depending
whether you want to use pragmatic or strict ContentMathML)