免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
在網(wǎng)頁(yè)中顯示數(shù)學(xué)公式

在網(wǎng)頁(yè)中顯示數(shù)學(xué)公式

本網(wǎng)站是一個(gè)理科網(wǎng)站,往往會(huì)涉及數(shù)學(xué)公式的輸入和顯示,而這在Web上一直是一個(gè)難題。所以參考了好幾篇網(wǎng)上的文章,現(xiàn)將自己的學(xué)習(xí)成果整理一下。主要參考網(wǎng)址:章楊的blog的Web數(shù)學(xué)公式的輸入和顯示

一.計(jì)算機(jī)表現(xiàn)數(shù)學(xué)公式的幾種方法

1.面向桌面的TeX系統(tǒng)

TeX是Knuth教授開(kāi)發(fā)的一種優(yōu)秀的桌面電子排版系統(tǒng)。它提供了一套功能強(qiáng)大并且十分靈活的排版語(yǔ)言,有多達(dá)900多條指令,并且具有宏功能,用戶可以不斷地定義自己適用的新命令來(lái)擴(kuò)展TeX系統(tǒng)的功能。

TeX系統(tǒng)有許多優(yōu)點(diǎn),如開(kāi)源、易移植、排版質(zhì)量高、輸出結(jié)果與設(shè)備無(wú)關(guān)等。同時(shí),它也是公認(rèn)的最好的數(shù)學(xué)公式排版系統(tǒng),它在數(shù)學(xué)和工程領(lǐng)域得到了廣泛的使用,相關(guān)領(lǐng)域的學(xué)術(shù)論文基本都由TeX系統(tǒng)或其兼容系統(tǒng)(如LaTeX系統(tǒng))排版生成。

在TeX系統(tǒng)中,各種數(shù)學(xué)符號(hào)和公式由不同的數(shù)學(xué)記號(hào)來(lái)表示,如\sin表示sin、\sqrt表示根號(hào)等。數(shù)學(xué)記號(hào)和數(shù)字的組合一般放在

和\]里面。下表中列出了幾個(gè)數(shù)學(xué)公式及其TeX指令:

數(shù)學(xué)公式TeX指令
\frac{3+x}{5}\]
f(x)=x2-1
f(x)=x^2-1\]
\sqrt[3]{x^4-3x+1}\]

一般來(lái)說(shuō),TeX指令和它所表示的數(shù)學(xué)公式本身非常接近,或者是該數(shù)學(xué)符號(hào)的英文縮寫(xiě)。因此TeX指令比較直觀、易學(xué),也很方便輸入,中小學(xué)數(shù)學(xué)涉及的數(shù)學(xué)符號(hào)更是如此。

但在中小學(xué),公式的輸入幾乎不會(huì)用Tex,用的都是Word自帶的公式編輯器,我這些年通常使用域代碼,因?yàn)楦咧形锢硗ǔT谳斎敕謹(jǐn)?shù)、根號(hào)時(shí)才會(huì)涉及公式的輸入,而這種簡(jiǎn)單的情況用公式編輯器有點(diǎn)大材小用,也比較難輸,我通常只有在比較復(fù)雜的情況下(比如或矩陣)才使用公式編輯器。

2.面向互聯(lián)網(wǎng)的數(shù)學(xué)標(biāo)記語(yǔ)言MathML

TeX系統(tǒng)雖然能完美地顯示數(shù)學(xué)公式,但是無(wú)法在互聯(lián)網(wǎng)上使用。目前我采用的方法是將Word中的公式進(jìn)行截圖,在網(wǎng)頁(yè)中用圖像的方式顯示公式,用這種方法比較費(fèi)時(shí),而且修改也不方便。而HTML超文本標(biāo)記語(yǔ)言由于自身的缺陷,也很難顯示數(shù)學(xué)公式。

針對(duì)這些問(wèn)題,國(guó)際互聯(lián)網(wǎng)協(xié)會(huì)(World Wide Web Consortium,W3C)于1997年成立了W3C數(shù)學(xué)工作組,制定一種基于XML語(yǔ)言標(biāo)準(zhǔn)的數(shù)學(xué)標(biāo)記語(yǔ)言(Mathematical Markup Language,MathML)。該組織于1998年發(fā)布了MathML 1.0版本,當(dāng)前最新版本是3.0,發(fā)布于2010年10月21日。 MathML語(yǔ)言主要從表現(xiàn)(Presentation)和內(nèi)容(Content)兩個(gè)維度來(lái)定義各種數(shù)學(xué)符號(hào)和公式。表現(xiàn)標(biāo)記是從數(shù)學(xué)表達(dá)式的顯示形式來(lái)描述數(shù)學(xué)公式,如<msup>標(biāo)記表示上標(biāo)符號(hào),<msub>表示下標(biāo)符號(hào)等;而內(nèi)容標(biāo)記是從數(shù)學(xué)表達(dá)式本身的內(nèi)在含義進(jìn)行描述數(shù)學(xué)公式,如<plus>標(biāo)記表示相加。二者可以從各自的角度表示同一個(gè)數(shù)學(xué)公式,以

 為例,表現(xiàn)標(biāo)記和內(nèi)容標(biāo)記分別如下:

表現(xiàn)標(biāo)記內(nèi)容標(biāo)記
1
2
3
4
5
6
<math>
    <mroot>
        <mi>a</mi>
        <mi>n</mi>
    </mroot>
</math>
1
2
3
<apply>
<root/><degree><ci type="integer">n</ci>
</degree><ci>a</ci></apply>
注意:在Firefox上顯示不正常,原因未知

MathML數(shù)學(xué)標(biāo)記語(yǔ)言是一個(gè)國(guó)際標(biāo)準(zhǔn),Mozilla/Firefox/Netscape(7.1+)瀏覽器已默認(rèn)支持MathML語(yǔ)言,但I(xiàn)nternet Explorer暫不支持MathML標(biāo)準(zhǔn),需要安裝MathPlayer插件來(lái)解析含有MathML標(biāo)記的網(wǎng)頁(yè)。

3.ASCIIMathML轉(zhuǎn)換方法

簡(jiǎn)單地說(shuō),TeX指令和MathML標(biāo)記語(yǔ)言是兩種互補(bǔ)性很強(qiáng)的語(yǔ)言。采用TeX指令描述的數(shù)學(xué)公式簡(jiǎn)單、直觀,但瀏覽器不能直接識(shí)別和顯示;MathML數(shù)學(xué)標(biāo)記語(yǔ)言雖然是為互聯(lián)網(wǎng)而設(shè)計(jì)的,但它的標(biāo)記語(yǔ)言又相對(duì)復(fù)雜,不便于輸入。因此,有研究者結(jié)合兩者的優(yōu)點(diǎn),開(kāi)發(fā)了TeX指令與MathML自動(dòng)轉(zhuǎn)換的Java 程序,ASCIIMathML就是其中的佼佼者。

ASCIIMathML轉(zhuǎn)換程序由美國(guó)加州查普曼(Chapman)大學(xué)Peter Jipsen開(kāi)發(fā),其設(shè)計(jì)思想是在網(wǎng)頁(yè)上插入一段JS代碼,將網(wǎng)頁(yè)中的TeX指令(TeX/LaTeX-style)自動(dòng)轉(zhuǎn)換成MathML表現(xiàn)標(biāo)記語(yǔ)言,再返回給支持MathML標(biāo)準(zhǔn)的網(wǎng)絡(luò)瀏覽器識(shí)別和顯示。

由于微軟Internet Explorer瀏覽器不支持MathML標(biāo)準(zhǔn),若要正確地顯示數(shù)學(xué)公式,IE客戶端還需要安裝MathPlayer插件,這增加了用戶的不便。因此,皮爾斯學(xué)院David Lippman在ASCIIMathML轉(zhuǎn)換方法基礎(chǔ)上,開(kāi)發(fā)了ASCIIMath Image Fallback轉(zhuǎn)換程序,該轉(zhuǎn)換程序自動(dòng)判斷客戶端瀏覽器是否支持MathML,若支持,則返回MathML表現(xiàn)標(biāo)記;若不支持,則返回該公式的GIF圖像(遠(yuǎn)程調(diào)用互聯(lián)網(wǎng)上的cgi程序生成圖像)。另外,作者也提供了ASCIIMathTeXImg轉(zhuǎn)換,直接由TeX指令生成GIF圖像,而無(wú)論用戶使用的瀏覽器是否支持MathML。

在ASCIIMathML網(wǎng)站的最新消息是推薦一個(gè)新的轉(zhuǎn)換程序MathJax,它是一個(gè)開(kāi)源的JavaScript顯示引擎,能夠在所有當(dāng)代瀏覽器上顯示漂亮的數(shù)學(xué)公式,同時(shí)支持Tex和MathML表示。

4.其他方法

上面的方法需要用戶在本地保留js文件,而有些網(wǎng)站將處理程序放置在服務(wù)器上,你只需在頁(yè)面上傳遞公式的Tex表達(dá),就會(huì)返回公式的圖像,其實(shí)就是上述ASCIIMathTeXImg的服務(wù)器版本。我知道的是網(wǎng)站http://www.codecogs.com的服務(wù),例如你想在網(wǎng)頁(yè)上顯示a2+b2 的平方根,你只需在網(wǎng)頁(yè)所在位置輸入以下html代碼:

1
<img src="http://latex.codecogs.com/gif.latex?\sqrt{a^2+b^2}" title="\sqrt{a^2+b^2}" />

想使用起來(lái)更簡(jiǎn)單,可用點(diǎn)js代碼,具體過(guò)程可參考在博客里輕松使用LaTeX數(shù)學(xué)公式,不再贅述。

二、在Web系統(tǒng)中顯示和輸入數(shù)學(xué)公式

從上面的內(nèi)容可以知道,ASCIIMathML不是個(gè)好選擇,在Firefox顯示正常的公式在IE中只能顯示源ASCII字符,使用http://www.codecogs.com無(wú)需在客戶機(jī)下載js文件應(yīng)該最快,但有點(diǎn)受制于人,萬(wàn)一這個(gè)網(wǎng)站服務(wù)不正常,那么我的網(wǎng)站上的所有公式圖片都會(huì)顯示不出來(lái)。

考慮到國(guó)內(nèi)IE用戶占絕大多數(shù),因此決定采用ASCIIMath Image Fallback轉(zhuǎn)換程序的方法,但采用的是更漂亮的MathJax。你只需在網(wǎng)頁(yè)和之間添加js的地址即可:

由上面代碼可知我們是通過(guò)CDN(distributed network service)安裝這個(gè)js的,這也是推薦的方法,CDN可以自動(dòng)從你的主機(jī)附近最快、最近的服務(wù)器上下載js文件,而且會(huì)自動(dòng)升級(jí)。當(dāng)然你也可以將MathJax下載到本地服務(wù)器上。然后在網(wǎng)頁(yè)任意位置書(shū)寫(xiě)TeX指令描述的數(shù)學(xué)公式,注意:如果要讓公式單獨(dú)占一行,需用

和\]將公式包起來(lái),即以block顯示,若想用inline,則用\ (和\)將公式包起來(lái),而公式的具體表達(dá)可參見(jiàn)中文維基:數(shù)學(xué)公式,寫(xiě)得非常詳細(xì)。

但是手工書(shū)寫(xiě)Tex公式還是非常難的,我使用的是大名鼎鼎的MathType,如下圖進(jìn)行設(shè)置,就可以復(fù)制MathType的公式并粘貼為Tex格式。

MathType轉(zhuǎn)換設(shè)置,使得公式粘貼后自動(dòng)變?yōu)門ex格式

如果不使用桌面程序,你也可以使用在線的Tex公式編輯器,比方說(shuō)http://www.codecogs.com/latex/eqneditor.php。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何在Word 2007中插入和編輯數(shù)學(xué)公式?
【高中數(shù)學(xué)公式大全】數(shù)學(xué)學(xué)習(xí)必備:高中數(shù)學(xué)常用公式及結(jié)論
Html+Css+JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)公式編輯器(一)
數(shù)學(xué)公式生成器
KaTeX ——呈現(xiàn) LaTeX 科學(xué)公式 & 自帶各種符號(hào)、函數(shù)等用法
排版軟件TEX/LATEX入門
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服