<< Chapter < Page Chapter >> Page >

Using common attributes

<m:math display="block"> <m:mrow> <m:mi mathvariant="bold" mathsize="2em" mathcolor="Blue"> A </m:mi> <m:mo> + </m:mo> <m:mi mathvariant="italic" mathsize="10pt" > A </m:mi> <m:mo> + </m:mo> <m:mi mathvariant="bold-italic"> A </m:mi> <m:mo> + </m:mo> <m:mi mathvariant="double-struck"> A </m:mi> <m:mo> + </m:mo> <m:mi mathvariant="bold-fraktur" mathbackground="red"> A </m:mi> <m:mo> + </m:mo> <m:mi mathvariant="script"> A </m:mi> <m:mo> + </m:mo> <m:mi mathvariant="fraktur" mathsize="1cm" mathcolor="1cm"> A </m:mi> <m:mo> + </m:mo> <m:mi mathvariant="sans-serif" mathsize=".2in" > A </m:mi> </m:mrow> </m:math>

Save the file after editing as “test.xml”. The display looks like :

A + A + A + A + A + A + A + A

MathML also enables use of deprecated mechanism of setting common attributes. The deprecated attributes are :

    Attribute values types

  • Fontsize : number v-unit
  • fontstyle(normal | italic)
  • fontweight (normal | bold)
  • color : #rgb | #rrggbb | html-color-name
  • fontfamily : string

However, if both mechanisms are used to set a particular attribute, then new mathstyle attribute prevails over deprecated mechanism.

Specialized style setting tool

The only layout element “mstyle” in the common attribute group is a single point specialized tool to set varieties of style attributes to elements enclosed by “mstyle” element. This is kind of one go attribute setting mechanism, which can set not only the common attributes, but additional attributes inherited from the rendering environment. Further, “mstyle” element can be used to set style attributes on any MathML elements in addition to the five (5) token elements, which implement common token attibutes. In this sense, this element serves as an extremely powerful tool to manage style attributes in MathML. Let us consider setting attributes to token elements as shown here.

Using common attributes

<m:math display="block"> <m:mstyle mathvariant="bold" color="blue" mathsize="1cm"> <m:mi> A </m:mi> <m:mo> + </m:mo> <m:mi> B </m:mi> </m:mstyle> </m:math>

Save the file after editing as “test.xml”. The "&nbsp;" display looks like :

A + B

Managing values

A lot of coding efficiency in mark up language like MathML depends on assigning appropriate values to the attributes. Usually, there exists more than one ways to assign attribute’s value.

Size attributes may be expressed either in terms of predefined numeric values as “small”, “normal” or “big” or as numerical values. There are vareity of units available to express numerical values. These units are used on the basis of context, some of which are expressed in relative terms with respect to the normal size : “em” or “ex” or “%”. Others are absolute values like “pt” (for point; 1 point = 1/72 inch), “px” (for pixel), “pc” (for picas; 1 pica = 12 points), “in” (for inch), “mm” (for millimeter) and “cm” (for centimeter).

In some cases, number can be assigned to an attribute. The number indicates the relative size with respect to default implementation. The "mfrac" element for example implements "linethickness" attribute. A number, say, "2" indicated that the bar will be drawsn twice in thickness with respect to the default thickness as determined by a particular renderer.

In some cases, like with "mo" element, we can assign terms of predertermined space to space controlling attributes like "lspace" and "rspace". These terms are called "named space". The named space used in MathML may be one of "veryverythinmathspace", "verythinmathspace", "thinmathspace", "mediummathspace", "thickmathspace", "verythickmathspace", or "veryverythickmathspace".

The mathcolor or color is set in three possible ways :

1: rgb scheme : Color is considered to be composed of the components red, green and blue. The component colors may be mixed in various proportions. The components are represented by single hexadecimal digit (0,1,….,9,a,b,c,d,e,f). This number is then preceded by “#” and assigned as : mathcolor =”#00f”.

2: rrggbb scheme : This is a similar to the rgb scheme except that each of the component is represented by two digit hexadecimal number. Thus, smallest pair is “00” and largest pair is “ff”. This number is then preceded by “#” and assigned as : color =”#0000ff”.

3: html-color-name : We can assign mathcolor or color attribute with HTML color names : "aqua", "black", "blue", "fuchsia", "gray", "green", "lime", "maroon", "navy", "olive", "purple", "red", "silver", "teal", "white", and "yellow".

The MathML provides control on individual levels of layout structure elements like "table" element. The control requires setting attributes on individual rows and columns. In such cases, attributes are provided with values, which are read in sequence and applied on consecutive rows and columns as the case may be.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, A primer in mathml. OpenStax CNX. Apr 19, 2006 Download for free at http://cnx.org/content/col10345/1.16
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'A primer in mathml' conversation and receive update notifications?

Ask