نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • مشاوره
  • برنامه های پشتیبان ریاضی درس: MathML (زبان نشانه گذاری ریاضی)

برنامه های پشتیبان ریاضی درس: MathML (زبان نشانه گذاری ریاضی)

اگرچه اینترنت تا حد زیادی با تلاش فیزیکدانان و ریاضیدانان ایجاد شد، اما مسیر فرمول ریاضی در صفحات آن بسیار طولانی و خاردار بود. تنها در سال‌های اخیر می‌توان گفت که فرمول‌های ریاضی کاملاً در اینترنت جا افتاده‌اند.

واقعیت این است که در زبان HTML که صفحات وب با آن ایجاد می شوند، هیچ وسیله ای برای به تصویر کشیدن فرمول ها وجود ندارد. سازندگان وب سایت باید به نحوی از آن خارج می شدند: از جداول، فهرست ها و سایر راه حل ها استفاده کنند. فهرستی از این تکنیک ها آورده شده است و می توان آن را به صورت زیر خلاصه کرد: مسیر دشوار و نتیجه رقت انگیز.

یک راه جزئی برای خروج از وضعیت قرار دادن فرمول ها در قالب تصاویر بود. ابزارهای زیادی برای ایجاد آنها وجود دارد. می توانید از یک ویرایشگر بصری (مانند ویرایشگر معادله مایکروسافت آفیس) استفاده کنید یا فرمول تایپ شده در LaTeX را با استفاده از یک مبدل آنلاین تبدیل کنید. در نهایت، Google Docs وجود دارد که ویرایشگر فرمول آن هر دوی این کارها را انجام می دهد. اما مدیر سایت باید ابعاد را انتخاب می کرد و تصویر را در موقعیت مکانی قرار می داد. این بدان معنی است که ما فقط می توانستیم در مورد تعاملی بودن سایت رویاپردازی کنیم. برای انجام این کار، به زبانی نیاز داشتیم که به بازدیدکننده سایت اجازه دهد خودش فرمول ها را تایپ کند.

در آغاز دهه 2000، دو زبان از این قبیل وجود داشت: LaTeX - برای نمایش بصری فرمول ها، و MathML - برای توصیف ساختار آنها. در آن زمان، لاتک سال‌ها برای تهیه متون ریاضی مورد استفاده قرار می‌گرفت، بنابراین جای تعجب نیست که برای ریاضیات شبکه مورد استفاده قرار گیرد. یکی از اولین تلاش ها از این نوع برنامه LaTeXML بود. نوشته شده در Perl، یک سند LaTeX را پردازش می کند و نتیجه را به یک فایل XML می دهد. پس پردازشگر آن سپس XML حاصل را به فرمت های متنی دیگر، مانند HTML و XHTML (و اکنون MathML) یا گرافیک تبدیل می کند. نتایج LaTeXML قابل مشاهده است.

مقایسه ورودی فرمول درMathML ولاتکس

با این حال، این مشکلات تعاملی را حل نکرد. برای انجام این کار، برنامه handler باید مستقیماً در مرورگر اجرا می شد. jsMath Davide Cervone اولین کسی بود که به سمت مشتری حرکت کرد. فرمول های تایپ شده توسط کاربر در LaTeX را به تصاویر رندر شده با استفاده از HTML و CSS تبدیل می کند. این امکان ایجاد صفحات وب ریاضی واقعاً تعاملی را فراهم کرد.

قدم اول برداشته شده بود، اما مشکلات زیادی باقی ماند. لازم بود اطمینان حاصل شود که این برنامه در همه مرورگرها کار می کند (از قدیمی ها مانند اینترنت اکسپلورر 6 شروع می شود) و فرمول ها را به فرمت های مختلف صادر می کرد، در درجه اول به MathML. پروژه MathJax که در سال 2009 تحت رهبری انجمن ریاضی آمریکا با پشتیبانی پورتال Stack Exchange راه اندازی شد، برای حل این مشکلات طراحی شد. کتابخانه MathJax حاصل در همه مرورگرها کار می کند و می تواند فرمول ها را در HTML+CSS، SVG و MathML ذخیره کند. کاربر نیازی به نصب پلاگین یا فونت ندارد - اکنون فقط کار می کند.

وارد کردن فرمول درMathJax...

و نمایش آن

اگر jsMath ریاضیات را در اینترنت احیا کرد، پس MathJax "اجازه داد جن از بطری بیرون بیاید" به شما این امکان را می دهد که بسیاری از ایده های عالی را در مدت زمان کوتاهی پیاده سازی کنید. آیا می خواهید آموزش ریاضی را به صورت آنلاین دریافت کنید؟ اینجا و اینجا را بررسی کنید. نیاز به چت با همکاران دارید؟ اگر برای شما مقدور است. انتشارات با کد و فرمول "زنده" ایجاد کنید؟ اینجا و آنجا. به سیستم جبر کامپیوتری در اندروید علاقه دارید؟ چرا که نه . چت با پشتیبانی ریاضی؟ به آسانی . وبلاگی ایجاد کنید تا در مورد کار خود صحبت کنید؟ لطفا . MathJax همچنین از ویکی‌پدیا، آرشیو رایگان نشریات الکترونیکی arXiv و پورتال ریاضی همه روسیه استفاده می‌کند. اینگونه بود که MathJax به استاندارد واقعی برای نمایش فرمول ها در صفحات وب تبدیل شد.

آیا این بدان معناست که همه مشکلات مربوط به گذشته است؟ البته که نه. بنابراین،

.

ضرورت نشانه گذاری MathML این به دلیل این واقعیت است که فرمت HTML، با وجود بسیاری از ویژگی های شگفت انگیز، دارای قابلیت های نسبتاً محدودی برای انتقال نمادهای ریاضی است. اغلب فرمول ها در صفحات HTML به صورت گرافیکی (رستر یا برداری) ارائه می شوند، اما این روش دارای معایب آشکاری است. به عنوان مثال، یک فرمول طراحی تقریباً غیرممکن است که ویرایش شود، و کیفیت آن هنگام چاپ معمولاً چیزهای زیادی را به جا می گذارد. توسعه ایده ها منجر به ایجاد یک خانواده کامل از زبان های نشانه گذاری ریاضی شد که شامل MathML می شود.توسعه دهندگان به عمق مشکل پی بردند و هدف خود را برای ایجاد مشخصاتی تعیین کردند که الزامات محدود، اما همچنان بسیار مهم زیر را برآورده کند:

ü سهولت یادگیری و تایپ دستی نمادهای ریاضی پایه

ü حداکثر سازگاری با سایر فرمت های ریاضی، که باید توسط پاکت های مناسب تضمین شود

ü توانایی خروجی فرمول ها به دستگاه های ترمینال مختلف

ü پشتیبانی از توسعه پذیری، به عنوان مثال، معرفی نمادها و طرح های جدید.

اصل کلی استفاده از MathML این است که ساختارهای ریاضی در یک سند HTML معمولی جاسازی می‌شوند و زمانی که سند از اینترنت دانلود می‌شود، تکثیر می‌شوند.

زبان MathML یک سیستم منعطف و توسعه پذیر برای ضبط مطالب ریاضی ارائه می دهد که به آن اجازه می دهد با برنامه های خارجی تعامل داشته باشد و نمایش با کیفیت بالا در محیط های اطلاعاتی مختلف ارائه دهد. اصل کلی استفاده از MathML، جاسازی ساختارهای ریاضی در یک سند XHTML/HTML است.ایجاد صفحات وب با استفاده از MathML به سه روش امکان پذیر است: HTML + ارائه MathML، XHTML + ارائه MathML، XML + MathML

راه های زیادی برای تبدیل عبارات ریاضی به MathML وجود داردخدمات رفاهی مرورگرهای اصلی جدیدترین نسخه هایی که به طور مستقیم MathML را پشتیبانی می کنندموزیلا و انواع آن در صورت نصب مناسب، بسیاری از مرورگرهای دیگر از این فرمت پشتیبانی می کنندپلاگین ها . علاوه بر این، MathML توسط برنامه های اصلی اداری مانند Microsoft Word و OpenOffice.org و همچنین محصولات نرم افزاری ریاضی، برای مثال، Mathematica، Maple. MathML - در مورد یک زبان نشانه گذاری فرمول بسیار قدرتمند و جهانی. درست است، اد.فعال کردن فرمول ها (وخواندن آن بسیار سخت است. زبان MathML با استفاده از فناوری XML ساخته شده است و از برچسب های خود برای مشخص کردن قطعات فرمول ها استفاده می کند.

نمونه ای از توضیح فرمول ساده

ایکس

+

3

مثال 2

درج فرمول ها در اسناد HTML با استفاده از نشانه گذاری TeX

TeXیک زبان نشانه گذاری محبوب است که توسط بسیاری از افراد استفاده می شود، به ویژه در دنیای ریاضی، واژه پرداز، سیستم قالب بندی اسناد.

این بسته به شما امکان می دهد تا بسیاری از کارهای تایپ و آماده سازی مقالات از جمله تایپ متن به چندین زبان، شماره گذاری بخش ها و فرمول ها، ارجاع متقابل، قرار دادن تصاویر و جداول در صفحه، نگهداری کتابشناسی و غیره را به طور خودکار انجام دهید.

فرمول ها در LaTeX با استفاده از دستورات خاص تایپ می شوند. به عنوان مثال، فرمول برایتوزیع نرمال در LaTeX به این صورت خواهد بود: \frac(1)(\sigma\sqrt(2\pi))\exp\left(-\frac((x-\mu) ^2)(2\sigma^2)\ درست)

و به صورت زیر نمایش داده می شود:

کد منبع فرمول ریاضی داخل تگ نوشته شده است ... فضاها نادیده گرفته می شوند (TeX خودش آنها را انجام می دهد). خطوط خالی مجاز نیست.

مزایای TEX:

  • پیاده سازی نرم افزار TEX تقریبا برای همه انواع کامپیوترها در دسترس است
  • نیازهای کم برای منابع سخت افزاری (یک کامپیوتر سازگار با IBM PC با پردازنده 286/386 برای کار کافی است)
  • قابل حمل بودن متون مبدأ (نتایج قالب بندی، یعنی ظاهر نهایی سند شما، برای همه پلتفرم ها یکسان خواهد بود)
  • هنگام چاپ، متن دارای کیفیت تایپوگرافی است،
  • تعداد زیادی پیاده سازی رایگان
  • توانایی تهیه فرمول های ریاضی و سایر فرمول های هر پیچیدگی که در هنگام چاپ عالی به نظر می رسند، در حالی که حداقل تلاش را صرف می کنند.
  • توسعه پذیری (بر اساس دستورات اولیه موجود، می توانید دستورات پیچیده تر خود را ایجاد کنید)

یکی از ویژگی‌های اصلی که در TeX طراحی شد، قابلیت تنظیم آسان فرمول‌های ریاضی بود.

مجموعه ای از فرمول های پیچیده بسیار ساده تر و سریعتر از ویرایشگرهای "بصری" است (معادله M$، MathCAD). این امر به ویژه در مواردی که لازم است فرمول ها را نسبت به یکدیگر تراز کنید، شماره گذاری را مرتب کنید و همچنین هنگام استفاده از نمادهای ریاضی غیر استاندارد قابل توجه است.

فرمول ها فقط در نماد TeX پشتیبانی می شوند. مثال:

notation=’TeX’>E=mc^2

که به شکل زیر خواهد بود:

درج فرمول ها در اسناد HTML به عنوان تصویر

ساده ترین راه این است که فرمول ها را به عنوان تصاویر شطرنجی با استفاده از یک برچسب درج کنید img تصویر فرمول را می توان به صورت دستی (از ویرایشگر فرمول بصری) یا به صورت خودکار دریافت کرد. فرمول ها به عنوان اشیاء درج شده در سند نشان داده می شوند. آنها می توانند شامل کسرهای ساده چند طبقه، حروف یونانی، ماتریس باشند.

مزایای:

در تمام مرورگرهایی که تصاویر را نمایش می دهند مانند نسخه اصلی نمایش داده می شوند

کپی کردن نسبتا آسان در اسناد آفیس

ایرادات:

بزرگترین اندازه صفحه با فرمول های همه نژادهای گزینه های باز کردن

تغییر اندازه فرمول غیرممکن است - اغلب نسبت به متن خیلی کوچک یا خیلی بزرگ است یا نسبت به متن خیلی کوچک یا خیلی بزرگ است.

هنگام چاپ بد به نظر می رسد - وضوح تصویر مطابقت ندارد

تغییر فرمول بدون کد منبع و برنامه خاصی غیرممکن است

مرکز کردن فرمول در متن بسیار دشوار است

انتقال فرمول به کلمات غیرممکن است - در صورت لزوم آن را به چند خط تقسیم کنید

منابع.

1. گالاکتیونوف V.V. زبان نشانه گذاری توسعه پذیر (XML): استاندارد صنعتی که نسل بعدی معماری نرم افزار اینترنت را تعریف می کند. ارتباطات JINR، R10-2000-44، Dubna، 2000.

2. D. Knuth. "همه چیز در مورد TeX."

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

برای ارائه و فرمول ها در اسناد استفاده می شود. MathML توسط گروه ریاضی توصیه می شود.

مشخصات MathML نسخه 1.01 در ماه جولای منتشر شد و نسخه 2.0 در فوریه ظاهر شد. در ماه اکتبر، نسخه دوم MathML نسخه 2.0 منتشر شد که در حال حاضر آخرین مشخصات منتشر شده توسط گروه ریاضیات است.

MathML نه تنها را در نظر می گیرد کارایی، اما همچنین معنیعناصر فرمول یک سیستم نشانه گذاری معنایی ریاضی نیز برای تکمیل MathML در حال توسعه است. به آن OpenMath می گویند.

مثال

پشتیبانی نرم افزار

اصلی‌ترین‌هایی که مستقیماً از MathML پشتیبانی می‌کنند، آخرین نسخه‌ها و انواع آن هستند. بسیاری از مرورگرهای دیگر در صورت لزوم از این قالب پشتیبانی می کنند. به عنوان مثال، افزونه MathPlayer برای پشتیبانی از MathML استفاده می شود.

علاوه بر این، MathML توسط برنامه های اصلی آفیس مانند و و همچنین محصولات نرم افزار ریاضی مانند

با توسعه نمادگرایی ریاضی، روش ها توسعه و بهبود یافتند
ذخیره سازی و انتقال آن به عنوان مثال، ریاضیدانان بابل باستان یادداشت های خود را ایجاد کردند
بر روی لوح های گلی، در اواخر قرون وسطی اولین چاپ شده است
کتاب، و در نهایت، دوران مدرن با جریان روزافزون الکترونیک مشخص می شود
انتشارات جستجوی روش های مناسب برای قالب بندی متون ریاضی است
در اینترنت و منجر به ایجاد زبان MathML شد.

نیاز به چنین ابزاری به این دلیل است که فرمت HTML، علیرغم بسیاری از ویژگی های شگفت انگیز، قابلیت های نسبتاً محدودی برای انتقال نمادهای ریاضی دارد. اغلب، فرمول ها در صفحات HTML به صورت گرافیکی (رستر یا برداری) ارائه می شوند، اما این روش دارای معایب آشکار است. به عنوان مثال، یک فرمول طراحی تقریباً غیرممکن است که ویرایش شود، و کیفیت آن هنگام چاپ معمولاً چیزهای زیادی را به جا می گذارد. از قبل بر این اساس، واضح است که برای وب مطلوب است که نمادهای ریاضی به نحوی رمزگذاری شود، و تا حد امکان "شفاف" برای برنامه های مشتری (مرورگرها). توسعه این ایده ها منجر به ایجاد یک خانواده کامل از زبان های نشانه گذاری ریاضی شد که شامل MathML است که امروز در حال بررسی آن هستیم.

لازم به ذکر است که مشکل نمایش نمادهای ریاضی به صورت الکترونیکی به نیاز به تدوین مشخصات جداگانه محدود نمی شود. این یک مشکل پیچیده علمی و فنی است که هنوز با راه حل نهایی خود فاصله دارد، که با وجود تعداد زیادی از رویکردهای پیشنهادی، اغلب با هماهنگی ضعیف با یکدیگر تأیید می شود. یکی از این رویکردها زبان های نشانه گذاری تخصصی است که شامل MathML می شود. البته، توسعه دهندگان آن از عمق این مشکل آگاه بودند و هدف خود را برای ایجاد مشخصاتی تعیین کردند که الزامات محدود، اما همچنان بسیار مهم زیر را برآورده کند:

  • سهولت یادگیری و تایپ دستی نمادهای ریاضی پایه؛
  • حداکثر سازگاری با سایر فرمت های ریاضی، که باید توسط مبدل های مناسب ارائه شود.
  • امکان نمایش فرمول ها در دستگاه های ترمینال مختلف؛
  • پشتیبانی از توسعه پذیری، یعنی معرفی نمادها، طرح ها و غیره جدید.

به این اهداف مربوط به اصول ساخت مشخصات، موارد دیگری مربوط به ویژگی های استفاده از MathML در برنامه ها اضافه شد. لازم است اطمینان حاصل شود که فرمول ها با بالاترین کیفیت به صفحه نمایش ها و چاپگرها ارسال می شوند و ابزارهای تبادل اطلاعات سازماندهی می شوند (به عنوان مثال، عملیات بافر کپی/پیست کردن قطعات فرمول). واضح است که همه اینها توسط توسعه دهندگان نرم افزار کاربردی پیاده سازی خواهد شد، اما در ابتدا باید قابلیت های بالقوه گنجانده شود.

در چند کلمه، اجازه دهید جایگاه MathML را در گروه زبان‌های نشانه‌گذاری ریاضی مرتبط با آن مشخص کنیم. برخلاف تعدادی از نمایندگان خود که ابتدا باید به TeX اشاره کرد، MathML دارای ابزار معنایی برای ساخت عبارات ریاضی است. اگر یک سند TeX، در واقع، شرح مفصلی از یک متن با نشان دادن دقیق موقعیت همه عناصر آن باشد، MathML (که بیشتر با محتوا مرتبط است) از این نظر بسیار انعطاف پذیرتر است، زیرا شکل نهایی سند را می توان به راحتی مطابق با نیاز کاربر تغییر داد.

درباره MathML

MathML زیرمجموعه ای از زبان نشانه گذاری توسعه یافته XML است که اغلب برای ایجاد زبان های دیگر استفاده می شود. این استفاده از XML امروزه کاملاً طبیعی است و در موارد دیگری که استفاده از HTML برای انتقال انواع جدیدی از داده ها با محدودیت های این قالب مواجه شده بود، به خوبی عمل کرده است. تا به امروز، کنسرسیوم W3C ویرایش دوم نسخه 2.0 مشخصات زبان MathML را منتشر کرده است که نشان دهنده دوام و پایداری پروژه است.

اصل کلی استفاده از MathML این است که ساختارهای ریاضی در یک سند معمولی HTML تعبیه شده اند و (اگر مرورگر یا برنامه خاصی از این مشخصات پشتیبانی می کند) زمانی که سند از اینترنت بارگیری می شود به اندازه کافی بازتولید می شوند.

اولین چیزی که در MathML با آن مواجه می شوید و چیزی که این زبان نشانه گذاری را از آنالوگ های آن متمایز می کند، استفاده از دو روش برای رمزگذاری عبارات است. یکی از آنها مبتنی بر انتقال مستقیم نحو فرمول (ارائه) است، دیگری، برعکس، معنایی بیان (محتوا) را منعکس می کند. به عبارت ساده، روش اول ضبط فرمول را بدون ارتباط با معنای آن منتقل می کند، دوم، برعکس، محتوای ریاضی آن را منعکس می کند.

نحو کدنویسی

برنج. 1

اگر به شکل نمایش عبارات مختلف ریاضی نگاه کنید، می توانید
توجه داشته باشید که با تعداد نسبتا زیادی از شخصیت های خاص وجود دارد
راه های نسبتا کمی برای سازماندهی آنها وجود دارد. بنابراین، عبارات را می توان ساخت
با استفاده از نویسه‌ها و زیرنویس‌ها، یک بخش از فرمول می‌تواند بالا/پایین‌تر دیگری باشد،
عبارات می توانند در عناصر ماتریس و غیره باشند. این اصل مبتنی است
به عنوان مبنایی برای کدنویسی نحو، که در آن عبارات ریاضی با هر پیچیدگی
با استفاده از مجموعه کوچکی از الگوها (به اصطلاح طرحواره های طرح بندی) شکل می گیرند.
مطابق با روابط اساسی موجود در فرمول های ریاضی.

برای نشان دادن این اصل، بیایید نگاه کنیم که چگونه یک کسری در MathML نوشته می شود. این فقط دو عنصر دارد - صورت و مخرج که در قالب مربوطه منعکس شده است:

اینجا را تگ کنید همانطور که قبلا ذکر شد، برای ایجاد کسر واقعی عمل می کند. ویژگی linethickness ضخامت خط تقسیم را تعیین می کند، اگر حذف شود، از مقدار استاندارد استفاده می شود (هر دو گزینه در شکل نشان داده شده اند).

شمارنده با تگ نشان داده می شود ، که به نوبه خود حاوی عناصر کودک است. این تگ می تواند شامل هر تعداد عبارات تو در تو باشد که فرمولی را به صورت افقی در امتداد خط مبنا ایجاد می کند. در مورد ما، این مجموع دو متغیر است ایکسو y(معنای برچسب ها و در ادامه توضیح داده خواهد شد). توجه داشته باشید که یک ورودی بدون برچسب منجر به خطا می شود، زیرا اولین عبارتی که در رکورد با آن مواجه می شود به عنوان شماره گذار در نظر گرفته می شود ( ایکس). در نهایت، مخرج از یک متغیر تشکیل شده است زتوسط برچسب منتقل می شود .

عناصر اصلی مورد استفاده در نمایش MathML نمادها (توکن ها) و الگوها (شماهای طرح بندی، که در بالا ذکر شد) هستند. اولی عناصری از زبان هستند که فقط می توانند حروف (مثلاً برای نشان دادن متغیرها) و نمادهای واقعی ریاضی داشته باشند، اما نه عناصر دیگر.

عنصر برای وارد کردن شناسه ها استفاده می شود. طبق قانون زیر عمل می کند: اگر مقدار یک عنصر یک کاراکتر باشد، به عنوان یک متغیر در نظر گرفته می شود و به صورت مورب نمایش داده می شود، اما اگر مقدار یک رشته باشد، با فونت رومی نمایش داده می شود (از این ویژگی استفاده می شود. برای نوشتن توابعی مانند گناه, لوگاریتمو غیره.). عنصر برای نمایش عملگرهای ریاضی در نظر گرفته شده است و ، که هنوز ندیده ایم، برای خروجی اعداد است. هر یک از عناصر توصیف شده دارای مجموعه خاصی از ویژگی ها است که به شما امکان می دهد نمایش پیش فرض کاراکترها را تغییر دهید.

اکنون اجازه دهید به برخی از الگوهای MathML که عبارات ریاضی پایه را منتقل می کنند نگاه کنیم. ما دو مورد از آنها را در بالا ملاقات کردیم: اینها برچسب هایی برای تعیین یک کسر مشترک و یک عبارت تراز شده در امتداد خط مبنا هستند. سایر الگوهای مهم توسط برچسب های زیر منتقل می شوند:

  • علامت رادیکال را با عبارت تودرتو چاپ می کند. برچسب مشابه برای نمایش ریشه کار می کند nدرجه هفتم؛
  • یک عبارت محصور در پرانتز را مشخص می کند. با استفاده از ویژگی ها، می توانید یک جداکننده برای عبارات تودرتو و برخی ویژگی های دیگر مشخص کنید.
  • برچسب‌ها برای عبور بالانویس‌ها/ زیرنویس‌ها. به عنوان مثال، یک عبارت superscript
    (درجه تحصیلی) به عنوان داده می شود EXPRESSION UPPER_INDEX

همچنین قالب هایی برای طراحی تقریباً همه مهم ترین عبارات و ماتریس های ریاضی (در مجموع حدود 30 نوع) وجود دارد.

رمزگذاری معناشناسی

اجازه دهید اکنون به سراغ روش کدگذاری با استفاده از معناشناسی بیان برویم. همانطور که در بالا ذکر شد، محتوای ریاضی فرمول را منعکس می کند. عنصر کلیدی برای انتقال معناشناسی است . بیایید کاربرد آن را با یک مثال ساده توضیح دهیم. کد زیر کسری از همان نوع کدهای نشان داده شده در شکل را ایجاد می کند. 1.

برنج. 2

در مثال ما، اولین پس از عنصر می رود ، نشان دهنده
تقسیم (کسره). بیایید بلافاصله بگوییم که با کدگذاری معنایی، اکثر اپراتورها
توسط برچسب هایی مانند ، که در آن قبل از بسته شدن براکت زاویه
به دنبال آن یک اسلش رو به جلو (به اصطلاح عناصر "خالی"). سپس دنبال کنید
آرگومان ها: یک عنصر دیگر ، عبور از عملگر جمع ایکس
و y، و - ز. بر این اساس، مجموع (اول آرگومان عملگر تقسیم)
به عنوان شمارنده کسری و متغیر نمایش داده می شود ز- به عنوان مخرج. MathML
شامل حدود 90 عملگر است که به چند دسته تقسیم می شوند: حسابی،
جبری، منطقی و غیره

در این مثال، هر عملگر با یک جفت آرگومان اعمال شد. اما، همانطور که از نمای کلی عنصر ارائه شده در بالا آمده است ، ممکن است تعداد دلخواه آرگومان وجود داشته باشد (اگر خود اپراتور اجازه دهد). به عنوان مثال، عبارت نشان داده شده در شکل. 2، در فرم نوشته شده است

در دو مثال آخر، یک نکته بدون توضیح باقی مانده است - برچسب ها برای انتقال
شناسه ها و اعداد حروف الفبا این و به ترتیب
- آنالوگ کامل عناصر و هنگام کدنویسی نحو
توجه داشته باشید که برچسب در هنگام استفاده از معناشناسی مشابهی ندارد،
از آنجایی که تمام اطلاعات مربوط به اپراتور توسط یک تگ اپراتور خاص منتقل می شود،
بعد از .

برای تعیین ساختار یک فرمول، نه تنها می توان از آن استفاده کرد . به عنوان مثال برای بیان یک رابطه (برابری، نابرابری، شمول و ...) یک برچسب خاص وجود دارد. . قطعه زیر فرمول نشان داده شده در شکل را ایجاد می کند. 3.



ایکس

y
z


اینجا نشان می دهد که عبارت ریاضی شامل یکی از روابط و برچسب "خالی" است نوع خاص آن را نشان می دهد - "کمتر". در سمت چپ یک شناسه وجود خواهد داشت ایکس، در سمت راست - مجموع دو متغیر که با استفاده از عنصر آشنا برای ما تعیین می شود .

اطلاعاتی که در مورد MathML ارائه کرده‌ایم، اگرچه کامل نیست، اما برای شروع استفاده مستقل از این زبان کاملاً کافی است. علاوه بر این، ابزارهای نرم افزاری ویژه ای برای حذف کارهای معمول طراحی شده اند.

نرم افزار کار با MathML

صفحه W3C مربوطه پیوندهایی به تقریباً ارائه می دهد
سه دوجین محصول توصیه شده برای کار با MathML. به نظر می رسد مهمترین چیز این است
وضعیت مرورگرها، زیرا به بهترین وجه میزان تشخیص را مشخص می کند
هر فناوری وب تا به امروز، تنها دو محصول به درستی آماده شده است
تفسیر MathML: Amaya (که از همین سایت W3C قابل دانلود است) و
موزیلا. متأسفانه سایر توسعه دهندگان عجله ای برای گنجاندن پشتیبانی در محصولات خود ندارند
این فناوری امیدوارکننده محبوب ترین مرورگرهای اینترنت مایکروسافت ما
Explorer و Netscape Navigator MathML را در بسته اصلی "درک" ندارند
با این حال، موارد خاصی برای آنها وجود دارد
پلاگین ها - از IBM، Design
علم، نظریه پرداز
در ارتباط بودن.

همین سه شرکت همچنین نسخه های کامل تری از نرم افزار خود را که برای ایجاد اسناد MathML طراحی شده است، ارائه می کنند. به طور خاص، در مرورگر IBM techexplorer Hypermedia Browser بود که نمونه‌های این مقاله آماده شد. مشکلات مشابه را می توان با استفاده از برنامه های کاربردی کمتر تخصصی حل کرد. به عنوان مثال، سیستم های ریاضیات کامپیوتری (Mathematica، Maple، Mathcad) معمولاً صادرات اسناد خود را به فرمت HTML با MathML "interspersed" ارائه می دهند.

MathML همچنین توسط برخی از سیستم‌های انتشارات رومیزی برای آماده‌سازی پشتیبانی می‌شود
مستندات علمی و فنی از معروف ترین محصولات این کلاس
را می توان WebEQ نامید،
که بسته ای از برنامه های جاوا برای ارائه مجموعه ای کامل از
و انتشار اسناد در قالب های MathML و WebTeX. ولفرام
Publicon برای تهیه متون ریاضی با کیفیت ارائه با
امکان صادرات به MathML؛ پردازشگرهای کلمه از MacKichan
نرم افزاری که می تواند اسناد را از قالب اصلی TeX ذخیره کند
در MathML.

همچنین مبدل های ویژه ای برای تبدیل به/از MathML وجود دارد. فرمت منبع اغلب TeX است. MathML به نوبه خود به همان TeX یا فرمت های گرافیکی محبوب تبدیل می شود.

با این حال، حتی بدون چنین بسته هایی که همیشه در دسترس نیستند، پس از آماده سازی می توانید اسناد MathML را به صورت دستی ایجاد کنید. از این گذشته، اینها فایل های متنی معمولی هستند که برای کار با آنها (مانند HTML) یک ویرایشگر متن ساده کافی است.

در خاتمه، بار دیگر تأکید می کنیم که MathML نسبتاً اخیراً ظاهر شده است (توضیحات نسخه 1.0 در سال 1998 منتشر شد) و در مراحل ابتدایی است. نمی توان رد کرد که چند سال دیگر MathML جای خود را به یک فناوری قدرتمندتر و پیشرفته تر خواهد داد. با این حال، از قبل می توان با اطمینان گفت که ایده های عمیق تعبیه شده در این زبان به عنوان پایه ای محکم برای ایجاد روش های آینده برای ارائه اسناد پیچیده علمی و فنی خواهد بود.

همه موارد فوق برای فرمول های فردی خارج از متن سند اعمال می شود. بیایید نگاه دقیق تری به مثالی بیندازیم که با مثال "Hello, World!" در یادگیری زبان های برنامه نویسی استفاده می شود. ما کد کاملی را برای یک سند XHTML 1.0 ارائه خواهیم کرد که شامل مجذور مجموع دو متغیر مورد بحث در بالا است:

میدان سلام MathML

این یک مربع کامل است:

این ساختار استاندارد XHTML سند است. با یک تگ باز شروع می شود ، حاوی یک اعلان فضای نام XML و یک اعلان زبان است. عنصر head طبق معمول حاوی عنوان است. برچسب باز کردن شروع همچنین دارای یک اعلان فضای نام از یک پیشوند اختصاری m است که برای فضای نام استاندارد MathML استفاده می شود. سپس پاراگراف معمولی می آید. در نهایت عنصر ریاضی وجود دارد که یک اعلان فضای نام نیز دارد. در داخل عنصر ریاضی نشانه گذاری MathML وجود دارد.

مثال های MathML

مشاهده نمونه های نشانه گذاری

نشانه گذاری: ایکس 2 + 4ایکس + 4 = 0.

نشانه گذاری:

به استفاده از عناصر تو در تو برای نمایش اصطلاحات توجه کنید. برای مثال، سمت چپ معادله عملوند "=" است. برجسته کردن اصطلاح ساختار نمایش بصری، پخش صدا و بسته بندی خط را تا حد زیادی بهبود می بخشد. نماد MathML InvisibleTimes برای اطلاع دادن به رندر کننده استفاده می شود که شکست خط بین 4 و x مجاز نیست. در واقع، چنین استفاده ای از این عنصر، معرفی شده در MathML 1.0، توصیه نمی شود. تمام داده های متنی معمولی در کدهای یونیکد مشخص شده است. با این حال، اگرچه انتظار می رود یک کاراکتر جایگزین در یونیکد 3.2 وجود داشته باشد و پیشنهاداتی برای بهبود یونیکد در حال بررسی است، نسخه فعلی یونیکد 3.0 از چنین کاراکتری استفاده نمی کند. ما می‌توانیم از مرجع دیجیتال مورد انتظار استفاده کنیم. اما برای وضوح، به استفاده از عنصر InvisibleTimes در مثال‌ها ادامه خواهیم داد.

نشانه گذاری:

±

عناصر mfrac و msqrt به ترتیب برای ایجاد کسری و ریشه مربع استفاده می شوند.

توجه داشته باشید که علامت مثبت و منفی توسط یک موجودیت خاص مشخص شده است، اگرچه در این مورد یک کاراکتر یونیکد مانند B1; وجود دارد. MathML لیست گسترده ای از نام عناصر را ارائه می دهد که نمادهای ریاضی را تعریف می کنند. علاوه بر نمادهای ریاضی برای نمایش و چاپ یک سند، MathML نمادهایی را برای ارائه یک سند با استفاده از گفتار ارائه می دهد. برای پخش گفتار، تعیین خودکار نحوه خواندن متن مهم است

چگونه " zضرب در مقدار ایکسبه علاوه y"یا" zضربدر ایکسبه علاوه yکاراکترهای (U+2062) و (U+2061) راهی را در اختیار نویسندگان می‌گذارند تا مستقیماً چنین تفاوت‌هایی را برای برنامه‌های گفتاری رمزگذاری کنند. برای مثال، در حالت اول، کاراکتر (U+2062) باید بعد از خط درج شود. حاوی z. MathML همچنین شامل موجودیت هایی مانند (U+2146) است که نشان دهنده یک دیفرانسیل است. هنگام چاپ، در فواصل زمانی متفاوت از نماد معمول "d" نمایش داده می شود و می تواند به صورت "d" یا "با توجه به" تلفظ شود. در حالی که از برچسب های محتوا یا هر مکانیسم دیگری برای رفع ابهام استفاده می شود، نویسندگان باید همیشه از نمادهای شرح داده شده در بالا به عنوان موجودیت برای دسترسی بیشتر به اسناد استفاده کنند.

نشانه گذاری:

ایکس

y

z

w

عنصر mtable به ابتدای جدول در MathML اشاره می کند. عنصر mtr یک ردیف جدول را تعریف می کند و عنصر mtd حاوی داده های عنصر ردیف (سلول) است. اکثر عناصر دارای ویژگی هایی هستند که ویژگی های نمایش را روی صفحه و در چاپ تعیین می کنند. به عنوان مثال، عنصر mfenced دارای ویژگی هایی است که مشخص می کند کدام کاراکترها باید در ابتدا و انتهای عبارت گروه بندی استفاده شوند. ویژگی های عناصر عملگر بر روی مقدار پیش فرض تعریف شده توسط دایرکتوری با استفاده از عنصر تنظیم می شوند .

بهترین مقالات در این زمینه