Εισαγωγή στην MathML Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Σχολή Θετικών Επιστηµών Τµήµα Μαθηµατικών Μιχάλης Βαφόπουλος, 2011
Το σπιράλ της δηµιουργικότητας στα µαθηµατικά
Document Markup for Mathematics Problem Mathematical Vernacular and mathematical formulae have more structure than can be expressed in a linear sequence of standard characters DeAinition (Document Markup) Document markup is the process of adding codes to a document to identify the structure of a document or the format in which it is to appear.
Document Markup for Mathematics M$ Word/Equation Editor WYSYWIG, proprietary formatter/reader + easy to use, well- integrated, limited mathematics, expensive, vendor lock- in TEX/LATEX powerful, open formatter (TEX), various readers (DVI/ PS/PDF),+Nlexible, portable persistent source, high quality math HtML+GIF server- side formatting, pervasive browsers + Nlexible, powerful authoring systems LATEX, Mathematica etc, limited accessibility, reusability
MathML: Mathematical Markup Language MathML is an XML application for describing mathematical notation and capturing both its structure and content. The goal of MathML is to enable mathematics to be served, received, and processed on the Web, just as HTML has enabled this functionality for text.
Markup Languages Ο όρος Markup αναφέρεται σε ένα σύνολο από ενδείξεις/ παρατηρήσεις που περιγράφουν τα δεδομένα ενός κειμένου Πρόκειται για οδηγούς στον τρόπο με τον οποίο πρέπει να ερμηνευτούν τα περιεχόμενα του κειμένου Μια συλλογή τέτοιων ενδείξεων, που ακολουθούν καθορισμένο συντακτικό και γραμματική (γλώσσα) Μία Markup γλώσσα προσδίδει πληροφορία για τα περιεχόμενα ενός κειμένου Οι Markup Languages είναι μια μέθοδος για να δημιουργούμε μεταδεδομένα (metadata)
Εάν μπορείς να το διαβάσεις και να το επεξεργαστείς τότε μπορεί να το κάνεις οτιδήποτε
MathML Η γλώσσα Mathematical Markup Language (MathML) πρωτοδημοσιεύτηκε τον Απρίλιο του 1998, με την ανακοίνωση του W3C Math Working Group: Designed as an XML application, MathML provides two sets of tags, one for the visual presentation of mathematics and the other associated with the meaning behind equations 8 DalaB
Εξέλιξη της MathML Η έκδοση 1.0 ανακοινώθηκε τον Απρίλιο του 1998 Η έκδοση 1.01 ανακοινώθηκε το Ιούλιο του 1999 Η έκδοση 2.0 ανακοινώθηκε τον Ιανουάριο του 2001 Η ανανεωμένη έκδοση 2.0 ανακοινώθηκε τον Οκτώβριο του 2003 Η έκδοση 3.0 (draft) ανακοινώθηκε τον 4/2007 2008-11- 17: New draft of MathML 3.0 Περισσότερα: http://www.w3.org/math/
Ανατομία μιας έκφρασης MathML Μια έκφραση της MathML αποτελείται από στοιχεία (elements) και ιδιότητες (attributes) Τα elements αναπαριστούν πρότυπα (patterns) για την εµφάνιση εκφράσεων. Π.χ., για ένα κλάσµα γράφουµε mfrac, και για την τετραγωνική ρίζα γράφουµε msqrt Τα Attributes γενικά, προσδιορίζουν πρόσθετες πληροφορίες για το element. Κάθε attribute έχει ένα όνοµα και µια τιµή. Π.χ., το element mfrac έχει ένα attribute µε όνοµα linethickness. 10 DalaB
Δύο τύποι στοιχείων Τα περισσότερα στοιχεία (elements) έχουν ίδια σημάδια ετικέτες (tags) αρχής και τέλους, όπως και στην ΗTML και XML <element_name> </element_name> Αυτά τα στοιχεία περιέχουν κείμενο, χαρακτήρες διάφορους ή άλλα στοιχεία.
Βασικές ετικέτες MathML Ετικέτα Περιγραφή Πλήθος Ορισµάτων <mi> </mi> Ονοµασία µιας µεταβλητής, µιας συνάρτησης, µιας σταθεράς κτλ 1 <mn> </mn> Αριθµός 1 <mo> </mo> Τελεστής, π.χ. πρόσθεσης, παρένθεση κτλ. 1 <mtext>. </mtext> Κείµενο 1 <mspace>.. </mspace> Κενό διάστηµα 1 <ms>. </ms> Αλφαριθµητικό 1
Ετικέτες Γενικής Παρουσίασης MathML Ετικέτα Περιγραφή Πλήθος Ορισµάτων <mrow> </mrow> <mfrac> </mfrac> <msqrt> </msqrt> <mroot> </mroot> Ομαδοποιεί πολλές ετικέτες σε μία οριζόντια συνιστώσα Κλάσμα Τετραγωνική ρίζα Ρίζα τάξης k N 2 1 2 <mstyle> </mstyle> Αλλαγή στυλ εμφάνισης 1
Ετικέτες Εκθετών και Δεικτών MathML Ετικέτα Περιγραφή Πλήθος Ορισµάτων <msub> </msub> Δείκτης 2 <msup> </msup> <msubsup>. </msubsup> <munder> </munder> <mover> </mover> <munderover> </munderover> Δύναμη Δείκτης και δύναμη Βάση και κάτω από την βάση Βάση και πάνω από την βάση Κάτω και πάνω από την Βάση 2 3 2 2 3
Ετικέτες Πινάκων MathML Ετικέτα Περιγραφή Πλήθος Ορισµάτων <mtable> </mtable> Πίνακας N <mtr> </mtr> <mtd> </mtd> Νέα γραμμή πίνακα Νέα εισαγωγή στην γραμμή του πίνακα (κελί) Ν 1
Βασικά στοιχεία παρουσίασης <mi> ονοµασία, π.χ. µιας µεταβλητής, µιας συνάρτησης, µιας σταθεράς κτλ. Παράδειγµα: <mi>sin</mi> παρουσιάζει: sin Παράδειγµα: <mi>x</mi> παρουσιάζει: x <mo> Τελεστής, π.χ. πρόσθεσης, παρένθεση κτλ. Παράδειγµα: <mo>(</mo> παρουσιάζει: ( Παράδειγµα: <mo> </mo> παρουσιάζει: Σ
Απλό παράδειγμα <mn> αριθμός Ποια θα είναι η μαθηματική έκφραση? <mi>x</mi><mo> </mo> <mo>(</mo> <mn>3</mn><mo>+</mo><mi>y</mi> <mo>)</mo> x (3 + y)
Εισαγωγή MathML σε μια σελίδα Πρέπει να προσδιοριστεί επακριβώς πότε αρχίζει και πότε τελειώνει το τμήμα της MathML σε μια σελίδα Το τμήμα της MathML πρέπει να βρίσκεται ανάμεσα στις ετικέτες: <math> και </math> Παράδειγμα: <math> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo> </mo><mn>4</mn> </math> 2 b 4
Επιπλέον παραδείγματα b 2 4ac <math> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo> </mo> <mn>4</mn> <mi>a</mi> <mi>c</mi> </math> <math> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo> </mo> <mn>4</mn> <mo>&invisibletimes;<mo> <mi>a</mi> <mo>&invisibletimes;<mo> <mi>c</mi> </math>
MathML Examples <math> <apply> <eq/> <apply> <cos/> <ci>π</ci> </apply> <apply> <minus/> <cn>1</cn> </apply> </apply> </math> Αριστερό Σκέλος Έκφρασης cosπ = 1 Δεξιό Σκέλος Έκφρασης
<math display='block'> <mrow> <msup> <mi>x</mi><mn>2</mn> </msup> <mo>+</mo> <msup> <mi>y</mi><mn>2</mn> </msup> <mo>=</mo> <msup> <mi>r</mi><mn>2</mn> </msup> </mrow> </math> x2 + y2 = r2
MathML : Σύνταξη Λογισµικό Τι θα χρειαστούµε : Εργαλείο συγγραφής MathML κώδικα το Formulator http://www.mmlsoft.com/ Εάν χρησιµοποιούµε Internet Explorer MathPlayer Plugin http://www.dessci.com/en/products/mathplayer/welcome.asp Εάν χρησιµοποιούµε Mozila FireFox δεν απαιτείται Stylesheets (εάν θέλουµε να βλέπουµε τον κώδικα MathML µέσα από ιστοσελίδες και να τις δηµοσιεύουµε στο Internet) mathml.xsl : http://www.w3.org/math/xsl/mathml.xsl pmathml.xsl : ctop.xsl : pmathmlcss.xsl: http://www.w3.org/math/xsl/pmathml.xsl http://www.w3.org/math/xsl/ctop.xsl http://www.w3.org/math/xsl/pmathmlcss.xsl Όλα δωρεάν!!!
Formulator
Εν ολίγοις, MathML: η ενοποιημένη προσέγγιση Write once, run anywhere Math that carries both style and meaning Can be manipulated and used in calculations Becomes a full citizen of the semantic Web