首页 > 其他分享 >Markdown与数学公式

Markdown与数学公式

时间:2024-08-02 10:08:42浏览次数:12  
标签:数学公式 Markdown matrix 效果 LaTex sqrt

在写偏理科的文章的时候,多多少少会涉及到一些公式、函数的输入,本篇就来讲讲如何在 Markdown 中书写数学公式。

在此之前,我们先介绍下 LaTex 和 MashJax,Markdown 就是基于它们来实现数学公式的输入。

LaTex 简介

LaTex (读作 /ˈ lɑ ː tɛx/ 或 /ˈ leɪtɛx/ ),可以理解为是非常专业的排版工具,是国际上数学、物理、计算机等科技领域的专业排版工具,是科学文献交流和出版的事实标准。

LaTex 尤其适合处理篇幅较长、结构严谨的文档(例如学术论文),并且十分擅长处理复杂的表格和数学公式的排版,画个象棋图、分子结构式、电路图甚至乐谱都不在话下。

缺点:学习门槛高。如果不是数学、物理、计算机等领域的人来折腾这个,可能得一段时间才能上手。

简单介绍到这,如果你想深入了解下,不然看看这个教程:LaTeX 入门与进阶

MashJax 简介

MathJax 是一款运行在浏览器中的开源数学符号渲染引擎,使用 MathJax 可以方便的在浏览器中显示数学公式,不需要使用图片。

而 Typora 就是使用 MashJax 来解析 LaTex 的数学公式的,这一点也在文档里写了:

数学公式块

那么如何输入数学公式呢?数学公式比较特殊,得在数学公式块里才能正常渲染出结果,纯文本或者代码块是不行的。

在 Typora 中打开数学公式块的方法有:

  • 菜单栏 → 段落 → 公式块
  • 快捷键 Ctrl + Shift + M
  • 输入 $$ ,然后回车

效果:出现了一个输入框,后续就在这里输入公式

注意:

  • 并不是所有编辑器都支持(例如知乎和公众号就不行),如果遇到了不支持的情况很正常。
  • VSCode 里也可以直接用这个数学公式块。

快速入门

直接看个例子,例如输入根号 2,语法为:

\sqrt{2}

效果:

\[\sqrt{2} \]

内联公式

如果你想输入的公式比较少,可以在一行内搞定,可以使用内联公式。首先在 Typora 中启用该设置:

启用后,建议重启下 Typora。

内联公式示例:

来输入一个根号2:$\sqrt{2}$

效果:来输入一个根号2:\(\sqrt{2}\)

接下来介绍一些常见的公式语法。

在线编辑器

如果你的 Markdown 编辑器不支持,但又想快速尝试下,可以使用 LaTex 在线编辑器,一搜一大堆,例如:https://www.latexlive.com

常用公式语法

这里列出部分公式语法,更多的请参考文末的“参考资料”。

常见运算符

作用 Markdown 代码 效果
上标 x^2 x2
下标 y_1 y1
分式 \frac{1}{2} \(\frac{1}{2}\)
省略号 \cdots \(\cdots\)
矢量 \vec{a} \(\vec{a}\)
积分 \int{x}dx \(\int{x}dx\)
积分(带范围) \int_{1}^{2}{x}dx \(\int_{1}^{2}{x}dx\)
极限 \lim{a+b} \(\lim{a+b}\)
极限(带范围) \lim_{n\rightarrow+\infty} \(\lim_{n\rightarrow+\infty}\)
累加 \sum{a} \(\sum{a}\)
累加(带范围) \sum_{n=1}^{100}{a_n} \(\sum_{n=1}^{100}{a_n}\)
累乘 \prod{x} \(\prod{x}\)
累乘(带范围) \prod_{n=1}^{99}{x_n} \(\prod_{n=1}^{99}{x_n}\)
向下取整 \lfloor x \rfloor \(\lfloor x \rfloor\)
向上取整 \lceil x \rceil \(\lceil x \rceil\)

三角函数

Markdown 代码 效果
\sin \(\sin\)
\cos \(\cos\)

其他符号以此类推,就不一一列举了

对数函数

Markdown 代码 效果
\ln2 \(\ln2\)
\log_28 \(\log_28\)
\lg10 \(\lg10\)

关系运算符

说明 Markdown 代码 效果
加减号 \pm \(\pm\)
乘(或笛卡尔积) \times \(\times\)
点乘 \cdot \(\cdot\)
\div \(\div\)
不等号 \neq \(\neq\)
等价 \equiv \(\equiv\)
小于等于 \leq \(\leq\)
大于等于 \geq \(\geq\)
并集 \cup \(\cup\)
交集 \cap \(\cap\)

其它特殊字符

Markdown 代码 效果
\forall \(\forall\)
\infty \(\infty\)
\emptyset \(\emptyset\)
\exists \(\exists\)
\nabla \(\nabla\)
\bot \(\bot\)
\angle \(\angle\)
\because \(\because\)
\therefore \(\therefore\)

空格,换行

示例:

a \quad b

效果:

\[a \quad b \]


也可以用一个斜线表示空格(注意反斜线后面要有空格)。语法:

a \  b

效果:

\[a \ b \]

换行

用两个反斜线表示换行(注意两个反斜线后面要有空格)。示例:

1 + 1 = 2
\\ 
2 + 2 = 4

效果:

\[1 + 1 = 2 \\ 2 + 2 = 4 \]

注意:有些 Markdown 编辑器还未支持该语法,例如本博客使用的 MathJax。

我查了下文档,说是还未实现该功能,但是马上就会实现了。

文档地址:Automatic Line Breaking — MathJax 3.2 documentation

花括号

示例:

c(u)=\begin{cases} \sqrt\frac{1}{N}, u=0\\ \sqrt\frac{2}{N}, u\neq0\end{cases}  

效果:

\[c(u)=\begin{cases} \sqrt\frac{1}{N}, u=0\\ \sqrt\frac{2}{N}, u\neq0\end{cases} \]

希腊字母

Markdown 代码 效果(大写) Markdown 代码 效果(小写)
A A \alpha \(\alpha\)
B B \beta \(\beta\)
\Gamma \(\Gamma\) \gamma \(\gamma\)
\Delta \(\Delta\) \delta \(\delta\)
E E \epsilon \(\epsilon\)
\varepsilon \(\varepsilon\)
Z Z \zeta \(\zeta\)
H H \eta \(\eta\)
\Theta \(\Theta\) \theta \(\theta\)
I I \iota \(\iota\)
K K \kappa \(\kappa\)
\Lambda \(\Lambda\) \lambda \(\lambda\)
M M \mu \(\mu\)
N N \nu \(\nu\)
\Xi \(\Xi\) \xi \(\xi\)
O O \omicron \(\omicron\)
\Pi \(\Pi\) \pi \(\pi\)
P P \rho \(\rho\)
\Sigma \(\Sigma\) \sigma \(\sigma\)
T T \tau \(\tau\)
\Upsilon \(\Upsilon\) \upsilon \(\upsilon\)
\Phi \(\Phi\) \phi \(\phi\)
\varphi \(\varphi\)
X X \chi \(\chi\)
\Psi \(\Psi\) \psi \(\psi\)
\Omega \(\Omega\) \omega \(\omega\)

矩阵

语法:

\begin{matrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 
\end{matrix} \tag{1}

效果:

\[\begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} \tag{1} \]

带括号的矩阵:

\left[
\begin{matrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 
\end{matrix} \right]\tag{2}

效果:

\[\left[ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} \right]\tag{2} \]

Madoko

Markdown 和 Latex 代表了写作语言的两极:Markdown 追求极致的简洁,只有最少的格式控制;而 Latex 追求极致的可控,可以实现无限复杂的格式,也对语法有着严格的限制。

而这两极之间一直遗留着广阔的空白地带,是否有这样一种写作语言,在实现精美排版的同时,保持着足够的简洁和易用呢?Madoko 的便是为了这一目的而生。

Madoko 是一款开源的在线编辑器,当然你也可以通过 Node 的方式本地安装并运行。

GitHub 地址:https://github.com/koka-lang/madoko

中文翻译:https://github.com/HHpetra/MadokoReferenceChinese

发布注意事项

有些平台不支持 LaTex,那么如果想要发布带有 LaTex 公式的博客到这些平台,就得先处理下,例如截图。

为此,有人做了一个工具,将 Markdown 中的 LaTeX 转化为本地图片,这个工具叫 mdtex,开源在 GitHub:github.com/rreusser/mdtex-cli

具体步骤可以参考:Markdown 一次编辑全平台发布方案,支持 LaTeX 公式! - 知乎

我用的博客框架是 VuePress,使用了插件 markdown-it-mathjax3 后能正常渲染出结果(例如本文的数学公式都能正常显示),具体步骤可以参考我的另一篇博客:显示数学公式块

参考资料

107 页的PDF 文件:“一份不太简短的 LATEX2e 介绍” 3.1 节 数学公式

标签:数学公式,Markdown,matrix,效果,LaTex,sqrt
From: https://www.cnblogs.com/PeterJXL/p/18338105

相关文章

  • Apifox 7月更新|SAML 单点登录、迭代分支优化、Markdown 历史记录、搜索能力提升
      1新增「组织」架构引入了全新的「组织」概念,提供更灵活的管理结构。企业可以创建「组织」,并在组织内设立多个「团队」,便于大中型企业能够更有效地组织和管理其项目及人员。通过这种方式,企业可以根据自身的组织结构和业务需求,灵活地分配资源和权限,提高整体的协作效率......
  • 深入了解下 Markdown 的原理
    前面讲了Markdown的基本语法,常见的Markdown编辑器,在继续讲解其他知识之前,有必要稍微深入了解一下Markdown与HTML的关系。‍‍HTML简介什么是HTML?其实它也是标记语言的一种,但是比Markdown更重量级一点,语法更复杂一点。举例,在Markdown中,想要表示某段文字是标题,用......
  • Markdown排版规范
    Markdown语法虽然多,但随便乱用的话反而会显得不美观,本文就推荐一些常见的排版规则。‍‍Markdown标记的使用规范‍标题一级标题,通常是用来写文章的标题。而大部分情况下,文章的标题并不需要写在文章里,大多数博客有专门的位置填写标题,所以一级标题可以忽略。就好比一本书,书......
  • Markdown 常用语法
    上一篇简单介绍了Markdown是什么,以及如何使用,本篇就来详细说说Markdown的常见语法。‍注意,并不是所有编辑器,都支持所有的Markdown语法,如果遇到失效的也不必疑惑。此外,不同的编辑器的语法可能有点不同。‍标题语法格式:#一级标题##二级标题###三级标题####四级......
  • 如何在Markdown中插入公式
    如何优雅地在Markdown中输入数学公式参考:作者:咕噜咕噜酱链接:原文链接版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎2.5中国大陆许可协议进行许可。对于一些理科生来说,在学习数学知识的时候,在计算机上写公式是比较头疼的事情。好在Markdown支持LATEX公式输入,在......
  • 洛谷 Markdown - 从入门到精通
    洛谷Markdown-从入门到精通编写——Jerrycyx(CSDN,洛谷)洛谷博客查看因为洛谷博客的渲染机制和其它地方不一样,可能导致渲染错误,所以你可以到这里食用:https://www.luogu.com.cn/paste/wu019n2x绪论希望更丰富的展现?使用Markdown。这是洛谷文字编辑时会出现的一行文字。......
  • 智能PDF转markdown
    嘿,各位技术大咖们,今天我要给大家带来一个超酷的项目——“智能PDF转Markdown”,这可是数字化办公的神器,基于Marker技术,让PDF文档秒变Markdown,轻松应对RAG知识库构建等任务的挑战!打造了一款PDF转Markdown的利器在线体验:智能PDF转markdownMarker,由技术社区的大神们打造,是......
  • markdown学习
    Markdown学习字体hello,world!hello,world!hello,world!hello,world!引用永远只跟昨天的自己比较分割线图片![截图](C:\Users\Lenovo\Pictures\CameraRoll\v2-01888c7057bbf722bc664de16d68ac0f_720w.webp)超链接点击跳转到列表A[1.]+[空格]BC​......
  • 全网比较好的 Markdown 教程
    这应该是全网比较好的Markdown入门教程了吧(确信)。使用Markdown也有七八年了,一直没有写相关的教程,现在就来系统地写一写。‍‍前言在介绍什么是Markdown之前,先说说没有Markdown的情况是怎么样的。最开始,文字是没有格式的,只是单独的纯文本。什么意思呢?就比如你使用记......
  • markdown命令基本用法
    Markdown学习1.标题(1-6个)+Space+标题内容的多少决定是几级标题2.字体Hello,world!斜体:*+内容+*Hello,world!加粗:**+内容+**Hello,world!斜体加粗:三个*+内容+三个*Hello,world!删除线:~~+内容+~~Hello,world!引用:>+内容3.分割线---或者***4.图片......