- From: KangHao Lu (Kenny) <kennyluck@csail.mit.edu>
- Date: Tue, 26 Oct 2010 23:12:15 +0900
- To: 中文HTML5同樂會ML <public-html-ig-zh@w3.org>
- Message-Id: <A5AF2CC6-9538-46FD-AFF0-D4DCB851497D@csail.mit.edu>
嗨 大家好, MathML在不久之前(10月21日)成為了一個新的W3C推薦標 準(REC),似乎有一些新聞報導的樣子[1]。我在台灣 Google的朋友看到這篇報導,就說「一個數學式子要用這 麼多char組成也太沒效率了吧~」然後問我看法。恰好記 得之前看到W3C數學工作組的Q&A[2]提到的一些MathML的優 點: - 因為是XML可以用DOM的API操作 - 有語意 - 所以能提供無障礙環境(Accessibility) 就順手寫了一篇文,貼在後面分享給大家。話說,HTML5 有內建MathML所以就算是不用XML只要用了<math>標籤就可以 用MathML囉[3]。現在Gecko有支援,尚未釋出的Webkit也有, 就不知道Trident什麼時候支援啦。 其實不管數學是什麼格式都好,還是希望有生之年可以 在Web上看到更多的數學文章跟論文,PDF真的是對非 Windows使用者來說蠻困擾的,而且現在論文裡用的超連 結也不是很多、、、歡迎大家多多推銷一下MathML,有什 麼建議的文章嗎? 另外WHATWG似乎討論在HTML5該用LaTex還是MathML討論了很 久,還沒空做個詳盡的考古 :p [4] [1] (英文) http://www.readwriteweb.com/hack/2010/10/w3c-announces-mathml-3-new-sta .php [2] (英文) http://www.w3.org/Math/mathml-faq#syntax [3] (英文,徵求翻譯!) http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28H TML5%29#Elements [4] http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2006-June/thread.html#6624 -- 附文 -- 我對MathML不熟 隨便講講 第一件事就是反正MathML也不是給人看或是寫的 主要還 是機器寫的吧 就像WikiText用 a (斷行) b 來代表 <p>a</p> <p>b</p> -- == Test == 代表 <h2>Test</h2> -- [http://www.example.com/ example] 代表 <a href="http:// www.example.com/"> example</a> 你也可以說HTML很冗長啊 不過反正就是給瀏覽器看的 反正也是會有很多轉換的工具吧 我曾經提到一個 LaTex2MathML的工具 -> http://math.etsu.edu/ LaTeXMathML/ (目前只能用Firefox開 之後就可以用Chrome跟 Safari啦) 如果你問說為啥瀏覽器不直接實作LaTex 則我不太清楚 可能是因為語法差太多吧 另外就是LaTex如果你誇號(\test{})不關 系統是不讓你輸出 的 而會die Web/HTML是不會有這種事的 如果某個做網頁的人輸出破爛 的HTML code然後 瀏覽器開不起來 他只會叫使用者換瀏覽器而已 在HTML有叫做tagsoup的自動修復機制 在HTML5裡的MathML應該也有提到MathML的修復機制 而不是不 能顯示它 另一方面跟新聞連結提到的連結裡面的後一個例子有關 總之 簡單來說 他就是強迫MathML的使用者在寫 5 * 2 + 3 * 1 的時候要誇號 即 (5 * 2) + (3 * 1) 這有什麼好處呢? 首先以下大概是對的 「在廣大的數學環境下 自動推斷誇號在哪是不可能 的」 因為不同領域的數學家根本就有可能把同一個算子用在 不同的地方 這本身就有某種矛盾性 絕對不可能有一個中心控管機 制排列所有算子的排序 這跟程式語言是不同的 程式語言(像是C)通常都有一個 標準跟標準算子排序 數學家每天都在發明符號 不可能會同意某個標準 而且每天吵 ☉ 跟 x 哪個優先也是很無聊 強迫有刮號總是存下比較多的資訊 減少矛盾性 存下比較多資訊比較好這種事大家都越來越懂了 像是 以前的書商就笨笨的 存PDF 現在PDF轉不出字來做不出電子書就是一個很頭的大問題 存InDesign原始檔或是.doc原始檔 都比前者好 因為PDF有的資訊就是比較少(某方面來說) 那有誇號的好處是什麼呢? 比如說 (2 + 3) - (4 + 2) 有誇號的資訊的話 你就可以讓使 用者顯示成: 2 + 3 - (4 + 2) (可能用某種CSS) 或是 2+3 - 4+2 (說不定哪個國家就是這樣寫的) 或 是 (用講的) 2 加 3 減 括號 4 加 2 括號 或是 (用講的) 2 加 3 減 (停頓) 4 加 2 甚至是 (用講的) A 是 2 加 3; B 是 4 加 2; 這是 A 減 B 因為數學符號是被設計成拿來看的 所以某些情況下會 對視障很吃力 而保留全部的資料(誇號)對這方面的的應用很有幫助 (我知道這很難啦 像是HTML的<img src=... alt="這張圖片解 釋..." /> 就是當視障看不到 圖片時唸給他聽的東西 這種功能或 許也是會被批評為很多餘) 現在HTML5的方向還蠻強調媒介(視覺、聽覺)中立性的 比如說<i>就不解釋為斜體 而是「另一種*腔調*,像是夢 境等等」 而MathML跟這方面的方向還蠻合的 此致 Kenny
Received on Tuesday, 26 October 2010 14:12:51 UTC