在網頁中寫入數學公式

今天跟你們分享在網頁中使用數學公式。javascript

像這樣的公式你們怎麼寫出來呢?html

甚至還有更復雜的:java

之前有一種很常見的作法,就是利用數學公式生成器生成一張圖片,而後將圖片嵌在網頁裏。git

就是先用這個數學公式生成器生成公式的圖片,而後在將該img的style屬性改爲  style="padding:0px;border: none;margin:0px;vertical-align: bottom;"   插入到網頁中就能夠了。github

這種方法能夠利用阮一峯的數學公式生成器。具體作法去他的博客看,我就不搬運了:阮一峯數學生成器博客(點擊我)。web

可是,有時候咱們不想在網頁中嵌入圖片,就是不用圖片這種方法怎麼去實現呢?答案是利用Mahtjax這個插件。首先上官網:Mathjax官網,而後是github的資料:GitHub,最後還有一個英文文檔:文檔app

這些都是我查找的資料,我說一下簡單的使用方法。webapp

第一步先是引入:你能夠經過引入CDN,也能夠下載js引入,我的推薦CDN引入。spa

<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script>

上述的configure支持了TeX和MathLL語法,若是須要支持AsciiMath語法,將configure改成「?config=TeX-AMS=MML_HTMLorMML」

第二步:有3種使用方法:
①:
TeX and LaTeX格式方式
默認運算符是$$...$$和\[... \]爲顯示數學,\(...\)用於在線數學。請特別注意,在$...$在線分隔符不使用默認值。這是由於,美圓符號出現經常在非數學設置,這可能會致使一些文本被視爲意外數學。例如,對於單元分隔符,「...的費用是爲第一個$2.50和$2.00每增長一...」將致使短語「2.50的第一個,和」被視爲數學由於它屬於美圓符號之間。注意HTML的標籤與TeX語法可能有衝突,「小於號/大於號/ampersands&」須要先後空格,好比:$$a < b$$
爲了防止出錯,加上一段js代碼,例子以下:
<!DOCTYPE html>
<html>
<head>
<title>MathJax TeX Test Page</title>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
<script type="text/javascript"
  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
</head>
<body>
When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
</body>
</html>

 ②:第二種方法:添加MathML中等標籤的形式插件

 

<!DOCTYPE html>
<html>
<head>
<title>MathJax MathML Test Page</title>
<script type="text/javascript"
  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
</head>
<body>

<p>
When
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mi>a</mi><mo>&#x2260;</mo><mn>0</mn>
</math>,
there are two solutions to
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <mi>a</mi><msup><mi>x</mi><mn>2</mn></msup>
  <mo>+</mo> <mi>b</mi><mi>x</mi>
  <mo>+</mo> <mi>c</mi> <mo>=</mo> <mn>0</mn>
</math>
and they are
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mi>x</mi> <mo>=</mo>
  <mrow>
    <mfrac>
      <mrow>
        <mo>&#x2212;</mo>
        <mi>b</mi>
        <mo>&#x00B1;</mo>
        <msqrt>
          <msup><mi>b</mi><mn>2</mn></msup>
          <mo>&#x2212;</mo>
          <mn>4</mn><mi>a</mi><mi>c</mi>
        </msqrt>
      </mrow>
      <mrow> <mn>2</mn><mi>a</mi> </mrow>
    </mfrac>
  </mrow>
  <mtext>.</mtext>
</math>
</p>

</body>
</html>

 ③第三種:AsciiMath輸入。以``爲符號。

<!DOCTYPE html>
<html>
<head>
<title>MathJax AsciiMath Test Page</title>
<script type="text/javascript"
  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=AM_HTMLorMML-full"></script>
</head>
<body>

<p>When `a != 0`, there are two solutions to `ax^2 + bx + c = 0` and
they are</p>
<p style="text-align:center">
  `x = (-b +- sqrt(b^2-4ac))/(2a) .`
</p>

</body>
</html>

運行結果都是這樣子的

DONE

相關文章
相關標籤/搜索