<?xml version="1.0" encoding="UTF-8"?>

<?context-directive job ctxfile x-setups.ctx ?>

<cd:interface xmlns:cd="http://www.pragma-ade.com/commands">

    <cd:command name="definemathematics" level="style" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-name-optional"/>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupmathematics"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupmathematics" level="style" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name-list-optional"/>
            <cd:assignments list="yes">
                <cd:parameter name="openup">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="symbolset">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="functionstyle">
                    <cd:resolve name="value-style"/>
                </cd:parameter>
                <cd:parameter name="compact">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="align">
                    <cd:constant type="l2r" default="yes"/>
                    <cd:constant type="r2l"/>
                    <cd:constant type="righttoleft"/>
                </cd:parameter>
                <cd:parameter name="bidi">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="sygreek">
                    <cd:constant type="normal"/>
                    <cd:constant type="italic" default="yes"/>
                    <cd:constant type="none"/>
                </cd:parameter>
                <cd:parameter name="lcgreek">
                    <cd:constant type="normal"/>
                    <cd:constant type="italic" default="yes"/>
                    <cd:constant type="none"/>
                </cd:parameter>
                <cd:parameter name="ucgreek">
                    <cd:constant type="normal" default="yes"/>
                    <cd:constant type="italic"/>
                    <cd:constant type="none"/>
                </cd:parameter>
                <cd:parameter name="italics">
                    <cd:constant type="1"/>
                    <cd:constant type="2"/>
                    <cd:constant type="3" default="yes"/>
                    <cd:constant type="4"/>
                    <cd:constant type="none"/>
                    <cd:constant type="reset"/>
                </cd:parameter>
                <cd:parameter name="autopunctuation" list="yes">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                    <cd:constant type="all"/>
                    <cd:constant type="comma"/>
                    <cd:constant type="yes,semicolon"/>
                    <cd:constant type="comma,semicolon"/>
                    <cd:constant type="all,semicolon"/>
                </cd:parameter>
                <cd:parameter name="setups">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="domain">
                    <cd:constant type="cd:name"/>
                    <cd:constant type="reset"/>
                </cd:parameter>
                <cd:parameter name="textstyle">
                    <cd:resolve name="value-style"/>
                </cd:parameter>
                <cd:parameter name="textcolor">
                    <cd:constant type="cd:color"/>
                </cd:parameter>
                <cd:parameter name="functioncolor">
                    <cd:constant type="cd:color"/>
                </cd:parameter>
                <cd:parameter name="integral">
                    <cd:constant type="limits"/>
                    <cd:constant type="nolimits"/>
                    <cd:constant type="autolimits" default="yes"/>
                    <cd:constant type="displaylimits"/>
                    <cd:constant type="none"/>
                </cd:parameter>
                <cd:parameter name="stylealternative">
                     <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="default">
                    <cd:constant type="normal"/>
                    <cd:constant type="italic" default="yes"/>
                </cd:parameter>
                <cd:parameter name="fraction">
                    <cd:constant type="ams"/>
                    <cd:constant type="ctx" default="yes"/>
                </cd:parameter>
                <cd:parameter name="ampersand">
                    <cd:constant type="normal"/>
                </cd:parameter>
                <cd:parameter name="collapsing">
                    <cd:constant type="1" default="yes"/>
                    <cd:constant type="2"/>
                    <cd:constant type="3"/>
                    <cd:constant type="none"/>
                    <cd:constant type="reset"/>
                </cd:parameter>
                <cd:parameter name="kernpairs">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="inlineordisplaymath" level="system" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:content/>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathematics" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name-optional"/>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathematics" variant="assignment" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupmathematics"/>
            </cd:assignments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="math" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name-optional"/>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="math" variant="assignment" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupmathematics"/>
            </cd:assignments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="m" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name-optional"/>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="m" variant="assignment" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setupmathematics"/>
            </cd:assignments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definemathcommand" level="style" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:keywords optional="yes">
                <cd:constant type="ord"/>
                <cd:constant type="op"/>
                <cd:constant type="bin"/>
                <cd:constant type="rel"/>
                <cd:constant type="open"/>
                <cd:constant type="close"/>
                <cd:constant type="punct"/>
                <cd:constant type="alpha"/>
                <cd:constant type="inner"/>
                <cd:constant type="nothing" default="yes"/>
                <cd:constant type="limop"/>
                <cd:constant type="nolop"/>
                <cd:constant type="box"/>
            </cd:keywords>
            <cd:keywords optional="yes">
                <cd:constant type="one"/>
                <cd:constant type="two"/>
            </cd:keywords>
            <cd:keywords delimiters="braces" optional="yes">
                <cd:constant type="cd:command"/>
                <cd:constant type="cd:oneargument"/>
                <cd:constant type="cd:twoarguments"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathcommand" generated="yes" variant="example" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:sequence>
            <cd:variable value="mathcommand"/>
        </cd:sequence>
        <cd:arguments>
            <cd:resolve name="argument-text-optional"/>
            <cd:resolve name="argument-text-optional"/>
        </cd:arguments>
    </cd:command>

    <!--

        <cd:command name="mathcommand" level="document" category="mathematics" file="math-ini.mkiv">
            <cd:arguments>
                <cd:resolve name="argument-name"/>
            </cd:arguments>
        </cd:command>

    -->

    <cd:command name="mathop" level="style" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mbox" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mtext" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathfunction" level="style" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mfunction" level="style" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mfunctionlabeltext" level="system" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="stackrel" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:content/>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="apply" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:content/>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definemathstyle" level="system" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:keywords list="yes">
                <cd:resolve name="value-mathstyle"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="setupmathstyle" level="style" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:keywords list="yes">
                <cd:resolve name="value-mathstyle"/>
                <cd:constant type="cd:name"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="setmathstyle" level="system" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:keywords delimiters="braces" list="yes">
                <cd:resolve name="value-mathstyle"/>
                <cd:constant type="cd:name"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathstyle" type="environment" level="system" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:keywords list="yes">
                <cd:resolve name="value-mathstyle"/>
                <cd:constant type="cd:name"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathstyle" type="environment" begin="push" end="pop" level="system" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="usemathstyleparameter" level="system" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="usemathstyleparameter" type="environment" level="system" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:csname/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathtext" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <!--

        <cd:command name="text" level="document" category="mathematics" file="math-ini.mkiv">
            <cd:arguments>
                <cd:resolve name="string-boxoptions"/>
                <cd:resolve name="argument-text"/>
            </cd:arguments>
        </cd:command>

        <cd:command name="t" level="document" category="mathematics" file="math-ini.mkiv">
            <cd:arguments>
                <cd:resolve name="string-boxoptions"/>
                <cd:resolve name="argument-text"/>
            </cd:arguments>
        </cd:command>

        <cd:command name="w" level="document" category="mathematics" file="math-ini.mkiv">
            <cd:arguments>
                <cd:resolve name="string-boxoptions"/>
                <cd:resolve name="argument-text"/>
            </cd:arguments>
        </cd:command>

    -->

    <cd:command name="mathtexttf" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathtextit" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathtextsl" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathtextbf" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathtextbi" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathtextbs" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathword" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathwordtf" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathwordit" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathwordsl" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathwordbf" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathwordbi" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathwordbs" level="document" category="mathematics" file="math-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="string-boxoptions"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="mathrm" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathss" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathtt" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathtf" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathsl" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathit" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathbf" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathbi" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathbs" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathitalic" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathupright" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathdefault" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathscript" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathfraktur" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="mathblackboard" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="displaymath" level="style" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="inlinemath" level="style" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="textmath" level="style" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="imath" type="environment" level="system" category="mathematics" file="supp-mat.mkiv"/>

    <cd:command name="dmath" type="environment" level="system" category="mathematics" file="supp-mat.mkiv"/>

    <cd:command name="mathmode" type="environment" level="system" category="mathematics" file="supp-mat.mkiv"/>

    <cd:command name="nonmathematics" level="system" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="displaymathematics" level="system" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="inlinemathematics" level="system" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="automathematics" level="system" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="cramped" level="system" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="crampedllap" level="system" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="crampedrlap" level="system" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="crampedclap" level="system" category="mathematics" file="supp-mat.mkiv">
        <cd:arguments>
            <cd:content/>
        </cd:arguments>
    </cd:command>

    <cd:command name="autointegral" level="system" category="mathematics" file="math-del.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-text"/>
            <cd:resolve name="argument-text"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="stackscripts" level="document" category="mathematics" file="math-ini.mkiv"/>

    <cd:command name="unstackscripts" level="document" category="mathematics" file="math-ini.mkiv"/>

</cd:interface>
