Loading AI tools
שפת סימון לתיאור סימונים מתמטיים מוויקיפדיה, האנציקלופדיה החופשית
MathML (ראשי תיבות של Mathematical Markup Language) היא שפת סימון לתיאור סימונים מתמטיים. מטרת השפה היא לשלב ולהציג סימונים מתמטיים מורכבים בצורה מסודרת בדפי אינטרנט ובמסמכים אחרים ללא צורך בשילוב תמונות, סימון TeX, עיבוד JavaScript, או בתוספות צד־שלישי לדפדפן. השפה היא חלק מ־HTML5, ותקן ISO/IEC DIS 40314 החל משנת 2015.[1]
פרדיגמות | שפת סימון |
---|---|
תאריך השקה | 1998 |
מפתח | World Wide Web Consortium |
מימושים | WebKit, Gecko, Blink, ויישומים אחרים של HTML5. |
הושפעה על ידי | XML, סימון מתמטי |
סיומת | mml |
www | |
בעיית קידוד הסימונים המתמטיים במחשבים הייתה קיימת עוד לפני האינטרנט. משתמשי דואר אלקטרוני נהגו לקודד סימונים מתמטיים בעזרת תווי ASCII. מספר שיטת ושפות לסימון מתמטי, לדוגמה TeX, היו נמצאות בשימוש נרחב כבר בשנת 1992 מעט לפני שהאינטרנט הפך לכלי פופולרי לשיתוף מידע בין מדענים וגולשים. HTML – שפת הסימון של הרשת – נוצרה בדיוק למטרת שיתוף המידע בין מדענים באקדמיה, ולמרות זאת, הדרכים לשתף סימונים מתמטיים בעזרת HTML היו מוגבלות מאוד. במקום זאת נעשה שימוש בתמונות כדי להציג את הנוסחאות המתמטיות בדפי הרשת. תמונות אלה בדרך כלל לא היו קריאות כי סבלו מטשטוש שנוצר מדחיסת תמונה, ובנוסף גרמו לקושי בעריכה ותחזוקה עבור החוקרים.[2]
ארגון ה־W3C זיהה כי המחסור בדרכים יעילות לשיתוף מסרים מדעיים ברשת היווה בעיה רצינית וקשה שדרשה תקינה. בשנת 1994 התקבלה ההצעה הראשונה שכונתה HTML Math עבור HTML 3.0, שאותה הגיש דֵייב רָאגֶט. בשנת 1995 נעשה דיון נוסף מסביב לבעיה בכנס של ה־W3C בדרמשטאדט, בנובמבר 1995 נציגים מטעם Wolfram Research הגישו הצעה נוספת ל־W3C. במאי 1996 בכנס ה־Digital Library Initiative בשמפיין, אלינוי שוב הועלה הנושא בין גורמים שונים. אחרי הכנס הזה הוקמה הוועדה לעריכה מתמטית ב־HTML (באנגלית HTML Math Editorial Review Board) הראשונה מטעם ה־W3C שהוקצתה לאתגר. במשך הזמן הוועדה התרחבה והשתכללה, במרץ 1997 הוועדה התחדשה כ־קבוצת העבודה למתמטיקה מטעם ה־W3C (באנגלית W3C Math Working Group) הראשונה. קבוצת העבודה השנייה למתמטיקה מטעם ה־W3C הוקמה ביולי 1998, קבוצה זאת המשיכה לעבוד על המשימה עד לסוף שנת 2000.[2]
MathML נוצרה כדי לתת מענה מיטבי לתחומי עניין והתמחות מגוונים במתמטיקה, מדע, והנדסה. בנוסף לכך הוועדה דאגה שההצעה הסופית תתחשב גם בנגישות עבור לקויי ראייה. חוקרים מטעם Wolfram Research שהיו חלק מהוועדה הביאו אתם ניסיון וידע קודם מהפיתוח של Mathematica 3.0 שהתמודדה גם היא עם בעיות דומות בהצגה של מבנים מתמטיים. בוועדה השתתפו עוד מדענים ואנשי מחקר רבים שתרמו לעיצובה של MathML, ובניהם נציגים מטעם מייפל, IBM, אוניברסיטת מערב אונטריו, INRIA (המכון הצרפתי לחקר מדעי המחשב), הוצאת Elsevier, ונוספים. MathML הושפעה מפרויקט ה־OpenMath, של קב' עבודה מס' 12083 מטעם ארגון התקינה הבינלאומי (ISO). האגודה האמריקאית למתמטיקה (AMS) לקחה תפקיד מרכזי בעיצובה של MathML.[2]
המלצות מטעם W3C נחשבות בפועל לתקני רשת.[3] בניגוד מוחלט להמלצות, לטיוטות אין כל חשיבות או מעמד רשמי מטעם הארגון.
אפיון | הופעת טיוטה ראשונה | תאריך המלצה אחרונה | הערות |
---|---|---|---|
MathML 1.0 | 15 במאי 1997[4] | 7 באפריל 1998[5] | ההמלצה הראשונה של MathML הופיעה כחודשיים אחרי XML. באפיון זה הוגדרו ליבת ומטרת השפה.[6] |
MathML
1.01 |
(המלצה קודמת) | 7 ביולי 1999[7] | התגית select ב־MathML שונתה ל־selector כדי למנוע התנגשות עם התגית הקיימת ב־HTML.[8][9] עדכון לטבלת תווי Unicode ב־MathML אחרי הצעת STIX.[10] החלת תיקוני עריכה מהגרסה הקודמת.[11] |
MathML 2.0 | 1 בדצמבר 1999[12] | 21 באוקטובר 2003[13] | עדכון מלא לטבלת תווי Unicode ב־MathML. תמיכה ראשונית בטקסט דו־כיווני והרחבה מקיפה לתחביר ההצגה של השפה. הוצאה משימוש לתגיות reln ו־fn לטובת שימוש עקבי עם התגית apply בתחביר התוכן של השפה. הוספת תגיות חדשות. אפיון DOM מלא עבור MathML.[14] בגרסה השנייה של MathML 2.0 הופיעו תיקוני עריכה ועדכון נוסף לטבלת התווים.[15] |
MathML 3.0 | 27 באפריל 2007[16] | 10 באפריל 2014[17] | תמיכה מלאה בטקסט דו־כיווני, שליטה במיקום סימנים ושבירת שורות, הפעלת סימונים מתמטיים בסיסיים, תגיות MathML חדשות כדי לבאר את משמעות הסימון וכוונת הכותב.[18] פרופיל CSS מקיף עבור MathML שהומלץ ב־2011.[19] |
MathML 4.0 | 26 בינואר 2019[20] | (טרם הומלצה) |
לאור המגבלות של HTML, חוקרים נאלצו להשתמש בתמונות על מנת להציג נוסחאות מתמטיות מורכבות שהכילו בהן סימונים שהתפרשו אופקית (כמו קו שבר, סימון שורש), או אנכית (כמו ווקטורי עמודה) ולא היו ניתנות להצגה פרופורציונלית ומיטבית בעזרת תווי יוניקוד וטבלאות HTML. שימוש זה הצטבר במשך שנים, והועלתה ההצעה לשכלל את המצב הקיים ולשפר את משקל ואיכות התמונה (לדוגמה, כפי ש־SVG נתנה מענה לתצוגת תרשימים ברשת) במקום לפתח שפת סימון חדשה ייעודית למתמטיקה. לאחר דיונים הוועדה נמנעה מלאמץ את השיטה הקיימת לאור הטיעונים הבאים.[2]
השימוש הנפוץ בתמונות עבור סימונים מתמטיים התלווה בדחיסה תמונה שהקלה על העומס שנוצר על השרתים שמאחסנים את קובצי התמונות. בתמורה לכך הטקסט היה פחות קריא, והגדלתן הייתה יוצרת הצגת סימונים מטושטשים ולא ברורים.
נוסחת השורשים הידועה:
תתואר ב־MathML כך:
<mrow>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mrow>
<mo>-</mo>
<mi>b</mi>
</mrow>
<mo>±<!--plus-minus sign--></mo>
<msqrt>
<mrow>
<msup>
<mi>b</mi>
<mn>2</mn>
</msup>
<mo>-</mo>
<mrow>
<mn>4</mn>
<mo>⁢<!--invisible times--></mo>
<mi>a</mi>
<mo>⁢<!--invisible times--></mo>
<mi>c</mi>
</mrow>
</mrow>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mo>⁢<!--invisible times--></mo>
<mi>a</mi>
</mrow>
</mfrac>
</mrow>
שפת סימון | תיאור |
---|---|
TeX | x=\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
|
troff/eqn | x={-b +- sqrt{b sup 2 – 4ac}} over 2a |
OpenOffice Math
LibreOffice Math |
x={-b plusminus sqrt {b^2 – 4 ac}} over {2 a}
x={-b +- sqrt {b^2 – 4ac}} over {2a}
x={-b ± sqrt {b^2 – 4ac}} over {2a} |
ASCIIMath | x=(-b +- sqrt(b^2 - 4ac))/(2a) |
MathML עושה הפרדה בין ההצגה והמשמעות של הסימון. הסיבה לכך היא כדי לאפשר למשתמשים להחליט על העדפות האישיות שלהם כיצד ירצו לתקשר את הסימון. דוגמה מהיבט הנגישות, ליקויי ראייה מעדיפים לתת לקורא מסך לדובב את משמעות הסימון במקום לקרוא אותו. דוגמה נוספת מהיבט התחזוקה, ראוי לאחסן רק את משמעות הסימונים בבסיס נתונים כדי לחסוך פס רוחב, מקום, וזמן חיפוש, אבל את ההצגה עצמה אפשר לחולל רק אם יש באמת צורך בהצגה של התוכן.
תחביר ההצגה (באנגלית: "presentation markup"), הוא התחביר שמתאר את צורת ההצגה של התוכן ב־MathML.
תחביר התוכן (באנגלית "content markup"), הוא התחביר שמתאר את משמעות התוכן ב־MathML. את התחביר הזה עצבו במקור אנשי OpenMath, ומאוחר יותר בשיתוף פעולה עם מעצבי MathML.[21] למבנה התחביר קיים דמיון רב לשפות Lisp, משתמשים בתגיות <apply>...</apply>
כדי לתאר כל פעם פעולה מתמטית בעזרת רשימת איברים. האיבר הראשון ברשימה תמיד מייצג את המשמעות המתמטית שחלה על הרשימה, ושאר האיברים ברשימה הם המשתתפים בפעולה המתמטית. כך לדוגמה תראה נוסחת השורשים בתחביר התוכן של MathML.
<apply>
<eq/>
<ci>x</ci>
<apply>
<divide/>
<apply>
<plus/>
<apply>
<minus/>
<ci>b</ci>
</apply>
<apply>
<root/>
<apply>
<minus/>
<apply>
<power/>
<ci>b</ci>
<cn>2</cn>
</apply>
<apply>
<times/>
<cn>4</cn>
<ci>a</ci>
<ci>c</ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<times/>
<cn>2</cn>
<ci>a</ci>
</apply>
</apply>
</apply>
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.