Tanfolyam: MathML (Mathematical Markup Language). Matematika és internet: milyen programokat érdemes használni? MathML HTML oldalakon

A matematikai szimbolika fejlődésével a módszereket fejlesztették és tökéletesítették
tárolása és továbbítása. Például az ókori Babilon matematikusai feljegyezték
agyagtáblákon, a késő középkor időszakában, az első nyomtatott
könyveket, és végül a modern kort az elektronikus egyre növekvő áramlása jellemzi
kiadványok. A matematikai szövegek tervezésére alkalmas módszerek keresése
az interneten, és a MathML létrehozásához vezetett.

Egy ilyen eszköz szükségessége annak a ténynek köszönhető, hogy a HTML formátum számos csodálatos tulajdonság ellenére meglehetősen korlátozottan képes matematikai jelöléseket közvetíteni. A HTML-oldalakon a képleteket leggyakrabban grafikaként (raszteres vagy vektoros) jelenítik meg, de ennek a módszernek vannak nyilvánvaló hátrányai. Például egy rajzképletet szinte lehetetlen szerkeszteni, és a nyomtatási minősége általában sok kívánnivalót hagy maga után. Ez alapján már egyértelmű, hogy a Web számára kívánatos a matematikai szimbolikát valahogyan, a kliens programok (böngészők) számára pedig minél "átláthatóbban" kódolni. Ezen ötletek fejlesztése a matematikai jelölőnyelvek egész családjának létrehozásához vezetett, amelyek magukban foglalják a ma használt MathML-t is.

Megjegyzendő, hogy a matematikai szimbólumok elektronikus formában történő ábrázolásának problémája nem korlátozódik egy külön specifikáció kidolgozásának szükségességére. Ez egy összetett tudományos és műszaki probléma, amely távol áll a végső megoldásától, amit a javasolt megközelítések nagy száma, gyakran egymással rosszul összehangolt jelenléte is megerősít. Az egyik ilyen megközelítés a speciális jelölőnyelvek, amelyek magukban foglalják a MathML-t is. Természetesen a fejlesztők tisztában voltak a probléma mélységével, és célul tűzték ki egy olyan specifikáció létrehozását, amely megfelel a következő korlátozott, de mégis meglehetősen fontos követelményeknek:

  • a fejlesztés egyszerűsége és az alapvető matematikai jelölések kézi készlete;
  • maximális kompatibilitás más matematikai formátumokkal, amelyet a megfelelő konvertereknek kell biztosítaniuk;
  • képletek különféle termináleszközökre történő kiadásának képessége;
  • a bővíthetőség támogatása, azaz új szimbólumok, sémák stb.

A specifikáció felépítésének alapelveihez kapcsolódó ezen célok mellé a MathML alkalmazásokban való használatának sajátosságaival kapcsolatos továbbiakat is hozzáadtunk. Gondoskodni kell a képletek képernyőn és nyomtatón történő legmagasabb minőségi megjelenítéséről, az információcsere eszközeinek megszervezéséről (például képlettöredékek másolása/beillesztése pufferműveletei). Nyilvánvaló, hogy mindezt az alkalmazásszoftver-fejlesztők fogják megvalósítani, de a lehetőségeket kezdetben be kell építeni.

Néhány szóban felvázoljuk a MathML helyét a kapcsolódó matematikai jelölőnyelvek csoportjában. Ellentétben számos képviselőjével, amelyek közül a TeX-et mindenekelőtt meg kell említeni, a MathML szemantikai eszközökkel rendelkezik a matematikai kifejezések létrehozására. Ha ugyanannak a TeX-nek a dokumentuma valójában egy szöveg részletes leírása, minden elemének pontos megjelölésével, akkor a MathML (pontosabban a tartalomhoz kötve) sokkal rugalmasabb ebből a szempontból, mivel a A dokumentum végleges formája könnyen módosítható a felhasználó igényei szerint.

A MathML-ről

A MathML a kiterjesztett XML jelölőnyelv egy részhalmaza, amelyet gyakran használnak más nyelvek létrehozására. Az XML ilyen használata ma már teljesen természetes, és jól bevált olyan esetekben, amikor a HTML használata új típusú adatok továbbítására e formátum korlátaiba ütközött. A W3C a mai napig közzétette a MathML nyelvi specifikáció 2.0-ás verzióját, amely a projekt életképességét és fenntarthatóságát jelzi.

A MathML használatának általános elve az, hogy a matematikai konstrukciókat egy normál HTML-dokumentumba ágyazzák be, és (ha a böngésző vagy a speciális program támogatja ezt a specifikációt) megfelelően reprodukálják a dokumentumnak a hálózatról való letöltésekor.

Az első dolog, amellyel a MathML-ben foglalkozni kell, és ami megkülönbözteti ezt a jelölőnyelvet analógjaitól, az a kifejezések kódolásának két módja. Az egyik a képlet (megjelenítés) szintaxisának közvetlen átvitelén alapul, a másik éppen ellenkezőleg, a kifejezés (tartalom) szemantikáját tükrözi. Egyszerűen fogalmazva, az első mód a képlet jelölését a jelentésére való tekintet nélkül közvetíti, a második pedig éppen ellenkezőleg, annak matematikai tartalmát tükrözi.

Szintaxis kódolás

Rizs. egy

Ha megnézi a különféle matematikai kifejezések ábrázolási formáját, megteheti
vegye észre, hogy meglehetősen sok speciális karakter esetén létezik
viszonylag kevés módja van elrendezésüknek. Így kifejezéseket lehet építeni
felső és alsó indexek használatával a képlet egyik része a másik felett / alatt lehet,
kifejezések lehetnek mátrixelemekben stb. Ez az elv az
a szintaktikai kódolás alapja, amelyben bármilyen bonyolultságú matematikai kifejezések
kis sablonkészlettel (az úgynevezett elrendezési sémákkal) vannak kialakítva,
a matematikai képletekben talált alapvető összefüggéseknek megfelelő.

Ennek az elvnek a bemutatása érdekében nézzük meg, hogyan írják le a közönséges törtet a MathML-ben. Csak két eleme van - a számláló és a nevező, ami a megfelelő sablonban tükröződik:

Itt a címke , mint már említettük, a tényleges tört létrehozására szolgál. A linethickness attribútum határozza meg az elválasztó vonal vastagságát, kihagyása esetén a standard érték kerül felhasználásra (mindkét lehetőség az ábrán látható).

A számlálót a címke képviseli , amely viszont gyermekelemeket tartalmaz. Ez a címke tetszőleges számú beágyazott kifejezést tartalmazhat, amelyek az alapvonal mentén vízszintesen igazított képletet hoznak létre. Esetünkben ez két változó összege xÉs y(a címkék jelentése És alább ismertetjük). Vegye figyelembe, hogy egy bejegyzés címke nélkül hibához vezetne, mivel a rekordban talált első kifejezés lesz a számláló ( x). Végül a nevező egy változóból áll Z, áthaladt a címke mellett .

A MathML-reprezentációban használt fő elemek a szimbólumok (tokenek) és a sablonok (a fent említett elrendezési sémák). Az elsők a nyelv elemei, amelyek csak betűket (például változók jelölésére) és megfelelő matematikai szimbólumokat tartalmazhatnak, de más elemeket nem.

Elem azonosítók megadására szolgál. A következő szabály szerint működik: ha az elem értéke egyetlen karakter, akkor változóként kezeli és dőlt betűvel, ha az érték karakterlánc, akkor latin betűkkel jelenik meg (ezt a tulajdonságot olyan függvények írására használják, mint pl. bűn, ln satöbbi.). Elem matematikai operátorok megjelenítésére készült, és , amellyel még nem találkoztunk, a számok megjelenítésére szolgál. A leírt elemek mindegyike rendelkezik bizonyos attribútumkészlettel, amelyek lehetővé teszik az alapértelmezett karaktermegjelenítés megváltoztatását.

Most vessünk egy pillantást néhány MathML-sablonra, amelyek alapvető matematikai kifejezéseket közvetítenek. Ezek közül kettővel fentebb találkoztunk: ezek egy közönséges tört és az alapvonal mentén igazított kifejezés megadására szolgáló címkék. A többi legfontosabb mintát a következő címkékkel adják át:

  • beágyazott kifejezéssel adja ki a gyökjelet. Hasonló címke a gyökér megjelenítésére szolgál n fokozat;
  • zárójelbe zárt kifejezést ad meg. Az attribútumok használhatók elválasztó megadására a beágyazott kifejezésekhez és néhány egyéb jellemzőhöz;
  • címkék a felső/alsó indexek átadásához. Például egy felső indexű kifejezés
    (fok) úgy van megadva HIGH_INDEX KIFEJEZÉS

Szinte az összes legfontosabb matematikai kifejezés és mátrix (összesen kb. 30 típus) tervezésére is vannak sablonok.

Szemantikai kódolás

Most térjünk át a kódolás módjára a kifejezések szemantikáját használva. Ahogy fentebb megjegyeztük, ez a képlet matematikai tartalmát tükrözi. A szemantika közvetítésének kulcsa az elem . Egy egyszerű példával illusztráljuk a használatát. A következő kód az ábrán látható alaknak egy töredékét hozza létre. egy.

Rizs. 2

Példánkban az első megy elem jelölve
osztás (tört). Mondjuk rögtön, hogy a szemantikai kódolásban a legtöbb operátor
hasonló címkék adják át , amelyben a záró szögletes zárójel előtt
van egy perjel (az úgynevezett "üres" elemek). Ezután kövesse
érvek: még egy elem , átadva az összegző operátort x
És y, És - Z. Ennek megfelelően az összeg (az osztás operátor első argumentuma)
tört számlálójaként és a változóként jelenik meg Z- nevezőként. MathML
körülbelül 90 operátort tartalmaz több kategóriába sorolva: aritmetika,
algebrai, logikai stb.

Ebben a példában minden egyes talált operátor egy argumentumpárra lett alkalmazva. De amint az az elem fenti általános nézetéből következik , tetszőleges számú argumentum lehet (ha maga az operátor megengedi). Például az ábrán látható kifejezés. 2 így van írva

Az utolsó két példában egy pont magyarázat nélkül maradt - címkék az átvitelhez
alfabetikus azonosítók és számok. Ez És illetőleg
- az elemek teljes analógjai És szintaxis kódolásakor.
Vegye figyelembe, hogy a címke nincs analógja szemantika használatakor,
mivel a kezelővel kapcsolatos összes információt egy speciális kezelői címke továbbítja,
után jön .

A képlet szerkezetének beállításához nem csak . Például egy kapcsolat kifejezésére (egyenlőség, egyenlőtlenség, befogadás stb.) van egy speciális címke . A következő részlet létrehozza az ábrán látható képletet. 3.



x

y
z


Itt azt mondja, hogy a matematikai kifejezés tartalmazza az egyik relációt és az "üres" címkét jelzi a konkrét típusát, "kevesebb, mint". Az azonosító a bal oldalon lesz. x, jobb oldalon - két változó összege, amelyet az ismerős elem segítségével határozunk meg .

A MathML-ről közölt információ, bár korántsem teljes, elég ahhoz, hogy önállóan elkezdje használni ezt a nyelvet. Sőt, léteznek speciális szoftvereszközök is, amelyek a rutinmunkától való megszabadulásra szolgálnak.

MathML szoftver

A kapcsolódó W3C oldal linkeket tartalmaz kb
három tucat ajánlott termék a MathML-lel való munkához. A legfontosabbnak az tűnik
a böngészők helyzete, hiszen ez jellemzi leginkább a felismerés mértékét
bármilyen webes technológia. A mai napig csak két termék készült megfelelően
értelmezni a MathML: Amaya (ami ugyanannak a W3C oldaláról letölthető) és
Mozilla. Sajnos más fejlesztők nem sietnek termékeik támogatásával.
ezt az ígéretes technológiát. Legnépszerűbb böngészőink Microsoft Internet
Az Explorer és a Netscape Navigator az alap MathML-ben nem "érti"
vannak azonban speciális
plug-inek - az IBM-től , Design
Tudomány, teoretikus
interaktív.

Ugyanez a három cég szállítja szoftvereinek teljesebb verzióit is, amelyeket már MathML dokumentumok létrehozására terveztek. Konkrétan az IBM techexplorer Hypermedia Browser programban készültek el a példák ehhez a cikkhez. Hasonló feladatokat kevésbé speciális alkalmazások segítségével is meg lehet oldani. Például a számítógépes matematikai rendszerek (Mathematica, Maple, Mathcad) általában MathML „foltokkal” HTML formátumba exportálják dokumentumaikat.

A MathML-t néhány asztali publikációs rendszer is támogatja az előkészítéshez
tudományos és műszaki dokumentáció. Az osztály leghíresebb termékei közül
nevezhetjük WebEQ-nak,
amely egy Java-alkalmazások csomagja, amely egy teljes ciklust biztosít
és dokumentumok közzététele MathML és WebTeX formátumban; volfrám
Publicon prezentációs minőségű matematikai szövegek elkészítéséhez
a MathML-be való exportálás képessége; MacKichan szövegszerkesztői
Szoftver, amely képes dokumentumokat menteni a fő TeX formátumból
a MathML-ben.

Vannak speciális konverterek is a MathML-be/MathML-ből való konvertáláshoz. A TeX a leggyakoribb forrásformátum. A MathML viszont ugyanazok a TeX vagy népszerű grafikus formátumokká alakul.

Azonban még ilyen, nem mindig elérhető csomagok nélkül is, némi előkészület után manuálisan is elkészítheti a MathML dokumentumokat. Végül is ezek közönséges szöveges fájlok, amelyekhez (valamint a HTML-hez) elegendő egy egyszerű szövegszerkesztő.

Befejezésül még egyszer hangsúlyozzuk, hogy a MathML viszonylag nemrég jelent meg (az 1.0-s verzió leírása 1998-ban jelent meg), és még gyerekcipőben jár. Nem zárható ki, hogy néhány éven belül a MathML átadja helyét egy erősebb és fejlettebb technológiának. Már most azonban nyugodtan kijelenthető, hogy az ebbe a nyelvbe ágyazott mély gondolatok szilárd alapot jelentenek majd a komplex tudományos és műszaki dokumentumok bemutatásának jövőbeli módszereinek megalkotásához.

1.1 Matematika és jelölései

1.2 Eredet és célok

1.2.1 A MathML története

1.2.2 A HTML korlátozásai

1.2.3 A matematikai jelölés követelményei

1.2.4 A MathML projekt céljai

1.3 A MathML szerepe a weben

1.3.1 Meglévő matematikai jelölőnyelvek

1.3.2 HTML kiterjesztés mechanizmusa

1.3.3 Böngészőbővítő mechanizmus

1.4 A MathML áttekintése

1.4.1 A MathML elemek taxonómiája

1.4.2 Jelölés megtekintése

1.4.3 Tartalomjelölés

1.4.4 A prezentáció és a tartalom kombinálása

1.5 MathML dokumentumokban

1.6 MathML példák

1.6.1 Jelölési példák megtekintése

1.6.2 Tartalomjelölési példák

1.6.3 Példák vegyes jelölésre

1.7 MathML szintaxis és nyelvtan

1.7.2 XML szintaxis példa

2.1 Mozilla és Firefox

2.2 Microsoft Internet Explorer

A MathML (Mathematical Markup Language) egy XML-alapú jelölőnyelv matematikai alkalmazásokhoz. A WWW Consortium (W3C) fejlesztette ki, és ajánlásként fogadta el. A jelenlegi verzió a Mathematical Markup Language (MathML) 2.0-s verziója (második kiadás), jóváhagyva 2003. október 21-én.

A MathML a matematikai jelölés két "szempontját" valósítja meg. Ennek egyik típusa a Presentation Markup, amely egy matematikai képlet vizuális megjelenítési formáját írja le. A második a Content Markup, amely szemantikai tartalmat fejez ki.

A MathML nemcsak a megjelenítést veszi figyelembe, hanem a képletelemek jelentését is. A MathML kiegészítésére matematikai szemantikai jelölőrendszert is fejlesztenek. OpenMath-nak hívják.

1.2.1 A MathML története

A számítógépes feldolgozáshoz és az elektronikus kommunikációs eszközökhöz szükséges matematikai információk bemutatásának feladata már jóval az Internet megjelenése előtt felmerült. Korábban bevett gyakorlat volt, hogy a tudósok valamilyen formában ASCII-karakterek alapján dolgoztak, majd e-mailben elküldték egymásnak. Számos matematikai jelölőnyelv, különösen a T E X, már 1992-ben széles körben elterjedt volt, mielőtt a web ilyen előkelő helyet kapott volna.

A web a kezdetektől fogva nagyon hatékony módja annak, hogy az információkat sok ember számára elérhetővé tegye. Azonban annak ellenére, hogy a világhálót eredetileg a tudósok tervezték és valósították meg a tudósok számára, a matematikai kifejezések HTML-be foglalásának lehetőségei rendkívül korlátozottak voltak. Jelenleg a weben található matematikai információk többsége szövegként jelenik meg tudományos kifejezések grafikus képeivel (GIF vagy JPEG formátumban), vagy teljes dokumentumként PDF formátumban.

A World Wide Web Consortium (W3C) megértette, hogy a tudományos kommunikáció alapjainak hiánya komoly probléma. Dave Raggett már 1994-ben javaslatot tett a HTML Math beépítésére a HTML 3.0 prototípusába. Egy 1995 áprilisában Darmstadtban tartott konferencián kerekasztalt tartottak a matematikai jelölésről. Ugyanezen év novemberében a Wolfram Research képviselői javaslatot tettek a W3C csapatának a matematika HTML-en belüli támogatásának bevezetésére. A Digitális Könyvtári Kezdeményezés 1996. májusi Champaign-Urbanában tartott találkozója fontos szerepet játszott számos érdekelt fél összehozásában. Ez a találkozó a HTML Math szerkesztőbizottságának megalakulását eredményezte. Ez a munkacsoport később bővült, és 1997 márciusában formálisan is újraalakult, mint az első W3C matematikai munkacsoport. A második W3C matematikai munkacsoport 1998 júliusában alakult meg.

A MathML projekt különböző szakembercsoportok érdeklődését és véleményét tükrözi. A MathML fejlesztésében sok minden külön említést érdemel. Ez például a hozzáférhetőség kérdését érinti, ahol különösen kézzelfogható nehézségek adódtak. T. V. Raman sokat dolgozott ebben az irányban. Neil Soiffer és Bruce Smith, a Wolfram Research munkatársa megosztotta a Mathematica 3.0 projekten végzett munkájuk során szerzett tapasztalatait a matematikai reprezentációs problémák megoldásában. Elképzeléseik jelentős hatással voltak a nézetelemek szerkezetére. Paul Topping, a Design Science munkatársa szintén hozzájárult a matematikai formázáshoz és szerkesztéshez. A MathML nagy hasznot húzott a munkacsoport számos tagjával való együttműködésből, amelyek más, a matematikai információk SGML-ben való kódolásával kapcsolatos munkákhoz és a számítógépes algebrai közösségekhez kapcsolódnak. Ide tartozik Stephen Buswell, a StiloTechnologies, NicoPoppelier, ElsevierScienceStéphaneDalmas, INRIA (SophiaAntipolis), StanDevitt, WaterlooMaple, AngelDiaz és RobertS. Sutor az IBM-től és StephenM. Watt a Nyugat-Ontariói Egyetemről. Ezenkívül a MathML-re hatással volt az OpenMath projekt, az ISO 12083 munkacsoport munkája, valamint a Stilo Technologies munkája a „szemantikus” matematika DTD-részletén. Az American Mathematical Society kulcsszerepet játszott a MathML fejlesztésében. Többek között ennek a szervezetnek a képviselői lettek mindkét W3C matematikai munkacsoport elnöke. 1996 májusától 1997 márciusáig a zenekart Ron Whitney vezette. Patrick Ion 1997 márciusa és 1998 júniusa között a csoport társelnöke volt Robert Minerrel, a The Geometry Center munkatársával, 1998 júliusától pedig Angel Diazzal, az IBM-től.

A MathML fejlesztés céljaihoz rugalmas és bővíthető matematikai jelölési rendszerre van szükség, amely lehetővé teszi a külső programokkal való interakciót és a kiváló minőségű megjelenítést különböző információs környezetekben. De minden olyan jelölőnyelv, amely megfelel ezeknek a követelményeknek, meglehetősen bonyolult.

Ugyanakkor számos felhasználói csoport, például diákok számára fontos, hogy a matematikai kifejezések egyszerű módon szerepeljenek a weboldalakon. Hasonlóképpen, más csoportok, például a TEX rendszer felhasználói számára a jobb megoldás egy olyan rendszer lenne, amely lehetővé teszi a jelölések közvetlen beépítését a weboldalakba olyan nyelven, mint a TEX. Általában a különböző felhasználói csoportok eltérő beviteli és kimeneti formákat igényelnek, igényeiknek leginkább megfelelő. Ezért ideális esetben a matematikai dokumentumok weben való elhelyezésére szolgáló rendszernek egyrészt speciális szolgáltatásokat kell nyújtania a bevitelhez és a kimenethez, másrészt általános szolgáltatásokat kell nyújtania az információcseréhez és -megjelenítéshez különféle információs környezetekben.

A gyakorlatban annak áttekintése, hogy egy matematikai szabványnak mit kell biztosítania egy hálózatban a speciális és általános igényekhez, a réteges architektúra gondolatához vezet. Az első szint szabványos hatékony eszközöket tartalmaz a matematikai adatok cseréjéhez, feldolgozásához és megjelenítéséhez. A második szint speciális felhasználói csoportok számára készült speciális eszközöket tartalmaz, amelyekkel könnyedén kódolhat matematikai információkat a korlátozott felhasználói kör számára történő terjesztéshez.

A MathML célja a matematikai információk jelölése a kétszintű architektúra alacsonyabb, általánosabb szintjén. Ez magában foglalja egy összetett jelölési és szemantikai struktúra szigorú, szabályos formában történő megjelölését, amely könnyen feldolgozható megjelenítési, keresési és indexelő eszközökkel, valamint más matematikai alkalmazásokkal.

Következésképpen a MathML jelölést nem közvetlenül a szerzők használhatják. A MathML ember által is olvasható, ami sokat segít a hibakeresésben, de a legegyszerűbb esetek kivételével minden esetben túl bonyolult a kézi kódoláshoz. Ehelyett a szerzőknek speciális képletszerkesztőket, konvertereket és más speciális szoftvereszközöket kell használniuk a MathML dokumentumok létrehozásához. Alternatív megoldásként egyes renderelő programok és matematikai dokumentum-támogató rendszerek más bemeneti formátumokat menet közben is konvertálhatnak MathML-re.

Bizonyos tekintetben a MathML hasonlít más alacsony szintű kommunikációs formátumokhoz, például az Adobe által kifejlesztett PostScript nyelvhez. Igényeitől függően többféleképpen is létrehozhat PostScript fájlokat: a szakértők kézzel készítik és szerkesztik, a szerzők szövegszerkesztővel, a tervezők illusztrátorokkal stb. Ha rendelkezik PostScript-fájllal, nagyon nagy közönség számára terjesztheti, mivel a PostScript-megjelenítő eszközök, például nyomtatók és képernyőnézegetők széles körben elérhetők.

A MathML, mint az általános kommunikációs réteg jelölőnyelveként való fejlesztésének egyik oka a felső szintű webes matematikai szoftverek fejlesztésének ösztönzése. A MathML a szoftvermodulok fejlesztőinek matematikai anyagok létrehozására és megjelenítésére irányuló erőfeszítéseinek összehangolásának módja. Egy nagy rendszer funkcionális részeinek fejlesztésének leegyszerűsítésével a MathML ösztönözheti olyan programok fejlesztését, amelyek nagyon hasznosak lesznek a potenciális felhasználók számára.

A szerzők az igényeiknek leginkább megfelelő eszközökkel hozhatnak létre MathML dokumentumokat. A tanulók előnyben részesíthetik a vizuális képletszerkesztőket, amelyek képesek a MathML jelölőblokkokat XHTML-fájlba menteni. A kutatók olyan számítógépes algebrai csomagokat használhatnak, amelyek automatikusan kódolják a matematikai információkat, így a kollégák le tudják venni azokat egy weboldalról és feldolgozni. A tudományos folyóirat-kiadók olyan programot használhatnak, amely a T E X jelöléseket HTML és MathML formátumba konvertálja. A MathML-t tartalmazó weboldal létrehozásának módjától függetlenül a közös kommunikációs réteg minden előnye elérhetővé válik. Különböző, MathML-lel működő programok használhatók ugyanazon a dokumentumon, hogy kiadják azt beszédben és nyomtatásban, valamint belépjenek a számítógépes algebrai rendszerbe, és kezelhetők egy nagy webdokumentum archívum részeként. A matematikai dokumentumok MathML formátumú kiváló minőségű nyomtatásához gyakran hajtanak végre fordított átalakítást szabványos szedőrendszerekre, beleértve a kifejezetten erre a célra létrehozott T E X-et is. Végezetül várható, hogy a MathML-t idővel integrálni fogják más olyan területekbe, ahol matematikai képletek előfordulnak, például táblázatokba, összesítő csomagokba és mérnöki eszközökbe.

A W3C Math Working Group együttműködik különböző szoftvercégekkel annak érdekében, hogy a különböző MathML eszközök hamarosan elérhetőek legyenek, beleértve a dokumentumgeneráló és -megjelenítő eszközöket is. A MathML-lel működő programok aktuális listája a Math World Wide Web Consortium oldalán található.

A HTML Math eredeti koncepciója egyszerűen az volt, hogy kibővítse a HTML-címkék készletét, és ezáltal közvetlen értelmezést biztosítson a böngészőben. A hálózat robbanásszerű növekedése azonban már ezt megelőzően is világossá tette, hogy globális kiterjesztési mechanizmusra van szükség, és a matematikai információ csak egyike azon strukturált adatoknak, amelyek ilyen mechanizmussal integrálhatók a webbe.

Tekintettel arra, hogy a MathML-t bővítményként kell integrálni a webbe, nagyon fontos, hogy a MathML és az azt használó programok jól együttműködjenek a meglévő webes környezettel. A MathML-t különösen háromféle interakciót szem előtt tartva kell megtervezni. Először is, a matematikai tartalom létrehozásához fontos, hogy a meglévő matematikai jelölőnyelvek konvertálhatók MathML-re, és hogy a MathML dokumentumok létrehozásának képessége hozzá legyen adva a meglévő szerkesztőkhöz. Másodszor, ennek kiegészítéseként lehetővé kell tenni a MathML jelölések beágyazását a HTML jelölésbe, amely esetben a jövőben elérhető lesz a böngészők, keresőmotorok és minden olyan webes alkalmazás számára, amely jelenleg HTML-lel működik. Végül, a HTML-be ágyazott MathML-nek képesnek kell lennie a modern böngészők által is renderelni, még akkor is, ha az eredmény kevésbé ideális. A HTML-ről az XHTML-re való átállással a fenti követelmények mindegyike még inkább szükségessé válik.

A World Wide Web teljesen nemzetközi. A matematika az egész világon használt nyelv. A tudomány és technológia matematikai jelölése szorosan kapcsolódik a nemzeti nyelvekhez. A W3C célja, hogy konstruktív erő legyen a kommunikáció elterjesztésében a világban. Ezért a MathML fejlesztői szembesültek a nemzetközivé válás problémájával. A MathML ezen verziója nem ismert, hogy összeegyeztethetetlen a balról jobbra író nyelvekkel. A balról jobbra haladó jelölés szabványos a MathML 2-ben, és nyilvánvaló, hogy egyes nemzeti nyelveken még nem merült fel az igény matematikai képletek írására. Az úgynevezett "kétirányú technológia" még csak fejlesztés alatt áll, a jobb képlettámogatás ebben az összefüggésben a jövőbeli fejlesztések feladata.

1.7.1 MathML szintaxis és nyelvtan

A MathML alapja (Extensible Markup Language), ami azt jelenti, hogy szintaxisa követi az XML szintaxis szabályait, nyelvtanát pedig a DTD (Document Type Definition) határozza meg. Más szavakkal, a címkék, attribútumok, entitások és minden más használatának részleteit az XML nyelvi specifikáció határozza meg, míg a MathML elemek és attribútumok, az elembeágyazás stb. részleteit a MathML DTD határozza meg.

A W3C arra törekszik, hogy megkönnyítse és rugalmasabbá tegye az XML használatát a weben, és támogassa a moduláris XML-alkalmazások létrehozását, és azt találta, hogy a DTD alapvető formája nem elég rugalmas. Ezért létrejött egy W3C munkacsoport az XML sémák kidolgozására, amelyek specifikációs dokumentumok és a DTD-k helyébe lépnek. A MathML 2.0 célja, hogy lehetővé tegye a matematikusok számára, hogy teljes mértékben kihasználják a feltörekvő webes technológiák előnyeit. Tehát van egy séma a MathML számára.

A MathML szintaktikai és nyelvtani szabályokat is meghatároz az XML-alkalmazásként örökölt általános szabályok mellett. Ezek a szabályok lehetővé teszik a MathML számára, hogy sokkal több információt jelenítsen meg, mint amennyit a tiszta XML képes sok új elem bevezetése nélkül, és sokkal összetettebb DTD-ket vagy sémákat használjon. Természetesen a MathML specifikus szabályok bevezetésének az a hátránya, hogy az előállított dokumentumokat nem tudják XML processzorok és validátorok feldolgozni.

A további MathML nyelvtani és szintaktikai szabályoknak két fő típusa van. Az első típus további kritériumok beállítását jelenti az attribútumértékekhez. Például a tiszta XML-ben nem lehet megkövetelni, hogy egy attribútum értéke pozitív egész szám legyen. A második típusú szabály részletesebb korlátozásokat határoz meg a gyermekelemekre (például sorrendjükre), mint a DTD-kben vagy akár a sémákban megadottak. Például az XML nem határozhatja meg, hogy az első gyermekelemet a többitől eltérően kell kezelni.

1.7.2 XML szintaxis példa

Mivel a MathML XML-en alapul, a MathML specifikáció XML terminológiát használ. Az XML-adatok Unicodes karakterekből (amelyek normál ASCII karaktereket is tartalmaznak), entitáshivatkozásokból (informálisan entitásoknak) állnak, mint pl.<, которые обычно представляют расширенные символы, и элементы, такие как x.

Az elemek gyakran más XML-adatokat is tartalmaznak, amelyeket "tartalomnak" vagy "testnek" neveznek, az "open" és "end" címkéik között, akárcsak a HTML-ben. Vannak "üres elemek" is, mint pl Ahol a nyitó címke /> karakterrel végződik, jelezve, hogy az elemnek nincs tartalma vagy végcímke. A nyitó címkének elnevezett opciókat, úgynevezett attribútumokat kell tartalmaznia, például a fenti példában fontstyle="normal".

Mivel az XML-ben megkülönböztetik a kis- és nagybetűket, a MathML elem- és attribútumnevek megkülönböztetik a kis- és nagybetűket. Az olvashatóság érdekében a MathML specifikáció legtöbbjüket kisbetűvel határozza meg.

Az XML-jelölés formális tárgyalása során különbséget tesznek az olyan elemek, mint például az mrow és az azt meghatározó címkék között. És. Mi van a címkék között És, az mrow elem tartalmának vagy törzsének nevezzük. Az „üres elemnek”, például a nonenek, nincs törzse, és egyetlen nézetcímke határozza meg . Ez a specifikáció nem fogja hangsúlyozni a címkék és elemek közötti különbséget. Például néha hivatkozunk elemekre És , ami azt az elemet jelenti, amelyhez ezek a címkék tartoznak. Ez azért történik, hogy az elemhivatkozásokat meg lehessen különböztetni az attribútum-hivatkozásoktól. Az "elem" és a "tag" kifejezéseket azonban szigorúan az XML terminológiával összhangban használjuk.

1.7.3 Alárendelt elemek versus argumentumok

Sok MathML-elem bizonyos számú gyermekelemet igényel, vagy további jelentést ad a gyermekelemeknek egy adott pozícióban. Ahogy fentebb megjegyeztük, ez a fajta megszorítás a MathML-re jellemző, és nem határozható meg az XML szintaxis és nyelvtan használatával. Ha egy adott MathML-elem gyermekeleme teljesíti ezeket a további feltételeket, akkor erre úgy hivatkozunk, mint érv, és nem a gyermek elemről, hogy hangsúlyozzuk használatának sajátosságát. Vegye figyelembe, hogy az „érv” kifejezést ebben a technikai értelemben használjuk, hacsak másként nem jelezzük.

Egyes elemek eltérő követelményeket támasztanak az argumentumok számával vagy típusával kapcsolatban. Ezeket a további követelményeket minden egyes elemnél ismertetjük.

1.7.4 MathML attribútumértékek

Az XML nyelvi specifikáció szerint az elemattribútumokat a következő formák egyikében kell megadni:

attribútum-név="érték"

attribútum-név="érték"

ahol az "=" jel körüli szóköz nem kötelező.

Az attribútumnevek monospace betűtípussal jelennek meg a specifikáció szövegében, akárcsak a példák.

Az attribútumértékeket, amelyek a MathML-ben tetszőleges karaktersorozatok is lehetnek, dupla ("") vagy egyszeres ("") idézőjelek közé kell tenni. Egy attribútumérték tartalmazhat olyan típusú idézőjelet, amely nem a teljes érték bezárására szolgál.

A MathML összetettebb szintaxist használ az attribútumértékekhez, mint a MathML DTD által meghatározott általános XML szintaxis. Ezek a kiegészítő szabályok a MathML alkalmazásokra vonatkoznak, és megsértésük MathML hiba, de az XML processzorok nem tudják nyomon követni őket. A MathML-elemek értékszintaxisa egy attribútumtáblázatban van meghatározva, és ezt követi az egyes elemek leírása az alábbiakban ismertetett jelöléssel. Amikor egy MathML-alkalmazás attribútumértékeket dolgoz fel, a rendszer figyelmen kívül hagyja az összes szóközt, kivéve azokat, amelyek elválasztják az egyes szavakat vagy számokat. A karakteradatokat közvetlenül vagy referencia entitások segítségével lehet beilleszteni az attribútumértékekbe.

Különösen a ", ", & és karakterek< могут быть включены в значения атрибутов MathML (когда это разрешено синтаксисом) с использованием сущностей ",",& и <, соответственно.

A MathML DTD a legtöbb attribútumérték típusát CDATA karakterláncként deklarálja. Ez lehetővé teszi a meglévő SGML és XML alapú szoftverekkel való kompatibilitás növelését és az előre meghatározott értékek listájának bővítését. Ugyanez az érvelés vonatkozik az XML-sémákra is.

1.7.4.1 A MathML specifikációban használt szintaktikai jelölések

Az érvényes attribútumértékek MathML-specifikus szintaxisának leírásához ez a dokumentum a következő konvenciókat és jelöléseket használja.

Jelölés Mit csinál
szám decimális egész vagy racionális szám (egy tizedesvesszővel rendelkező számjegyek sorozata), esetleg "-" jellel kezdődik
előjel nélküli szám decimális egész vagy valós szám, előjel nélküli
egész szám decimális egész szám, amely esetleg "-" jellel kezdődik
pozitív egész szám decimális egész szám, előjel nélküli, nem 0
húr tetszőleges karakterlánc (mindig az attribútum teljes értéke)
karakter egyetlen nem szóköz karakter vagy hivatkozó MathML entitás; esetleg szóközökkel elválasztva
#rrggbb szín RGB formátumban; A három pár hexadecimális számjegy az #5599dd példában határozza meg a vörös, zöld és kék arányát egy x00-tól xFF-ig terjedő skálán, amely fényes ciánt eredményez.
h-egység vízszintes hossz mértékegysége (az engedélyezett mértékegységek az alábbiakban találhatók)
v-egység függőleges hossz mértékegysége (az engedélyezett mértékegységek lent találhatók)
css-fontfamily
css-színnév alább, a CSS-ről szóló alszakaszban kifejtve
más szavak dőlt betűvel a szövegben, attribútumonként külön-külön
forma + egy vagy több "űrlap" példány
forma* nulla vagy több "form" példány
f1 f2...fn minden űrlap egy példánya, egymást követően, tetszőlegesen szóközzel elválasztva
f1 | f2 |... | fn a fenti formák bármelyike
opcionális "űrlap" példány
(forma) ugyanaz, mint a forma
jelöletlen szavak szavak szó szerint szerepelnek az attribútumértékekben (ha nem részei egy magyarázó kifejezésnek)
karakterek idézőjelben karakterek szó szerint szerepelnek az attribútum értékében (például "+" vagy "+")

A művelet prioritása a legmagasabbtól a legalacsonyabbig:

forma + vagy forma *

f1 f2... fn (alakzatsorozat)

f1 | f2 |... | fn (az űrlapok egyike)

típus húr tetszőleges karaktereket tartalmazhat, amelyek az XML CDATA attribútumértékekben vannak definiálva. A MathML-ben nincsenek szintaktikai szabályok húr egy attribútumérték része lehet, nem a teljes érték.

Az attribútumértékekben a szomszédos kulcsszavakat és számokat szóközzel kell elválasztani, kivéve a számokat követő egységazonosítókat (a h-unit és v-unit karakterszintaxisban meghatározottak szerint). Szóköz karakterek nem kötelezőek, de megengedettek a fent felsorolt ​​tokenek között, kivéve (CSS-kompatibilitás miatt) közvetlenül az egységazonosítók előtt, a "-" jelek és számok között, valamint a # és az rrggbb vagy az rgb között.

A méreteket meghatározó és az aktuális betűtípustól függő numerikus attribútumok értékei megadhatók betűtípushoz kapcsolódó egységekben vagy megadott abszolút mértékegységekben (lásd alább). A vízszintes méreteket általában em-ben, a függőleges méreteket pedig pl. Az em vagy ex azonosítók közvetlenül a szám után következnek. Például a „+” operátor vízszintes behúzásai általában az ems-ben vannak megadva, bár más mértékegységek is használhatók. A betűtípushoz kapcsolódó egységeket előnyben részesítjük az abszolút egységekkel szemben, mivel ezek lehetővé teszik a megjelenített elem méretének növelését vagy csökkentését az aktuális betűméret alapján.

A legtöbb numerikus attribútum esetében a lehetséges értékek bizonyos részhalmazokra korlátozódnak, a többi érték nem hiba (hacsak nincs másképp jelezve), hanem a leképező felfelé vagy lefelé kerekíti őket a legközelebbi érvényes értékre. Az érvényes értékek halmaza a megjelenítőtől függhet, és a MathML nem határozza meg.

Ha egy numerikus érték az attribútum szintaxisa szerint tartalmazhat mínuszjelet ("-"), például számot vagy egész számot, akkor nem hiba, ha a negatív értékek nem jelentősek. Ehelyett az értéket az alkalmazásnak az előző bekezdésben leírtak szerint kell feldolgoznia. A pluszjel ("+") kifejezett megadása numerikus érték részeként tilos, kivéve, ha a szintaxisban kifejezetten szerepel ("+" vagy "+"-ként), és jelenléte megváltoztathatja az attribútumérték jelentését (pl. mindegyik attribútumnál leírtak).

A h-unit, v-unit, css-fontfamily és css-color-name szimbólumokat a következő alfejezetek tárgyalják.

1.7.4.2 Attribútumok egységekkel

Egyes attribútumok vízszintes és függőleges méreteket fogadnak el számokként, amelyeket egy „egységazonosító” követ (amit gyakran „egységnek” neveznek). A h-unit és v-unit szintaktikai szimbólumok vízszintes, illetve függőleges méretekre utalnak. A lehetséges mértékegységeket és a méreteket, amelyekre vonatkoznak, az alábbi táblázat sorolja fel; a vízszintes és a függőleges méreteknél megegyeznek, de a szintaxis szimbólumok eltérőek (az általuk használt irányra emlékeztetve).

Az egységazonosítók és azok szemantikai jelentése innen származnak. A MathML-ben egy azonosítóval ellátott szám szintaxisa azonban nem azonos a CSS-ben lévővel, mivel a CSS-ben a számok nem végződhetnek tizedesvesszővel, és kezdődhetnek „+” jellel.

Érvényes vízszintes és függőleges egységek a MathML-ben:

Az em és ex tipográfiai egységeket a „További megjegyzések” részben tárgyaljuk.

% a "relatív egység"; ha egy attribútum értéke n% (bármilyen n numerikus érték esetén), az érték az alapértelmezett érték, n-nel szorozva, osztva 100-zal. Az alapértelmezett érték (vagy a megszerzésének módja, ha nem konstans) le van írva az egyes elemek attribútumtáblázatában, jelentését pedig a következő attribútum-dokumentáció írja le. (Az mpadded elemnek saját szintaxisa van a % számára, és nem teszi lehetővé egységazonosítóként való használatát)

A CSS-szel való konzisztencia érdekében a MathML-ben a hosszegységek opcionálisak lehetnek. Ebben az esetben az attribútum szintaxisában szereplő egységkarakter szögletes zárójelbe kerül, például szám . Az egységek nélküli attribútumérték jelentését az egyes attribútumokhoz tartozó dokumentáció írja le; általában a megadott számot megszorozzák az alapértelmezett értékkel. (Ebben az esetben a mértékegység nélküli nnn szám megegyezik az nnn számmal, 100-zal szorozva és egy % előjellel. Pl. ( egyenértékű ()

Kivételként (a CSS-kompatibilitás miatt is) a nulla numerikus értékekhez nincs szükség egységazonosítóra, még akkor sem, ha a szintaxis megköveteli. Ebben az esetben az egységazonosító megléte vagy hiánya nem számít, mivel bármely szám 0-val szorozva 0.

Az ebben a specifikációban szereplő attribútumok többsége esetében a tipográfiai halmazban használt mértékegységek a szabványos mértékegységek; ha egy adott mennyiségi érték nincs megadva, a szabványos mértékegységeket általában táblázatban vagy attribútumleírásban adják meg. A leggyakrabban használt mértékegységek az em vagy az ex. Azonban bármely egység használható, hacsak egy adott attribútum leírása másként nem rendelkezik.

Vegye figyelembe, hogy egyes attribútumok, például a framepacing in , egynél több numerikus értéket is tartalmazhat, mindegyiket más-más mértékegység követi.

Az ex egységeket főként függőleges méreteknél, em vízszintes méreteknél szokás használni, bár ez nem követelmény. Ezek a mértékegységek attól függenek, hogy milyen betűtípust használnak annak az elemnek a megjelenítésére, amelynek attribútumaiban alkalmazzák őket, valamint annak méretétől. Tehát értelmezni kell őket után attribútumok, például fontfamily és fontsize, ha ugyanazon az elemen fordulnak elő, mivel az aktuális betűtípus vagy annak méretének megváltoztatása megváltoztathatja az egységek méretét.

Az egyes mértékegységek hosszának meghatározása (de nem a MathML szintaxisa a hosszértékekhez) ugyanaz, mint a CSS-ben, azzal a különbséggel, hogy a font speciális értékeket állít be az em és az ex számára, amelyek eltérnek a CSS (betűméret és "x" - magasság).

1.7.4.3 CSS-kompatibilis attribútumok

Az alábbiakban felsorolt ​​MathML attribútumok némelyike ​​megfelel a CSS1-ben meghatározott szövegmegjelenítési tulajdonságoknak. Ez azért történik, hogy a megjelenítők lekérdezhessék a CSS-környezetben a megfelelő tulajdonságokat az alapértelmezett attribútumértékek meghatározásakor.

A stílustulajdonságok MathML- és CSS-attribútumokon keresztüli meghatározásának is megvannak a maga hátrányai. Ez legalábbis zavaró, és a legrosszabb esetben az egyenletek jelentésének véletlen megváltoztatásához vezet, amikor a teljes dokumentum CSS-jét módosítják. Ezért ezek az attribútumok elavultak. A MathML 2.0 viszont négy új matematikai stílusattribútumot vezet be. Ezek az attribútumok logikai értékeket használnak a matematikában használt szimbólumok absztrakt kategóriáinak jobb közvetítésére, és egyértelmű elválasztást biztosítanak a MathML és a CSS között.

A következő táblázat leképezi az elavult MathML 1.01 stílusattribútumokat a CSS megfelelőikre:

Az attribútumok és stíluslapok feldolgozási sorrendje.

A CSS vagy hasonló stíluslapok módosíthatják a MathML elemek megjelenítési tulajdonságait. Mivel a megjelenítési tulajdonságokat az elem attribútumai és a megjelenítő is módosíthatja, meg kell határozni a különböző forrásokból származó változások sorrendjét. Az automatikus egyeztetésre példa a betűmérettel kapcsolatos helyzet. "Abszolút" változtatások esetén, mint például a régi értéktől független új tulajdonságérték beállítása (szemben a "relatív" változtatásokkal, mint pl. növelés vagy számmal való szorzás), csak a legutóbbi abszolút változtatások érvényesek, így a legmagasabb prioritású változásforrást kell utoljára kezelni.

CSS esetén a különböző forrásokból származó MathML-elem megjelenítési tulajdonságait érintő változások kezelési sorrendje a következő legyen: (először módosítva; legalacsonyabb prioritású)

Tulajdonságok vagy attribútumok automatikus módosítása a szülőelem típusa és az elem szülőben elfoglalt helye alapján (amint azt fentebb a betűméret-változtatások kapcsán említettük a szkriptszint szerint; ezeket a változtatásokat általában maga a szülőelem alkalmazza, mielőtt megjeleníti a megjelenítési tulajdonságokat a aktuális elem

Az olvasói stíluslapokból: stílusok, amelyek nem"fontosnak" nyilvánították

Explicit módon állítsa be az aktuális MathML elem attribútumait

Az olvasó stíluslapjairól: „fontosnak” nyilvánított stílusok (utoljára módosítva; legmagasabb prioritású).

Vegye figyelembe, hogy a CSS stíluslapok által végrehajtott változtatások sorrendje magában a CSS-ben van meghatározva (ez a CSS2 által meghatározott sorrend). A következő magyarázat csak arra az esetre vonatkozik, amikor a MathML attribútumok pontos specifikációja miatt ebben a sorrendben változások következnek be.

Magyarázat: A MathML megjelenítési attribútumai hasonlóak a HTML megjelenítési attribútumaihoz (például az igazításhoz), amelyeket a CSS-ben meghatározott sorrendnek megfelelően ugyanolyan prioritással kell feldolgozni. Ezen túlmenően az elsőbbség megválasztása lehetővé teszi az olvasók számára, hogy a CSS-stílusok „fontos” meghatározásával eldöntsék, hogy melyik beállításaik írják felül az explicit MathML-beállításokat. Mivel a tartalomból vagy megjelenítési elemekből álló MathML kifejezések elsődleges célja a jelentés közvetítése, és a "grafikus ábrázolásnak" (ha van ilyen) ebben segítenie kell (de önmagában nem fontos), valószínű, hogy az olvasók a saját stíluspreferenciáikra vágynak. elsőbbséget élvezett. A fő kivétel az, amikor a megjelenítési attribútumok megváltoztatják egy kifejezés jelentését.

1.7.4.4 Alapértelmezett attribútumértékek

A MathML attribútumok alapértelmezett értékeit általában a megfelelő elem részletes leírásával együtt adják meg. Az attribútumtáblázatok alapértelmezett értékei normál betűtípussal pontosak (hacsak nem egyértelmű magyarázatok), a dőlt szövegrészek leírják, hogyan számíthatók ki az alapértelmezett értékek.

Az öröklöttnek nyilvánított alapértelmezett értékeket az mstyle-nél leírt megjelenítési környezetből veszik, vagy bizonyos esetekben külön leírva a környező elemek egyéb attribútumainak értékéből, vagy ezeknek az értékeknek egy meghatározott részéből. Mindig olyan értéket használunk, amely pontosan megadható, ha ismert; soha nem függ az adott elem tartalmától, attribútumaitól, csak a környezetétől. (Annak jelentése használatkor azonban ezektől a tulajdonságoktól vagy tartalomtól függhet)

Az automatikusként leírt alapértelmezett értékeket a renderernek úgy kell kiszámítania, hogy jó minőségű képet hozzon létre. Ennek elérésének módja általában nincs megadva a MathML specifikációban. Mindig olyan értéket használunk, amely pontosan megadható, ha ismert; de ez általában az elem tartalmától és esetleg a megjelenítési környezettől függ.

Az attribútumtáblázatokban előforduló alapértelmezett értékek egyéb dőlt betűs leírása minden attribútumhoz külön kerül magyarázatra.

A nyitó XML címkében található attribútum értékei közé zárandó szimpla vagy dupla idézőjelek nem jelennek meg az attribútumtáblázat értékszintaxisában, hanem a példák szövegében.

Vegye figyelembe, hogy általában nincsenek olyan értékek, amelyeket pontosan hozzá lehetne rendelni a MathML attribútumokhoz, és utánoznák azok hiányának hatását az öröklött vagy automatikus attribútumok esetében. Az "öröklött" vagy "automatikus" megadása biztosan nem működik, és egyáltalán nem megengedett. Továbbá még a view attribútumoknál is (amelyekre itt konkrét alapértelmezések vannak megadva) az mstyle elemet kell használni a benne lévő elemek megváltoztatásához. Ezért a MathML DTD a legtöbb megjelenítési attribútum alapértelmezését #IMPLIED-ként határozza meg, ami megakadályozza, hogy az XML-processzorok speciális alapértelmezett értékeket adjanak hozzá ezekhez az attribútumokhoz. A MathML séma ugyanúgy működik.

1.7.4.5 Attribútumértékek a MathML DTD-ben

Az XML DTD-ben az engedélyezett attribútumértékek általános karakterláncként definiálhatók, vagy többféleképpen korlátozhatók (a lehetséges értékek felsorolásával vagy egy adott adattípus megadásával). Az XML attribútum típusának megválasztása befolyásolja, hogy a DTD használatával milyen mértékben hajtható végre érvényesítés.

A MathML DTD formális XML attribútumtípusokat határoz meg minden MathML attribútumhoz, beleértve bizonyos esetekben az érvényes értékek felsorolását is. Általában azonban a MathML DTD viszonylag laza, gyakran karakterláncként határozza meg az attribútumértékeket; ez azért történik, hogy kompatibilis legyen az SGML elemzőkkel, amelyek lehetővé teszik, hogy egyetlen MathML elem több attribútuma azonos értékű legyen (például igaz és hamis), és lehetővé tegyék az előre meghatározott értékek listájának bővítését.

Ugyanakkor, bár egy attribútum értéke karakterláncként definiálható a DTD-ben, csak bizonyos értékek érvényesek a MathML-ben, amint azt fent és a specifikáció többi részében leírtuk. Például sok attribútum numerikus értékeket igényel. A következő szakasz leírja az egyes elemek érvényes attribútumértékeit. Azonban a merevség hiánya a DTD-ben nem jelenti azt, hogy ezek a követelmények nem részei a MathML-nek, vagy hogy egy adott MathML-renderer ne tudná őket érvényesíteni.

Ezenkívül a MathML DTD kényelmi szolgáltatás; jóllehet a specifikáció szövegével való teljes kompatibilitás a cél, ellentmondás esetén a szöveg az irányadó.

1.7.5 Az összes MathML elemhez közös attribútumok

Az olyan stílusmechanizmusok használatának megkönnyítése érdekében, mint az XSLT és a CSS2, minden MathML-elem rendelkezik osztály, stílus és azonosító attribútumokkal az egyes elemekhez leírt attribútumokon kívül. A CSS-t nem támogató MathML-megjelenítők figyelmen kívül hagyhatják ezeket az attribútumokat. A MathML ezeknek az attribútumoknak az értékeit általános karakterláncként határozza meg, bár a stílusmotorok szigorúbb szintaxissal rendelkeznek. Ezért minden érték érvényes a MathML-ben.

Az összekapcsolási mechanizmusokkal való kompatibilitás biztosítása érdekében minden MathML elem rendelkezik egy xlink:href attribútummal.

Minden MathML elem rendelkezik egy xref attribútummal is a párhuzamos jelöléshez. Az id ebben az összefüggésben is használatos.

A MathML 1.0 örökségeként minden MathML elem elfogadja az elavult egyéb attribútumot is, amelynek célja nem szabványos attribútumok átadása a MathML DTD megsértése nélkül. A MathML-megjelenítőknek csak akkor kell feldolgozniuk ezt az attribútumot, ha válaszolnak az összes nem szabványos MathML-attribútumra. A másik attribútum használata azonban erősen ellenjavallt, mivel a MathML-ben más módok is léteznek konkrét információk továbbítására.

1.7.6 Szóközök összecsukása a bevitelben

A MathML figyelmen kívül hagyja a tokeneken kívül előforduló szóköz karaktereket. Nem szóköz karakterek itt nem megengedettek. A tokenek tartalmában előforduló szóközkaraktereket a végükön lecsupaszítják, vagyis a tartalom elején és végén lévő összes szóköz karaktert lehúzzák. A MathML-elemek tartalmán belüli szóközkaraktereket kononikusan összecsukják, azaz minden 1 vagy több ilyen karakterből álló sorozatot 1-gyel helyettesítenek (ezt néha null karakternek is nevezik).

A MathML-ben, akárcsak az XML-ben, a szóköz egyszerű szóközt, tabulátort, újsort vagy újsort jelent, vagyis az U+0020, U+0009, U+000A, U+000D Unicode kódú karaktereket.

Például,

( egyenértékű (, És

egyenértékű 1. tétel:.

Azoknak a szerzőknek, akik szóközöket kívánnak elhelyezni a tokentartalom elejére vagy végére, vagy egynél több szóköz karakterből álló sorozatot, hogy ne kerüljenek figyelmen kívül, más, nem megjeleníthető szóköz karaktereket kell használniuk. Például összehasonlítani

1. tétel:

Amikor az első példa megjelenik, nincs szóköz a "Tétel" szó előtt, egy a "Tétel" és az "1: " között, és nincs szóköz az "1: " után. A második példában egyetlen szóköz jelenik meg a "Tétel" szó előtt, két szóköz az "1: " előtt, és egy szóköz sem az "1: " után.

Vegye figyelembe, hogy az xml: space attribútum ebben a helyzetben nem alkalmazható, mivel az XML processzorok tokenben adják át a szóköz karaktereket a MathML processzornak; A törlés a MathML feldolgozási szabályai szerint történik.

A mi, mn, mo, ms, mtext, ci, cn és annotációs tokenek tartalmán kívül előforduló szóköz karaktereknél az mspace elemet kell használni, szemben a csak szóköz karaktereket tartalmazó mtext elemmel.

2. A modern böngészők lehetőségei a MathML-lel való munka során

Próbaként a böngészők képességeinek bemutatására egy egyszerű XHTML oldal készült, amely mindkét jelölésre példákat tartalmaz. Leírjuk a vele szemben támasztott főbb követelményeket. Először is érvényes XHTML dokumentumnak kell lennie, azaz:

érvényes xml dokumentum legyen;

a gyökérelemnek egy html elemnek kell lennie az XHTML névtérben, például:

"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">

A MathML töredékeknek a MathML névtérhez kell tartozniuk, például:

...

Az alábbiakban használt teszteset: teszt. xhtml.

2.1 Mozilla és Firefox

Használt verzió: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv: 1.7 5) Gecko/20041107 Firefox/1.0.

Az ugyanarra a magra épülő Mozilla és Firefox beépített MathML jelölés-megjelenítési képességekkel rendelkezik. Igaz, egyelőre csak a nézetjelölés támogatására korlátozódnak. Tehát tesztesetünkben a nézet jelölés töredéke helyesen jelent meg, ami a tartalomjelölésről nem mondható el.

A probléma megoldását a speciális XSLT stílusok „XSLT stíluslapok MathML-hez” használata jelentheti. Ez a megközelítés azért lehetséges, mert az XSLT-átalakítások támogatása be van építve a böngészőbe. Ehhez le kell töltenünk egy XSLT-stíluskészletet, és az oldalunk első sorában meg kell adni a mathml fejlécfájlra mutató hivatkozást. xsl:

Biztonsági okokból a Mozilla engedélyezi a másik MathML-forrásnézeti tartományban található XSLT-stílusokat a kijelölés kiemelésével. Igaz, a tartalomjelölés és az XSLT stílusok használatakor nem a forráskódot fogjuk látni, hanem az átalakítás eredményét.

Az egyéb funkciók közé tartozik a keresőmotorokkal való integráció. Ha egy képletrészletet kiválaszt, a helyi menü lehetővé teszi, hogy lekérdezést küldjön a keresőmotornak.

De ez egyelőre tartalék a jövőre nézve, mivel egy ilyen keresés még nem hozott eredményt.

2.2 Microsoft Internet Explorer

Felhasznált verzió: 6.0.2800.1106 (SP1; Q867801; Q823353; Q833989)

A Microsoft böngészője nem támogatja a MathML-t. A matematikai képletek helyes megjelenítéséhez használhatja a szabadon terjesztett MathPlayer beépülő modult.


A matematikai jelölések tényleges megjelenítése mellett lehetővé teszi a MathML jelölések gyors másolását. A képletet a jobb áttekinthetőség érdekében nagyíthatja is, ha kívánja:

A hiányosságok között meg kell jegyezni, hogy nem lehet kiválasztani vagy másolni egy matematikai kifejezés töredékét. Arra sincs mód (mint a Mozillában), hogy a képletet a környező szöveggel megfelelően másolja.

2.3 Opera

Használt verzió: 7.54u1 (Build 3918; Platform Win32; System Windows 2000; Java nincs telepítve).

Ez a böngésző fejlesztésének jelenlegi szakaszában nem tudja megfelelően megjeleníteni a MathML jelöléseket.

Felhasznált irodalom jegyzéke

1. Dorofejev A.V., Fedotov A.M. Elektronikus publikációk az internetes környezetben és az orosz nyelvű kódolások sokasága // Számítási technológiák, 1997, v.2, N 3, pp.31-44.

2. Oleinik O.V., Tolkacseva E.M., Fedotov A.M. Elektronikus kiadások és matematikai szövegek bemutatása a WWW-n // Számítási technológiák, 1997, v.2, N 3, pp.60-67.

3. Shokin Yu.I., Fedotov A.M., Znamensky S.BAN BEN. Elektronikus kiadványok és az orosz nyelvi kódolások sokféleségének problémái // Információs technológiák és számítástechnikai rendszerek, 1997, N 2, 90-101.

4. Znamensky S.BAN BEN. Az orosz TeX szabványosítása: utópia vagy elkerülhetetlenség // Számítási technológiák, 1997, v.2, N 3, pp.51 - 59.

5. Galaktionov V.V. Extensible Mark-up Language (XML): A következő generációs internetes szoftverarchitektúrát meghatározó iparági szabvány. Kommunikáció JINR, Р10-2000-44, Dubna, 2000.

6. Mityunin V.A. A matematikai dokumentumok internetes közzétételére és megtekintésére szolgáló eszközök áttekintése - http://mathmag. spbu.ru/article/4/

7. Matematika a weben: állapotjelentés – http://www.dessci.com/ webmath/status/

8. Matematikai jelölések használata a weboldalakon – http://mathforum.org/typeseting/

9. MathML 1.01 – http://www.w3.org/TR/REC-MathML/

10. MathML 2.0 – http://www.w3.org/TR/MathML2/

A globális számítógépes hálózatok (elsősorban az internet) elterjedésével szükségessé vált többek között matematikai szövegek elhelyezése is.

A MathML nyelv az XML nyelv egy részhalmaza (pl x feszíthető M arkup L anguage – Extensible Markup Language), amelyet gyakran más nyelvek létrehozására használnak. Az XML ilyen használata ma már teljesen természetes, és jól bevált olyan esetekben, amikor a HTML használata új típusú adatok továbbítására a formátum korlátaiba ütközött. A W3C a mai napig közzétette a MathML nyelvi specifikáció 2.0-ás verzióját, amely a projekt életképességét és fenntarthatóságát jelzi.

XML alapú jelölőnyelvek:

  • Wireless Markup Language (WML): adatformátum WAP (vezeték nélküli) eszközökhöz (mobiltelefonokhoz);
  • Synchronized Multimedia Integration Language (SMIL):
  • Meghatározza az ideiglenes elrendezést, megjelenést stb. multimédiás prezentációkhoz;
  • Meghatározza a multimédiás fájlok lejátszási sorrendjét;
  • A megtekintéshez SMIL kompatibilis lejátszó szükséges (AMBULANT, MS IE6);
  • Útmutató és példák: http://www.multimedia4everyone.com/
  • Scalable Vector Graphics (SVG): kétdimenziós vektorgrafika leírására;
  • Matematikai jelölőnyelv (MathML): matematikai jelölések (képletek) leírására;
  • Chemical Markup Language (CML): kémiai képletek ábrázolására;
  • Egyéb.

A W3C Mathematics Working Group céljai között szerepelt a MathML létrehozásakor:

  • Matematikai anyagok kódolásának biztosítása oktatási és tudományos típusú kommunikáció minden szintjén;
  • a matematikai szimbolika és jelentéseinek kódolása;
  • sablonok és egyéb matematikai szerkesztési technikák létrehozásának támogatása;
  • biztosítja a konverziót más, pusztán prezentációs és szemantikai jellegű matematikai formátumokra, valamint ezekről a formátumokról a létrehozott matematikai jelölőnyelvre. A kimeneti formátumoknak tartalmazniuk kell a grafikus információk megjelenítésére szolgáló eszközöket, beszédszintézist, szövegábrázolást olyan formában, amely alkalmas a számítógépes algebrai rendszerekbe való bevitelre, kompatibilitást más matematikai szövegek leírására szolgáló nyelvekkel, mint például a TAR, a „tiszta” szöveg megjelenítésének képességét ( azaz a matematikai szimbólumok és kifejezések nélkül), szövegek különféle formájú nyomtatásának lehetősége, beleértve a Braille-írást is. Ugyanakkor a különböző formátumok közötti átalakítások információvesztéshez vezethetnek;
  • az információátvitel képessége, figyelembe véve az egyes vizualizációs programok jellemzőit;
  • a hosszú matematikai kifejezések hatékony böngészési folyamatainak támogatása;
  • bővíthetőség biztosítása (előre nem ismert módokon).

A MathML használatának általános elve az, hogy a matematikai konstrukciókat egy normál HTML-dokumentumba ágyazzák be, és (ha a böngésző vagy a speciális program támogatja ezt a specifikációt) megfelelően reprodukálják a dokumentumnak a hálózatról való letöltésekor.

Az első dolog, amellyel a MathML-ben foglalkozni kell, és ami megkülönbözteti ezt a jelölőnyelvet analógjaitól, az a kifejezések kódolásának két módja. Az egyik a képlet szintaxisának közvetlen átvitelén ( bemutatás), a másik éppen ellenkezőleg, a kifejezés szemantikáját tükrözi ( tartalom). A prezentációs jelölés matematikai szimbolikát ír le olyan kifejezésekkel, amelyek bizonyos következtetési sémák segítségével épülnek fel, és meghatározzák a részkifejezések, például törtek, felső indexek és alsó indexek elhelyezésének módjait. A szemantikus jelölés matematikai objektumokat és függvényeket ír le, ahol minden csomóponthoz egy kifejezési fa készül valamilyen meghatározott séma szerint, és ennek a fa ágai részkifejezéseknek felelnek meg.

Jelenleg a MathML-lel készített weboldalak az alábbi böngészőkben tekinthetők meg (a „+” jel azt jelenti, hogy az újabb verziók is működnek):

  • Ablakok:

o IE 5.0 Techexplorer beépülő modullal

  • Macintosh:

o IE 5.0+ Techexplorer beépülő modullal

Mozilla 0.9.9+

  • Linux/Unix:

o Netscape 6.1 Techexplorer beépülő modullal

Mozilla 0.9.9+

o Amaya, minden verzió (csak Presentation MathML)

A MathML minden eleme három csoportra osztható: elemek reprezentáció, elemek tartalomÉs felület elemeket.

A nézetelemek a matematikai jelölés vizuálisan orientált kétdimenziós szerkezetét írják le. Például elem mrowáltalában egy kifejezés részeinek vízszintes sorának és az elemnek a jelölésére szolgál msup, amely a felső indexet jelöli. Általában minden nézetelem egyfajta jelölési sémának felel meg, például sor, felső index, alsó index stb. Bármely képlet részekből áll, amelyek a legegyszerűbb elemekből, például számokból, betűkből vagy egyéb szimbólumokból állhatnak.

A legfontosabb reprezentációs elemek a mi , mn és mo , amelyek az azonosítók, számok és operátorok ábrázolására szolgálnak. Általában ezek az elemek különböző stílusokban jelennek meg: a számok latin betűkkel, az azonosítók dőlt betűvel vannak szedve, az operátorok körül pedig extra fehér szóköz marad.

Jelölés szempontjából a legtöbb MathML elem definiált NyításÉs záró címkék, amelyek korlátozzák egy elem tartalmát. Egyes elemek, mint például a műveleti jelek ( ) egyetlen címke határozza meg.

Nézzünk meg részletesebben néhány, a matematikai képletek elrendezéséhez szükséges elemet, példaként a prezentációs jelölést használva.

Tokenek (token elemek) egyedi karaktereket, neveket, számokat, megnevezéseket stb. Alapvetően a tokenek tartalomként csak karaktereket tartalmazhatnak.

A MathML figyelmen kívül hagyja a tokeneken kívül előforduló szóköz karaktereket. Nem szóköz karakterek itt nem megengedettek. A tokenek tartalmában előforduló szóközkarakterek a végükön lecsupaszításra kerülnek, vagyis a tartalom elején és végén lévő összes szóköz karaktert lehúzzuk. A MathML-elemek tartalmán belüli szóközkarakterek kanonikusan össze vannak csukva, vagyis minden 1 vagy több ilyen karakterből álló sorozatot 1-gyel helyettesítenek (ezt néha null karakternek is nevezik).

Alapvető elemek

Indexek

Néhány matematikai művelet, amely a címkével használható .

+ +
< >
<
<= >=
++ ++
.NEM. nem
ésés
láthatatlan szorzójel
+ +

Nézzünk néhány példát a MathML képleteire.

1) sin 2 α + cos 2 α \u003d 1

bűn

α

+

kötözősaláta

α

=

A görög α betűt az α kód használatával kapjuk (emlékezzünk rá, hogy Unicode-ot használunk).

Eredmény

Arra is emlékeztetünk, hogy a MathML használatához az Internet Explorerben telepítenie kell a MathPlayert.

Minden MathML jelölést tartalmazó fájlnak a dokumentum fejléce előtt kell lennie a soroknak

Ezenkívül minden MathML-kód a címkével nyílik meg

és címkével zárták le.

a2

b2

bűn

x+y

2x

x2

y2

Tekintsük a táblázatok és mátrixok elrendezésének elemeit.

1

1

1

1

1

1

0

0

0

1

1

0

0

0

1

1

0

0

0

1

1

1

1

1

1

2. példa

ax+by

=c

a1x+

b1y=

c1

Ha szükséges, a Unicode kódolási táblázatban meg kell keresni a különféle matematikai szimbólumokat.

Példa.

S

-1

Σ

én=0

Meglehetősen jelentős számú integrált tartalmazó példa található, ezért itt nem foglalkozunk velük, javasoljuk, hogy az olvasó ismerkedjen meg a megadott forrás példáival.

Ahogy fentebb megjegyeztük, a MathML lehetővé teszi a prezentációs és szemantikai reprezentációkat. Itt a prezentációra összpontosítottunk, mint a leginkább emészthetőre és leggyakrabban használtra. Azonban, hogy legalább némi elképzelést adjon a másik lehetőségről, fontoljon meg egy kis szemléltető példát, és írja le két ábrázolásban.

Példa. x 2 - 6x + 9 = 0

Természetesen a képletek beírása MathML-ben meglehetősen hosszadalmas feladat, és némi erőfeszítést igényel. Azok azonban, akik eleget dolgoztak a LaTeX-ben, nem sok különbséget fognak észrevenni. A felhasználó azonban gyakrabban részesíti előnyben a különböző eszközök használatát. Nevezzünk meg néhányat.

Először is, a matematikai csomagok, mondjuk a Mathematica vagy a Maple, lehetővé teszik, hogy a begépelt képleteket MathML formátumban mentsük el.

Ez az erőforrás a felhasználó számítógépén futó ASCIIMathML.js Java szkriptet (2.0 verzió; 2007. szeptember; http://www1.chapman.edu/~jipsen/mathml/asciimath.html , írta: Peter Jipsen) használja, amely akkor töltődik be, amikor a demo oldal letöltése http://www1.chapman.edu/~jipsen/mathml/asciimathdemo.html . Ezért különösen ez az erőforrás helyben használható: elég elmenteni az említett demó html oldalt, és egyszerű képleteket konvertálhat anélkül, hogy csatlakozna az internethez.

Végezetül megjegyezzük, hogy a MathML mint jelölőeszköz különféle matematikai feladatok generálására is kiválóan alkalmas (lásd a fenti példákat). Ugyanakkor a programozáshoz használhatja például a JavaScriptet, akkor a felhasználó tetszőleges számú feladat opciót generálhat saját belátása szerint. Ezenkívül minden feladatra választ generálhat, ami nagyon egyszerű.

Arra számítunk, hogy az olvasó ismerkedése a matematikai szövegek tördelési eszközeivel még nem ér véget, és akkor képes lesz önállóan kiválasztani az őt érdeklő eszközt, és esetleg a gyakorlatban is alkalmazni tudja a leírt technológiákat.

Irodalom és internetes források

.

Szükség MathML jelölés Ennek oka, hogy a HTML formátum számos csodálatos tulajdonsága ellenére meglehetősen korlátozott lehetőségeket kínál a matematikai jelölések továbbítására. A HTML-oldalakon a képleteket leggyakrabban grafikaként (raszteres vagy vektoros) jelenítik meg, de ennek a módszernek vannak nyilvánvaló hátrányai. Például egy rajzképletet szinte lehetetlen szerkeszteni, és a nyomtatási minősége általában sok kívánnivalót hagy maga után. Az ötletek fejlődése a matematikai jelölőnyelvek egész családjának létrehozásához vezetett, amelyek közé tartozik a MathML is.A fejlesztők tisztában voltak a probléma mélységével, és célul tűzték ki egy olyan specifikáció megalkotását, amely kielégíti a következő korlátozott, de mégis meglehetősen fontos követelményeket:

ü az alapvető matematikai jelölések könnyű megtanulása és kézi beírása

ü maximális kompatibilitás más matematikai formátumokkal, amelyet a megfelelő borítékoknak kell biztosítaniuk

ü képletek megjelenítésének képessége különböző termináleszközökön

ü a bővíthetőség támogatása, azaz új szimbólumok, sémák bevezetése.

A MathML használatának alapelve az, hogy a matematikai konstrukciókat egy normál HTML-dokumentumba ágyazzák be, és reprodukálják, amikor a dokumentumot letöltik az internetről.

A MathML nyelv rugalmas és bővíthető rendszert kínál matematikai anyagok írásához, amely lehetővé teszi a külső programokkal való interakciót és kiváló minőségű megjelenítést különböző információs környezetekben. A MathML használatának általános elve a matematikai konstrukciók beágyazása egy XHTML/HTML dokumentumba.Weboldalak létrehozása MathML használatával háromféleképpen lehetséges: HTML + prezentációs MathML, XHTML + prezentációs MathML, XML + MathML

A matematikai kifejezések MathML-re konvertálásához számos lehetőség létezik segédprogramok. Főbb böngészők amelyek közvetlenül támogatják a MathML-t, azok a legújabb verziók Mozilla és fajtái. Sok más böngésző támogatja ezt a formátumot a megfelelő beállítással bővítmények . Ezen kívül a MathML-t támogatják a nagyobb irodai programok, mint pl Microsoft Word és OpenOffice.org , valamint matematikai szoftvertermékek, mint pl Mathematica, Maple. MathML - kb Egy nagyon hatékony és sokoldalú képletjelölő nyelv. Igaz, szerk.aktiválja a képleteket (ésolvasni) elég nehéz. A MathML nyelv XML technológián alapul, és saját címkéit használnak a képletrészletek meghatározására.

Példa egy egyszerű képletleírásra

x

+

3

2. példa

Képletek beszúrása html dokumentumokba jelölés segítségével TeX

TeXegy népszerű jelölőnyelv, amelyet sokan használnak, különösen a matematika világában, szövegszerkesztő, dokumentumformázó rendszer.

A csomag lehetővé teszi számos gépelési és cikkkészítési feladat automatizálását, beleértve a több nyelvű gépelést, a szakaszok és képletek számozását, kereszthivatkozásokat, illusztrációk és táblázatok oldalra helyezését, bibliográfia vezetést stb.

A LaTeX képletei speciális parancsokkal írhatók be. Például a képletnormális eloszlás a LaTeX-ben így nézne ki: \frac(1)(\sigma\sqrt(2\pi))\exp\left(-\frac((x-\mu) ^2)(2\sigma^2)\ right )

és így fog megjelenni:

A matematikai képlet forráskódja a címke belsejébe van írva ... A szóközöket figyelmen kívül hagyja (a TeX maga készíti el). Üres sorok nem megengedettek.

A TEX előnyei:

  • szinte minden számítógéptípushoz létezik a TEX szoftveres megvalósítása
  • alacsony hardvererőforrás-igény (egy IBM PC-kompatibilis számítógép 286/386-os processzorral elegendő a működéshez)
  • a forrásszövegek hordozhatósága (a formázási eredmények, azaz a dokumentum végső megjelenése minden platformon azonos lesz)
  • a nyomtatás nyomdai minőségű szöveget hoz létre,
  • számos ingyenes megvalósítás
  • bármilyen bonyolultságú matematikai és egyéb képletek elkészítésének képessége, amelyek kinyomtatva jól néznek ki, minimális erőfeszítéssel
  • bővíthetőség (a meglévő alapparancsok alapján létrehozhat saját, összetettebb parancsokat)

A tervezés során a TeX egyik fő jellemzője a matematikai képletek egyszerű beállításának lehetősége volt.

Az összetett képletek halmaza sokkal könnyebb és gyorsabb, mint a „vizuális” szerkesztők (M $ Equation, MathCAD). Ez különösen észrevehető ott, ahol a képleteket egymáshoz kell igazítani, a számozást el kell rendezni, valamint nem szabványos matematikai jelölések használatakor.

A képleteket csak a TeX jelölés támogatja. Példa:

notation='TeX'>E=mc^2

ami így fog kinézni:

Képletek beszúrása html dokumentumokba képként

A legegyszerűbb módja, ha képleteket bittérképként szúr be a címke használatával img . A képlet képe manuálisan (a vizuális képletszerkesztőből) és automatikusan is beszerezhető. A képletek a dokumentumba ágyazott beépülő objektumokként jelennek meg. Tartalmazhatnak többszintű egyszerű törteket, görög betűket, mátrixokat.

Előnyök:

ugyanúgy jelennek meg, mint az eredetiben minden képeket megjelenítő böngészőben

viszonylag könnyen másolható az Office dokumentumokba

Hátrányok:

a legnagyobb oldalméret az összes figyelembe vett lehetőség képleteivel

lehetetlen megváltoztatni a képlet méretét - gyakran túl kicsi vagy túl nagy a szöveghez képest, vagy túl kicsi vagy túl nagy a szöveghez képest

rosszul néz ki kinyomtatva – a felbontások nem egyeznek

lehetetlen megváltoztatni a képletet annak forráskódja és speciális program nélkül

elég nehéz a képlet középpontba állítása a szövegben

lehetetlen szavakkal átvinni a képletet - szükség esetén több sorra bontani

Hivatkozások.

1. Galaktionov V.V. Extensible Mark-up Language (XML): A következő generációs internetes szoftverarchitektúrát meghatározó iparági szabvány. Kommunikáció JINR, Р10-2000-44, Dubna, 2000.

2. D. Knut. – Mindent a TeX-ről.

3. http://math.accent.kiev.ua

4. http://www.raleigh.ru/MathML/MathML2/chapter2.html

5. www.elbib.ru/index.phtml?page=elbib/rus/journal/2005/

6. http://www.ibb.ru/articles/tex/node3.phtml

A HTML5 előtt a képletek használata igazi fájdalom volt. Ítélje meg maga: 2005-ben szükség volt egy speciális böngészőre, vagy a szöveg megfelelő HTML-re bontására és képi vagy PDF-beszúrásokra. A keresés és egyéb szerkesztési és/vagy képernyőre/papírra való kiadás műveletei kétértelmű feladatot jelentettek, amelynek egész monográfiákat szenteltek.

2012-ben már könnyebb volt. Most már csatlakoztathatja a szükséges beépülő modulokat (Firemath for FireFox és Daum Equation Editor for Chrome). De a szabványok (és a támogatás) kétértelműsége arra késztetett bennünket, hogy ugyanazt a cikket írjuk meg minden böngészőhöz (és azok verziójához). Vagy üdvözölje a felhasználókat egy varázslatos üdvözlettel: „A böngészőjét frissíteni kell/kiterjesztést kell hozzáadni.”

Kényelmetlen? - Igen! Időigényes volt egy univerzális megoldás megtalálása? - Igen! Elgondolkodtat, hogy milyen típusú felvétel a jobb (prezentáció vagy tartalom), melyik konvertert érdemes használni (és csak tucatnyi közismert)? - IGEN! IGEN! IGEN!

Ennek eredményeként a kiadói munka két-három jelölőlexikon kidolgozásává és legalább egy átkódoló program működésének tanulmányozásává fajult.

Most, a HTML5 megjelenésével a dolgok sokkal könnyebbé váltak. Új konténer van hozzá .
A MathML minden érvényes példányának ebben a tárolóban kell lennie.
Nem teszi lehetővé a beágyazást, de tetszőleges számú gyermekelem lehet benne.

Címke attribútumok

A következő attribútumokon kívül a címke elfogadja a "> attribútumait .

osztály, azonosító, stílus
Stíluslapokkal együtt használva.
dir
Meghatározza a képlet irányát: ltr - balról jobbra vagy rtl - jobbról balra.
ref
A megadott URI-hoz mutató hiperhivatkozás beállítására szolgál.
matematikai háttér
Háttérszín. Használhat #rgb , #rrggbb és HTML színneveket.
matematikai szín
Szöveg szín. Használhat #rgb , #rrggbb és HTML színneveket.
kijelző
Ez az attribútum adja meg a kimeneti metódust. Lehetséges értékek:

  • Blokk- azt jelenti, hogy ez az elem az aktuális szövegtartományon kívül, blokkként jelenik meg, amely bárhová elhelyezhető anélkül, hogy a szöveg jelentését megváltoztatná;
  • inline - azt jelenti, hogy ez az elem az aktuális szövegtartományon belül jelenik meg, és nem mozdítható ki a szöveg értékének megváltoztatása nélkül.

Az alapértelmezett érték inline .

mód

Elavult megjelenítési attribútumérték.
A lehetséges értékek a display (amelynek hatása megegyezik a display="block"-val) és a soron belüli .
túlcsordulás
Meghatározza, hogyan viselkedjen a kifejezés, ha a szöveg túl hosszú ahhoz, hogy beleférjen a megadott szélességi tartományba.
Lehetséges értékek: sortörés (alapértelmezett), scroll , elide , truncate , scale .

Példák

Ábrázolás HTML5-ben

MathML HTML5-ben a 2 + b 2 = c 2

Ábrázolás XHTML-ben

MathML XHTML-ben a 2 + b 2 = c 2
Megjegyzések: A MathML formátumú XHTML dokumentumokat application/xhtml+xml néven kell megjeleníteni. Ezt egyszerűen elérheti, ha hozzáadja az .xhtml kiterjesztést a helyi fájlokhoz. Apache-kiszolgálók esetén beállíthatja a kiterjesztéshez tartozó .htaccess fájlt a megfelelő MIME-típusra. Mivel a MathML-ünket XML-dokumentumként mentettük el, meg kell győződnünk arról, hogy az XML-dokumentum megfelelően van kialakítva.

Böngésző támogatás

Böngésző támogatás

Teljes verziók
Elem Króm Firefox (Gekkó) internet böngésző Opera szafari
XHTML leírás (csak 24.) 1.0 (1.7 és újabb) 9.5 5.1
HTML5 leírás (csak 24.) 4.0 (2.0) 5.1
dir 12.0 (12.0)
href WebKit 85733-as hiba 7.0 (7.0) WebKit 85733-as hiba
matematikai háttér (csak 24.) 4.0 (2.0) 5.1
matematikai szín (csak 24.) 4.0 (2.0) 5.1
túlcsordulás

Mobil verziók

Elem Android Chrome Androidra Firefox Mobile (Gecko) IE mobil Opera Mobil Safari Mobile
XHTML leírás 1.0 (1.0)
HTML5 leírás 4.0 (2.0)
dir 12.0 (12.0)
href 7.0 (7.0)
matematikai háttér 4.0 (2.0)
matematikai szín 4.0 (2.0)
túlcsordulás