zoukankan      html  css  js  c++  java
  • 在网页上显示公式

    MathML inside!

    用 MathML 將數學放上網路

    這份紀錄說明如何將 MathML 置入網頁,使得目前被廣泛使用的瀏覽器可以順利的看到這些數學內容。此外,它也將告訴你如何調整你的瀏覽器的設定使它們可以顯示 MathML。目前常被用來產生網頁的瀏覽器與搭配的外掛程式入下:

    • Windows:

      • IE 5.0 配合 Techexplorer plug-in
      • IE 5.5 配合 MathPlayer or Techexplorer plug-ins
      • IE 6.0, 視情況配合 MathPlayer 或 Techexplorer plug-ins
      • Netscape 6.1 配合 Techexplorer plug-in
      • Netscape 7.0 PR1
      • Amaya (僅呈現 MathML)
      • Mozilla 0.9.9
    • Macintosh:
      • IE 5.0 配合 Techexplorer plug-in
      • Mozilla 0.9.9
    • Linux/Unix:
      • Netscape 6.1 配合 Techexplorer plug-in
      • Netscape 7.0 PR1
      • Mozilla 0.9.9
      • Amaya (僅呈現 MathML)

    你可以瀏覽 MathML 範例簡單示範,或是 MathML 進階網頁 (這個網頁可能需要多等一些時間) 來測試你的瀏覽器。

    它是為那些希望將數學公式置入網頁的網站內容作者,以及想要讀這樣內容的人所作的。

    更多有關為什麼與如何做的詳細技術內容 可以參考 MathML 的 XSLT 樣式表介紹 stylesheets for MathML,此外,你也可以參考大衛.克來爾在 MathML 研討會裡面演說的投影片

    在網頁裡面置入 MathML

    為了儘可能的讓所有的平台都可以正常的顯示,每一份文件最好都要符合下列的規則。值得注意的是如果你使用遵循 W3C 標準的編輯軟體例如: amyma,這些規則都會自動完成。

    1、用 XHTML 建立一個內建 MathML(inlined MathML)的網頁

    網頁應該使用 XHTML ,內建 MathML 標籤,如同下面的例子:

    <?xml version="1.0"?>
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>...</head>
      <body>
    
        <h1>Example</h1>
        ....
        <math xmlns="http://www.w3.org/1998/Math/MathML">
          <mi>x</mi><mo>+</mo><mn>3</mn>
    
        </math>
      </body>
    </html>
    

    這些 MathML 標記不是在一個 <object> 標籤內,或是 <embed> 標籤裡面的外部獨立檔案連結,。

    2. 加入樣式表

    下面一行字 (粗體字) 必須被插入到 XHTML 網頁一開始,起始的 <html> 標籤之前,XML 的宣告 <?xml...?> 之後 (如果有的話):

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    ...
    

    這在大部分的情況下都可以成立 (不過 Internet Explorer 不行:因為為了安全性的理由,在IE 上並不允許執行另一個伺服器上的 XSLT 樣式表,就像 XHTML+MathML 的文件。遇到這樣的情況,你可以依照底下的「離線狀態 (off-line)」說明來解決。你也可以參考文件結尾有關 IE 安全性問題的更多資訊。) 你可以二選一:

    • 離線狀態 (Off-line):如果包含數學的文件僅只是供你在自己的電腦上觀看,不用連上網際網路,那麼它的宣告要寫成

      <?xml-stylesheet type="text/xsl" href="mathml.xsl"?>

      另外,也要複製後面所列的其他樣式表到你自己的電腦上,和主要文件mathml.xslpmathml.xslctop.xslpmathmlcss.xsl放在一起。

    • Presentation MathML:如果該文件只包括 Presentation MathML (譯者注:指的是用到的 MathML 標籤都只是呈現用的加註標籤),那麼只要 pmathml.xslpmathml-css.xsl 這兩個樣式表,顯示的時候也會比較快。

    這些就是所要知道的。底下是更進一步的資訊

    喜好設定

    因為瀏覽器並不是非得利用某一種方法來呈現 MathML 標籤不可 (例如:IE 不僅可以用 techexplore plug-in 也可以用 CSS 來呈現數學式),所以它提供一個喜好設定的方法,這是透過renderer 的屬性來達成的,它屬於另一個名稱空間 (name space) 。例如:

    <?xml-stylesheet type="text/xsl" href="pmathml.xsl"?>
    
    <html _fcksavedurl=""pmathml.xsl"?>
    
    <html" xmlns="http://www.w3.org/1999/xhtml"
          xmlns:pref="http://www.w3.org/2002/Math/preference"
          pref:renderer="css">
    <head>...</head>
    <body>...</body>
    </html>

    清楚的指名要用 CSS 來呈現這一頁的。 renderer 的值有:

    • css: 用 CSS 呈現等式(不需要外掛程式)。
    • mathplayer-dl: 如果需要,跳出一個安裝 MathPlayer 的訊息。
    • mathplayer: 使用 MathPlayer 的功能。
    • techexplorer-plugin: 使用 Techexplorer 外掛程式。
    • techexplorer: 優先使用 Techexplorer 來轉換。

    Microsoft Internet Explorer 安全考慮

    按照預設值,如果 XSLT 樣式表與一份文件沒有被放置在同一部伺服器 (server)上,Internet Explore 是不允許使用 XSLT 樣式表的。因此,使用

    <?xml-stylesheet type="text/xsl"href="http://www.w3.org/Math/XSL/mathml.xsl"?>

    是沒有作用的。替代的方法是你必須將樣式表複製到文件放置的伺服器(server)上,另一個做法是修改 Internet Explore 的安全設定。但是我們不建議你如此做,因為它會影響範圍包括所有的瀏覽行為,不單單只有在使用這種樣式表時。

    MathML 會議簡報

    這份是在第二屆國際 MathML 會議 (2nd International MathML Conference) 報告時用的樣式表。這份報告是 一系列樣式表的例子,這些樣式表的例子是以瀏覽器「全螢幕」模式設計。在這份簡報發表時,我們用 IE6.0,Mozilla 1.0,Amaya 6.1和 Netscape 7.0PR1 每一個瀏覽器來觀看這些例子。

    除了MathML 之外,一些從樣式表延伸到到 SVG 的範例也有被提到。

    原文位址 (The URL of the original):http://www.w3.org/Math/XSL/


    W3C 數學工作小組。請將您的建議、問題與解決方法寄到 www-math@w3.org

    $Id: Overview-Chinese.html,v 1.19 2003/08/22 16:34:26 mf Exp $

  • 相关阅读:
    PHP下实现两种ajax跨域的解决方案之jsonp
    实际应用中git(合并本地与服务器项目)
    centos7 编译安装nginx
    windows vagrant共享目录设置问题
    shell 需要注意的点
    插入排序(直接插入排序)
    选择排序
    快速排序
    冒泡排序
    centos7.5安装redis-5.0.4
  • 原文地址:https://www.cnblogs.com/swordzj/p/2034792.html
Copyright © 2011-2022 走看看