Python:线性代数-LaTeX用法(四十)

在学习线性代数,需要写博客,遇到复杂的数学公式如向量、矩阵、微积分公式没法用普通的方法打印,所以,使用LaTeX解决了这个问题。

一、什么是LaTeX

LaTeX, 是一种基于TEX的排版系统,由美国电脑学家莱斯利·兰伯特在20世纪80年代初期开发,利用这种格式,即使用户没有排版和程序设计的知识也可以充分发挥由TEX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。(摘自百度百科)

简单点说:LaTeX 基于 TeX,主要目的是为了方便排版。在学术界的论文,尤其是数学、计算机等学科论文都是由 LaTeX 编写, 因为用它写数学公式非常漂亮。

二、LaTex使用

现在看一个与线性代数直接有关的数学方程:

Python:线性代数-LaTeX用法(四十)

我们来看看以下元素并确保了解如何使用 LaTex 定义这些元素:

(注意,方程的输入顺序很重要)

Python:线性代数-LaTeX用法(四十)

提示:

对于这三个方程,我们使用的 LaTex 代码如下所示:

x_2=2

m_{12}=5

m_{21}=8

注意: 请勿使用 enter / return 按钮。在空白处填写你的答案,等待几秒钟, Workspace 即会给出结果。

三、公式相关文章

新技能:Markdown中使用LaTeX
Markdown中编写LaTeX数学公式
Cmd Markdown 公式指导手册

四、markdown不解析LaTeX语法问题

我在使用Markdown写作的时候需要插入一些LaTeX公式,可是有一些编辑器不支持显示(预览),想找一款能显示LaTeX公式的Markdown编辑器,最好是Linux平台下的,在线的就更好了。

使用js将Latex公式转为MathML,兼容Markdown
http://www.mathjax.org/

使用CDN:
http://docs.mathjax.org/en/la...

在前端页面中加入该CDN引用

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

使用方法:
The default math delimiters are $$...$$ and \[...\] for displayed mathematics, and \(...\) for in-line mathematics.
Note in particular that the $...$ in-line delimiters are not used by default.That is because dollar signs appear too often in non-mathematical settings, which could cause some text to be treated as mathematics unexpectedly.
默认的数学分隔符是$$ ... $$\ [... \]用于显示数学,而\(... \)用于行内数学。请特别注意默认情况下不使用$ ... $ 行内分隔符,这是因为美元符号在非数学设置中经常出现,这可能导致某些文本被意外地视为数学。

https://docs.mathjax.org/en/l...

行中公式

行中公式可以用如下方法表示:

// 这种 $ 数学公式 $ 默认在mathjax插件中不能用,请使用下面的分隔符
 \(数学公式\)   // html 可以直接使用
 \\(数学公式\\)  // 在markdown中使用,必须对反斜杠再做转义,防止被转义取消掉反斜杠

本博客使用的是 markdown,所以行内数学公式或向量\(vec{x}\) ,即语法为: \\( \vec{x} \\)

矩阵示例:
Python:线性代数-LaTeX用法(四十)

在markdown中的语法:
Python:线性代数-LaTeX用法(四十)

反斜杠必须做转义处理:

\\( \vec{x} \\)  = \\( \begin{bmatrix}  a  \\\\  b  \\\\  c \\\\  \end{bmatrix} \\)

独立公式

独立公式可以用如下方法表示:

$$ 数学公式 $$

使用示例:

example.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>MathJax example</title>

</head>
<body>
<p>
  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}.$$
  
</p>
  行内向量\(\vec{x}\)测试

</body>
    <script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML" async>
</script>
</html>

打印:
Python:线性代数-LaTeX用法(四十)

线上测试环境地址:
https://jsbin.com/lonedilugo/...


本文转自我的博文 Python:线性代数-基础 (四十)

相关推荐